mirror of
https://bitbucket.org/wisemapping/wisemapping-open-source.git
synced 2024-11-25 15:37:56 +01:00
moving api methods to MindmapController
This commit is contained in:
parent
d089b471fc
commit
d555309c22
@ -56,4 +56,24 @@ public class Label {
|
|||||||
public void setColor(@NotNull String color) {
|
public void setColor(@NotNull String color) {
|
||||||
this.color = color;
|
this.color = color;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean equals(Object o) {
|
||||||
|
if (this == o) return true;
|
||||||
|
if (!(o instanceof Label)) return false;
|
||||||
|
|
||||||
|
Label label = (Label) o;
|
||||||
|
|
||||||
|
return id == label.id && creator.getId() == label.creator.getId()
|
||||||
|
&& !(parent != null ? !parent.equals(label.parent) : label.parent != null);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int hashCode() {
|
||||||
|
int result = id;
|
||||||
|
result = 31 * result + title.hashCode();
|
||||||
|
result = 31 * result + creator.hashCode();
|
||||||
|
result = 31 * result + (parent != null ? parent.hashCode() : 0);
|
||||||
|
return result;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -7,6 +7,13 @@ public class LabelMindmap implements Serializable{
|
|||||||
private int mindmapId;
|
private int mindmapId;
|
||||||
private int labelId;
|
private int labelId;
|
||||||
|
|
||||||
|
public LabelMindmap(int labelId, int mindmapId) {
|
||||||
|
this.mindmapId = mindmapId;
|
||||||
|
this.labelId = labelId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public LabelMindmap() {}
|
||||||
|
|
||||||
public int getMindmapId() {
|
public int getMindmapId() {
|
||||||
return mindmapId;
|
return mindmapId;
|
||||||
}
|
}
|
||||||
|
@ -318,7 +318,7 @@ public class Mindmap {
|
|||||||
return result;
|
return result;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
//creo que no se usa mas
|
||||||
public boolean hasLabel(@NotNull final String name) {
|
public boolean hasLabel(@NotNull final String name) {
|
||||||
for (Label label : this.labels) {
|
for (Label label : this.labels) {
|
||||||
if (label.getTitle().equals(name)) {
|
if (label.getTitle().equals(name)) {
|
||||||
@ -327,4 +327,19 @@ public class Mindmap {
|
|||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Nullable public Label findLabel(int labelId) {
|
||||||
|
Label result = null;
|
||||||
|
for (Label label : this.labels) {
|
||||||
|
if (label.getId() == labelId) {
|
||||||
|
result = label;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void removeLabel(@NotNull final Label label) {
|
||||||
|
this.labels.remove(label);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -37,9 +37,6 @@ public class LabelController extends BaseController {
|
|||||||
@Qualifier("labelService")
|
@Qualifier("labelService")
|
||||||
@Autowired
|
@Autowired
|
||||||
private LabelService labelService;
|
private LabelService labelService;
|
||||||
@Qualifier("mindmapService")
|
|
||||||
@Autowired
|
|
||||||
private MindmapService mindmapService;
|
|
||||||
|
|
||||||
|
|
||||||
@RequestMapping(method = RequestMethod.POST, value = "/labels", consumes = {"application/json"})
|
@RequestMapping(method = RequestMethod.POST, value = "/labels", consumes = {"application/json"})
|
||||||
@ -67,28 +64,6 @@ public class LabelController extends BaseController {
|
|||||||
return new RestLabelList(all);
|
return new RestLabelList(all);
|
||||||
}
|
}
|
||||||
|
|
||||||
@RequestMapping(method = RequestMethod.POST, value = "/labels/maps", consumes = {"application/json"})
|
|
||||||
@ResponseStatus(value = HttpStatus.ACCEPTED)
|
|
||||||
public void linkToMindMaps(@RequestBody RestLabel restLabel, @RequestParam(required = true) String ids, @NotNull HttpServletResponse response) throws WiseMappingException {
|
|
||||||
int id = restLabel.getId();
|
|
||||||
Label label = labelService.getLabelById(id);
|
|
||||||
if (label == null) {
|
|
||||||
// create label..
|
|
||||||
validate(restLabel);
|
|
||||||
createLabel(restLabel);
|
|
||||||
label = restLabel.getDelegated();
|
|
||||||
response.setHeader("ResourceId", Integer.toString(label.getId()));
|
|
||||||
}
|
|
||||||
for (String mindmapId : ids.split(",")) {
|
|
||||||
final Mindmap mindmap = mindmapService.findMindmapById(Integer.parseInt(mindmapId));
|
|
||||||
if (mindmap == null) {
|
|
||||||
throw new MapCouldNotFoundException("Map could not be found. Id:" + id);
|
|
||||||
}
|
|
||||||
mindmap.addLabel(label);
|
|
||||||
mindmapService.updateMindmap(mindmap, false);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@RequestMapping(method = RequestMethod.DELETE, value = "/labels/{id}")
|
@RequestMapping(method = RequestMethod.DELETE, value = "/labels/{id}")
|
||||||
@ResponseStatus(value = HttpStatus.NO_CONTENT)
|
@ResponseStatus(value = HttpStatus.NO_CONTENT)
|
||||||
public void deleteLabelById(@PathVariable int id) throws WiseMappingException {
|
public void deleteLabelById(@PathVariable int id) throws WiseMappingException {
|
||||||
|
@ -31,11 +31,13 @@ import com.wisemapping.importer.ImporterFactory;
|
|||||||
import com.wisemapping.model.Collaboration;
|
import com.wisemapping.model.Collaboration;
|
||||||
import com.wisemapping.model.CollaborationProperties;
|
import com.wisemapping.model.CollaborationProperties;
|
||||||
import com.wisemapping.model.CollaborationRole;
|
import com.wisemapping.model.CollaborationRole;
|
||||||
|
import com.wisemapping.model.Label;
|
||||||
import com.wisemapping.model.MindMapHistory;
|
import com.wisemapping.model.MindMapHistory;
|
||||||
import com.wisemapping.model.Mindmap;
|
import com.wisemapping.model.Mindmap;
|
||||||
import com.wisemapping.model.User;
|
import com.wisemapping.model.User;
|
||||||
import com.wisemapping.rest.model.RestCollaboration;
|
import com.wisemapping.rest.model.RestCollaboration;
|
||||||
import com.wisemapping.rest.model.RestCollaborationList;
|
import com.wisemapping.rest.model.RestCollaborationList;
|
||||||
|
import com.wisemapping.rest.model.RestLabel;
|
||||||
import com.wisemapping.rest.model.RestMindmap;
|
import com.wisemapping.rest.model.RestMindmap;
|
||||||
import com.wisemapping.rest.model.RestMindmapHistory;
|
import com.wisemapping.rest.model.RestMindmapHistory;
|
||||||
import com.wisemapping.rest.model.RestMindmapHistoryList;
|
import com.wisemapping.rest.model.RestMindmapHistoryList;
|
||||||
@ -617,4 +619,32 @@ public class MindmapController extends BaseController {
|
|||||||
result.rejectValue(fieldName, "error.not-specified", null, message);
|
result.rejectValue(fieldName, "error.not-specified", null, message);
|
||||||
return new ValidationException(result);
|
return new ValidationException(result);
|
||||||
}
|
}
|
||||||
|
@RequestMapping(method = RequestMethod.DELETE, value = "/labels/maps/{id}")
|
||||||
|
@ResponseStatus(value = HttpStatus.NO_CONTENT)
|
||||||
|
public void removeLabel(@RequestBody RestLabel restLabel, @PathVariable int id) throws WiseMappingException {
|
||||||
|
final Mindmap mindmap = findMindmapById(id);
|
||||||
|
final User currentUser = Utils.getUser();
|
||||||
|
final Label delegated = restLabel.getDelegated();
|
||||||
|
assert currentUser != null;
|
||||||
|
delegated.setCreator(currentUser);
|
||||||
|
mindmapService.removeLabel(mindmap, delegated);
|
||||||
|
}
|
||||||
|
|
||||||
|
@RequestMapping(method = RequestMethod.POST, value = "/labels/maps", consumes = {"application/json"})
|
||||||
|
@ResponseStatus(value = HttpStatus.ACCEPTED)
|
||||||
|
public void addLabel(@RequestBody RestLabel restLabel, @RequestParam(required = true) String ids) throws WiseMappingException {
|
||||||
|
int labelId = restLabel.getId();
|
||||||
|
for (String id : ids.split(",")) {
|
||||||
|
final int mindmapId = Integer.parseInt(id);
|
||||||
|
final Mindmap mindmap = findMindmapById(mindmapId);
|
||||||
|
final Label label = mindmap.findLabel(labelId);
|
||||||
|
if (label == null) {
|
||||||
|
final Label delegated = restLabel.getDelegated();
|
||||||
|
delegated.setCreator(Utils.getUser());
|
||||||
|
mindmapService.addLabel(mindmap, delegated);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -69,4 +69,8 @@ public interface MindmapService {
|
|||||||
boolean isAdmin(@Nullable User user);
|
boolean isAdmin(@Nullable User user);
|
||||||
|
|
||||||
void purgeHistory(int mapId) throws IOException;
|
void purgeHistory(int mapId) throws IOException;
|
||||||
|
|
||||||
|
void addLabel(@NotNull final Mindmap mindmap, @NotNull final Label label);
|
||||||
|
|
||||||
|
void removeLabel(@NotNull final Mindmap mindmap, @NotNull final Label label);
|
||||||
}
|
}
|
||||||
|
@ -87,6 +87,18 @@ public class MindmapServiceImpl
|
|||||||
mindmapManager.purgeHistory(mapId);
|
mindmapManager.purgeHistory(mapId);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void addLabel(@NotNull Mindmap mindmap, @NotNull final Label label) {
|
||||||
|
mindmap.addLabel(label);
|
||||||
|
mindmapManager.saveMindmap(mindmap);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void removeLabel(@NotNull Mindmap mindmap, @NotNull Label label) {
|
||||||
|
mindmap.removeLabel(label);
|
||||||
|
mindmapManager.saveMindmap(mindmap);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Mindmap getMindmapByTitle(String title, User user) {
|
public Mindmap getMindmapByTitle(String title, User user) {
|
||||||
return mindmapManager.getMindmapByTitle(title, user);
|
return mindmapManager.getMindmapByTitle(title, user);
|
||||||
|
@ -257,15 +257,13 @@ $(function () {
|
|||||||
$(document).on('click', '#createLabelBtn',
|
$(document).on('click', '#createLabelBtn',
|
||||||
function () {
|
function () {
|
||||||
var mapIds = $('#mindmapListTable').dataTableExt.getSelectedMapsIds();
|
var mapIds = $('#mindmapListTable').dataTableExt.getSelectedMapsIds();
|
||||||
var url = mapIds.length == 0
|
|
||||||
? "c/restful/labels"
|
|
||||||
: "c/restful/labels/maps?ids=" + jQuery.makeArray(mapIds).join(',');
|
|
||||||
|
|
||||||
$("#new-folder-dialog-modal").dialogForm({
|
$("#new-folder-dialog-modal").dialogForm({
|
||||||
url: url,
|
url: "c/restful/labels",
|
||||||
postUpdate: function(data, id) {
|
postUpdate: function(data, id) {
|
||||||
createLabelItem(data, id);
|
createLabelItem(data, id);
|
||||||
tagMindmaps(data.id || id, data.title, data.color);
|
if (mapIds.length > 0) {
|
||||||
|
linkLabelToMindmap(mapIds, {id: id, title: data.title, color: data.color});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@ -281,7 +279,6 @@ $(function () {
|
|||||||
|
|
||||||
if (labels) {
|
if (labels) {
|
||||||
prepareLabelList(labels);
|
prepareLabelList(labels);
|
||||||
|
|
||||||
$(document).one('click', '.chooseLabel',
|
$(document).one('click', '.chooseLabel',
|
||||||
function () {
|
function () {
|
||||||
var mapIds = $('#mindmapListTable').dataTableExt.getSelectedMapsIds();
|
var mapIds = $('#mindmapListTable').dataTableExt.getSelectedMapsIds();
|
||||||
@ -289,15 +286,7 @@ $(function () {
|
|||||||
var labelId = $(this).attr('value');
|
var labelId = $(this).attr('value');
|
||||||
var labelName = $(this).text();
|
var labelName = $(this).text();
|
||||||
var labelColor = $(this).attr('color');
|
var labelColor = $(this).attr('color');
|
||||||
jQuery.ajax("c/restful/labels/maps?ids=" + jQuery.makeArray(mapIds).join(','), {
|
linkLabelToMindmap(mapIds, {id: labelId, title: labelName, color: labelColor});
|
||||||
type:'POST',
|
|
||||||
//dataType: "json",
|
|
||||||
contentType:"application/json; charset=utf-8",
|
|
||||||
data: JSON.stringify({id: labelId}),
|
|
||||||
success: function() {
|
|
||||||
tagMindmaps(labelId, labelName, labelColor);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
@ -458,11 +447,13 @@ $(function () {
|
|||||||
|
|
||||||
$(document).on('click', ".closeTag", function() {
|
$(document).on('click', ".closeTag", function() {
|
||||||
var me = $(this);
|
var me = $(this);
|
||||||
|
var mindmapId = me.parents("td").find("a").attr("value");
|
||||||
var data = {
|
var data = {
|
||||||
mindmapId: me.parents("td").find("a").attr("value"),
|
id: me.attr("value"),
|
||||||
labelId: me.attr("value")
|
title: me.attr("name"),
|
||||||
|
color: me.css('background-color')
|
||||||
};
|
};
|
||||||
jQuery.ajax("c/restful/labels/maps", {
|
jQuery.ajax("c/restful/labels/maps/" + mindmapId, {
|
||||||
async:false,
|
async:false,
|
||||||
//dataType:'json', comentado momentaneamente, problema con jquery 2.1.0
|
//dataType:'json', comentado momentaneamente, problema con jquery 2.1.0
|
||||||
data:JSON.stringify(data),
|
data:JSON.stringify(data),
|
||||||
@ -510,13 +501,13 @@ function labelTagsAsHtml(labels) {
|
|||||||
"<table class='tableTag'>" +
|
"<table class='tableTag'>" +
|
||||||
"<tbody><tr>" +
|
"<tbody><tr>" +
|
||||||
"<td style='cursor: default; background-color:"+ label.color +"'>" +
|
"<td style='cursor: default; background-color:"+ label.color +"'>" +
|
||||||
"<div class='labelTag' >" +
|
"<div class='labelTag' >" +
|
||||||
label.title +
|
label.title +
|
||||||
'</div>' +
|
'</div>' +
|
||||||
"</td>" +
|
"</td>" +
|
||||||
//"<td style='padding: 0; background-color: #d8d4d4'></td>" +
|
//"<td style='padding: 0; background-color: #d8d4d4'></td>" +
|
||||||
"<td class='closeTag' style='background-color:" + label.color +"' value='" + label.id + "' >" +
|
"<td class='closeTag' style='background-color:" + label.color +"' name='" + label.title +"'value='" + label.id + "' >" +
|
||||||
"<span style='top: -1px;position: relative;font-size: 11px' title='delete label'>x</span>"+
|
"<span style='top: -1px;position: relative;font-size: 11px' title='delete label'>x</span>"+
|
||||||
"</td>" +
|
"</td>" +
|
||||||
"</tr></tbody>" +
|
"</tr></tbody>" +
|
||||||
"</table>"
|
"</table>"
|
||||||
@ -579,3 +570,19 @@ function prepareLabelList(labels) {
|
|||||||
labelList.append('<li><div class="listSeparator"></div></li>')
|
labelList.append('<li><div class="listSeparator"></div></li>')
|
||||||
labelList.append(defaultValue);
|
labelList.append(defaultValue);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function linkLabelToMindmap(mapIds, label) {
|
||||||
|
jQuery.ajax("c/restful/labels/maps?ids=" + jQuery.makeArray(mapIds).join(','), {
|
||||||
|
type: 'POST',
|
||||||
|
//dataType: "json",
|
||||||
|
contentType: "application/json; charset=utf-8",
|
||||||
|
data: JSON.stringify({
|
||||||
|
id: label.id,
|
||||||
|
title: label.title,
|
||||||
|
color: label.color
|
||||||
|
}),
|
||||||
|
success: function () {
|
||||||
|
tagMindmaps(label.id, label.title, label.color);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user