Commit 215784f9 authored by PkSM3's avatar PkSM3

[UPDATE] add to map-list, delete ngrams, OK

parent 38fcc5d6
...@@ -59,6 +59,7 @@ _ngrams_order_columns = { ...@@ -59,6 +59,7 @@ _ngrams_order_columns = {
from rest_framework.authentication import SessionAuthentication, BasicAuthentication from rest_framework.authentication import SessionAuthentication, BasicAuthentication
from rest_framework.views import APIView from rest_framework.views import APIView
from rest_framework.response import Response from rest_framework.response import Response
from rest_framework.renderers import JSONRenderer
from rest_framework.exceptions import APIException as _APIException from rest_framework.exceptions import APIException as _APIException
class APIException(_APIException): class APIException(_APIException):
...@@ -332,6 +333,26 @@ class Group(APIView): ...@@ -332,6 +333,26 @@ class Group(APIView):
class Keep(APIView): class Keep(APIView):
pass """
Actions on one existing Ngram in one list
"""
renderer_classes = (JSONRenderer,)
authentication_classes = (SessionAuthentication, BasicAuthentication)
def put(self, request, list_id, ngram_ids):
"""
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()
return JsonHttpResponse(True, 201)
...@@ -4,6 +4,8 @@ from gargantext_web import views_optimized ...@@ -4,6 +4,8 @@ from gargantext_web import views_optimized
from rest_v1_0 import api, ngrams, graph from rest_v1_0 import api, ngrams, graph
from annotations import views
urlpatterns = patterns('', urlpatterns = patterns('',
# REST URLS # REST URLS
# What is REST ? # What is REST ?
...@@ -11,31 +13,23 @@ urlpatterns = patterns('', ...@@ -11,31 +13,23 @@ urlpatterns = patterns('',
#url(r'^api$', rest_v1_0.api.Root), # = ? #url(r'^api$', rest_v1_0.api.Root), # = ?
url(r'nodes$', api.NodesList.as_view()), url(r'nodes$', api.NodesList.as_view()),
url(r'nodes$', api.NodesList.as_view()),
url(r'nodes/(\d+)$', api.Nodes.as_view()), url(r'nodes/(\d+)$', api.Nodes.as_view()),
url(r'nodes/(\d+)$', api.Nodes.as_view()),
url(r'nodes/(\d+)/children/ngrams$', api.NodesChildrenNgrams.as_view()), # => repeated children ?
url(r'nodes/(\d+)/children/ngrams$', api.NodesChildrenNgrams.as_view()), # => repeated children ? url(r'nodes/(\d+)/children/ngrams$', api.NodesChildrenNgrams.as_view()), # => repeated children ?
# NGRAMS table & annotations # NGRAMS table & annotations
url(r'node/(\d+)/ngrams$' , ngrams.Ngrams.as_view()), url(r'node/(\d+)/ngrams$' , ngrams.Ngrams.as_view()),
url(r'node/(\d+)/ngrams/group$', ngrams.Group.as_view()), url(r'node/(\d+)/ngrams/group$', ngrams.Group.as_view()),
url(r'node/(\d+)/ngrams/keep$' , ngrams.Keep.as_view()), url(r'node/(?P<list_id>[0-9]+)/ngrams/keep/(?P<ngram_ids>[0-9,\+]+)+$' , ngrams.Keep.as_view()),
url(r'node/(?P<list_id>[0-9]+)/ngrams/(?P<ngram_ids>[0-9,\+]+)+$', views.NgramEdit.as_view()),
url(r'node/(\d+)/ngrams/list$' , ngrams.List.as_view()), url(r'node/(\d+)/ngrams/list$' , ngrams.List.as_view()),
#url(r'nodes/(\d+)/children/hyperdata$', api.NodesChildrenMetatadata.as_view()), #url(r'nodes/(\d+)/children/hyperdata$', api.NodesChildrenMetatadata.as_view()),
#url(r'nodes/(\d+)/children/hyperdata$', api.NodesChildrenMetatadata.as_view()), #url(r'nodes/(\d+)/children/hyperdata$', api.NodesChildrenMetatadata.as_view()),
url(r'nodes/(\d+)/children/queries$', api.NodesChildrenQueries.as_view()), url(r'nodes/(\d+)/children/queries$', api.NodesChildrenQueries.as_view()),
url(r'nodes/(\d+)/children/queries$', api.NodesChildrenQueries.as_view()),
url(r'nodes/(\d+)/children/duplicates$', api.NodesChildrenDuplicates.as_view()),
url(r'nodes/(\d+)/children/duplicates$', api.NodesChildrenDuplicates.as_view()), url(r'nodes/(\d+)/children/duplicates$', api.NodesChildrenDuplicates.as_view()),
# url(r'^api/nodes/(\d+)/children/duplicates/delete$', api.NodesChildrenDuplicates.delete ), # url(r'^api/nodes/(\d+)/children/duplicates/delete$', api.NodesChildrenDuplicates.delete ),
url(r'nodes/(\d+)/ngrams$', api.CorpusController.ngrams), url(r'nodes/(\d+)/ngrams$', api.CorpusController.ngrams),
url(r'nodes/(\d+)/ngrams$', api.CorpusController.ngrams),
url(r'nodes/(\d+)/graph$', graph.Graph.as_view()), url(r'nodes/(\d+)/graph$', graph.Graph.as_view()),
url(r'corpus/(\d+)/graph$', graph.Graph.as_view()), url(r'corpus/(\d+)/graph$', graph.Graph.as_view()),
......
...@@ -26,12 +26,12 @@ var TheBuffer = false ...@@ -26,12 +26,12 @@ var TheBuffer = false
var PossibleActions = [ var PossibleActions = [
{ {
"id":"to_delete", "id":"delete",
"name": "Delete", "name": "Delete",
"color":"red" "color":"red"
}, },
{ {
"id":"to_keep", "id":"keep",
"name": "Keep", "name": "Keep",
"color":"green" "color":"green"
}, },
...@@ -47,7 +47,7 @@ var System = { ...@@ -47,7 +47,7 @@ var System = {
// 1: { // 1: {
// }, // },
0: { 0: {
"states" : [ "normal" , "to_keep" , "to_delete" , "grouped"] , "states" : [ "normal" , "keep" , "delete" , "group"] ,
"statesD" : {} , "statesD" : {} ,
"dict" : { "dict" : {
"normal": { "normal": {
...@@ -55,18 +55,18 @@ var System = { ...@@ -55,18 +55,18 @@ var System = {
"name": "Normal", "name": "Normal",
"color":"black" "color":"black"
}, },
"to_delete": { "delete": {
"id":"to_delete", "id":"delete",
"name": "Delete", "name": "Delete",
"color":"red" "color":"red"
}, },
"to_keep": { "keep": {
"id":"to_keep", "id":"keep",
"name": "Keep", "name": "Keep",
"color":"green" "color":"green"
}, },
"grouped": { "group": {
"id":"grouped", "id":"group",
"name": "MainForm", "name": "MainForm",
"color":"white" "color":"white"
} }
...@@ -208,7 +208,7 @@ function save_groups() { ...@@ -208,7 +208,7 @@ function save_groups() {
if (count==0) { if (count==0) {
if(writeflag) { if(writeflag) {
// AjaxRecords[RecDict[nid]].name += "*" // AjaxRecords[RecDict[nid]].name += "*"
FlagsBuffer["grouped"][ nid ] = [] FlagsBuffer["group"][ nid ] = []
mainform = nid mainform = nid
AjaxRecords[RecDict[nid]].state = 1 AjaxRecords[RecDict[nid]].state = 1
} else { } else {
...@@ -216,7 +216,7 @@ function save_groups() { ...@@ -216,7 +216,7 @@ function save_groups() {
} }
} else { } else {
if(writeflag) { if(writeflag) {
FlagsBuffer["grouped"][ mainform ].push( nid ) FlagsBuffer["group"][ mainform ].push( nid )
AjaxRecords[RecDict[nid]].state = -1 AjaxRecords[RecDict[nid]].state = -1
} }
} }
...@@ -263,7 +263,7 @@ function add2groupdiv( elem_id ) { ...@@ -263,7 +263,7 @@ function add2groupdiv( elem_id ) {
MyTable.data('dynatable').dom.update(); MyTable.data('dynatable').dom.update();
}) })
.appendTo('#group_box_content') .appendTo('#group_box_content')
AjaxRecords[elem_id].state=3;// 3: "grouped" state AjaxRecords[elem_id].state=3;// 3: "group" state
} }
// new // new
function add2group ( elem ) { function add2group ( elem ) {
...@@ -282,14 +282,14 @@ function add2group ( elem ) { ...@@ -282,14 +282,14 @@ function add2group ( elem ) {
var elem_id = $( elem ).data("stuff") var elem_id = $( elem ).data("stuff")
add2groupdiv( elem_id ) add2groupdiv( elem_id )
if( FlagsBuffer["grouped"][ AjaxRecords[elem_id].id ] ) { if( FlagsBuffer["group"][ AjaxRecords[elem_id].id ] ) {
for(var i in FlagsBuffer["grouped"][ AjaxRecords[elem_id].id ] ) { for(var i in FlagsBuffer["group"][ AjaxRecords[elem_id].id ] ) {
var nodeid = FlagsBuffer["grouped"][ AjaxRecords[elem_id].id ][i] var nodeid = FlagsBuffer["group"][ AjaxRecords[elem_id].id ][i]
add2groupdiv ( RecDict[ nodeid ] ) add2groupdiv ( RecDict[ nodeid ] )
} }
} }
delete FlagsBuffer["grouped"][ AjaxRecords[elem_id].id ] delete FlagsBuffer["group"][ AjaxRecords[elem_id].id ]
MyTable.data('dynatable').dom.update(); MyTable.data('dynatable').dom.update();
} }
...@@ -307,8 +307,8 @@ function clickngram_action ( elem ) { ...@@ -307,8 +307,8 @@ function clickngram_action ( elem ) {
// var sum__selected_elems = 0; // var sum__selected_elems = 0;
// for(var i in FlagsBuffer["grouped"]) // for(var i in FlagsBuffer["group"])
// sum__selected_elems += Object.keys( FlagsBuffer["grouped"][i] ).length // sum__selected_elems += Object.keys( FlagsBuffer["group"][i] ).length
// for(var i in FlagsBuffer) // for(var i in FlagsBuffer)
// sum__selected_elems += Object.keys(FlagsBuffer[i]).length; // sum__selected_elems += Object.keys(FlagsBuffer[i]).length;
...@@ -328,10 +328,10 @@ function transformContent(rec_id) { ...@@ -328,10 +328,10 @@ function transformContent(rec_id) {
var result = {} var result = {}
var atts = System[0]["dict"][ System[0]["states"][elem.state] ] var atts = System[0]["dict"][ System[0]["states"][elem.state] ]
var plus_event = "" var plus_event = ""
if(GState==0 && elem.state!=System[0]["statesD"]["to_delete"] ) // if deleted, no + button if(GState==0 && elem.state!=System[0]["statesD"]["delete"] ) // if deleted, no + button
plus_event = " <a class=\"plusclass\" onclick=\"add2group(this.parentNode.parentNode)\">(+)</a>" plus_event = " <a class=\"plusclass\" onclick=\"add2group(this.parentNode.parentNode)\">(+)</a>"
if(GState==1 ) { if(GState==1 ) {
if(elem.state!=System[0]["statesD"]["to_delete"] && elem.state!=System[0]["statesD"]["grouped"]) { // if deleted and already grouped, no Up button if(elem.state!=System[0]["statesD"]["delete"] && elem.state!=System[0]["statesD"]["group"]) { // if deleted and already group, no Up button
plus_event = " <a class=\"plusclass\" onclick=\"add2group(this.parentNode.parentNode)\">(▲)</a>" plus_event = " <a class=\"plusclass\" onclick=\"add2group(this.parentNode.parentNode)\">(▲)</a>"
} }
} }
...@@ -483,8 +483,8 @@ $("#Save_All").click(function(){ ...@@ -483,8 +483,8 @@ $("#Save_All").click(function(){
console.log("click in save all 01") console.log("click in save all 01")
var sum__selected_elems = 0; var sum__selected_elems = 0;
FlagsBuffer["to_delete"] = {} FlagsBuffer["delete"] = {}
FlagsBuffer["to_keep"] = {} FlagsBuffer["keep"] = {}
for(var id in AjaxRecords) { for(var id in AjaxRecords) {
if( AjaxRecords[id]["state"]>0 ) { if( AjaxRecords[id]["state"]>0 ) {
...@@ -497,29 +497,39 @@ $("#Save_All").click(function(){ ...@@ -497,29 +497,39 @@ $("#Save_All").click(function(){
console.log(FlagsBuffer) console.log(FlagsBuffer)
// // [ = = = = For deleting subforms = = = = ] // // [ = = = = For deleting subforms = = = = ]
// for(var i in FlagsBuffer["grouped"]) { // for(var i in FlagsBuffer["group"]) {
// if(FlagsBuffer["to_delete"][i]) { // if(FlagsBuffer["delete"][i]) {
// for(var j in FlagsBuffer["grouped"][i] ) { // for(var j in FlagsBuffer["group"][i] ) {
// FlagsBuffer["to_delete"][FlagsBuffer["grouped"][i][j]] = true // FlagsBuffer["delete"][FlagsBuffer["group"][i][j]] = true
// } // }
// } // }
// } // }
// // [ = = = = / For deleting subforms = = = = ] // // [ = = = = / For deleting subforms = = = = ]
var nodes_2del = Object.keys(FlagsBuffer["to_delete"]).map(Number) var nodes_2del = Object.keys(FlagsBuffer["delete"]).map(Number)
var nodes_2keep = Object.keys(FlagsBuffer["to_keep"]).map(Number) var nodes_2keep = Object.keys(FlagsBuffer["keep"]).map(Number)
var nodes_2group = FlagsBuffer["grouped"] var nodes_2group = FlagsBuffer["group"]
var list_id = $("#list_id").val() var list_id = $("#list_id").val()
//DELETING var corpus_id = getIDFromURL( "corpus" ) // not used
if(Object.keys(FlagsBuffer["to_delete"]).length>0) {
CRUD( list_id , "" , nodes_2del , "DELETE" )
CRUD( list_id , "/keep" , nodes_2keep , "PUT" )
});
function CRUD( parent_id , action , nodes , http_method ) {
var the_url = window.location.origin+"/api/node/"+parent_id+"/ngrams"+action+"/"+nodes.join("+");
if(nodes.length>0) {
$.ajax({ $.ajax({
method: "DELETE", method: http_method,
url: window.location.origin+'/annotations/lists/'+list_id+"/ngrams/"+nodes_2del.join("+"), url: the_url,
beforeSend: function(xhr) { beforeSend: function(xhr) {
xhr.setRequestHeader("X-CSRFToken", getCookie("csrftoken")); xhr.setRequestHeader("X-CSRFToken", getCookie("csrftoken"));
}, },
success: function(data){ success: function(data){
console.log(http_method + " ok!!")
console.log(nodes)
console.log(data) console.log(data)
}, },
error: function(result) { error: function(result) {
...@@ -527,9 +537,9 @@ $("#Save_All").click(function(){ ...@@ -527,9 +537,9 @@ $("#Save_All").click(function(){
console.log(result) console.log(result)
} }
}); });
}
}); }
}
function Main_test( data , initial) { function Main_test( data , initial) {
......
...@@ -44,15 +44,15 @@ tr:hover { ...@@ -44,15 +44,15 @@ tr:hover {
background-color: #F5A9A9; background-color: #F5A9A9;
}*/ }*/
.to_delete { .delete {
color:red; color:red;
opacity: 0.8; opacity: 0.8;
} }
.to_keep { .keep {
color:green; color:green;
} }
.grouped { .group {
color:white; color:white;
pointer-events: none; pointer-events: none;
cursor: default; cursor: default;
......
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