thinreports 0.10.2 → 0.12.1

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.
Files changed (178) hide show
  1. checksums.yaml +4 -4
  2. data/.github/CONTRIBUTING.md +2 -2
  3. data/.github/dependabot.yml +11 -0
  4. data/.github/workflows/test.yml +50 -0
  5. data/.gitignore +1 -0
  6. data/CHANGELOG.md +43 -0
  7. data/Gemfile +2 -1
  8. data/{MIT-LICENSE → LICENSE.txt} +2 -0
  9. data/README.md +70 -56
  10. data/Rakefile +12 -25
  11. data/gemfiles/prawn-2.2.gemfile +5 -0
  12. data/gemfiles/prawn-2.3.gemfile +5 -0
  13. data/gemfiles/prawn-2.4.gemfile +5 -0
  14. data/lib/thinreports/core/shape/basic/format.rb +5 -0
  15. data/lib/thinreports/core/shape/image_block.rb +1 -1
  16. data/lib/thinreports/core/shape/list.rb +1 -1
  17. data/lib/thinreports/core/shape/page_number.rb +1 -1
  18. data/lib/thinreports/core/shape/stack_view/format.rb +27 -0
  19. data/lib/thinreports/core/shape/stack_view/interface.rb +17 -0
  20. data/lib/thinreports/core/shape/stack_view/internal.rb +22 -0
  21. data/lib/thinreports/core/shape/stack_view/row_format.rb +39 -0
  22. data/lib/thinreports/core/shape/stack_view.rb +17 -0
  23. data/lib/thinreports/core/shape/style/basic.rb +4 -1
  24. data/lib/thinreports/core/shape/text.rb +1 -1
  25. data/lib/thinreports/core/shape/text_block/formatter/number.rb +6 -1
  26. data/lib/thinreports/core/shape/text_block/internal.rb +0 -2
  27. data/lib/thinreports/core/shape/text_block.rb +1 -1
  28. data/lib/thinreports/core/shape.rb +2 -0
  29. data/lib/thinreports/generate.rb +11 -0
  30. data/lib/thinreports/generator/pdf/document/draw_shape.rb +31 -10
  31. data/lib/thinreports/generator/pdf/document/draw_template_items.rb +1 -1
  32. data/lib/thinreports/generator/pdf/document/graphics/image.rb +19 -1
  33. data/lib/thinreports/generator/pdf/document/graphics/text.rb +10 -5
  34. data/lib/thinreports/generator/pdf/document/page.rb +12 -0
  35. data/lib/thinreports/generator/pdf/prawn_ext/width_of.rb +7 -7
  36. data/lib/thinreports/layout/base.rb +1 -1
  37. data/lib/thinreports/layout/legacy_schema.rb +1 -0
  38. data/lib/thinreports/layout/version.rb +1 -1
  39. data/lib/thinreports/report/internal.rb +2 -0
  40. data/lib/thinreports/report.rb +2 -2
  41. data/lib/thinreports/section_report/build.rb +32 -0
  42. data/lib/thinreports/section_report/builder/item_builder.rb +49 -0
  43. data/lib/thinreports/section_report/builder/report_builder.rb +82 -0
  44. data/lib/thinreports/section_report/builder/report_data.rb +13 -0
  45. data/lib/thinreports/section_report/builder/stack_view_builder.rb +53 -0
  46. data/lib/thinreports/section_report/builder/stack_view_data.rb +11 -0
  47. data/lib/thinreports/section_report/generate.rb +26 -0
  48. data/lib/thinreports/section_report/pdf/render.rb +23 -0
  49. data/lib/thinreports/section_report/pdf/renderer/draw_item.rb +68 -0
  50. data/lib/thinreports/section_report/pdf/renderer/group_renderer.rb +57 -0
  51. data/lib/thinreports/section_report/pdf/renderer/section_height.rb +100 -0
  52. data/lib/thinreports/section_report/pdf/renderer/section_renderer.rb +39 -0
  53. data/lib/thinreports/section_report/pdf/renderer/stack_view_renderer.rb +55 -0
  54. data/lib/thinreports/section_report/pdf/renderer/stack_view_row_renderer.rb +38 -0
  55. data/lib/thinreports/section_report/schema/loader.rb +28 -0
  56. data/lib/thinreports/section_report/schema/parser.rb +52 -0
  57. data/lib/thinreports/section_report/schema/report.rb +30 -0
  58. data/lib/thinreports/section_report/schema/section.rb +47 -0
  59. data/lib/thinreports/version.rb +1 -1
  60. data/lib/thinreports.rb +5 -0
  61. data/thinreports.gemspec +11 -10
  62. metadata +48 -150
  63. data/.travis.yml +0 -16
  64. data/examples/character_spacing/character_spacing.rb +0 -8
  65. data/examples/character_spacing/character_spacing.tlf +0 -293
  66. data/examples/dynamic_image/dynamic_image.rb +0 -31
  67. data/examples/dynamic_image/dynamic_image.tlf +0 -661
  68. data/examples/dynamic_image/img200x100.png +0 -0
  69. data/examples/dynamic_image/img50x50.png +0 -0
  70. data/examples/dynamic_style/dynamic_style.rb +0 -150
  71. data/examples/dynamic_style/dynamic_style.tlf +0 -1835
  72. data/examples/dynamic_style/dynamic_style_in_list.tlf +0 -344
  73. data/examples/dynamic_style/image.png +0 -0
  74. data/examples/eudc/eudc.rb +0 -20
  75. data/examples/eudc/eudc.tlf +0 -180
  76. data/examples/eudc/eudc.ttf +0 -0
  77. data/examples/helper.rb +0 -50
  78. data/examples/hidden_shapes/hidden_shapes.rb +0 -9
  79. data/examples/hidden_shapes/hidden_shapes.tlf +0 -449
  80. data/examples/list_events/list_events.rb +0 -32
  81. data/examples/list_events/list_events.tlf +0 -361
  82. data/examples/list_manual_generation/list_manual_generation.rb +0 -22
  83. data/examples/list_manual_generation/list_manual_generation.tlf +0 -132
  84. data/examples/list_page_number/list_page_number.rb +0 -17
  85. data/examples/list_page_number/list_page_number.tlf +0 -254
  86. data/examples/page_number/page_number.rb +0 -33
  87. data/examples/page_number/page_number.tlf +0 -215
  88. data/examples/palleted_png/palleted_png.png +0 -0
  89. data/examples/palleted_png/palleted_png.rb +0 -9
  90. data/examples/palleted_png/palleted_png.tlf +0 -47
  91. data/examples/password_setting/password_setting.rb +0 -10
  92. data/examples/password_setting/password_setting.tlf +0 -45
  93. data/examples/report_callbacks/report_callbacks.rb +0 -14
  94. data/examples/report_callbacks/report_callbacks.tlf +0 -147
  95. data/examples/single_line_tblock/single_line_tblock.rb +0 -13
  96. data/examples/single_line_tblock/single_line_tblock.tlf +0 -170
  97. data/examples/tblock_overflow/tblock_overflow.rb +0 -20
  98. data/examples/tblock_overflow/tblock_overflow.tlf +0 -538
  99. data/examples/tblock_styles/font_size.tlf +0 -383
  100. data/examples/tblock_styles/tblock_styles.rb +0 -43
  101. data/examples/tblock_styles/tblock_styles.tlf +0 -889
  102. data/examples/text_align/text_align.rb +0 -8
  103. data/examples/text_align/text_align.tlf +0 -241
  104. data/examples/typeB_page_size/B4_ISO.tlf +0 -45
  105. data/examples/typeB_page_size/B4_JIS.tlf +0 -45
  106. data/examples/typeB_page_size/typeB_page_size.rb +0 -17
  107. data/examples/word_wrap/word_wrap.rb +0 -26
  108. data/examples/word_wrap/word_wrap.tlf +0 -297
  109. data/test/data/font.ttf +0 -0
  110. data/test/data/image_normal.jpg +0 -0
  111. data/test/data/image_normal.png +0 -0
  112. data/test/data/image_normal_jpg_noext +0 -0
  113. data/test/data/image_normal_png_noext +0 -0
  114. data/test/data/image_pallete_based.png +0 -0
  115. data/test/data/legacy_layout/all-items.tlf +0 -1
  116. data/test/schema_helper.rb +0 -122
  117. data/test/test_helper.rb +0 -48
  118. data/test/tmp/.gitkeep +0 -0
  119. data/test/unit/core/format/test_base.rb +0 -152
  120. data/test/unit/core/shape/base/test_internal.rb +0 -87
  121. data/test/unit/core/shape/basic/test_block_format.rb +0 -23
  122. data/test/unit/core/shape/basic/test_block_interface.rb +0 -29
  123. data/test/unit/core/shape/basic/test_block_internal.rb +0 -55
  124. data/test/unit/core/shape/basic/test_format.rb +0 -37
  125. data/test/unit/core/shape/basic/test_interface.rb +0 -108
  126. data/test/unit/core/shape/basic/test_internal.rb +0 -55
  127. data/test/unit/core/shape/image_block/test_interface.rb +0 -24
  128. data/test/unit/core/shape/image_block/test_internal.rb +0 -31
  129. data/test/unit/core/shape/list/test_format.rb +0 -111
  130. data/test/unit/core/shape/list/test_manager.rb +0 -67
  131. data/test/unit/core/shape/list/test_page.rb +0 -156
  132. data/test/unit/core/shape/list/test_page_state.rb +0 -31
  133. data/test/unit/core/shape/list/test_section_format.rb +0 -36
  134. data/test/unit/core/shape/list/test_section_interface.rb +0 -75
  135. data/test/unit/core/shape/list/test_section_internal.rb +0 -50
  136. data/test/unit/core/shape/manager/test_format.rb +0 -38
  137. data/test/unit/core/shape/manager/test_internal.rb +0 -132
  138. data/test/unit/core/shape/manager/test_target.rb +0 -140
  139. data/test/unit/core/shape/page_number/test_format.rb +0 -55
  140. data/test/unit/core/shape/page_number/test_interface.rb +0 -33
  141. data/test/unit/core/shape/page_number/test_internal.rb +0 -81
  142. data/test/unit/core/shape/styles/test_base.rb +0 -191
  143. data/test/unit/core/shape/styles/test_basic.rb +0 -24
  144. data/test/unit/core/shape/styles/test_graphic.rb +0 -50
  145. data/test/unit/core/shape/styles/test_text.rb +0 -97
  146. data/test/unit/core/shape/text/test_format.rb +0 -44
  147. data/test/unit/core/shape/text/test_internal.rb +0 -20
  148. data/test/unit/core/shape/text_block/formatter/test_basic.rb +0 -24
  149. data/test/unit/core/shape/text_block/formatter/test_datetime.rb +0 -49
  150. data/test/unit/core/shape/text_block/formatter/test_number.rb +0 -76
  151. data/test/unit/core/shape/text_block/formatter/test_padding.rb +0 -77
  152. data/test/unit/core/shape/text_block/test_format.rb +0 -169
  153. data/test/unit/core/shape/text_block/test_formatter.rb +0 -28
  154. data/test/unit/core/shape/text_block/test_interface.rb +0 -63
  155. data/test/unit/core/shape/text_block/test_internal.rb +0 -128
  156. data/test/unit/core/test_shape.rb +0 -52
  157. data/test/unit/core/test_utils.rb +0 -68
  158. data/test/unit/generator/pdf/document/graphics/test_attributes.rb +0 -135
  159. data/test/unit/generator/pdf/document/graphics/test_basic.rb +0 -46
  160. data/test/unit/generator/pdf/document/graphics/test_image.rb +0 -46
  161. data/test/unit/generator/pdf/document/graphics/test_text.rb +0 -171
  162. data/test/unit/generator/pdf/document/test_font.rb +0 -110
  163. data/test/unit/generator/pdf/document/test_graphics.rb +0 -42
  164. data/test/unit/generator/pdf/document/test_page.rb +0 -122
  165. data/test/unit/generator/pdf/document/test_parse_color.rb +0 -30
  166. data/test/unit/generator/pdf/prawn_ext/test_calc_image_dimensions.rb +0 -41
  167. data/test/unit/generator/pdf/prawn_ext/test_width_of.rb +0 -22
  168. data/test/unit/generator/pdf/test_document.rb +0 -22
  169. data/test/unit/generator/test_pdf.rb +0 -26
  170. data/test/unit/layout/test_base.rb +0 -41
  171. data/test/unit/layout/test_format.rb +0 -100
  172. data/test/unit/layout/test_legacy_schema.rb +0 -574
  173. data/test/unit/layout/test_version.rb +0 -26
  174. data/test/unit/report/test_base.rb +0 -248
  175. data/test/unit/report/test_internal.rb +0 -206
  176. data/test/unit/test_config.rb +0 -36
  177. data/test/unit/test_layout.rb +0 -12
  178. data/test/unit/test_report.rb +0 -18
