Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Adjust the viewer page according to W3C standard #922

Open
wants to merge 1 commit into
base: develop
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
246 changes: 124 additions & 122 deletions apps/viewer/viewer.html
Original file line number Diff line number Diff line change
Expand Up @@ -182,192 +182,193 @@

<!-- common js START -->
<!-- Smartpen -->
<script type="text/javascript" src="../../common/enhance.js"></script>
<script type="text/javascript" src="../../common/smartpen/autoalign.js"></script>
<script src="../../common/enhance.js"></script>
<script src="../../common/smartpen/autoalign.js"></script>
<link rel="stylesheet" type="text/css" media="all" href="../../common/smartpen/autoalign.css"/>
<!-- Smartpen end -->

<!-- machine learning tool start -->
<script type="text/javascript" src="../../components/ml-assistant/ml-tool.js"></script>
<script
src="../../components/ml-assistant/ml-tool.js"></script>
<!-- machine learning tool end -->

<!-- util.js -->
<script type="text/javascript" src="../../common/util.js"></script>
<script type="text/javascript" src="../../common/DrawHelper.js"></script>
<script type="text/javascript" src="../../common/simplify.js"></script>
<script type="text/javascript" src="../../common/paths.js"></script>
<script type="text/javascript" src="../../common/touchMe.js"></script>
<script src="../../common/util.js"></script>
<script src="../../common/DrawHelper.js"></script>
<script src="../../common/simplify.js"></script>
<script src="../../common/paths.js"></script>
<script src="../../common/touchMe.js"></script>

<!-- add pure-form script -->
<script
type="text/javascript"

src="../../common/pureform/document-register-element.js"
></script>
<script
type="text/javascript"

src="../../common/pureform/pure-form.js"
></script>
<!-- color picker js -->
<script
type="text/javascript"

src="../../common/colorpicker/color-picker.js"
></script>
<!-- sortable js -->
<script
type="text/javascript"

src="../../common/sortable/Sortable.js"
></script>
<!-- AJV json validator engine -->
<script type="text/javascript" src="../../common/ajv.js"></script>
<script src="../../common/ajv.js"></script>
<!-- IDB helper -->
<script type="text/javascript" src="../../common/idb.js"></script>
<script src="../../common/idb.js"></script>

<!-- common js END -->

<!-- components js START -->
<!-- message display js -->
<script
type="text/javascript"

src="../../components/camessage/camessage.js"
></script>
<!-- toolbar js -->
<script
type="text/javascript"

src="../../components/toolbar/toolbar.js"
></script>
<!-- sidemenu js -->
<script
type="text/javascript"

src="../../components/sidemenu/sidemenu.js"
></script>
<!-- collapsible list js -->
<script
type="text/javascript"

src="../../components/collapsiblelist/collapsiblelist.js"
></script>
<!-- layers controller js -->
<script
type="text/javascript"

src="../../components/layersviewer/layersviewer.js"
></script>
<!-- labels controller js -->
<script
type="text/javascript"

src="../../components/labelsviewer/labelsviewer.js"
></script>
<!-- operation panel js -->
<script
type="text/javascript"

src="../../components/operationpanel/operationpanel.js"
></script>
<!-- loading cover js -->
<script
type="text/javascript"

src="../../components/loading/loading.js"
></script>
<!-- stylecontextmenu js -->
<script
type="text/javascript"

src="../../components/simplecontextmenu/simplecontextmenu.js"
></script>
<!-- popup panel js -->
<script
type="text/javascript"

src="../../components/popuppanel/popuppanel.js"
></script>
<!-- message queue js -->
<script
type="text/javascript"

src="../../components/messagequeue/messagequeue.js"
></script>
<!-- mult selector js -->
<script
type="text/javascript"

src="../../components/multselector/multselector.js"
></script>
<!-- spyglass -->
<script
type="text/javascript"

src="../../components/spyglass/spyglass.js"
></script>
<!-- modalbox -->
<script
type="text/javascript"

src="../../components/modalbox/modalbox.js"
></script>
<!-- ml-assistant -->
<script
type="text/javascript"

src="../../components/ml-assistant/ml-assistant.js"
></script>
<!-- components js END -->

<!-- osd & core js START -->
<script
type="text/javascript"

src="../../core/openseadragon/openseadragon.js"
></script>
<script
type="text/javascript"

src="../../core/openseadragon-imaginghelper.min.js"
></script>
<script
type="text/javascript"

src="../../core/openseadragon-scalebar.js"
></script>
<script
type="text/javascript"

src="../../core/openseadragonzoomlevels.js"
></script>

<!-- core (package/ext) libs -->
<script type="text/javascript" src="../../core/StatesHelper.js"></script>
<script src="../../core/StatesHelper.js"></script>

<script type="text/javascript" src="../../core/Validation.js"></script>
<script type="text/javascript" src="../../core/Store.js"></script>
<script type="text/javascript" src="../../core/CaMic.js"></script>
<script src="../../core/Validation.js"></script
<script src="../../core/Store.js"></script>
<script src="../../core/CaMic.js"></script>

<!-- opencv.js -->
<script type='text/javascript' src='../segment/opencv.js'></script>
<script src='../segment/opencv.js'></script>
<!-- turf.js -->
<script type='text/javascript' src='turf.min.js'></script>
<script src='turf.min.js'></script>
<!-- tensorflow.js -->
<script type='text/javascript' src='../../common/tf.min.js'></script>
<script src='../../common/tf.min.js'></script>
<!-- tfjs visulisation -->
<script type='text/javascript' src='../../common/tfjs-vis.min.js'></script>
<script src='../../common/tfjs-vis.min.js'></script>

<script
type="text/javascript"

src="../../core/extension/openseadragon-canvas-draw-overlay.js"
></script>
<script
type="text/javascript"

src="../../core/extension/openseadragon-overlays-manage.js"
></script>
<script
type="text/javascript"

src="../../core/extension/openseadragon-measurement-tool/openseadragon-measurement-tool.js"
></script>
<script
type="text/javascript"

src="../../core/extension/openseadragon-zoom-control/openseadragon-zoom-control.js"
></script>
<script
type="text/javascript"

src="../../core/extension/osd-heatmap-overlay.js"
></script>
<script
type="text/javascript"

src="../../core/extension/osd-segment-overlay.js"
></script>

<!-- business js -->
<!-- <script src="../../dist/packages.js"></script> -->
<script type='text/javascript' src='../../common/PathdbMods.js'></script>
<script type='text/javascript' src='../../common/LocalStore.js'></script>
<script type='text/javascript' src='../../common/NanoBorbMods.js'></script>
<script src='../../common/PathdbMods.js'></script>
<script src='../../common/LocalStore.js'></script>
<script src='../../common/NanoBorbMods.js'></script>
<script
type="text/javascript"

src="../../common/dynamicLoadScript.js"
></script>
<script src="./uicallbacks.js"></script>
Expand Down Expand Up @@ -427,78 +428,79 @@
<!-- Popper & tippy -->
<script src="https://unpkg.com/@popperjs/core@2"></script>
<script src="https://unpkg.com/tippy.js@6"></script>
<script >
if (detectIE()) {
createWarningText(
'You are using an <strong>IE/Edge</strong> browser that may be lead to erratic behavior on caMicroscope. Please switch to <a href="https://www.google.com/chrome/">Chrome</a>, <a href="https://www.mozilla.org/en-US/firefox/new/">Firefox</a> or <a href="https://www.apple.com/safari/">Safari</a> browser to improve your experience.'
);
}
//Loading.open(document.body, 'CaMicroscope is initializing...');
// get slide id from url
$D.params = getUrlVars();

if ($D.params.mode == 'pathdb') {
$D.pages.home = '../../../';
$D.pages.table = '../../../';
}

// load if we have at least one slide query element
if ($D.params && $D.params.slideId) {
// normal initialization starts
document.addEventListener("DOMContentLoaded", initialize);
} else if (
$D.params &&
($D.params.slide ||
$D.params.specimen ||
$D.params.study ||
$D.params.location ||
$D.params.collection
)
) {
let STORE = new Store('../../data/');
STORE.findSlide(
$D.params.slide,
$D.params.specimen,
$D.params.study,
$D.params.location,
null,
$D.params.collection
)
.then(x => {
let offset = parseInt($D.params.offset, 10) || 0;
if (x.length == 0 || offset >= x.length) {
redirect($D.pages.table, "No Slide Found. Redirecting To Table.");
} else {
newParams = $D.params;
delete newParams.data;
delete newParams.slide;
delete newParams.location;
delete newParams.offset;
newParams.slideId = x[offset]["_id"]["$oid"];
newUrl =
window.location.href.split("?")[0] +
"?" +
objToParamStr(newParams);
window.location.href = newUrl;
}
})
.catch(e => {
console.warn(e);
redirect($D.pages.table, "Redirecting to Table.");
});
// find the associated slideID
// open viewer with that slideID
} else {
redirect($D.pages.table, "Slide is undefined. Redirecting to Table.");
}

// get states parameters
if ($D.params.states) {
$D.params.states = StatesHelper.decodeStates($D.params.states);
}

</script>

</body>

<script type="text/javascript">
if (detectIE()) {
createWarningText(
'You are using an <strong>IE/Edge</strong> browser that may be lead to erratic behavior on caMicroscope. Please switch to <a href="https://www.google.com/chrome/">Chrome</a>, <a href="https://www.mozilla.org/en-US/firefox/new/">Firefox</a> or <a href="https://www.apple.com/safari/">Safari</a> browser to improve your experience.'
);
}
//Loading.open(document.body, 'CaMicroscope is initializing...');
// get slide id from url
$D.params = getUrlVars();

if ($D.params.mode == 'pathdb') {
$D.pages.home = '../../../';
$D.pages.table = '../../../';
}

// load if we have at least one slide query element
if ($D.params && $D.params.slideId) {
// normal initialization starts
document.addEventListener("DOMContentLoaded", initialize);
} else if (
$D.params &&
($D.params.slide ||
$D.params.specimen ||
$D.params.study ||
$D.params.location ||
$D.params.collection
)
) {
let STORE = new Store('../../data/');
STORE.findSlide(
$D.params.slide,
$D.params.specimen,
$D.params.study,
$D.params.location,
null,
$D.params.collection
)
.then(x => {
let offset = parseInt($D.params.offset, 10) || 0;
if (x.length == 0 || offset >= x.length) {
redirect($D.pages.table, "No Slide Found. Redirecting To Table.");
} else {
newParams = $D.params;
delete newParams.data;
delete newParams.slide;
delete newParams.location;
delete newParams.offset;
newParams.slideId = x[offset]["_id"]["$oid"];
newUrl =
window.location.href.split("?")[0] +
"?" +
objToParamStr(newParams);
window.location.href = newUrl;
}
})
.catch(e => {
console.warn(e);
redirect($D.pages.table, "Redirecting to Table.");
});
// find the associated slideID
// open viewer with that slideID
} else {
redirect($D.pages.table, "Slide is undefined. Redirecting to Table.");
}

// get states parameters
if ($D.params.states) {
$D.params.states = StatesHelper.decodeStates($D.params.states);
}

</script>

</html>