@@ -26,6 +26,7 @@ let vars_in_scope = {
2626 "div-1" : editor
2727}
2828
29+ let cells_order = [ "div-1" ] // store the cells order
2930var md_texts = { } //stores markdown text and corresponding div name
3031var __code_cell_count = 1
3132
@@ -98,7 +99,6 @@ function add_new_code_cell(c_id, where) {
9899 __code_cell_count += 1
99100 let last_scope_id = parseInt ( Object . keys ( vars_in_scope ) . pop ( ) . split ( "-" ) [ 1 ] )
100101 let id = c_id . split ( "-" ) [ 1 ]
101-
102102 if ( where == "down" ) {
103103 where = "down"
104104 } else {
@@ -155,10 +155,14 @@ function add_new_code_cell(c_id, where) {
155155
156156 if ( where == "up" ) {
157157 divReference . insertAdjacentHTML ( "beforebegin" , html ) ;
158+ let current_cell_id = cells_order . indexOf ( `div-${ id } ` )
159+ cells_order . splice ( current_cell_id , 0 , `div-${ new_id } ` )
158160 } else {
159161 divReference . insertAdjacentHTML ( "afterend" , html ) ;
162+ cells_order [ new_id - 1 ] = `div-${ new_id } `
160163 }
161164
165+ console . log ( cells_order )
162166 let editor = CodeMirror ( document . getElementById ( `div-${ new_id } ` ) , {
163167 lineNumbers : true ,
164168 tabSize : 2 ,
@@ -195,7 +199,7 @@ function add_new_text_cell(c_id, where) {
195199 __code_cell_count += 1
196200 let last_scope_id = parseInt ( Object . keys ( vars_in_scope ) . pop ( ) . split ( "-" ) [ 1 ] )
197201 let id = c_id . split ( "-" ) [ 1 ]
198-
202+
199203 if ( where == "down" ) {
200204 where = "down"
201205 } else {
@@ -254,10 +258,14 @@ function add_new_text_cell(c_id, where) {
254258
255259 if ( where == "up" ) {
256260 divReference . insertAdjacentHTML ( "beforebegin" , html ) ;
261+ let current_cell_id = cells_order . indexOf ( `div_text-${ id } ` )
262+ cells_order . splice ( current_cell_id , 0 , `div_text-${ new_id } ` )
257263 } else {
258264 divReference . insertAdjacentHTML ( "afterend" , html ) ;
265+ cells_order [ new_id - 1 ] = `div_text-${ new_id } `
259266 }
260267
268+ console . log ( cells_order )
261269 vars_in_scope [ `div_text-${ new_id } ` ] = ""
262270
263271 update_text_box_size ( )
@@ -364,7 +372,7 @@ function update_text_box_size() {
364372
365373
366374$ ( "#download" ) . click ( function ( ) {
367- let out = notebook_json ( vars_in_scope , md_texts ) ;
375+ let out = notebook_json ( cells_order , vars_in_scope , md_texts ) ;
368376
369377 var blob = new Blob ( [ out ] , { "type" : "application/json" } ) ;
370378 var url = ( window . URL || window . webkitURL ) . createObjectURL ( blob ) ;
@@ -383,11 +391,11 @@ $("#download").click(function () {
383391
384392$ ( "#import-notebook-file" ) . change ( ( ) => {
385393
386- var files = $ ( "#import-notebook-file" ) [ 0 ] . files
394+ let files = $ ( "#import-notebook-file" ) [ 0 ] . files
387395 let json_content = null
388396 if ( files . length > 0 ) {
389- var content = files [ 0 ] ;
390- var reader = new FileReader ( ) ;
397+ let content = files [ 0 ] ;
398+ let reader = new FileReader ( ) ;
391399 reader . onload = function ( t ) {
392400 json_content = t . target . result ;
393401 let json = JSON . parse ( json_content )
0 commit comments