@@ -1,661 +0,0 @@
1
- {
2
- "version": "0.9.0",
3
- "items": [
4
- {
5
- "id": "",
6
- "type": "rect",
7
- "display": true,
8
- "description": "",
9
- "x": 20,
10
- "y": 51,
11
- "width": 100,
12
- "height": 100,
13
- "style": {
14
- "border-color": "#ff0000",
15
- "border-width": 1,
16
- "border-style": "solid",
17
- "fill-color": "none"
18
- },
19
- "border-radius": 0
20
- },
21
- {
22
- "id": "",
23
- "type": "rect",
24
- "display": true,
25
- "description": "",
26
- "x": 20,
27
- "y": 443,
28
- "width": 150,
29
- "height": 100,
30
- "style": {
31
- "border-color": "#ff0000",
32
- "border-width": 1,
33
- "border-style": "solid",
34
- "fill-color": "none"
35
- },
36
- "border-radius": 0
37
- },
38
- {
39
- "id": "",
40
- "type": "text",
41
- "display": true,
42
- "description": "",
43
- "x": 20,
44
- "y": 20,
45
- "width": 200,
46
- "height": 26.7,
47
- "style": {
48
- "font-family": [
49
- "Times New Roman"
50
- ],
51
- "font-size": 24,
52
- "color": "#000000",
53
- "text-align": "left",
54
- "vertical-align": "top",
55
- "line-height": "",
56
- "line-height-ratio": "",
57
- "letter-spacing": "",
58
- "font-style": []
59
- },
60
- "texts": [
61
- "Positioning"
62
- ]
63
- },
64
- {
65
- "id": "",
66
- "type": "rect",
67
- "display": true,
68
- "description": "",
69
- "x": 130,
70
- "y": 51,
71
- "width": 100,
72
- "height": 100,
73
- "style": {
74
- "border-color": "#ff0000",
75
- "border-width": 1,
76
- "border-style": "solid",
77
- "fill-color": "none"
78
- },
79
- "border-radius": 0
80
- },
81
- {
82
- "id": "",
83
- "type": "rect",
84
- "display": true,
85
- "description": "",
86
- "x": 240,
87
- "y": 51,
88
- "width": 100,
89
- "height": 100,
90
- "style": {
91
- "border-color": "#ff0000",
92
- "border-width": 1,
93
- "border-style": "solid",
94
- "fill-color": "none"
95
- },
96
- "border-radius": 0
97
- },
98
- {
99
- "id": "",
100
- "type": "text",
101
- "display": true,
102
- "description": "",
103
- "x": 20,
104
- "y": 385,
105
- "width": 200,
106
- "height": 26.7,
107
- "style": {
108
- "font-family": [
109
- "Times New Roman"
110
- ],
111
- "font-size": 24,
112
- "color": "#000000",
113
- "text-align": "left",
114
- "vertical-align": "top",
115
- "line-height": "",
116
- "line-height-ratio": "",
117
- "letter-spacing": "",
118
- "font-style": []
119
- },
120
- "texts": [
121
- "Overflowing"
122
- ]
123
- },
124
- {
125
- "id": "",
126
- "type": "text",
127
- "display": true,
128
- "description": "",
129
- "x": 25,
130
- "y": 411,
131
- "width": 288,
132
- "height": 26,
133
- "style": {
134
- "font-family": [
135
- "Helvetica"
136
- ],
137
- "font-size": 14,
138
- "color": "#000000",
139
- "text-align": "left",
140
- "vertical-align": "top",
141
- "line-height": "",
142
- "line-height-ratio": "",
143
- "letter-spacing": "",
144
- "font-style": []
145
- },
146
- "texts": [
147
- "Resize automatically to 150x75 from 200x100."
148
- ]
149
- },
150
- {
151
- "id": "",
152
- "type": "text",
153
- "display": true,
154
- "description": "",
155
- "x": 20,
156
- "y": 565,
157
- "width": 200,
158
- "height": 26.7,
159
- "style": {
160
- "font-family": [
161
- "Times New Roman"
162
- ],
163
- "font-size": 24,
164
- "color": "#000000",
165
- "text-align": "left",
166
- "vertical-align": "top",
167
- "line-height": "",
168
- "line-height-ratio": "",
169
- "letter-spacing": "",
170
- "font-style": []
171
- },
172
- "texts": [
173
- "Open URI"
174
- ]
175
- },
176
- {
177
- "id": "",
178
- "type": "rect",
179
- "display": true,
180
- "description": "",
181
- "x": 20,
182
- "y": 628,
183
- "width": 555.2,
184
- "height": 92.3,
185
- "style": {
186
- "border-color": "#ff0000",
187
- "border-width": 1,
188
- "border-style": "solid",
189
- "fill-color": "none"
190
- },
191
- "border-radius": 0
192
- },
193
- {
194
- "id": "",
195
- "type": "text",
196
- "display": true,
197
- "description": "",
198
- "x": 25,
199
- "y": 595,
200
- "width": 369.4,
201
- "height": 26,
202
- "style": {
203
- "font-family": [
204
- "Helvetica"
205
- ],
206
- "font-size": 14,
207
- "color": "#000000",
208
- "text-align": "left",
209
- "vertical-align": "top",
210
- "line-height": "",
211
- "line-height-ratio": "",
212
- "letter-spacing": "",
213
- "font-style": []
214
- },
215
- "texts": [
216
- "http://www.thinreports.org/assets/logos/thinreports-logo.png"
217
- ]
218
- },
219
- {
220
- "id": "",
221
- "type": "rect",
222
- "display": true,
223
- "description": "",
224
- "x": 20,
225
- "y": 443,
226
- "width": 150,
227
- "height": 76,
228
- "style": {
229
- "border-color": "#f79646",
230
- "border-width": 1,
231
- "border-style": "dashed",
232
- "fill-color": "none"
233
- },
234
- "border-radius": 0
235
- },
236
- {
237
- "id": "list",
238
- "type": "list",
239
- "display": true,
240
- "description": "",
241
- "x": 361.1,
242
- "y": 55,
243
- "width": 199.1,
244
- "height": 312.1,
245
- "header": {
246
- "enabled": true,
247
- "height": 33.2,
248
- "translate": {
249
- "x": 10,
250
- "y": -395.2
251
- },
252
- "items": [
253
- {
254
- "id": "",
255
- "type": "text",
256
- "display": true,
257
- "description": "",
258
- "x": 351.1,
259
- "y": 450.2,
260
- "width": 199.1,
261
- "height": 33.2,
262
- "style": {
263
- "font-family": [
264
- "Times New Roman"
265
- ],
266
- "font-size": 18,
267
- "color": "#000000",
268
- "text-align": "center",
269
- "vertical-align": "middle",
270
- "line-height": "",
271
- "line-height-ratio": "",
272
- "letter-spacing": "",
273
- "font-style": []
274
- },
275
- "texts": [
276
- "In List"
277
- ]
278
- },
279
- {
280
- "id": "",
281
- "type": "line",
282
- "display": true,
283
- "description": "",
284
- "style": {
285
- "border-color": "#000000",
286
- "border-width": 1,
287
- "border-style": "solid"
288
- },
289
- "x1": 353.1,
290
- "y1": 483.4,
291
- "x2": 560.2,
292
- "y2": 483.4
293
- }
294
- ]
295
- },
296
- "detail": {
297
- "height": 60,
298
- "translate": {
299
- "x": 10,
300
- "y": -395.2
301
- },
302
- "items": [
303
- {
304
- "id": "",
305
- "type": "line",
306
- "display": true,
307
- "description": "",
308
- "style": {
309
- "border-color": "#000000",
310
- "border-width": 1,
311
- "border-style": "solid"
312
- },
313
- "x1": 351.1,
314
- "y1": 543.2,
315
- "x2": 560.2,
316
- "y2": 543.2
317
- },
318
- {
319
- "id": "in_list",
320
- "type": "image-block",
321
- "display": true,
322
- "description": "",
323
- "x": 351.1,
324
- "y": 483.4,
325
- "width": 198.1,
326
- "height": 58.8,
327
- "style": {
328
- "position-x": "center",
329
- "position-y": "middle"
330
- }
331
- }
332
- ]
333
- },
334
- "page-footer": {
335
- "enabled": false,
336
- "height": 0,
337
- "translate": {
338
- "x": 10,
339
- "y": -368.4
340
- },
341
- "items": []
342
- },
343
- "footer": {
344
- "enabled": false,
345
- "height": 0,
346
- "translate": {
347
- "x": 10,
348
- "y": -393.3
349
- },
350
- "items": []
351
- },
352
- "content-height": 278.90000000000003,
353
- "auto-page-break": false
354
- },
355
- {
356
- "id": "",
357
- "type": "text",
358
- "display": true,
359
- "description": "",
360
- "x": 359,
361
- "y": 20,
362
- "width": 200,
363
- "height": 26.7,
364
- "style": {
365
- "font-family": [
366
- "Times New Roman"
367
- ],
368
- "font-size": 24,
369
- "color": "#000000",
370
- "text-align": "left",
371
- "vertical-align": "top",
372
- "line-height": "",
373
- "line-height-ratio": "",
374
- "letter-spacing": "",
375
- "font-style": []
376
- },
377
- "texts": [
378
- "Use in List"
379
- ]
380
- },
381
- {
382
- "id": "pos_top_left",
383
- "type": "image-block",
384
- "display": true,
385
- "description": "",
386
- "x": 20,
387
- "y": 51,
388
- "width": 100,
389
- "height": 100,
390
- "style": {
391
- "position-x": "left",
392
- "position-y": "top"
393
- }
394
- },
395
- {
396
- "id": "pos_top_center",
397
- "type": "image-block",
398
- "display": true,
399
- "description": "",
400
- "x": 130,
401
- "y": 51,
402
- "width": 100,
403
- "height": 100,
404
- "style": {
405
- "position-x": "center",
406
- "position-y": "top"
407
- }
408
- },
409
- {
410
- "id": "pos_top_right",
411
- "type": "image-block",
412
- "display": true,
413
- "description": "",
414
- "x": 240,
415
- "y": 51,
416
- "width": 100,
417
- "height": 100,
418
- "style": {
419
- "position-x": "right",
420
- "position-y": "top"
421
- }
422
- },
423
- {
424
- "id": "pos_center_left",
425
- "type": "image-block",
426
- "display": true,
427
- "description": "",
428
- "x": 20,
429
- "y": 161,
430
- "width": 100,
431
- "height": 100,
432
- "style": {
433
- "position-x": "left",
434
- "position-y": "middle"
435
- }
436
- },
437
- {
438
- "id": "",
439
- "type": "rect",
440
- "display": true,
441
- "description": "",
442
- "x": 20,
443
- "y": 161,
444
- "width": 100,
445
- "height": 100,
446
- "style": {
447
- "border-color": "#ff0000",
448
- "border-width": 1,
449
- "border-style": "solid",
450
- "fill-color": "none"
451
- },
452
- "border-radius": 0
453
- },
454
- {
455
- "id": "pos_center_center",
456
- "type": "image-block",
457
- "display": true,
458
- "description": "",
459
- "x": 130,
460
- "y": 161,
461
- "width": 100,
462
- "height": 100,
463
- "style": {
464
- "position-x": "center",
465
- "position-y": "middle"
466
- }
467
- },
468
- {
469
- "id": "",
470
- "type": "rect",
471
- "display": true,
472
- "description": "",
473
- "x": 130,
474
- "y": 161,
475
- "width": 100,
476
- "height": 100,
477
- "style": {
478
- "border-color": "#ff0000",
479
- "border-width": 1,
480
- "border-style": "solid",
481
- "fill-color": "none"
482
- },
483
- "border-radius": 0
484
- },
485
- {
486
- "id": "pos_center_right",
487
- "type": "image-block",
488
- "display": true,
489
- "description": "",
490
- "x": 240,
491
- "y": 161,
492
- "width": 100,
493
- "height": 100,
494
- "style": {
495
- "position-x": "right",
496
- "position-y": "middle"
497
- }
498
- },
499
- {
500
- "id": "",
501
- "type": "rect",
502
- "display": true,
503
- "description": "",
504
- "x": 240,
505
- "y": 161,
506
- "width": 100,
507
- "height": 100,
508
- "style": {
509
- "border-color": "#ff0000",
510
- "border-width": 1,
511
- "border-style": "solid",
512
- "fill-color": "none"
513
- },
514
- "border-radius": 0
515
- },
516
- {
517
- "id": "pos_bottom_left",
518
- "type": "image-block",
519
- "display": true,
520
- "description": "",
521
- "x": 20,
522
- "y": 271,
523
- "width": 100,
524
- "height": 100,
525
- "style": {
526
- "position-x": "left",
527
- "position-y": "bottom"
528
- }
529
- },
530
- {
531
- "id": "",
532
- "type": "rect",
533
- "display": true,
534
- "description": "",
535
- "x": 20,
536
- "y": 271,
537
- "width": 100,
538
- "height": 100,
539
- "style": {
540
- "border-color": "#ff0000",
541
- "border-width": 1,
542
- "border-style": "solid",
543
- "fill-color": "none"
544
- },
545
- "border-radius": 0
546
- },
547
- {
548
- "id": "pos_bottom_center",
549
- "type": "image-block",
550
- "display": true,
551
- "description": "",
552
- "x": 130,
553
- "y": 271,
554
- "width": 100,
555
- "height": 100,
556
- "style": {
557
- "position-x": "center",
558
- "position-y": "bottom"
559
- }
560
- },
561
- {
562
- "id": "",
563
- "type": "rect",
564
- "display": true,
565
- "description": "",
566
- "x": 130,
567
- "y": 271,
568
- "width": 100,
569
- "height": 100,
570
- "style": {
571
- "border-color": "#ff0000",
572
- "border-width": 1,
573
- "border-style": "solid",
574
- "fill-color": "none"
575
- },
576
- "border-radius": 0
577
- },
578
- {
579
- "id": "pos_bottom_right",
580
- "type": "image-block",
581
- "display": true,
582
- "description": "",
583
- "x": 240,
584
- "y": 271,
585
- "width": 100,
586
- "height": 100,
587
- "style": {
588
- "position-x": "right",
589
- "position-y": "bottom"
590
- }
591
- },
592
- {
593
- "id": "",
594
- "type": "rect",
595
- "display": true,
596
- "description": "",
597
- "x": 240,
598
- "y": 271,
599
- "width": 100,
600
- "height": 100,
601
- "style": {
602
- "border-color": "#ff0000",
603
- "border-width": 1,
604
- "border-style": "solid",
605
- "fill-color": "none"
606
- },
607
- "border-radius": 0
608
- },
609
- {
610
- "id": "overflow",
611
- "type": "image-block",
612
- "display": true,
613
- "description": "",
614
- "x": 20,
615
- "y": 443,
616
- "width": 150,
617
- "height": 100,
618
- "style": {
619
- "position-x": "left",
620
- "position-y": "top"
621
- }
622
- },
623
- {
624
- "id": "thinreports_logo",
625
- "type": "image-block",
626
- "display": true,
627
- "description": "",
628
- "x": 20,
629
- "y": 628,
630
- "width": 555.2,
631
- "height": 92.3,
632
- "style": {
633
- "position-x": "center",
634
- "position-y": "middle"
635
- }
636
- }
637
- ],
638
- "state": {
639
- "layout-guides": [
640
- {
641
- "type": "x",
642
- "position": 340.1
643
- },
644
- {
645
- "type": "y",
646
- "position": 371.1
647
- }
648
- ]
649
- },
650
- "title": "",
651
- "report": {
652
- "paper-type": "A4",
653
- "orientation": "portrait",
654
- "margin": [
655
- 20,
656
- 20,
657
- 20,
658
- 20
659
- ]
660
- }
661
- }
Binary file
Binary file