Skip to content

Commit

Permalink
Merge pull request #291 from camicroscope/e
Browse files Browse the repository at this point in the history
Changes for 3.7
  • Loading branch information
birm authored Apr 2, 2020
2 parents f2021f3 + 2ea437f commit c1bc1e8
Show file tree
Hide file tree
Showing 10 changed files with 508 additions and 1,066 deletions.
9 changes: 6 additions & 3 deletions apps/loader/chunked_upload.js
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
// expects changeStatus to be defined from loader.js

var start_url = '../load/Upload/start';
var continue_url = '../load/Upload/continue/';
var finish_url = '../load/Upload/finish/';
var start_url = '../loader/upload/start';
var continue_url = '../loader/upload/continue/';
var finish_url = '../loader/upload/finish/';
var chunkSize = 5*1024*1024;

// read a chunk of the file
Expand Down Expand Up @@ -50,6 +50,7 @@ async function handle_upload(selectedFiles) {
var tokentr = document.getElementById('tokenRow');
var slidetr = document.getElementById('slidenameRow');
var idtr = document.getElementById('fileIdRow');
var filtertr = document.getElementById('filterRow');

// Clear existing
document.getElementById('json_table').innerHTML = '';
Expand All @@ -58,6 +59,7 @@ async function handle_upload(selectedFiles) {
fnametr.deleteCell(1);
tokentr.deleteCell(1);
slidetr.deleteCell(1);
filtertr.deleteCell(1);
idtr.deleteCell(1);
}

Expand All @@ -70,6 +72,7 @@ async function handle_upload(selectedFiles) {
selectedFiles[i]['name']+'\'>';
tokentr.insertCell(-1).innerHTML = '<input type=text name=token id=\'token'+currID+'\'>';
slidetr.insertCell(-1).innerHTML = '<input type=text name=slidename id=\'slidename'+currID+'\'>';
filtertr.insertCell(-1).innerHTML = '<input type=text name=filter id=\'filter'+currID+'\'>';

selectedFile = selectedFiles[i];
const filename = document.getElementById('filename'+currID).value;
Expand Down
18 changes: 11 additions & 7 deletions apps/loader/loader.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
var upload_url = '../load/Slide/upload';
var check_url = '../load/Slide/info/';
var thumb_url = '../load/Slide/thumb/';
var upload_url = '../loader/upload/start/';
var check_url = '../loader/data/one/';
var thumb_url = '../loader/data/thumbnail/';

var store = new Store('../data/');

Expand Down Expand Up @@ -108,21 +108,24 @@ function handleCheck(filename, reset, id) {
);
}

function handlePost(filename, slidename, reset) {
function handlePost(filename, slidename, filter, reset) {
fetch(check_url + filename, {credentials: 'same-origin'}).then(
(response) => response.json(), // if the response is a JSON object
).then(
(data) => {
data['upload_date'] = new Date(Date.now()).toLocaleString();
data.name = slidename;
if (filter) {
data.filter = filter;
}
data.location = '/images/' + filename;
data.study = '';
data.specimen = '';
data.mpp = parseFloat(data['mpp-x']) || parseFloat(data['mpp-y']) || 0;
data.mpp_x = parseFloat(data['mpp-x']);
data.mpp_y = parseFloat(data['mpp-y']);
store.post('Slide', {}, data).then(
(success) => changeStatus('POST', success, reset), // Handle the success response object
store.post('Slide', data).then(
(success) => changeStatus('POST', success.result, reset), // Handle the success response object
).catch(
(error) => changeStatus('POST', error, reset), // Handle the error response object
);
Expand Down Expand Up @@ -151,7 +154,8 @@ function PostBtn() {
for (var i=0; i<document.getElementById('fileIdRow').cells.length-1; i++) {
var filename = document.getElementById('filename'+i).value;
var slidename = document.getElementById('slidename'+i).value;
if (i==0) handlePost(filename, slidename, true);
var filter = document.getElementById('filter'+i).value;
if (i==0) handlePost(filename, slidename, filter, true);
else handlePost(filename, slidename, false);
}
}
23 changes: 11 additions & 12 deletions apps/signup/signup.html
Original file line number Diff line number Diff line change
Expand Up @@ -18,21 +18,21 @@
<link rel='stylesheet' type='text/css' media='all' href='signup.css'/>
</head>
<script>
var userSignupUrl = "../../data/Auth/post"
var userSignupUrl = "../../data/User/post"
function addUser(){
var email = document.getElementById("mail").value
var collections = document.getElementById("collections").value
var filters = document.getElementById("filters").value
// var attr = document.querySelector('input[name="attr"]:checked').value
var attrEle = document.getElementById("attr");
var attr = attrEle.options[attrEle.selectedIndex].value;
var attr_doc = []
var userType = "Null"
if (attr == "3"){
attr_doc = ["write", "admin"]
userType = "Admin"
}
if (attr == "2"){
attr_doc = ["write"]
userType = "Editor"
}
var doc = {name: email, attrs: attr_doc, accessCollection:collections}
var doc = {email: email, userType: userType, userFilters:filters}
fetch(userSignupUrl, {
method: 'POST',
mode: 'cors', // no-cors, cors, *same-origin
Expand Down Expand Up @@ -107,7 +107,7 @@ <h2 style="margin-top: -.5em;">User Signup</h2>
<div class="form-group">
<div class="input-group">
<span class="input-group-addon"><i class="fa fa-th-list" style="margin-top: 0.5em;"></i></span>
<input type="text" id="collections" class="form-control" placeholder="['list','of','collections']"
<input type="text" id="filters" class="form-control" placeholder="['list','of','filters']"
required="required">
</div>
</div> <br>
Expand All @@ -116,17 +116,16 @@ <h2 style="margin-top: -.5em;">User Signup</h2>
<select id="attr" class="browser-default custom-select">
<option selected value="1">Viewer</option>
<option value="2">Editor</option>
<option value="3">Admin (and Editor)</option>
<option value="3">Admin</option>
</select>

<br> <br>
<div class="form-group">
<button type="submit" id="sub" class="btn btn-primary btn-block btn-lg sub-btn" onclick="addUser()">Sign
Up</button>
</div>
<p class="small text-center">If you reach this page, it's likely that you tried to log into this instance but lack
access.
Email the administrator if you want to be added. If you are an admin, you should be able to use this form.</p>
<p class="small text-center">This form is only useful to Admin users. If you reach this page, it's likely that you tried to log into this instance but lack
access. Email the administrator if you want to be added.</p>
</form>
<div class="text-center">Already have an account? </div>
</div>
Expand All @@ -139,4 +138,4 @@ <h2 style="margin-top: -.5em;">User Signup</h2>
<script type="text/javascript"
src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.4.1/js/bootstrap.min.js"></script>
</body>
</html>
</html>
5 changes: 4 additions & 1 deletion apps/table.html
Original file line number Diff line number Diff line change
Expand Up @@ -153,9 +153,12 @@ <h3>Steps for uploading.</h3>
<tr id="slidenameRow">
<td align="right"><b>Slidename</b></td>
</tr>
<tr id="filterRow">
<td align="right"><b>Filter (leave blank for public)</b></td>
</tr>
</table>

<div class="text-center">
<div class="text-center" id="controlButtons">
<button class="btn btn-primary" type="button" id="finish_btn"
value="Finish Upload" onclick="validateForm(finish_upload)">Finish
Upload</button>
Expand Down
4 changes: 2 additions & 2 deletions apps/viewer/uicallbacks.js
Original file line number Diff line number Diff line change
Expand Up @@ -694,7 +694,7 @@ function anno_delete(data) {
}

// no data found
if (!datas.rowsAffected || datas.rowsAffected < 1) {
if (!datas.deletedCount || datas.deletedCount < 1) {
$UI.message.addWarning(`Delete Annotations Failed.`, 5000);
return;
}
Expand Down Expand Up @@ -1126,7 +1126,7 @@ function anno_callback(data) {
}

// Add new lines to notes to prevent overflow
str = noteData.notes;
let str = noteData.notes || '';
var result_string = '';
while (str.length > 0) {
result_string += str.substring(0, 36) + '\n';
Expand Down
Loading

0 comments on commit c1bc1e8

Please sign in to comment.