nadesiko3
Version:
Japanese Programming Language
262 lines (261 loc) • 13.5 kB
text/typescript
import { NakoCallback, NakoCallbackEvent } from '../core/src/plugin_api.mjs'
import { NakoBrowsesrSystem, NakoDom } from './plugin_browser_api.mjs'
export default {
// @DOM操作とイベント
'対象イベント': { type: 'const', value: '' }, // @たいしょういべんと
'DOMイベント追加': { // @DOMのEVENTになでしこ関数名funcStrのイベントを追加// @DOMいべんとついか
type: 'func',
josi: [['の'], ['に', 'へ'], ['を']],
pure: true,
fn: function (dom: NakoDom, event: string, funcStr: string, sys: NakoBrowsesrSystem) {
sys.__addEvent(dom, event, funcStr, null)
},
return_none: true
},
'DOMイベント削除': { // @DOMのEVENTからなでしこ関数名funcStrのイベントを削除// @DOMいべんとさくじょ
type: 'func',
josi: [['の'], ['から'], ['を']],
pure: true,
fn: function (dom: NakoDom, event: string, funcStr: NakoCallback, sys: NakoBrowsesrSystem) {
sys.__removeEvent(dom, event, funcStr)
},
return_none: true
},
'DOMイベント発火時': { // @DOMのEVENTが発火した時にCALLBACKを実行するように設定 // @DOMいべんとはっかしたとき
type: 'func',
josi: [['で'], ['の'], ['が']],
pure: true,
fn: function (callback: NakoCallback, dom: NakoDom, event: string, sys: NakoBrowsesrSystem) {
sys.__addEvent(dom, event, callback, null)
},
return_none: true
},
'DOMイベント処理停止': { // @キーイベントやマウスイベントで、元々ブラウザが行う処理を中止する // @DOMいべんとしょりていし
type: 'func',
josi: [['を', 'の']],
pure: true,
// eslint-disable-next-line @typescript-eslint/no-unused-vars
fn: function (event: unknown, sys: NakoBrowsesrSystem) {
if (event !== null && typeof event == 'object' && 'preventDefault' in event) {
const objWithFn = event as { preventDefault: () => void }
if (typeof objWithFn.preventDefault === 'function') {
objWithFn.preventDefault()
}
}
},
return_none: true
},
'クリック時': { // @無名関数FでDOMをクリックした時に実行するイベントを設定 // @くりっくしたとき
type: 'func',
josi: [['で'], ['を', 'の']],
pure: true,
fn: function (func: NakoCallback, dom: NakoDom, sys: NakoBrowsesrSystem) {
sys.__addEvent(dom, 'click', func, sys.__mouseHandler as NakoCallbackEvent)
},
return_none: true
},
'ダブルクリック時': { // @無名関数FでDOMをダブルクリックした時に実行するイベントを設定 // @だぶるくりっくしたとき
type: 'func',
josi: [['で'], ['を', 'の']],
pure: true,
fn: function (func: NakoCallback, dom: NakoDom, sys: NakoBrowsesrSystem) {
sys.__addEvent(dom, 'dblclick', func, sys.__mouseHandler as NakoCallbackEvent)
},
return_none: true
},
'右クリック時': { // @無名関数FでDOMを右クリックした時に実行するイベント(contextmenu)を設定 // @みぎくりっくしたとき
type: 'func',
josi: [['で'], ['を', 'の']],
pure: true,
fn: function (func: NakoCallback, dom: NakoDom, sys: NakoBrowsesrSystem) {
sys.__addEvent(dom, 'contextmenu', func, sys.__mouseHandler as NakoCallbackEvent)
},
return_none: true
},
'変更時': { // @無名関数FでDOMを変更した時に実行するイベントを設定 // @へんこうしたとき
type: 'func',
josi: [['で'], ['を', 'の']],
pure: true,
fn: function (func: NakoCallback, dom: NakoDom, sys: NakoBrowsesrSystem) {
sys.__addEvent(dom, 'change', func, null)
},
return_none: true
},
'読込時': { // @無名関数FでDOMを読み込んだ時に実行するイベントを設定 // @よみこんだとき
type: 'func',
josi: [['で'], ['を', 'の']],
pure: true,
fn: function (func: NakoCallback, dom: NakoDom, sys: NakoBrowsesrSystem) {
sys.__addEvent(dom, 'load', func, null)
},
return_none: true
},
'フォーム送信時': { // @無名関数Fでフォームを送信した時に実行するイベントを設定 // @ふぉーむそうしんしたとき
type: 'func',
josi: [['で'], ['を', 'の']],
pure: true,
fn: function (func: NakoCallback, dom: NakoDom, sys: NakoBrowsesrSystem) {
sys.__addEvent(dom, 'submit', func, null)
},
return_none: true
},
'押キー': { type: 'const', value: '' }, // @おされたきー
'キー押時': { // @無名関数FでDOMに対してキーを押した時に実行するイベントを設定。『押されたキー』が設定される。 // @きーおしたとき
type: 'func',
josi: [['で'], ['を', 'の']],
pure: true,
fn: function (func: NakoCallback, dom: NakoDom, sys: NakoBrowsesrSystem) {
sys.__addEvent(dom, 'keydown', func, sys.__keyHandler as NakoCallbackEvent)
},
return_none: true
},
'キー離時': { // @無名関数FでDOMに対してキーを離した時に実行するイベントを設定。『押されたキー』が設定される。 // @きーはなしたとき
type: 'func',
josi: [['で'], ['を', 'の']],
pure: true,
fn: function (func: NakoCallback, dom: NakoDom, sys: NakoBrowsesrSystem) {
sys.__addEvent(dom, 'keyup', func, sys.__keyHandler as NakoCallbackEvent)
},
return_none: true
},
'キータイピング時': { // @無名関数FでDOMに対してキーをプレスした時に実行するイベントを設定。『押されたキー』が設定される。 // @きーたいぴんぐしたとき
type: 'func',
josi: [['で'], ['を', 'の']],
pure: true,
fn: function (func: NakoCallback, dom: NakoDom, sys: NakoBrowsesrSystem) {
sys.__addEvent(dom, 'keypress', func, sys.__keyHandler as NakoCallbackEvent)
},
return_none: true
},
'マウスX': { type: 'const', value: 0 }, // @まうすX
'マウスY': { type: 'const', value: 0 }, // @まうすY
'押ボタン': { type: 'const', value: 0 }, // @おされたぼたん
'マウス押時': { // @無名関数FでDOMに対してマウスボタンを押した時に実行するイベントを設定。『マウスX』『マウスY』に座標が、『押したボタン』に押したボタン(左,中央,右)が設定される。『対象』にイベントDOM。『対象イベント』にイベント引数。 // @まうすおしたとき
type: 'func',
josi: [['で'], ['を', 'の']],
pure: true,
fn: function (func: NakoCallback, dom: NakoDom, sys: NakoBrowsesrSystem) {
sys.__addEvent(dom, 'mousedown', func, sys.__mouseHandler as NakoCallbackEvent)
},
return_none: true
},
'マウス移動時': { // @無名関数FでDOMに対してマウスカーソルが移動した時に実行するイベントを設定。『マウスX』『マウスY』に座標が設定される。『対象』にイベントDOM。『対象イベント』にイベント引数。 // @まうすいどうしたとき
type: 'func',
josi: [['で'], ['を', 'の', 'へ', 'に']],
pure: true,
fn: function (func: NakoCallback, dom: NakoDom, sys: NakoBrowsesrSystem) {
sys.__addEvent(dom, 'mousemove', func, sys.__mouseHandler as NakoCallbackEvent)
},
return_none: true
},
'マウス離時': { // @無名関数FでDOMに対してマウスボタンを離した時に実行するイベントを設定。『マウスX』『マウスY』に座標が、『押したボタン』に押したボタン(左,中央,右)が設定される。『対象』にイベントDOM。『対象イベント』にイベント引数。 // @まうすはなしたとき
type: 'func',
josi: [['で'], ['を', 'の', 'から']],
pure: true,
fn: function (func: NakoCallback, dom: NakoDom, sys: NakoBrowsesrSystem) {
sys.__addEvent(dom, 'mouseup', func, sys.__mouseHandler as NakoCallbackEvent)
},
return_none: true
},
'マウス入時': { // @無名関数FでDOMに対してマウスカーソルが入った時のイベントを設定。『マウスX』『マウスY』に座標が設定される。『対象』にイベントDOM。『対象イベント』にイベント引数。 // @まうすはいったとき
type: 'func',
josi: [['で'], ['を', 'の', 'に', 'へ']],
pure: true,
fn: function (func: NakoCallback, dom: NakoDom, sys: NakoBrowsesrSystem) {
sys.__addEvent(dom, 'mouseover', func, sys.__mouseHandler as NakoCallbackEvent)
},
return_none: true
},
'マウス出時': { // @無名関数FでDOMに対してマウスカーソルが出た時のイベントを設定。『マウスX』『マウスY』に座標が設定される。『対象』にイベントDOM。『対象イベント』にイベント引数。 // @まうすでたとき
type: 'func',
josi: [['で'], ['を', 'の', 'から']],
pure: true,
fn: function (func: NakoCallback, dom: NakoDom, sys: NakoBrowsesrSystem) {
sys.__addEvent(dom, 'mouseout', func, sys.__mouseHandler as NakoCallbackEvent)
},
return_none: true
},
'マウスホイール値': { type: 'const', value: 0 }, // @まうすほいーるち
'マウスホイール時': { // @無名関数FでDOMに対してマウスホイールを回した時のイベントを設定。『マウスホイール値』に値が設定される。『対象』にイベントDOM。『対象イベント』にイベント引数。 // @まうすほいーるしたとき
type: 'func',
josi: [['で'], ['を', 'の']],
pure: true,
fn: function (func: NakoCallback, dom: NakoDom, sys: NakoBrowsesrSystem) {
sys.__addEvent(dom, 'wheel', func, ((e: object) => {
const objWithDeltaY = e as { deltaY: number }
if (typeof objWithDeltaY.deltaY === 'number') {
sys.__setSysVar('マウスホイール値', objWithDeltaY.deltaY)
}
}) as NakoCallbackEvent)
},
return_none: true
},
'タッチX': { type: 'const', value: 0 }, // @たっちX
'タッチY': { type: 'const', value: 0 }, // @たっちY
'タッチ配列': { type: 'const', value: [] }, // @たっちはいれつ
'タッチイベント計算': { // @タッチイベントで座標計算を行う。『タッチX』『タッチY』『タッチ配列』『対象』『対象イベント』が設定される。『タッチ配列』の内容が返る // @たっちいべんとけいさん
type: 'func',
josi: [['の']],
pure: true,
fn: function (e: TouchEvent, sys: NakoBrowsesrSystem) {
return sys.__touchHandler(e, sys)
}
},
'タッチ開始時': { // @無名関数FでDOMに対してタッチを開始した時に実行するイベントを設定。// @たっちかいししたとき
type: 'func',
josi: [['で'], ['を', 'の']],
pure: true,
fn: function (func: NakoCallback, dom: NakoDom, sys: NakoBrowsesrSystem) {
sys.__addEvent(dom, 'touchstart', func, sys.__touchHandler as NakoCallbackEvent)
},
return_none: true
},
'タッチ時': { // @無名関数FでDOMに対してタッチして指を動かした時に実行するイベントを設定。// @たっちしたとき
type: 'func',
josi: [['で'], ['を', 'の']],
pure: true,
fn: function (func: NakoCallback, dom: NakoDom, sys: NakoBrowsesrSystem) {
sys.__addEvent(dom, 'touchmove', func, sys.__touchHandler as NakoCallbackEvent)
},
return_none: true
},
'タッチ終了時': { // @無名関数FでDOMに対してタッチして指を離した時のイベントを設定。// @たっちしゅうりょうしたとき
type: 'func',
josi: [['で'], ['を', 'の']],
pure: true,
fn: function (func: NakoCallback, dom: NakoDom, sys: NakoBrowsesrSystem) {
sys.__addEvent(dom, 'touchend', func, sys.__touchHandler as NakoCallbackEvent)
},
return_none: true
},
'タッチキャンセル時': { // @無名関数FでDOMに対してタッチイベントをキャンセルした時の動作を設定。// @たっちきゃんせるしたとき
type: 'func',
josi: [['で'], ['を', 'の']],
pure: true,
fn: function (func: NakoCallback, dom: NakoDom, sys: NakoBrowsesrSystem) {
sys.__addEvent(dom, 'touchcancel', func, sys.__touchHandler as NakoCallbackEvent)
},
return_none: true
},
'画面更新時実行': { // @画面描画タイミングで関数F(文字列指定も可)を実行する。識別IDを返す。// @がめんこうしんじじっこう
type: 'func',
josi: [['を']],
pure: true,
fn: function (func: unknown, sys: NakoBrowsesrSystem) {
func = sys.__findVar(func as NakoCallback, null) // 文字列指定なら関数に変換
if (!func) { throw new Error('『画面更新時実行』で関数の取得に失敗しました。') }
sys.__requestAnimationFrameLastId = window.requestAnimationFrame(func as unknown as FrameRequestCallback)
return sys.__requestAnimationFrameLastId
}
},
'画面更新処理取消': { // @識別IDを指定して『画面更新時実行』を取り消す// @がめんこうしんしょりとりけし
type: 'func',
josi: [['の', 'を']],
pure: true,
fn: function (id: number, sys: NakoBrowsesrSystem) {
window.cancelAnimationFrame(id)
if (sys.__requestAnimationFrameLastId === id) { sys.__requestAnimationFrameLastId = 0 }
},
return_none: true
}
}