@@ -227,6 +227,7 @@ define([
227227 this . blockMenu = new BlockMenu ( this ) ;
228228
229229 // loadedAppsMenu
230+ this . apps = undefined ;
230231 this . appsMenu = null ;
231232 }
232233
@@ -802,7 +803,7 @@ define([
802803 createdBlock . state = {
803804 ...createdBlock . state
804805 , blockOptionState
805- }
806+ } ;
806807 createdBlock . setChildBlockUUIDList ( childBlockUUIDList || nextBlockUUIDList ) ;
807808
808809 createdBlockList . push ( createdBlock ) ;
@@ -1826,7 +1827,7 @@ define([
18261827 this . resetBlockListAndRenderThisBlock ( createdBlock_api ) ;
18271828 }
18281829
1829- BlockContainer . prototype . createAppsPage = function ( moduleFile , config = { } , callback = undefined ) {
1830+ BlockContainer . prototype . createAppsPage = function ( appsKey , moduleFile , config = { } , callback = undefined ) {
18301831 var that = this ;
18311832
18321833 // var loadUrl = 'markdown/markdown.js';
@@ -1835,8 +1836,11 @@ define([
18351836 requirejs ( [ loadUrl ] , function ( loaded ) {
18361837 if ( Object . keys ( loaded ) . includes ( 'initOption' ) ) {
18371838 loaded . initOption ( function ( funcJS ) {
1839+ // optionPage load callback
1840+ that . apps = appsKey ;
18381841 that . appsMenu = new popupPage ( funcJS , 'vp_appsCode' ) ;
18391842 funcJS . wrapSelector = that . appsMenu . wrapSelector ;
1843+ funcJS . loadMeta ( funcJS , config . state ) ;
18401844 // library page
18411845 $ ( vpCommon . wrapSelector ( vpCommon . formatString ( "#{0}" , vpConst . OPTION_GREEN_ROOM ) , vpCommon . formatString ( ".{0}" , vpConst . API_OPTION_PAGE ) ) ) . each ( function ( ) {
18421846 that . appsMenu . open ( {
@@ -1847,11 +1851,17 @@ define([
18471851 if ( callback ) {
18481852 callback ( funcJS ) ;
18491853 }
1850- } , undefined ) ;
1854+ } , config . state ) ;
18511855 } else {
18521856 // save appsMenu object
1857+ that . apps = appsKey ;
18531858 that . appsMenu = new loaded ( null , 'vp_appsCode' ) ;
1854- that . appsMenu . open ( ) ;
1859+ that . appsMenu . open ( {
1860+ ...config
1861+ } ) ;
1862+ if ( callback ) {
1863+ callback ( that . appsMenu ) ;
1864+ }
18551865 }
18561866
18571867
@@ -1932,7 +1942,8 @@ define([
19321942 || blockType == BLOCK_CODELINE_TYPE . LAMBDA
19331943 || blockType == BLOCK_CODELINE_TYPE . NODE
19341944 || blockType == BLOCK_CODELINE_TYPE . TEXT
1935- || blockType == BLOCK_CODELINE_TYPE . API ) {
1945+ || blockType == BLOCK_CODELINE_TYPE . API
1946+ || blockType == BLOCK_CODELINE_TYPE . APPS ) {
19361947 blockName = '' ;
19371948 } else if ( blockType == BLOCK_CODELINE_TYPE . PROPERTY ) {
19381949 blockName = '@' ;
@@ -2017,6 +2028,7 @@ define([
20172028 || blockType == BLOCK_CODELINE_TYPE . LAMBDA
20182029 || blockType == BLOCK_CODELINE_TYPE . IMPORT
20192030 || blockType == BLOCK_CODELINE_TYPE . API
2031+ || blockType == BLOCK_CODELINE_TYPE . APPS
20202032
20212033 || blockType == BLOCK_CODELINE_TYPE . ELSE
20222034 || blockType == BLOCK_CODELINE_TYPE . FINALLY
@@ -2040,6 +2052,7 @@ define([
20402052 || blockType == BLOCK_CODELINE_TYPE . COMMENT
20412053 || blockType == BLOCK_CODELINE_TYPE . PROPERTY
20422054 || blockType == BLOCK_CODELINE_TYPE . API
2055+ || blockType == BLOCK_CODELINE_TYPE . APPS
20432056 || blockType == BLOCK_CODELINE_TYPE . LAMBDA ) {
20442057 sbMainHeader . appendFormatLine ( "<strong class='{0}'>" , 'vp-block-header-name' ) ;
20452058 sbMainHeader . appendFormatLine ( "{0}" , blockName ) ;
@@ -2206,6 +2219,9 @@ define([
22062219 } else {
22072220 codeList . push ( apiCodeLine ) ;
22082221 }
2222+ } else if ( blockType == BLOCK_CODELINE_TYPE . APPS ) {
2223+ var { code } = block . getState ( 'apps' ) ;
2224+ codeList . push ( code ) ;
22092225 } else {
22102226 var tmpCodeLine = block . setCodeLineAndGet ( indentString , false )
22112227 if ( asPreview && blockType == BLOCK_CODELINE_TYPE . TEXT && tmpCodeLine . length > 0 ) {
@@ -2250,14 +2266,17 @@ define([
22502266 var codeLine = STR_EMPTY ;
22512267 var blockType = block . getBlockType ( ) ;
22522268
2253- if ( blockType == BLOCK_CODELINE_TYPE . API ) {
2269+ if ( blockType == BLOCK_CODELINE_TYPE . API ) {
22542270 var apiCodeLine = block . setCodeLineAndGet ( indentString , true ) ;
22552271 if ( apiCodeLine . indexOf ( 'BREAK_RUN' ) != - 1 ) {
22562272 // codeLineStr += 'BREAK_RUN';
22572273 // return true;
22582274 } else {
22592275 codeLine += apiCodeLine ;
22602276 }
2277+ } else if ( blockType == BLOCK_CODELINE_TYPE . APPS ) {
2278+ var { code } = block . getState ( 'apps' ) ;
2279+ codeLine += code ;
22612280 } else {
22622281 codeLine += block . setCodeLineAndGet ( indentString , false ) ;
22632282 }
0 commit comments