Commit 7756d26b authored by PkSM3's avatar PkSM3

[UPDATE] CRUD map-list OK

parent c4ed35c3
......@@ -497,20 +497,36 @@ class Keep(APIView):
return JsonHttpResponse(results)
def put(self, request, list_id, ngram_ids):
def put (self, request, corpus_id):
"""
Add ngrams to map list
"""
print( "list_id:",list_id )
print( "ngram_ids:",ngram_ids )
# for ngram_id in ngram_ids.split('+'):
# print('ngram_id', ngram_id)
# ngram_id = int(ngram_id)
# (session.query(NodeNgram)
# .filter(NodeNgram.node_id==list_id)
# .filter(NodeNgram.ngram_id==ngram_id).delete()
# )
# session.commit()
group_rawreq = dict(request.data)
ngram_2add = [int(i) for i in list(group_rawreq.keys())]
corpus = session.query(Node).filter( Node.id==corpus_id ).first()
node_mapList = get_or_create_node(nodetype='MapList', corpus=corpus )
for ngram_id in ngram_2add:
map_node = Node_Ngram( weight=1.0, ngram_id=ngram_id , node_id=node_mapList.id)
session.add(map_node)
session.commit()
return JsonHttpResponse(True, 201)
def delete (self, request, corpus_id):
"""
Delete ngrams from the map list
"""
group_rawreq = dict(request.data)
ngram_2del = [int(i) for i in list(group_rawreq.keys())]
corpus = session.query(Node).filter( Node.id==corpus_id ).first()
node_mapList = get_or_create_node(nodetype='MapList', corpus=corpus )
ngram_2del = session.query(NodeNgram).filter(NodeNgram.node_id==node_mapList.id , NodeNgram.ngram_id.in_(ngram_2del) ).all()
for map_node in ngram_2del:
try:
session.delete(map_node)
except:
pass
session.commit()
return JsonHttpResponse(True, 201)
......@@ -486,30 +486,43 @@ $("#Save_All").click(function(){
FlagsBuffer["delete"] = {}
FlagsBuffer["keep"] = {}
FlagsBuffer["outmap"] = {}
FlagsBuffer["inmap"] = {}
for(var id in AjaxRecords) {
if( ngrams_map[ AjaxRecords[id]["id"] ] ) {
if(AjaxRecords[id]["state"]==0 || AjaxRecords[id]["state"]==2) {
FlagsBuffer["outmap"][ AjaxRecords[id].id ] = true
}
} else {
if(AjaxRecords[id]["state"]==1) {
FlagsBuffer["inmap"][ AjaxRecords[id].id ] = true
}
}
if( AjaxRecords[id]["state"]>0 ) {
FlagsBuffer [ System[0].states[ AjaxRecords[id].state ] ] [ AjaxRecords[id].id ] = true
}
}
// [ = = = = For deleting subforms = = = = ]
for(var i in FlagsBuffer["group"]) {
if(FlagsBuffer["delete"][i]) {
for(var j in FlagsBuffer["group"][i] ) {
FlagsBuffer["delete"][FlagsBuffer["group"][i][j]] = true
}
}
}
// [ = = = = / For deleting subforms = = = = ]
console.log(" = = = = = = = = = == ")
console.log("FlagsBuffer:")
console.log(FlagsBuffer)
// // [ = = = = For deleting subforms = = = = ]
// for(var i in FlagsBuffer["group"]) {
// if(FlagsBuffer["delete"][i]) {
// for(var j in FlagsBuffer["group"][i] ) {
// FlagsBuffer["delete"][FlagsBuffer["group"][i][j]] = true
// }
// }
// }
// // [ = = = = / For deleting subforms = = = = ]
var nodes_2del = Object.keys(FlagsBuffer["delete"]).map(Number)
var nodes_2keep = Object.keys(FlagsBuffer["keep"]).map(Number)
var nodes_2group = $.extend({}, FlagsBuffer["group"]);
var nodes_2group = $.extend({}, FlagsBuffer["group"])
var nodes_2inmap = $.extend({}, FlagsBuffer["inmap"])
var nodes_2outmap = $.extend({}, FlagsBuffer["outmap"])
var list_id = $("#list_id").val()
var corpus_id = getIDFromURL( "corpus" ) // not used
......@@ -519,16 +532,19 @@ $("#Save_All").click(function(){
// // window.location.reload()
// });
CRUD( list_id , "" , nodes_2del , [] , "DELETE" ),
$.doTimeout( 1000, function(){
CRUD( list_id , "/keep" , nodes_2keep , [] , "PUT" )
$.doTimeout( 1000, function(){
CRUD( corpus_id , "/group" , [] , nodes_2group , "PUT" )
$.doTimeout( 1000, function(){
window.location.reload()
});
});
});
// CRUD( list_id , "" , nodes_2del , [] , "DELETE" ),
// $.doTimeout( 1000, function(){
// CRUD( corpus_id , "/keep" , [] , nodes_2outmap , "DELETE" )
// $.doTimeout( 1000, function(){
CRUD( corpus_id , "/keep" , [] , nodes_2inmap , "PUT" )
// $.doTimeout( 1000, function(){
// CRUD( corpus_id , "/group" , [] , nodes_2group , "PUT" )
// // $.doTimeout( 1000, function(){
// // window.location.reload()
// // });
// });
// });
// });
});
......@@ -537,6 +553,7 @@ function CRUD( parent_id , action , nodes , args , http_method ) {
var the_url = window.location.origin+"/api/node/"+parent_id+"/ngrams"+action+"/"+nodes.join("+");
the_url = the_url.replace(/\/$/, ""); //remove trailing slash
console.log( the_url )
console.log( args )
if(nodes.length>0 || Object.keys(args).length>0) {
$.ajax({
method: http_method,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment