Skip to content
This repository has been archived by the owner on Feb 9, 2022. It is now read-only.

Commit

Permalink
Implemented microscope removal.
Browse files Browse the repository at this point in the history
  • Loading branch information
ggirelli committed Jun 14, 2019
1 parent e7bb8fd commit 6cc9969
Showing 1 changed file with 51 additions and 10 deletions.
61 changes: 51 additions & 10 deletions app/src/js/settings-microscope.js
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@

load_microscope_list = function() {
load_scopeList = function() {
// Load microscope list
var selectedTemplate = eset.get("selected-template");
var microscope_list = eset.get("templates." + selectedTemplate + ".microscopes");
var scopeList = eset.get("templates." + selectedTemplate + ".microscopes");
$("#settings-microscopes").children().remove();
for (var i = microscope_list.length - 1; i >= 0; i--) {
var microscope_name = microscope_list[i];
for (var i = scopeList.length - 1; i >= 0; i--) {
var microscope_name = scopeList[i];
var optElement = $("<option></option>").text(microscope_name);
if ( i == 0 ) { optElement.attr("selected", true); }
$("#settings-microscopes").prepend(optElement);
Expand All @@ -18,16 +18,56 @@ add_microscope = function() {
title: "How should we call the new microscope?",
callback: function(result) {
var selectedTemplate = eset.get("selected-template");
var microscope_list = eset.get("templates." + selectedTemplate + ".microscopes");
var scopeList = eset.get("templates." + selectedTemplate + ".microscopes");
if ( result == null || 0 == result.length ) {
toastr.error("No microscope added.");
} else if ( -1 != microscope_list.indexOf(result) ) {
} else if ( -1 != scopeList.indexOf(result) ) {
toastr.error("The provided name is already in use. Try again.");
} else {
microscope_list.push(result);
eset.set("templates." + selectedTemplate + ".microscopes", microscope_list);
load_microscope_list();
scopeList.push(result);
eset.set("templates." + selectedTemplate + ".microscopes", scopeList.sort());
toastr.success("Added microscope '" + result + "'!");
load_scopeList();
}
}
});
}

rm_microscope = function() {
// Remove current microscope. Requires confirmation.
var selectedTemplate = eset.get("selected-template");

var scopeList = eset.get("templates." + selectedTemplate + ".microscopes"),
selectedScope = $("#settings-microscopes").val();

var msg = "Are you sure you want to cancel the '" + selectedScope + "' microscope?<br/>";
msg = msg + "<small class='text-danger'>This cannot be undone!</small>";
bootbox.confirm({
message: msg,
callback: function(result){
if ( result ) {
var new_scopeList = $.grep(scopeList, (value) => { return value != selectedScope }).sort();
eset.set("templates." + selectedTemplate + ".microscopes", new_scopeList);

// Light sources
var sourceRootPath = "templates." + selectedTemplate + ".sources";
var sources = eset.get(sourceRootPath);
for (var i = Object.keys(sources).length - 1; i >= 0; i--) {
var sourceName = Object.keys(sources)[i],
sourcePath = sourceRootPath + "." + sourceName;
scopeList = eset.get(sourcePath + ".microscopes");
if ( -1 != scopeList.indexOf(selectedScope) ) {
new_scopeList = $.grep(scopeList, (value) => { return value != selectedScope }).sort();
eset.set(sourcePath + ".microscopes", new_scopeList);
}
}

// Optical components

toastr.success("The microscope '" + selectedScope + "' has been removed.");
load_scopeList();
} else {
toastr.info("Nothing done.");
}
}
});
Expand Down Expand Up @@ -107,9 +147,10 @@ load_microscope_components = function() {

$(function() {
$("#settings-scope-tab").click(function(e) {
load_microscope_list();
load_scopeList();
load_microscope_components();
});
$("#settings-microscopes").change(function(e) { load_microscope_components(); });
$("#settings-add-microscope-btn").click(function(e) { add_microscope(); });
$("#settings-rm-microscope-btn").click(function(e) { rm_microscope(); });
});

0 comments on commit 6cc9969

Please sign in to comment.