Skip to content
Snippets Groups Projects
Commit 9efccb13 authored by juanf's avatar juanf
Browse files

SSDM-1964 : Incomplete box support.

SVN: 35097
parent 685fa703
No related branches found
No related tags found
No related merge requests found
......@@ -201,6 +201,7 @@ function StorageListView(storageListController, storageListModel) {
rackSelector: "on",
rackPositionMultiple: "off",
rackBoxDragAndDropEnabled: "off",
rackBoxDropEventHandler : null,
positionSelector: "on",
positionDropEventHandler: null,
boxPositionMultiple: "on",
......
......@@ -44,6 +44,13 @@ function StorageManagerController(mainController) {
newBoxPosition,
newDataHolder) {
var isBox = data.samples !== undefined;
if(isBox) {
var errorMsg = "Boxes can't be put inside other boxes.";
Util.showError(errorMsg);
throw errorMsg;
}
var isMultiplePosition = data.properties[newStoragePropertyGroup.positionProperty].split(" ").length > 1;
var isNewDataHolderEmpty = $(newDataHolder).children().length === 0;
if(isMultiplePosition) {
......@@ -76,6 +83,24 @@ function StorageManagerController(mainController) {
}
}
var getBoxDropEventHandler = function() {
return function(data,
newStoragePropertyGroup,
newStorageName,
newUserId,
oldBoxPosition,
newBoxPosition,
newDataHolder) {
var isBox = data.samples !== undefined;
if(!isBox) {
var errorMsg = "Samples can't be put inside a rack without a Box.";
Util.showError(errorMsg);
throw errorMsg;
}
}
}
//Sub Views Setup
this._storageFromController = new StorageController({
title : "Storage A",
......@@ -86,7 +111,8 @@ function StorageManagerController(mainController) {
boxSizeSelector: "on",
rackSelector: "on",
rackPositionMultiple: "off",
rackBoxDragAndDropEnabled: "off",
rackBoxDragAndDropEnabled: "on",
rackBoxDropEventHandler : getBoxDropEventHandler(),
positionSelector: "on",
positionDropEventHandler: getPositionDropEventHandler(),
boxPositionMultiple: "off",
......@@ -102,9 +128,10 @@ function StorageManagerController(mainController) {
boxSizeSelector: "on",
rackSelector: "on",
rackPositionMultiple: "off",
rackBoxDragAndDropEnabled: "off",
rackBoxDragAndDropEnabled: "on",
rackBoxDropEventHandler : getBoxDropEventHandler(),
positionSelector: "on",
positionDropEventHandler: getPositionDropEventHandler(this._storageManagerModel.changeLog),
positionDropEventHandler: getPositionDropEventHandler(),
boxPositionMultiple: "off",
positionDragAndDropEnabled: "on"
});
......
......@@ -76,6 +76,19 @@ function StorageController(configOverride) {
});
}
if(this._storageModel.config.rackBoxDropEventHandler !== null) {
this._gridController.getView().setPosDropEventHandler(
function(oldX, oldY, newX, newY, data, newDataHolder) {
_this._storageModel.config.rackBoxDropEventHandler(data,
_this._storageModel.storagePropertyGroup,
_this._storageModel.storageCode,
mainController.serverFacade.openbisServer.getSession().split("-")[0],
(Util.getLetterForNumber(oldX) + oldY),
(Util.getLetterForNumber(newX) + newY),
newDataHolder);
});
}
if(this._storageModel.config.positionDropEventHandler !== null) {
this._gridControllerPosition.getView().setPosDropEventHandler(
function(oldX, oldY, newX, newY, data, newDataHolder) {
......
......@@ -28,6 +28,7 @@ function StorageModel(configOverride) {
rackSelector: "on",
rackPositionMultiple: "off",
rackBoxDragAndDropEnabled: "off",
rackBoxDropEventHandler : null,
positionSelector: "off",
positionDropEventHandler: null,
boxPositionMultiple: "off",
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment