From 39f9b095abe84f2c86355542d127b0371639319b Mon Sep 17 00:00:00 2001 From: puutaro Date: Sat, 27 Jul 2024 22:52:15 +0900 Subject: [PATCH] change signatture and update md --- .../js_interface/JsBroadcast.kt | 43 ++++++- .../js_interface/JsCmdIntent.kt | 13 +- .../terminal_fragment/js_interface/JsCurl.kt | 8 +- .../js_interface/JsDirect.kt | 3 + .../terminal_fragment/js_interface/JsHtml.kt | 5 +- .../js_interface/JsIntent.kt | 45 ++----- .../terminal_fragment/js_interface/JsLinux.kt | 22 +++- .../js_interface/JsNetTool.kt | 3 + .../terminal_fragment/js_interface/JsStop.kt | 17 --- .../js_interface/JsUbuntu.kt | 81 +++++++----- .../terminal_fragment/js_interface/JsUrl.kt | 32 +++++ .../terminal_fragment/js_interface/JsUtil.kt | 10 +- .../terminal_fragment/js_interface/JsVar.kt | 6 + .../js_interface/dialog/JsDialog.kt | 19 ++- .../js_interface/edit/JsEdit.kt | 24 ---- .../js_interface/edit/JsEditor.kt | 9 ++ .../js_interface/edit/JsListSelect.kt | 31 +++++ .../js_interface/edit/JsScript.kt | 21 +-- .../js_interface/edit/JsValEdit.kt | 9 +- .../js_interface/file/JsF.kt | 28 ---- .../js_interface/lib/dialog/QrScanJsDialog.kt | 20 +-- .../proccess/JsInterfaceAdder.kt | 10 -- .../edit/lib/ListContentsSelectBoxTool.kt | 3 + .../details/JsIntent/launchShortcut.md | 12 +- .../details/dialog/JsDialog/listDialog.md | 37 ------ .../dialog/JsDialog/multiListDialog.md | 14 +- .../dialog/JsDialog/multiSelectGridDialog.md | 6 +- .../multiSelectOnlyImageGridDialog.md | 2 +- .../multiSelectSpannableGridDialog.md | 10 +- .../dialog/JsDialog/onlyImageGridDialog.md | 2 +- .../JsDialog/onlySpannableGridDialog.md | 2 +- .../details/dialog/JsDialog/qrScan_S.md | 121 ++++++++++++++++++ .../{webViewDialog.md => webView_S.md} | 0 .../JsFileSelect/execEditTargetFileName.md | 20 +-- .../js_interface/functions/JsStop/how.md | 30 ----- md/developer/state/fannelStateRootTableTsv.md | 4 +- 36 files changed, 424 insertions(+), 298 deletions(-) delete mode 100755 app/src/main/java/com/puutaro/commandclick/fragment_lib/terminal_fragment/js_interface/JsStop.kt delete mode 100644 app/src/main/java/com/puutaro/commandclick/fragment_lib/terminal_fragment/js_interface/file/JsF.kt delete mode 100755 md/developer/js_interface/details/dialog/JsDialog/listDialog.md create mode 100644 md/developer/js_interface/details/dialog/JsDialog/qrScan_S.md rename md/developer/js_interface/details/dialog/JsDialog/{webViewDialog.md => webView_S.md} (100%) delete mode 100644 md/developer/js_interface/functions/JsStop/how.md diff --git a/app/src/main/java/com/puutaro/commandclick/fragment_lib/terminal_fragment/js_interface/JsBroadcast.kt b/app/src/main/java/com/puutaro/commandclick/fragment_lib/terminal_fragment/js_interface/JsBroadcast.kt index 344e098e9..8229397ab 100755 --- a/app/src/main/java/com/puutaro/commandclick/fragment_lib/terminal_fragment/js_interface/JsBroadcast.kt +++ b/app/src/main/java/com/puutaro/commandclick/fragment_lib/terminal_fragment/js_interface/JsBroadcast.kt @@ -16,7 +16,46 @@ class JsBroadcast( action: String, broadCastMapStr: String ){ - val kyeSepalator = '|' + /* + Send broad cast + + ### action arg + + Broad cast action + + -> [Action Detail](https://github.com/puutaro/CommandClick/blob/master/app/src/main/java/com/puutaro/commandclick/common/variable/broadcast/scheme) + + ### broadcastMapStr arg + Broad cast extra key-value map contents by separated by `keySeparator` + + -> [Extra Detail](https://github.com/puutaro/CommandClick/blob/master/app/src/main/java/com/puutaro/commandclick/common/variable/broadcast/extra) + + ### Example js version + + ```js.js + jsBroadcast.send( + "com.puutaro.commandclick.music_player.play", + `playMode=shuffle|onLoop=on|onTrack=on + `, + ) + ``` + + ### Example js action version + + ```js.js + var=runMusicPlay + ?func=jsBroadcast.send + ?args= + &action="com.puutaro.commandclick.music_player.play" + &broadCastMapStr=` + |playMode=shuffle + |onLoop=on + |onTrack=on + ` + ``` + */ + + val keySeparator = '|' val broadcastMap = mapOf( BroadCastSenderSchemaForCommon.action.name to action, BroadCastSenderSchemaForCommon.extras.name to broadCastMapStr @@ -24,7 +63,7 @@ class JsBroadcast( BroadcastSender.send( context, broadcastMap, - kyeSepalator + keySeparator ) } } \ No newline at end of file diff --git a/app/src/main/java/com/puutaro/commandclick/fragment_lib/terminal_fragment/js_interface/JsCmdIntent.kt b/app/src/main/java/com/puutaro/commandclick/fragment_lib/terminal_fragment/js_interface/JsCmdIntent.kt index 39301f55d..96f5edc65 100755 --- a/app/src/main/java/com/puutaro/commandclick/fragment_lib/terminal_fragment/js_interface/JsCmdIntent.kt +++ b/app/src/main/java/com/puutaro/commandclick/fragment_lib/terminal_fragment/js_interface/JsCmdIntent.kt @@ -8,7 +8,7 @@ import com.puutaro.commandclick.util.Intent.ExecBashScriptIntent import com.puutaro.commandclick.view_model.activity.TerminalViewModel class JsCmdIntent( - private val terminalFragment: TerminalFragment + terminalFragment: TerminalFragment ) { private val context = terminalFragment.context private val terminalViewModel: TerminalViewModel by terminalFragment.activityViewModels() @@ -18,6 +18,17 @@ class JsCmdIntent( fun run_S( execCmdSource: String ){ + /* + Run command by termux + + ### Example + JsCmdIntent.run_S( + "bash \"$[bash script path}\" + ) + + - Enable `> /dev/null` or `> /dev/null 2>&1` + + */ val outputPath = "${UsePath.cmdclickMonitorDirPath}/${terminalViewModel.currentMonitorFileName}" val execCmd = if( execCmdSource.endsWith("> /dev/null") diff --git a/app/src/main/java/com/puutaro/commandclick/fragment_lib/terminal_fragment/js_interface/JsCurl.kt b/app/src/main/java/com/puutaro/commandclick/fragment_lib/terminal_fragment/js_interface/JsCurl.kt index 01ccd1b87..9ca3d2483 100755 --- a/app/src/main/java/com/puutaro/commandclick/fragment_lib/terminal_fragment/js_interface/JsCurl.kt +++ b/app/src/main/java/com/puutaro/commandclick/fragment_lib/terminal_fragment/js_interface/JsCurl.kt @@ -40,7 +40,7 @@ class JsCurl( @JavascriptInterface fun getAndSave ( - path: String, + savePath: String, mainUrl: String, queryParameter: String, header: String, @@ -57,7 +57,7 @@ class JsCurl( !CurlManager.isConnOk(it) ) return@let FileSystems.writeFromByteArray( - path, + savePath, it ) } @@ -167,7 +167,9 @@ class JsCurl( } @JavascriptInterface - fun isConnOk(res: String): Boolean { + fun isConnOk( + res: String + ): Boolean { return CurlManager.isConnOk(res.toByteArray()) } } \ No newline at end of file diff --git a/app/src/main/java/com/puutaro/commandclick/fragment_lib/terminal_fragment/js_interface/JsDirect.kt b/app/src/main/java/com/puutaro/commandclick/fragment_lib/terminal_fragment/js_interface/JsDirect.kt index 74cef4fdf..833368129 100755 --- a/app/src/main/java/com/puutaro/commandclick/fragment_lib/terminal_fragment/js_interface/JsDirect.kt +++ b/app/src/main/java/com/puutaro/commandclick/fragment_lib/terminal_fragment/js_interface/JsDirect.kt @@ -45,6 +45,9 @@ class JsDirect ( mainUrl: String, fullPathOrFannelRawName: String, ){ + /* + Get fannel from other smart phone by p2p + */ val intent = Intent( context, fileDownloadService diff --git a/app/src/main/java/com/puutaro/commandclick/fragment_lib/terminal_fragment/js_interface/JsHtml.kt b/app/src/main/java/com/puutaro/commandclick/fragment_lib/terminal_fragment/js_interface/JsHtml.kt index b87212fea..ce437cdac 100755 --- a/app/src/main/java/com/puutaro/commandclick/fragment_lib/terminal_fragment/js_interface/JsHtml.kt +++ b/app/src/main/java/com/puutaro/commandclick/fragment_lib/terminal_fragment/js_interface/JsHtml.kt @@ -9,10 +9,13 @@ class JsHtml( val context = terminalFragment.context @JavascriptInterface - fun txtHtml( + fun txt2Html( contents: String, isScrollBottom: Boolean, ): String { + /* + Convert text to html + */ return """ diff --git a/app/src/main/java/com/puutaro/commandclick/fragment_lib/terminal_fragment/js_interface/JsIntent.kt b/app/src/main/java/com/puutaro/commandclick/fragment_lib/terminal_fragment/js_interface/JsIntent.kt index 90d7203ed..aa295d8bc 100755 --- a/app/src/main/java/com/puutaro/commandclick/fragment_lib/terminal_fragment/js_interface/JsIntent.kt +++ b/app/src/main/java/com/puutaro/commandclick/fragment_lib/terminal_fragment/js_interface/JsIntent.kt @@ -34,41 +34,6 @@ class JsIntent( ) } -// @JavascriptInterface -// fun launchFzSite( -// editPath: String, -// promptMessage: String, -// itemClickJs: String, -// itemLongClickJs: String, -// realTimeListSetJs: String -// ) { -// val jsIntent = Intent() -// jsIntent.action = BroadCastIntentSchemeTerm.FZHTML_LAUNCH.action -// jsIntent.putExtra( -// BroadCastIntentSchemeTerm.FZHTML_LAUNCH.scheme, -// editPath -// ) -// jsIntent.putExtra( -// BroadCastIntentExtraForFzHtml.TEMPLATE_PROMPT_MESSAGE.scheme, -// promptMessage -// ) -// jsIntent.putExtra( -// BroadCastIntentExtraForFzHtml.ITEM_CLICK_JAVASCRIPT.scheme, -// itemClickJs -// ) -// jsIntent.putExtra( -// BroadCastIntentExtraForFzHtml.ITEM_LONG_CLICK_JAVASCRIPT.scheme, -// itemLongClickJs -// ) -// jsIntent.putExtra( -// BroadCastIntentExtraForFzHtml.REAL_TIME_LIST_SET_JAVASCRIPT.scheme, -// realTimeListSetJs -// ) -// terminalFragment.activity?.sendBroadcast(jsIntent) -// } - - - @JavascriptInterface fun launchUrl( currentPageUrl: String @@ -103,7 +68,8 @@ class JsIntent( @JavascriptInterface fun launchShortcut( currentAppDirPath: String, - currentScriptFileName: String + currentScriptFileName: String, + currentFannelState: String, ){ val execIntent = Intent(terminalFragment.activity, MainActivity::class.java) execIntent @@ -118,6 +84,10 @@ class JsIntent( FannelInfoSetting.current_fannel_name.name, currentScriptFileName ) + execIntent.putExtra( + FannelInfoSetting.current_fannel_state.name, + currentFannelState + ) terminalFragment.activity?.startActivity(execIntent) } @@ -125,6 +95,9 @@ class JsIntent( fun shareImage( imageFilePath: String, ){ + /* + Launch share image intent + */ val imageFilePathObj = File(imageFilePath) if( !imageFilePathObj.isFile diff --git a/app/src/main/java/com/puutaro/commandclick/fragment_lib/terminal_fragment/js_interface/JsLinux.kt b/app/src/main/java/com/puutaro/commandclick/fragment_lib/terminal_fragment/js_interface/JsLinux.kt index cf725bb22..f45a36e6a 100755 --- a/app/src/main/java/com/puutaro/commandclick/fragment_lib/terminal_fragment/js_interface/JsLinux.kt +++ b/app/src/main/java/com/puutaro/commandclick/fragment_lib/terminal_fragment/js_interface/JsLinux.kt @@ -16,7 +16,27 @@ class JsLinux( fun runCmd( cmdStr: String ): String { - ToastUtils.showShort(cmdStr) + /* + Run cmd by native android shell + + ### Example + + ```js.js + jsLinux.runCmd( + "ls" + ) + ``` + + ### Example js action version + + ```js.js + var=runCmd + ?func=jsLinux.runCmd + ?args= + cmdStr="ls" + ``` + + */ val cmdOutput = LinuxCmd.execCommand( context, listOf("sh", "-c", cmdStr).joinToString("\t") diff --git a/app/src/main/java/com/puutaro/commandclick/fragment_lib/terminal_fragment/js_interface/JsNetTool.kt b/app/src/main/java/com/puutaro/commandclick/fragment_lib/terminal_fragment/js_interface/JsNetTool.kt index d4c3444a8..429bea103 100755 --- a/app/src/main/java/com/puutaro/commandclick/fragment_lib/terminal_fragment/js_interface/JsNetTool.kt +++ b/app/src/main/java/com/puutaro/commandclick/fragment_lib/terminal_fragment/js_interface/JsNetTool.kt @@ -11,6 +11,9 @@ class JsNetTool( @JavascriptInterface fun getIpv4(): String { + /* + Get IPV4 ADDRESS + */ val ipV4Address = NetworkTool.getIpv4Address(context) return ipV4Address } diff --git a/app/src/main/java/com/puutaro/commandclick/fragment_lib/terminal_fragment/js_interface/JsStop.kt b/app/src/main/java/com/puutaro/commandclick/fragment_lib/terminal_fragment/js_interface/JsStop.kt deleted file mode 100755 index dd8039d41..000000000 --- a/app/src/main/java/com/puutaro/commandclick/fragment_lib/terminal_fragment/js_interface/JsStop.kt +++ /dev/null @@ -1,17 +0,0 @@ -package com.puutaro.commandclick.fragment_lib.terminal_fragment.js_interface - -import android.webkit.JavascriptInterface -import androidx.fragment.app.activityViewModels -import com.puutaro.commandclick.fragment.TerminalFragment -import com.puutaro.commandclick.view_model.activity.TerminalViewModel - -class JsStop( - private val terminalFragment: TerminalFragment -) { - - @JavascriptInterface - fun how(): String { - val terminalViewModel: TerminalViewModel by terminalFragment.activityViewModels() - return terminalViewModel.isStop.toString() - } -} \ No newline at end of file diff --git a/app/src/main/java/com/puutaro/commandclick/fragment_lib/terminal_fragment/js_interface/JsUbuntu.kt b/app/src/main/java/com/puutaro/commandclick/fragment_lib/terminal_fragment/js_interface/JsUbuntu.kt index 0e014d7d5..6ca27de1b 100755 --- a/app/src/main/java/com/puutaro/commandclick/fragment_lib/terminal_fragment/js_interface/JsUbuntu.kt +++ b/app/src/main/java/com/puutaro/commandclick/fragment_lib/terminal_fragment/js_interface/JsUbuntu.kt @@ -42,13 +42,14 @@ class JsUbuntu( null ) ) return String() - return Shell2Http.runScript( + val output = Shell2Http.runScript( context, executeShellPath, tabSepaArgs, 2000, null, ) + return output } @@ -79,32 +80,6 @@ class JsUbuntu( ) } - -// @JavascriptInterface -// fun execScriptBySsh( -// executeShellPath:String, -// tabSepaArgs: String, -// monitorNum: Int, -// ): String { -// if( -// context == null -// ) return String() -// if( -// !UbuntuFiles(context).ubuntuLaunchCompFile.isFile -// ) { -// ToastUtils.showShort("Launch ubuntu") -// return String() -// } -// val monitorFileName = UsePath.decideMonitorName(monitorNum) -// return SshManager.execScript( -// context, -// executeShellPath, -// tabSepaArgs, -// monitorFileName, -// true, -// ) -// } - @JavascriptInterface fun execScriptByBackground( backgroundShellPath: String, @@ -302,11 +277,53 @@ class JsUbuntu( installOneList: String, cautionTitleAndMessage: String, ): Boolean { + /* + Dialog prompting installation. + Mainly, used to install pkg to Ubuntu + + ### installStampFilePath arg + + Stamp file path indicating that user has installed + + ### expectStampCon + + Stamp file contents + + ### installConfirmTitleAndMessage + + Install confirm title and message separated by `|` + + ### installOneList + + Install button label + + ### cautionTitleAndMessage + + Caution Dialog title and msg separated by `|`, when user don't install + + + ## Example + + ```js.js + var=isInstall + ?func=jsUbuntu.isInstall + ?args= + installStampFilePath=`${cmdYoutuberInstallStampFilePath}` + &expectStampCon=`${INSTALL_STAMP_CON}` + &confirmTitleAndMsg="Press install button|" + &installOneList="install\tpuzzle" + &cautionTitleAndMsg="Caution!|Install by ⚙️ button" + ``` + */ + var isInstall = false val stampCon = ReadText(installStampFilePath).readText().trim() if( stampCon == expectStampCon - ) return true + ) { + isInstall = true + return isInstall + } val jsDialog = JsDialog(terminalFragment) val installTitleToMsg = makeTitleToMsg(installConfirmTitleAndMessage) val el = jsDialog.listDialog( @@ -316,7 +333,10 @@ class JsUbuntu( ) if( el.isNotEmpty() - ) return false + ) { + isInstall = false + return isInstall + } val cautionTitleToMsg = makeTitleToMsg(cautionTitleAndMessage) JsDialog(terminalFragment).listDialog( cautionTitleToMsg.first, @@ -324,7 +344,8 @@ class JsUbuntu( String() ) JsUrl(terminalFragment).exit_S() - return false + isInstall = false + return isInstall } private fun makeTitleToMsg( diff --git a/app/src/main/java/com/puutaro/commandclick/fragment_lib/terminal_fragment/js_interface/JsUrl.kt b/app/src/main/java/com/puutaro/commandclick/fragment_lib/terminal_fragment/js_interface/JsUrl.kt index 156d63f20..607853ccf 100755 --- a/app/src/main/java/com/puutaro/commandclick/fragment_lib/terminal_fragment/js_interface/JsUrl.kt +++ b/app/src/main/java/com/puutaro/commandclick/fragment_lib/terminal_fragment/js_interface/JsUrl.kt @@ -23,6 +23,9 @@ class JsUrl( fun makeJsUrl( jsPath: String ): String { + /* + Make load js contents from js path + */ val jsConList = ReadText(jsPath).textToList() val loadJsCon = JavaScriptLoadUrl.make( @@ -37,6 +40,9 @@ class JsUrl( fun makeJsRawCon( jsPath: String ): String { + /* + Make raw js contents before load + */ val fannelInfoMap = FannelInfoTool.getFannelInfoMap( terminalFragment, jsPath @@ -59,6 +65,13 @@ class JsUrl( jsPath: String, replaceMapCon: String, ) { + /* + Load js path + + ### replaceMapCon arg + + -> [replace variable](https://github.com/puutaro/CommandClick/blob/master/md/developer/set_replace_variables.md) + */ val replaceMap = CmdClickMap.createMap( replaceMapCon, '|' @@ -87,6 +100,9 @@ class JsUrl( fun loadQrUrl( loadConSrc: String ) { + /* + [Deprecated] Load QR code contents about js or url + */ QrUriHandler.load( terminalFragment, terminalFragment.currentAppDirPath, @@ -98,6 +114,9 @@ class JsUrl( fun loadScanCon( loadConSrc: String, ){ + /* + Load QR code contents about Url or javascript + */ val loadCon = loadConSrc.trim() when(true) { loadCon.startsWith(QrLaunchType.Http.prefix), @@ -116,6 +135,10 @@ class JsUrl( fun loadUrl( urlStr: String ) { + /* + Load Url + This is one of the most used js interface. + */ BroadCastIntent.sendUrlCon( terminalFragment, urlStr @@ -128,6 +151,9 @@ class JsUrl( pageFinishedLoadCon: String, beforeDelayMiliSec: String ){ + /* + Load js contents when page load finish + */ val urlBroadcastExtra = listOf( Pair( BroadCastIntentSchemeTerm.ULR_LAUNCH.scheme, @@ -151,6 +177,9 @@ class JsUrl( @JavascriptInterface fun exit_S(){ + /* + Exit javascript loading + */ terminalFragment.binding.terminalWebView.loadUrl( "about:blank" ) @@ -160,6 +189,9 @@ class JsUrl( fun loadFromJsCon( jsCon: String, ){ + /* + Load js contents + */ loadUrl( makeJsUrlFromCon(jsCon) ) diff --git a/app/src/main/java/com/puutaro/commandclick/fragment_lib/terminal_fragment/js_interface/JsUtil.kt b/app/src/main/java/com/puutaro/commandclick/fragment_lib/terminal_fragment/js_interface/JsUtil.kt index 426bd1126..a5e6ad177 100755 --- a/app/src/main/java/com/puutaro/commandclick/fragment_lib/terminal_fragment/js_interface/JsUtil.kt +++ b/app/src/main/java/com/puutaro/commandclick/fragment_lib/terminal_fragment/js_interface/JsUtil.kt @@ -14,12 +14,10 @@ class JsUtil( ) { @JavascriptInterface - fun sleep(sleepMiriTime: Int){ - Thread.sleep(sleepMiriTime.toLong()) - } - - @JavascriptInterface - fun copyToClipboard(text: String?, fontSize: Int) { + fun copyToClipboard( + text: String?, + fontSize: Int + ) { val clipboard: ClipboardManager? = fragment.activity?.getSystemService(Context.CLIPBOARD_SERVICE) as ClipboardManager? val textView = TextView(fragment.context) diff --git a/app/src/main/java/com/puutaro/commandclick/fragment_lib/terminal_fragment/js_interface/JsVar.kt b/app/src/main/java/com/puutaro/commandclick/fragment_lib/terminal_fragment/js_interface/JsVar.kt index a56db5d0b..910f3ce7b 100644 --- a/app/src/main/java/com/puutaro/commandclick/fragment_lib/terminal_fragment/js_interface/JsVar.kt +++ b/app/src/main/java/com/puutaro/commandclick/fragment_lib/terminal_fragment/js_interface/JsVar.kt @@ -10,6 +10,12 @@ class JsVar( fun echo( valueStr: String ): String { + + /* + Echo valueStr contents + This exist for debug + */ + return valueStr } } \ No newline at end of file diff --git a/app/src/main/java/com/puutaro/commandclick/fragment_lib/terminal_fragment/js_interface/dialog/JsDialog.kt b/app/src/main/java/com/puutaro/commandclick/fragment_lib/terminal_fragment/js_interface/dialog/JsDialog.kt index 4865e1119..e84550498 100755 --- a/app/src/main/java/com/puutaro/commandclick/fragment_lib/terminal_fragment/js_interface/dialog/JsDialog.kt +++ b/app/src/main/java/com/puutaro/commandclick/fragment_lib/terminal_fragment/js_interface/dialog/JsDialog.kt @@ -104,6 +104,7 @@ class JsDialog( list item string separated by newline - Enable icon specify by tab second field + - ref [icon](https://github.com/puutaro/CommandClick/blob/master/md/developer/collection/icons.md) ```js.js listSource=` @@ -197,16 +198,16 @@ class JsDialog( @JavascriptInterface fun multiListDialog( title: String, - currentItemListStr: String, - preSelectedItemListStr: String, + currentItemListNewlineSepaStr: String, + preSelectedItemListNewlineSepaStr: String, ): String { if( - preSelectedItemListStr.trim().isEmpty() + preSelectedItemListNewlineSepaStr.trim().isEmpty() ) return String() val selectedLine = multiSelectJsDialog.create( title, - currentItemListStr, - preSelectedItemListStr, + currentItemListNewlineSepaStr, + preSelectedItemListNewlineSepaStr, ) return selectedLine } @@ -362,6 +363,10 @@ class JsDialog( @JavascriptInterface fun webViewDismiss_S(){ + + /* + This function is used to dismiss [pocket webview](https://github.com/puutaro/CommandClick/blob/master/USAGE.md#highlight-search + */ webViewJsDialog.dismiss() } @@ -382,13 +387,13 @@ class JsDialog( @JavascriptInterface fun qrScan_S( title: String, - currentScriptPath: String, + currentFannelPath: String, callBackJsPath: String, menuMapStrListStr: String, ) { qrScanJsDialog.create( title, - currentScriptPath, + currentFannelPath, callBackJsPath, menuMapStrListStr ) diff --git a/app/src/main/java/com/puutaro/commandclick/fragment_lib/terminal_fragment/js_interface/edit/JsEdit.kt b/app/src/main/java/com/puutaro/commandclick/fragment_lib/terminal_fragment/js_interface/edit/JsEdit.kt index 2a9e9b1df..dcccd7e24 100755 --- a/app/src/main/java/com/puutaro/commandclick/fragment_lib/terminal_fragment/js_interface/edit/JsEdit.kt +++ b/app/src/main/java/com/puutaro/commandclick/fragment_lib/terminal_fragment/js_interface/edit/JsEdit.kt @@ -102,28 +102,4 @@ class JsEdit( updateVariableValue ) } - - @JavascriptInterface - fun removeFromEditHtml( - editPath: String, - removeUri: String - ){ - val editPathObj = File(editPath) - if( - !editPathObj.isFile - ) { - ToastUtils.showLong("no exist\n ${editPath}") - return - } - val removedUrlList = ReadText( - editPath - ).textToList().filter { - val path = it.split("\t").lastOrNull() - path != removeUri - }.joinToString("\n") - FileSystems.writeFile( - editPath, - removedUrlList - ) - } } \ No newline at end of file diff --git a/app/src/main/java/com/puutaro/commandclick/fragment_lib/terminal_fragment/js_interface/edit/JsEditor.kt b/app/src/main/java/com/puutaro/commandclick/fragment_lib/terminal_fragment/js_interface/edit/JsEditor.kt index c4e406f00..88b0ee5c7 100755 --- a/app/src/main/java/com/puutaro/commandclick/fragment_lib/terminal_fragment/js_interface/edit/JsEditor.kt +++ b/app/src/main/java/com/puutaro/commandclick/fragment_lib/terminal_fragment/js_interface/edit/JsEditor.kt @@ -21,6 +21,10 @@ class JsEditor( fun open_S( filePath: String, ){ + /* + Edit file by editor app + */ + val filePathObj = File(filePath) val parentDirPath = filePathObj.parent ?: return @@ -36,6 +40,11 @@ class JsEditor( fun byEditText( textPath: String, ){ + + /* + Edit file by edit text + */ + val textPathObj = File(textPath) val parentDirPath = textPathObj.parent ?: return diff --git a/app/src/main/java/com/puutaro/commandclick/fragment_lib/terminal_fragment/js_interface/edit/JsListSelect.kt b/app/src/main/java/com/puutaro/commandclick/fragment_lib/terminal_fragment/js_interface/edit/JsListSelect.kt index a410d3e0b..f2bfea92b 100755 --- a/app/src/main/java/com/puutaro/commandclick/fragment_lib/terminal_fragment/js_interface/edit/JsListSelect.kt +++ b/app/src/main/java/com/puutaro/commandclick/fragment_lib/terminal_fragment/js_interface/edit/JsListSelect.kt @@ -30,6 +30,18 @@ class JsListSelect( targetListFilePath: String, itemTextListCon: String ){ + /* + Complete list contents select box with item test list con (item separated by newline) + + ### targetListFilePath arg + list (item separated by newline) file list contents select box + + ### itemTextListCon + + item test list con (item separated by newline) + + */ + ListContentsSelectBoxTool.compListFile( targetListFilePath, itemTextListCon @@ -82,6 +94,25 @@ class JsListSelect( replaceTargetVariable: String, defaultVariable: String ){ + /* + Wrap remove item from list contents in select box and set recent item to one + + ### targetListFilePath arg + Remove target list file path in list contents select box + + ### removeTargetItem + Remove target item + + ### currentScriptPath + current fannel path + + ### replaceTargetVariable + Set recent item to here variable name's edit text + + ### replaceTargetVariable + Set blank value to here variable name's edit text + */ + val searchListFileObj = File( targetListFilePath ) diff --git a/app/src/main/java/com/puutaro/commandclick/fragment_lib/terminal_fragment/js_interface/edit/JsScript.kt b/app/src/main/java/com/puutaro/commandclick/fragment_lib/terminal_fragment/js_interface/edit/JsScript.kt index c31f6768f..f4b20130c 100755 --- a/app/src/main/java/com/puutaro/commandclick/fragment_lib/terminal_fragment/js_interface/edit/JsScript.kt +++ b/app/src/main/java/com/puutaro/commandclick/fragment_lib/terminal_fragment/js_interface/edit/JsScript.kt @@ -4,7 +4,6 @@ import android.webkit.JavascriptInterface import com.puutaro.commandclick.common.variable.variables.CommandClickScriptVariable import com.puutaro.commandclick.common.variable.variant.LanguageTypeSelects import com.puutaro.commandclick.fragment.TerminalFragment -import com.puutaro.commandclick.proccess.edit.lib.SettingFile import com.puutaro.commandclick.util.CcPathTool import com.puutaro.commandclick.util.str.QuoteTool import com.puutaro.commandclick.util.CommandClickVariables @@ -106,10 +105,10 @@ class JsScript( @JavascriptInterface fun subValOnlyValue( targetValName: String, - valString: String + settingValsString: String ): String { val targetValPrefix = "${targetValName}=" - val targetSettingVariableValue = valString.split("\n").filter { + val targetSettingVariableValue = settingValsString.split("\n").filter { it.startsWith(targetValPrefix) }.map { val removedValName = it.removePrefix(targetValPrefix) @@ -118,22 +117,6 @@ class JsScript( return targetSettingVariableValue } - @JavascriptInterface - fun convertSetValPathToOneLine( - currentFannelPath: String, - setVariableFilePath: String, - ): String { - val oneLineSetVariableCon = listOf( - CommandClickScriptVariable.SET_VARIABLE_TYPE, - SettingFile.read( - setVariableFilePath, - currentFannelPath, - setReplaceVariableMap, - ) - ).filter{ it.isNotEmpty() }.joinToString("=") - return oneLineSetVariableCon - } - @JavascriptInterface fun bothQuoteTrim( valString: String diff --git a/app/src/main/java/com/puutaro/commandclick/fragment_lib/terminal_fragment/js_interface/edit/JsValEdit.kt b/app/src/main/java/com/puutaro/commandclick/fragment_lib/terminal_fragment/js_interface/edit/JsValEdit.kt index bdaf1f56d..4bcfce990 100755 --- a/app/src/main/java/com/puutaro/commandclick/fragment_lib/terminal_fragment/js_interface/edit/JsValEdit.kt +++ b/app/src/main/java/com/puutaro/commandclick/fragment_lib/terminal_fragment/js_interface/edit/JsValEdit.kt @@ -22,14 +22,14 @@ class JsValEdit( @JavascriptInterface fun editAndSaveCmdVar( title: String, - fContents: String, + fannelPath: String, setVariableTypes: String, targetVariables: String, ): String { val isOk = try { execEditAndSaveCmdVar( title, - fContents, + fannelPath, setVariableTypes, targetVariables, ) @@ -48,9 +48,12 @@ class JsValEdit( fun registerFannelConChange( changedFannelCon: String ){ + /* + Register fannel con change to Edit fragment + */ val listener = context as? TerminalFragment.OnEditFannelContentsListUpdateListenerForTerm listener?.onEditFannelContentsListUpdateForTerm( - fannelInfoMap , + fannelInfoMap, changedFannelCon.split("\n") ) } diff --git a/app/src/main/java/com/puutaro/commandclick/fragment_lib/terminal_fragment/js_interface/file/JsF.kt b/app/src/main/java/com/puutaro/commandclick/fragment_lib/terminal_fragment/js_interface/file/JsF.kt deleted file mode 100644 index c62ee9f00..000000000 --- a/app/src/main/java/com/puutaro/commandclick/fragment_lib/terminal_fragment/js_interface/file/JsF.kt +++ /dev/null @@ -1,28 +0,0 @@ -package com.puutaro.commandclick.fragment_lib.terminal_fragment.js_interface.file - -import android.webkit.JavascriptInterface -import com.puutaro.commandclick.fragment.TerminalFragment -import com.puutaro.commandclick.util.file.FileSystems -import com.puutaro.commandclick.util.file.ReadText - -class JsF( - terminalFragment: TerminalFragment -) { - @JavascriptInterface - fun r(path: String): String { - return ReadText( - path - ).readText() - } - - @JavascriptInterface - fun w( - path: String, - con: String, - ){ - FileSystems.writeFile( - path, - con, - ) - } -} \ No newline at end of file diff --git a/app/src/main/java/com/puutaro/commandclick/fragment_lib/terminal_fragment/js_interface/lib/dialog/QrScanJsDialog.kt b/app/src/main/java/com/puutaro/commandclick/fragment_lib/terminal_fragment/js_interface/lib/dialog/QrScanJsDialog.kt index abc7c9102..a29f1215f 100755 --- a/app/src/main/java/com/puutaro/commandclick/fragment_lib/terminal_fragment/js_interface/lib/dialog/QrScanJsDialog.kt +++ b/app/src/main/java/com/puutaro/commandclick/fragment_lib/terminal_fragment/js_interface/lib/dialog/QrScanJsDialog.kt @@ -48,7 +48,7 @@ class QrScanJsDialog( fun create( title: String, - currentScriptPath: String, + currentFannelPath: String, callBackJsPath: String, menuMapStrListStr: String, ) { @@ -57,7 +57,7 @@ class QrScanJsDialog( withContext(Dispatchers.Main){ execCreate( title, - currentScriptPath, + currentFannelPath, callBackJsPath, menuMapStrListStr, ) @@ -67,7 +67,7 @@ class QrScanJsDialog( private fun execCreate( title: String, - currentScriptPath: String, + currentFannelPath: String, callBackJsPath: String, menuMapStrListStr: String, ){ @@ -115,7 +115,7 @@ class QrScanJsDialog( qrScanDialogObj = null terminalViewModel.onDialog = false loadJsForQrMenu( - currentScriptPath, + currentFannelPath, callBackJsPath, webView, decodeText @@ -145,14 +145,14 @@ class QrScanJsDialog( ) ?: return menuMapStrList.forEach { val btnMenuMap = makeBtnOptionMap( - currentScriptPath, + currentFannelPath, it ) val imageButton = qrBtnSetter( webView, btnMenuMap, btnWeight, - currentScriptPath + currentFannelPath ) qrScanBottomLinearLayout.addView(imageButton) } @@ -324,7 +324,7 @@ class QrScanJsDialog( } private fun loadJsForQrMenu( - currentScriptPath: String, + currentFannelPath: String, jsPath: String, webView: WebView, decodedText: String = String(), @@ -332,10 +332,10 @@ class QrScanJsDialog( ){ val setReplaceVariableMap = SetReplaceVariabler.makeSetReplaceVariableMapFromSubFannel( context, - currentScriptPath, + currentFannelPath, ) val fannelPath = CcPathTool.getMainFannelFilePath( - currentScriptPath + currentFannelPath ) val fannelPathObj = File(fannelPath) if(!fannelPathObj.isFile) return @@ -393,7 +393,7 @@ class QrScanJsDialog( } - private fun makeBtnOptionMap( + private fun makeBtnOptionMap( currentFannelPath: String, centerMenuMapStr: String ): Map? { diff --git a/app/src/main/java/com/puutaro/commandclick/fragment_lib/terminal_fragment/proccess/JsInterfaceAdder.kt b/app/src/main/java/com/puutaro/commandclick/fragment_lib/terminal_fragment/proccess/JsInterfaceAdder.kt index 42cc281a4..31adc8fa3 100755 --- a/app/src/main/java/com/puutaro/commandclick/fragment_lib/terminal_fragment/proccess/JsInterfaceAdder.kt +++ b/app/src/main/java/com/puutaro/commandclick/fragment_lib/terminal_fragment/proccess/JsInterfaceAdder.kt @@ -33,7 +33,6 @@ import com.puutaro.commandclick.fragment_lib.terminal_fragment.js_interface.qr.J import com.puutaro.commandclick.fragment_lib.terminal_fragment.js_interface.edit.JsReplaceVariables import com.puutaro.commandclick.fragment_lib.terminal_fragment.js_interface.edit.JsScript import com.puutaro.commandclick.fragment_lib.terminal_fragment.js_interface.JsSendKey -import com.puutaro.commandclick.fragment_lib.terminal_fragment.js_interface.JsStop import com.puutaro.commandclick.fragment_lib.terminal_fragment.js_interface.text.JsText import com.puutaro.commandclick.fragment_lib.terminal_fragment.js_interface.JsTextToSpeech import com.puutaro.commandclick.fragment_lib.terminal_fragment.js_interface.JsToast @@ -49,7 +48,6 @@ import com.puutaro.commandclick.fragment_lib.terminal_fragment.js_interface.text import com.puutaro.commandclick.fragment_lib.terminal_fragment.js_interface.edit.JsFannelConSaver import com.puutaro.commandclick.fragment_lib.terminal_fragment.js_interface.edit.JsListConSBSaver import com.puutaro.commandclick.fragment_lib.terminal_fragment.js_interface.edit.JsValEdit -import com.puutaro.commandclick.fragment_lib.terminal_fragment.js_interface.file.JsF import com.puutaro.commandclick.fragment_lib.terminal_fragment.js_interface.judge.JsBeforeInfo import com.puutaro.commandclick.fragment_lib.terminal_fragment.js_interface.lib.JsCcUsage import com.puutaro.commandclick.fragment_lib.terminal_fragment.js_interface.list_index.JsCopyItem @@ -125,10 +123,6 @@ object JsInterfaceAdder { webView, JsToast(terminalFragment), ) - ExecJsInterfaceAdder.add( - webView, - JsStop(terminalFragment), - ) ExecJsInterfaceAdder.add( webView, JsUtil(terminalFragment), @@ -277,10 +271,6 @@ object JsInterfaceAdder { webView, JsFileSystem(terminalFragment), ) - ExecJsInterfaceAdder.add( - webView, - JsF(terminalFragment) - ) } private fun qrAdder( diff --git a/app/src/main/java/com/puutaro/commandclick/proccess/edit/lib/ListContentsSelectBoxTool.kt b/app/src/main/java/com/puutaro/commandclick/proccess/edit/lib/ListContentsSelectBoxTool.kt index 72d3e94ab..900f86ec8 100755 --- a/app/src/main/java/com/puutaro/commandclick/proccess/edit/lib/ListContentsSelectBoxTool.kt +++ b/app/src/main/java/com/puutaro/commandclick/proccess/edit/lib/ListContentsSelectBoxTool.kt @@ -15,6 +15,9 @@ object ListContentsSelectBoxTool { editFragment: EditFragment, currentButtonTag: String? ){ + /* + Save [list contents select box]() on click button with tag + */ val saveTextCon = "\${CMDCLICK_TEXT_CONTENTS}" if( currentButtonTag.isNullOrEmpty() diff --git a/md/developer/js_interface/details/JsIntent/launchShortcut.md b/md/developer/js_interface/details/JsIntent/launchShortcut.md index a5548071e..3d405b5f4 100755 --- a/md/developer/js_interface/details/JsIntent/launchShortcut.md +++ b/md/developer/js_interface/details/JsIntent/launchShortcut.md @@ -16,17 +16,19 @@ Launch fannel jsIntent.launchShortcut( currentAppDirPath: String, - currentFannelName: String + currentFannelName: String, + currentFannelState: String, ) ``` ## Argument -| arg name | type | description | -| -------- | -------- | -------- | -| currentAppDirPath | string | current [app dir](https://github.com/puutaro/CommandClick/blob/master/md/developer/glossary.md#app-directory) path | -| currentFannelName | string | current [fannel](https://github.com/puutaro/CommandClick/blob/master/md/developer/glossary.md#fannel) name | +| arg name | type | description | +| -------- | -------- |-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| currentAppDirPath | string | current [app dir](https://github.com/puutaro/CommandClick/blob/master/md/developer/glossary.md#app-directory) path | +| currentFannelName | string | current [fannel](https://github.com/puutaro/CommandClick/blob/master/md/developer/glossary.md#fannel) name | +| currentFannelState | string | current [fannel](https://github.com/puutaro/CommandClick/blob/master/md/developer/glossary.md#fannel) [state](https://github.com/puutaro/CommandClick/blob/master/md/developer/state/fannelStateRootTableTsv.md#whats-fannel-state) | ex1) diff --git a/md/developer/js_interface/details/dialog/JsDialog/listDialog.md b/md/developer/js_interface/details/dialog/JsDialog/listDialog.md deleted file mode 100755 index 8401342bc..000000000 --- a/md/developer/js_interface/details/dialog/JsDialog/listDialog.md +++ /dev/null @@ -1,37 +0,0 @@ -# listDialog - - -Table ------------------ - -* [Result](#result) -* [Argument](#argument) - - -## Result - -Show list dialog --> return selected element string - - -```js.js - -jsDialog.listDialog( - listSource: String(new line sepalate) -) - -``` - -## Argument - -| arg name | type | description | -| -------- | -------- |-----------------------------------| -| listSource | string | list string sepalated by new line | - -ex1) - -```js.js -jsDialog.listDialog( - "${el1}\n${el2}\n${el3}\n.." -); -``` diff --git a/md/developer/js_interface/details/dialog/JsDialog/multiListDialog.md b/md/developer/js_interface/details/dialog/JsDialog/multiListDialog.md index aa82d2ce5..c7ca7675c 100755 --- a/md/developer/js_interface/details/dialog/JsDialog/multiListDialog.md +++ b/md/developer/js_interface/details/dialog/JsDialog/multiListDialog.md @@ -14,8 +14,8 @@ Show multi select list dialog jsDialog.multiListDialog( title: String, - currentItemListStr: String, - preSelectedItemListStr: String, + currentItemListNewlineSepaStr: String, + preSelectedItemListNewlineSepaStr: String, ) ``` @@ -24,8 +24,8 @@ jsDialog.multiListDialog( | arg name | type | description | | -------- | -------- |-------------------------------------------| | title | string | title string | -| currentItemListStr | string | list string sepalated by newline | -| preSelectedItemListStr | string | selected elements string sepalated by newline | +| currentItemListNewlineSepaStr | string | list string sepalated by newline | +| preSelectedItemListNewlineSepaStr | string | selected elements string sepalated by newline | ex1) @@ -34,13 +34,13 @@ ex1) jsDialog.multiListDialog( "sample", - "item1\titem2\titem3\titem4\titem5" - "item1\titem3", + "item1\nitem2\nitem3\nitem4\nitem5" + "item1\nitem3", ); (select item3 item5) - -> "item3\titem5"; + -> "item3\nitem5"; ``` diff --git a/md/developer/js_interface/details/dialog/JsDialog/multiSelectGridDialog.md b/md/developer/js_interface/details/dialog/JsDialog/multiSelectGridDialog.md index 163ab4dc1..3ac9ec28e 100755 --- a/md/developer/js_interface/details/dialog/JsDialog/multiSelectGridDialog.md +++ b/md/developer/js_interface/details/dialog/JsDialog/multiSelectGridDialog.md @@ -18,7 +18,7 @@ Show spannable multi select grid dialog jsDialog.multiSelectGridDialog( title: String, message: String, - imagePathListTabSepalateString: String + imagePathListNewlineSepaStr: String ) -> selected spannable image paths @@ -31,7 +31,7 @@ jsDialog.multiSelectGridDialog( | -------- | -------- | -------- | | title | string | string | | message | string | string | -| imagePathListTabSepalateString | string | src image path strings sepalated by tab | +| imagePathListNewlineSepaStr | string | src image path strings sepalated by tab | ex1) @@ -39,7 +39,7 @@ ex1) jsDialog.multiSelectGridDialog( "title1", "message1", - "${iamge path1}\t${iamge path2}\t${iamge path3}\t..." + "${iamge path1}\n${iamge path2}\n${iamge path3}\n..." ); -> src image path ``` diff --git a/md/developer/js_interface/details/dialog/JsDialog/multiSelectOnlyImageGridDialog.md b/md/developer/js_interface/details/dialog/JsDialog/multiSelectOnlyImageGridDialog.md index 9a5a1444c..6a6250584 100755 --- a/md/developer/js_interface/details/dialog/JsDialog/multiSelectOnlyImageGridDialog.md +++ b/md/developer/js_interface/details/dialog/JsDialog/multiSelectOnlyImageGridDialog.md @@ -40,7 +40,7 @@ ex1) jsDialog.multiSelectOnlyImageGridDialog( "title1", "message1", - "${iamge path1}\t${iamge path2}\t${iamge path3}\t..." + "${iamge path1}\n${iamge path2}\n${iamge path3}\n..." ); -> selected image path ``` diff --git a/md/developer/js_interface/details/dialog/JsDialog/multiSelectSpannableGridDialog.md b/md/developer/js_interface/details/dialog/JsDialog/multiSelectSpannableGridDialog.md index f90eb9506..0e5748527 100755 --- a/md/developer/js_interface/details/dialog/JsDialog/multiSelectSpannableGridDialog.md +++ b/md/developer/js_interface/details/dialog/JsDialog/multiSelectSpannableGridDialog.md @@ -18,8 +18,9 @@ Show spannable multi select grid dialog jsDialog.multiSelectSpannableGridDialog( title: String, message: String, - imagePathListNewlineSepalateString: String + imagePathListTabSepalateString: String ); +-> selected path strings ``` @@ -35,10 +36,11 @@ ex1) ```js.js +```js.js jsDialog.multiSelectSpannableGridDialog( - title: String, - message: String, - imagePathListTabSepalateString: String + "title1", + "message1", + "${iamge path1}\n${iamge path2}\n${iamge path3}\n..." ); -> selected path strings diff --git a/md/developer/js_interface/details/dialog/JsDialog/onlyImageGridDialog.md b/md/developer/js_interface/details/dialog/JsDialog/onlyImageGridDialog.md index b52aa2ba3..809c24385 100755 --- a/md/developer/js_interface/details/dialog/JsDialog/onlyImageGridDialog.md +++ b/md/developer/js_interface/details/dialog/JsDialog/onlyImageGridDialog.md @@ -40,7 +40,7 @@ ex1) jsDialog.onlyImageGridDialog( "ex 1", "message1", - "${image path1}\t${image path1}\t..." + "${image path1}\n${image path1}\n..." ); -> selected image path diff --git a/md/developer/js_interface/details/dialog/JsDialog/onlySpannableGridDialog.md b/md/developer/js_interface/details/dialog/JsDialog/onlySpannableGridDialog.md index 1b7543abf..1ed010297 100755 --- a/md/developer/js_interface/details/dialog/JsDialog/onlySpannableGridDialog.md +++ b/md/developer/js_interface/details/dialog/JsDialog/onlySpannableGridDialog.md @@ -40,7 +40,7 @@ ex1) jsDialog.onlySpannableGridDialog( "title1", "message1", - "${iamge path1}\t${iamge path2}\t${iamge path3}\t..." + "${iamge path1}\n${iamge path2}\n${iamge path3}\n..." ); -> selected image path diff --git a/md/developer/js_interface/details/dialog/JsDialog/qrScan_S.md b/md/developer/js_interface/details/dialog/JsDialog/qrScan_S.md new file mode 100644 index 000000000..059c05b95 --- /dev/null +++ b/md/developer/js_interface/details/dialog/JsDialog/qrScan_S.md @@ -0,0 +1,121 @@ +# qrScan_S + + +Table +----------------- +* [Overview](#overview) +* [Example](#example) +* [Argument](#argument) + * [title](#title) + * [currentFannelPath](#currentfannelpath) + * [callBackJsPath](#callbackjspath) + * [menuMapStrListStr](#menumapstrliststr) + * [Key](#key) + +## Overview + +Show QR code scan dialog. + +```js.js +jsDialog.qrScan_S( + title: String, + currentFannelPath: String, + callBackJsPath: String, + menuMapStrListStr: String, +) +``` + + +## Example + +Use `?` as sepalator + +ex1) +``` + +jsDialog.qrScan_S( + launchUrlString, + "${0}", + "${callBackJsPath}" + "clickMenuFilePath=${01}/${001}/clickMenu1.txt?longPressMenuFilePath=${01}/${001}/longPressMenu1.txt?dismissType=both?dismissDelayMiliTime=300!iconName=down|clickMenuFilePath=${01}/${001}/clickMenu2.txt?longPressMenuFilePath=${01}/${001}/longPressMenu2.txt!dismissType=both!dismissDelayMiliTime=300!label=exra", +); + +``` + +- `${0}` -> [pre resrved word](https://github.com/puutaro/CommandClick/blob/master/md/developer/js_pre_reserved_word.md) + + +## Argument + +### title + +title string + +### currentFannelPath + +current fannel(script) path +- [About fannel](https://github.com/puutaro/commandclick-repository#commandclick-repository) + + +### callBackJsPath + +Js triggered on decoded Qr code + +- first arg in [jsArgs.get](https://github.com/puutaro/CommandClick/blob/master/md/developer/js_interface/functions/JsArgs/get.md) is decoded text. + + +### menuMapStrListStr + +You can add as many menu buttons as you like + +#### Key + +| key | val type | description | +|-------------------------|-------------|----------------------------------------| +| `clickMenuFilePath` | string | file path written click menu list | +| `longPressMenuFilePath` | string | file path written long press menu list | +| `dismissType` | string | which click to dismiss dismiss | +| `iconName` | icon string | [icon name macro](https://github.com/puutaro/CommandClick/blob/master/md/developer/collection/icons.md) | + +- `clickMenuFilePath`, `longPressMenuFilePath` example + +` +js script name 1 +js script name 1 +js script name 3 +. +. +. +` +(parent dir is current app dir) + +- `dismissType` table + +| type | description | +| ------- | ------- | +| `click` | Dismiss in only click | +| `longpress` | Dismiss in only long press | +| `both` | Dismiss in click and long press | + + +- `${01}/${001}/clickMenu1.txt` + +```tsv.tsv +${menu js path1} +${menu js path2} +${menu js path3} +. +. +. +``` + +- `${01}/${001}/longPressMenu1.txt` + +```tsv.tsv +${long menu js path1} +${long menu js path2} +${long menu js path3} +. +. +. +``` diff --git a/md/developer/js_interface/details/dialog/JsDialog/webViewDialog.md b/md/developer/js_interface/details/dialog/JsDialog/webView_S.md similarity index 100% rename from md/developer/js_interface/details/dialog/JsDialog/webViewDialog.md rename to md/developer/js_interface/details/dialog/JsDialog/webView_S.md diff --git a/md/developer/js_interface/details/edit/JsFileSelect/execEditTargetFileName.md b/md/developer/js_interface/details/edit/JsFileSelect/execEditTargetFileName.md index 69e40dfdc..f9692941d 100755 --- a/md/developer/js_interface/details/edit/JsFileSelect/execEditTargetFileName.md +++ b/md/developer/js_interface/details/edit/JsFileSelect/execEditTargetFileName.md @@ -24,22 +24,24 @@ execEditTargetFileName( commandVariables: string, prefix: file select string, suffix: file select string, - scriptFilePath: string + scriptFilePath: string, + title: string ) ``` ## Argument -| arg name | type | description | -| -------- | -------- | -------- | -| targetVariable | string | rename target command variable name | -| renameVariable | string | rename destination command variable name | +| arg name | type | description | +|------------------| -------- |-------------------------------------------------------------------------------------------------------------------------| +| targetVariable | string | rename target command variable name | +| renameVariable | string | rename destination command variable name | | settingVariables | string | [setting variables](https://github.com/puutaro/CommandClick/blob/master/DEVELOPER.md#setting-variable) sepalated by tab | -| commandVariables | string | [command variables](https://github.com/puutaro/CommandClick/blob/master/DEVELOPER.md#cmd-variables) sepalated by tab | -| prefix | string | grep this prefix string | -| suffix | string | grep this suffix string | -| scriptFilePath | string | [fannel](https://github.com/puutaro/CommandClick/blob/master/md/developer/glossary.md#fannel) path string | +| commandVariables | string | [command variables](https://github.com/puutaro/CommandClick/blob/master/DEVELOPER.md#cmd-variables) sepalated by tab | +| prefix | string | grep this prefix string | +| suffix | string | grep this suffix string | +| scriptFilePath | string | [fannel](https://github.com/puutaro/CommandClick/blob/master/md/developer/glossary.md#fannel) path string | +| title | string | title string | - suffix macro: `NoExtend`: no extend diff --git a/md/developer/js_interface/functions/JsStop/how.md b/md/developer/js_interface/functions/JsStop/how.md deleted file mode 100644 index bc4d4b623..000000000 --- a/md/developer/js_interface/functions/JsStop/how.md +++ /dev/null @@ -1,30 +0,0 @@ -# jsStop.how - -## Definition - -```js.js -function jsStop.how( - -) -> terminalViewModel -``` - - -## Definition by js action - -```js.js -var=terminalViewModel - ?func=jsStop.how - -``` - -- [js action](#) is annotation-oriented language based on javascript in `CommandClick` - - - -## Src - --> [jsStop.how](https://github.com/puutaro/CommandClick/blob/master/app/src/main/java/com/puutaro/commandclick/fragment_lib/terminal_fragment/js_interface/JsStop.kt#L13) - -## Detail - --> [jsStop.how](https://github.com/puutaro/CommandClick/blob/master/md/developer/js_interface/details/JsStop/how.md) diff --git a/md/developer/state/fannelStateRootTableTsv.md b/md/developer/state/fannelStateRootTableTsv.md index 5293f1ef8..eb3039b88 100644 --- a/md/developer/state/fannelStateRootTableTsv.md +++ b/md/developer/state/fannelStateRootTableTsv.md @@ -5,13 +5,13 @@ Rooting fannel state * [OVERVIEW](#overview) -* [What's fannel state ?](#what's-fannel-state-?) +* [What's fannel state ?](#whats-fannel-state) * [fannelStateRootTable tsv ex](#fannelstateroottable-tsv-ex) * [Format for fannelStateRootTable.tsv](#format-for-fannelstateroottable.tsv) * [Macro path](#macro-path) * [Controller](#controller) -## What's fannel state ? +## What's fannel state ? Normally, [setting variable](https://github.com/puutaro/CommandClick/blob/master/md/developer/setting_variables.md) is set by main fannel. But, sometime, require other [setting variables](https://github.com/puutaro/CommandClick/blob/master/md/developer/setting_variables.md)