nadesiko3 3.3.45 → 3.3.49

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 (329) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +143 -132
  3. package/batch/browsers.template.md +3 -3
  4. package/batch/build_browsers.nako3 +72 -72
  5. package/batch/build_command.nako3 +44 -44
  6. package/batch/build_nako_version.nako3 +42 -42
  7. package/batch/calc_hash.nako3 +29 -29
  8. package/batch/cmd_txt2json.nako3 +74 -74
  9. package/batch/command.txt +270 -338
  10. package/batch/command_nakopad.txt +9 -69
  11. package/batch/download-extlib.nako3 +43 -43
  12. package/batch/gen_command_nakopad.nako3 +57 -57
  13. package/batch/jsplugin2text.nako3 +285 -285
  14. package/batch/pickup_command.nako3 +110 -110
  15. package/batch/pickup_reserved_words.nako3 +11 -11
  16. package/batch/publish_version.nako3 +46 -46
  17. package/batch/show_agents.js +14 -14
  18. package/batch/turtle2js.nako3 +21 -21
  19. package/bin/cnako3 +10 -10
  20. package/core/.editorconfig +6 -0
  21. package/core/.eslintrc.cjs +33 -0
  22. package/core/.github/dependabot.yml +7 -0
  23. package/core/.github/workflows/nodejs.yml +37 -0
  24. package/core/.github/workflows/super-linter.yml +61 -0
  25. package/core/.github/workflows/textlint.yml +199 -0
  26. package/core/LICENSE +21 -0
  27. package/core/README.md +66 -0
  28. package/core/batch/build_nako_version.nako3 +42 -0
  29. package/core/command/snako.mjs +105 -0
  30. package/core/command/snako.mts +116 -0
  31. package/core/index.mjs +21 -0
  32. package/core/index.mts +21 -0
  33. package/core/package.json +47 -0
  34. package/core/sample/hello.nako3 +7 -0
  35. package/core/sample/hoge.mjs +4 -0
  36. package/core/sample/hoge.mts +6 -0
  37. package/core/src/nako3.mjs +858 -0
  38. package/core/src/nako3.mts +967 -0
  39. package/core/src/nako_colors.mjs +78 -0
  40. package/core/src/nako_colors.mts +86 -0
  41. package/core/src/nako_core_version.mjs +8 -0
  42. package/core/src/nako_core_version.mts +19 -0
  43. package/core/src/nako_csv.mjs +185 -0
  44. package/core/src/nako_csv.mts +188 -0
  45. package/core/src/nako_errors.mjs +173 -0
  46. package/core/src/nako_errors.mts +197 -0
  47. package/core/src/nako_from_dncl.mjs +255 -0
  48. package/core/src/nako_from_dncl.mts +250 -0
  49. package/core/src/nako_gen.mjs +1648 -0
  50. package/core/src/nako_gen.mts +1719 -0
  51. package/core/src/nako_gen_async.mjs +1659 -0
  52. package/core/src/nako_gen_async.mts +1732 -0
  53. package/core/src/nako_global.mjs +107 -0
  54. package/core/src/nako_global.mts +138 -0
  55. package/core/src/nako_indent.mjs +445 -0
  56. package/core/src/nako_indent.mts +492 -0
  57. package/core/src/nako_josi_list.mjs +38 -0
  58. package/core/src/nako_josi_list.mts +45 -0
  59. package/core/src/nako_lex_rules.mjs +253 -0
  60. package/core/src/nako_lex_rules.mts +260 -0
  61. package/core/src/nako_lexer.mjs +609 -0
  62. package/core/src/nako_lexer.mts +612 -0
  63. package/core/src/nako_logger.mjs +199 -0
  64. package/core/src/nako_logger.mts +232 -0
  65. package/core/src/nako_parser3.mjs +2439 -0
  66. package/core/src/nako_parser3.mts +2195 -0
  67. package/core/src/nako_parser_base.mjs +370 -0
  68. package/core/src/nako_parser_base.mts +370 -0
  69. package/core/src/nako_parser_const.mjs +37 -0
  70. package/core/src/nako_parser_const.mts +37 -0
  71. package/core/src/nako_prepare.mjs +304 -0
  72. package/core/src/nako_prepare.mts +315 -0
  73. package/core/src/nako_reserved_words.mjs +38 -0
  74. package/core/src/nako_reserved_words.mts +38 -0
  75. package/core/src/nako_source_mapping.mjs +207 -0
  76. package/core/src/nako_source_mapping.mts +262 -0
  77. package/core/src/nako_test.mjs +37 -0
  78. package/core/src/nako_types.mjs +25 -0
  79. package/core/src/nako_types.mts +151 -0
  80. package/core/src/plugin_csv.mjs +49 -0
  81. package/core/src/plugin_csv.mts +50 -0
  82. package/core/src/plugin_math.mjs +328 -0
  83. package/core/src/plugin_math.mts +326 -0
  84. package/core/src/plugin_promise.mjs +91 -0
  85. package/core/src/plugin_promise.mts +91 -0
  86. package/core/src/plugin_system.mjs +2832 -0
  87. package/core/src/plugin_system.mts +2690 -0
  88. package/core/src/plugin_test.mjs +34 -0
  89. package/core/src/plugin_test.mts +34 -0
  90. package/core/test/array_test.mjs +34 -0
  91. package/core/test/basic_test.mjs +344 -0
  92. package/core/test/calc_test.mjs +140 -0
  93. package/core/test/core_module_test.mjs +23 -0
  94. package/core/test/debug_test.mjs +16 -0
  95. package/core/test/dncl_test.mjs +94 -0
  96. package/core/test/error_message_test.mjs +210 -0
  97. package/core/test/error_test.mjs +16 -0
  98. package/core/test/flow_test.mjs +373 -0
  99. package/core/test/func_call.mjs +160 -0
  100. package/core/test/func_test.mjs +149 -0
  101. package/core/test/indent_test.mjs +364 -0
  102. package/core/test/lex_test.mjs +168 -0
  103. package/core/test/literal_test.mjs +73 -0
  104. package/core/test/nako_lexer_test.mjs +35 -0
  105. package/core/test/nako_logger_test.mjs +76 -0
  106. package/core/test/nako_logger_test.mts +78 -0
  107. package/core/test/plugin_csv_test.mjs +38 -0
  108. package/core/test/plugin_promise_test.mjs +18 -0
  109. package/core/test/plugin_system_test.mjs +630 -0
  110. package/core/test/prepare_test.mjs +96 -0
  111. package/core/test/re_test.mjs +22 -0
  112. package/core/test/side_effects_test.mjs +92 -0
  113. package/core/test/variable_scope_test.mjs +149 -0
  114. package/core/tsconfig.json +101 -0
  115. package/demo/ace_editor.html +89 -89
  116. package/demo/ace_editor_tabs.html +161 -161
  117. package/demo/basic.html +71 -71
  118. package/demo/browsers.html +9 -10
  119. package/demo/css/basic.css +3 -3
  120. package/demo/css/common.css +157 -157
  121. package/demo/css/editor.css +8 -8
  122. package/demo/css/flow.css +3 -3
  123. package/demo/css/index.css +3 -3
  124. package/demo/flow.html +98 -98
  125. package/demo/graph.html +53 -53
  126. package/demo/image/nakopad-icon256.png +0 -0
  127. package/demo/index.html +133 -133
  128. package/demo/js/common.js +17 -17
  129. package/demo/js/turtle3d_test.js +44 -44
  130. package/demo/js/turtle_test.js +45 -45
  131. package/demo/nako3/calc.nako3 +4 -4
  132. package/demo/runscript.html +47 -47
  133. package/demo/runscript2.html +33 -33
  134. package/demo/runscript3.html +35 -35
  135. package/demo/runscript4.html +33 -33
  136. package/demo/turtle.html +58 -58
  137. package/demo/turtle2.html +141 -141
  138. package/demo/turtle3.html +279 -279
  139. package/demo/turtle3d.html +58 -58
  140. package/demo/turtle3d2.html +107 -107
  141. package/demo/version.html +24 -24
  142. package/doc/SETUP.md +157 -157
  143. package/doc/about.md +17 -17
  144. package/doc/browsers.md +26 -26
  145. package/doc/docgen.md +21 -21
  146. package/doc/editor.md +44 -44
  147. package/doc/files.md +39 -39
  148. package/doc/plugins.md +234 -234
  149. package/doc/release.md +79 -79
  150. package/doc/textlint.md +43 -43
  151. package/doc/win32.md +57 -57
  152. package/package.json +195 -192
  153. package/release/_hash.txt +28 -28
  154. package/release/_script-tags.txt +14 -14
  155. package/release/command.json +1 -1
  156. package/release/command.json.js +1 -1
  157. package/release/command_cnako3.json +1 -1
  158. package/release/command_list.json +1 -1
  159. package/release/editor.js +1 -1
  160. package/release/nako_gen_async.js +1 -1
  161. package/release/plugin_csv.js +1 -1
  162. package/release/stats.json +1 -1
  163. package/release/version.js +1 -1
  164. package/release/wnako3.js +1 -1
  165. package/release/wnako3webworker.js +1 -1
  166. package/src/browsers.txt +11 -12
  167. package/src/browsers_agents.json +2 -2
  168. package/src/browsers_agents.mjs +1 -1
  169. package/src/cnako3.mjs +17 -10
  170. package/src/cnako3.mts +18 -12
  171. package/src/cnako3mod.mjs +707 -687
  172. package/src/cnako3mod.mts +712 -696
  173. package/src/commander_ja.mjs +164 -164
  174. package/src/commander_ja.mts +161 -161
  175. package/src/enako3.mjs +68 -69
  176. package/src/era.mjs +22 -22
  177. package/src/image_turtle-elephant.mjs +2 -5
  178. package/src/image_turtle-panda.mjs +2 -5
  179. package/src/image_turtle64.mjs +2 -5
  180. package/src/index.mjs +9 -9
  181. package/src/index.mts +10 -11
  182. package/src/nako3editorfix.sfd +106 -106
  183. package/src/nako_version.mjs +8 -8
  184. package/src/nako_version.mts +2 -2
  185. package/src/plugin_browser.mjs +213 -212
  186. package/src/plugin_browser.mts +206 -205
  187. package/src/plugin_browser_ajax.mjs +399 -399
  188. package/src/plugin_browser_audio.mjs +109 -109
  189. package/src/plugin_browser_canvas.mjs +449 -449
  190. package/src/plugin_browser_chart.mjs +294 -294
  191. package/src/plugin_browser_color.mjs +49 -49
  192. package/src/plugin_browser_crypto.mjs +26 -26
  193. package/src/plugin_browser_dialog.mjs +53 -53
  194. package/src/plugin_browser_dom_basic.mjs +336 -336
  195. package/src/plugin_browser_dom_event.mjs +193 -193
  196. package/src/plugin_browser_dom_parts.mjs +396 -396
  197. package/src/plugin_browser_geolocation.mjs +51 -51
  198. package/src/plugin_browser_hotkey.mjs +25 -25
  199. package/src/plugin_browser_html.mjs +59 -59
  200. package/src/plugin_browser_in_worker.mjs +45 -45
  201. package/src/plugin_browser_location.mjs +21 -21
  202. package/src/plugin_browser_speech.mjs +111 -111
  203. package/src/plugin_browser_storage.mjs +121 -121
  204. package/src/plugin_browser_system.mjs +31 -31
  205. package/src/plugin_browser_websocket.mjs +73 -73
  206. package/src/plugin_caniuse.mjs +29 -29
  207. package/src/plugin_datetime.mjs +394 -394
  208. package/src/plugin_httpserver.mjs +277 -0
  209. package/src/plugin_httpserver.mts +286 -0
  210. package/src/plugin_kansuji.mjs +224 -224
  211. package/src/plugin_keigo.mjs +55 -55
  212. package/src/plugin_markup.mjs +32 -32
  213. package/src/plugin_node.mjs +1047 -1047
  214. package/src/plugin_node.mts +980 -980
  215. package/src/plugin_turtle.mjs +647 -647
  216. package/src/plugin_webworker.mjs +334 -334
  217. package/src/plugin_weykturtle3d.mjs +1214 -1214
  218. package/src/plugin_worker.mjs +95 -95
  219. package/src/repl.nako3 +63 -63
  220. package/src/wnako3.mjs +12 -12
  221. package/src/wnako3.mts +11 -11
  222. package/src/wnako3_editor.css +215 -215
  223. package/src/wnako3_editor.mjs +1542 -1542
  224. package/src/wnako3_editor.mts +1657 -1656
  225. package/src/wnako3mod.mjs +213 -213
  226. package/src/wnako3mod.mts +214 -214
  227. package/src/wnako3webworker.mjs +69 -68
  228. package/test/ace_editor/karma.config.js +94 -94
  229. package/test/ace_editor/test/.babelrc.json +3 -3
  230. package/test/ace_editor/test/ace_editor_test.js +178 -178
  231. package/test/ace_editor/test/html/custom_context.html +139 -139
  232. package/test/async/async_basic_test.mjs +122 -122
  233. package/test/browser/karma.config.js +221 -221
  234. package/test/browser/test/.babelrc.json +3 -3
  235. package/test/browser/test/compare_util.js +50 -50
  236. package/test/browser/test/html/div_basic.html +2 -2
  237. package/test/browser/test/html/event_dom_form.html +4 -4
  238. package/test/browser/test/html/event_dom_scrolldiv.html +5 -5
  239. package/test/browser/test/import_plugin_checker.js +24 -24
  240. package/test/browser/test/plugin_browser_test.js +51 -51
  241. package/test/browser/test/plugin_browser_test_ajax.js +123 -123
  242. package/test/browser/test/plugin_browser_test_color.js +18 -18
  243. package/test/browser/test/plugin_browser_test_dialog.js +72 -72
  244. package/test/browser/test/plugin_browser_test_dom_event.js +598 -598
  245. package/test/browser/test/plugin_browser_test_dom_parts.js +125 -125
  246. package/test/browser/test/plugin_browser_test_system.js +9 -9
  247. package/test/browser/test/plugin_turtle_test.js +817 -817
  248. package/test/browser/test/plugin_webworker_test.js +86 -86
  249. package/test/browser/test/require_test.js +68 -68
  250. package/test/bundled/karma.config.base.js +117 -117
  251. package/test/bundled/karma.config.js +86 -86
  252. package/test/bundled/test/.babelrc.json +3 -3
  253. package/test/bundled/test/bundled_test.js +69 -69
  254. package/test/bundled/test/html/custom_context.html +65 -65
  255. package/test/bundled/test/html/custom_debug.html +66 -66
  256. package/test/bundled/test4b.cmd +52 -52
  257. package/test/bundled/test_base/.babelrc.json +3 -3
  258. package/test/bundled/test_base/_checktool_test.js +25 -25
  259. package/test/bundled/test_base/basic_ajax_test.js +56 -56
  260. package/test/bundled/test_base/basic_async_test.js +18 -18
  261. package/test/bundled/test_base/basic_test.js +153 -153
  262. package/test/bundled/test_base/calc_test.js +132 -132
  263. package/test/bundled/test_base/css/browsers_box.css +114 -114
  264. package/test/bundled/test_base/html/custom_context.html +69 -69
  265. package/test/bundled/test_base/html/custom_debug.html +71 -71
  266. package/test/bundled/test_base/js/browsers_box.js +72 -72
  267. package/test/bundled/test_base/plugin_csv_test.js +37 -37
  268. package/test/bundled/test_base/plugin_datetime_test.js +115 -115
  269. package/test/bundled/test_base/plugin_kansuji_test.js +49 -49
  270. package/test/bundled/test_base/plugin_system_test.js +410 -410
  271. package/test/bundled/test_base/plugin_webworker_test.js +53 -53
  272. package/test/bundled/test_base/test_utils.js +191 -191
  273. package/test/common/plugin_browser_test.mjs +22 -24
  274. package/test/common/plugin_browser_ut_audio_test.mjs +108 -108
  275. package/test/common/plugin_browser_ut_color_test.mjs +21 -21
  276. package/test/common/plugin_browser_ut_dialog_test.mjs +100 -100
  277. package/test/common/plugin_browser_ut_html_test.mjs +13 -13
  278. package/test/common/plugin_browser_ut_system_test.mjs +10 -10
  279. package/test/common/plugin_markup_test.mjs +23 -23
  280. package/test/jsconfig.json +19 -19
  281. package/test/karma.config.js +91 -91
  282. package/test/node/async_test.mjs +96 -82
  283. package/test/node/commander_ja_test.mjs +89 -89
  284. package/test/node/error_message_test.mjs +243 -253
  285. package/test/node/kai_test.nako3 +6 -6
  286. package/test/node/node_test.mjs +60 -60
  287. package/test/node/plugin_broken.js.txt +3 -3
  288. package/test/node/plugin_browser_ut_ajax_test.mjs.todo +357 -357
  289. package/test/node/plugin_browser_ut_location_test.mjs +42 -42
  290. package/test/node/plugin_markup_test.mjs +47 -46
  291. package/test/node/plugin_math_test.mjs +45 -44
  292. package/test/node/plugin_node_test.mjs +98 -97
  293. package/test/node/plugin_test.mjs +44 -43
  294. package/test/node/relative_import_test_1.nako3 +1 -1
  295. package/test/node/relative_import_test_2.nako3 +2 -2
  296. package/test/node/require_nako3_test.mjs +67 -66
  297. package/test/node/requiretest.nako3 +4 -4
  298. package/test/node/requiretest_indirect.nako3 +1 -1
  299. package/test/node/requiretest_name.nako3 +5 -5
  300. package/test/node/runtime_error.nako3 +2 -2
  301. package/test/node/scope1.nako3 +10 -10
  302. package/test/node/scope2.nako3 +12 -12
  303. package/test/node/side_effects_test.mjs +39 -119
  304. package/test/node/sjis.txt +5 -5
  305. package/test/node/syntax_error.nako3 +1 -1
  306. package/test/node/wnako3_editor_test.mjs +384 -384
  307. package/tools/README.md +12 -7
  308. package/tools/check_new_version.nako3 +25 -25
  309. package/tools/nako3edit/html/daisyui/LICENSE +22 -22
  310. package/tools/nako3edit/html/daisyui/version_2.14.1 +1 -1
  311. package/tools/nako3edit/html/edit.html +170 -170
  312. package/tools/nako3edit/html/edit_plugin.js +6 -6
  313. package/tools/nako3edit/html/files.html +125 -125
  314. package/tools/nako3edit/html/nako3edit.css +65 -65
  315. package/tools/nako3edit/index.mjs +248 -244
  316. package/tools/nako3server/index.html +10 -0
  317. package/tools/nako3server/index.mjs +116 -116
  318. package/tools/nako3server/index.nako3 +34 -0
  319. package/release/nako_gen_async.js.LICENSE.txt +0 -35
  320. package/release/plugin_caniuse.js.LICENSE.txt +0 -11
  321. package/release/plugin_csv.js.LICENSE.txt +0 -15
  322. package/release/plugin_datetime.js.LICENSE.txt +0 -15
  323. package/release/plugin_kansuji.js.LICENSE.txt +0 -3
  324. package/release/plugin_markup.js.LICENSE.txt +0 -11
  325. package/release/plugin_turtle.js.LICENSE.txt +0 -15
  326. package/release/plugin_webworker.js.LICENSE.txt +0 -3
  327. package/release/plugin_weykturtle3d.js.LICENSE.txt +0 -3
  328. package/release/wnako3webworker.js.LICENSE.txt +0 -131
  329. package/tools/nako3edit/a.sqlite3 +0 -0
