Skip to content

Commit 8e08bc3

Browse files
author
Gaurav SinghaRoy
committed
created a method to get block from a list of blocks
1 parent fc750e7 commit 8e08bc3

1 file changed

Lines changed: 25 additions & 4 deletions

File tree

app/assets/javascripts/resources/querybuilder.js

Lines changed: 25 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -625,7 +625,8 @@ QueryBuilder = {
625625
var reader = new FileReader();
626626
var file_data = "";
627627
reader.onload = function(e){
628-
console.log(QueryBuilder.convert.configured.get_string_blocks(reader.result));
628+
var blocks = QueryBuilder.convert.configured.get_string_blocks(reader.result);
629+
console.log(QueryBuilder.convert.configured.get_block_string_from_blocks(blocks,"variable_dictionary"));
629630
};
630631
reader.readAsText(f);
631632
}
@@ -634,6 +635,29 @@ QueryBuilder = {
634635

635636
},
636637

638+
get_block_string_from_blocks : function(blocks, block_type){
639+
var result = "";
640+
var inside = false;
641+
var break_loop = false;
642+
for(i=0;i<blocks.length;i++){
643+
if(blocks[i].charAt(0) == '{' && blocks[i].charAt(1) == '{' && blocks[i].charAt(blocks[i].length-1) == '}' && blocks[i].charAt(blocks[i].length-2) == '}')
644+
{
645+
if(blocks[i].indexOf("start") > -1){
646+
if(blocks[i].indexOf(block_type) > -1){
647+
inside = true;
648+
}
649+
}
650+
else if(inside == true && blocks[i].indexOf("end")){
651+
result = blocks[i-1];
652+
break_loop = true;
653+
}
654+
}
655+
if(break_loop == true)
656+
break;
657+
}
658+
return result;
659+
660+
},
637661
get_string_blocks : function(file_data){
638662
var result = [];
639663
var index_pairs = QueryBuilder.convert.configured.get_block_index_pairs(file_data);
@@ -650,11 +674,8 @@ QueryBuilder = {
650674
var index_pairs = [];
651675
var start_index = 0;
652676
var end_index = 0;
653-
console.log("getting block index pairs ... ");
654-
console.log(file_data);
655677
for(i=0;i<file_data.length-1;i++){
656678
if(entered_block == false){
657-
console.log(file_data);
658679
if(file_data.charAt(i) == '{' && file_data.charAt(i+1) == '{'){
659680
start_index = i;
660681
entered_block = true;

0 commit comments

Comments
 (0)