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

sync: development with development-sync-00f2 #1126

Merged
merged 12 commits into from
Jun 21, 2021
10 changes: 0 additions & 10 deletions components/configuration/VFBOverview/quickHelp.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,16 +3,6 @@
"height": "575",
"width": "900",
"steps": [{
"title": "Welcome to Virtual Fly Brain",
"image" : "https://VirtualFlyBrain.org/data/VFB/screencaps/VFB_3D_400x400.jpg",
"instructions": [{
"icon" : "fa fa-question-circle-o",
"label" : "Hi, we are currently running a VFB User Survey, once you have used the site please consider completing this survey to help us improve it by clicking User Survey in the Help menu above."
},{
"icon" : "fa fa-fast-forward",
"label" : "Just click NEXT below for handy tips on using VFB or SKIP INTRO to close this and jump right into VFB."
}]
},{
"title": "Welcome to Virtual Fly Brain",
"image" : "geppetto/build/VFBqHelpMain.jpg",
"instructions": [{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -624,14 +624,6 @@ var toolbarMenu = {
position: "bottom-start",
list: [
{
label: "User Survey",
icon: "",
trailerIcon: "fa fa-external-link",
action: {
handlerAction: "openNewTab",
parameters: ["https://www.surveymonkey.co.uk/r/5HDZZRR"]
}
},{
label: "F.A.Q.",
icon: "",
trailerIcon: "fa fa-external-link",
Expand Down
2 changes: 1 addition & 1 deletion components/interface/VFBTermInfo/VFBTermInfo.js
Original file line number Diff line number Diff line change
Expand Up @@ -732,12 +732,12 @@ class VFBTermInfoWidget extends React.Component {
return;
}
var Query = require('@geppettoengine/geppetto-core/model/Query');
var n = window[path];
var otherId;
var otherName;
var target = widget;
var that = this;
var meta = path + "." + path + "_meta";
var n = window[meta];
if (n != undefined) {
var metanode = Instances.getInstance(meta);
if ((this.data.length > 0) && (this.data[0] == metanode)) {
Expand Down
16 changes: 16 additions & 0 deletions css/VFBTermInfo.less
Original file line number Diff line number Diff line change
Expand Up @@ -934,3 +934,19 @@
transition: all 0.50s;
}
}

details > summary > i.fa-chevron-circle-right {
display: inline-block;
}

details > summary > i.fa-chevron-circle-down {
display: none;
}

details[open] > summary > i.fa-chevron-circle-down {
display: inline-block;
}

details[open] > summary > i.fa-chevron-circle-right {
display: none;
}
41 changes: 32 additions & 9 deletions model/vfb.xmi
Original file line number Diff line number Diff line change
Expand Up @@ -150,6 +150,9 @@
<types xsi:type="gep_1:SimpleType"
id="has_region_connectivity"
name="Has Region Connectivity"/>
<types xsi:type="gep_1:SimpleType"
id="NBLASTexp"
name="NBLAST to exp"/>
</libraries>
<libraries
id="vfbLibrary"
Expand Down Expand Up @@ -538,6 +541,26 @@
returnType="//@libraries.3/@types.0"
queryProcessorId="neo4jQueryProcessor"/>
</queries>
<queries
xsi:type="gep_2:CompoundQuery"
id="has_similar_morphology_to_part_of"
name="NBLASTexp similarity neo Query"
description="NBLASTexp similarity neo Query"
returnType="//@libraries.3/@types.1">
<queryChain
xsi:type="gep_2:SimpleQuery"
id="NBLAST_anat_image_query"
name="NBLAST_anat_image_query"
description="find has_similar_morphology_to relationships"
returnType="//@libraries.3/@types.1"
query="&quot;statement&quot;: &quot;MATCH (n:Neuron)-[nblast:has_similar_morphology_to_part_of]->(primary:Expression_pattern) WHERE n.short_form in [$id] WITH primary, nblast OPTIONAL MATCH (c:Class)&lt;-[:INSTANCEOF]-(primary) OPTIONAL MATCH (primary)&lt;-[:depicts]-(channel:Individual)-[irw:in_register_with]->(template:Individual)-[:depicts]->(template_anat:Individual) WITH template, channel, template_anat, irw, primary, nblast OPTIONAL MATCH (channel)-[:is_specified_output_of]->(technique:Class) WITH CASE WHEN channel IS NULL THEN [] ELSE collect ({ channel: { short_form: channel.short_form, label: coalesce(channel.label,''), iri: channel.iri, types: labels(channel), symbol: coalesce(channel.symbol[0], '')} , imaging_technique: { short_form: technique.short_form, label: coalesce(technique.label,''), iri: technique.iri, types: labels(technique), symbol: coalesce(technique.symbol[0], '')} ,image: { template_channel : { short_form: template.short_form, label: coalesce(template.label,''), iri: template.iri, types: labels(template), symbol: coalesce(template.symbol[0], '')} , template_anatomy: { short_form: template_anat.short_form, label: coalesce(template_anat.label,''), iri: template_anat.iri, types: labels(template_anat), symbol: coalesce(template_anat.symbol[0], '')} ,image_folder: COALESCE(irw.folder[0], ''), index: coalesce(apoc.convert.toInteger(irw.index[0]), []) + [] }}) END AS channel_image,primary, nblast OPTIONAL MATCH (primary)-[:INSTANCEOF]->(typ:Class) WITH CASE WHEN typ is null THEN [] ELSE collect ({ short_form: typ.short_form, label: coalesce(typ.label,''), iri: typ.iri, types: labels(typ), symbol: coalesce(typ.symbol[0], '')} ) END AS types,primary,channel_image, nblast RETURN { core : { short_form: primary.short_form, label: coalesce(primary.label,''), iri: primary.iri, types: labels(primary), symbol: coalesce(primary.symbol[0], '')} , description : coalesce(primary.description, []), comment : coalesce(primary.comment, []) } AS term, nblast.NBLAST_score[0] as score, 'm20210503' AS version, 'NBLASTexp_anat_image_query' AS query, channel_image, types&quot;, &quot;parameters&quot; : { &quot;id&quot; : &quot;$ID&quot; }"
countQuery="&quot;statement&quot;: &quot;MATCH (n:Individual)-[nblast:has_similar_morphology_to_part_of]->(primary:Individual) WHERE n.short_form in [$id] RETURN count(primary) AS count&quot;, &quot;parameters&quot; : { &quot;id&quot; : &quot;$ID&quot; }"/>
<queryChain
xsi:type="gep_2:ProcessQuery"
name="Process Images"
returnType="//@libraries.3/@types.1"
queryProcessorId="neo4jQueryProcessor"/>
</queries>
<fetchVariableQuery
xsi:type="gep_2:CompoundQuery"
name="Compound query for collating term information"
Expand Down Expand Up @@ -1020,15 +1043,6 @@
<matchingCriteria
type="//@libraries.3/@types.1 //@libraries.3/@types.23"/>
</queries>
<queries xsi:type="gep_2:CompoundRefQuery"
id="targeting"
name="NBLAST GAL4 targeting"
description="NBLAST potential GAL4's targeting $NAME"
returnType="//@libraries.3/@types.0"
queryChain="//@dataSources.4/@queries.1 //@dataSources.4/@queries.2 //@dataSources.0/@queries.1">
<matchingCriteria
type="//@libraries.3/@types.0 //@libraries.3/@types.2 //@libraries.3/@types.25"/>
</queries>
<queries xsi:type="gep_2:CompoundRefQuery"
id="AllAlignedImages"
name="Show all images aligned to template"
Expand Down Expand Up @@ -1108,4 +1122,13 @@
<matchingCriteria
type="//@libraries.3/@types.0 //@libraries.3/@types.16"/>
</queries>
<queries xsi:type="gep_2:CompoundRefQuery"
id="SimilarMorphologyToPartOf"
name="has_similar_morphology_to_part_of"
description="GAL4 with some similar morphology to $NAME [NBLAST mean score]"
returnType="//@libraries.3/@types.2"
queryChain="//@dataSources.0/@queries.19">
<matchingCriteria
type="//@libraries.3/@types.0 //@libraries.3/@types.2 //@libraries.3/@types.44"/>
</queries>
</gep:GeppettoModel>
2 changes: 1 addition & 1 deletion tests/jest/vfb/batch1/menu-component-tests.js
Original file line number Diff line number Diff line change
Expand Up @@ -105,7 +105,7 @@ describe('VFB Menu Component Tests', () => {
await wait4selector(page, "ul.MuiList-root", { visible: true, timeout : 120000 })
// Check there's four elements in the drop down menu of 'Help'
const dropDownMenuItems = await page.evaluate(async () => document.getElementsByClassName("MuiListItem-root").length);
expect(dropDownMenuItems).toEqual(5);
expect(dropDownMenuItems).toEqual(4);
})

it('Help Modal FAQ Tab Opened', async () => {
Expand Down