@@ -1,294 +1,294 @@
1
- // @ts-nocheck
2
- export default {
3
- // @グラフ描画_CHARTJS
4
- 'グラフ描画': { // @ Chart.jsを利用して、DATAのグラフを描画 // @ぐらふびょうが
5
- type: 'func',
6
- josi: [['を', 'で', 'の']],
7
- pure: true,
8
- fn: function (data, sys) {
9
- // Chart.jsが使えるかチェック
10
- if (!window.Chart) {
11
- throw new Error('『グラフ描画』のエラー。Chart.jsを取り込んでください。')
12
- }
13
- // Canvasが有効?
14
- if (!sys.__canvas) {
15
- throw new Error('『グラフ描画』のエラー。『描画開始』命令で描画先のCanvasを指定してください。 ')
16
- }
17
- // 日本語のキーワードを変換
18
- if (data['タイプ']) { data.type = data['タイプ'] }
19
- if (data['データ']) { data.data = data['データ'] }
20
- if (data['オプション']) { data.options = data['オプション'] }
21
- if (sys.__chartjs) {
22
- sys.__chartjs.destroy()
23
- }
24
- // eslint-disable-next-line no-undef
25
- const chart = new Chart(sys.__canvas, data)
26
- sys.__chartjs = chart
27
- return chart
28
- }
29
- },
30
- 'グラフオプション': { type: 'const', value: {} }, // @ぐらふおぷしょん
31
- '線グラフ描画': { // @ 線グラフを描画 // @せんぐらふびょうが
32
- type: 'func',
33
- josi: [['を', 'で', 'の']],
34
- pure: false,
35
- fn: function (data, sys) {
36
- data = sys.__exec('二次元グラフデータ変形', ['line', data, sys])
37
- const d = {
38
- type: 'line',
39
- data: data,
40
- options: sys.__v0['グラフオプション']
41
- }
42
- return sys.__exec('グラフ描画', [d, sys])
43
- }
44
- },
45
- '棒グラフ描画': { // @ 棒グラフを描画 // @ぼうぐらふびょうが
46
- type: 'func',
47
- josi: [['を', 'で', 'の']],
48
- pure: false,
49
- fn: function (data, sys) {
50
- // グラフオプションの差分作成
51
- const gopt = Object.assign({},
52
- sys.__v0['グラフオプション'],
53
- { 'indexAxis': 'x' })
54
- data = sys.__exec('二次元グラフデータ変形', ['bar', data, sys])
55
- const d = {
56
- type: 'bar',
57
- data: data,
58
- options: gopt
59
- }
60
- return sys.__exec('グラフ描画', [d, sys])
61
- }
62
- },
63
- '横棒グラフ描画': { // @ 横棒グラフを描画 // @よこぼうぐらふびょうが
64
- type: 'func',
65
- josi: [['を', 'で', 'の']],
66
- pure: false,
67
- fn: function (data, sys) {
68
- // グラフオプションの差分作成
69
- const gopt = Object.assign({},
70
- sys.__v0['グラフオプション'],
71
- { 'indexAxis': 'y' })
72
- data = sys.__exec('二次元グラフデータ変形', ['bar', data, sys])
73
- const d = {
74
- type: 'bar', // horizontalBar
75
- data: data,
76
- options: gopt
77
- }
78
- return sys.__exec('グラフ描画', [d, sys])
79
- }
80
- },
81
- '積上棒グラフ描画': { // @ 複数列のデータがある場合積み上げ棒グラフを描画 // @つみあげぼうぐらふびょうが
82
- type: 'func',
83
- josi: [['を', 'で', 'の']],
84
- pure: false,
85
- fn: function (data, sys) {
86
- // グラフオプションの差分作成
87
- const gopt = Object.assign({},
88
- sys.__v0['グラフオプション'],
89
- {
90
- 'indexAxis': 'x',
91
- 'scales': {
92
- x: { stacked: true },
93
- y: { stacked: true }
94
- }
95
- })
96
- data = sys.__exec('二次元グラフデータ変形', ['bar', data, sys])
97
- const d = {
98
- type: 'bar',
99
- data: data,
100
- options: gopt
101
- }
102
- return sys.__exec('グラフ描画', [d, sys])
103
- }
104
- },
105
- '積上横棒グラフ描画': { // @ 複数列のデータがある場合積み上げ棒グラフを描画 // @つみあげよこぼうぐらふびょうが
106
- type: 'func',
107
- josi: [['を', 'で', 'の']],
108
- pure: false,
109
- fn: function (data, sys) {
110
- // グラフオプションの差分作成
111
- const gopt = Object.assign({},
112
- sys.__v0['グラフオプション'],
113
- {
114
- 'indexAxis': 'y',
115
- 'scales': {
116
- x: { stacked: true },
117
- y: { stacked: true }
118
- }
119
- })
120
- data = sys.__exec('二次元グラフデータ変形', ['bar', data, sys])
121
- const d = {
122
- type: 'bar',
123
- data: data,
124
- options: gopt
125
- }
126
- return sys.__exec('グラフ描画', [d, sys])
127
- }
128
- },
129
- '散布図描画': { // @ 散布図を描画 // @さんぷず
130
- type: 'func',
131
- josi: [['を', 'で', 'の']],
132
- pure: false,
133
- fn: function (data, sys) {
134
- // グラフオプションの差分作成
135
- const gopt = Object.assign({},
136
- sys.__v0['グラフオプション'],
137
- {})
138
- data = sys.__exec('二次元グラフデータ変形', ['scatter', data, sys])
139
- const d = {
140
- type: 'scatter',
141
- data: data,
142
- options: gopt
143
- }
144
- return sys.__exec('グラフ描画', [d, sys])
145
- }
146
- },
147
- '円グラフ描画': { // @ 円グラフを描画 // @えんぐらふびょうが
148
- type: 'func',
149
- josi: [['を', 'で', 'の']],
150
- pure: false,
151
- fn: function (data, sys) {
152
- data = sys.__exec('二次元グラフデータ変形', ['pie', data, sys])
153
- const d = {
154
- type: 'pie',
155
- data: data,
156
- options: sys.__v0['グラフオプション']
157
- }
158
- return sys.__exec('グラフ描画', [d, sys])
159
- }
160
- },
161
- 'ドーナツグラフ描画': { // @ 円グラフ(ドーナツ)を描画 // @ドーナツぐらふびょうが
162
- type: 'func',
163
- josi: [['を', 'で', 'の']],
164
- pure: false,
165
- fn: function (data, sys) {
166
- data = sys.__exec('二次元グラフデータ変形', ['pie', data, sys])
167
- const d = {
168
- type: 'doughnut',
169
- data: data,
170
- options: sys.__v0['グラフオプション']
171
- }
172
- return sys.__exec('グラフ描画', [d, sys])
173
- }
174
- },
175
- 'ポーラーグラフ描画': { // @ 円グラフ(鶏頭グラフ/ポーラーエリアチャート)を描画 // @ぽーらーぐらふびょうが
176
- type: 'func',
177
- josi: [['を', 'で', 'の']],
178
- pure: false,
179
- fn: function (data, sys) {
180
- data = sys.__exec('二次元グラフデータ変形', ['pie', data, sys])
181
- const d = {
182
- type: 'polarArea',
183
- data: data,
184
- options: sys.__v0['グラフオプション']
185
- }
186
- return sys.__exec('グラフ描画', [d, sys])
187
- }
188
- },
189
- 'レーダーグラフ描画': { // @ レーダーチャートを描画 // @れーだーぐらふびょうが
190
- type: 'func',
191
- josi: [['を', 'で', 'の']],
192
- pure: false,
193
- fn: function (data, sys) {
194
- data = sys.__exec('二次元グラフデータ変形', ['bar', data, sys])
195
- const d = {
196
- type: 'radar',
197
- data: data,
198
- options: sys.__v0['グラフオプション']
199
- }
200
- return sys.__exec('グラフ描画', [d, sys])
201
- }
202
- },
203
- '二次元グラフデータ変形': { // @ 二次元配列をXXグラフ描画の形式に整形する。種類TとDATAを指定。 // @にじげんぐらふでーたへんけい
204
- type: 'func',
205
- josi: [['の'], ['を']],
206
- pure: false,
207
- fn: function (t, data, sys) {
208
- const bgcolorList = [
209
- 'rgba(255, 99, 132, 0.2)',
210
- 'rgba(54, 162, 235, 0.2)',
211
- 'rgba(255, 206, 86, 0.2)',
212
- 'rgba(75, 192, 192, 0.2)',
213
- 'rgba(153, 102, 255, 0.2)',
214
- 'rgba(255, 159, 64, 0.2)'
215
- ]
216
- const fgcolorList = [
217
- 'rgba(255, 99, 132, 1)',
218
- 'rgba(54, 162, 235, 1)',
219
- 'rgba(255, 206, 86, 1)',
220
- 'rgba(75, 192, 192, 1)',
221
- 'rgba(153, 102, 255, 1)',
222
- 'rgba(255, 159, 64, 1)'
223
- ]
224
- const res = {}
225
- const bgcolors = []
226
- const fgcolors = []
227
- res.labels = []
228
- // 配列かどうか
229
- if (data instanceof Array) {
230
- // 二次元データのとき
231
- if (data[0] instanceof Array) {
232
- if (t === 'pie') { // 円グラフの時だけ整形方法が異なる
233
- const o = {}
234
- o.data = []
235
- res.datasets = [o]
236
- for (let i = 0; i < data.length; i++) {
237
- res.labels.push(data[i][0]) // label
238
- o.data.push(data[i][1]) // value
239
- bgcolors.push(bgcolorList[i % 6])
240
- fgcolors.push(fgcolorList[i % 6])
241
- }
242
- o.backgroundColor = bgcolors
243
- o.borderColor = fgcolors
244
- return res
245
- }
246
- // 左側のラベルの処理
247
- // [1,0]が文字列ならラベルあり
248
- if (typeof (data[1][0]) === 'string') {
249
- for (let i = 1; i < data.length; i++) {
250
- res.labels.push(data[i][0]) // 左ラベルを追加
251
- data[i] = data[i].slice(1) // 左ラベル除去
252
- }
253
- data[0] = data[0].slice(1) // ヘッダ行も左ラベルを削除
254
- } else {
255
- // 左側ラベルない場合 - ダミーのラベルを追加
256
- for (let i = 1; i < data.length; i++) {
257
- res.labels.push(i)
258
- }
259
- }
260
- res.datasets = []
261
- for (let i = 0; i < data[0].length; i++) {
262
- const o = {}
263
- res.datasets.push(o)
264
- o.label = data[0][i]
265
- o.backgroundColor = bgcolorList[i % 6]
266
- o.borderColor = fgcolorList[i % 6]
267
- o.data = []
268
- for (let j = 1; j < data.length; j++) {
269
- o.data.push(data[j][i])
270
- }
271
- }
272
- return res
273
- }
274
- // 一次元データのとき
275
- // ラベルを作成
276
- for (let i = 0; i < data.length; i++) {
277
- res.labels.push(i + 1)
278
- bgcolors.push(bgcolorList[i % 6])
279
- fgcolors.push(fgcolorList[i % 6])
280
- }
281
- const o1 = {}
282
- res.datasets = [o1]
283
- o1.label = 'データ'
284
- o1.data = data
285
- o1.backgroundColor = bgcolors
286
- o1.borderColor = fgcolors
287
- return res
288
- }
289
- if (data instanceof Object) { return data }
290
- // データが1つだけのとき
291
- return sys.__exec('二次元グラフデータ変形', [[data], sys])
292
- }
293
- }
294
- }
1
+ // @ts-nocheck
2
+ export default {
3
+ // @グラフ描画_CHARTJS
4
+ 'グラフ描画': { // @ Chart.jsを利用して、DATAのグラフを描画 // @ぐらふびょうが
5
+ type: 'func',
6
+ josi: [['を', 'で', 'の']],
7
+ pure: true,
8
+ fn: function (data, sys) {
9
+ // Chart.jsが使えるかチェック
10
+ if (!window.Chart) {
11
+ throw new Error('『グラフ描画』のエラー。Chart.jsを取り込んでください。')
12
+ }
13
+ // Canvasが有効?
14
+ if (!sys.__canvas) {
15
+ throw new Error('『グラフ描画』のエラー。『描画開始』命令で描画先のCanvasを指定してください。 ')
16
+ }
17
+ // 日本語のキーワードを変換
18
+ if (data['タイプ']) { data.type = data['タイプ'] }
19
+ if (data['データ']) { data.data = data['データ'] }
20
+ if (data['オプション']) { data.options = data['オプション'] }
21
+ if (sys.__chartjs) {
22
+ sys.__chartjs.destroy()
23
+ }
24
+ // eslint-disable-next-line no-undef
25
+ const chart = new Chart(sys.__canvas, data)
26
+ sys.__chartjs = chart
27
+ return chart
28
+ }
29
+ },
30
+ 'グラフオプション': { type: 'const', value: {} }, // @ぐらふおぷしょん
31
+ '線グラフ描画': { // @ 線グラフを描画 // @せんぐらふびょうが
32
+ type: 'func',
33
+ josi: [['を', 'で', 'の']],
34
+ pure: false,
35
+ fn: function (data, sys) {
36
+ data = sys.__exec('二次元グラフデータ変形', ['line', data, sys])
37
+ const d = {
38
+ type: 'line',
39
+ data: data,
40
+ options: sys.__v0['グラフオプション']
41
+ }
42
+ return sys.__exec('グラフ描画', [d, sys])
43
+ }
44
+ },
45
+ '棒グラフ描画': { // @ 棒グラフを描画 // @ぼうぐらふびょうが
46
+ type: 'func',
47
+ josi: [['を', 'で', 'の']],
48
+ pure: false,
49
+ fn: function (data, sys) {
50
+ // グラフオプションの差分作成
51
+ const gopt = Object.assign({},
52
+ sys.__v0['グラフオプション'],
53
+ { 'indexAxis': 'x' })
54
+ data = sys.__exec('二次元グラフデータ変形', ['bar', data, sys])
55
+ const d = {
56
+ type: 'bar',
57
+ data: data,
58
+ options: gopt
59
+ }
60
+ return sys.__exec('グラフ描画', [d, sys])
61
+ }
62
+ },
63
+ '横棒グラフ描画': { // @ 横棒グラフを描画 // @よこぼうぐらふびょうが
64
+ type: 'func',
65
+ josi: [['を', 'で', 'の']],
66
+ pure: false,
67
+ fn: function (data, sys) {
68
+ // グラフオプションの差分作成
69
+ const gopt = Object.assign({},
70
+ sys.__v0['グラフオプション'],
71
+ { 'indexAxis': 'y' })
72
+ data = sys.__exec('二次元グラフデータ変形', ['bar', data, sys])
73
+ const d = {
74
+ type: 'bar', // horizontalBar
75
+ data: data,
76
+ options: gopt
77
+ }
78
+ return sys.__exec('グラフ描画', [d, sys])
79
+ }
80
+ },
81
+ '積上棒グラフ描画': { // @ 複数列のデータがある場合積み上げ棒グラフを描画 // @つみあげぼうぐらふびょうが
82
+ type: 'func',
83
+ josi: [['を', 'で', 'の']],
84
+ pure: false,
85
+ fn: function (data, sys) {
86
+ // グラフオプションの差分作成
87
+ const gopt = Object.assign({},
88
+ sys.__v0['グラフオプション'],
89
+ {
90
+ 'indexAxis': 'x',
91
+ 'scales': {
92
+ x: { stacked: true },
93
+ y: { stacked: true }
94
+ }
95
+ })
96
+ data = sys.__exec('二次元グラフデータ変形', ['bar', data, sys])
97
+ const d = {
98
+ type: 'bar',
99
+ data: data,
100
+ options: gopt
101
+ }
102
+ return sys.__exec('グラフ描画', [d, sys])
103
+ }
104
+ },
105
+ '積上横棒グラフ描画': { // @ 複数列のデータがある場合積み上げ棒グラフを描画 // @つみあげよこぼうぐらふびょうが
106
+ type: 'func',
107
+ josi: [['を', 'で', 'の']],
108
+ pure: false,
109
+ fn: function (data, sys) {
110
+ // グラフオプションの差分作成
111
+ const gopt = Object.assign({},
112
+ sys.__v0['グラフオプション'],
113
+ {
114
+ 'indexAxis': 'y',
115
+ 'scales': {
116
+ x: { stacked: true },
117
+ y: { stacked: true }
118
+ }
119
+ })
120
+ data = sys.__exec('二次元グラフデータ変形', ['bar', data, sys])
121
+ const d = {
122
+ type: 'bar',
123
+ data: data,
124
+ options: gopt
125
+ }
126
+ return sys.__exec('グラフ描画', [d, sys])
127
+ }
128
+ },
129
+ '散布図描画': { // @ 散布図を描画 // @さんぷず
130
+ type: 'func',
131
+ josi: [['を', 'で', 'の']],
132
+ pure: false,
133
+ fn: function (data, sys) {
134
+ // グラフオプションの差分作成
135
+ const gopt = Object.assign({},
136
+ sys.__v0['グラフオプション'],
137
+ {})
138
+ data = sys.__exec('二次元グラフデータ変形', ['scatter', data, sys])
139
+ const d = {
140
+ type: 'scatter',
141
+ data: data,
142
+ options: gopt
143
+ }
144
+ return sys.__exec('グラフ描画', [d, sys])
145
+ }
146
+ },
147
+ '円グラフ描画': { // @ 円グラフを描画 // @えんぐらふびょうが
148
+ type: 'func',
149
+ josi: [['を', 'で', 'の']],
150
+ pure: false,
151
+ fn: function (data, sys) {
152
+ data = sys.__exec('二次元グラフデータ変形', ['pie', data, sys])
153
+ const d = {
154
+ type: 'pie',
155
+ data: data,
156
+ options: sys.__v0['グラフオプション']
157
+ }
158
+ return sys.__exec('グラフ描画', [d, sys])
159
+ }
160
+ },
161
+ 'ドーナツグラフ描画': { // @ 円グラフ(ドーナツ)を描画 // @ドーナツぐらふびょうが
162
+ type: 'func',
163
+ josi: [['を', 'で', 'の']],
164
+ pure: false,
165
+ fn: function (data, sys) {
166
+ data = sys.__exec('二次元グラフデータ変形', ['pie', data, sys])
167
+ const d = {
168
+ type: 'doughnut',
169
+ data: data,
170
+ options: sys.__v0['グラフオプション']
171
+ }
172
+ return sys.__exec('グラフ描画', [d, sys])
173
+ }
174
+ },
175
+ 'ポーラーグラフ描画': { // @ 円グラフ(鶏頭グラフ/ポーラーエリアチャート)を描画 // @ぽーらーぐらふびょうが
176
+ type: 'func',
177
+ josi: [['を', 'で', 'の']],
178
+ pure: false,
179
+ fn: function (data, sys) {
180
+ data = sys.__exec('二次元グラフデータ変形', ['pie', data, sys])
181
+ const d = {
182
+ type: 'polarArea',
183
+ data: data,
184
+ options: sys.__v0['グラフオプション']
185
+ }
186
+ return sys.__exec('グラフ描画', [d, sys])
187
+ }
188
+ },
189
+ 'レーダーグラフ描画': { // @ レーダーチャートを描画 // @れーだーぐらふびょうが
190
+ type: 'func',
191
+ josi: [['を', 'で', 'の']],
192
+ pure: false,
193
+ fn: function (data, sys) {
194
+ data = sys.__exec('二次元グラフデータ変形', ['bar', data, sys])
195
+ const d = {
196
+ type: 'radar',
197
+ data: data,
198
+ options: sys.__v0['グラフオプション']
199
+ }
200
+ return sys.__exec('グラフ描画', [d, sys])
201
+ }
202
+ },
203
+ '二次元グラフデータ変形': { // @ 二次元配列をXXグラフ描画の形式に整形する。種類TとDATAを指定。 // @にじげんぐらふでーたへんけい
204
+ type: 'func',
205
+ josi: [['の'], ['を']],
206
+ pure: false,
207
+ fn: function (t, data, sys) {
208
+ const bgcolorList = [
209
+ 'rgba(255, 99, 132, 0.2)',
210
+ 'rgba(54, 162, 235, 0.2)',
211
+ 'rgba(255, 206, 86, 0.2)',
212
+ 'rgba(75, 192, 192, 0.2)',
213
+ 'rgba(153, 102, 255, 0.2)',
214
+ 'rgba(255, 159, 64, 0.2)'
215
+ ]
216
+ const fgcolorList = [
217
+ 'rgba(255, 99, 132, 1)',
218
+ 'rgba(54, 162, 235, 1)',
219
+ 'rgba(255, 206, 86, 1)',
220
+ 'rgba(75, 192, 192, 1)',
221
+ 'rgba(153, 102, 255, 1)',
222
+ 'rgba(255, 159, 64, 1)'
223
+ ]
224
+ const res = {}
225
+ const bgcolors = []
226
+ const fgcolors = []
227
+ res.labels = []
228
+ // 配列かどうか
229
+ if (data instanceof Array) {
230
+ // 二次元データのとき
231
+ if (data[0] instanceof Array) {
232
+ if (t === 'pie') { // 円グラフの時だけ整形方法が異なる
233
+ const o = {}
234
+ o.data = []
235
+ res.datasets = [o]
236
+ for (let i = 0; i < data.length; i++) {
237
+ res.labels.push(data[i][0]) // label
238
+ o.data.push(data[i][1]) // value
239
+ bgcolors.push(bgcolorList[i % 6])
240
+ fgcolors.push(fgcolorList[i % 6])
241
+ }
242
+ o.backgroundColor = bgcolors
243
+ o.borderColor = fgcolors
244
+ return res
245
+ }
246
+ // 左側のラベルの処理
247
+ // [1,0]が文字列ならラベルあり
248
+ if (typeof (data[1][0]) === 'string') {
249
+ for (let i = 1; i < data.length; i++) {
250
+ res.labels.push(data[i][0]) // 左ラベルを追加
251
+ data[i] = data[i].slice(1) // 左ラベル除去
252
+ }
253
+ data[0] = data[0].slice(1) // ヘッダ行も左ラベルを削除
254
+ } else {
255
+ // 左側ラベルない場合 - ダミーのラベルを追加
256
+ for (let i = 1; i < data.length; i++) {
257
+ res.labels.push(i)
258
+ }
259
+ }
260
+ res.datasets = []
261
+ for (let i = 0; i < data[0].length; i++) {
262
+ const o = {}
263
+ res.datasets.push(o)
264
+ o.label = data[0][i]
265
+ o.backgroundColor = bgcolorList[i % 6]
266
+ o.borderColor = fgcolorList[i % 6]
267
+ o.data = []
268
+ for (let j = 1; j < data.length; j++) {
269
+ o.data.push(data[j][i])
270
+ }
271
+ }
272
+ return res
273
+ }
274
+ // 一次元データのとき
275
+ // ラベルを作成
276
+ for (let i = 0; i < data.length; i++) {
277
+ res.labels.push(i + 1)
278
+ bgcolors.push(bgcolorList[i % 6])
279
+ fgcolors.push(fgcolorList[i % 6])
280
+ }
281
+ const o1 = {}
282
+ res.datasets = [o1]
283
+ o1.label = 'データ'
284
+ o1.data = data
285
+ o1.backgroundColor = bgcolors
286
+ o1.borderColor = fgcolors
287
+ return res
288
+ }
289
+ if (data instanceof Object) { return data }
290
+ // データが1つだけのとき
291
+ return sys.__exec('二次元グラフデータ変形', [[data], sys])
292
+ }
293
+ }
294
+ }