Skip to content

Commit 2c42fcc

Browse files
author
minjk-bl
committed
original block apply as just saving state
1 parent 81295a0 commit 2c42fcc

File tree

1 file changed

+117
-93
lines changed

1 file changed

+117
-93
lines changed

src/api_block/init.js

Lines changed: 117 additions & 93 deletions
Original file line numberDiff line numberDiff line change
@@ -266,6 +266,7 @@ define([
266266
case 'frame':
267267
case 'chart':
268268
case 'profiling':
269+
blockContainer.setSelectBlock(null);
269270
blockContainer.createAppsPage(menu, file, config);
270271
break;
271272
case 'merge':
@@ -290,8 +291,6 @@ define([
290291
var addCell = evt.addCell == true;
291292
var runCell = evt.runCell == true;
292293

293-
console.log('popup_run', { code: code, title: title, state: state});
294-
295294
var isFirstBlock = false;
296295
const blockList = blockContainer.getBlockList();
297296

@@ -302,56 +301,68 @@ define([
302301
isFirstBlock = true;
303302
}
304303

305-
var createdBlock = undefined;
306-
307-
if (title === 'Snippets') {
308-
// 1. add code block
309-
// create block as group block
310-
createdBlock = blockContainer.createBlock(BLOCK_CODELINE_TYPE.CODE, null, null, true);
311-
// set code
312-
createdBlock.setState({
313-
[STATE_codeLine]: code
314-
});
315-
createdBlock.writeCode(code);
316-
createdBlock.apply();
317-
if (isFirstBlock == true) {
318-
// if it is first block, set as ROOT
319-
createdBlock.setDirection(BLOCK_DIRECTION.ROOT);
320-
} else {
321-
var lastBottomBlock = blockContainer.getRootToLastBottomBlock();
322-
lastBottomBlock.appendBlock(createdBlock, BLOCK_DIRECTION.DOWN);
323-
}
324-
blockContainer.addNodeBlock(createdBlock);
325-
blockContainer.resetBlockList();
326-
blockContainer.reRenderAllBlock_asc();
327-
blockContainer.resetBlockListAndRenderThisBlock(createdBlock);
328-
} else if (title === 'Import' || title === 'Variables' || title === 'File'
329-
|| title === 'Instance' || title === 'Chart') {
330-
// add apps block
331-
createdBlock = blockContainer.createBlock(BLOCK_CODELINE_TYPE.APPS, null, null, true, true);
304+
var createdBlock = blockContainer.getSelectBlock();
305+
if (createdBlock) {
306+
// apply to original block
332307
createdBlock.setState({
333308
apps: {
334309
menu: blockContainer.apps,
335310
code: code,
336311
state: state
337312
}
338313
});
339-
// set code
340-
createdBlock.setState({
341-
[STATE_codeLine]: 'Apps > ' + title
342-
});
343-
createdBlock.writeCode(code);
344-
createdBlock.apply();
345-
if (isFirstBlock == true) {
346-
// if it is first block, set as ROOT
347-
createdBlock.setDirection(BLOCK_DIRECTION.ROOT);
348-
} else {
349-
var lastBottomBlock = blockContainer.getRootToLastBottomBlock();
350-
lastBottomBlock.appendBlock(createdBlock, BLOCK_DIRECTION.DOWN);
351-
}
352-
blockContainer.addNodeBlock(createdBlock);
353-
blockContainer.reRenderAllBlock_asc();
354-
}
314+
createdBlock.saveState();
315+
} else {
316+
if (title === 'Snippets') {
317+
// 1. add code block
318+
// create block as group block
319+
createdBlock = blockContainer.createBlock(BLOCK_CODELINE_TYPE.CODE, null, null, true);
320+
// set code
321+
createdBlock.setState({
322+
[STATE_codeLine]: code
323+
});
324+
createdBlock.writeCode(code);
325+
createdBlock.apply();
326+
if (isFirstBlock == true) {
327+
// if it is first block, set as ROOT
328+
createdBlock.setDirection(BLOCK_DIRECTION.ROOT);
329+
} else {
330+
var lastBottomBlock = blockContainer.getRootToLastBottomBlock();
331+
lastBottomBlock.appendBlock(createdBlock, BLOCK_DIRECTION.DOWN);
332+
}
333+
blockContainer.addNodeBlock(createdBlock);
334+
blockContainer.resetBlockList();
335+
blockContainer.reRenderAllBlock_asc();
336+
blockContainer.resetBlockListAndRenderThisBlock(createdBlock);
337+
} else if (title === 'Import' || title === 'Variables' || title === 'File'
338+
|| title === 'Instance' || title === 'Chart') {
339+
// add apps block
340+
createdBlock = blockContainer.createBlock(BLOCK_CODELINE_TYPE.APPS, null, null, true, true);
341+
createdBlock.setState({
342+
apps: {
343+
menu: blockContainer.apps,
344+
code: code,
345+
state: state
346+
}
347+
});
348+
// set code
349+
createdBlock.setState({
350+
[STATE_codeLine]: 'Apps > ' + title
351+
});
352+
// createdBlock.writeCode(code);
353+
createdBlock.apply();
354+
if (isFirstBlock == true) {
355+
// if it is first block, set as ROOT
356+
createdBlock.setDirection(BLOCK_DIRECTION.ROOT);
357+
} else {
358+
var lastBottomBlock = blockContainer.getRootToLastBottomBlock();
359+
lastBottomBlock.appendBlock(createdBlock, BLOCK_DIRECTION.DOWN);
360+
}
361+
blockContainer.addNodeBlock(createdBlock);
362+
blockContainer.resetBlockList();
363+
blockContainer.reRenderAllBlock_asc();
364+
}
365+
}
355366

356367
// 2. add cell and run cell
357368
if (addCell) {
@@ -367,8 +378,6 @@ define([
367378
var addCell = evt.addCell == true;
368379
var runCell = evt.runCell == true;
369380

370-
console.log('apps_run', { code: code, title: title, state: state});
371-
372381
var isFirstBlock = false;
373382
const blockList = blockContainer.getBlockList();
374383
/** board에 블럭이 0개 일때
@@ -378,61 +387,76 @@ define([
378387
isFirstBlock = true;
379388
}
380389

381-
var createdBlock = undefined;
382-
if (title === 'Markdown') {
383-
384-
createdBlock = blockContainer.createTextBlock(code);
385-
386-
// createdBlock = blockContainer.createBlock(BLOCK_CODELINE_TYPE.TEXT);
387-
// createdBlock.apply();
388-
// createdBlock.setFuncID(STR_TEXT_BLOCK_MARKDOWN_FUNCID);
389-
// createdBlock.setOptionPageLoadCallback(optionPageLoadCallback_block);
390-
// createdBlock.setLoadOption(loadOption_block);
391-
// createdBlock.setState({
392-
// [STATE_codeLine]: code
393-
// });
394-
395-
// /** board에 블럭이 0개일 경우 */
396-
// if (isFirstBlock == true) {
397-
// createdBlock.setDirection(BLOCK_DIRECTION.ROOT);
398-
// blockContainer.reNewContainerDom();
399-
// /** board에 블럭이 1개 이상 일 경우 */
400-
// } else {
401-
// /** board의 가장 아래 블럭을 가져옴 */
402-
// var lastBottomBlock = blockContainer.getRootToLastBottomBlock();
403-
// lastBottomBlock.appendBlock(createdBlock, BLOCK_DIRECTION.DOWN);
404-
// }
405-
// blockContainer.reRenderAllBlock_asc();
406-
// blockContainer.resetBlockList();
407-
// blockContainer.setSelectBlock(createdBlock);
408-
409-
// createdBlock.writeCode(`<p>${code}</p>`);
410-
// createdBlock.renderSelectedBlockBorderColor(true);
411-
} else {
412-
// add apps block
413-
createdBlock = blockContainer.createBlock(BLOCK_CODELINE_TYPE.APPS, null, null, true, true);
390+
var createdBlock = blockContainer.getSelectBlock();
391+
if (createdBlock) {
392+
// apply to original block
414393
createdBlock.setState({
415394
apps: {
416395
menu: blockContainer.apps,
417396
code: code,
418397
state: state
419398
}
420399
});
421-
// set code
422-
createdBlock.setState({
423-
[STATE_codeLine]: 'Apps > ' + title
424-
});
425-
createdBlock.writeCode(code);
426-
createdBlock.apply();
427-
if (isFirstBlock == true) {
428-
// if it is first block, set as ROOT
429-
createdBlock.setDirection(BLOCK_DIRECTION.ROOT);
400+
createdBlock.saveState();
401+
} else {
402+
// new block
403+
if (title === 'Markdown') {
404+
405+
createdBlock = blockContainer.createTextBlock(code);
406+
407+
// createdBlock = blockContainer.createBlock(BLOCK_CODELINE_TYPE.TEXT);
408+
// createdBlock.apply();
409+
// createdBlock.setFuncID(STR_TEXT_BLOCK_MARKDOWN_FUNCID);
410+
// createdBlock.setOptionPageLoadCallback(optionPageLoadCallback_block);
411+
// createdBlock.setLoadOption(loadOption_block);
412+
// createdBlock.setState({
413+
// [STATE_codeLine]: code
414+
// });
415+
416+
// /** board에 블럭이 0개일 경우 */
417+
// if (isFirstBlock == true) {
418+
// createdBlock.setDirection(BLOCK_DIRECTION.ROOT);
419+
// blockContainer.reNewContainerDom();
420+
// /** board에 블럭이 1개 이상 일 경우 */
421+
// } else {
422+
// /** board의 가장 아래 블럭을 가져옴 */
423+
// var lastBottomBlock = blockContainer.getRootToLastBottomBlock();
424+
// lastBottomBlock.appendBlock(createdBlock, BLOCK_DIRECTION.DOWN);
425+
// }
426+
// blockContainer.reRenderAllBlock_asc();
427+
// blockContainer.resetBlockList();
428+
// blockContainer.setSelectBlock(createdBlock);
429+
430+
// createdBlock.writeCode(`<p>${code}</p>`);
431+
// createdBlock.renderSelectedBlockBorderColor(true);
430432
} else {
431-
var lastBottomBlock = blockContainer.getRootToLastBottomBlock();
432-
lastBottomBlock.appendBlock(createdBlock, BLOCK_DIRECTION.DOWN);
433+
// add apps block
434+
createdBlock = blockContainer.createBlock(BLOCK_CODELINE_TYPE.APPS, null, null, true, true);
435+
createdBlock.setState({
436+
apps: {
437+
menu: blockContainer.apps,
438+
code: code,
439+
state: state
440+
}
441+
});
442+
// set code
443+
createdBlock.setState({
444+
[STATE_codeLine]: 'Apps > ' + title
445+
});
446+
// createdBlock.writeCode(code);
447+
createdBlock.apply();
448+
if (isFirstBlock == true) {
449+
// if it is first block, set as ROOT
450+
createdBlock.setDirection(BLOCK_DIRECTION.ROOT);
451+
} else {
452+
var lastBottomBlock = blockContainer.getRootToLastBottomBlock();
453+
lastBottomBlock.appendBlock(createdBlock, BLOCK_DIRECTION.DOWN);
454+
}
455+
blockContainer.addNodeBlock(createdBlock);
456+
blockContainer.resetBlockList();
457+
blockContainer.reRenderAllBlock_asc();
433458
}
434-
blockContainer.addNodeBlock(createdBlock);
435-
blockContainer.reRenderAllBlock_asc();
459+
436460
}
437461

438462
// 2. add cell and run cell

0 commit comments

Comments
 (0)