nadesiko3 3.2.27
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.
- package/LICENSE +21 -0
- package/README.md +107 -0
- package/bin/cnako3 +10 -0
- package/bin/cnako3.bat +11 -0
- package/bin/nako3server.bat +6 -0
- package/demo/ace_editor.html +90 -0
- package/demo/ace_editor_tabs.html +162 -0
- package/demo/basic.html +71 -0
- package/demo/browsers.html +128 -0
- package/demo/css/basic.css +3 -0
- package/demo/css/common.css +157 -0
- package/demo/css/editor.css +8 -0
- package/demo/css/flow.css +3 -0
- package/demo/css/index.css +3 -0
- package/demo/extlib/ace@1.4.12/ace.js +17 -0
- package/demo/extlib/ace@1.4.12/ext-code_lens.min.js +1 -0
- package/demo/extlib/ace@1.4.12/ext-language_tools.min.js +1 -0
- package/demo/extlib/ace@1.4.12/ext-options.min.js +1 -0
- package/demo/extlib/ace@1.4.12/ext-settings_menu.js +8 -0
- package/demo/extlib/ace@1.4.12/keybinding-vscode.js +8 -0
- package/demo/extlib/ace@1.4.12/theme-monokai.js +8 -0
- package/demo/extlib/ace@1.4.12/theme-xcode.js +8 -0
- package/demo/extlib/chart.js@3.2.1/chart.min.js +13 -0
- package/demo/extlib/pure-min.css +11 -0
- package/demo/flow.html +97 -0
- package/demo/graph.html +53 -0
- package/demo/image/nako.png +0 -0
- package/demo/image/nakopad-icon256.png +0 -0
- package/demo/image/turtle.fla +0 -0
- package/demo/image/turtle.png +0 -0
- package/demo/index.html +134 -0
- package/demo/js/common.js +17 -0
- package/demo/js/turtle3d_test.js +44 -0
- package/demo/js/turtle_test.js +44 -0
- package/demo/runscript.html +47 -0
- package/demo/runscript2.html +33 -0
- package/demo/turtle.html +58 -0
- package/demo/turtle2.html +141 -0
- package/demo/turtle3.html +278 -0
- package/demo/turtle3d.html +58 -0
- package/demo/turtle3d2.html +107 -0
- package/demo/version.html +24 -0
- package/doc/SETUP.md +172 -0
- package/doc/about.md +34 -0
- package/doc/browsers.md +60 -0
- package/doc/docgen.md +21 -0
- package/doc/editor.md +44 -0
- package/doc/files.md +37 -0
- package/doc/plugins.md +195 -0
- package/doc/release.md +78 -0
- package/doc/win32.md +57 -0
- package/package.json +196 -0
- package/release/_hash.txt +65 -0
- package/release/_script-tags.txt +13 -0
- package/release/command.json +1 -0
- package/release/command.json.js +1 -0
- package/release/command_cnako3.json +1 -0
- package/release/command_list.json +1 -0
- package/release/editor.js +2 -0
- package/release/editor.js.LICENSE.txt +32 -0
- package/release/josi.json +48 -0
- package/release/nako_gen_async.js +1 -0
- package/release/nako_gen_async.js.LICENSE.txt +595 -0
- package/release/plugin_caniuse.js +1 -0
- package/release/plugin_caniuse.js.LICENSE.txt +411 -0
- package/release/plugin_csv.js +1 -0
- package/release/plugin_csv.js.LICENSE.txt +367 -0
- package/release/plugin_datetime.js +1 -0
- package/release/plugin_datetime.js.LICENSE.txt +471 -0
- package/release/plugin_kansuji.js +1 -0
- package/release/plugin_kansuji.js.LICENSE.txt +491 -0
- package/release/plugin_markup.js +1 -0
- package/release/plugin_markup.js.LICENSE.txt +363 -0
- package/release/plugin_turtle.js +1 -0
- package/release/plugin_turtle.js.LICENSE.txt +435 -0
- package/release/plugin_webworker.js +1 -0
- package/release/plugin_webworker.js.LICENSE.txt +491 -0
- package/release/version.js +2 -0
- package/release/version.js.LICENSE.txt +32 -0
- package/release/wnako3.js +2 -0
- package/release/wnako3.js.LICENSE.txt +1 -0
- package/release/wnako3webworker.js +1 -0
- package/release/wnako3webworker.js.LICENSE.txt +847 -0
- package/release/yoyakugo.json +30 -0
- package/src/browsers.md +60 -0
- package/src/cnako3.js +466 -0
- package/src/commander_ja.js +154 -0
- package/src/enako3.js +69 -0
- package/src/era.json +22 -0
- package/src/index.js +5 -0
- package/src/nako3.js +836 -0
- package/src/nako3_assert.js +37 -0
- package/src/nako3editorfix.sfd +106 -0
- package/src/nako3editorfix.woff +0 -0
- package/src/nako3server.js +51 -0
- package/src/nako_colors.js +86 -0
- package/src/nako_errors.js +176 -0
- package/src/nako_gen.js +1459 -0
- package/src/nako_gen_async.js +1622 -0
- package/src/nako_global.js +113 -0
- package/src/nako_indent.js +480 -0
- package/src/nako_josi_list.js +46 -0
- package/src/nako_lex_rules.js +259 -0
- package/src/nako_lexer.js +576 -0
- package/src/nako_logger.js +138 -0
- package/src/nako_parser3.js +1768 -0
- package/src/nako_parser_base.js +265 -0
- package/src/nako_parser_const.js +37 -0
- package/src/nako_prepare.js +293 -0
- package/src/nako_reserved_words.js +35 -0
- package/src/nako_source_mapping.js +251 -0
- package/src/nako_test.js +37 -0
- package/src/nako_version.js +8 -0
- package/src/plugin_browser.js +191 -0
- package/src/plugin_browser_ajax.js +352 -0
- package/src/plugin_browser_audio.js +109 -0
- package/src/plugin_browser_canvas.js +462 -0
- package/src/plugin_browser_chart.js +296 -0
- package/src/plugin_browser_color.js +49 -0
- package/src/plugin_browser_crypto.js +26 -0
- package/src/plugin_browser_dialog.js +53 -0
- package/src/plugin_browser_dom_basic.js +322 -0
- package/src/plugin_browser_dom_event.js +193 -0
- package/src/plugin_browser_dom_parts.js +163 -0
- package/src/plugin_browser_geolocation.js +51 -0
- package/src/plugin_browser_hotkey.js +25 -0
- package/src/plugin_browser_html.js +59 -0
- package/src/plugin_browser_in_worker.js +44 -0
- package/src/plugin_browser_location.js +21 -0
- package/src/plugin_browser_speech.js +111 -0
- package/src/plugin_browser_storage.js +121 -0
- package/src/plugin_browser_system.js +12 -0
- package/src/plugin_browser_websocket.js +73 -0
- package/src/plugin_caniuse.js +24 -0
- package/src/plugin_csv.js +57 -0
- package/src/plugin_datetime.js +414 -0
- package/src/plugin_express.js +212 -0
- package/src/plugin_kansuji.js +224 -0
- package/src/plugin_keigo.js +55 -0
- package/src/plugin_markup.js +32 -0
- package/src/plugin_math.js +319 -0
- package/src/plugin_node.js +1018 -0
- package/src/plugin_promise.js +94 -0
- package/src/plugin_system.js +2109 -0
- package/src/plugin_test.js +38 -0
- package/src/plugin_turtle.js +646 -0
- package/src/plugin_webworker.js +334 -0
- package/src/plugin_weykturtle3d.js +1216 -0
- package/src/plugin_worker.js +92 -0
- package/src/repl.nako3 +63 -0
- package/src/turtle-elephant.png +0 -0
- package/src/turtle-panda.png +0 -0
- package/src/turtle64.png +0 -0
- package/src/wnako3.js +162 -0
- package/src/wnako3_editor.css +215 -0
- package/src/wnako3_editor.js +1645 -0
- package/src/wnako3_editor_marker_red.png +0 -0
- package/src/wnako3_editor_marker_red.xcf +0 -0
- package/src/wnako3_editor_marker_yellow.png +0 -0
- package/src/wnako3_editor_marker_yellow.xcf +0 -0
- package/src/wnako3webworker.js +70 -0
- package/test/ace_editor/karma.config.js +94 -0
- package/test/ace_editor/test/.babelrc.json +3 -0
- package/test/ace_editor/test/ace_editor_test.js +178 -0
- package/test/ace_editor/test/html/custom_context.html +140 -0
- package/test/async/async_basic_test.js +124 -0
- package/test/browser/karma.config.js +212 -0
- package/test/browser/test/.babelrc.json +3 -0
- package/test/browser/test/compare_util.js +50 -0
- package/test/browser/test/html/canvas_basic.html +1 -0
- package/test/browser/test/html/div_basic.html +2 -0
- package/test/browser/test/html/event_dom_form.html +4 -0
- package/test/browser/test/html/event_dom_scrolldiv.html +5 -0
- package/test/browser/test/image/canvas_test1.png +0 -0
- package/test/browser/test/image/canvas_test2.png +0 -0
- package/test/browser/test/image/canvas_test3.png +0 -0
- package/test/browser/test/image/canvas_test4.png +0 -0
- package/test/browser/test/image/canvas_test7.png +0 -0
- package/test/browser/test/image/canvas_test8.png +0 -0
- package/test/browser/test/image/canvas_test_blank.png +0 -0
- package/test/browser/test/image/elephant_kana.png +0 -0
- package/test/browser/test/image/panda_kana.png +0 -0
- package/test/browser/test/image/turtle_kana.png +0 -0
- package/test/browser/test/import_plugin_checker.js +24 -0
- package/test/browser/test/plugin_browser_test.js +52 -0
- package/test/browser/test/plugin_browser_test_ajax.js +123 -0
- package/test/browser/test/plugin_browser_test_color.js +18 -0
- package/test/browser/test/plugin_browser_test_dialog.js +72 -0
- package/test/browser/test/plugin_browser_test_dom_event.js +598 -0
- package/test/browser/test/plugin_browser_test_dom_parts.js +125 -0
- package/test/browser/test/plugin_browser_test_system.js +9 -0
- package/test/browser/test/plugin_turtle_test.js +817 -0
- package/test/browser/test/plugin_webworker_test.js +87 -0
- package/test/browser/test/require_test.js +71 -0
- package/test/bundled/karma.config.base.js +117 -0
- package/test/bundled/karma.config.js +86 -0
- package/test/bundled/test/.babelrc.json +3 -0
- package/test/bundled/test/bundled_test.js +69 -0
- package/test/bundled/test/html/custom_context.html +65 -0
- package/test/bundled/test/html/custom_debug.html +66 -0
- package/test/bundled/test4b.cmd +52 -0
- package/test/bundled/test_base/.babelrc.json +3 -0
- package/test/bundled/test_base/_checktool_test.js +25 -0
- package/test/bundled/test_base/basic_ajax_test.js +56 -0
- package/test/bundled/test_base/basic_async_test.js +18 -0
- package/test/bundled/test_base/basic_test.js +153 -0
- package/test/bundled/test_base/calc_test.js +132 -0
- package/test/bundled/test_base/css/browsers_box.css +114 -0
- package/test/bundled/test_base/html/custom_context.html +69 -0
- package/test/bundled/test_base/html/custom_debug.html +71 -0
- package/test/bundled/test_base/js/browsers_box.js +72 -0
- package/test/bundled/test_base/plugin_csv_test.js +37 -0
- package/test/bundled/test_base/plugin_datetime_test.js +115 -0
- package/test/bundled/test_base/plugin_kansuji_test.js +49 -0
- package/test/bundled/test_base/plugin_system_test.js +410 -0
- package/test/bundled/test_base/plugin_webworker_test.js +53 -0
- package/test/bundled/test_base/resources/ok.txt +1 -0
- package/test/bundled/test_base/test_utils.js +191 -0
- package/test/common/array_test.js +40 -0
- package/test/common/basic_test.js +317 -0
- package/test/common/calc_test.js +139 -0
- package/test/common/debug_test.js +16 -0
- package/test/common/error_test.js +16 -0
- package/test/common/flow_test.js +360 -0
- package/test/common/func_call.js +136 -0
- package/test/common/func_test.js +149 -0
- package/test/common/indent_test.js +362 -0
- package/test/common/lex_test.js +146 -0
- package/test/common/literal_test.js +72 -0
- package/test/common/nako_logger_test.js +26 -0
- package/test/common/plugin_browser_test.js +24 -0
- package/test/common/plugin_browser_ut_audio_test.js +88 -0
- package/test/common/plugin_browser_ut_color_test.js +21 -0
- package/test/common/plugin_browser_ut_dialog_test.js +100 -0
- package/test/common/plugin_browser_ut_html_test.js +13 -0
- package/test/common/plugin_browser_ut_system_test.js +10 -0
- package/test/common/plugin_csv_test.js +39 -0
- package/test/common/plugin_datetime_test.js +120 -0
- package/test/common/plugin_kansuji_test.js +59 -0
- package/test/common/plugin_promise_test.js +18 -0
- package/test/common/plugin_system_test.js +451 -0
- package/test/common/prepare_test.js +93 -0
- package/test/common/re_test.js +20 -0
- package/test/common/variable_scope_test.js +105 -0
- package/test/jsconfig.json +19 -0
- package/test/karma.config.js +91 -0
- package/test/node/add_test.nako3 +1 -0
- package/test/node/async_test.js +80 -0
- package/test/node/commander_ja_test.js +82 -0
- package/test/node/error_message_test.js +244 -0
- package/test/node/kai_test.nako3 +6 -0
- package/test/node/node_test.js +43 -0
- package/test/node/plugin_broken.js.txt +3 -0
- package/test/node/plugin_browser_ut_ajax_test.js +355 -0
- package/test/node/plugin_browser_ut_location_test.js +32 -0
- package/test/node/plugin_markup_test.js +44 -0
- package/test/node/plugin_math_test.js +42 -0
- package/test/node/plugin_node_test.js +93 -0
- package/test/node/plugin_test.js +16 -0
- package/test/node/relative_import_test_1.nako3 +1 -0
- package/test/node/relative_import_test_2.nako3 +2 -0
- package/test/node/require_nako3_test.js +59 -0
- package/test/node/requiretest.nako3 +4 -0
- package/test/node/requiretest_indirect.nako3 +1 -0
- package/test/node/requiretest_name.nako3 +5 -0
- package/test/node/runtime_error.nako3 +2 -0
- package/test/node/side_effects_test.js +106 -0
- package/test/node/sjis.txt +5 -0
- package/test/node/syntax_error.nako3 +2 -0
- package/test/node/wnako3_editor_test.js +360 -0
- package/tools/README.md +7 -0
- package/tools/nako3edit/html/edit.html +83 -0
- package/tools/nako3edit/html/edit_plugin.js +6 -0
- package/tools/nako3edit/html/files.html +49 -0
- package/tools/nako3edit/html/nako3edit.css +66 -0
- package/tools/nako3edit/index.nako3 +145 -0
- package/tools/nako3edit/run.js +12 -0
- package/tools/nako3server/html/edit.html +104 -0
- package/tools/nako3server/html/edit_plugin.js +6 -0
- package/tools/nako3server/html/files.html +53 -0
- package/tools/nako3server/html/nako3edit.css +66 -0
- package/tools/nako3server/index.nako3 +129 -0
- package/tools/nako3server/run.js +12 -0
|
@@ -0,0 +1,322 @@
|
|
|
1
|
+
// @ts-nocheck
|
|
2
|
+
module.exports = {
|
|
3
|
+
// @DOM操作
|
|
4
|
+
'DOCUMENT': { type: 'const', value: '' }, // @DOCUMENT
|
|
5
|
+
'WINDOW': { type: 'const', value: '' }, // @WINDOW
|
|
6
|
+
'NAVIGATOR': { type: 'const', value: '' }, // @NAVIGATOR
|
|
7
|
+
'DOM要素ID取得': { // @DOMの要素をIDを指定して取得 // @DOMようそIDしゅとく
|
|
8
|
+
type: 'func',
|
|
9
|
+
josi: [['の', 'を']],
|
|
10
|
+
pure: true,
|
|
11
|
+
fn: function (id) {
|
|
12
|
+
return document.getElementById(id)
|
|
13
|
+
}
|
|
14
|
+
},
|
|
15
|
+
'DOM要素取得': { // @DOMの要素をクエリqで取得して返す // @DOMようそしゅとく
|
|
16
|
+
type: 'func',
|
|
17
|
+
josi: [['の', 'を']],
|
|
18
|
+
pure: true,
|
|
19
|
+
fn: function (q) {
|
|
20
|
+
return document.querySelector(q)
|
|
21
|
+
}
|
|
22
|
+
},
|
|
23
|
+
'DOM要素全取得': { // @DOMの要素をクエリqで全部取得して返す // @DOMようそぜんしゅとく
|
|
24
|
+
type: 'func',
|
|
25
|
+
josi: [['の', 'を']],
|
|
26
|
+
pure: true,
|
|
27
|
+
fn: function (q) {
|
|
28
|
+
return Array.from(document.querySelectorAll(q))
|
|
29
|
+
}
|
|
30
|
+
},
|
|
31
|
+
'タグ一覧取得': { // @任意のタグの一覧を取得して返す // @たぐいちらんしゅとく
|
|
32
|
+
type: 'func',
|
|
33
|
+
josi: [['の', 'を']],
|
|
34
|
+
pure: true,
|
|
35
|
+
fn: function (tag) {
|
|
36
|
+
return document.getElementsByTagName(tag)
|
|
37
|
+
}
|
|
38
|
+
},
|
|
39
|
+
'DOM子要素取得': { // @DOMの要素PAの子要素をクエリqを指定して結果を一つ取得して返す // @DOMこようそしゅとく
|
|
40
|
+
type: 'func',
|
|
41
|
+
josi: [['の'], ['を']],
|
|
42
|
+
pure: true,
|
|
43
|
+
fn: function (pa, q) {
|
|
44
|
+
if (typeof pa === 'string') { pa = document.querySelector(pa) }
|
|
45
|
+
if (!pa.querySelector) {
|
|
46
|
+
throw new Error('『DOM子要素取得』で親要素がDOMではありません。')
|
|
47
|
+
}
|
|
48
|
+
return pa.querySelector(q)
|
|
49
|
+
}
|
|
50
|
+
},
|
|
51
|
+
'DOM子要素全取得': { // @DOMの要素PAの子要素をクエリqを指定して結果を複数取得して返す // @DOMこようそぜんしゅとく
|
|
52
|
+
type: 'func',
|
|
53
|
+
josi: [['の'], ['を']],
|
|
54
|
+
pure: true,
|
|
55
|
+
fn: function (pa, q) {
|
|
56
|
+
if (typeof pa === 'string') { pa = document.querySelector(pa) }
|
|
57
|
+
if (!pa.querySelectorAll) {
|
|
58
|
+
throw new Error('『DOM子要素取得』で親要素がDOMではありません。')
|
|
59
|
+
}
|
|
60
|
+
return pa.querySelectorAll(q)
|
|
61
|
+
}
|
|
62
|
+
},
|
|
63
|
+
'DOMイベント設定': { // @DOMのEVENTになでしこ関数名funcStrのイベントを設定 // @DOMいべんとせってい
|
|
64
|
+
type: 'func',
|
|
65
|
+
josi: [['の'], ['に', 'へ'], ['を']],
|
|
66
|
+
pure: false,
|
|
67
|
+
fn: function (dom, event, funcStr, sys) {
|
|
68
|
+
if (typeof (dom) === 'string') { dom = document.querySelector(dom) }
|
|
69
|
+
|
|
70
|
+
dom[event] = sys.__findVar(funcStr, null)
|
|
71
|
+
},
|
|
72
|
+
return_none: true
|
|
73
|
+
},
|
|
74
|
+
'DOMテキスト設定': { // @DOMにテキストを設定 // @DOMてきすとせってい
|
|
75
|
+
type: 'func',
|
|
76
|
+
josi: [['に', 'の', 'へ'], ['を']],
|
|
77
|
+
pure: true,
|
|
78
|
+
fn: function (dom, text) {
|
|
79
|
+
if (typeof (dom) === 'string') { dom = document.querySelector(dom) }
|
|
80
|
+
|
|
81
|
+
const tag = dom.tagName.toUpperCase()
|
|
82
|
+
if (tag === 'INPUT' || tag === 'TEXTAREA') { dom.value = text } else if (tag === 'SELECT') {
|
|
83
|
+
for (let i = 0; i < dom.options.length; i++) {
|
|
84
|
+
const v = dom.options[i].value
|
|
85
|
+
if (String(v) === text) {
|
|
86
|
+
dom.selectedIndex = i
|
|
87
|
+
break
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
} else { dom.innerHTML = text }
|
|
91
|
+
},
|
|
92
|
+
return_none: true
|
|
93
|
+
},
|
|
94
|
+
'DOMテキスト取得': { // @DOMのテキストを取得 // @DOMてきすとしゅとく
|
|
95
|
+
type: 'func',
|
|
96
|
+
josi: [['の', 'から']],
|
|
97
|
+
pure: true,
|
|
98
|
+
fn: function (dom) {
|
|
99
|
+
if (typeof (dom) === 'string') { dom = document.querySelector(dom) }
|
|
100
|
+
|
|
101
|
+
const tag = dom.tagName.toUpperCase()
|
|
102
|
+
if (tag === 'INPUT' || tag === 'TEXTAREA') { return dom.value } else if (tag === 'SELECT') {
|
|
103
|
+
const idx = dom.selectedIndex
|
|
104
|
+
if (idx < 0) { return null }
|
|
105
|
+
return dom.options[idx].value
|
|
106
|
+
}
|
|
107
|
+
return dom.innerHTML
|
|
108
|
+
}
|
|
109
|
+
},
|
|
110
|
+
'DOM_HTML設定': { // @DOMにHTML文字列を設定 // @DOM_HTMLせってい
|
|
111
|
+
type: 'func',
|
|
112
|
+
josi: [['に', 'の', 'へ'], ['を']],
|
|
113
|
+
pure: true,
|
|
114
|
+
fn: function (dom, text) {
|
|
115
|
+
if (typeof (dom) === 'string') { dom = document.querySelector(dom) }
|
|
116
|
+
|
|
117
|
+
dom.innerHTML = text
|
|
118
|
+
},
|
|
119
|
+
return_none: true
|
|
120
|
+
},
|
|
121
|
+
'DOM_HTML取得': { // @DOMのHTML文字列を取得 // @DOM_HTMLしゅとく
|
|
122
|
+
type: 'func',
|
|
123
|
+
josi: [['の', 'から']],
|
|
124
|
+
pure: true,
|
|
125
|
+
fn: function (dom) {
|
|
126
|
+
if (typeof (dom) === 'string') { dom = document.querySelector(dom) }
|
|
127
|
+
|
|
128
|
+
return dom.innerHTML
|
|
129
|
+
}
|
|
130
|
+
},
|
|
131
|
+
'テキスト設定': { // @DOMのテキストにVを設定 // @てきすとせってい
|
|
132
|
+
type: 'func',
|
|
133
|
+
josi: [['に', 'の', 'へ'], ['を']],
|
|
134
|
+
pure: false,
|
|
135
|
+
fn: function (dom, v, sys) {
|
|
136
|
+
return sys.__exec('DOMテキスト設定', [dom, v, sys])
|
|
137
|
+
}
|
|
138
|
+
},
|
|
139
|
+
'テキスト取得': { // @DOMのテキストを取得 // @てきすとしゅとく
|
|
140
|
+
type: 'func',
|
|
141
|
+
josi: [['の', 'から']],
|
|
142
|
+
pure: false,
|
|
143
|
+
fn: function (dom, sys) {
|
|
144
|
+
console.log(dom)
|
|
145
|
+
console.log(sys)
|
|
146
|
+
return sys.__exec('DOMテキスト取得', [dom, sys])
|
|
147
|
+
}
|
|
148
|
+
},
|
|
149
|
+
'HTML設定': { // @DOMのHTMLにVを設定 // @HTMLせってい
|
|
150
|
+
type: 'func',
|
|
151
|
+
josi: [['に', 'の', 'へ'], ['を']],
|
|
152
|
+
pure: false,
|
|
153
|
+
fn: function (dom, v, sys) {
|
|
154
|
+
return sys.__exec('DOM_HTML設定', [dom, v, sys])
|
|
155
|
+
}
|
|
156
|
+
},
|
|
157
|
+
'HTML取得': { // @DOMのテキストを取得 // @HTMLしゅとく
|
|
158
|
+
type: 'func',
|
|
159
|
+
josi: [['の', 'から']],
|
|
160
|
+
pure: false,
|
|
161
|
+
fn: function (dom, sys) {
|
|
162
|
+
return sys.__exec('DOM_HTML取得', [dom, sys])
|
|
163
|
+
}
|
|
164
|
+
},
|
|
165
|
+
'DOM属性設定': { // @DOMの属性Sに値Vを設定 // @DOMぞくせいせってい
|
|
166
|
+
type: 'func',
|
|
167
|
+
josi: [['の'], ['に', 'へ'], ['を']],
|
|
168
|
+
uses: ['DOM和スタイル'],
|
|
169
|
+
pure: true,
|
|
170
|
+
fn: function (dom, s, v, sys) {
|
|
171
|
+
if (typeof (dom) === 'string') { dom = document.querySelector(dom) }
|
|
172
|
+
const wa = sys.__v0['DOM和スタイル']
|
|
173
|
+
if (wa[s]) { s = wa[s] }
|
|
174
|
+
dom[s] = v
|
|
175
|
+
},
|
|
176
|
+
return_none: true
|
|
177
|
+
},
|
|
178
|
+
'DOM属性取得': { // @DOMの属性Sを取得 // @DOMぞくせいしゅとく
|
|
179
|
+
type: 'func',
|
|
180
|
+
josi: [['の', 'から'], ['を']],
|
|
181
|
+
uses: ['DOM和スタイル'],
|
|
182
|
+
pure: true,
|
|
183
|
+
fn: function (dom, s, sys) {
|
|
184
|
+
if (typeof (dom) === 'string') { dom = document.querySelector(dom) }
|
|
185
|
+
const wa = sys.__v0['DOM和スタイル']
|
|
186
|
+
if (wa[s]) { s = wa[s] }
|
|
187
|
+
return dom[s]
|
|
188
|
+
}
|
|
189
|
+
},
|
|
190
|
+
'DOM和スタイル': { // const // @DOMわすたいる
|
|
191
|
+
type: 'const',
|
|
192
|
+
value: {
|
|
193
|
+
'幅': 'width',
|
|
194
|
+
'高さ': 'height',
|
|
195
|
+
'高': 'height',
|
|
196
|
+
'背景色': 'background-color',
|
|
197
|
+
'色': 'color',
|
|
198
|
+
'マージン': 'margin',
|
|
199
|
+
'余白': 'padding',
|
|
200
|
+
'文字サイズ': 'font-size',
|
|
201
|
+
'行揃え': 'text-align',
|
|
202
|
+
'左': 'left',
|
|
203
|
+
'右': 'right',
|
|
204
|
+
'中央': 'center',
|
|
205
|
+
'ボーダー': 'border',
|
|
206
|
+
'ボックス表示': 'display',
|
|
207
|
+
'なし': 'none',
|
|
208
|
+
'ブロック': 'block',
|
|
209
|
+
'表示位置': 'float',
|
|
210
|
+
'重なり': 'z-index'
|
|
211
|
+
}
|
|
212
|
+
},
|
|
213
|
+
'DOMスタイル設定': { // @DOMのスタイルAに値Bを設定 // @DOMすたいるせってい
|
|
214
|
+
type: 'func',
|
|
215
|
+
josi: [['の'], ['に', 'へ'], ['を']],
|
|
216
|
+
uses: ['DOM和スタイル'],
|
|
217
|
+
pure: true,
|
|
218
|
+
fn: function (dom, s, v, sys) {
|
|
219
|
+
if (typeof (dom) === 'string') { dom = document.querySelector(dom) }
|
|
220
|
+
const wa = sys.__v0['DOM和スタイル']
|
|
221
|
+
if (wa[s] !== undefined) { s = wa[s] }
|
|
222
|
+
if (wa[v] !== undefined) { v = wa[v] }
|
|
223
|
+
dom.style[s] = v
|
|
224
|
+
},
|
|
225
|
+
return_none: true
|
|
226
|
+
},
|
|
227
|
+
'DOMスタイル一括設定': { // @DOMに(オブジェクト型で)スタイル情報を一括設定 // @DOMすたいるいっかつせってい
|
|
228
|
+
type: 'func',
|
|
229
|
+
josi: [['に', 'へ'], ['を']],
|
|
230
|
+
uses: ['DOM和スタイル'],
|
|
231
|
+
pure: true,
|
|
232
|
+
fn: function (dom, values, sys) {
|
|
233
|
+
if (typeof dom === 'string') { dom = document.querySelectorAll(dom) }
|
|
234
|
+
if (!dom) { return }
|
|
235
|
+
if (dom instanceof window.HTMLElement) { dom = [dom] }
|
|
236
|
+
const wa = sys.__v0['DOM和スタイル']
|
|
237
|
+
// 列挙したDOM一覧を全てスタイル変更する
|
|
238
|
+
for (let i = 0; i < dom.length; i++) {
|
|
239
|
+
const e = dom[i]
|
|
240
|
+
for (const key in values) {
|
|
241
|
+
let s = key
|
|
242
|
+
let v = values[key]
|
|
243
|
+
if (wa[s] !== undefined) { s = wa[s] }
|
|
244
|
+
if (wa[v] !== undefined) { v = wa[v] }
|
|
245
|
+
e.style[s] = v
|
|
246
|
+
}
|
|
247
|
+
}
|
|
248
|
+
},
|
|
249
|
+
return_none: true
|
|
250
|
+
},
|
|
251
|
+
'DOMスタイル取得': { // @DOMのSTYLEの値を取得 // @DOMすたいるしゅとく
|
|
252
|
+
type: 'func',
|
|
253
|
+
josi: [['の'], ['を']],
|
|
254
|
+
uses: ['DOM和スタイル'],
|
|
255
|
+
pure: true,
|
|
256
|
+
fn: function (dom, style, sys) {
|
|
257
|
+
if (typeof (dom) === 'string') { dom = document.querySelector(dom) }
|
|
258
|
+
if (!dom) { return '' }
|
|
259
|
+
const wa = sys.__v0['DOM和スタイル']
|
|
260
|
+
if (wa[style]) { style = wa[style] }
|
|
261
|
+
return dom.style[style]
|
|
262
|
+
}
|
|
263
|
+
},
|
|
264
|
+
'DOMスタイル一括取得': { // @DOMのSTYLE(配列で複数指定)の値を取得 // @DOMすたいるいっかつしゅとく
|
|
265
|
+
type: 'func',
|
|
266
|
+
josi: [['の'], ['を']],
|
|
267
|
+
uses: ['DOM和スタイル'],
|
|
268
|
+
pure: true,
|
|
269
|
+
fn: function (dom, style, sys) {
|
|
270
|
+
const res = {}
|
|
271
|
+
if (typeof (dom) === 'string') { dom = document.querySelector(dom) }
|
|
272
|
+
|
|
273
|
+
if (!dom) { return res }
|
|
274
|
+
if (style instanceof String) { style = [style] }
|
|
275
|
+
|
|
276
|
+
const wa = sys.__v0['DOM和スタイル']
|
|
277
|
+
if (style instanceof Array) {
|
|
278
|
+
style.forEach((key) => {
|
|
279
|
+
if (wa[key]) { key = wa[key] }
|
|
280
|
+
res[key] = dom.style[key]
|
|
281
|
+
})
|
|
282
|
+
return res
|
|
283
|
+
}
|
|
284
|
+
if (style instanceof Object) {
|
|
285
|
+
for (let key in style) {
|
|
286
|
+
if (wa[key]) { key = wa[key] }
|
|
287
|
+
res[key] = dom.style[key]
|
|
288
|
+
}
|
|
289
|
+
return res
|
|
290
|
+
}
|
|
291
|
+
return dom.style[style]
|
|
292
|
+
}
|
|
293
|
+
},
|
|
294
|
+
'DOM要素作成': { // @DOMにTAGの新規要素を作成 // @DOMようそさくせい
|
|
295
|
+
type: 'func',
|
|
296
|
+
josi: [['の', 'を']],
|
|
297
|
+
pure: true,
|
|
298
|
+
fn: function (tag) {
|
|
299
|
+
return document.createElement(tag)
|
|
300
|
+
}
|
|
301
|
+
},
|
|
302
|
+
'DOM子要素追加': { // @DOMの要素PAの子へ要素ELを追加してPAを返す // @DOMこようそついか
|
|
303
|
+
type: 'func',
|
|
304
|
+
josi: [['に', 'へ'], ['を']],
|
|
305
|
+
pure: true,
|
|
306
|
+
fn: function (pa, el) {
|
|
307
|
+
if (typeof el === 'string') { el = document.querySelector(el) }
|
|
308
|
+
if (typeof pa === 'string') { pa = document.querySelector(pa) }
|
|
309
|
+
pa.appendChild(el)
|
|
310
|
+
}
|
|
311
|
+
},
|
|
312
|
+
'DOM子要素削除': { // @DOMの要素PAの子から要素ELを削除してPAを返す // @DOMこようそさくじょ
|
|
313
|
+
type: 'func',
|
|
314
|
+
josi: [['から'], ['を']],
|
|
315
|
+
pure: true,
|
|
316
|
+
fn: function (pa, el) {
|
|
317
|
+
if (typeof el === 'string') { el = document.querySelector(el) }
|
|
318
|
+
if (typeof pa === 'string') { pa = document.querySelector(pa) }
|
|
319
|
+
pa.removeChild(el)
|
|
320
|
+
}
|
|
321
|
+
}
|
|
322
|
+
}
|
|
@@ -0,0 +1,193 @@
|
|
|
1
|
+
// @ts-nocheck
|
|
2
|
+
module.exports = {
|
|
3
|
+
// @DOM操作とイベント
|
|
4
|
+
'対象イベント': { type: 'const', value: '' }, // @たいしょういべんと
|
|
5
|
+
'DOMイベント追加': { // @DOMのEVENTになでしこ関数名funcStrのイベントを追加// @DOMいべんとついか
|
|
6
|
+
type: 'func',
|
|
7
|
+
josi: [['の'], ['に', 'へ'], ['を']],
|
|
8
|
+
pure: false,
|
|
9
|
+
fn: function (dom, event, funcStr, sys) {
|
|
10
|
+
sys.__addEvent(dom, event, funcStr, null)
|
|
11
|
+
},
|
|
12
|
+
return_none: true
|
|
13
|
+
},
|
|
14
|
+
'DOMイベント削除': { // @DOMのEVENTからなでしこ関数名funcStrのイベントを削除// @DOMいべんとさくじょ
|
|
15
|
+
type: 'func',
|
|
16
|
+
josi: [['の'], ['から'], ['を']],
|
|
17
|
+
pure: false,
|
|
18
|
+
fn: function (dom, event, funcStr, sys) {
|
|
19
|
+
sys.__removeEvent(dom, event, funcStr)
|
|
20
|
+
},
|
|
21
|
+
return_none: true
|
|
22
|
+
},
|
|
23
|
+
'DOMイベント発火時': { // @DOMのEVENTが発火した時にCALLBACKを実行するように設定 // @DOMいべんとはっかしたとき
|
|
24
|
+
type: 'func',
|
|
25
|
+
josi: [['で'], ['の'], ['が']],
|
|
26
|
+
pure: true,
|
|
27
|
+
fn: function (callback, dom, event, sys) {
|
|
28
|
+
sys.__addEvent(dom, event, callback, null)
|
|
29
|
+
},
|
|
30
|
+
return_none: true
|
|
31
|
+
},
|
|
32
|
+
'DOMイベント処理停止': { // @キーイベントやマウスイベントで、元々ブラウザが行う処理を中止する // @DOMいべんとしょりていし
|
|
33
|
+
type: 'func',
|
|
34
|
+
josi: [['を', 'の']],
|
|
35
|
+
pure: true,
|
|
36
|
+
fn: function (event, sys) {
|
|
37
|
+
event.preventDefault()
|
|
38
|
+
},
|
|
39
|
+
return_none: true
|
|
40
|
+
},
|
|
41
|
+
'クリック時': { // @無名関数FでDOMをクリックした時に実行するイベントを設定 // @くりっくしたとき
|
|
42
|
+
type: 'func',
|
|
43
|
+
josi: [['で'], ['を']],
|
|
44
|
+
pure: false,
|
|
45
|
+
fn: function (func, dom, sys) {
|
|
46
|
+
sys.__addEvent(dom, 'click', func, null)
|
|
47
|
+
},
|
|
48
|
+
return_none: true
|
|
49
|
+
},
|
|
50
|
+
'読込時': { // @無名関数FでDOMを読み込んだ時に実行するイベントを設定 // @よみこんだとき
|
|
51
|
+
type: 'func',
|
|
52
|
+
josi: [['で'], ['を', 'の']],
|
|
53
|
+
pure: false,
|
|
54
|
+
fn: function (func, dom, sys) {
|
|
55
|
+
sys.__addEvent(dom, 'load', func, null)
|
|
56
|
+
},
|
|
57
|
+
return_none: true
|
|
58
|
+
},
|
|
59
|
+
'フォーム送信時': { // @無名関数Fでフォームを送信した時に実行するイベントを設定 // @ふぉーむそうしんしたとき
|
|
60
|
+
type: 'func',
|
|
61
|
+
josi: [['で'], ['を', 'の']],
|
|
62
|
+
pure: false,
|
|
63
|
+
fn: function (func, dom, sys) {
|
|
64
|
+
sys.__addEvent(dom, 'submit', func, null)
|
|
65
|
+
},
|
|
66
|
+
return_none: true
|
|
67
|
+
},
|
|
68
|
+
'押キー': { type: 'const', value: '' }, // @おされたきー
|
|
69
|
+
'キー押時': { // @無名関数FでDOMに対してキーを押した時に実行するイベントを設定。『押されたキー』が設定される。 // @きーおしたとき
|
|
70
|
+
type: 'func',
|
|
71
|
+
josi: [['で'], ['を', 'の']],
|
|
72
|
+
pure: false,
|
|
73
|
+
fn: function (func, dom, sys) {
|
|
74
|
+
sys.__addEvent(dom, 'keydown', func, sys.__keyHandler)
|
|
75
|
+
},
|
|
76
|
+
return_none: true
|
|
77
|
+
},
|
|
78
|
+
'キー離時': { // @無名関数FでDOMに対してキーを離した時に実行するイベントを設定。『押されたキー』が設定される。 // @きーはなしたとき
|
|
79
|
+
type: 'func',
|
|
80
|
+
josi: [['で'], ['を', 'の']],
|
|
81
|
+
pure: false,
|
|
82
|
+
fn: function (func, dom, sys) {
|
|
83
|
+
sys.__addEvent(dom, 'keyup', func, sys.__keyHandler)
|
|
84
|
+
},
|
|
85
|
+
return_none: true
|
|
86
|
+
},
|
|
87
|
+
'キータイピング時': { // @無名関数FでDOMに対してキーをプレスした時に実行するイベントを設定。『押されたキー』が設定される。 // @きーたいぴんぐしたとき
|
|
88
|
+
type: 'func',
|
|
89
|
+
josi: [['で'], ['を', 'の']],
|
|
90
|
+
pure: false,
|
|
91
|
+
fn: function (func, dom, sys) {
|
|
92
|
+
sys.__addEvent(dom, 'keypress', func, sys.__keyHandler)
|
|
93
|
+
},
|
|
94
|
+
return_none: true
|
|
95
|
+
},
|
|
96
|
+
'マウスX': { type: 'const', value: 0 }, // @まうすX
|
|
97
|
+
'マウスY': { type: 'const', value: 0 }, // @まうすY
|
|
98
|
+
'マウス押時': { // @無名関数FでDOMに対してマウスボタンを押した時に実行するイベントを設定。『マウスX』『マウスY』に座標が設定される。『対象』にイベントDOM。『対象イベント』にイベント引数。 // @まうすおしたとき
|
|
99
|
+
type: 'func',
|
|
100
|
+
josi: [['で'], ['を', 'の']],
|
|
101
|
+
pure: false,
|
|
102
|
+
fn: function (func, dom, sys) {
|
|
103
|
+
sys.__addEvent(dom, 'mousedown', func, sys.__mouseHandler)
|
|
104
|
+
},
|
|
105
|
+
return_none: true
|
|
106
|
+
},
|
|
107
|
+
'マウス移動時': { // @無名関数FでDOMに対してマウスカーソルが移動した時に実行するイベントを設定。『マウスX』『マウスY』に座標が設定される。『対象』にイベントDOM。『対象イベント』にイベント引数。 // @まうすいどうしたとき
|
|
108
|
+
type: 'func',
|
|
109
|
+
josi: [['で'], ['を', 'の']],
|
|
110
|
+
pure: false,
|
|
111
|
+
fn: function (func, dom, sys) {
|
|
112
|
+
sys.__addEvent(dom, 'mousemove', func, sys.__mouseHandler)
|
|
113
|
+
},
|
|
114
|
+
return_none: true
|
|
115
|
+
},
|
|
116
|
+
'マウス離時': { // @無名関数FでDOMに対してマウスボタンを離した時に実行するイベントを設定。『マウスX』『マウスY』に座標が設定される。『対象』にイベントDOM。『対象イベント』にイベント引数。 // @まうすはなしたとき
|
|
117
|
+
type: 'func',
|
|
118
|
+
josi: [['で'], ['を', 'の']],
|
|
119
|
+
pure: false,
|
|
120
|
+
fn: function (func, dom, sys) {
|
|
121
|
+
sys.__addEvent(dom, 'mouseup', func, sys.__mouseHandler)
|
|
122
|
+
},
|
|
123
|
+
return_none: true
|
|
124
|
+
},
|
|
125
|
+
'タッチX': { type: 'const', value: 0 }, // @たっちX
|
|
126
|
+
'タッチY': { type: 'const', value: 0 }, // @たっちY
|
|
127
|
+
'タッチ配列': { type: 'const', value: [] }, // @たっちはいれつ
|
|
128
|
+
'タッチイベント計算': { // @タッチイベントで座標計算を行う。『タッチX』『タッチY』『タッチ配列』『対象』『対象イベント』が設定される。『タッチ配列』の内容が返る // @たっちいべんとけいさん
|
|
129
|
+
type: 'func',
|
|
130
|
+
josi: [['の']],
|
|
131
|
+
pure: true,
|
|
132
|
+
fn: function (e, sys) {
|
|
133
|
+
return sys.__touchHandler(e, sys)
|
|
134
|
+
}
|
|
135
|
+
},
|
|
136
|
+
'タッチ開始時': { // @無名関数FでDOMに対してタッチを開始した時に実行するイベントを設定。// @たっちかいししたとき
|
|
137
|
+
type: 'func',
|
|
138
|
+
josi: [['で'], ['を', 'の']],
|
|
139
|
+
pure: false,
|
|
140
|
+
fn: function (func, dom, sys) {
|
|
141
|
+
sys.__addEvent(dom, 'touchstart', func, sys.__touchHandler)
|
|
142
|
+
},
|
|
143
|
+
return_none: true
|
|
144
|
+
},
|
|
145
|
+
'タッチ時': { // @無名関数FでDOMに対してタッチして指を動かした時に実行するイベントを設定。// @たっちしたとき
|
|
146
|
+
type: 'func',
|
|
147
|
+
josi: [['で'], ['を', 'の']],
|
|
148
|
+
pure: false,
|
|
149
|
+
fn: function (func, dom, sys) {
|
|
150
|
+
sys.__addEvent(dom, 'touchmove', func, sys.__touchHandler)
|
|
151
|
+
},
|
|
152
|
+
return_none: true
|
|
153
|
+
},
|
|
154
|
+
'タッチ終了時': { // @無名関数FでDOMに対してタッチして指を離した時のイベントを設定。// @たっちしゅうりょうしたとき
|
|
155
|
+
type: 'func',
|
|
156
|
+
josi: [['で'], ['を', 'の']],
|
|
157
|
+
pure: false,
|
|
158
|
+
fn: function (func, dom, sys) {
|
|
159
|
+
sys.__addEvent(dom, 'touchend', func, sys.__touchHandler)
|
|
160
|
+
},
|
|
161
|
+
return_none: true
|
|
162
|
+
},
|
|
163
|
+
'タッチキャンセル時': { // @無名関数FでDOMに対してタッチイベントをキャンセルした時の動作を設定。// @たっちきゃんせるしたとき
|
|
164
|
+
type: 'func',
|
|
165
|
+
josi: [['で'], ['を', 'の']],
|
|
166
|
+
pure: false,
|
|
167
|
+
fn: function (func, dom, sys) {
|
|
168
|
+
sys.__addEvent(dom, 'touchcancel', func, sys.__touchHandler)
|
|
169
|
+
},
|
|
170
|
+
return_none: true
|
|
171
|
+
},
|
|
172
|
+
'画面更新時実行': { // @画面描画タイミングで関数F(文字列指定も可)を実行する。識別IDを返す。// @がめんこうしんじじっこう
|
|
173
|
+
type: 'func',
|
|
174
|
+
josi: [['を']],
|
|
175
|
+
pure: false,
|
|
176
|
+
fn: function (func, sys) {
|
|
177
|
+
func = sys.__findVar(func, null) // 文字列指定なら関数に変換
|
|
178
|
+
if (!func) { throw new Error('『画面更新時実行』で関数の取得に失敗しました。') }
|
|
179
|
+
sys.__requestAnimationFrameLastId = window.requestAnimationFrame(func)
|
|
180
|
+
return sys.__requestAnimationFrameLastId
|
|
181
|
+
}
|
|
182
|
+
},
|
|
183
|
+
'画面更新処理取消': { // @識別IDを指定して『画面更新時実行』を取り消す// @がめんこうしんしょりとりけし
|
|
184
|
+
type: 'func',
|
|
185
|
+
josi: [['の', 'を']],
|
|
186
|
+
pure: false,
|
|
187
|
+
fn: function (id, sys) {
|
|
188
|
+
window.cancelAnimationFrame(id)
|
|
189
|
+
if (sys.__requestAnimationFrameLastId === id) { sys.__requestAnimationFrameLastId = 0 }
|
|
190
|
+
},
|
|
191
|
+
return_none: true
|
|
192
|
+
}
|
|
193
|
+
}
|
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
// @ts-nocheck
|
|
2
|
+
module.exports = {
|
|
3
|
+
// @DOM部品操作
|
|
4
|
+
'DOM親要素': { type: 'const', value: '' }, // @DOMおやようそ
|
|
5
|
+
'DOM生成個数': { type: 'const', value: 0 }, // @DOMせいせいこすう
|
|
6
|
+
'DOM親要素設定': { // @「ボタン作成」「エディタ作成」などのDOM要素を追加する対象を指定(デフォルトはdocument)して親要素のDOMオブジェクトを返す // @DOMおやようそせってい
|
|
7
|
+
type: 'func',
|
|
8
|
+
josi: [['に', 'へ']],
|
|
9
|
+
pure: false,
|
|
10
|
+
fn: function (el, sys) {
|
|
11
|
+
if (typeof el === 'string') { el = document.querySelector(el) || document.getElementById(el) }
|
|
12
|
+
sys.__v0['DOM親要素'] = el
|
|
13
|
+
return el
|
|
14
|
+
}
|
|
15
|
+
},
|
|
16
|
+
'DOMスキン': { type: 'const', value: '' }, // @DOMすきん
|
|
17
|
+
'DOMスキン辞書': { type: 'const', value: {} }, // @DOMすきんじしょ
|
|
18
|
+
'ボタン作成': { // @ラベルlabelを持つbutton要素を追加しDOMオブジェクトを返す // @ぼたんさくせい
|
|
19
|
+
type: 'func',
|
|
20
|
+
josi: [['の']],
|
|
21
|
+
pure: false,
|
|
22
|
+
fn: function (label, sys) {
|
|
23
|
+
const parent = sys.__v0['DOM親要素']
|
|
24
|
+
const btn = document.createElement('button')
|
|
25
|
+
btn.innerHTML = label
|
|
26
|
+
btn.id = 'nadesi-dom-' + sys.__v0['DOM生成個数']
|
|
27
|
+
// スキン適用
|
|
28
|
+
const func = sys.__v0['DOMスキン辞書'][sys.__v0['DOMスキン']]
|
|
29
|
+
if (typeof (func) === 'function') { func('ボタン作成', btn, sys) }
|
|
30
|
+
// DOM追加
|
|
31
|
+
parent.appendChild(btn)
|
|
32
|
+
sys.__v0['DOM生成個数']++
|
|
33
|
+
return btn
|
|
34
|
+
}
|
|
35
|
+
},
|
|
36
|
+
'エディタ作成': { // @textの値を持つテキストボックス(input[type='text'])の要素を追加しDOMオブジェクトを返す // @えでぃたさくせい
|
|
37
|
+
type: 'func',
|
|
38
|
+
josi: [['の']],
|
|
39
|
+
pure: false,
|
|
40
|
+
fn: function (text, sys) {
|
|
41
|
+
const parent = sys.__v0['DOM親要素']
|
|
42
|
+
const inp = document.createElement('input')
|
|
43
|
+
inp.type = 'text'
|
|
44
|
+
inp.value = text
|
|
45
|
+
inp.id = 'nadesi-dom-' + sys.__v0['DOM生成個数']
|
|
46
|
+
// スキン適用
|
|
47
|
+
const func = sys.__v0['DOMスキン辞書'][sys.__v0['DOMスキン']]
|
|
48
|
+
if (typeof (func) === 'function') { func('エディタ作成', inp, sys) }
|
|
49
|
+
// DOM追加
|
|
50
|
+
parent.appendChild(inp)
|
|
51
|
+
sys.__v0['DOM生成個数']++
|
|
52
|
+
return inp
|
|
53
|
+
}
|
|
54
|
+
},
|
|
55
|
+
'テキストエリア作成': { // @textの値を持つtextarea要素を追加しDOMオブジェクトを返す // @てきすとえりあさくせい
|
|
56
|
+
type: 'func',
|
|
57
|
+
josi: [['の']],
|
|
58
|
+
pure: false,
|
|
59
|
+
fn: function (text, sys) {
|
|
60
|
+
const parent = sys.__v0['DOM親要素']
|
|
61
|
+
const te = document.createElement('textarea')
|
|
62
|
+
te.value = text
|
|
63
|
+
te.id = 'nadesi-dom-' + sys.__v0['DOM生成個数']
|
|
64
|
+
// スキン適用
|
|
65
|
+
const func = sys.__v0['DOMスキン辞書'][sys.__v0['DOMスキン']]
|
|
66
|
+
if (typeof (func) === 'function') { func('テキストエリア作成', te, sys) }
|
|
67
|
+
// DOM追加
|
|
68
|
+
parent.appendChild(te)
|
|
69
|
+
sys.__v0['DOM生成個数']++
|
|
70
|
+
return te
|
|
71
|
+
}
|
|
72
|
+
},
|
|
73
|
+
'ラベル作成': { // @textの値を持つラベル(span要素)を追加しDOMオブジェクトを返す // @らべるさくせい
|
|
74
|
+
type: 'func',
|
|
75
|
+
josi: [['の']],
|
|
76
|
+
pure: false,
|
|
77
|
+
fn: function (text, sys) {
|
|
78
|
+
const parent = sys.__v0['DOM親要素']
|
|
79
|
+
const te = document.createElement('span')
|
|
80
|
+
te.innerHTML = text
|
|
81
|
+
te.id = 'nadesi-dom-' + sys.__v0['DOM生成個数']
|
|
82
|
+
// スキン適用
|
|
83
|
+
const func = sys.__v0['DOMスキン辞書'][sys.__v0['DOMスキン']]
|
|
84
|
+
if (typeof (func) === 'function') { func('ラベル作成', te, sys) }
|
|
85
|
+
// DOM追加
|
|
86
|
+
parent.appendChild(te)
|
|
87
|
+
sys.__v0['DOM生成個数']++
|
|
88
|
+
return te
|
|
89
|
+
}
|
|
90
|
+
},
|
|
91
|
+
'改行作成': { // @改行(br要素)を追加しDOMオブジェクトを返す // @かいぎょうさくせい
|
|
92
|
+
type: 'func',
|
|
93
|
+
josi: [],
|
|
94
|
+
pure: false,
|
|
95
|
+
fn: function (sys) {
|
|
96
|
+
const parent = sys.__v0['DOM親要素']
|
|
97
|
+
const te = document.createElement('br')
|
|
98
|
+
te.id = 'nadesi-dom-' + sys.__v0['DOM生成個数']
|
|
99
|
+
// スキン適用
|
|
100
|
+
const func = sys.__v0['DOMスキン辞書'][sys.__v0['DOMスキン']]
|
|
101
|
+
if (typeof (func) === 'function') { func('改行作成', te, sys) }
|
|
102
|
+
// DOM追加
|
|
103
|
+
parent.appendChild(te)
|
|
104
|
+
sys.__v0['DOM生成個数']++
|
|
105
|
+
return te
|
|
106
|
+
}
|
|
107
|
+
},
|
|
108
|
+
'チェックボックス作成': { // @textのラベルを持つチェックボックス(input[type='checkbox'])要素を追加しDOMオブジェクトを返す // @ちぇっくぼっくすさくせい
|
|
109
|
+
type: 'func',
|
|
110
|
+
josi: [['の']],
|
|
111
|
+
pure: false,
|
|
112
|
+
fn: function (text, sys) {
|
|
113
|
+
const parent = sys.__v0['DOM親要素']
|
|
114
|
+
const span = document.createElement('span')
|
|
115
|
+
const inp = document.createElement('input')
|
|
116
|
+
inp.type = 'checkbox'
|
|
117
|
+
inp.id = 'nadesi-dom-' + sys.__v0['DOM生成個数']
|
|
118
|
+
const label = document.createElement('label')
|
|
119
|
+
label.innerHTML = text
|
|
120
|
+
label.htmlFor = inp.id
|
|
121
|
+
span.appendChild(inp)
|
|
122
|
+
span.appendChild(label)
|
|
123
|
+
// スキン適用
|
|
124
|
+
const func = sys.__v0['DOMスキン辞書'][sys.__v0['DOMスキン']]
|
|
125
|
+
if (typeof (func) === 'function') { func('チェックボックス作成', span, sys) }
|
|
126
|
+
// DOM追加
|
|
127
|
+
parent.appendChild(span)
|
|
128
|
+
sys.__v0['DOM生成個数']++
|
|
129
|
+
return inp
|
|
130
|
+
}
|
|
131
|
+
},
|
|
132
|
+
'セレクトボックス作成': { // @配列optionsの選択肢を持つselect要素を追加しDOMオブジェクトを返す // @せれくとぼっくすさくせい
|
|
133
|
+
type: 'func',
|
|
134
|
+
josi: [['の']],
|
|
135
|
+
pure: false,
|
|
136
|
+
fn: function (options, sys) {
|
|
137
|
+
const parent = sys.__v0['DOM親要素']
|
|
138
|
+
const dom = document.createElement('select')
|
|
139
|
+
dom.id = 'nadesi-dom-' + (sys.__v0['DOM生成個数']++)
|
|
140
|
+
for (let i = 0; i < options.length; i++) {
|
|
141
|
+
const item = document.createElement('option')
|
|
142
|
+
item.value = options[i]
|
|
143
|
+
item.appendChild(document.createTextNode(options[i]))
|
|
144
|
+
dom.appendChild(item)
|
|
145
|
+
}
|
|
146
|
+
// スキン適用
|
|
147
|
+
const func = sys.__v0['DOMスキン辞書'][sys.__v0['DOMスキン']]
|
|
148
|
+
if (typeof (func) === 'function') { func('セレクトボックス作成', dom, sys) }
|
|
149
|
+
// DOM追加
|
|
150
|
+
parent.appendChild(dom)
|
|
151
|
+
return dom
|
|
152
|
+
}
|
|
153
|
+
},
|
|
154
|
+
'DOMスキン設定': { // @「ボタン作成」「エディタ作成」などで適用するスキンを指定する(#1033) // @DOMすきんせってい
|
|
155
|
+
type: 'func',
|
|
156
|
+
josi: [['を', 'に', 'の']],
|
|
157
|
+
pure: false,
|
|
158
|
+
fn: function (skin, sys) {
|
|
159
|
+
sys.__v0['DOMスキン'] = skin
|
|
160
|
+
},
|
|
161
|
+
return_none: true
|
|
162
|
+
}
|
|
163
|
+
}
|