Compare commits
No commits in common. "texts" and "design" have entirely different histories.
|
@ -1,73 +1,46 @@
|
||||||
@prefix : <http://vitro.mannlib.cornell.edu/ns/vitro/ApplicationSetup#> .
|
@prefix : <http://vitro.mannlib.cornell.edu/ns/vitro/ApplicationSetup#> .
|
||||||
@prefix searchIndex: <java:edu.cornell.mannlib.vitro.webapp.searchindex#> .
|
|
||||||
|
|
||||||
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
|
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
|
||||||
|
|
||||||
:vivodocumentModifier_excerptsInComplexPublications
|
:vivodocumentModifier_excerptsInArticles
|
||||||
a <java:edu.cornell.mannlib.vitro.webapp.searchindex.documentBuilding.SelectQueryDocumentModifier> ,
|
a <java:edu.cornell.mannlib.vitro.webapp.searchindex.documentBuilding.SelectQueryDocumentModifier> ,
|
||||||
<java:edu.cornell.mannlib.vitro.webapp.searchindex.documentBuilding.DocumentModifier> ;
|
<java:edu.cornell.mannlib.vitro.webapp.searchindex.documentBuilding.DocumentModifier> ;
|
||||||
rdfs:label "Populate complex publications with excerpts" ;
|
rdfs:label "Elenph article excerpts" ;
|
||||||
:hasTargetField "ALLTEXT" ;
|
:hasTargetField "ALLTEXT" ;
|
||||||
:hasSelectQuery """
|
:hasSelectQuery """
|
||||||
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
|
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
|
||||||
PREFIX ts: <https://litvinovg.pro/text_structures#>
|
PREFIX ts_: <https://litvinovg.pro/text_structures#>
|
||||||
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
|
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
|
||||||
SELECT DISTINCT ?value
|
SELECT DISTINCT ?value
|
||||||
WHERE {
|
WHERE {
|
||||||
?uri ts:hasTOC ?toc .
|
?uri rdf:type ts_:elenphArticle .
|
||||||
?toc (ts:hasTOCItem/ts:pointsTo)+/ts:hasText ?excerpt .
|
?uri ts_:hasTOC ?toc .
|
||||||
VALUES ?property { ts:works ts:bibliography ts:htmlExcerpt ts:keywords }
|
?toc (ts_:hasTOCItem/ts_:pointsTo)+/ts_:hasText ?elenphExcerpt .
|
||||||
?excerpt ?property ?value .
|
VALUES ?property { ts_:works ts_:bibliography ts_:htmlExcerpt ts_:keywords }
|
||||||
|
?elenphExcerpt ?property ?value .
|
||||||
}
|
}
|
||||||
""" .
|
""" .
|
||||||
|
|
||||||
:vivoUriFinder_excerptsInComplexPublications
|
:vivodocumentModifier_PopulateText
|
||||||
a searchIndex:indexing.IndexingUriFinder ,
|
|
||||||
searchIndex:indexing.SelectQueryUriFinder ;
|
|
||||||
rdfs:label "When excerpts change" ;
|
|
||||||
:hasSelectQuery """
|
|
||||||
PREFIX ts: <https://litvinovg.pro/text_structures#>
|
|
||||||
SELECT ?uri
|
|
||||||
WHERE {
|
|
||||||
?uri ts:hasTOC ?toc .
|
|
||||||
?toc (ts:hasTOCItem/ts:pointsTo)+/ts:hasText ?subject .
|
|
||||||
}
|
|
||||||
""" .
|
|
||||||
|
|
||||||
:vivoUriFinder_onRubricsAssign
|
|
||||||
a searchIndex:indexing.IndexingUriFinder ,
|
|
||||||
searchIndex:indexing.SelectQueryUriFinder ;
|
|
||||||
rdfs:label "When rubric was assigned" ;
|
|
||||||
:hasSelectQuery """
|
|
||||||
PREFIX ts: <https://litvinovg.pro/text_structures#>
|
|
||||||
SELECT ?uri
|
|
||||||
WHERE {
|
|
||||||
?subject a ts:textExcerpt .
|
|
||||||
VALUES ?uri { ?subject }
|
|
||||||
}
|
|
||||||
""" .
|
|
||||||
|
|
||||||
:vivodocumentModifier_PopulateTextWithHTMLContentsOfExcerpts
|
|
||||||
a <java:edu.cornell.mannlib.vitro.webapp.searchindex.documentBuilding.SelectQueryDocumentModifier> ,
|
a <java:edu.cornell.mannlib.vitro.webapp.searchindex.documentBuilding.SelectQueryDocumentModifier> ,
|
||||||
<java:edu.cornell.mannlib.vitro.webapp.searchindex.documentBuilding.DocumentModifier> ;
|
<java:edu.cornell.mannlib.vitro.webapp.searchindex.documentBuilding.DocumentModifier> ;
|
||||||
rdfs:label "Html text to text field" ;
|
rdfs:label "Html text to text field" ;
|
||||||
:hasTargetField "text" ;
|
:hasTargetField "text" ;
|
||||||
:hasSelectQuery """
|
:hasSelectQuery """
|
||||||
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
|
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
|
||||||
PREFIX ts: <https://litvinovg.pro/text_structures#>
|
PREFIX ts_: <https://litvinovg.pro/text_structures#>
|
||||||
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
|
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
|
||||||
SELECT DISTINCT ?htmlExcerpt
|
SELECT DISTINCT ?htmlExcerpt
|
||||||
WHERE {
|
WHERE {
|
||||||
{
|
{
|
||||||
?uri rdf:type ts:textExcerpt .
|
?uri rdf:type ts_:textExcerpt .
|
||||||
?uri ts:htmlExcerpt ?htmlExcerpt .
|
?uri ts_:htmlExcerpt ?htmlExcerpt .
|
||||||
}
|
}
|
||||||
UNION
|
UNION
|
||||||
{
|
{
|
||||||
?uri rdf:type ts:complexPublication .
|
?uri rdf:type ts_:publication .
|
||||||
?uri ts:hasTOC ?toc .
|
?uri ts_:hasTOC ?toc .
|
||||||
?toc (ts:hasTOCItem/ts:pointsTo)+/ts:hasText ?excerpt .
|
?toc (ts_:hasTOCItem/ts_:pointsTo)+/ts_:hasText ?artExcerpt .
|
||||||
?excerpt ts:htmlExcerpt ?htmlExcerpt .
|
?artExcerpt ts_:htmlExcerpt ?htmlExcerpt .
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
""" .
|
""" .
|
||||||
|
@ -79,22 +52,22 @@
|
||||||
:hasTargetField "rubrics" ;
|
:hasTargetField "rubrics" ;
|
||||||
:hasSelectQuery """
|
:hasSelectQuery """
|
||||||
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
|
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
|
||||||
PREFIX ts: <https://litvinovg.pro/text_structures#>
|
PREFIX ts_: <https://litvinovg.pro/text_structures#>
|
||||||
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
|
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
|
||||||
PREFIX pr: <https://iph.ras.ru/relationships#>
|
PREFIX pr: <https://iph.ras.ru/relationships#>
|
||||||
SELECT DISTINCT ?rubric
|
SELECT DISTINCT ?rubric
|
||||||
WHERE {
|
WHERE {
|
||||||
{
|
{
|
||||||
?uri rdf:type ts:textExcerpt .
|
?uri rdf:type ts_:elenphExcerpt .
|
||||||
?uri pr:belongsTo ?assignedRubric .
|
?uri pr:belongsTo ?assignedRubric .
|
||||||
?assignedRubric (pr:hasParent)* ?rubric .
|
?assignedRubric (pr:hasParent)* ?rubric .
|
||||||
}
|
}
|
||||||
UNION
|
UNION
|
||||||
{
|
{
|
||||||
?uri rdf:type ts:complexPublication .
|
?uri rdf:type ts_:elenphArticle .
|
||||||
?uri ts:hasTOC ?toc .
|
?uri ts_:hasTOC ?toc .
|
||||||
?toc (ts:hasTOCItem/ts:pointsTo)+/ts:hasText ?excerpt .
|
?toc (ts_:hasTOCItem/ts_:pointsTo)+/ts_:hasText ?artExcerpt .
|
||||||
?excerpt pr:belongsTo ?assignedRubric .
|
?artExcerpt pr:belongsTo ?assignedRubric .
|
||||||
?assignedRubric (pr:hasParent)* ?rubric .
|
?assignedRubric (pr:hasParent)* ?rubric .
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -122,20 +95,20 @@
|
||||||
:hasTargetField "keywords" ;
|
:hasTargetField "keywords" ;
|
||||||
:hasSelectQuery """
|
:hasSelectQuery """
|
||||||
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
|
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
|
||||||
PREFIX ts: <https://litvinovg.pro/text_structures#>
|
PREFIX ts_: <https://litvinovg.pro/text_structures#>
|
||||||
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
|
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
|
||||||
SELECT DISTINCT ?keywords
|
SELECT DISTINCT ?keywords
|
||||||
WHERE {
|
WHERE {
|
||||||
{
|
{
|
||||||
?uri rdf:type ts:elenphArticle .
|
?uri rdf:type ts_:elenphArticle .
|
||||||
?uri ts:hasTOC ?toc .
|
?uri ts_:hasTOC ?toc .
|
||||||
?toc (ts:hasTOCItem/ts:pointsTo)+/ts:hasText ?elenphExcerpt .
|
?toc (ts_:hasTOCItem/ts_:pointsTo)+/ts_:hasText ?elenphExcerpt .
|
||||||
?elenphExcerpt ts:keywords ?keywords .
|
?elenphExcerpt ts_:keywords ?keywords .
|
||||||
}
|
}
|
||||||
UNION
|
UNION
|
||||||
{
|
{
|
||||||
?uri rdf:type ts:elenphExcerpt .
|
?uri rdf:type ts_:elenphExcerpt .
|
||||||
?uri ts:keywords ?keywords .
|
?uri ts_:keywords ?keywords .
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
""" .
|
""" .
|
||||||
|
@ -147,20 +120,20 @@
|
||||||
:hasTargetField "bibliography" ;
|
:hasTargetField "bibliography" ;
|
||||||
:hasSelectQuery """
|
:hasSelectQuery """
|
||||||
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
|
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
|
||||||
PREFIX ts: <https://litvinovg.pro/text_structures#>
|
PREFIX ts_: <https://litvinovg.pro/text_structures#>
|
||||||
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
|
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
|
||||||
SELECT DISTINCT ?bibliography
|
SELECT DISTINCT ?bibliography
|
||||||
WHERE {
|
WHERE {
|
||||||
{
|
{
|
||||||
?uri rdf:type ts:elenphArticle .
|
?uri rdf:type ts_:elenphArticle .
|
||||||
?uri ts:hasTOC ?toc .
|
?uri ts_:hasTOC ?toc .
|
||||||
?toc (ts:hasTOCItem/ts:pointsTo)+/ts:hasText ?elenphExcerpt .
|
?toc (ts_:hasTOCItem/ts_:pointsTo)+/ts_:hasText ?elenphExcerpt .
|
||||||
?elenphExcerpt ts:bibliography ?bibliography .
|
?elenphExcerpt ts_:bibliography ?bibliography .
|
||||||
}
|
}
|
||||||
UNION
|
UNION
|
||||||
{
|
{
|
||||||
?uri rdf:type ts:elenphExcerpt .
|
?uri rdf:type ts_:elenphExcerpt .
|
||||||
?uri ts:bibliography ?bibliography .
|
?uri ts_:bibliography ?bibliography .
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
""" .
|
""" .
|
||||||
|
|
|
@ -42,11 +42,11 @@ display:getCompilationExcerptPathsDataGetter
|
||||||
display:saveToVar "paths";
|
display:saveToVar "paths";
|
||||||
display:query
|
display:query
|
||||||
"""
|
"""
|
||||||
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
|
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
|
||||||
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
|
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
|
||||||
PREFIX ts_: <https://litvinovg.pro/text_structures#>
|
PREFIX ts_: <https://litvinovg.pro/text_structures#>
|
||||||
SELECT (GROUP_CONCAT(substr(concat("000",str(?outline)),strlen(str(?outline))); SEPARATOR = ".") AS ?path ) (COUNT(?outline) AS ?level) ?tocElement ?elenphExcerpt
|
SELECT (GROUP_CONCAT(substr(concat("000",str(?outline)),strlen(str(?outline))); SEPARATOR = ".") AS ?path ) ?tocElement ?elenphExcerpt
|
||||||
WHERE {
|
WHERE {
|
||||||
?individualURI ts_:hasTOC ?toc .
|
?individualURI ts_:hasTOC ?toc .
|
||||||
?toc ts_:hasTOCItem/(ts_:pointsTo/ts_:hasTOCItem)* ?tmpTOCItem .
|
?toc ts_:hasTOCItem/(ts_:pointsTo/ts_:hasTOCItem)* ?tmpTOCItem .
|
||||||
?tmpTOCItem rdf:type ts_:TOCItem .
|
?tmpTOCItem rdf:type ts_:TOCItem .
|
||||||
|
@ -56,10 +56,10 @@ display:getCompilationExcerptPathsDataGetter
|
||||||
?tocElement ts_:hasText ?elenphExcerpt .
|
?tocElement ts_:hasText ?elenphExcerpt .
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
SELECT ?tocElement
|
SELECT ?tocElement
|
||||||
WHERE {
|
WHERE {
|
||||||
?individualURI ts_:hasTOC ?toc .
|
?individualURI ts_:hasTOC ?toc .
|
||||||
?toc (ts_:hasTOCItem/ts_:pointsTo)+ ?tocElement .
|
?toc (ts_:hasTOCItem/ts_:pointsTo)+ ?tocElement .
|
||||||
?tocElement rdf:type ts_:TOCLevel .
|
?tocElement rdf:type ts_:TOCLevel .
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -74,11 +74,11 @@ display:getCompilationBibliographyDataGetter
|
||||||
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
|
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
|
||||||
PREFIX ts_: <https://litvinovg.pro/text_structures#>
|
PREFIX ts_: <https://litvinovg.pro/text_structures#>
|
||||||
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
|
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
|
||||||
SELECT DISTINCT ?bibliography ?excerpt
|
SELECT DISTINCT ?bibliography ?elenphExcerpt
|
||||||
WHERE {
|
WHERE {
|
||||||
?individualURI ts_:hasTOC ?toc .
|
?individualURI ts_:hasTOC ?toc .
|
||||||
?toc (ts_:hasTOCItem/ts_:pointsTo)+/ts_:hasText ?excerpt .
|
?toc (ts_:hasTOCItem/ts_:pointsTo)+/ts_:hasText ?elenphExcerpt .
|
||||||
?excerpt ts_:bibliography ?bibliography .
|
?elenphExcerpt ts_:bibliography ?bibliography .
|
||||||
} ORDER BY ?bibliography
|
} ORDER BY ?bibliography
|
||||||
""" .
|
""" .
|
||||||
|
|
||||||
|
@ -90,11 +90,11 @@ display:getCompilationWorksDataGetter
|
||||||
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
|
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
|
||||||
PREFIX ts_: <https://litvinovg.pro/text_structures#>
|
PREFIX ts_: <https://litvinovg.pro/text_structures#>
|
||||||
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
|
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
|
||||||
SELECT DISTINCT ?works ?excerpt
|
SELECT DISTINCT ?works ?elenphExcerpt
|
||||||
WHERE {
|
WHERE {
|
||||||
?individualURI ts_:hasTOC ?toc .
|
?individualURI ts_:hasTOC ?toc .
|
||||||
?toc (ts_:hasTOCItem/ts_:pointsTo)+/ts_:hasText ?excerpt .
|
?toc (ts_:hasTOCItem/ts_:pointsTo)+/ts_:hasText ?elenphExcerpt .
|
||||||
?excerpt ts_:works ?works .
|
?elenphExcerpt ts_:works ?works .
|
||||||
} ORDER BY ?works
|
} ORDER BY ?works
|
||||||
""" .
|
""" .
|
||||||
|
|
||||||
|
|
|
@ -14,10 +14,8 @@
|
||||||
""" .
|
""" .
|
||||||
<https://litvinovg.pro/text_structures#elenphArticle> display:hasDeleteQuery """
|
<https://litvinovg.pro/text_structures#elenphArticle> display:hasDeleteQuery """
|
||||||
PREFIX ts: <https://litvinovg.pro/text_structures#>
|
PREFIX ts: <https://litvinovg.pro/text_structures#>
|
||||||
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
|
DESCRIBE ?individualURI ?tocElement ?tocItem ?toc ?excerpt
|
||||||
DESCRIBE ?individualURI ?tocElement ?tocItem ?toc ?excerpt ?author ?organization
|
|
||||||
WHERE {
|
WHERE {
|
||||||
?individualURI rdf:type ts:elenphArticle .
|
|
||||||
OPTIONAL {
|
OPTIONAL {
|
||||||
?individualURI ts:hasTOC ?toc .
|
?individualURI ts:hasTOC ?toc .
|
||||||
?toc (ts:hasTOCItem/ts:pointsTo)* ?tocElement .
|
?toc (ts:hasTOCItem/ts:pointsTo)* ?tocElement .
|
||||||
|
@ -25,13 +23,7 @@
|
||||||
?tocElement ts:hasTOCItem ?tocItem .
|
?tocElement ts:hasTOCItem ?tocItem .
|
||||||
}
|
}
|
||||||
OPTIONAL {
|
OPTIONAL {
|
||||||
?tocElement ts:hasText ?excerpt .
|
?tocElement ts_:hasText ?excerpt .
|
||||||
OPTIONAL {
|
|
||||||
?excerpt ts:hasAuthor ?author .
|
|
||||||
OPTIONAL {
|
|
||||||
?author ts:affiliatedWith ?organization .
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -43,6 +35,6 @@
|
||||||
WHERE
|
WHERE
|
||||||
{
|
{
|
||||||
?tocElement ts:hasText ?individualURI .
|
?tocElement ts:hasText ?individualURI .
|
||||||
FILTER NOT EXISTS {?tocElement ts:hasTOCItem ?tocItem }
|
NOT EXISTS {?tocElement ts:hasTOCItem ?tocItem }
|
||||||
}
|
}
|
||||||
""" .
|
""" .
|
||||||
|
|
|
@ -42,11 +42,11 @@ display:getArticleExcerptPathsDataGetter
|
||||||
display:saveToVar "paths";
|
display:saveToVar "paths";
|
||||||
display:query
|
display:query
|
||||||
"""
|
"""
|
||||||
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
|
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
|
||||||
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
|
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
|
||||||
PREFIX ts_: <https://litvinovg.pro/text_structures#>
|
PREFIX ts_: <https://litvinovg.pro/text_structures#>
|
||||||
SELECT (GROUP_CONCAT(substr(concat("000",str(?outline)),strlen(str(?outline))); SEPARATOR = ".") AS ?path ) (COUNT(?outline) AS ?level) ?tocElement ?elenphExcerpt
|
SELECT (GROUP_CONCAT(substr(concat("000",str(?outline)),strlen(str(?outline))); SEPARATOR = ".") AS ?path ) ?tocElement ?elenphExcerpt
|
||||||
WHERE {
|
WHERE {
|
||||||
?individualURI ts_:hasTOC ?toc .
|
?individualURI ts_:hasTOC ?toc .
|
||||||
?toc ts_:hasTOCItem/(ts_:pointsTo/ts_:hasTOCItem)* ?tmpTOCItem .
|
?toc ts_:hasTOCItem/(ts_:pointsTo/ts_:hasTOCItem)* ?tmpTOCItem .
|
||||||
?tmpTOCItem rdf:type ts_:TOCItem .
|
?tmpTOCItem rdf:type ts_:TOCItem .
|
||||||
|
@ -56,11 +56,12 @@ display:getArticleExcerptPathsDataGetter
|
||||||
?tocElement ts_:hasText ?elenphExcerpt .
|
?tocElement ts_:hasText ?elenphExcerpt .
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
SELECT ?elenphArticle ?tocElement
|
SELECT ?elenphArticle ?tocElement
|
||||||
WHERE {
|
WHERE {
|
||||||
?individualURI ts_:hasTOC ?toc .
|
?individualURI ts_:hasTOC ?toc .
|
||||||
?toc (ts_:hasTOCItem/ts_:pointsTo)+ ?tocElement .
|
?toc (ts_:hasTOCItem/ts_:pointsTo)+ ?tocElement .
|
||||||
?tocElement rdf:type ts_:TOCLevel .
|
?tocElement rdf:type ts_:TOCLevel .
|
||||||
|
?individualURI rdf:type ts_:elenphArticle .
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} GROUP BY ?tocElement ?elenphExcerpt ORDER BY ?path
|
} GROUP BY ?tocElement ?elenphExcerpt ORDER BY ?path
|
||||||
|
@ -74,11 +75,11 @@ display:getArticleBibliographyDataGetter
|
||||||
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
|
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
|
||||||
PREFIX ts_: <https://litvinovg.pro/text_structures#>
|
PREFIX ts_: <https://litvinovg.pro/text_structures#>
|
||||||
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
|
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
|
||||||
SELECT DISTINCT ?bibliography ?excerpt
|
SELECT DISTINCT ?bibliography ?elenphExcerpt
|
||||||
WHERE {
|
WHERE {
|
||||||
?individualURI ts_:hasTOC ?toc .
|
?individualURI ts_:hasTOC ?toc .
|
||||||
?toc (ts_:hasTOCItem/ts_:pointsTo)+/ts_:hasText ?excerpt .
|
?toc (ts_:hasTOCItem/ts_:pointsTo)+/ts_:hasText ?elenphExcerpt .
|
||||||
?excerpt ts_:bibliography ?bibliography .
|
?elenphExcerpt ts_:bibliography ?bibliography .
|
||||||
} ORDER BY ?bibliography
|
} ORDER BY ?bibliography
|
||||||
""" .
|
""" .
|
||||||
|
|
||||||
|
@ -90,11 +91,11 @@ display:getArticleWorksDataGetter
|
||||||
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
|
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
|
||||||
PREFIX ts_: <https://litvinovg.pro/text_structures#>
|
PREFIX ts_: <https://litvinovg.pro/text_structures#>
|
||||||
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
|
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
|
||||||
SELECT DISTINCT ?works ?excerpt
|
SELECT DISTINCT ?works ?elenphExcerpt
|
||||||
WHERE {
|
WHERE {
|
||||||
?individualURI ts_:hasTOC ?toc .
|
?individualURI ts_:hasTOC ?toc .
|
||||||
?toc (ts_:hasTOCItem/ts_:pointsTo)+/ts_:hasText ?excerpt .
|
?toc (ts_:hasTOCItem/ts_:pointsTo)+/ts_:hasText ?elenphExcerpt .
|
||||||
?excerpt ts_:works ?works .
|
?elenphExcerpt ts_:works ?works .
|
||||||
} ORDER BY ?works
|
} ORDER BY ?works
|
||||||
""" .
|
""" .
|
||||||
|
|
||||||
|
|
|
@ -1,27 +0,0 @@
|
||||||
@prefix ts_: <https://litvinovg.pro/text_structures#> .
|
|
||||||
@prefix display: <http://vitro.mannlib.cornell.edu/ontologies/display/1.1#> .
|
|
||||||
@prefix mydomain: <http://vivo.mydomain.edu/individual/> .
|
|
||||||
|
|
||||||
ts_:elenphExcerpt display:hasCustomView mydomain:elenphExcerptShortView .
|
|
||||||
|
|
||||||
mydomain:elenphExcerptShortView
|
|
||||||
a display:customViewForIndividual ;
|
|
||||||
display:appliesToContext "SEARCH" ;
|
|
||||||
display:hasTemplate "elenphExcerptShortView.ftl" ;
|
|
||||||
display:hasDataGetter mydomain:elenphExcerptShortViewDataGetter .
|
|
||||||
|
|
||||||
mydomain:elenphExcerptShortViewDataGetter
|
|
||||||
a <java:edu.cornell.mannlib.vitro.webapp.utils.dataGetter.SparqlQueryDataGetter>;
|
|
||||||
display:saveToVar "excerptInfo";
|
|
||||||
display:query
|
|
||||||
"""
|
|
||||||
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
|
|
||||||
PREFIX vivo: <http://vivoweb.org/ontology/core#>
|
|
||||||
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
|
|
||||||
PREFIX ts_: <https://litvinovg.pro/text_structures#>
|
|
||||||
SELECT ?property ?value
|
|
||||||
WHERE {
|
|
||||||
?individualUri ?property ?value .
|
|
||||||
?individualUri rdf:type ts_:elenphExcerpt .
|
|
||||||
}
|
|
||||||
""" .
|
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
|
@ -22,3 +22,4 @@ Disallow: /vis/ # VIVO addition
|
||||||
Disallow: /visualizationAjax/ # VIVO addition
|
Disallow: /visualizationAjax/ # VIVO addition
|
||||||
Disallow: /visualizationData/ # VIVO addition
|
Disallow: /visualizationData/ # VIVO addition
|
||||||
Disallow: /qrcode # VIVO addition
|
Disallow: /qrcode # VIVO addition
|
||||||
|
Disallow: /individual # VIVO addition
|
||||||
|
|
|
@ -1,49 +0,0 @@
|
||||||
<#-- $This file is distributed under the terms of the license in LICENSE$ -->
|
|
||||||
|
|
||||||
<#-- Template for browsing individuals in class groups for menupages -->
|
|
||||||
|
|
||||||
<#import "lib-string.ftl" as str>
|
|
||||||
<noscript>
|
|
||||||
<p style="padding: 20px 20px 20px 20px;background-color:#f8ffb7">${i18n().browse_page_javascript_one} <a href="${urls.base}/browse" title="${i18n().index_page}">${i18n().index_page}</a> ${i18n().browse_page_javascript_two}</p>
|
|
||||||
</noscript>
|
|
||||||
|
|
||||||
<section id="noJavascriptContainer" class="hidden">
|
|
||||||
<section id="browse-by" role="region">
|
|
||||||
<nav role="navigation">
|
|
||||||
<ul id="browse-classes">
|
|
||||||
<#list vClassGroup?sort_by("displayRank") as vClass>
|
|
||||||
<#------------------------------------------------------------
|
|
||||||
Need to replace vClassCamel with full URL that allows function
|
|
||||||
to degrade gracefully in absence of JavaScript. Something
|
|
||||||
similar to what Brian had setup with widget-browse.ftl
|
|
||||||
------------------------------------------------------------->
|
|
||||||
<#assign vClassCamel = str.camelCase(vClass.name) />
|
|
||||||
<#-- Only display vClasses with individuals -->
|
|
||||||
<#if (vClass.entityCount > 0)>
|
|
||||||
<li id="${vClassCamel}"><a href="#${vClassCamel}" title="${i18n().browse_all_in_class}" data-uri="${vClass.URI}">${vClass.name} <span class="count-classes">(${vClass.entityCount})</span></a></li>
|
|
||||||
</#if>
|
|
||||||
</#list>
|
|
||||||
</ul>
|
|
||||||
<nav id="alpha-browse-container" role="navigation">
|
|
||||||
<h3 class="selected-class"></h3>
|
|
||||||
<#assign alphabet = ["А", "Б", "В", "Г", "Д", "Е", "Ё" "Ж", "З", "И", "Й", "К", "Л", "М", "Н", "О", "П", "Р", "С", "Т", "У", "Ф", "Х", "Ц", "Ч", "Ш", "Щ", "Э", "Ю", "Я" ] />
|
|
||||||
<ul id="alpha-browse-individuals">
|
|
||||||
<li><a href="#" class="selected" data-alpha="all" title="${i18n().select_all}">${i18n().all}</a></li>
|
|
||||||
<#list alphabet as letter>
|
|
||||||
<li><a href="#" data-alpha="${letter?lower_case}" title="${i18n().browse_all_starts_with(letter)}">${letter}</a></li>
|
|
||||||
</#list>
|
|
||||||
</ul>
|
|
||||||
</nav>
|
|
||||||
</nav>
|
|
||||||
|
|
||||||
<section id="individuals-in-class" role="region">
|
|
||||||
<ul role="list">
|
|
||||||
|
|
||||||
<#-- Will be populated dynamically via AJAX request -->
|
|
||||||
</ul>
|
|
||||||
</section>
|
|
||||||
</section>
|
|
||||||
</section>
|
|
||||||
<script type="text/javascript">
|
|
||||||
$('section#noJavascriptContainer').removeClass('hidden');
|
|
||||||
</script>
|
|
|
@ -4,10 +4,8 @@
|
||||||
|
|
||||||
<#import "lib-vivo-properties.ftl" as p>
|
<#import "lib-vivo-properties.ftl" as p>
|
||||||
|
|
||||||
<div class="searchResult">
|
|
||||||
<a href="${individual.profileUrl}" title="${i18n().individual_name}">${individual.name}</a>
|
<a href="${individual.profileUrl}" title="${i18n().individual_name}">${individual.name}</a>
|
||||||
|
|
||||||
<@p.displayTitle individual />
|
<@p.displayTitle individual />
|
||||||
|
|
||||||
<p class="snippet">${individual.snippet}</p>
|
<p class="snippet">${individual.snippet}</p>
|
||||||
</div>
|
|
||||||
|
|
|
@ -1,16 +0,0 @@
|
||||||
<#-- $This file is distributed under the terms of the license in LICENSE$ -->
|
|
||||||
|
|
||||||
<#-- Template for displaying search error message -->
|
|
||||||
|
|
||||||
<#if title??>
|
|
||||||
<div class="errorPageTitle">
|
|
||||||
<h2>${title?html}</h2>
|
|
||||||
</div>
|
|
||||||
</#if>
|
|
||||||
<div id="nomatchingTitle">
|
|
||||||
<p>
|
|
||||||
${message?html}
|
|
||||||
</p>
|
|
||||||
</div>
|
|
||||||
<#include "searchSelector.ftl">
|
|
||||||
<#include "search-help.ftl" >
|
|
|
@ -1,49 +0,0 @@
|
||||||
<#-- $This file is distributed under the terms of the license in LICENSE$ -->
|
|
||||||
|
|
||||||
<#if origination?has_content && origination == "helpLink">
|
|
||||||
<div id="searchTipsTitleH2">
|
|
||||||
<h2>Search Tips</h2>
|
|
||||||
</div>
|
|
||||||
<span id="searchHelp">
|
|
||||||
<a href="#" onClick="history.back();return false;" title="back to results">Back to results</a>
|
|
||||||
</span>
|
|
||||||
<#else>
|
|
||||||
<div id="searchTipsTitleH3">
|
|
||||||
<h3>Search Tips</h3>
|
|
||||||
</div>
|
|
||||||
</#if>
|
|
||||||
<ul class="searchTips">
|
|
||||||
<li>Keep it simple! Use short, single terms unless your searches are returning too many results.</li>
|
|
||||||
<li>Use quotes to search for an entire phrase -- e.g., "<i>protein folding</i>".</li>
|
|
||||||
<li>Except for boolean operators, searches are <strong>not</strong> case-sensitive, so "Geneva" and "geneva" are equivalent</li>
|
|
||||||
<li>If you are unsure of the correct spelling, put ~ at the end of your search term -- e.g., <i>cabage~</i> finds <i>cabbage</i>, <i>steven~</i> finds <i>Stephen</i> and <i>Stefan</i> (as well as other similar names).</li>
|
|
||||||
</ul>
|
|
||||||
|
|
||||||
<div id="advancedTipsWrapper">
|
|
||||||
<h4><a id="advTipsLink" href="#">Advanced Tips</a></h4>
|
|
||||||
</div>
|
|
||||||
<ul id="advanced" class="searchTips" style="visibility:hidden">
|
|
||||||
<li>When you enter more than one term, search will return results containing all of them unless you add the Boolean "OR" -- e.g., <i>chicken</i> OR <i>egg</i>.</li>
|
|
||||||
<li>NOT" can help limit searches -- e.g., <i>climate</i> NOT <i>change</i>.</li>
|
|
||||||
<li>Phrase searches may be combined with Boolean operators -- e.g. "<i>climate change</i>" OR "<i>global warming</i>".</li>
|
|
||||||
<li>Close word variations will also be found -- e.g., <i>sequence</i> matches <i>sequences</i> and <i>sequencing</i>.</li>
|
|
||||||
<li>Use the wildcard * character to match an even wider variation -- e.g., <i>nano*</i> will match both <i>nanotechnology</i> and <i>nanofabrication</i>.</li>
|
|
||||||
<li>Search uses shortened versions of words -- e.g., a search for <i>cogniti*</i> finds nothing, while <i>cognit*</i> finds both <i>cognitive</i> and <i>cognition</i>.</li>
|
|
||||||
</ul>
|
|
||||||
<a id="closeLink" href="#" style="visibility:hidden;font-size:.825em;padding-left:8px">Close</a>
|
|
||||||
${stylesheets.add('<link rel="stylesheet" href="${urls.base}/css/search.css" />')}
|
|
||||||
<script type="text/javascript">
|
|
||||||
$(document).ready(function(){
|
|
||||||
$('a#advTipsLink').click(function() {
|
|
||||||
$('ul#advanced').css("visibility","visible");
|
|
||||||
$('a#closeLink').css("visibility","visible");
|
|
||||||
$('a#closeLink').click(function() {
|
|
||||||
$('ul#advanced').css("visibility","hidden");
|
|
||||||
$('a#closeLink').css("visibility","hidden");
|
|
||||||
return false;
|
|
||||||
});
|
|
||||||
return false;
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
</script>
|
|
|
@ -1,252 +0,0 @@
|
||||||
<#-- $This file is distributed under the terms of the license in LICENSE$ -->
|
|
||||||
|
|
||||||
<#-- Template for displaying paged search results -->
|
|
||||||
|
|
||||||
<h2 class="searchResultsHeader">
|
|
||||||
|
|
||||||
<#include "searchSelector.ftl">
|
|
||||||
|
|
||||||
<#escape x as x?html>
|
|
||||||
<div id='searchQueryResults'> ${i18n().search_results_for} '${querytext}'</div>
|
|
||||||
<div id='limitedToClassGroup'> <#if classGroupName?has_content>${i18n().limited_to_type} '${classGroupName}'</#if> </div>
|
|
||||||
<div id='limitedToType'> <#if typeName?has_content>${i18n().limited_to_type} '${typeName}'</#if> </div>
|
|
||||||
</#escape>
|
|
||||||
<script type="text/javascript">
|
|
||||||
var url = window.location.toString();
|
|
||||||
if (url.indexOf("?") == -1){
|
|
||||||
var queryText = 'querytext=${querytext}';
|
|
||||||
} else {
|
|
||||||
var urlArray = url.split("?");
|
|
||||||
var queryText = urlArray[1];
|
|
||||||
}
|
|
||||||
|
|
||||||
var urlsBase = '${urls.base}';
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<img id="downloadIcon" src="images/download-icon.png" alt="${i18n().download_results}" title="${i18n().download_results}" />
|
|
||||||
<#-- <span id="downloadResults" style="float:left"></span> -->
|
|
||||||
</h2>
|
|
||||||
|
|
||||||
<span id="searchHelp"><a href="${urls.base}/searchHelp" title="${i18n().search_help}">${i18n().not_expected_results}</a></span>
|
|
||||||
<div class="contentsBrowseGroup">
|
|
||||||
|
|
||||||
<#-- Refinement links -->
|
|
||||||
<#if classGroupLinks?has_content && classGroupLinks?size gt 1>
|
|
||||||
<div class="searchTOC">
|
|
||||||
<h4>${i18n().display_only}</h4>
|
|
||||||
<ul>
|
|
||||||
<#list classGroupLinks as link>
|
|
||||||
<li><a href="${link.url}" title="${i18n().class_group_link}">${link.text}</a><span>(${link.count})</span></li>
|
|
||||||
</#list>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</#if>
|
|
||||||
|
|
||||||
<#if classLinks?has_content && classLinks?size gt 1 >
|
|
||||||
<div class="searchTOC">
|
|
||||||
<#if classGroupName?has_content>
|
|
||||||
<h4>${i18n().limit} ${classGroupName} ${i18n().to}</h4>
|
|
||||||
<#else>
|
|
||||||
<h4>${i18n().limit_to}</h4>
|
|
||||||
</#if>
|
|
||||||
<ul>
|
|
||||||
<#list classLinks as link>
|
|
||||||
<li><a href="${link.url}" title="${i18n().class_link}">${link.text}</a><span>(${link.count})</span></li>
|
|
||||||
</#list>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</#if>
|
|
||||||
|
|
||||||
|
|
||||||
<div class="virtualArticleSwitch">
|
|
||||||
<label class="switch">${i18n().show_virtual_article}
|
|
||||||
<input id="virtualArticleCheck" type="checkbox" checked="false" onclick="showVirtualArticles();">
|
|
||||||
</label>
|
|
||||||
<#if user.loggedIn>
|
|
||||||
<button onclick="createNewCompilation()">${i18n().create_compilation_button}</button>
|
|
||||||
</#if>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<#-- Search results -->
|
|
||||||
<ul class="searchhits">
|
|
||||||
<#list individuals as individual>
|
|
||||||
<li>
|
|
||||||
<@shortView uri=individual.uri viewContext="search" />
|
|
||||||
</li>
|
|
||||||
</#list>
|
|
||||||
</ul>
|
|
||||||
|
|
||||||
|
|
||||||
<#-- Paging controls -->
|
|
||||||
<#if (pagingLinks?size > 0)>
|
|
||||||
<div class="searchpages">
|
|
||||||
${i18n().pages}:
|
|
||||||
<#if prevPage??><a class="prev" href="${prevPage}" title="${i18n().previous}">${i18n().previous}</a></#if>
|
|
||||||
<#list pagingLinks as link>
|
|
||||||
<#if link.url??>
|
|
||||||
<a href="${link.url}" title="${i18n().page_link}">${link.text}</a>
|
|
||||||
<#else>
|
|
||||||
<span>${link.text}</span> <#-- no link if current page -->
|
|
||||||
</#if>
|
|
||||||
</#list>
|
|
||||||
<#if nextPage??><a class="next" href="${nextPage}" title="${i18n().next_capitalized}">${i18n().next_capitalized}</a></#if>
|
|
||||||
</div>
|
|
||||||
</#if>
|
|
||||||
<br />
|
|
||||||
|
|
||||||
<#-- VIVO OpenSocial Extension by UCSF -->
|
|
||||||
<#if openSocial??>
|
|
||||||
<#if openSocial.visible>
|
|
||||||
<h3>OpenSocial</h3>
|
|
||||||
<script type="text/javascript" language="javascript">
|
|
||||||
// find the 'Search' gadget(s).
|
|
||||||
var searchGadgets = my.findGadgetsAttachingTo("gadgets-search");
|
|
||||||
var keyword = '${querytext}';
|
|
||||||
// add params to these gadgets
|
|
||||||
if (keyword) {
|
|
||||||
for (var i = 0; i < searchGadgets.length; i++) {
|
|
||||||
var searchGadget = searchGadgets[i];
|
|
||||||
searchGadget.additionalParams = searchGadget.additionalParams || {};
|
|
||||||
searchGadget.additionalParams["keyword"] = keyword;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else { // remove these gadgets
|
|
||||||
my.removeGadgets(searchGadgets);
|
|
||||||
}
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<div id="gadgets-search" class="gadgets-gadget-parent" style="display:inline-block"></div>
|
|
||||||
</#if>
|
|
||||||
</#if>
|
|
||||||
|
|
||||||
</div> <!-- end contentsBrowseGroup -->
|
|
||||||
|
|
||||||
<script>
|
|
||||||
document.addEventListener('DOMContentLoaded', createVirtualCompilation(), false);
|
|
||||||
|
|
||||||
$('input[type=checkbox]').removeAttr('checked');
|
|
||||||
function showVirtualArticles(){
|
|
||||||
var checkBox = document.getElementById("virtualArticleCheck");
|
|
||||||
if (checkBox.checked == true){
|
|
||||||
$('.searchResult').hide();
|
|
||||||
$('.virtualArticlePart').show();
|
|
||||||
} else {
|
|
||||||
$('.searchResult').show();
|
|
||||||
$('.virtualArticlePart').hide();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function createNewCompilation() {
|
|
||||||
var excerpts = $('.compilationDraftExcerpt').toArray();
|
|
||||||
if (excerpts.length == 0){
|
|
||||||
alert("${i18n().create_compilation_no_excerpts}");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
var compilationName = window.prompt("${i18n().create_compilation_enter_name_notification}");
|
|
||||||
if (!compilationName){
|
|
||||||
alert("${i18n().create_compilation_no_name_entered_error}");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
var iframe = document.createElement("iframe");
|
|
||||||
var excerptsCounter = $('.compilationDraftExcerpt').length;
|
|
||||||
iframe.setAttribute("src", "${urls.base}/editRequestDispatch?typeOfNew=https%3A%2F%2Flitvinovg.pro%2Ftext_structures%23compilation&editForm=edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators.CompilationGenerator&excerptsCount=" + excerptsCounter);
|
|
||||||
iframe.style.width = "1px";
|
|
||||||
iframe.style.height = "1px";
|
|
||||||
iframe.id="newCompilationIframe";
|
|
||||||
//iframe.style.display="none";
|
|
||||||
document.body.appendChild(iframe);
|
|
||||||
$('#newCompilationIframe').on('load', function(){
|
|
||||||
fillOutForm(compilationName);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
function fillOutForm(compilationName){
|
|
||||||
var iframeDoc = document.getElementById('newCompilationIframe').contentWindow.document;
|
|
||||||
var rules = $('#builder').queryBuilder('getRules', { get_flags: true });
|
|
||||||
var query = format_query_string(rules, "", false);
|
|
||||||
iframeDoc.getElementById('queryBuilderRules').value = JSON.stringify(rules);
|
|
||||||
iframeDoc.getElementById('rawQueryString').value = query;
|
|
||||||
|
|
||||||
|
|
||||||
iframeDoc.getElementById('newCompilationLabel').value = compilationName;
|
|
||||||
var excerpts = $('.compilationDraftExcerpt').toArray();
|
|
||||||
for (i = 0;i < excerpts.length;i++){
|
|
||||||
var excerptUri = excerpts[i].getAttribute('partUri');
|
|
||||||
var excerptName = excerpts[i].getAttribute('partName');
|
|
||||||
var number = i + 1;
|
|
||||||
iframeDoc.getElementById("tocLevel" + number + "Name").value = excerptName + " (" + compilationName + ")";
|
|
||||||
iframeDoc.getElementById("tocItem" + number + "Name").value = excerptName + " (" + compilationName + ")";
|
|
||||||
iframeDoc.getElementById("excerpt" + number).value = excerptUri;
|
|
||||||
}
|
|
||||||
$('#newCompilationIframe').off('load');
|
|
||||||
iframeDoc.getElementById('submit').click();
|
|
||||||
$('#newCompilationIframe').on('load', function(){
|
|
||||||
redirectToNewCompilation();
|
|
||||||
});
|
|
||||||
|
|
||||||
}
|
|
||||||
function redirectToNewCompilation(){
|
|
||||||
var newURL = document.getElementById('newCompilationIframe').contentWindow.location.href;
|
|
||||||
window.open(newURL,"_self");
|
|
||||||
}
|
|
||||||
|
|
||||||
function createVirtualCompilation(){
|
|
||||||
let workSet = new Set();
|
|
||||||
let biblioSet = new Set();
|
|
||||||
var workDivs = $('.virtualArticleWork');
|
|
||||||
var biblioDivs = $('.virtualArticleBibliography');
|
|
||||||
biblioDivs.each(function() {
|
|
||||||
biblioSet.add($(this).html());
|
|
||||||
});
|
|
||||||
workDivs.each(function() {
|
|
||||||
workSet.add($(this).html());
|
|
||||||
});
|
|
||||||
var workArr = Array.from(workSet);
|
|
||||||
workArr.sort();
|
|
||||||
var biblioArr = Array.from(biblioSet);
|
|
||||||
biblioArr.sort();
|
|
||||||
if (workArr.length > 0 ) {
|
|
||||||
$('<div class="virtualWorks virtualArticlePart"><button type="button" style="border:none;width: 100%; text-align:left;" class="collapsible">${i18n().sources_excerpt_button_text}</button><div class="virtualWorks"></div></div>').insertAfter($('.virtualArticlePart').last());
|
|
||||||
for (let value of workArr){
|
|
||||||
$('.virtualWorks').last().append( '<div class="work"><p>' + value + '</p></div>' );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (biblioArr.length > 0 ) {
|
|
||||||
$('<div class="virtualBibliography virtualArticlePart"><button type="button" style="border:none;width: 100%; text-align:left;" class="collapsible">${i18n().literature_excerpt_button_text}</button><div class="virtualBibliography"></div></div>').insertAfter($('.virtualArticlePart').last());
|
|
||||||
for (let value of biblioArr){
|
|
||||||
$('.virtualBibliography').last().append( '<div class="bibliography"><p>' + value + '</p></div>' );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
$('.virtualWorks').hide();
|
|
||||||
$('.virtualBibliography').hide();
|
|
||||||
$('.virtualArticlePart').hide();
|
|
||||||
var coll = document.getElementsByClassName("collapsible");
|
|
||||||
var i;
|
|
||||||
for (i = 0; i < coll.length; i++) {
|
|
||||||
coll[i].addEventListener("click", function() {
|
|
||||||
this.classList.toggle("active");
|
|
||||||
var content = this.nextElementSibling;
|
|
||||||
if (content.style.display === "block") {
|
|
||||||
content.style.display = "none";
|
|
||||||
} else {
|
|
||||||
content.style.display = "block";
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
createRemoveButtons();
|
|
||||||
}
|
|
||||||
|
|
||||||
</script>
|
|
||||||
|
|
||||||
${stylesheets.add('<link rel="stylesheet" href="//code.jquery.com/ui/1.10.3/themes/smoothness/jquery-ui.css" />',
|
|
||||||
'<link rel="stylesheet" href="${urls.base}/css/search.css" />',
|
|
||||||
'<link rel="stylesheet" type="text/css" href="${urls.base}/css/jquery_plugins/qtip/jquery.qtip.min.css" />')}
|
|
||||||
|
|
||||||
${headScripts.add('<script src="//code.jquery.com/ui/1.10.3/jquery-ui.js"></script>',
|
|
||||||
'<script type="text/javascript" src="${urls.base}/js/jquery_plugins/qtip/jquery.qtip.min.js"></script>',
|
|
||||||
'<script type="text/javascript" src="${urls.base}/js/tiny_mce/tiny_mce.js"></script>'
|
|
||||||
)}
|
|
||||||
|
|
||||||
${scripts.add('<script type="text/javascript" src="${urls.base}/js/searchDownload.js"></script>')}
|
|
|
@ -8,8 +8,6 @@
|
||||||
${scripts.add('<script async type="text/javascript" src="https://d1bxh8uas1mnw7.cloudfront.net/assets/embed.js"></script>')}
|
${scripts.add('<script async type="text/javascript" src="https://d1bxh8uas1mnw7.cloudfront.net/assets/embed.js"></script>')}
|
||||||
${scripts.add('<script async type="text/javascript" src="//cdn.plu.mx/widget-popup.js"></script>')}
|
${scripts.add('<script async type="text/javascript" src="//cdn.plu.mx/widget-popup.js"></script>')}
|
||||||
${scripts.add('<script async type="text/javascript" src="${urls.base}/themes/iph/js/print.js"></script>')}
|
${scripts.add('<script async type="text/javascript" src="${urls.base}/themes/iph/js/print.js"></script>')}
|
||||||
${scripts.add('<script type="text/javascript" src="${urls.base}/themes/iph/js/collapsible_elements.js"></script>')}
|
|
||||||
${scripts.add('<script type="text/javascript" src="${urls.base}/themes/iph/js/toc.js"></script>')}
|
|
||||||
<#import "individual-qrCodeGenerator.ftl" as qr>
|
<#import "individual-qrCodeGenerator.ftl" as qr>
|
||||||
<#import "lib-vivo-properties.ftl" as vp>
|
<#import "lib-vivo-properties.ftl" as vp>
|
||||||
<#include "text-lib.ftl">
|
<#include "text-lib.ftl">
|
||||||
|
@ -34,8 +32,6 @@ ${scripts.add('<script type="text/javascript" src="${urls.base}/themes/iph/js/to
|
||||||
<section id="individual-info" ${infoClass!} role="region" style="width: 100%;">
|
<section id="individual-info" ${infoClass!} role="region" style="width: 100%;">
|
||||||
<#include "individual-adminPanel.ftl">
|
<#include "individual-adminPanel.ftl">
|
||||||
<header>
|
<header>
|
||||||
<div id="articleHeaderWrapper">
|
|
||||||
<div id="articleTitleWrapper">
|
|
||||||
<#if relatedSubject??>
|
<#if relatedSubject??>
|
||||||
<h2>${relatedSubject.relatingPredicateDomainPublic} ${i18n().for} ${relatedSubject.name}</h2>
|
<h2>${relatedSubject.relatingPredicateDomainPublic} ${i18n().for} ${relatedSubject.name}</h2>
|
||||||
<p><a href="${relatedSubject.url}" title="${i18n().return_to(relatedSubject.name)}">← ${i18n().return_to(relatedSubject.name)}</a></p>
|
<p><a href="${relatedSubject.url}" title="${i18n().return_to(relatedSubject.name)}">← ${i18n().return_to(relatedSubject.name)}</a></p>
|
||||||
|
@ -43,9 +39,7 @@ ${scripts.add('<script type="text/javascript" src="${urls.base}/themes/iph/js/to
|
||||||
<h1 itemprop="name" class="vcard foaf-person fn" <#if !editable>style="float:left;border-right:1px solid #A6B1B0;"</#if>>
|
<h1 itemprop="name" class="vcard foaf-person fn" <#if !editable>style="float:left;border-right:1px solid #A6B1B0;"</#if>>
|
||||||
<#-- Label -->
|
<#-- Label -->
|
||||||
<@p.label individual editable labelCount localesCount/>
|
<@p.label individual editable labelCount localesCount/>
|
||||||
<#if editable>
|
<@p.deleteIndividualLink individual />
|
||||||
<@p.deleteIndividualLink individual />
|
|
||||||
</#if>
|
|
||||||
</h1>
|
</h1>
|
||||||
<#-- Display preferredTitle if it exists; otherwise mostSpecificTypes -->
|
<#-- Display preferredTitle if it exists; otherwise mostSpecificTypes -->
|
||||||
<#assign title = propertyGroups.pullProperty("http://purl.obolibrary.org/obo/ARG_2000028","http://www.w3.org/2006/vcard/ns#Title")!>
|
<#assign title = propertyGroups.pullProperty("http://purl.obolibrary.org/obo/ARG_2000028","http://www.w3.org/2006/vcard/ns#Title")!>
|
||||||
|
@ -70,32 +64,19 @@ ${scripts.add('<script type="text/javascript" src="${urls.base}/themes/iph/js/to
|
||||||
<@p.mostSpecificTypesPerson individual editable/>
|
<@p.mostSpecificTypesPerson individual editable/>
|
||||||
</#if>
|
</#if>
|
||||||
</#if>
|
</#if>
|
||||||
</div>
|
<span id="iconControlsRightSide" class="<#if editable>iconControlsEditable<#else>iconControlsNotEditable</#if>" <#if !user.hasSiteAdminAccess>style="top:5px"</#if>>
|
||||||
<div class="articleToolsContainer">
|
<#include "individual-iconControls.ftl">
|
||||||
<div class="metadataSwitch">
|
</span>
|
||||||
<@expandMetadataSwitch />
|
<#if editable && profilePageTypesEnabled >
|
||||||
</div>
|
<#include "individual-profilePageTypes.ftl">
|
||||||
<div class="toolsWrapper">
|
</#if>
|
||||||
<div class="articleButtons">
|
|
||||||
<span id="iconControlsRightSide" class="<#if editable>iconControlsEditable<#else>iconControlsNotEditable</#if>" <#if !user.hasSiteAdminAccess></#if>>
|
|
||||||
<#include "individual-iconControls-iph.ftl">
|
|
||||||
</span>
|
|
||||||
|
|
||||||
<#if editable && profilePageTypesEnabled >
|
|
||||||
<#include "individual-profilePageTypes.ftl">
|
|
||||||
</#if>
|
|
||||||
<@userSettingsModal />
|
|
||||||
<button id="print"><img onclick="javascript:printPageContent();" src="${urls.base}/themes/iph/images/print.svg"></button>
|
|
||||||
</div>
|
|
||||||
<@expandSwitch />
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</header>
|
</header>
|
||||||
<!-- Positions -->
|
<!-- Positions -->
|
||||||
<#include "individual-positions.ftl">
|
<#include "individual-positions.ftl">
|
||||||
|
|
||||||
<!-- Overview -->
|
<!-- Overview -->
|
||||||
<#if !editable>
|
<#if !editable>
|
||||||
|
<p></p>
|
||||||
</#if>
|
</#if>
|
||||||
<#include "individual-overview.ftl">
|
<#include "individual-overview.ftl">
|
||||||
|
|
||||||
|
@ -126,37 +107,149 @@ ${scripts.add('<script type="text/javascript" src="${urls.base}/themes/iph/js/to
|
||||||
<#list rawQuery.statements as statement>
|
<#list rawQuery.statements as statement>
|
||||||
<#assign rawQueryString = statement.value!>
|
<#assign rawQueryString = statement.value!>
|
||||||
</#list>
|
</#list>
|
||||||
<#if queryBuilderRulesString?? && rawQueryString??>
|
<form action="${urls.base}/customsearch" method="post">
|
||||||
<form action="${urls.base}/customsearch" method="post">
|
<input type="hidden" id="queryBuilderRules" name="queryBuilderRules" value='${queryBuilderRulesString}' />
|
||||||
<input type="hidden" id="queryBuilderRules" name="queryBuilderRules" value='${queryBuilderRulesString}' />
|
<input type="hidden" id="querytext" name="querytext" value='${rawQueryString}' />
|
||||||
<input type="hidden" id="querytext" name="querytext" value='${rawQueryString}' />
|
<input type="submit" id="submit" value="Поисковый запрос"/>
|
||||||
<input type="submit" id="submit" value="${i18n().metadata_query}"/>
|
</form>
|
||||||
</form>
|
|
||||||
</#if>
|
|
||||||
|
|
||||||
</#if>
|
</#if>
|
||||||
<div class="metaDataName collapsible collapsed">
|
|
||||||
<div class="collapsibleLink" style="display:inline;">${i18n().metadata_label}</div>
|
|
||||||
</div>
|
<div class="expandSwitch">
|
||||||
<div class="autoMetadataExpand" style="display:none;">
|
<label class="switch">Раскрыть статью
|
||||||
|
<input id="expandlCB" type="checkbox" onclick="switchExpand();">
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
<div id="TOC"></div>
|
||||||
<#assign firstPub = propertyGroups.pullProperty("https://litvinovg.pro/text_structures#firstPublication")!>
|
<#assign firstPub = propertyGroups.pullProperty("https://litvinovg.pro/text_structures#firstPublication")!>
|
||||||
<#if firstPub.statements?has_content && firstPub.type == "data">
|
<#if firstPub.statements?has_content && firstPub.type == "data">
|
||||||
<div class="firstPub" style="list-style:none;">
|
<div class="firstPub" style="list-style:none;">
|
||||||
<div class="label">${i18n().metadata_firstPublication}
|
<div class="label">Первая публикация статьи
|
||||||
</div>
|
</div>
|
||||||
<@p.dataPropertyList firstPub editable />
|
<@p.dataPropertyList firstPub editable />
|
||||||
</div>
|
</div>
|
||||||
</#if>
|
</#if>
|
||||||
|
|
||||||
<@authors_metadata />
|
<#if authors??>
|
||||||
|
<#list authors as author>
|
||||||
|
<div class="affiliations" >
|
||||||
|
<b><#if author.authorFamily??>${author.authorFamily} </#if><#if author.authorGivenName??>${author.authorGivenName}</#if></b>
|
||||||
|
<#if author.orgName??>
|
||||||
|
<br><span style="color:rgba(0,0,0,0.54);">${author.orgName}</span>
|
||||||
|
</#if>
|
||||||
|
<#if author.orgAddress??>
|
||||||
|
<br>
|
||||||
|
<span style="color:rgba(0,0,0,0.54);">Адрес организации: <#if author.orgPostalCode??>${author.orgPostalCode}, </#if>${author.orgAddress} </span>
|
||||||
|
</#if>
|
||||||
|
|
||||||
<@documentRubrics />
|
</div>
|
||||||
|
</#list>
|
||||||
|
</#if>
|
||||||
|
|
||||||
|
<@showRubrics />
|
||||||
|
|
||||||
|
<div class="articleParts" style="display:block;">
|
||||||
|
<#list paths as order>
|
||||||
|
<#-- ${order.path} -->
|
||||||
|
<#list excerpts as excerptProperties>
|
||||||
|
<#if order.elenphExcerpt?has_content && excerptProperties.elenphExcerpt == order.elenphExcerpt>
|
||||||
|
<#assign excerptText = excerptProperties.htmlContent >
|
||||||
|
<#assign excerptTextName = excerptProperties.htmlLabel >
|
||||||
|
<#assign worksCounter = excerptProperties.worksCounter >
|
||||||
|
<#assign bibliographyCounter = excerptProperties.bibliographyCounter >
|
||||||
|
</#if>
|
||||||
|
</#list>
|
||||||
|
<div class = "articleExcerpt">
|
||||||
|
<#if excerptText?? && excerptTextName?? && excerptTextName?has_content && excerptText?has_content>
|
||||||
|
<button type="button" style="border:none;padding: 18px;width: 100%; text-align:left;" class="collapsible">${excerptTextName}</button>
|
||||||
|
<div class="htmlExcerpt" style="list-style:none; display:none;">
|
||||||
|
${excerptText}
|
||||||
|
<#if works?? && works?has_content && worksCounter?number > 0 >
|
||||||
|
<div>
|
||||||
|
<button type="button" class="collapsible" style="background-color:white;border:none;padding: 18px;width: 100%;text-align:left;">Работы</button>
|
||||||
|
<div class="works" style="display:none;">
|
||||||
|
<#list works as work>
|
||||||
|
<#if work.elenphExcerpt == order.elenphExcerpt >
|
||||||
|
<div class="work" style="list-style:none;">
|
||||||
|
<p> ${work.works} </p>
|
||||||
|
</div>
|
||||||
|
</#if>
|
||||||
|
</#list>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</#if>
|
||||||
|
|
||||||
|
<#if bibliography?? && bibliography?has_content && bibliographyCounter?number > 0>
|
||||||
|
<div>
|
||||||
|
<button type="button" class="collapsible" style="background-color:white;border:none;padding: 18px;width: 100%; text-align: left;">Литература</button>
|
||||||
|
<div class="bibliography" style="display:none;">
|
||||||
|
<#list bibliography as one_bibliography>
|
||||||
|
<#if one_bibliography.elenphExcerpt == order.elenphExcerpt >
|
||||||
|
<div class="bibliography_entry" style="list-style:none;">
|
||||||
|
<p> ${one_bibliography.bibliography} </p>
|
||||||
|
</div>
|
||||||
|
</#if>
|
||||||
|
</#list>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</#if>
|
||||||
|
</div>
|
||||||
|
</#if>
|
||||||
|
</div> <#-- articleExcerpt -->
|
||||||
|
</#list>
|
||||||
|
|
||||||
|
<#if works?? && works?has_content>
|
||||||
|
<div>
|
||||||
|
<button type="button" class="collapsible" style="border:none;padding: 18px;width: 100%;text-align:left;">Работы</button>
|
||||||
|
<div class="works" style="display:none;">
|
||||||
|
<#list works as work>
|
||||||
|
<div class="work" style="list-style:none;">
|
||||||
|
<p> ${work.works} </p>
|
||||||
|
</div>
|
||||||
|
</#list>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</#if>
|
||||||
|
|
||||||
|
<#if bibliography?? && bibliography?has_content>
|
||||||
|
<div>
|
||||||
|
<button type="button" class="collapsible" style="border:none;padding: 18px;width: 100%; text-align: left;">Литература</button>
|
||||||
|
<div class="bibliography" style="display:none;">
|
||||||
|
<#list bibliography as one_bibliography>
|
||||||
|
<div class="bibliography_entry" style="list-style:none;">
|
||||||
|
<p> ${one_bibliography.bibliography} </p>
|
||||||
|
</div>
|
||||||
|
</#list>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</#if>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<@arrangeDocumentParts />
|
<#if authors??>
|
||||||
|
<#list authors as author>
|
||||||
|
<div class="authors" style="display:block;float:right; margin:15px;">
|
||||||
|
<#if author.authorFamily??>${author.authorFamily}</#if> <#if author.authorInitials??>${author.authorInitials}</#if>
|
||||||
|
</div>
|
||||||
|
</#list>
|
||||||
|
</#if>
|
||||||
|
|
||||||
<@authors_underline />
|
<script>
|
||||||
|
var coll = document.getElementsByClassName("collapsible");
|
||||||
|
var i;
|
||||||
|
|
||||||
|
for (i = 0; i < coll.length; i++) {
|
||||||
|
coll[i].addEventListener("click", function() {
|
||||||
|
this.classList.toggle("active");
|
||||||
|
var content = this.nextElementSibling;
|
||||||
|
if (content.style.display === "block") {
|
||||||
|
content.style.display = "none";
|
||||||
|
} else {
|
||||||
|
content.style.display = "block";
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
</script>
|
||||||
<#-- <@dumpAll /> -->
|
<#-- <@dumpAll /> -->
|
||||||
|
|
||||||
<#assign selectedTemplate = "individual--foaf-person-2column.ftl" >
|
<#assign selectedTemplate = "individual--foaf-person-2column.ftl" >
|
||||||
|
@ -184,6 +277,24 @@ ${scripts.add('<script type="text/javascript" src="${urls.base}/themes/iph/js/to
|
||||||
</span>
|
</span>
|
||||||
</#if>
|
</#if>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
console.log(localStorage.getItem('switchExpand'));
|
||||||
|
if (localStorage.getItem('switchExpand') === true || localStorage.getItem('switchExpand') === 'true') {
|
||||||
|
console.log("show html excerpts");
|
||||||
|
$('.htmlExcerpt').show();
|
||||||
|
}
|
||||||
|
function switchExpand(){
|
||||||
|
var checkBox = document.getElementById("expandlCB");
|
||||||
|
if (checkBox.checked == true){
|
||||||
|
$('.htmlExcerpt').show();
|
||||||
|
localStorage.setItem('switchExpand',true);
|
||||||
|
} else {
|
||||||
|
$('.htmlExcerpt').hide();
|
||||||
|
localStorage.setItem('switchExpand',false);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
<#if !editable>
|
<#if !editable>
|
||||||
<script>
|
<script>
|
||||||
var title = $('div#titleContainer').width();
|
var title = $('div#titleContainer').width();
|
|
@ -8,12 +8,8 @@
|
||||||
${scripts.add('<script async type="text/javascript" src="https://d1bxh8uas1mnw7.cloudfront.net/assets/embed.js"></script>')}
|
${scripts.add('<script async type="text/javascript" src="https://d1bxh8uas1mnw7.cloudfront.net/assets/embed.js"></script>')}
|
||||||
${scripts.add('<script async type="text/javascript" src="//cdn.plu.mx/widget-popup.js"></script>')}
|
${scripts.add('<script async type="text/javascript" src="//cdn.plu.mx/widget-popup.js"></script>')}
|
||||||
${scripts.add('<script async type="text/javascript" src="${urls.base}/themes/iph/js/print.js"></script>')}
|
${scripts.add('<script async type="text/javascript" src="${urls.base}/themes/iph/js/print.js"></script>')}
|
||||||
${scripts.add('<script type="text/javascript" src="${urls.base}/themes/iph/js/collapsible_elements.js"></script>')}
|
|
||||||
${scripts.add('<script type="text/javascript" src="${urls.base}/themes/iph/js/toc.js"></script>')}
|
|
||||||
<#import "individual-qrCodeGenerator.ftl" as qr>
|
<#import "individual-qrCodeGenerator.ftl" as qr>
|
||||||
<#import "lib-vivo-properties.ftl" as vp>
|
<#import "lib-vivo-properties.ftl" as vp>
|
||||||
<#include "text-lib.ftl">
|
|
||||||
|
|
||||||
<#--Number of labels present-->
|
<#--Number of labels present-->
|
||||||
<#if !labelCount??>
|
<#if !labelCount??>
|
||||||
<#assign labelCount = 0 >
|
<#assign labelCount = 0 >
|
||||||
|
@ -34,18 +30,13 @@ ${scripts.add('<script type="text/javascript" src="${urls.base}/themes/iph/js/to
|
||||||
<section id="individual-info" ${infoClass!} role="region" style="width: 100%;">
|
<section id="individual-info" ${infoClass!} role="region" style="width: 100%;">
|
||||||
<#include "individual-adminPanel.ftl">
|
<#include "individual-adminPanel.ftl">
|
||||||
<header>
|
<header>
|
||||||
<div id="articleHeaderWrapper">
|
|
||||||
<div id="articleTitleWrapper">
|
|
||||||
<#if relatedSubject??>
|
<#if relatedSubject??>
|
||||||
<h2>${relatedSubject.relatingPredicateDomainPublic} ${i18n().for} ${relatedSubject.name}</h2>
|
<h2>${relatedSubject.relatingPredicateDomainPublic} ${i18n().for} ${relatedSubject.name}</h2>
|
||||||
<p><a href="${relatedSubject.url}" title="${i18n().return_to(relatedSubject.name)}">← ${i18n().return_to(relatedSubject.name)}</a></p>
|
<p><a href="${relatedSubject.url}" title="${i18n().return_to(relatedSubject.name)}">← ${i18n().return_to(relatedSubject.name)}</a></p>
|
||||||
<#else>
|
<#else>
|
||||||
<h1 itemprop="name" class="vcard foaf-person fn" <#if !editable>style="border-right:1px solid #A6B1B0;"</#if>>
|
<h1 itemprop="name" class="vcard foaf-person fn" <#if !editable>style="float:left;border-right:1px solid #A6B1B0;"</#if>>
|
||||||
<#-- Label -->
|
<#-- Label -->
|
||||||
<@p.label individual editable labelCount localesCount/>
|
<@p.label individual editable labelCount localesCount/>
|
||||||
<#if editable>
|
|
||||||
<@p.deleteIndividualLink individual />
|
|
||||||
</#if>
|
|
||||||
</h1>
|
</h1>
|
||||||
<#-- Display preferredTitle if it exists; otherwise mostSpecificTypes -->
|
<#-- Display preferredTitle if it exists; otherwise mostSpecificTypes -->
|
||||||
<#assign title = propertyGroups.pullProperty("http://purl.obolibrary.org/obo/ARG_2000028","http://www.w3.org/2006/vcard/ns#Title")!>
|
<#assign title = propertyGroups.pullProperty("http://purl.obolibrary.org/obo/ARG_2000028","http://www.w3.org/2006/vcard/ns#Title")!>
|
||||||
|
@ -70,33 +61,19 @@ ${scripts.add('<script type="text/javascript" src="${urls.base}/themes/iph/js/to
|
||||||
<@p.mostSpecificTypesPerson individual editable/>
|
<@p.mostSpecificTypesPerson individual editable/>
|
||||||
</#if>
|
</#if>
|
||||||
</#if>
|
</#if>
|
||||||
</div>
|
<span id="iconControlsRightSide" class="<#if editable>iconControlsEditable<#else>iconControlsNotEditable</#if>" <#if !user.hasSiteAdminAccess>style="top:5px"</#if>>
|
||||||
<div class="articleToolsContainer">
|
<#include "individual-iconControls.ftl">
|
||||||
<div class="metadataSwitch">
|
</span>
|
||||||
<@expandMetadataSwitch />
|
<#if editable && profilePageTypesEnabled >
|
||||||
</div>
|
<#include "individual-profilePageTypes.ftl">
|
||||||
<div class="toolsWrapper">
|
</#if>
|
||||||
<div class="articleButtons">
|
|
||||||
<span id="iconControlsRightSide" class="<#if editable>iconControlsEditable<#else>iconControlsNotEditable</#if>" <#if !user.hasSiteAdminAccess></#if>>
|
|
||||||
<#include "individual-iconControls-iph.ftl">
|
|
||||||
</span>
|
|
||||||
|
|
||||||
<#if editable && profilePageTypesEnabled >
|
|
||||||
<#include "individual-profilePageTypes.ftl">
|
|
||||||
</#if>
|
|
||||||
<@userSettingsModal />
|
|
||||||
|
|
||||||
<button id="print"><img onclick="javascript:printPageContent();" src="${urls.base}/themes/iph/images/print.svg"></button>
|
|
||||||
</div>
|
|
||||||
<@expandSwitch />
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</header>
|
</header>
|
||||||
<!-- Positions -->
|
<!-- Positions -->
|
||||||
<#include "individual-positions.ftl">
|
<#include "individual-positions.ftl">
|
||||||
|
|
||||||
<!-- Overview -->
|
<!-- Overview -->
|
||||||
<#if !editable>
|
<#if !editable>
|
||||||
|
<p></p>
|
||||||
</#if>
|
</#if>
|
||||||
<#include "individual-overview.ftl">
|
<#include "individual-overview.ftl">
|
||||||
|
|
||||||
|
@ -116,26 +93,165 @@ ${scripts.add('<script type="text/javascript" src="${urls.base}/themes/iph/js/to
|
||||||
<#assign skipThis = propertyGroups.pullProperty("http://xmlns.com/foaf/0.1/firstName")!>
|
<#assign skipThis = propertyGroups.pullProperty("http://xmlns.com/foaf/0.1/firstName")!>
|
||||||
<#assign skipThis = propertyGroups.pullProperty("http://xmlns.com/foaf/0.1/lastName")!>
|
<#assign skipThis = propertyGroups.pullProperty("http://xmlns.com/foaf/0.1/lastName")!>
|
||||||
</#if>
|
</#if>
|
||||||
<div class="metaDataName collapsible collapsed">
|
<div class="expandSwitch">
|
||||||
<div class="collapsibleLink" style="display:inline;">${i18n().metadata_label}</div>
|
<label class="switch">Раскрыть статью
|
||||||
</div>
|
<input id="expandlCB" type="checkbox" onclick="switchExpand();">
|
||||||
<div class="autoMetadataExpand" style="display:none;">
|
</label>
|
||||||
<#assign firstPub = propertyGroups.pullProperty("https://litvinovg.pro/text_structures#firstPublication")!>
|
|
||||||
<#if firstPub.statements?has_content && firstPub.type == "data">
|
|
||||||
<div class="firstPub" style="list-style:none;">
|
|
||||||
<div class="label">${i18n().metadata_firstPublication}
|
|
||||||
</div>
|
|
||||||
<@p.dataPropertyList firstPub editable />
|
|
||||||
</div>
|
|
||||||
</#if>
|
|
||||||
<@authors_metadata />
|
|
||||||
<@documentRubrics />
|
|
||||||
</div>
|
</div>
|
||||||
<@arrangeDocumentParts />
|
<#assign firstPub = propertyGroups.pullProperty("https://litvinovg.pro/text_structures#firstPublication")!>
|
||||||
|
<#if firstPub.statements?has_content && firstPub.type == "data">
|
||||||
|
<div class="firstPub" style="list-style:none;">
|
||||||
|
<div class="label">Первая публикация статьи
|
||||||
|
</div>
|
||||||
|
<@p.dataPropertyList firstPub editable />
|
||||||
|
</div>
|
||||||
|
</#if>
|
||||||
|
|
||||||
<@authors_underline />
|
<#--
|
||||||
|
<#assign issue = propertyGroups.pullProperty("https://litvinovg.pro/text_structures#issue")!>
|
||||||
|
<#if issue.statements?has_content && issue.type == "data">
|
||||||
|
<div class="issue" style="list-style:none;">
|
||||||
|
<div class="label">Выпуск</div>
|
||||||
|
<@p.dataPropertyList issue editable />
|
||||||
|
</div>
|
||||||
|
</#if>
|
||||||
|
|
||||||
<#assign selectedTemplate = "individual--foaf-person-2column.ftl" >
|
<#assign year = propertyGroups.pullProperty("https://litvinovg.pro/text_structures#year")!>
|
||||||
|
<#if year.statements?has_content && year.type == "data">
|
||||||
|
<div class="year" style="list-style:none;">
|
||||||
|
<div class="label">Год</div>
|
||||||
|
<@p.dataPropertyList year editable />
|
||||||
|
</div>
|
||||||
|
</#if>
|
||||||
|
-->
|
||||||
|
|
||||||
|
<#if authors??>
|
||||||
|
<#list authors as author>
|
||||||
|
<div class="affiliations" >
|
||||||
|
<b><#if author.authorFamily??>${author.authorFamily} </#if><#if author.authorGivenName??>${author.authorGivenName}</#if></b>
|
||||||
|
<#if author.orgName??>
|
||||||
|
<br><span style="color:rgba(0,0,0,0.54);">${author.orgName}</span>
|
||||||
|
</#if>
|
||||||
|
<#if author.orgAddress??>
|
||||||
|
<br>
|
||||||
|
<span style="color:rgba(0,0,0,0.54);">Адрес организации: <#if author.orgPostalCode??>${author.orgPostalCode}, </#if>${author.orgAddress} </span>
|
||||||
|
</#if>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</#list>
|
||||||
|
</#if>
|
||||||
|
|
||||||
|
<#assign articleRubrics = propertyGroups.pullProperty("https://iph.ras.ru/relationships#belongsTo")!>
|
||||||
|
<#if articleRubrics?? && articleRubrics?has_content>
|
||||||
|
<div class="label">Относится к рубрикам: <@p.addLink articleRubrics editable /> <@p.verboseDisplay articleRubrics /></div>
|
||||||
|
<#if rubrics?? && rubrics?has_content>
|
||||||
|
<#list rubrics as rubric>
|
||||||
|
<li role="listitem" style="list-style:none;">
|
||||||
|
<a href="${urls.base}/individual?uri=${rubric.rubricID?url}"">${rubric.rubricName}</a>
|
||||||
|
</li>
|
||||||
|
</#list>
|
||||||
|
</#if>
|
||||||
|
<br/>
|
||||||
|
</#if>
|
||||||
|
|
||||||
|
<div class="articleParts" style="display:block;">
|
||||||
|
<#list paths as order>
|
||||||
|
<div class = "articleExcerpt">
|
||||||
|
<#-- ${order.path} -->
|
||||||
|
<#list excerpts as excerptProperties>
|
||||||
|
<#if order.elenphExcerpt?has_content && excerptProperties.elenphExcerpt == order.elenphExcerpt>
|
||||||
|
<#assign excerptText = excerptProperties.htmlContent >
|
||||||
|
<#assign excerptTextName = excerptProperties.htmlLabel >
|
||||||
|
<#assign worksCounter = excerptProperties.worksCounter >
|
||||||
|
<#assign bibliographyCounter = excerptProperties.bibliographyCounter >
|
||||||
|
</#if>
|
||||||
|
</#list>
|
||||||
|
<#if excerptText?? && excerptTextName?? && excerptTextName?has_content && excerptText?has_content>
|
||||||
|
<button type="button" style="border:none;padding: 18px;width: 100%; text-align:left;" class="collapsible">${excerptTextName}</button>
|
||||||
|
<div class="htmlExcerpt" style="list-style:none; display:none;">
|
||||||
|
${excerptText}
|
||||||
|
<#if works?? && works?has_content && worksCounter?number > 0 >
|
||||||
|
<button type="button" class="collapsible" style="background-color:white;border:none;padding: 18px;width: 100%;text-align:left; background-image: url(${urls.base}/themes/iph/images/book_icon.png); background-repeat: no-repeat; background-position: left center;">Работы</button>
|
||||||
|
<div class="works" style="display:none;">
|
||||||
|
<#list works as work>
|
||||||
|
<#if work.elenphExcerpt == order.elenphExcerpt >
|
||||||
|
<div class="work" style="display:list-item;list-style-image:url(${urls.base}/themes/iph/images/bullet_icon.png); font-style: italic; font-family: PT Serif;">
|
||||||
|
<p> ${work.works} </p>
|
||||||
|
</div>
|
||||||
|
</#if>
|
||||||
|
</#list>
|
||||||
|
</div>
|
||||||
|
</#if>
|
||||||
|
|
||||||
|
<#if bibliography?? && bibliography?has_content && bibliographyCounter?number > 0>
|
||||||
|
<button type="button" class="collapsible" style="background-color:white;border:none;padding: 18px;width: 100%; text-align: left; background-image: url(${urls.base}/themes/iph/images/book_icon.png); background-repeat: no-repeat; background-position: left center;">Литература</button>
|
||||||
|
<div class="bibliography" style="display:none;">
|
||||||
|
<#list bibliography as one_bibliography>
|
||||||
|
<#if one_bibliography.elenphExcerpt == order.elenphExcerpt >
|
||||||
|
<div class="bibliography_entry" style="display:list-item;list-style-image:url(${urls.base}/themes/iph/images/bullet_icon.png); font-style: italic; font-family: PT Serif;">
|
||||||
|
<p> ${one_bibliography.bibliography} </p>
|
||||||
|
</div>
|
||||||
|
</#if>
|
||||||
|
</#list>
|
||||||
|
</div>
|
||||||
|
</#if>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</#if>
|
||||||
|
</div> <#-- articleExcerpt -->
|
||||||
|
|
||||||
|
</#list>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<#if works?? && works?has_content>
|
||||||
|
<button type="button" class="collapsible" style="border: none; color: #8B4513; padding: 18px;width: 100%;text-align:left; background-color: #ffffff; background-image: url(${urls.base}/themes/iph/images/book_icon.png); background-repeat: no-repeat; background-position: left center;">Работы</button>
|
||||||
|
<div class="works" style="display:block;">
|
||||||
|
<#list works as work>
|
||||||
|
<div class="work" style="display:list-item;list-style-image:url(${urls.base}/themes/iph/images/bullet_icon.png); font-style: italic; font-family: PT Serif;">
|
||||||
|
<p> ${work.works} </p>
|
||||||
|
</div>
|
||||||
|
</#list>
|
||||||
|
</div>
|
||||||
|
</#if>
|
||||||
|
|
||||||
|
<#if bibliography?? && bibliography?has_content>
|
||||||
|
<button type="button" class="collapsible" style="border:none; color: #8B4513; padding: 18px;width: 100%; text-align: left; background-color: #ffffff; background-image: url(${urls.base}/themes/iph/images/book_icon.png); background-repeat: no-repeat; background-position: left center;">Литература</button>
|
||||||
|
<div class="bibliography" style="display:block;">
|
||||||
|
<#list bibliography as one_bibliography>
|
||||||
|
<div class="bibliography_entry" style="display:list-item;list-style-image:url(${urls.base}/themes/iph/images/bullet_icon.png); font-style: italic; font-family: PT Serif;">
|
||||||
|
<p> ${one_bibliography.bibliography} </p>
|
||||||
|
</div>
|
||||||
|
</#list>
|
||||||
|
</div>
|
||||||
|
</#if>
|
||||||
|
|
||||||
|
<#if authors??>
|
||||||
|
<#list authors as author>
|
||||||
|
<div class="authors" style="display:block;">
|
||||||
|
<#if author.authorFamily??>${author.authorFamily}</#if> <#if author.authorInitials??>${author.authorInitials}</#if>
|
||||||
|
</div>
|
||||||
|
</#list>
|
||||||
|
</#if>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
var coll = document.getElementsByClassName("collapsible");
|
||||||
|
var i;
|
||||||
|
|
||||||
|
for (i = 0; i < coll.length; i++) {
|
||||||
|
coll[i].addEventListener("click", function() {
|
||||||
|
this.classList.toggle("active");
|
||||||
|
var content = this.nextElementSibling;
|
||||||
|
if (content.style.display === "block") {
|
||||||
|
content.style.display = "none";
|
||||||
|
} else {
|
||||||
|
content.style.display = "block";
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
<#-- <@dumpAll /> -->
|
||||||
|
|
||||||
|
<#assign selectedTemplate = "individual--foaf-person-2column.ftl" >
|
||||||
|
|
||||||
<#if profilePageTypesEnabled >
|
<#if profilePageTypesEnabled >
|
||||||
<#assign profilePageType = profileType >
|
<#assign profilePageType = profileType >
|
||||||
|
@ -160,6 +276,24 @@ ${scripts.add('<script type="text/javascript" src="${urls.base}/themes/iph/js/to
|
||||||
</span>
|
</span>
|
||||||
</#if>
|
</#if>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
console.log(localStorage.getItem('switchExpand'));
|
||||||
|
if (localStorage.getItem('switchExpand') === true || localStorage.getItem('switchExpand') === 'true') {
|
||||||
|
console.log("show html excerpts");
|
||||||
|
$('.htmlExcerpt').show();
|
||||||
|
}
|
||||||
|
function switchExpand(){
|
||||||
|
var checkBox = document.getElementById("expandlCB");
|
||||||
|
if (checkBox.checked == true){
|
||||||
|
$('.htmlExcerpt').show();
|
||||||
|
localStorage.setItem('switchExpand',true);
|
||||||
|
} else {
|
||||||
|
$('.htmlExcerpt').hide();
|
||||||
|
localStorage.setItem('switchExpand',false);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
<#if !editable>
|
<#if !editable>
|
||||||
<script>
|
<script>
|
||||||
var title = $('div#titleContainer').width();
|
var title = $('div#titleContainer').width();
|
|
@ -1,23 +1,12 @@
|
||||||
<#include "individual-setup.ftl">
|
<#-- $This file is distributed under the terms of the license in LICENSE$ -->
|
||||||
|
|
||||||
${scripts.add('<script async type="text/javascript" src="https://d1bxh8uas1mnw7.cloudfront.net/assets/embed.js"></script>')}
|
|
||||||
${scripts.add('<script async type="text/javascript" src="//cdn.plu.mx/widget-popup.js"></script>')}
|
|
||||||
${scripts.add('<script async type="text/javascript" src="${urls.base}/themes/iph/js/print.js"></script>')}
|
|
||||||
${scripts.add('<script type="text/javascript" src="${urls.base}/themes/iph/js/collapsible_elements.js"></script>')}
|
|
||||||
${scripts.add('<script type="text/javascript" src="${urls.base}/themes/iph/js/toc.js"></script>')}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<#-- Individual profile page template for foaf:Person individuals -->
|
<#-- Individual profile page template for foaf:Person individuals -->
|
||||||
|
|
||||||
<!--[if IE 7]>
|
<!--[if IE 7]>
|
||||||
<link rel="stylesheet" href="${urls.base}/css/individual/ie7-standard-view.css" />
|
<link rel="stylesheet" href="${urls.base}/css/individual/ie7-standard-view.css" />
|
||||||
<![endif]-->
|
<![endif]-->
|
||||||
<#-- <#include "individual-setup.ftl"> -->
|
<#-- <#include "individual-setup.ftl"> -->
|
||||||
<#import "individual-qrCodeGenerator.ftl" as qr>
|
<#import "individual-qrCodeGenerator.ftl" as qr>
|
||||||
<#import "lib-vivo-properties.ftl" as vp>
|
<#import "lib-vivo-properties.ftl" as vp>
|
||||||
<#include "text-lib.ftl">
|
|
||||||
|
|
||||||
<#--Number of labels present-->
|
<#--Number of labels present-->
|
||||||
<#if !labelCount??>
|
<#if !labelCount??>
|
||||||
<#assign labelCount = 0 >
|
<#assign labelCount = 0 >
|
||||||
|
@ -38,8 +27,6 @@ ${scripts.add('<script type="text/javascript" src="${urls.base}/themes/iph/js/to
|
||||||
<section id="individual-info" ${infoClass!} role="region" style="width: 100%;">
|
<section id="individual-info" ${infoClass!} role="region" style="width: 100%;">
|
||||||
<#include "individual-adminPanel.ftl">
|
<#include "individual-adminPanel.ftl">
|
||||||
<header>
|
<header>
|
||||||
<div id="articleHeaderWrapper">
|
|
||||||
<div id="articleTitleWrapper">
|
|
||||||
<#if relatedSubject??>
|
<#if relatedSubject??>
|
||||||
<h2>${relatedSubject.relatingPredicateDomainPublic} ${i18n().for} ${relatedSubject.name}</h2>
|
<h2>${relatedSubject.relatingPredicateDomainPublic} ${i18n().for} ${relatedSubject.name}</h2>
|
||||||
<p><a href="${relatedSubject.url}" title="${i18n().return_to(relatedSubject.name)}">← ${i18n().return_to(relatedSubject.name)}</a></p>
|
<p><a href="${relatedSubject.url}" title="${i18n().return_to(relatedSubject.name)}">← ${i18n().return_to(relatedSubject.name)}</a></p>
|
||||||
|
@ -71,31 +58,20 @@ ${scripts.add('<script type="text/javascript" src="${urls.base}/themes/iph/js/to
|
||||||
<@p.mostSpecificTypesPerson individual editable/>
|
<@p.mostSpecificTypesPerson individual editable/>
|
||||||
</#if>
|
</#if>
|
||||||
</#if>
|
</#if>
|
||||||
</div>
|
<span id="iconControlsRightSide" class="<#if editable>iconControlsEditable<#else>iconControlsNotEditable</#if>" <#if !user.hasSiteAdminAccess>style="top:5px"</#if>>
|
||||||
<div class="articleToolsContainer">
|
<#include "individual-iconControls.ftl">
|
||||||
<div class="metadataSwitch">
|
</span>
|
||||||
<@expandMetadataSwitch />
|
<#if editable && profilePageTypesEnabled >
|
||||||
</div>
|
<#include "individual-profilePageTypes.ftl">
|
||||||
<div class="toolsWrapper">
|
</#if>
|
||||||
<div class="articleButtons">
|
|
||||||
<span id="iconControlsRightSide" class="<#if editable>iconControlsEditable<#else>iconControlsNotEditable</#if>" <#if !user.hasSiteAdminAccess></#if>>
|
|
||||||
<#include "individual-iconControls-iph.ftl">
|
|
||||||
</span>
|
|
||||||
<#if editable && profilePageTypesEnabled >
|
|
||||||
<#include "individual-profilePageTypes.ftl">
|
|
||||||
</#if>
|
|
||||||
<@userSettingsModal />
|
|
||||||
<button id="print"><img onclick="javascript:printPageContent();" src="${urls.base}/themes/iph/images/print.svg"></button>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</header>
|
</header>
|
||||||
<!-- Positions -->
|
<!-- Positions -->
|
||||||
<#include "individual-positions.ftl">
|
<#include "individual-positions.ftl">
|
||||||
|
|
||||||
<!-- Overview -->
|
<!-- Overview -->
|
||||||
<#if !editable>
|
<#if !editable>
|
||||||
</#if>
|
<p></p>
|
||||||
|
</#if>
|
||||||
<#include "individual-overview.ftl">
|
<#include "individual-overview.ftl">
|
||||||
|
|
||||||
<!-- Research Areas -->
|
<!-- Research Areas -->
|
||||||
|
@ -114,77 +90,64 @@ ${scripts.add('<script type="text/javascript" src="${urls.base}/themes/iph/js/to
|
||||||
<#assign skipThis = propertyGroups.pullProperty("http://xmlns.com/foaf/0.1/firstName")!>
|
<#assign skipThis = propertyGroups.pullProperty("http://xmlns.com/foaf/0.1/firstName")!>
|
||||||
<#assign skipThis = propertyGroups.pullProperty("http://xmlns.com/foaf/0.1/lastName")!>
|
<#assign skipThis = propertyGroups.pullProperty("http://xmlns.com/foaf/0.1/lastName")!>
|
||||||
</#if>
|
</#if>
|
||||||
<div class="metaDataName collapsible collapsed">
|
<#if !editable>
|
||||||
<div class="collapsibleLink" style="display:inline;">${i18n().metadata_label}</div>
|
<#if authors??>
|
||||||
</div>
|
<#list authors as author>
|
||||||
<div class="autoMetadataExpand" style="display:none;">
|
<div class="affiliations" >
|
||||||
<#if !editable>
|
<b><#if author.authorFamily??>${author.authorFamily} </#if><#if author.authorGivenName??>${author.authorGivenName}</#if></b>
|
||||||
<@authors_metadata />
|
<#if author.orgName??>
|
||||||
<#else>
|
<br><span style="color:rgba(0,0,0,0.54);">${author.orgName}</span>
|
||||||
<#assign pubAuthors = propertyGroups.pullProperty("https://litvinovg.pro/text_structures#hasAuthor")!>
|
</#if>
|
||||||
<#if pubAuthors?has_content>
|
<#if author.orgAddress??>
|
||||||
<div class="
|
<br>
|
||||||
<#if pubAuthors.statements?has_content >
|
<span style="color:rgba(0,0,0,0.54);">Адрес организации: <#if author.orgPostalCode??>${author.orgPostalCode}, </#if>${author.orgAddress} </span>
|
||||||
collapsible collapsed
|
</#if>
|
||||||
<#else>
|
|
||||||
nonePubAuthors
|
|
||||||
</#if>
|
|
||||||
">
|
|
||||||
<div class="collapsibleLink" style="display:inline;">${i18n().metadata_authors} <@p.addLink pubAuthors editable /> <@p.verboseDisplay pubAuthors /></div>
|
|
||||||
</div>
|
|
||||||
<div class="expandedAuthors autoMetadataExpand" style="display:none;">
|
|
||||||
<#if pubAuthors.statements?has_content >
|
|
||||||
<div class="pubAuthors" style="list-style:none;">
|
|
||||||
<@p.objectProperty pubAuthors editable />
|
|
||||||
</div>
|
|
||||||
</#if>
|
|
||||||
</div>
|
|
||||||
</#if>
|
|
||||||
</#if>
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</#list>
|
||||||
|
</#if>
|
||||||
|
<#else>
|
||||||
|
<#assign pubAuthors = propertyGroups.pullProperty("https://litvinovg.pro/text_structures#hasAuthor")!>
|
||||||
|
<#if pubAuthors?has_content>
|
||||||
|
<div class="label">Авторы: <@p.addLink pubAuthors editable /> <@p.verboseDisplay pubAuthors /> </div>
|
||||||
|
<#if pubAuthors.statements?has_content >
|
||||||
|
<div class="pubAuthors" style="list-style:none;">
|
||||||
|
<@p.objectProperty pubAuthors editable />
|
||||||
|
</div>
|
||||||
|
</#if>
|
||||||
|
</#if>
|
||||||
|
</#if>
|
||||||
<#if articles?has_content>
|
<#if articles?has_content>
|
||||||
<div class="collapsible collapsed">
|
<div class="label">В составе статей: </div>
|
||||||
<div class="collapsibleLink" style="display:inline;">${i18n().metadata_in_articles}</div>
|
<div>
|
||||||
</div>
|
<#list articles as article>
|
||||||
<div class="expandedArticles autoMetadataExpand" style="display:none;">
|
<#if article?has_content >
|
||||||
<#list articles as article>
|
<div style="list-style:none;border:none;width: 100%;text-align:left;" class="article">
|
||||||
<#if article?has_content >
|
<a href="${urls.base}/individual?uri=${article.articleUri?url}"">${article.articleName}</a>
|
||||||
<div class="articleList" style="list-style:none;">
|
</div>
|
||||||
<a href="${urls.base}/individual?uri=${article.articleUri?url}">${article.articleName}</a>
|
</#if>
|
||||||
</div>
|
</#list>
|
||||||
</#if>
|
|
||||||
</#list>
|
|
||||||
</div>
|
</div>
|
||||||
</#if>
|
</#if>
|
||||||
|
|
||||||
<#assign rubrics = propertyGroups.pullProperty("https://iph.ras.ru/relationships#belongsTo")!>
|
<#assign rubrics = propertyGroups.pullProperty("https://iph.ras.ru/relationships#belongsTo")!>
|
||||||
<#if rubrics?has_content>
|
<#if rubrics?has_content>
|
||||||
<div class="collapsible collapsed">
|
<div class="label">Относится к: <@p.addLink rubrics editable /> <@p.verboseDisplay rubrics /> </div>
|
||||||
<div class="collapsibleLink" style="display:inline;">${i18n().metadata_relates_to_rubrics} <@p.addLink rubrics editable /> <@p.verboseDisplay rubrics /></div>
|
|
||||||
</div>
|
|
||||||
<div class="expandedRubrics autoMetadataExpand" style="display:none;">
|
|
||||||
<#if rubrics.statements?has_content >
|
<#if rubrics.statements?has_content >
|
||||||
<div class="rubricsList" style="list-style:none;">
|
<div class="rubrics" style="list-style:none;">
|
||||||
<@p.objectProperty rubrics editable />
|
<@p.objectProperty rubrics editable />
|
||||||
</div>
|
</div>
|
||||||
</#if>
|
</#if>
|
||||||
</div>
|
|
||||||
</#if>
|
</#if>
|
||||||
|
|
||||||
<#assign keywords = propertyGroups.pullProperty("https://litvinovg.pro/text_structures#keywords")!>
|
<#assign keywords = propertyGroups.pullProperty("https://litvinovg.pro/text_structures#keywords")!>
|
||||||
<#if keywords?has_content >
|
<#if keywords?has_content >
|
||||||
<div class="collapsible collapsed">
|
<div class="label">Ключевые слова: <@p.addLink keywords editable /> <@p.verboseDisplay keywords /> </div>
|
||||||
<div class="collapsibleLink" style="display:inline;">${i18n().metadata_keywords} <@p.addLink keywords editable /> <@p.verboseDisplay keywords /></div>
|
<#if keywords.statements?has_content && keywords.type == "data">
|
||||||
</div>
|
<div class="keywords" style="list-style:none;">
|
||||||
<div class="expandedKeywords autoMetadataExpand" style="display:none;">
|
<@p.dataPropertyList keywords editable />
|
||||||
<div class="wrapperExpandedKeywords">
|
</div>
|
||||||
<#if keywords.statements?has_content && keywords.type == "data">
|
</#if>
|
||||||
<@p.dataPropertyList keywords editable />
|
|
||||||
</#if>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</#if>
|
</#if>
|
||||||
</div>
|
|
||||||
<#assign htmlExcerpt = propertyGroups.pullProperty("https://litvinovg.pro/text_structures#htmlExcerpt")!>
|
<#assign htmlExcerpt = propertyGroups.pullProperty("https://litvinovg.pro/text_structures#htmlExcerpt")!>
|
||||||
<#if htmlExcerpt?has_content >
|
<#if htmlExcerpt?has_content >
|
||||||
<#if htmlExcerpt.statements?has_content && htmlExcerpt.type == "data">
|
<#if htmlExcerpt.statements?has_content && htmlExcerpt.type == "data">
|
||||||
|
@ -193,22 +156,24 @@ ${scripts.add('<script type="text/javascript" src="${urls.base}/themes/iph/js/to
|
||||||
<#-- object property -->
|
<#-- object property -->
|
||||||
</div>
|
</div>
|
||||||
<#else>
|
<#else>
|
||||||
<div class="label">${i18n().metadata_html_text} <@p.addLink htmlExcerpt editable /> <@p.verboseDisplay htmlExcerpt /> </div>
|
<div class="label">Текст отрывка: <@p.addLink htmlExcerpt editable /> <@p.verboseDisplay htmlExcerpt /> </div>
|
||||||
</#if>
|
</#if>
|
||||||
</#if>
|
</#if>
|
||||||
|
|
||||||
<#assign works = propertyGroups.pullProperty("https://litvinovg.pro/text_structures#works")!>
|
<#assign works = propertyGroups.pullProperty("https://litvinovg.pro/text_structures#works")!>
|
||||||
<#if works.statements?has_content || editable >
|
<#if works.statements?has_content || editable >
|
||||||
|
<br/>
|
||||||
<div class="works" style="list-style:none;">
|
<div class="works" style="list-style:none;">
|
||||||
<h2 class="label">${i18n().sources_excerpt_button_text} <@p.addLink works editable /> <@p.verboseDisplay works /></h2>
|
<h2 class="label">Работы: <@p.addLink works editable /> <@p.verboseDisplay works /></h2>
|
||||||
<@p.dataPropertyList works editable />
|
<@p.dataPropertyList works editable />
|
||||||
</div>
|
</div>
|
||||||
</#if>
|
</#if>
|
||||||
|
|
||||||
<#assign biblio= propertyGroups.pullProperty("https://litvinovg.pro/text_structures#bibliography")!>
|
<#assign biblio= propertyGroups.pullProperty("https://litvinovg.pro/text_structures#bibliography")!>
|
||||||
<#if biblio.statements?has_content || editable >
|
<#if biblio.statements?has_content || editable >
|
||||||
|
<br/>
|
||||||
<div class="biblio" style="list-style:none;">
|
<div class="biblio" style="list-style:none;">
|
||||||
<h2 class="label">${i18n().literature_excerpt_button_text} <@p.addLink biblio editable /> <@p.verboseDisplay biblio /></h2>
|
<h2 class="label">Литература: <@p.addLink biblio editable /> <@p.verboseDisplay biblio /></h2>
|
||||||
<@p.dataPropertyList biblio editable />
|
<@p.dataPropertyList biblio editable />
|
||||||
</div>
|
</div>
|
||||||
</#if>
|
</#if>
|
|
@ -0,0 +1,42 @@
|
||||||
|
<#-- $This file is distributed under the terms of the license in LICENSE$ -->
|
||||||
|
|
||||||
|
<#--
|
||||||
|
|
||||||
|
This version of individual--foaf-person.ftl is a "router" template. The original VIVO
|
||||||
|
version of this template now resides in the /themes/wilma/templates directory.
|
||||||
|
|
||||||
|
This version of the template is used when the profile page types feature is enabled.
|
||||||
|
This template serves to "rout" the user to the correct template based (1) the
|
||||||
|
profile page type of the foaf person being displayed or (2) the targeted view that
|
||||||
|
the user wants to see. For example, when a user is routed to a quick view template,
|
||||||
|
the user has the option of displaying the full view. If the user chooses that option,
|
||||||
|
the targetedView variable gets set.
|
||||||
|
|
||||||
|
This template could also be used to load just the "individual--foaf-person-2column.ftl"
|
||||||
|
without enabling profile page types. "individual--foaf-person-2column.ftl" is a slightly
|
||||||
|
different design than the "individual--foaf-person.ftl" template in the themes/wilma
|
||||||
|
directory.
|
||||||
|
|
||||||
|
-->
|
||||||
|
|
||||||
|
<#include "individual-setup.ftl">
|
||||||
|
|
||||||
|
${scripts.add('<script async type="text/javascript" src="https://d1bxh8uas1mnw7.cloudfront.net/assets/embed.js"></script>')}
|
||||||
|
${scripts.add('<script async type="text/javascript" src="//cdn.plu.mx/widget-popup.js"></script>')}
|
||||||
|
|
||||||
|
<#assign selectedTemplate = "elenphExcerpt-internal.ftl" >
|
||||||
|
|
||||||
|
<#if profilePageTypesEnabled >
|
||||||
|
<#assign profilePageType = profileType >
|
||||||
|
|
||||||
|
<#-- targetedView takes precedence over the profilePageType. -->
|
||||||
|
|
||||||
|
<#if targetedView?has_content>
|
||||||
|
<#if targetedView != "standardView">
|
||||||
|
<#assign selectedTemplate = "individual--foaf-person-quickview.ftl" >
|
||||||
|
</#if>
|
||||||
|
<#elseif profilePageType == "quickView" >
|
||||||
|
<#assign selectedTemplate = "individual--foaf-person-quickview.ftl" >
|
||||||
|
</#if>
|
||||||
|
</#if>
|
||||||
|
<#include selectedTemplate >
|
|
@ -4,6 +4,7 @@
|
||||||
<#import "lib-vivo-properties.ftl" as p>
|
<#import "lib-vivo-properties.ftl" as p>
|
||||||
|
|
||||||
<#-- <@dumpAll /> -->
|
<#-- <@dumpAll /> -->
|
||||||
|
<div class="virtualArticlePart" partUri="${individual.uri}" style="display:none;">
|
||||||
<#list excerptInfo as excerptProperties>
|
<#list excerptInfo as excerptProperties>
|
||||||
<#if excerptProperties.property == "https://litvinovg.pro/text_structures#htmlExcerpt">
|
<#if excerptProperties.property == "https://litvinovg.pro/text_structures#htmlExcerpt">
|
||||||
<#assign excerptText = excerptProperties.value >
|
<#assign excerptText = excerptProperties.value >
|
||||||
|
@ -16,8 +17,7 @@
|
||||||
</#if>
|
</#if>
|
||||||
</#list>
|
</#list>
|
||||||
<#if excerptText?? && excerptTextName?? && excerptTextName?has_content && excerptText?has_content>
|
<#if excerptText?? && excerptTextName?? && excerptTextName?has_content && excerptText?has_content>
|
||||||
<div class="virtualArticlePart compilationDraftExcerpt" partUri="${individual.uri}" partName="${excerptTextName}" style="display:none;">
|
<button type="button" style="border:none;padding: 18px;width: 100%; text-align:left;" class="collapsible">${excerptTextName}</button>
|
||||||
<button type="button" style="border:none;width: 100%; text-align:left;" class="collapsible">${excerptTextName}</button>
|
|
||||||
<div class="htmlExcerpt" style="list-style:none; display:none;">
|
<div class="htmlExcerpt" style="list-style:none; display:none;">
|
||||||
${excerptText}
|
${excerptText}
|
||||||
<#if excerptAuthor?? && excerptAuthor?has_content>
|
<#if excerptAuthor?? && excerptAuthor?has_content>
|
||||||
|
@ -38,10 +38,10 @@
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
|
||||||
</#if>
|
</#if>
|
||||||
|
</div>
|
||||||
|
|
||||||
<div class="searchResult">
|
<div class="excerptSearchResult">
|
||||||
<a href="${individual.profileUrl}" title="${i18n().individual_name}">${individual.name}</a>
|
<a href="${individual.profileUrl}" title="${i18n().individual_name}">${individual.name}</a>
|
||||||
<@p.displayTitle individual />
|
<@p.displayTitle individual />
|
||||||
<p class="snippet">${individual.snippet}</p>
|
<p class="snippet">${individual.snippet}</p>
|
|
@ -5,16 +5,16 @@
|
||||||
<#if !issueName??>
|
<#if !issueName??>
|
||||||
<#assign issueName = article.issue>
|
<#assign issueName = article.issue>
|
||||||
<#assign divOpened = true >
|
<#assign divOpened = true >
|
||||||
<button type="button" style="border:none;padding: 18px;width: 100%; text-align:left;" class="collapsible active">${issueName}</button>
|
<button type="button" style="border:none;padding: 18px;width: 100%; text-align:left;" class="collapsible">${issueName}</button>
|
||||||
<div class="issue" style="list-style:none; padding: 18px;">
|
<div clas="issue" style="list-style:none; display:none; padding: 18px;">
|
||||||
<p><a href="${urls.base}/individual?uri=${article.uri?url}">${article.name}</a></p>
|
<p><a href="${urls.base}/individual?uri=${article.uri?url}">${article.name}</a></p>
|
||||||
<#elseif issueName == article.issue>
|
<#elseif issueName == article.issue>
|
||||||
<p><a href="${urls.base}/individual?uri=${article.uri?url}">${article.name}</a></p>
|
<p><a href="${urls.base}/individual?uri=${article.uri?url}">${article.name}</a></p>
|
||||||
<#else>
|
<#else>
|
||||||
<#assign issueName = article.issue>
|
<#assign issueName = article.issue>
|
||||||
</div>
|
</div>
|
||||||
<button type="button" style="border:none;padding: 18px;width: 100%; text-align:left;" class="collapsible active">${issueName}</button>
|
<button type="button" style="border:none;padding: 18px;width: 100%; text-align:left;" class="collapsible">${issueName}</button>
|
||||||
<div class="issue" style="list-style:none; padding: 18px;">
|
<div clas="issue" style="list-style:none; display:none;padding: 18px;">
|
||||||
<p><a href="${urls.base}/individual?uri=${article.uri?url}">${article.name}</a></p>
|
<p><a href="${urls.base}/individual?uri=${article.uri?url}">${article.name}</a></p>
|
||||||
</#if>
|
</#if>
|
||||||
</#list>
|
</#list>
|
||||||
|
@ -38,8 +38,4 @@ for (i = 0; i < coll.length; i++) {
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
var issueContents = document.getElementsByClassName("issue");
|
|
||||||
for (i = 0; i < issueContents.length; i++) {
|
|
||||||
issueContents[i].style.display = "none";
|
|
||||||
}
|
|
||||||
</script>
|
</script>
|
|
@ -1,20 +1,16 @@
|
||||||
<#import "lib-vivo-properties.ftl" as vp>
|
<#import "lib-vivo-properties.ftl" as vp>
|
||||||
<#include "individual-setup.ftl">
|
<#include "individual-setup.ftl">
|
||||||
|
|
||||||
${scripts.add('<script type="text/javascript" src="${urls.base}/themes/iph/js/collapsible_elements.js"></script>')}
|
|
||||||
${scripts.add('<script async type="text/javascript" src="${urls.base}/themes/iph/js/print.js"></script>')}
|
|
||||||
|
|
||||||
<section id="individual-intro" class="vcard person" role="region">
|
<section id="individual-intro" class="vcard person" role="region">
|
||||||
<span itemscope itemtype="http://schema.org/Person">
|
<span itemscope itemtype="http://schema.org/Person">
|
||||||
<section id="individual-info" ${infoClass!} role="region" style="width: 100%;">
|
<section id="individual-info" ${infoClass!} role="region" style="width: 100%;">
|
||||||
<#include "individual-adminPanel.ftl">
|
<#include "individual-adminPanel.ftl">
|
||||||
<header>
|
<header>
|
||||||
<div id="articleTitleWrapper">
|
|
||||||
<#if relatedSubject??>
|
<#if relatedSubject??>
|
||||||
<h2>${relatedSubject.relatingPredicateDomainPublic} ${i18n().for} ${relatedSubject.name}</h2>
|
<h2>${relatedSubject.relatingPredicateDomainPublic} ${i18n().for} ${relatedSubject.name}</h2>
|
||||||
<p><a href="${relatedSubject.url}" title="${i18n().return_to(relatedSubject.name)}">← ${i18n().return_to(relatedSubject.name)}</a></p>
|
<p><a href="${relatedSubject.url}" title="${i18n().return_to(relatedSubject.name)}">← ${i18n().return_to(relatedSubject.name)}</a></p>
|
||||||
<#else>
|
<#else>
|
||||||
<h1 itemprop="name" class="vcard foaf-person fn" <#if !editable>style="width:100%;border-right:1px solid #A6B1B0;"</#if>>
|
<h1 itemprop="name" class="vcard foaf-person fn" <#if !editable>style="float:left;width:100%;border-right:1px solid #A6B1B0;"</#if>>
|
||||||
<@p.label individual editable labelCount localesCount/>
|
<@p.label individual editable labelCount localesCount/>
|
||||||
</h1>
|
</h1>
|
||||||
</#if>
|
</#if>
|
||||||
|
@ -22,7 +18,6 @@ ${scripts.add('<script async type="text/javascript" src="${urls.base}/themes/iph
|
||||||
<#if editable && profilePageTypesEnabled >
|
<#if editable && profilePageTypesEnabled >
|
||||||
<#include "individual-profilePageTypes.ftl">
|
<#include "individual-profilePageTypes.ftl">
|
||||||
</#if>
|
</#if>
|
||||||
</div>
|
|
||||||
</header>
|
</header>
|
||||||
</section>
|
</section>
|
||||||
</span>
|
</span>
|
||||||
|
@ -30,7 +25,7 @@ ${scripts.add('<script async type="text/javascript" src="${urls.base}/themes/iph
|
||||||
|
|
||||||
<#assign parent = propertyGroups.pullProperty("https://iph.ras.ru/relationships#hasParent")!>
|
<#assign parent = propertyGroups.pullProperty("https://iph.ras.ru/relationships#hasParent")!>
|
||||||
<#if parent?has_content>
|
<#if parent?has_content>
|
||||||
<div class="label">${i18n().rubricator_parent_rubric}<#if !parent.statements?has_content> <@p.addLink parent editable /></#if> <@p.verboseDisplay parent /></div>
|
<div class="label">Родительская рубрика<#if !parent.statements?has_content> <@p.addLink parent editable /></#if> <@p.verboseDisplay parent /></div>
|
||||||
<#if parent.statements?has_content >
|
<#if parent.statements?has_content >
|
||||||
<div style="list-style:none;" class="parentRubric">
|
<div style="list-style:none;" class="parentRubric">
|
||||||
<@p.objectProperty parent editable />
|
<@p.objectProperty parent editable />
|
||||||
|
@ -41,7 +36,7 @@ ${scripts.add('<script async type="text/javascript" src="${urls.base}/themes/iph
|
||||||
|
|
||||||
<#assign order = propertyGroups.pullProperty("https://iph.ras.ru/relationships#rubricOrder")!>
|
<#assign order = propertyGroups.pullProperty("https://iph.ras.ru/relationships#rubricOrder")!>
|
||||||
<#if order?has_content>
|
<#if order?has_content>
|
||||||
<div class="label">${i18n().rubricator_rubric_order}<#if !order.statements?has_content> <@p.addLink order editable /></#if> <@p.verboseDisplay order /></div>
|
<div class="label">Порядок рубрики<#if !order.statements?has_content> <@p.addLink order editable /></#if> <@p.verboseDisplay order /></div>
|
||||||
<#if order.statements?has_content >
|
<#if order.statements?has_content >
|
||||||
<div style="list-style:none;" class="rubricOrder">
|
<div style="list-style:none;" class="rubricOrder">
|
||||||
<@p.dataPropertyList order editable />
|
<@p.dataPropertyList order editable />
|
||||||
|
@ -51,11 +46,11 @@ ${scripts.add('<script async type="text/javascript" src="${urls.base}/themes/iph
|
||||||
</#if>
|
</#if>
|
||||||
|
|
||||||
<#if childRubrics?has_content>
|
<#if childRubrics?has_content>
|
||||||
<button type="button" class="collapsible" style="border:none;padding: 18px;width: 100%;text-align:left;">${i18n().rubricator_subrubrics}</button>
|
<button type="button" class="collapsible" style="border:none;padding: 18px;width: 100%;text-align:left;">Подрубрики</button>
|
||||||
<div style="display:none;">
|
<div style="display:none;">
|
||||||
<#list childRubrics as childRubric>
|
<#list childRubrics as childRubric>
|
||||||
<#if childRubric?has_content >
|
<#if childRubric?has_content >
|
||||||
<div class="childRubric">
|
<div style="list-style:none;border:none;padding: 18px;width: 100%;text-align:left;" class="childRubric">
|
||||||
<a href="${urls.base}/individual?uri=${childRubric.rubricID?url}"">${childRubric.rubricName}</a>
|
<a href="${urls.base}/individual?uri=${childRubric.rubricID?url}"">${childRubric.rubricName}</a>
|
||||||
</div>
|
</div>
|
||||||
</#if>
|
</#if>
|
||||||
|
@ -64,11 +59,11 @@ ${scripts.add('<script async type="text/javascript" src="${urls.base}/themes/iph
|
||||||
</#if>
|
</#if>
|
||||||
|
|
||||||
<#if childArticles?has_content>
|
<#if childArticles?has_content>
|
||||||
<button type="button" class="collapsible" style="border:none;padding: 18px;width: 100%;text-align:left;">${i18n().rubricator_articles_in_subrubrics}</button>
|
<button type="button" class="collapsible" style="border:none;padding: 18px;width: 100%;text-align:left;">Статьи в подрубриках</button>
|
||||||
<div style="display:none;">
|
<div style="display:none;">
|
||||||
<#list childArticles as childArticle>
|
<#list childArticles as childArticle>
|
||||||
<#if childArticle?has_content >
|
<#if childArticle?has_content >
|
||||||
<div class="childArticle">
|
<div style="list-style:none;border:none;padding: 18px;width: 100%;text-align:left;" class="childArticle">
|
||||||
<a href="${urls.base}/individual?uri=${childArticle.childArticleID?url}"">${childArticle.childArticleName}</a>
|
<a href="${urls.base}/individual?uri=${childArticle.childArticleID?url}"">${childArticle.childArticleName}</a>
|
||||||
</div>
|
</div>
|
||||||
</#if>
|
</#if>
|
||||||
|
@ -77,11 +72,11 @@ ${scripts.add('<script async type="text/javascript" src="${urls.base}/themes/iph
|
||||||
</#if>
|
</#if>
|
||||||
|
|
||||||
<#if childExcerpts?has_content>
|
<#if childExcerpts?has_content>
|
||||||
<button type="button" class="collapsible" style="border:none;padding: 18px;width: 100%;text-align:left;">${i18n().rubricator_excerpts_in_subrubrics}</button>
|
<button type="button" class="collapsible" style="border:none;padding: 18px;width: 100%;text-align:left;">Отрывки в подрубриках</button>
|
||||||
<div style="display:none;">
|
<div style="display:none;">
|
||||||
<#list childExcerpts as childExcerpt>
|
<#list childExcerpts as childExcerpt>
|
||||||
<#if childExcerpt?has_content >
|
<#if childExcerpt?has_content >
|
||||||
<div class="childExcerpt">
|
<div style="list-style:none;border:none;padding: 18px;width: 100%;text-align:left;" class="childExcerpt">
|
||||||
<a href="${urls.base}/individual?uri=${childExcerpt.childExcerptID?url}"">${childExcerpt.childExcerptName}</a>
|
<a href="${urls.base}/individual?uri=${childExcerpt.childExcerptID?url}"">${childExcerpt.childExcerptName}</a>
|
||||||
</div>
|
</div>
|
||||||
</#if>
|
</#if>
|
||||||
|
@ -90,7 +85,7 @@ ${scripts.add('<script async type="text/javascript" src="${urls.base}/themes/iph
|
||||||
</#if>
|
</#if>
|
||||||
|
|
||||||
<#if articles?has_content>
|
<#if articles?has_content>
|
||||||
<button type="button" class="collapsible" style="border:none;padding: 18px;width: 100%;text-align:left;">${i18n().rubricator_articles_in_rubric}</button>
|
<button type="button" class="collapsible" style="border:none;padding: 18px;width: 100%;text-align:left;">Статьи в данной рубрике</button>
|
||||||
<div class="articles" style="display:none;">
|
<div class="articles" style="display:none;">
|
||||||
<#list articles as article>
|
<#list articles as article>
|
||||||
<#if article?has_content >
|
<#if article?has_content >
|
||||||
|
@ -103,7 +98,7 @@ ${scripts.add('<script async type="text/javascript" src="${urls.base}/themes/iph
|
||||||
</#if>
|
</#if>
|
||||||
|
|
||||||
<#if excerpts?has_content>
|
<#if excerpts?has_content>
|
||||||
<button type="button" class="collapsible" style="border:none;padding: 18px;width: 100%;text-align:left;">${i18n().rubricator_excerpts_in_rubric}</button>
|
<button type="button" class="collapsible" style="border:none;padding: 18px;width: 100%;text-align:left;">Отрывки в данной рубрике</button>
|
||||||
<div style="display:none;" class="excerpts">
|
<div style="display:none;" class="excerpts">
|
||||||
<#list excerpts as excerpt>
|
<#list excerpts as excerpt>
|
||||||
<#if excerpt?has_content >
|
<#if excerpt?has_content >
|
||||||
|
@ -114,3 +109,23 @@ ${scripts.add('<script async type="text/javascript" src="${urls.base}/themes/iph
|
||||||
</#list>
|
</#list>
|
||||||
</div>
|
</div>
|
||||||
</#if>
|
</#if>
|
||||||
|
|
||||||
|
|
||||||
|
<script>
|
||||||
|
var coll = document.getElementsByClassName("collapsible");
|
||||||
|
var i;
|
||||||
|
|
||||||
|
for (i = 0; i < coll.length; i++) {
|
||||||
|
coll[i].addEventListener("click", function() {
|
||||||
|
this.classList.toggle("active");
|
||||||
|
var content = this.nextElementSibling;
|
||||||
|
if (content.style.display === "block") {
|
||||||
|
content.style.display = "none";
|
||||||
|
} else {
|
||||||
|
content.style.display = "block";
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
|
|
@ -1,15 +1,8 @@
|
||||||
${scripts.add('<script type="text/javascript" src="${urls.base}/themes/iph/js/collapsible_elements.js"></script>')}
|
|
||||||
${scripts.add('<script async type="text/javascript" src="${urls.base}/themes/iph/js/print.js"></script>')}
|
|
||||||
|
|
||||||
<#list rubrics as rubric>
|
<#list rubrics as rubric>
|
||||||
<#if !rubric.parentUri??>
|
<#if !rubric.parentUri??>
|
||||||
<#assign childs = rubric.childs?number>
|
<#assign childs = rubric.childs?number>
|
||||||
<button type="button" style="border:none;padding: 15px;text-align:left; width:100%;" class="collapsible">
|
<button type="button" style="border:none;padding: 15px;text-align:left; width:100%;" class="collapsible">
|
||||||
<@openButton childs=childs/><a style="padding-left:15px;">${rubric.name}</a>
|
<@openButton childs=childs/><a style="padding-left:15px;" href="individual?uri=${rubric.uri?url}">${rubric.name}</a></button>
|
||||||
<div id="rubricFollow">
|
|
||||||
<a href="individual?uri=${rubric.uri?url}">${i18n().metadata_to_rubric}</a>
|
|
||||||
</div>
|
|
||||||
</button>
|
|
||||||
<div class="rubricContents" style="display:none;">
|
<div class="rubricContents" style="display:none;">
|
||||||
<#if (childs > 0) >
|
<#if (childs > 0) >
|
||||||
<@nestedRubrics allrubrics=rubrics parentUri=rubric.uri deep=10 level=1 />
|
<@nestedRubrics allrubrics=rubrics parentUri=rubric.uri deep=10 level=1 />
|
||||||
|
@ -20,6 +13,24 @@ ${scripts.add('<script async type="text/javascript" src="${urls.base}/themes/iph
|
||||||
</#list>
|
</#list>
|
||||||
|
|
||||||
|
|
||||||
|
<script>
|
||||||
|
var coll = document.getElementsByClassName("collapsible");
|
||||||
|
var i;
|
||||||
|
for (i = 0; i < coll.length; i++) {
|
||||||
|
coll[i].addEventListener("click", function() {
|
||||||
|
this.classList.toggle("active");
|
||||||
|
var content = this.nextElementSibling;
|
||||||
|
if (content.style.display === "block") {
|
||||||
|
content.style.display = "none";
|
||||||
|
$(this).children('.collapsibleSign').text('+');
|
||||||
|
} else {
|
||||||
|
content.style.display = "block";
|
||||||
|
$(this).children('.collapsibleSign').text('–');
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
<#macro openButton childs>
|
<#macro openButton childs>
|
||||||
<#if childs > 0>
|
<#if childs > 0>
|
||||||
<div class="collapsibleSign" style="display:inline-block;width:10px;">+</div>
|
<div class="collapsibleSign" style="display:inline-block;width:10px;">+</div>
|
||||||
|
@ -34,11 +45,7 @@ ${scripts.add('<script async type="text/javascript" src="${urls.base}/themes/iph
|
||||||
<#if innerRubric.parentUri?? && innerRubric.parentUri == parentUri>
|
<#if innerRubric.parentUri?? && innerRubric.parentUri == parentUri>
|
||||||
<#assign childs = innerRubric.childs?number>
|
<#assign childs = innerRubric.childs?number>
|
||||||
<#assign count = count + 1 >
|
<#assign count = count + 1 >
|
||||||
<button type="button" style="border:none;padding: 15px 0px 15px ${15+15*level}px;width: 100%; text-align:left;" class="collapsible"><@openButton childs=childs /><a style="padding-left:15px;">${innerRubric.name}</a>
|
<button type="button" style="border:none;padding: 15px 0px 15px ${15+15*level}px;width: 100%; text-align:left;" class="collapsible"><@openButton childs=childs /><a style="padding-left:15px;" href="individual?uri=${innerRubric.uri?url}">${innerRubric.name}</a></button>
|
||||||
<div id="rubricFollow">
|
|
||||||
<a href="individual?uri=${innerRubric.uri?url}">${i18n().metadata_to_rubric}</a>
|
|
||||||
</div>
|
|
||||||
</button>
|
|
||||||
<div class="rubricContents" style="display:none;">
|
<div class="rubricContents" style="display:none;">
|
||||||
<#if (deep > 1) && (childs > 0)>
|
<#if (deep > 1) && (childs > 0)>
|
||||||
<@nestedRubrics allrubrics=rubrics parentUri=innerRubric.uri deep=deep-1 level=level+1 />
|
<@nestedRubrics allrubrics=rubrics parentUri=innerRubric.uri deep=deep-1 level=level+1 />
|
38
webapp/src/main/webapp/templates/freemarker/text-lib.ftl
Normal file
|
@ -0,0 +1,38 @@
|
||||||
|
|
||||||
|
<#macro showRubrics>
|
||||||
|
<#assign currentRubrics = propertyGroups.pullProperty("https://iph.ras.ru/relationships#belongsTo")!>
|
||||||
|
<#if currentRubrics?? && currentRubrics?has_content>
|
||||||
|
<div class="label">Относится к рубрикам: <@p.addLink currentRubrics editable /> <@p.verboseDisplay currentRubrics /></div>
|
||||||
|
<#if rubrics?? && rubrics?has_content>
|
||||||
|
<#list rubrics as rubric>
|
||||||
|
<li role="listitem" style="list-style:none;">
|
||||||
|
<a href="${urls.base}/individual?uri=${rubric.rubricID?url}"">${rubric.rubricName}</a>
|
||||||
|
</li>
|
||||||
|
</#list>
|
||||||
|
</#if>
|
||||||
|
<br/>
|
||||||
|
</#if>
|
||||||
|
</#macro>
|
||||||
|
|
||||||
|
<#macro showIssue>
|
||||||
|
<#assign issue = propertyGroups.pullProperty("https://litvinovg.pro/text_structures#issue")!>
|
||||||
|
<#if issue.statements?has_content && issue.type == "data">
|
||||||
|
<div class="issue" style="list-style:none;">
|
||||||
|
<div class="label">Входит в выпуск</div>
|
||||||
|
<@p.dataPropertyList issue editable />
|
||||||
|
</div>
|
||||||
|
</#if>
|
||||||
|
</#macro>
|
||||||
|
|
||||||
|
<#macro showYear>
|
||||||
|
<#assign year = propertyGroups.pullProperty("https://litvinovg.pro/text_structures#year")!>
|
||||||
|
<#if year.statements?has_content && year.type == "data">
|
||||||
|
<div class="year" style="list-style:none;">
|
||||||
|
<div class="label">Год</div>
|
||||||
|
<@p.dataPropertyList year editable />
|
||||||
|
</div>
|
||||||
|
</#if>
|
||||||
|
</#macro>
|
||||||
|
<#macro showWorks works >
|
||||||
|
|
||||||
|
</#macro>
|
|
@ -87,6 +87,7 @@ button.btn.btn-xs.btn-danger {
|
||||||
/*box-shadow: 0px 0px 0px #000000;*/
|
/*box-shadow: 0px 0px 0px #000000;*/
|
||||||
border-left: 1px solid #ead6a2 !important;
|
border-left: 1px solid #ead6a2 !important;
|
||||||
font-family: Roboto;
|
font-family: Roboto;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.query-builder .btn-success.active, .query-builder .btn-success.focus,
|
.query-builder .btn-success.active, .query-builder .btn-success.focus,
|
||||||
|
|
|
@ -1,32 +1,32 @@
|
||||||
menu_contactus = Контакты
|
menu_contactus = Contact Us
|
||||||
menu_welcomestart = Добро пожаловать
|
menu_welcomestart = Welcome
|
||||||
menu_copyright = права
|
menu_copyright = copyright
|
||||||
menu_support = Поддержка
|
menu_support = Support
|
||||||
menu_logout = Выйти
|
menu_logout = Log out
|
||||||
menu_loginfull = Log in to manage this site
|
menu_loginfull = Log in to manage this site
|
||||||
menu_login = Войти
|
menu_login = Log in
|
||||||
menu_version = Версия
|
menu_version = Version
|
||||||
menu_about = О нас
|
menu_about = About
|
||||||
menu_termuse = Правила использования
|
menu_termuse = Terms of Use
|
||||||
menu_powered = Сделано с помощью
|
menu_powered = Powered by
|
||||||
|
|
||||||
intro_title = Добро пожаловать в VIVO
|
intro_title = Welcome to VIVO
|
||||||
intro_para1 = VIVO is a research-focused discovery tool that enables collaboration among scholars of all disciplines.
|
intro_para1 = VIVO is a research-focused discovery tool that enables collaboration among scholars of all disciplines.
|
||||||
intro_para2 = Browse or search information on people, departments, courses, grants, and publications.
|
intro_para2 = Browse or search information on people, departments, courses, grants, and publications.
|
||||||
intro_searchvivo = Поиск VIVO
|
intro_searchvivo = Search VIVO
|
||||||
intro_filtersearch = Ограничить поиск
|
intro_filtersearch = Filter search
|
||||||
|
|
||||||
identity_title = VIVO | соединяй делись познавай
|
identity_title = VIVO | connect share discover
|
||||||
identity_index = Index
|
identity_index = Index
|
||||||
identity_edit = Редактировать страницу
|
identity_edit = Edit Page
|
||||||
identity_admin = Админка
|
identity_admin = Site Admin
|
||||||
identity_myprofile = Мой профиль
|
identity_myprofile = My profile
|
||||||
identity_myaccount = Моя учётная запись
|
identity_myaccount = My account
|
||||||
identity_user = пользователь
|
identity_user = user
|
||||||
|
|
||||||
collection_capitalized = Коллекция
|
collection_capitalized = Collection
|
||||||
place_of_grant = Место получения гранта
|
place_of_grant = Place of grant
|
||||||
email_address = email адрес
|
email_address = Email Address
|
||||||
|
|
||||||
#
|
#
|
||||||
# menupage templates ( /templates/freemarker/body/menupage )
|
# menupage templates ( /templates/freemarker/body/menupage )
|
||||||
|
@ -41,126 +41,69 @@ grants_two = This technique could be used to define pages without menu items, th
|
||||||
grants_text_three = This would create a page that would use about.ftl as the body. The page would be \
|
grants_text_three = This would create a page that would use about.ftl as the body. The page would be \
|
||||||
accessed via /about and would override all servlet mappings in web.xml.
|
accessed via /about and would override all servlet mappings in web.xml.
|
||||||
|
|
||||||
address_street_one = первая строка адреса
|
address_street_one = address street one
|
||||||
address_street_two = вторая строка адреса
|
address_street_two = address street two
|
||||||
address_street_three = третья строка адреса
|
address_street_three = address street three
|
||||||
address_label = подпись адреса
|
address_label = address label
|
||||||
|
|
||||||
loading_website_image = Загрузка изображения сайта
|
loading_website_image = Loading website image
|
||||||
|
|
||||||
researchers_in = исследователь в
|
researchers_in = researchers in
|
||||||
view = вид
|
view = view
|
||||||
grant_type = тип гранта
|
grant_type = grant Type
|
||||||
grant_entry_for = grant entry for
|
grant_entry_for = grant entry for
|
||||||
regions = регионы
|
regions = regions
|
||||||
grant_date = дата получения гранта
|
grant_date = grant Date
|
||||||
map_states_string = штатов.
|
map_states_string = states.
|
||||||
map_state_string = штат.
|
map_state_string = state.
|
||||||
unable_to_handle_grant_editing = This form is unable to handle the editing of this grant because it is associated with multiple grant individuals.
|
unable_to_handle_grant_editing = This form is unable to handle the editing of this grant because it is associated with multiple grant individuals.
|
||||||
unable_to_handle_position_editing = This form is unable to handle the editing of this position because it is associated with multiple Position individuals.
|
unable_to_handle_position_editing = This form is unable to handle the editing of this position because it is associated with multiple Position individuals.
|
||||||
currently_no_papers_for = Currently there are no {0} papers for
|
currently_no_papers_for = Currently there are no {0} papers for
|
||||||
change_selection = Изменить выделенное
|
change_selection = change selection
|
||||||
view_all_departments = view all academic departments
|
view_all_departments = view all academic departments
|
||||||
first_name = Имя
|
first_name = First name
|
||||||
last_name = Фамилия
|
last_name = Last name
|
||||||
first_grant = Первый грант
|
first_grant = First Grant
|
||||||
last_grant = Последний грант
|
last_grant = Last Grant
|
||||||
currently_no_researchers = There are currently no researchers with a defined geographic focus.
|
currently_no_researchers = There are currently no researchers with a defined geographic focus.
|
||||||
reviewer_role = Роль рецензента
|
reviewer_role = Reviewer Role
|
||||||
vivo_profile = профиль VIVO
|
vivo_profile = VIVO profile
|
||||||
loading_data = данные загружаются
|
loading_data = loading data
|
||||||
select_award = Selected Award
|
select_award = Selected Award
|
||||||
grants_in_vivo = гранты в VIVO
|
grants_in_vivo = grants in VIVO
|
||||||
service_provider_role = Роль предоставителя услуг
|
service_provider_role = Service Provider Role
|
||||||
view_all_faculty = просмотреть весь факультет
|
view_all_faculty = view all faculty
|
||||||
no_grants_for = В данный момент грантов нет грантов для
|
no_grants_for = Currently there are no grants for
|
||||||
statewide_locations = state-wide locations.
|
statewide_locations = state-wide locations.
|
||||||
faculty_who_are_members_of_org = Here are the faculty in the {0} department who are members of this organization.
|
faculty_who_are_members_of_org = Here are the faculty in the {0} department who are members of this organization.
|
||||||
indiv_foafperson_for = к
|
indiv_foafperson_for = for
|
||||||
indiv_foafperson_return = вернуться к
|
indiv_foafperson_return = return to
|
||||||
no_departments_found = Университетских департаментов не найдено.
|
no_departments_found = No academic departments found.
|
||||||
leadership_role = Управляющая роль
|
leadership_role = Leadership Role
|
||||||
countries = страны
|
countries = countries
|
||||||
first_publication = Первая публикация
|
first_publication = First publication
|
||||||
last_publication = Последняя публикация
|
last_publication = Last publication
|
||||||
research_area = сотрудников департамента спецализирующихся на данной области исследования
|
research_area = individuals in the department with this research area
|
||||||
password = пароль
|
password = password
|
||||||
limit_search = ограничить поиск
|
limit_search = limit search
|
||||||
placeholder_image = Изображение-заполнитель
|
placeholder_image = placeholder image
|
||||||
view_all_members_of_org = Просмотреть всех участников данной организации.
|
view_all_members_of_org = View all the members of this organization.
|
||||||
display_more = больше
|
display_more = more
|
||||||
create_entry = Создать запись
|
create_entry = Create Entry
|
||||||
attendee_capitalized = Посетитель
|
attendee_capitalized = Attendee
|
||||||
no_faculty_found = Членов факультета найдено не было.
|
no_faculty_found = No faculty members found.
|
||||||
create_capitalized = Создать
|
create_capitalized = Create
|
||||||
to = к
|
to = to
|
||||||
enter_new_role_value = Введеите новое значение в поле Роль.
|
enter_new_role_value = Please enter a new value in the Role field.
|
||||||
countries_and_regions = страны и регионы.
|
countries_and_regions = countries and regions.
|
||||||
province_or_region = Провинция или регион
|
province_or_region = Province or Region
|
||||||
full_name = Полное имя
|
full_name = Full name
|
||||||
researchers = исследователи
|
researchers = researchers
|
||||||
years_participation_in = Годы участия в
|
years_participation_in = Years of Participation in
|
||||||
return_to_grant = Вернуться к гранту
|
return_to_grant = Return to grant
|
||||||
profile_capitalized = Профиль
|
profile_capitalized = Profile
|
||||||
organizer_role = Роль организатора
|
organizer_role = Organizer Role
|
||||||
faculty_memberships = Членство в факультете
|
faculty_memberships = Faculty Memberships
|
||||||
edit_mailing_address = Изменить email адрес
|
edit_mailing_address = Edit Mailing Address
|
||||||
add_capitalized = Добавить
|
add_capitalized = Add
|
||||||
|
|
||||||
#Design labels
|
|
||||||
scroll_to_top_label = Наверх
|
|
||||||
toc_label = Содержание
|
|
||||||
collapse_something = Свернуть
|
|
||||||
expand_something = Раскрыть
|
|
||||||
|
|
||||||
user_settings_label = Выберите настройки:
|
|
||||||
user_settings_always_open_full_doc = Всегда раскрывать документ при открытии
|
|
||||||
user_settings_always_open_metadata = Всегда раскрывать метаданные при открытии
|
|
||||||
expand_doc_switch = Раскрыть документ
|
|
||||||
collapse_doc_switch = Свернуть документ
|
|
||||||
expand_metadata_switch = Раскрыть метаданные
|
|
||||||
collapse_metadata_switch = Свернуть метаданные
|
|
||||||
|
|
||||||
|
|
||||||
literature_excerpt_button_text = Литература
|
|
||||||
literature_all_button_text = Сводная литература
|
|
||||||
sources_excerpt_button_text = Источники
|
|
||||||
sources_all_button_text = Сводные источники
|
|
||||||
extended_search_label = Расширенный поиск
|
|
||||||
metadata_label = Метаданные
|
|
||||||
metadata_query = Поисковый запрос
|
|
||||||
metadata_relates_to_rubrics = Относится к рубрикам:
|
|
||||||
metadata_relates_to_issue = Входит в выпуск
|
|
||||||
metadata_year = Год
|
|
||||||
metadata_to_rubric = перейти в рубрику
|
|
||||||
metadata_firstPublication = Первая публикация
|
|
||||||
metadata_authors = Авторы:
|
|
||||||
metadata_keywords = Ключевые слова:
|
|
||||||
metadata_html_text = Текст:
|
|
||||||
metadata_org_address = Адрес организации:
|
|
||||||
metadata_in_articles = В составе статей:
|
|
||||||
|
|
||||||
#Philosophical classifier
|
|
||||||
rubricator_parent_rubric = Родительская рубрика:
|
|
||||||
rubricator_rubric_order = Порядок рубрики
|
|
||||||
rubricator_subrubrics = Подрубрики
|
|
||||||
rubricator_articles_in_subrubrics = Статьи в подрубриках
|
|
||||||
rubricator_excerpts_in_subrubrics = Отрывки в подрубриках
|
|
||||||
rubricator_articles_in_rubric = Статьи в данной рубрике
|
|
||||||
rubricator_excerpts_in_rubric = Отрывки в данной рубрике
|
|
||||||
|
|
||||||
#Extended search form
|
|
||||||
extended_search_example = Пример заполнения
|
|
||||||
extended_search_results_on_page = Результатов на страницу
|
|
||||||
extended_search_clean = Очистить
|
|
||||||
extended_search_execute_search = Поиск
|
|
||||||
open_standard_search_form = Стандартная форма поиска
|
|
||||||
|
|
||||||
#Virtual articles creation
|
|
||||||
show_virtual_article = Показать виртуальную статью
|
|
||||||
create_compilation_button = Сохранить
|
|
||||||
create_compilation_no_excerpts = Отрывков не найдено
|
|
||||||
create_compilation_enter_name_notification = Введите название подобрки
|
|
||||||
create_compilation_no_name_entered_error = Для создания подоборки необходимо ввести её название
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,115 +0,0 @@
|
||||||
menu_contactus = Contact Us
|
|
||||||
menu_welcomestart = Welcome
|
|
||||||
menu_copyright = copyright
|
|
||||||
menu_support = Support
|
|
||||||
menu_logout = Log out
|
|
||||||
menu_loginfull = Log in to manage this site
|
|
||||||
menu_login = Log in
|
|
||||||
menu_version = Version
|
|
||||||
menu_about = About
|
|
||||||
menu_termuse = Terms of Use
|
|
||||||
menu_powered = Powered by
|
|
||||||
|
|
||||||
intro_title = Welcome to VIVO
|
|
||||||
intro_para1 = VIVO is a research-focused discovery tool that enables collaboration among scholars of all disciplines.
|
|
||||||
intro_para2 = Browse or search information on people, departments, courses, grants, and publications.
|
|
||||||
intro_searchvivo = Search VIVO
|
|
||||||
intro_filtersearch = Filter search
|
|
||||||
|
|
||||||
identity_title = VIVO | connect share discover
|
|
||||||
identity_index = Index
|
|
||||||
identity_edit = Edit Page
|
|
||||||
identity_admin = Site Admin
|
|
||||||
identity_myprofile = My profile
|
|
||||||
identity_myaccount = My account
|
|
||||||
identity_user = user
|
|
||||||
|
|
||||||
collection_capitalized = Collection
|
|
||||||
place_of_grant = Place of grant
|
|
||||||
email_address = Email Address
|
|
||||||
|
|
||||||
#
|
|
||||||
# menupage templates ( /templates/freemarker/body/menupage )
|
|
||||||
#
|
|
||||||
grants_text_one = This body is from the the template file \
|
|
||||||
vivo/productMods/templates/freemarker/body/menupage/grants.ftl. \
|
|
||||||
In the display model, the grants page has a display:requiresBodyTemplate \
|
|
||||||
property that defines that the grants page overrides the default template. \
|
|
||||||
The default template for these pages is at /vitro/webapp/web/templates/freemarker/body/menupage/menupage.ftl
|
|
||||||
grants_two = This technique could be used to define pages without menu items, that get \
|
|
||||||
their content from a freemarker template. An example would be the about page.
|
|
||||||
grants_text_three = This would create a page that would use about.ftl as the body. The page would be \
|
|
||||||
accessed via /about and would override all servlet mappings in web.xml.
|
|
||||||
|
|
||||||
address_street_one = address street one
|
|
||||||
address_street_two = address street two
|
|
||||||
address_street_three = address street three
|
|
||||||
address_label = address label
|
|
||||||
|
|
||||||
loading_website_image = Loading website image
|
|
||||||
|
|
||||||
researchers_in = researchers in
|
|
||||||
view = view
|
|
||||||
grant_type = grant Type
|
|
||||||
grant_entry_for = grant entry for
|
|
||||||
regions = regions
|
|
||||||
grant_date = grant Date
|
|
||||||
map_states_string = states.
|
|
||||||
map_state_string = state.
|
|
||||||
unable_to_handle_grant_editing = This form is unable to handle the editing of this grant because it is associated with multiple grant individuals.
|
|
||||||
unable_to_handle_position_editing = This form is unable to handle the editing of this position because it is associated with multiple Position individuals.
|
|
||||||
currently_no_papers_for = Currently there are no {0} papers for
|
|
||||||
change_selection = change selection
|
|
||||||
view_all_departments = view all academic departments
|
|
||||||
first_name = First name
|
|
||||||
last_name = Last name
|
|
||||||
first_grant = First Grant
|
|
||||||
last_grant = Last Grant
|
|
||||||
currently_no_researchers = There are currently no researchers with a defined geographic focus.
|
|
||||||
reviewer_role = Reviewer Role
|
|
||||||
vivo_profile = VIVO profile
|
|
||||||
loading_data = loading data
|
|
||||||
select_award = Selected Award
|
|
||||||
grants_in_vivo = grants in VIVO
|
|
||||||
service_provider_role = Service Provider Role
|
|
||||||
view_all_faculty = view all faculty
|
|
||||||
no_grants_for = Currently there are no grants for
|
|
||||||
statewide_locations = state-wide locations.
|
|
||||||
faculty_who_are_members_of_org = Here are the faculty in the {0} department who are members of this organization.
|
|
||||||
indiv_foafperson_for = for
|
|
||||||
indiv_foafperson_return = return to
|
|
||||||
no_departments_found = No academic departments found.
|
|
||||||
leadership_role = Leadership Role
|
|
||||||
countries = countries
|
|
||||||
first_publication = First publication
|
|
||||||
last_publication = Last publication
|
|
||||||
research_area = individuals in the department with this research area
|
|
||||||
password = password
|
|
||||||
limit_search = limit search
|
|
||||||
placeholder_image = placeholder image
|
|
||||||
view_all_members_of_org = View all the members of this organization.
|
|
||||||
display_more = more
|
|
||||||
create_entry = Create Entry
|
|
||||||
attendee_capitalized = Attendee
|
|
||||||
no_faculty_found = No faculty members found.
|
|
||||||
create_capitalized = Create
|
|
||||||
to = to
|
|
||||||
enter_new_role_value = Please enter a new value in the Role field.
|
|
||||||
countries_and_regions = countries and regions.
|
|
||||||
province_or_region = Province or Region
|
|
||||||
full_name = Full name
|
|
||||||
researchers = researchers
|
|
||||||
years_participation_in = Years of Participation in
|
|
||||||
return_to_grant = Return to grant
|
|
||||||
profile_capitalized = Profile
|
|
||||||
organizer_role = Organizer Role
|
|
||||||
faculty_memberships = Faculty Memberships
|
|
||||||
edit_mailing_address = Edit Mailing Address
|
|
||||||
add_capitalized = Add
|
|
||||||
|
|
||||||
literature_excerpt_button_text = Bibliography
|
|
||||||
literature_all_button_text = All bibliorgraphy
|
|
||||||
sources_excerpt_button_text = Sources
|
|
||||||
sources_all_button_text = All sources
|
|
||||||
remove_doc_from_search_results = Remove from search results
|
|
||||||
|
|
|
@ -106,4 +106,4 @@ organizer_role = Organizer Role
|
||||||
faculty_memberships = Faculty Memberships
|
faculty_memberships = Faculty Memberships
|
||||||
edit_mailing_address = Edit Mailing Address
|
edit_mailing_address = Edit Mailing Address
|
||||||
add_capitalized = Add
|
add_capitalized = Add
|
||||||
remove_doc_from_search_results=Удалить из результатов поиска
|
|
||||||
|
|
|
@ -1,6 +0,0 @@
|
||||||
<svg width="20" height="19" viewBox="0 0 20 19" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
||||||
<path d="M0 8.21428H20" stroke="#8B4513"/>
|
|
||||||
<path d="M0 10.3571H20" stroke="#8B4513"/>
|
|
||||||
<path d="M6.09782 16.2857L9.64279 12.1923L13.1878 16.2857H6.09782Z" fill="#8B4513" stroke="#8B4513"/>
|
|
||||||
<path d="M6.09782 2.28571L9.64279 6.37909L13.1878 2.28571H6.09782Z" fill="#8B4513" stroke="#8B4513"/>
|
|
||||||
</svg>
|
|
Before Width: | Height: | Size: 393 B |
|
@ -1,6 +0,0 @@
|
||||||
<svg width="20" height="18" viewBox="0 0 20 18" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
||||||
<path d="M0 7.5H20" stroke="#8B4513"/>
|
|
||||||
<path d="M0 9.64285H20" stroke="#8B4513"/>
|
|
||||||
<path d="M6.09782 4.85714L9.64279 0.763763L13.1878 4.85714H6.09782Z" fill="#8B4513" stroke="#8B4513"/>
|
|
||||||
<path d="M6.09782 12.2857L9.64279 16.3791L13.1878 12.2857H6.09782Z" fill="#8B4513" stroke="#8B4513"/>
|
|
||||||
</svg>
|
|
Before Width: | Height: | Size: 390 B |
|
@ -1,3 +0,0 @@
|
||||||
<svg width="13" height="8" viewBox="0 0 13 8" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
||||||
<path d="M1.09926 1L6.5 7.23624L11.9007 1H1.09926Z" stroke="#8B4513"/>
|
|
||||||
</svg>
|
|
Before Width: | Height: | Size: 172 B |
Before Width: | Height: | Size: 318 B |
|
@ -1,3 +0,0 @@
|
||||||
<svg width="13" height="8" viewBox="0 0 13 8" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
||||||
<path d="M1.09926 1L6.5 7.23624L11.9007 1H1.09926Z" stroke="#8B4513"/>
|
|
||||||
</svg>
|
|
Before Width: | Height: | Size: 172 B |
|
@ -1,3 +0,0 @@
|
||||||
<svg width="13" height="8" viewBox="0 0 13 8" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
||||||
<path d="M1.09926 1L6.5 7.23624L11.9007 1H1.09926Z" fill="#8B4513" stroke="#8B4513"/>
|
|
||||||
</svg>
|
|
Before Width: | Height: | Size: 187 B |
Before Width: | Height: | Size: 126 B After Width: | Height: | Size: 183 B |
|
@ -1,61 +0,0 @@
|
||||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
|
||||||
<svg
|
|
||||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
|
||||||
xmlns:cc="http://creativecommons.org/ns#"
|
|
||||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
|
||||||
xmlns:svg="http://www.w3.org/2000/svg"
|
|
||||||
xmlns="http://www.w3.org/2000/svg"
|
|
||||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
|
||||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
|
||||||
width="5.7735262"
|
|
||||||
height="10"
|
|
||||||
viewBox="0 0 5.7735262 9.9999996"
|
|
||||||
fill="none"
|
|
||||||
version="1.1"
|
|
||||||
id="svg4"
|
|
||||||
sodipodi:docname="arrow-right.svg"
|
|
||||||
inkscape:version="1.0 (4035a4f, 2020-05-01)">
|
|
||||||
<metadata
|
|
||||||
id="metadata10">
|
|
||||||
<rdf:RDF>
|
|
||||||
<cc:Work
|
|
||||||
rdf:about="">
|
|
||||||
<dc:format>image/svg+xml</dc:format>
|
|
||||||
<dc:type
|
|
||||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
|
||||||
<dc:title />
|
|
||||||
</cc:Work>
|
|
||||||
</rdf:RDF>
|
|
||||||
</metadata>
|
|
||||||
<defs
|
|
||||||
id="defs8" />
|
|
||||||
<sodipodi:namedview
|
|
||||||
inkscape:document-rotation="0"
|
|
||||||
pagecolor="#ffffff"
|
|
||||||
bordercolor="#666666"
|
|
||||||
borderopacity="1"
|
|
||||||
objecttolerance="10"
|
|
||||||
gridtolerance="10"
|
|
||||||
guidetolerance="10"
|
|
||||||
inkscape:pageopacity="0"
|
|
||||||
inkscape:pageshadow="2"
|
|
||||||
inkscape:window-width="1920"
|
|
||||||
inkscape:window-height="994"
|
|
||||||
id="namedview6"
|
|
||||||
showgrid="false"
|
|
||||||
inkscape:zoom="26.25"
|
|
||||||
inkscape:cx="3.61814"
|
|
||||||
inkscape:cy="6.3770448"
|
|
||||||
inkscape:window-x="0"
|
|
||||||
inkscape:window-y="24"
|
|
||||||
inkscape:window-maximized="1"
|
|
||||||
inkscape:current-layer="svg4" />
|
|
||||||
<path
|
|
||||||
d="M 0.38490149,9.1574888 5.1855781,4.9999822 0.38490149,0.84250696 Z"
|
|
||||||
fill="#8b4513"
|
|
||||||
stroke="#8b4513"
|
|
||||||
id="path2"
|
|
||||||
inkscape:export-xdpi="300"
|
|
||||||
inkscape:export-ydpi="300"
|
|
||||||
style="stroke-width:0.769803" />
|
|
||||||
</svg>
|
|
Before Width: | Height: | Size: 1.7 KiB |
|
@ -1,3 +0,0 @@
|
||||||
<svg width="13" height="8" viewBox="0 0 13 8" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
||||||
<path d="M1.09926 7L6.5 0.763763L11.9007 7H1.09926Z" stroke="#8B4513"/>
|
|
||||||
</svg>
|
|
Before Width: | Height: | Size: 173 B |
|
@ -1,3 +0,0 @@
|
||||||
<svg width="13" height="8" viewBox="0 0 13 8" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
||||||
<path d="M1.09926 7L6.5 0.763763L11.9007 7H1.09926Z" stroke="#8B4513"/>
|
|
||||||
</svg>
|
|
Before Width: | Height: | Size: 173 B |
|
@ -1,3 +0,0 @@
|
||||||
<svg width="13" height="8" viewBox="0 0 13 8" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
||||||
<path d="M1.09926 7L6.5 0.763763L11.9007 7H1.09926Z" fill="#8B4513" stroke="#8B4513"/>
|
|
||||||
</svg>
|
|
Before Width: | Height: | Size: 188 B |
Before Width: | Height: | Size: 131 B After Width: | Height: | Size: 294 B |
Before Width: | Height: | Size: 94 B After Width: | Height: | Size: 281 B |
|
@ -1,3 +0,0 @@
|
||||||
<svg width="16" height="12" viewBox="0 0 16 12" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
||||||
<path d="M2 5L7.5 10.5L14 2" stroke="#8B4513" stroke-width="2.5" stroke-linecap="square" stroke-linejoin="round"/>
|
|
||||||
</svg>
|
|
Before Width: | Height: | Size: 218 B |
|
@ -1,3 +0,0 @@
|
||||||
<svg width="7" height="7" viewBox="0 0 7 7" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
||||||
<circle cx="3.5" cy="3.5" r="3" fill="#F6F6F6" stroke="#8B4513"/>
|
|
||||||
</svg>
|
|
Before Width: | Height: | Size: 165 B |
|
@ -1,79 +0,0 @@
|
||||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
|
||||||
<svg
|
|
||||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
|
||||||
xmlns:cc="http://creativecommons.org/ns#"
|
|
||||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
|
||||||
xmlns:svg="http://www.w3.org/2000/svg"
|
|
||||||
xmlns="http://www.w3.org/2000/svg"
|
|
||||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
|
||||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
|
||||||
sodipodi:docname="download-icon.svg"
|
|
||||||
inkscape:version="1.0 (4035a4f, 2020-05-01)"
|
|
||||||
id="svg8"
|
|
||||||
version="1.1"
|
|
||||||
viewBox="0 0 7.9375008 7.9375008"
|
|
||||||
height="7.9375005mm"
|
|
||||||
width="7.9375005mm">
|
|
||||||
<defs
|
|
||||||
id="defs2" />
|
|
||||||
<sodipodi:namedview
|
|
||||||
inkscape:guide-bbox="true"
|
|
||||||
showguides="true"
|
|
||||||
inkscape:snap-global="true"
|
|
||||||
inkscape:window-maximized="1"
|
|
||||||
inkscape:window-y="24"
|
|
||||||
inkscape:window-x="0"
|
|
||||||
inkscape:window-height="994"
|
|
||||||
inkscape:window-width="1920"
|
|
||||||
showgrid="false"
|
|
||||||
inkscape:document-rotation="0"
|
|
||||||
inkscape:current-layer="layer1"
|
|
||||||
inkscape:document-units="mm"
|
|
||||||
inkscape:cy="7.9763814"
|
|
||||||
inkscape:cx="33.471871"
|
|
||||||
inkscape:zoom="7.9195959"
|
|
||||||
inkscape:pageshadow="2"
|
|
||||||
inkscape:pageopacity="0.0"
|
|
||||||
borderopacity="1.0"
|
|
||||||
bordercolor="#666666"
|
|
||||||
pagecolor="#ffffff"
|
|
||||||
id="base">
|
|
||||||
<sodipodi:guide
|
|
||||||
id="guide947"
|
|
||||||
orientation="1,0"
|
|
||||||
position="15.213542,-3.8742594" />
|
|
||||||
</sodipodi:namedview>
|
|
||||||
<metadata
|
|
||||||
id="metadata5">
|
|
||||||
<rdf:RDF>
|
|
||||||
<cc:Work
|
|
||||||
rdf:about="">
|
|
||||||
<dc:format>image/svg+xml</dc:format>
|
|
||||||
<dc:type
|
|
||||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
|
||||||
<dc:title></dc:title>
|
|
||||||
</cc:Work>
|
|
||||||
</rdf:RDF>
|
|
||||||
</metadata>
|
|
||||||
<g
|
|
||||||
transform="translate(-25.897388,-204.35973)"
|
|
||||||
id="layer1"
|
|
||||||
inkscape:groupmode="layer"
|
|
||||||
inkscape:label="Layer 1">
|
|
||||||
<circle
|
|
||||||
style="fill:#8b4513;fill-opacity:1;stroke:#8b4513;stroke-width:0.187897;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
|
||||||
id="path907-0"
|
|
||||||
cx="29.866138"
|
|
||||||
cy="208.32848"
|
|
||||||
r="3.8748016" />
|
|
||||||
<path
|
|
||||||
sodipodi:nodetypes="cccccccc"
|
|
||||||
id="path847"
|
|
||||||
d="m 28.816703,205.08758 h 2.032528 v 2.51321 h 0.965451 l -1.956309,2.2502 -2.091166,-2.40532 h 1.032785 z"
|
|
||||||
style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.0762951px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
|
|
||||||
<path
|
|
||||||
id="path945"
|
|
||||||
d="m 27.287496,209.99817 0.127737,0.46383 h 4.95888 l 0.127738,-0.3881"
|
|
||||||
style="fill:none;stroke:#ffffff;stroke-width:0.57;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
|
|
||||||
</g>
|
|
||||||
</svg>
|
|
Before Width: | Height: | Size: 2.7 KiB |
|
@ -1,3 +0,0 @@
|
||||||
<svg width="200" height="32" viewBox="0 0 200 32" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
||||||
<path d="M1 31L13.9836 1H199V31" stroke="#8B4513"/>
|
|
||||||
</svg>
|
|
Before Width: | Height: | Size: 157 B |
Before Width: | Height: | Size: 665 B |
|
@ -1,68 +0,0 @@
|
||||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
|
||||||
<svg
|
|
||||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
|
||||||
xmlns:cc="http://creativecommons.org/ns#"
|
|
||||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
|
||||||
xmlns:svg="http://www.w3.org/2000/svg"
|
|
||||||
xmlns="http://www.w3.org/2000/svg"
|
|
||||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
|
||||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
|
||||||
inkscape:version="1.0 (4035a4f, 2020-05-01)"
|
|
||||||
height="30.000002"
|
|
||||||
width="30"
|
|
||||||
sodipodi:docname="exportPdf.svg"
|
|
||||||
version="1.1"
|
|
||||||
viewBox="0 0 30 30.000002"
|
|
||||||
id="Layer_1"
|
|
||||||
data-name="Layer 1">
|
|
||||||
<metadata
|
|
||||||
id="metadata19">
|
|
||||||
<rdf:RDF>
|
|
||||||
<cc:Work
|
|
||||||
rdf:about="">
|
|
||||||
<dc:format>image/svg+xml</dc:format>
|
|
||||||
<dc:type
|
|
||||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
|
||||||
<dc:title></dc:title>
|
|
||||||
</cc:Work>
|
|
||||||
</rdf:RDF>
|
|
||||||
</metadata>
|
|
||||||
<sodipodi:namedview
|
|
||||||
inkscape:current-layer="Layer_1"
|
|
||||||
inkscape:window-maximized="1"
|
|
||||||
inkscape:window-y="24"
|
|
||||||
inkscape:window-x="0"
|
|
||||||
inkscape:cy="20.288771"
|
|
||||||
inkscape:cx="13.261527"
|
|
||||||
inkscape:zoom="9.2807765"
|
|
||||||
showgrid="false"
|
|
||||||
id="namedview17"
|
|
||||||
inkscape:window-height="994"
|
|
||||||
inkscape:window-width="1920"
|
|
||||||
inkscape:pageshadow="2"
|
|
||||||
inkscape:pageopacity="0"
|
|
||||||
guidetolerance="10"
|
|
||||||
gridtolerance="10"
|
|
||||||
objecttolerance="10"
|
|
||||||
borderopacity="1"
|
|
||||||
bordercolor="#666666"
|
|
||||||
pagecolor="#ffffff" />
|
|
||||||
<defs
|
|
||||||
id="defs4">
|
|
||||||
<style
|
|
||||||
id="style2">.cls-1{fill:none;stroke:#078cd6;stroke-linecap:round;stroke-linejoin:round;stroke-width:2px;}</style>
|
|
||||||
<style
|
|
||||||
id="style879">.cls-1{fill:none;stroke:#078cd6;stroke-linecap:round;stroke-linejoin:round;stroke-width:2px;}.cls-2{fill:#078cd6;}</style>
|
|
||||||
</defs>
|
|
||||||
<rect
|
|
||||||
y="0"
|
|
||||||
x="0"
|
|
||||||
height="30.000002"
|
|
||||||
width="30"
|
|
||||||
id="rect844"
|
|
||||||
style="fill:none;fill-opacity:1;stroke:none;stroke-width:1.31713;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
|
|
||||||
<path
|
|
||||||
style="fill:#8b4513;fill-opacity:1;fill-rule:evenodd;stroke:#8b4513;stroke-width:0.477;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
|
||||||
d="m 19.029941,11.978389 v -2.8599261 0 L 13.31009,2.4453032 H 2.8263273 c -1.054445,0 -1.90924435,0.8563933 -1.90924435,1.9136048 v 21.912121 c 0,1.056855 0.84932735,1.913605 1.90416325,1.913605 H 17.125783 c 1.051643,0 1.904158,-0.856273 1.904158,-1.897842 V 24.3714 h 7.619952 c 1.583093,0 2.866446,-1.279592 2.866446,-2.858769 v -6.675474 c 0,-1.578854 -1.27361,-2.858768 -2.866446,-2.858768 z M 18.076632,24.3714 v 1.91291 c 0,0.522844 -0.426786,0.947015 -0.95327,0.947015 H 2.8236581 c -0.5197915,0 -0.9532704,-0.424871 -0.9532704,-0.948977 V 4.3475893 c 0,-0.5149715 0.4249277,-0.9489776 0.9490949,-0.9489776 h 9.5372984 v 4.7609001 c 0,1.0670992 0.852735,1.9122592 1.904634,1.9122592 h 3.815217 v 1.906618 h -7.619938 c -1.5830923,0 -2.8664553,1.279592 -2.8664553,2.858768 v 6.675474 c 0,1.578855 1.2736202,2.858769 2.8664553,2.858769 z M 13.31009,3.875266 v 4.2815136 c 0,0.5311235 0.429618,0.9616833 0.9502,0.9616833 h 3.530312 z m -2.865102,9.056432 c -1.0501363,0 -1.9014408,0.858145 -1.9014408,1.899006 v 6.68838 c 0,1.048793 0.860218,1.899007 1.9014408,1.899007 H 26.6616 c 1.050136,0 1.901431,-0.858145 1.901431,-1.899007 v -6.68838 c 0,-1.048793 -0.860209,-1.899006 -1.901431,-1.899006 z M 22.84318,17.69824 v -1.906617 h 3.813234 v -0.953308 h -4.766543 v 6.673159 h 0.953309 v -2.859925 h 2.859925 V 17.69824 Z M 10.450164,16.744932 v 4.766542 h 0.953309 v -2.859925 h 1.901965 c 1.05557,0 1.911269,-0.846281 1.911269,-1.906617 0,-1.052996 -0.852163,-1.906617 -1.911269,-1.906617 h -2.855274 z m 0.953309,-0.953309 v 1.906617 h 1.907618 c 0.52595,0 0.952307,-0.42314 0.952307,-0.953308 0,-0.526498 -0.421991,-0.953309 -0.952307,-0.953309 z m 4.766542,-0.953308 v 6.673159 h 2.855274 c 1.05557,0 1.911274,-0.84516 1.911274,-1.91226 v -2.84864 c 0,-1.056111 -0.852168,-1.912259 -1.911274,-1.912259 z m 0.953309,0.953308 v 4.766543 h 1.907618 c 0.52595,0 0.952307,-0.423 0.952307,-0.953126 v -2.860292 c 0,-0.526396 -0.421991,-0.953125 -0.952307,-0.953125 z"
|
|
||||||
id="document-file-pdf" />
|
|
||||||
</svg>
|
|
Before Width: | Height: | Size: 4.1 KiB |
Before Width: | Height: | Size: 886 B |
|
@ -1,108 +0,0 @@
|
||||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
|
||||||
<svg
|
|
||||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
|
||||||
xmlns:cc="http://creativecommons.org/ns#"
|
|
||||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
|
||||||
xmlns:svg="http://www.w3.org/2000/svg"
|
|
||||||
xmlns="http://www.w3.org/2000/svg"
|
|
||||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
|
||||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
|
||||||
data-name="Layer 1"
|
|
||||||
id="Layer_1"
|
|
||||||
viewBox="0 0 27.650404 25"
|
|
||||||
version="1.1"
|
|
||||||
sodipodi:docname="print.svg"
|
|
||||||
width="27.650404"
|
|
||||||
height="25"
|
|
||||||
inkscape:version="1.0 (4035a4f, 2020-05-01)">
|
|
||||||
<metadata
|
|
||||||
id="metadata19">
|
|
||||||
<rdf:RDF>
|
|
||||||
<cc:Work
|
|
||||||
rdf:about="">
|
|
||||||
<dc:format>image/svg+xml</dc:format>
|
|
||||||
<dc:type
|
|
||||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
|
||||||
<dc:title />
|
|
||||||
</cc:Work>
|
|
||||||
</rdf:RDF>
|
|
||||||
</metadata>
|
|
||||||
<sodipodi:namedview
|
|
||||||
inkscape:document-rotation="0"
|
|
||||||
pagecolor="#ffffff"
|
|
||||||
bordercolor="#666666"
|
|
||||||
borderopacity="1"
|
|
||||||
objecttolerance="10"
|
|
||||||
gridtolerance="10"
|
|
||||||
guidetolerance="10"
|
|
||||||
inkscape:pageopacity="0"
|
|
||||||
inkscape:pageshadow="2"
|
|
||||||
inkscape:window-width="1920"
|
|
||||||
inkscape:window-height="994"
|
|
||||||
id="namedview17"
|
|
||||||
showgrid="false"
|
|
||||||
inkscape:zoom="13.125"
|
|
||||||
inkscape:cx="12.832916"
|
|
||||||
inkscape:cy="18.850271"
|
|
||||||
inkscape:window-x="0"
|
|
||||||
inkscape:window-y="24"
|
|
||||||
inkscape:window-maximized="1"
|
|
||||||
inkscape:current-layer="Layer_1" />
|
|
||||||
<defs
|
|
||||||
id="defs4">
|
|
||||||
<style
|
|
||||||
id="style2">.cls-1{fill:none;stroke:#078cd6;stroke-linecap:round;stroke-linejoin:round;stroke-width:2px;}</style>
|
|
||||||
<style
|
|
||||||
id="style879">.cls-1{fill:none;stroke:#078cd6;stroke-linecap:round;stroke-linejoin:round;stroke-width:2px;}.cls-2{fill:#078cd6;}</style>
|
|
||||||
</defs>
|
|
||||||
<rect
|
|
||||||
style="fill:none;fill-opacity:1;stroke:none;stroke-width:1.09761;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1"
|
|
||||||
id="rect844"
|
|
||||||
width="24.999998"
|
|
||||||
height="25"
|
|
||||||
x="-0.42861053"
|
|
||||||
y="-1.4384998" />
|
|
||||||
<g
|
|
||||||
style="fill:none;fill-opacity:1;stroke:#8b4513;stroke-width:2.16261;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
|
||||||
transform="matrix(0.53008093,0,0,0.53008093,-3.1373873,-4.7276301)"
|
|
||||||
id="g909">
|
|
||||||
<path
|
|
||||||
style="fill:none;fill-opacity:1;stroke:#8b4513;stroke-width:2.16261;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
|
||||||
class="cls-1"
|
|
||||||
d="M 16,46 H 11 A 4,4 0 0 1 7,42 V 24 a 4,4 0 0 1 4,-4 h 42 a 4,4 0 0 1 4,4 v 18 a 4,4 0 0 1 -4,4 h -5"
|
|
||||||
id="path885" />
|
|
||||||
<line
|
|
||||||
style="fill:none;fill-opacity:1;stroke:#8b4513;stroke-width:2.16261;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
|
||||||
class="cls-1"
|
|
||||||
x1="15"
|
|
||||||
x2="49"
|
|
||||||
y1="41"
|
|
||||||
y2="41"
|
|
||||||
id="line887" />
|
|
||||||
<path
|
|
||||||
style="fill:none;fill-opacity:1;stroke:#8b4513;stroke-width:2.16261;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
|
||||||
class="cls-1"
|
|
||||||
d="m 20,41 h 24 v 12 a 2,2 0 0 1 -2,2 H 22 a 2,2 0 0 1 -2,-2 z"
|
|
||||||
id="path889" />
|
|
||||||
<circle
|
|
||||||
style="fill:none;fill-opacity:1;stroke:#8b4513;stroke-width:2.16261;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
|
||||||
class="cls-2"
|
|
||||||
cx="45.5"
|
|
||||||
cy="29.5"
|
|
||||||
r="2"
|
|
||||||
id="circle891" />
|
|
||||||
<path
|
|
||||||
style="fill:none;fill-opacity:1;stroke:#8b4513;stroke-width:2.16261;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
|
||||||
class="cls-1"
|
|
||||||
d="m 39,10 v 4 a 2,2 0 0 0 2,2 h 4.06 L 39.77,10 H 21 a 2,2 0 0 0 -2,2 v 7"
|
|
||||||
id="path893" />
|
|
||||||
<line
|
|
||||||
style="fill:none;fill-opacity:1;stroke:#8b4513;stroke-width:2.16261;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
|
||||||
class="cls-1"
|
|
||||||
x1="26"
|
|
||||||
x2="38"
|
|
||||||
y1="45"
|
|
||||||
y2="45"
|
|
||||||
id="line895" />
|
|
||||||
</g>
|
|
||||||
</svg>
|
|
Before Width: | Height: | Size: 3.8 KiB |
Before Width: | Height: | Size: 741 B |
Before Width: | Height: | Size: 1.5 KiB |
|
@ -1,99 +0,0 @@
|
||||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
|
||||||
<svg
|
|
||||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
|
||||||
xmlns:cc="http://creativecommons.org/ns#"
|
|
||||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
|
||||||
xmlns:svg="http://www.w3.org/2000/svg"
|
|
||||||
xmlns="http://www.w3.org/2000/svg"
|
|
||||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
|
||||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
|
||||||
data-name="Layer 1"
|
|
||||||
id="Layer_1"
|
|
||||||
viewBox="0 0 30 30.000002"
|
|
||||||
version="1.1"
|
|
||||||
sodipodi:docname="save.svg"
|
|
||||||
width="30"
|
|
||||||
height="30.000002"
|
|
||||||
inkscape:version="1.0 (4035a4f, 2020-05-01)">
|
|
||||||
<metadata
|
|
||||||
id="metadata19">
|
|
||||||
<rdf:RDF>
|
|
||||||
<cc:Work
|
|
||||||
rdf:about="">
|
|
||||||
<dc:format>image/svg+xml</dc:format>
|
|
||||||
<dc:type
|
|
||||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
|
||||||
<dc:title />
|
|
||||||
</cc:Work>
|
|
||||||
</rdf:RDF>
|
|
||||||
</metadata>
|
|
||||||
<sodipodi:namedview
|
|
||||||
inkscape:document-rotation="0"
|
|
||||||
pagecolor="#ffffff"
|
|
||||||
bordercolor="#666666"
|
|
||||||
borderopacity="1"
|
|
||||||
objecttolerance="10"
|
|
||||||
gridtolerance="10"
|
|
||||||
guidetolerance="10"
|
|
||||||
inkscape:pageopacity="0"
|
|
||||||
inkscape:pageshadow="2"
|
|
||||||
inkscape:window-width="1920"
|
|
||||||
inkscape:window-height="994"
|
|
||||||
id="namedview17"
|
|
||||||
showgrid="false"
|
|
||||||
inkscape:zoom="13.125"
|
|
||||||
inkscape:cx="13.261527"
|
|
||||||
inkscape:cy="20.288771"
|
|
||||||
inkscape:window-x="0"
|
|
||||||
inkscape:window-y="24"
|
|
||||||
inkscape:window-maximized="1"
|
|
||||||
inkscape:current-layer="Layer_1" />
|
|
||||||
<defs
|
|
||||||
id="defs4">
|
|
||||||
<style
|
|
||||||
id="style2">.cls-1{fill:none;stroke:#078cd6;stroke-linecap:round;stroke-linejoin:round;stroke-width:2px;}</style>
|
|
||||||
<style
|
|
||||||
id="style879">.cls-1{fill:none;stroke:#078cd6;stroke-linecap:round;stroke-linejoin:round;stroke-width:2px;}.cls-2{fill:#078cd6;}</style>
|
|
||||||
</defs>
|
|
||||||
<g
|
|
||||||
id="g859"
|
|
||||||
transform="matrix(1.2842715,0,0,1.2842715,-4.8150373,-3.5364063)"
|
|
||||||
style="stroke:#8b4513;stroke-width:0.93438187;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1">
|
|
||||||
<path
|
|
||||||
style="stroke:#8b4513;stroke-width:0.93438187;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
|
||||||
id="path8"
|
|
||||||
d="M 20.768612,24.539185 H 7.3302333 A 1.7917839,1.7917839 0 0 1 5.5384493,22.747401 V 6.6213458 a 1.7917839,1.7917839 0 0 1 1.791784,-1.791784 H 23.456288 a 1.7917839,1.7917839 0 0 1 1.791784,1.791784 V 20.059725 Z"
|
|
||||||
class="cls-1" />
|
|
||||||
<rect
|
|
||||||
style="stroke:#8b4513;stroke-width:0.93438187;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
|
||||||
id="rect10"
|
|
||||||
y="4.8295612"
|
|
||||||
x="9.5699596"
|
|
||||||
width="11.646596"
|
|
||||||
height="11.198649"
|
|
||||||
class="cls-1" />
|
|
||||||
<rect
|
|
||||||
style="stroke:#8b4513;stroke-width:0.93438187;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
|
||||||
id="rect12"
|
|
||||||
y="21.403564"
|
|
||||||
x="11.80969"
|
|
||||||
width="7.1671357"
|
|
||||||
height="3.1356218"
|
|
||||||
class="cls-1" />
|
|
||||||
<line
|
|
||||||
style="stroke:#8b4513;stroke-width:0.93438187;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
|
||||||
id="line14"
|
|
||||||
y2="24.539188"
|
|
||||||
y1="21.403564"
|
|
||||||
x2="17.185043"
|
|
||||||
x1="17.185043"
|
|
||||||
class="cls-1" />
|
|
||||||
</g>
|
|
||||||
<rect
|
|
||||||
style="fill:none;fill-opacity:1;stroke:none;stroke-width:1.31713;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1"
|
|
||||||
id="rect844"
|
|
||||||
width="30"
|
|
||||||
height="30.000002"
|
|
||||||
x="0"
|
|
||||||
y="0" />
|
|
||||||
</svg>
|
|
Before Width: | Height: | Size: 3.3 KiB |
|
@ -1,111 +0,0 @@
|
||||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
|
||||||
<svg
|
|
||||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
|
||||||
xmlns:cc="http://creativecommons.org/ns#"
|
|
||||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
|
||||||
xmlns:svg="http://www.w3.org/2000/svg"
|
|
||||||
xmlns="http://www.w3.org/2000/svg"
|
|
||||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
|
||||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
|
||||||
data-name="Layer 1"
|
|
||||||
id="Layer_1"
|
|
||||||
viewBox="0 0 30 30.000002"
|
|
||||||
version="1.1"
|
|
||||||
sodipodi:docname="settings.svg"
|
|
||||||
width="30"
|
|
||||||
height="30.000002"
|
|
||||||
inkscape:version="1.0 (4035a4f, 2020-05-01)">
|
|
||||||
<metadata
|
|
||||||
id="metadata19">
|
|
||||||
<rdf:RDF>
|
|
||||||
<cc:Work
|
|
||||||
rdf:about="">
|
|
||||||
<dc:format>image/svg+xml</dc:format>
|
|
||||||
<dc:type
|
|
||||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
|
||||||
<dc:title></dc:title>
|
|
||||||
</cc:Work>
|
|
||||||
</rdf:RDF>
|
|
||||||
</metadata>
|
|
||||||
<sodipodi:namedview
|
|
||||||
inkscape:guide-bbox="true"
|
|
||||||
showguides="true"
|
|
||||||
inkscape:document-rotation="0"
|
|
||||||
pagecolor="#ffffff"
|
|
||||||
bordercolor="#666666"
|
|
||||||
borderopacity="1"
|
|
||||||
objecttolerance="10"
|
|
||||||
gridtolerance="10"
|
|
||||||
guidetolerance="10"
|
|
||||||
inkscape:pageopacity="0"
|
|
||||||
inkscape:pageshadow="2"
|
|
||||||
inkscape:window-width="1920"
|
|
||||||
inkscape:window-height="994"
|
|
||||||
id="namedview17"
|
|
||||||
showgrid="false"
|
|
||||||
inkscape:zoom="13.125"
|
|
||||||
inkscape:cx="15.771404"
|
|
||||||
inkscape:cy="17.140427"
|
|
||||||
inkscape:window-x="0"
|
|
||||||
inkscape:window-y="24"
|
|
||||||
inkscape:window-maximized="1"
|
|
||||||
inkscape:current-layer="Layer_1">
|
|
||||||
<sodipodi:guide
|
|
||||||
id="guide903"
|
|
||||||
orientation="1,0"
|
|
||||||
position="28.631436,15.572509" />
|
|
||||||
</sodipodi:namedview>
|
|
||||||
<defs
|
|
||||||
id="defs4">
|
|
||||||
<style
|
|
||||||
id="style2">.cls-1{fill:none;stroke:#078cd6;stroke-linecap:round;stroke-linejoin:round;stroke-width:2px;}</style>
|
|
||||||
<style
|
|
||||||
id="style879">.cls-1{fill:none;stroke:#078cd6;stroke-linecap:round;stroke-linejoin:round;stroke-width:2px;}.cls-2{fill:#078cd6;}</style>
|
|
||||||
</defs>
|
|
||||||
<rect
|
|
||||||
style="fill:none;fill-opacity:1;stroke:none;stroke-width:1.31713;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1"
|
|
||||||
id="rect844"
|
|
||||||
width="30"
|
|
||||||
height="30.000002"
|
|
||||||
x="0"
|
|
||||||
y="2" />
|
|
||||||
<rect
|
|
||||||
style="fill:#8b4513;fill-opacity:1;stroke:none;stroke-width:0.433367;stroke-linecap:round;stroke-linejoin:round"
|
|
||||||
id="rect839-9"
|
|
||||||
width="27.259666"
|
|
||||||
height="2"
|
|
||||||
x="1.3717704"
|
|
||||||
y="21.941746" />
|
|
||||||
<circle
|
|
||||||
r="3.0169961"
|
|
||||||
cy="22.709797"
|
|
||||||
cx="20.447834"
|
|
||||||
id="path871-6-8"
|
|
||||||
style="fill:#ffffff;fill-opacity:1;stroke:#8b4513;stroke-width:1.03267;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
|
|
||||||
<rect
|
|
||||||
y="13.560791"
|
|
||||||
x="1.392127"
|
|
||||||
height="2"
|
|
||||||
width="27.259666"
|
|
||||||
id="rect839-9-9"
|
|
||||||
style="fill:#8b4513;fill-opacity:1;stroke:none;stroke-width:0.433367;stroke-linecap:round;stroke-linejoin:round" />
|
|
||||||
<rect
|
|
||||||
style="fill:#8b4513;fill-opacity:1;stroke:none;stroke-width:0.433367;stroke-linecap:round;stroke-linejoin:round"
|
|
||||||
id="rect839-9-9-0"
|
|
||||||
width="27.259666"
|
|
||||||
height="2"
|
|
||||||
x="1.3717698"
|
|
||||||
y="5.9417448" />
|
|
||||||
<circle
|
|
||||||
style="fill:#ffffff;fill-opacity:1;stroke:#8b4513;stroke-width:1.03267;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
|
||||||
id="path871-6-8-3"
|
|
||||||
cx="8.6420794"
|
|
||||||
cy="14.481617"
|
|
||||||
r="3.0169961" />
|
|
||||||
<circle
|
|
||||||
r="3.0169961"
|
|
||||||
cy="7.061132"
|
|
||||||
cx="20.396233"
|
|
||||||
id="path871-6-8-3-3"
|
|
||||||
style="fill:#ffffff;fill-opacity:1;stroke:#8b4513;stroke-width:1.03267;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
|
|
||||||
</svg>
|
|
Before Width: | Height: | Size: 3.7 KiB |
Before Width: | Height: | Size: 1.6 KiB |
Before Width: | Height: | Size: 191 B |
Before Width: | Height: | Size: 452 B |
Before Width: | Height: | Size: 459 B |
Before Width: | Height: | Size: 917 B |
|
@ -1,123 +0,0 @@
|
||||||
document.addEventListener('DOMContentLoaded', addCollapsibleOnClick(), false);
|
|
||||||
document.addEventListener('DOMContentLoaded', applyExpandSettings(), false);
|
|
||||||
document.addEventListener('DOMContentLoaded', hideUserSettingsModal(), false);
|
|
||||||
|
|
||||||
function showUserSettingsModal() {
|
|
||||||
var modalElement = document.getElementById("userSettingsModal");
|
|
||||||
if (modalElement != null) {
|
|
||||||
modalElement.style.display = 'block';
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function hideUserSettingsModal() {
|
|
||||||
window.onclick = function(event) {
|
|
||||||
var modalElement = document.getElementById("userSettingsModal");
|
|
||||||
var closeElement = document.getElementById("closeModalWindow");
|
|
||||||
if (event.target == modalElement || event.target == closeElement) {
|
|
||||||
modalElement.style.display = 'none';
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function addCollapsibleOnClick() {
|
|
||||||
var coll = document.getElementsByClassName("collapsible");
|
|
||||||
var i;
|
|
||||||
for (i = 0; i < coll.length; i++) {
|
|
||||||
var collapsibleLink = coll[i].querySelector('.collapsibleLink');
|
|
||||||
if (collapsibleLink === null) {
|
|
||||||
collapseNextElementOnClick(coll[i]);
|
|
||||||
} else {
|
|
||||||
expandableNextOuterElementOnClick(collapsibleLink);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function expandableNextOuterElementOnClick(element) {
|
|
||||||
element.addEventListener("click", function() {
|
|
||||||
this.parentElement.classList.toggle("expanded");
|
|
||||||
this.parentElement.classList.toggle("collapsed");
|
|
||||||
var content = this.parentElement.nextElementSibling;
|
|
||||||
if (content.style.display === "block") {
|
|
||||||
content.style.display = "none";
|
|
||||||
} else {
|
|
||||||
content.style.display = "block";
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
function collapseNextElementOnClick(element) {
|
|
||||||
element.addEventListener("click", function() {
|
|
||||||
this.classList.toggle("active");
|
|
||||||
var content = this.nextElementSibling;
|
|
||||||
if (content.style.display === "block") {
|
|
||||||
content.style.display = "none";
|
|
||||||
} else {
|
|
||||||
content.style.display = "block";
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
function applyExpandSettings() {
|
|
||||||
applyDocumentExpandSettings('switchExpand', 'expandCB', 'expandSettingsCB', '.autoExpand');
|
|
||||||
applyDocumentExpandSettings('metadataExpandSetting', 'metadataExpandCB', 'metadataExpandSettingCB', '.autoMetadataExpand');
|
|
||||||
}
|
|
||||||
|
|
||||||
function applyDocumentExpandSettings(settingName, buttonId, settingButtonId, targetElementsClass) {
|
|
||||||
if (localStorage.getItem(settingName) === true || localStorage.getItem(settingName) === 'true') {
|
|
||||||
var expandSwitchCB = document.getElementById(buttonId);
|
|
||||||
if (expandSwitchCB != null) {
|
|
||||||
expandSwitchCB.checked = true;
|
|
||||||
}
|
|
||||||
var expandSwitchSettingsCB = document.getElementById(settingButtonId);
|
|
||||||
if (expandSwitchSettingsCB != null) {
|
|
||||||
expandSwitchSettingsCB.checked = true;
|
|
||||||
}
|
|
||||||
$(targetElementsClass).show();
|
|
||||||
showDocumentCollapseButton(buttonId);
|
|
||||||
} else {
|
|
||||||
$(targetElementsClass).hide();
|
|
||||||
showDocumentExpandButton(buttonId);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function switchExpand(inputID, elementsClass) {
|
|
||||||
var checkBox = document.getElementById(inputID);
|
|
||||||
if (checkBox.checked == true) {
|
|
||||||
$(elementsClass).show();
|
|
||||||
showDocumentCollapseButton(inputID);
|
|
||||||
} else {
|
|
||||||
$(elementsClass).hide();
|
|
||||||
showDocumentExpandButton(inputID);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
function showDocumentCollapseButton(inputID) {
|
|
||||||
var inputElement = document.getElementById(inputID);
|
|
||||||
if (inputElement === null) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
var collapseTextControl = inputElement.parentElement.querySelector('.collapseTextControl');
|
|
||||||
collapseTextControl.style.display = "inline";
|
|
||||||
var expandTextControl = inputElement.parentElement.querySelector('.expandTextControl');
|
|
||||||
expandTextControl.style.display = "none";
|
|
||||||
}
|
|
||||||
|
|
||||||
function showDocumentExpandButton(inputID) {
|
|
||||||
var inputElement = document.getElementById(inputID);
|
|
||||||
if (inputElement === null) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
var collapseTextControl = inputElement.parentElement.querySelector('.collapseTextControl');
|
|
||||||
collapseTextControl.style.display = "none";
|
|
||||||
var expandTextControl = inputElement.parentElement.querySelector('.expandTextControl');
|
|
||||||
expandTextControl.style.display = "inline";
|
|
||||||
}
|
|
||||||
|
|
||||||
function switchExpandSettings(checkboxID, settingName) {
|
|
||||||
var checkBox = document.getElementById(checkboxID);
|
|
||||||
if (checkBox.checked == true) {
|
|
||||||
localStorage.setItem(settingName, true);
|
|
||||||
} else {
|
|
||||||
localStorage.setItem(settingName, false);
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,178 +0,0 @@
|
||||||
document.addEventListener('DOMContentLoaded', createTOC(), false);
|
|
||||||
|
|
||||||
function createTOC(){
|
|
||||||
var complexDocElement = document.getElementById("complexDocument");
|
|
||||||
var tocElement = document.getElementById("tocPlaceHolder");
|
|
||||||
|
|
||||||
if (complexDocElement === null || tocElement === null){
|
|
||||||
console.log("no complex document or no placeholder");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
addItemsToTOC(complexDocElement,tocElement);
|
|
||||||
|
|
||||||
collapseAllTOCElements("tocPlaceHolder");
|
|
||||||
//show created TOC
|
|
||||||
tocElement.style.display = "block";
|
|
||||||
}
|
|
||||||
|
|
||||||
function addItemsToTOC(docPart, tocElement){
|
|
||||||
var docPartChilds = docPart.childNodes;
|
|
||||||
for (var i = 0; i < docPartChilds.length; i++){
|
|
||||||
var docPartChild = docPartChilds[i];
|
|
||||||
if ( docPartChild.nodeType === Node.ELEMENT_NODE && docPartChild.classList.contains("documentPart")){
|
|
||||||
var tocElementChild = createTOCItem(docPartChild, tocElement);
|
|
||||||
addItemsToTOC(docPartChild,tocElementChild);
|
|
||||||
addElementControls(tocElementChild);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
function addElementControls(tocElement){
|
|
||||||
|
|
||||||
var nameContainer = tocElement.querySelector('.tocElementName');
|
|
||||||
if (nameContainer === null){
|
|
||||||
console.log("no nameContainer found");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
if (tocElement.id === null){
|
|
||||||
console.log("no tocElement id found");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
var elementChild = tocElement.querySelector('.tocElement');
|
|
||||||
if (elementChild === null){
|
|
||||||
var leafImage = document.createElement("img");
|
|
||||||
leafImage.className = "tocElementLeafImage";
|
|
||||||
leafImage.src = urlsBase + "/themes/iph/images/circle-item.svg";
|
|
||||||
nameContainer.prepend(leafImage);
|
|
||||||
} else {
|
|
||||||
var switchImage = document.createElement("img");
|
|
||||||
switchImage.onclick = function() {switchTOCElement(tocElement.id);};
|
|
||||||
switchImage.className = "tocElementSwitchImage";
|
|
||||||
nameContainer.prepend(switchImage);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function switchTOCElement(id){
|
|
||||||
var tocElement = document.getElementById(id);
|
|
||||||
var elementChild = tocElement.querySelector('.tocElement');
|
|
||||||
if (elementChild.style.display === "none"){
|
|
||||||
expandTOCElementChilds(id);
|
|
||||||
setCollapseImageToElement(id);
|
|
||||||
} else {
|
|
||||||
collapseTOCElementDescendants(id);
|
|
||||||
setExpandImageToElement(id);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function setCollapseImageToElement(id){
|
|
||||||
var tocElement = document.getElementById(id);
|
|
||||||
var nameContainer = tocElement.querySelector('.tocElementName');
|
|
||||||
if (nameContainer === null){
|
|
||||||
console.log("no nameContainer found");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
$.extend(this, urlsBase);
|
|
||||||
var imgElement = nameContainer.querySelector('.tocElementSwitchImage');
|
|
||||||
if (imgElement != null){
|
|
||||||
imgElement.src = urlsBase + "/themes/iph/images/arrow-top-small.svg";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function setExpandImageToElement(id){
|
|
||||||
var tocElement = document.getElementById(id);
|
|
||||||
var nameContainer = tocElement.querySelector('.tocElementName');
|
|
||||||
if (nameContainer === null){
|
|
||||||
console.log("no nameContainer found");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
$.extend(this, urlsBase);
|
|
||||||
var imgElement = nameContainer.querySelector('.tocElementSwitchImage');
|
|
||||||
if (imgElement != null){
|
|
||||||
imgElement.src = urlsBase + "/themes/iph/images/arrow-down-small.svg";
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
function expandTOCElementChilds(id){
|
|
||||||
var tocElement = document.getElementById(id);
|
|
||||||
var elementChilds = tocElement.querySelectorAll(':scope > .tocElement');
|
|
||||||
for (let i = 0; i < elementChilds.length; i++) {
|
|
||||||
elementChilds[i].style.display = "block";
|
|
||||||
setExpandImageToElement(elementChilds[i].id);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function expandTOCElementDescendants(id){
|
|
||||||
var tocElement = document.getElementById(id);
|
|
||||||
var elementChilds = tocElement.querySelectorAll('.tocElement');
|
|
||||||
for (let i = 0; i < elementChilds.length; i++) {
|
|
||||||
elementChilds[i].style.display = "block";
|
|
||||||
setExpandImageToElement(elementChilds[i].id);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function collapseAllTOCElements(placeHolderId){
|
|
||||||
var tocRoot = document.getElementById(placeHolderId);
|
|
||||||
var elementChilds = tocRoot.querySelectorAll('.tocElement');
|
|
||||||
for (let i = 0; i < elementChilds.length; i++) {
|
|
||||||
collapseTOCElementDescendants(elementChilds[i].id);
|
|
||||||
setExpandImageToElement(elementChilds[i].id);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
function expandAllTOCElements(placeHolderId){
|
|
||||||
var tocRoot = document.getElementById(placeHolderId);
|
|
||||||
var elementChilds = tocRoot.querySelectorAll('.tocElement');
|
|
||||||
for (let i = 0; i < elementChilds.length; i++) {
|
|
||||||
expandTOCElementDescendants(elementChilds[i].id);
|
|
||||||
setCollapseImageToElement(elementChilds[i].id);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function collapseTOCElementDescendants(id){
|
|
||||||
var tocElement = document.getElementById(id);
|
|
||||||
var elementChilds = tocElement.querySelectorAll('.tocElement');
|
|
||||||
for (let i = 0; i < elementChilds.length; i++) {
|
|
||||||
elementChilds[i].style.display = "none";
|
|
||||||
setCollapseImageToElement(elementChilds[i].id);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function createTOCItem(docPart, tocElement){
|
|
||||||
var newTOCElement = document.createElement("div");
|
|
||||||
var newTOCElementName = document.createElement("div");
|
|
||||||
var anchor = docPart.getAttribute('id');
|
|
||||||
var tocElementID = "toc-" + anchor;
|
|
||||||
newTOCElement.id = tocElementID;
|
|
||||||
var docPartButton = docPart.previousElementSibling;
|
|
||||||
var itemName = docPartButton.textContent;
|
|
||||||
var link = document.createElement("a");
|
|
||||||
link.setAttribute("href", "javascript:goToDocumentPart(\"" + anchor + "\");" );
|
|
||||||
link.innerText = itemName;
|
|
||||||
newTOCElement.appendChild(newTOCElementName);
|
|
||||||
newTOCElementName.appendChild(link);
|
|
||||||
newTOCElement.className = "tocElement";
|
|
||||||
newTOCElementName.className = "tocElementName";
|
|
||||||
tocElement.appendChild(newTOCElement);
|
|
||||||
return newTOCElement;
|
|
||||||
}
|
|
||||||
function goToDocumentPart(targetId){
|
|
||||||
if (targetId ===""){
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
var targetNode = document.getElementById(targetId);
|
|
||||||
if (targetNode === null){
|
|
||||||
console.log("document has no target node to go to")
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
showParents(targetNode);
|
|
||||||
document.getElementById(targetId).scrollIntoView();
|
|
||||||
}
|
|
||||||
function showParents(targetNode){
|
|
||||||
if (targetNode != null && "complexDocument" !== targetNode.id){
|
|
||||||
if (targetNode.style.display === "none") {
|
|
||||||
targetNode.style.display = "block";
|
|
||||||
}
|
|
||||||
showParents(targetNode.parentElement);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
|
@ -13,35 +13,26 @@
|
||||||
<#else>
|
<#else>
|
||||||
${copyright.text}
|
${copyright.text}
|
||||||
</#if>
|
</#if>
|
||||||
<a rel="license" href="http://creativecommons.org/licenses/by-nc-nd/4.0/"><img alt="Creative Commons" style="border-width:0;" src="https://i.creativecommons.org/l/by-nc-nd/4.0/80x15.png" /></a></small>
|
| <a class="terms" href="${urls.termsOfUse}" title="${i18n().menu_termuse}">${i18n().menu_termuse}</a></small> |
|
||||||
</#if>
|
</#if>
|
||||||
<a class="powered-by-vivo" href="http://vivoweb.org" target="_blank" title="${i18n().menu_powered} VIVO">Powered by <strong>VIVO</strong></a>
|
${i18n().menu_powered} <a class="powered-by-vivo" href="http://vivoweb.org" target="_blank" title="${i18n().menu_powered} VIVO"><strong>VIVO</strong></a>
|
||||||
<#if user.hasRevisionInfoAccess>
|
<#if user.hasRevisionInfoAccess>
|
||||||
${i18n().menu_version} <a href="${version.moreInfoUrl}" title="${i18n().menu_version}">${version.label}</a>
|
| ${i18n().menu_version} <a href="${version.moreInfoUrl}" title="${i18n().menu_version}">${version.label}</a>
|
||||||
</#if>
|
</#if>
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<#-- <nav role="navigation">
|
|
||||||
<ul id="footer-nav" role="list">
|
|
||||||
<li role="listitem"><a href="${urls.about}" title="${i18n().menu_about}">${i18n().menu_about}</a></li>-->
|
|
||||||
<#-- <#if urls.contact??>
|
<nav role="navigation">
|
||||||
|
<ul id="footer-nav" role="list">
|
||||||
|
<li role="listitem"><a href="${urls.about}" title="${i18n().menu_about}">${i18n().menu_about}</a></li>
|
||||||
|
<#if urls.contact??>
|
||||||
<li role="listitem"><a href="${urls.contact}" title="${i18n().menu_contactus}">${i18n().menu_contactus}</a></li>
|
<li role="listitem"><a href="${urls.contact}" title="${i18n().menu_contactus}">${i18n().menu_contactus}</a></li>
|
||||||
</#if>
|
</#if>
|
||||||
<li role="listitem"><a href="http://www.vivoweb.org/support" target="blank" title="${i18n().menu_support}">${i18n().menu_support}</a></li> -->
|
<li role="listitem"><a href="http://www.vivoweb.org/support" target="blank" title="${i18n().menu_support}">${i18n().menu_support}</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</nav>
|
</nav>
|
||||||
<button id="scrollToTopBtn">${i18n().scroll_to_top_label}</button>
|
|
||||||
<script>
|
|
||||||
var scrollToTopBtn = document.getElementById("scrollToTopBtn");
|
|
||||||
var rootElement = document.documentElement;
|
|
||||||
function scrollToTop() {
|
|
||||||
rootElement.scrollTo({
|
|
||||||
top: 0,
|
|
||||||
behavior: "smooth"
|
|
||||||
});
|
|
||||||
}
|
|
||||||
scrollToTopBtn.addEventListener("click", scrollToTop)
|
|
||||||
</script>
|
|
||||||
</div>
|
</div>
|
||||||
</footer>
|
</footer>
|
||||||
|
|
||||||
|
|
|
@ -36,4 +36,3 @@ an individual profile page. -->
|
||||||
${headContent!}
|
${headContent!}
|
||||||
|
|
||||||
<link rel="shortcut icon" type="image/x-icon" href="${urls.base}/favicon.ico">
|
<link rel="shortcut icon" type="image/x-icon" href="${urls.base}/favicon.ico">
|
||||||
<#include "statistic_counters.ftl">
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
<#-- $This file is distributed under the terms of the license in LICENSE$ -->
|
<#-- $This file is distributed under the terms of the license in LICENSE$ -->
|
||||||
|
|
||||||
<header id="branding" role="banner">
|
<header id="branding" role="banner">
|
||||||
<div id="topArea">
|
|
||||||
<h1 class="vivo-logo"><a title="${i18n().identity_title}" href="${urls.home}"><span class="displace">${siteName}</span></a></h1>
|
<h1 class="vivo-logo"><a title="${i18n().identity_title}" href="${urls.home}"><span class="displace">${siteName}</span></a></h1>
|
||||||
<#-- Since we are using a graphic text for the tagline, we won't render ${siteTagline}
|
<#-- Since we are using a graphic text for the tagline, we won't render ${siteTagline}
|
||||||
<#if siteTagline?has_content>
|
<#if siteTagline?has_content>
|
||||||
|
@ -50,5 +50,4 @@
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
</nav>
|
</nav>
|
||||||
</div>
|
</header>
|
||||||
</header>
|
|
|
@ -44,7 +44,7 @@
|
||||||
<!-- Contact Info -->
|
<!-- Contact Info -->
|
||||||
<div id="individual-tools-people">
|
<div id="individual-tools-people">
|
||||||
<span id="iconControlsLeftSide">
|
<span id="iconControlsLeftSide">
|
||||||
<img id="uriIcon" title="${individual.uri}" src="${urls.base}/themes/iph/images/uricon-icon.png" alt="${i18n().uri_icon}"/>
|
<img id="uriIcon" title="${individual.uri}" src="${urls.images}/individual/uriIcon.gif" alt="${i18n().uri_icon}"/>
|
||||||
<#if checkNamesResult?has_content >
|
<#if checkNamesResult?has_content >
|
||||||
<img id="qrIcon" src="${urls.images}/individual/qr_icon.png" alt="${i18n().qr_icon}" />
|
<img id="qrIcon" src="${urls.images}/individual/qr_icon.png" alt="${i18n().qr_icon}" />
|
||||||
<span id="qrCodeImage" class="hidden">${qrCodeLinkedImage!}
|
<span id="qrCodeImage" class="hidden">${qrCodeLinkedImage!}
|
||||||
|
|
|
@ -1,28 +0,0 @@
|
||||||
<#-- $This file is distributed under the terms of the license in LICENSE$ -->
|
|
||||||
|
|
||||||
<#-- Icon controls displayed in upper-right corner -->
|
|
||||||
|
|
||||||
<img id="uriIcon" title="${individual.uri}" src="${urls.base}/themes/iph/images/share-icon.png" alt="${i18n().share_the_uri}"/>
|
|
||||||
<#if checkNamesResult?has_content >
|
|
||||||
<img id="qrIcon" src="${urls.images}/individual/qr-code-icon.png" alt="${i18n().qr_icon}" />
|
|
||||||
<span id="qrCodeImage" class="hidden">${qrCodeLinkedImage!}
|
|
||||||
<a class="qrCloseLink" href="#" title="${i18n().qr_code}">${i18n().close_capitalized}</a>
|
|
||||||
</span>
|
|
||||||
</#if>
|
|
||||||
|
|
||||||
|
|
||||||
<#--
|
|
||||||
|
|
||||||
Some contact information is displayed on the profile page by default; e.g., phone numbes and
|
|
||||||
email addresses. If an institution has an additional location for contact info, such as a
|
|
||||||
university directory, a third "contact" icon is available that can be used to direct users to
|
|
||||||
that directory. The <a> tag below shows an example using Cornell University's directory.
|
|
||||||
|
|
||||||
<#assign netid = individual.selfEditingId()!>
|
|
||||||
<#if netid?has_content>
|
|
||||||
<a href="http://www.cornell.edu/search/?tab=people&netid=${netid}" title="Cornell University directory entry for ${netid}" target="_blank">
|
|
||||||
<img src="${urls.images}/individual/contact-info-icon.png" title="view additional contact information" alt="contact info" />
|
|
||||||
</a>
|
|
||||||
</#if>
|
|
||||||
|
|
||||||
-->
|
|
|
@ -7,17 +7,19 @@
|
||||||
<head>
|
<head>
|
||||||
<#include "head.ftl">
|
<#include "head.ftl">
|
||||||
</head>
|
</head>
|
||||||
<script>var urlsBase = "${urls.base}";</script>
|
|
||||||
<body class="${bodyClasses!}" onload="${bodyOnload!}">
|
<body class="${bodyClasses!}" onload="${bodyOnload!}">
|
||||||
<#include "identity.ftl">
|
<#include "identity.ftl">
|
||||||
<#include "menu.ftl">
|
<#include "menu.ftl">
|
||||||
|
|
||||||
<div id="articleWrapper">
|
<div id="articleWrapper">
|
||||||
<#if currentServlet = "individual"||currentServlet = "display"||currentServlet = "entity">
|
<#if currentServlet = "individual" && currentServlet != "display">
|
||||||
<#include "rightPanel.ftl">
|
<div id="searchRightpanel">
|
||||||
|
<#include "customsearchpanel.ftl" >
|
||||||
|
</div>
|
||||||
</#if>
|
</#if>
|
||||||
<#include "contentWrapper.ftl">
|
<#include "contentWrapper.ftl">
|
||||||
<#if currentServlet != "individual" && currentServlet != "login" && currentServlet != "display" && currentServlet != "customsearch" && currentServlet != "entity">
|
<#if currentServlet != "individual" && currentServlet != "login" && currentServlet != "display">
|
||||||
<section id="search-home" role="region">
|
<section id="search-home" role="region">
|
||||||
<h3><span class="search-filter-selected">filteredSearch</span></h3>
|
<h3><span class="search-filter-selected">filteredSearch</span></h3>
|
||||||
|
|
||||||
|
|
|
@ -1,29 +1,36 @@
|
||||||
<div id="querybuilder-container" style="display:none;">
|
<div id="querybuilder-container" style="display:none;">
|
||||||
<div id="CounterSearchWrapper">
|
<div id="CounterSearchWrapper">
|
||||||
<div id="builder">
|
<div id="builder">
|
||||||
<div id="SearchTitle">${i18n().extended_search_label}</div>
|
<div id="SearchTitle">Параметры поиска</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="btn-group-bottom">
|
<div class="btn-group-bottom">
|
||||||
<div id="settingsButtons">
|
<div id="settingsButtons">
|
||||||
<div id="OuterWrapperButtons">
|
<div id="OuterWrapperButtons">
|
||||||
<div id="wrapperButtons">
|
<div id="wrapperButtons">
|
||||||
<button id="btn-set" class="btn btn-success set-json" data-target="basic">${i18n().extended_search_example}</button>
|
<button id="btn-set" class="btn btn-success set-json" data-target="basic">Пример заполнения</button>
|
||||||
<button id="btn-reset-button" class="btn btn-warning reset" data-target="basic">${i18n().extended_search_clean}</button>
|
<button id="btn-reset-button" class="btn btn-warning reset" data-target="basic">Очистить</button>
|
||||||
<!-- <button id="btn-get" class="btn btn-primary parse-json" data-target="basic">Get rules</button> -->
|
<!-- <button id="btn-get" class="btn btn-primary parse-json" data-target="basic">Get rules</button> -->
|
||||||
<div id="SelectResults">
|
<div id="SelectResults">
|
||||||
<label style="display:inline;" for="hitsPerPage">${i18n().extended_search_results_on_page}</label>
|
<label style="display:inline;" for="hitsPerPage">Результатов на страницу</label>
|
||||||
<@selectHitsPerPage/>
|
<select name="hitsPerPage" id="hitsPerPageSelect">
|
||||||
|
<option value="20" selected="selected">20</option>
|
||||||
|
<option value="40">40</option>
|
||||||
|
<option value="60">60</option>
|
||||||
|
<option value="80">80</option>
|
||||||
|
<option value="100">100</option>
|
||||||
|
</select>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<button id="btn-search-expand" class="btn btn-warning reset" data-target="basic">${i18n().extended_search_execute_search}</button>
|
<button id="btn-search-expand" class="btn btn-warning reset" data-target="basic">Поиск</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div id="backgroundForm">
|
<div id="backgroundForm">
|
||||||
<button id="btn-get-standard-searchform" class="btn btn-warning reset" data-target="basic">${i18n().open_standard_search_form}</button>
|
<button id="btn-get-standard-searchform" class="btn btn-warning reset" data-target="basic">Стандартная форма поиска</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<script src="themes/iph/js/query-builder.standalone.min.js"></script>
|
<script src="themes/iph/js/query-builder.standalone.min.js"></script>
|
||||||
<script src="themes/iph/js/query-builder.ru.js"></script>
|
<script src="themes/iph/js/query-builder.ru.js"></script>
|
||||||
<script>
|
<script>
|
||||||
|
@ -116,7 +123,7 @@
|
||||||
rules: rules_start
|
rules: rules_start
|
||||||
});
|
});
|
||||||
|
|
||||||
$('#btn-reset-button').on('click', function() {
|
$('#btn-reset').on('click', function() {
|
||||||
$('#builder').queryBuilder('reset');
|
$('#builder').queryBuilder('reset');
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -131,13 +138,24 @@
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
$('#btn-search-expand').on('click', function() {
|
//$('#btn-get').on('click', function() {
|
||||||
var json_result = $('#builder').queryBuilder('getRules', { get_flags: true });
|
// var result = $('#builder').queryBuilder('getRules');
|
||||||
|
//
|
||||||
|
// if (!$.isEmptyObject(result)) {
|
||||||
|
// alert(JSON.stringify(result, null, 2));
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// });
|
||||||
|
|
||||||
|
$('#btn-search').on('click', function() {
|
||||||
|
var json_result = $('#builder').queryBuilder('getRules');
|
||||||
var query_string = format_query_string(json_result,"");
|
var query_string = format_query_string(json_result,"");
|
||||||
var hits = $("#hitsPerPageSelect :selected");
|
var hits = $("#hitsPerPageSelect :selected");
|
||||||
if (!$.isEmptyObject(query_string)) {
|
if (!$.isEmptyObject(query_string)) {
|
||||||
localStorage.setItem('queryBuilderForm',JSON.stringify(json_result));
|
<#if !queryBuilderRules??>
|
||||||
localStorage.setItem('queryBuilderFormSaved',true);
|
localStorage.setItem('queryBuilderForm',JSON.stringify(json_result));
|
||||||
|
localStorage.setItem('queryBuilderFormSaved',true);
|
||||||
|
</#if>
|
||||||
var queryURL = "${urls.base}/customsearch?querytext=" + query_string;
|
var queryURL = "${urls.base}/customsearch?querytext=" + query_string;
|
||||||
if (hits !== null){
|
if (hits !== null){
|
||||||
queryURL = queryURL.concat("&hitsPerPage=",hits.text());
|
queryURL = queryURL.concat("&hitsPerPage=",hits.text());
|
||||||
|
@ -150,90 +168,29 @@
|
||||||
//}
|
//}
|
||||||
});
|
});
|
||||||
|
|
||||||
function format_query_string(json_query, string_query, htmlEncode = true){
|
function format_query_string(json_query, string_query){
|
||||||
if ('condition' in json_query && 'rules' in json_query ){
|
if ('condition' in json_query && 'rules' in json_query ){
|
||||||
if (json_query.rules.length > 1 ) {
|
if (json_query.rules.length > 1 ) {
|
||||||
string_query +=" ( ";
|
string_query +=" ( ";
|
||||||
var i;
|
var i;
|
||||||
for (i = 0; i < json_query.rules.length; i++) {
|
for (i = 0; i < json_query.rules.length; i++) {
|
||||||
string_query = format_query_string(json_query.rules[i], string_query, htmlEncode);
|
string_query = format_query_string(json_query.rules[i], string_query);
|
||||||
if (i + 1 < json_query.rules.length){
|
if (i + 1 < json_query.rules.length){
|
||||||
string_query += " " + json_query.condition + " ";
|
string_query += " " + json_query.condition + " ";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
string_query +=" ) ";
|
string_query +=" ) ";
|
||||||
} else {
|
} else {
|
||||||
string_query = format_query_string(json_query.rules[0], string_query, htmlEncode);
|
string_query = format_query_string(json_query.rules[0], string_query);
|
||||||
}
|
}
|
||||||
} else if ( 'field' in json_query && 'value' in json_query ){
|
} else if ( 'field' in json_query && 'value' in json_query ){
|
||||||
if ('operator' in json_query && json_query.operator.startsWith("not_")){
|
if ('operator' in json_query && json_query.operator.startsWith("not_")){
|
||||||
string_query += "NOT ";
|
string_query += "NOT ";
|
||||||
}
|
}
|
||||||
if (json_query.hasOwnProperty('data') && json_query.data.hasOwnProperty('value')){
|
string_query += json_query.field + ":" + json_query.value.toString().replace(/[']+/g,'').replace(/#/g,'%23') ;
|
||||||
var value = "\"" + json_query.data.value.toString()+ "\"";
|
|
||||||
} else {
|
|
||||||
var value = json_query.value.toString();
|
|
||||||
}
|
|
||||||
if (htmlEncode){
|
|
||||||
string_query += json_query.field + ":" + value.replace(/[']+/g,'').replace(/#/g,'%23') ;
|
|
||||||
} else {
|
|
||||||
string_query += json_query.field + ":" + value.replace(/[']+/g,'');
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
return string_query;
|
return string_query;
|
||||||
}
|
}
|
||||||
|
|
||||||
function excludeDocByURI(name, uri){
|
|
||||||
var allRules = $('#builder').queryBuilder('getRules', { get_flags: true });
|
|
||||||
var excludeRuleString = '{ "id": "URI", "field": "URI", "type": "string", "flags":{}, "input": "text", "operator": "not_contains", "data":{} }';
|
|
||||||
var excludeRule = JSON.parse(excludeRuleString);
|
|
||||||
excludeRule.data.value = uri;
|
|
||||||
excludeRule.flags.value_readonly = true;
|
|
||||||
excludeRule.flags.filter_readonly = true;
|
|
||||||
excludeRule.flags.operator_readonly = true;
|
|
||||||
excludeRule.value = name;
|
|
||||||
if (allRules !== null){
|
|
||||||
if (allRules.condition === "AND"){
|
|
||||||
allRules.rules.push(excludeRule);
|
|
||||||
} else {
|
|
||||||
var outerRulesString = '{ "condition": "AND", "rules": [] }';
|
|
||||||
var outerRules = JSON.parse(outerRulesString);
|
|
||||||
outerRules.rules.push(allRules);
|
|
||||||
outerRules.rules.push(excludeRule);
|
|
||||||
allRules = outerRules;
|
|
||||||
}
|
|
||||||
$('#builder').queryBuilder('setRules', allRules);
|
|
||||||
var elements = document.querySelectorAll('[parturi="' + uri + '"]');
|
|
||||||
var i;
|
|
||||||
for (i = 0; i < elements.length; i++) {
|
|
||||||
elements[i].parentElement.remove();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function createRemoveButtons(){
|
|
||||||
$('.compilationDraftExcerpt').each(function(index){ createRemoveButton(this)});
|
|
||||||
}
|
|
||||||
|
|
||||||
function createRemoveButton(element){
|
|
||||||
var uri = element.getAttribute('parturi');
|
|
||||||
var button = element.querySelector('button');
|
|
||||||
var name = button.textContent;
|
|
||||||
var a = document.createElement('a');
|
|
||||||
a.setAttribute('href',"javascript:excludeDocByURI(\'" + escapeQutes(name) + "\',\'" + escapeQutes(uri) + "\');");
|
|
||||||
a.setAttribute('class',"removeDocFromSearch");
|
|
||||||
|
|
||||||
a.textContent = "${i18n().remove_doc_from_search_results}" ;
|
|
||||||
|
|
||||||
button.appendChild(a);
|
|
||||||
}
|
|
||||||
|
|
||||||
function escapeQutes(input) {
|
|
||||||
return input
|
|
||||||
.replace(/"/g, """)
|
|
||||||
.replace(/'/g, "'")
|
|
||||||
}
|
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
<#macro freeField field >
|
<#macro freeField field >
|
||||||
{
|
{
|
||||||
|
@ -270,19 +227,3 @@
|
||||||
operators: ['contains', 'not_contains']
|
operators: ['contains', 'not_contains']
|
||||||
},
|
},
|
||||||
</#macro>
|
</#macro>
|
||||||
|
|
||||||
<#macro selectHitsPerPage>
|
|
||||||
<#if !hitsPerPage?? >
|
|
||||||
<#assign hitsPerPage = 20 >
|
|
||||||
</#if>
|
|
||||||
<#assign hitsValues= [20,40,60,80,100]>
|
|
||||||
<select name="hitsPerPage" id="hitsPerPageSelect">
|
|
||||||
<option value="${hitsPerPage}" selected="selected">${hitsPerPage}</option>
|
|
||||||
<#list hitsValues as hppValue>
|
|
||||||
<#if hppValue != hitsPerPage>
|
|
||||||
<option value="${hppValue}">${hppValue}</option>
|
|
||||||
</#if>
|
|
||||||
</#list>
|
|
||||||
|
|
||||||
</select>
|
|
||||||
</#macro>
|
|
||||||
|
|
|
@ -1,17 +0,0 @@
|
||||||
<div id="searchRightpanel">
|
|
||||||
<div id="articleIconsWrapper">
|
|
||||||
</div>
|
|
||||||
<#include "customsearchpanel.ftl" >
|
|
||||||
<div id="tocPlaceHolder" style="display:none;">
|
|
||||||
<div id="tocName">${i18n().toc_label}</div>
|
|
||||||
<div id="wrapperTocButtons">
|
|
||||||
<div id="tocExpandAll" onclick="javascript:expandAllTOCElements('tocPlaceHolder');">${i18n().expand_something}
|
|
||||||
<img id="tocExpandImageAll" onclick="javascript:expandAllTOCElements('tocPlaceHolder');" src="${urls.base}/themes/iph/images/all-toc-expand.svg"/>
|
|
||||||
</div>
|
|
||||||
<div id="tocCollapseAll" onclick="javascript:collapseAllTOCElements('tocPlaceHolder');">${i18n().collapse_something}
|
|
||||||
<img id="tocCollapseImageAll" onclick="javascript:collapseAllTOCElements('tocPlaceHolder');" src="${urls.base}/themes/iph/images/all-toc-collapse.svg"/>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
<div id="simple-search-container">
|
<div id="simple-search-container">
|
||||||
<#include "customSearchForm.ftl">
|
<#include "customSearchForm.ftl">
|
||||||
<button id="switch-to-extended-searchform">${i18n().extended_search_label}</button>
|
<button id="switch-to-extended-searchform">Расширенный поиск</button>
|
||||||
</div>
|
</div>
|
||||||
<#include "queryBuilder.ftl">
|
<#include "queryBuilder.ftl">
|
||||||
|
|
||||||
|
|
|
@ -1,254 +0,0 @@
|
||||||
<#macro showRubrics>
|
|
||||||
<#assign currentRubrics = propertyGroups.pullProperty("https://iph.ras.ru/relationships#belongsTo")!>
|
|
||||||
<#if currentRubrics?? && currentRubrics?has_content>
|
|
||||||
<div class="label collapsible">${i18n().metadata_relates_to_rubrics} <@p.addLink currentRubrics editable /> <@p.verboseDisplay currentRubrics /></div>
|
|
||||||
<#if rubrics?? && rubrics?has_content>
|
|
||||||
<#list rubrics as rubric>
|
|
||||||
<li role="listitem" style="list-style:none;">
|
|
||||||
<a href="${urls.base}/individual?uri=${rubric.rubricID?url}">${rubric.rubricName}</a>
|
|
||||||
</li>
|
|
||||||
</#list>
|
|
||||||
</#if>
|
|
||||||
<br/>
|
|
||||||
</#if>
|
|
||||||
</#macro>
|
|
||||||
|
|
||||||
<#macro showIssue>
|
|
||||||
<#assign issue = propertyGroups.pullProperty("https://litvinovg.pro/text_structures#issue")!>
|
|
||||||
<#if issue.statements?has_content && issue.type == "data">
|
|
||||||
<div class="issue" style="list-style:none;">
|
|
||||||
<div class="label">${i18n().metadata_relates_to_issue}</div>
|
|
||||||
<@p.dataPropertyList issue editable />
|
|
||||||
</div>
|
|
||||||
</#if>
|
|
||||||
</#macro>
|
|
||||||
|
|
||||||
<#macro showYear>
|
|
||||||
<#assign year = propertyGroups.pullProperty("https://litvinovg.pro/text_structures#year")!>
|
|
||||||
<#if year.statements?has_content && year.type == "data">
|
|
||||||
<div class="year" style="list-style:none;">
|
|
||||||
<div class="label">${i18n().metadata_year}</div>
|
|
||||||
<@p.dataPropertyList year editable />
|
|
||||||
</div>
|
|
||||||
</#if>
|
|
||||||
</#macro>
|
|
||||||
|
|
||||||
<#macro documentRubrics >
|
|
||||||
<#assign docRubrics = propertyGroups.pullProperty("https://iph.ras.ru/relationships#belongsTo")!>
|
|
||||||
<#if ( docRubrics?? && docRubrics?has_content ) || (rubrics?? && rubrics?has_content)>
|
|
||||||
<div class="<#if rubrics?? && rubrics?has_content>collapsible collapsed</#if>" ><div class="collapsibleLink" style="display:inline;">${i18n().metadata_relates_to_rubrics}</div>
|
|
||||||
<#if docRubrics?? && docRubrics?has_content >
|
|
||||||
<@p.addLink docRubrics editable /> <@p.verboseDisplay docRubrics /><br/>
|
|
||||||
</#if>
|
|
||||||
</div>
|
|
||||||
</#if>
|
|
||||||
<#if rubrics?? && rubrics?has_content>
|
|
||||||
<div class="expandedContent autoMetadataExpand" style="display:none;">
|
|
||||||
<#list rubrics as rubric>
|
|
||||||
<li role="listitem" style="list-style:none;">
|
|
||||||
<a href="${urls.base}/individual?uri=${rubric.rubricID?url}"">${rubric.rubricName}</a>
|
|
||||||
</li>
|
|
||||||
</#list>
|
|
||||||
</div>
|
|
||||||
</#if>
|
|
||||||
</#macro>
|
|
||||||
|
|
||||||
<#macro arrangeDocumentParts >
|
|
||||||
<div id="complexDocument" class="complexDocument articleParts" style="display:block;">
|
|
||||||
<#assign lastLevel = 0 >
|
|
||||||
<#list paths as order>
|
|
||||||
<#-- ${order.path} -->
|
|
||||||
<#list excerpts as excerptProperties>
|
|
||||||
<#if order.elenphExcerpt?has_content && excerptProperties.elenphExcerpt == order.elenphExcerpt>
|
|
||||||
<#assign excerptText = excerptProperties.htmlContent >
|
|
||||||
<#assign excerptTextName = excerptProperties.htmlLabel >
|
|
||||||
<#assign worksCounter = excerptProperties.worksCounter >
|
|
||||||
<#assign bibliographyCounter = excerptProperties.bibliographyCounter >
|
|
||||||
</#if>
|
|
||||||
</#list>
|
|
||||||
<@startDocumentPart order.level?number order.path lastLevel/>
|
|
||||||
<#if excerptText?? && excerptTextName?? && excerptTextName?has_content && excerptText?has_content>
|
|
||||||
<div class="htmlExcerpt" style="list-style:none;">
|
|
||||||
${excerptText}
|
|
||||||
</div>
|
|
||||||
<@arrangeSources works worksCounter?number order.path order.elenphExcerpt />
|
|
||||||
<@arrangeLiterature bibliography bibliographyCounter?number order.path order.elenphExcerpt />
|
|
||||||
</#if>
|
|
||||||
<#assign lastLevel = order.level?number >
|
|
||||||
</#list>
|
|
||||||
<@endDocumentPart lastLevel />
|
|
||||||
<@arrangeSources works works?size "anchor-all-sources" />
|
|
||||||
<@arrangeLiterature bibliography bibliography?size "anchor-all-literature" />
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</#macro>
|
|
||||||
|
|
||||||
<#macro startDocumentPart newLevel path lastLevel=0 >
|
|
||||||
<#assign depth = newLevel - lastLevel >
|
|
||||||
<#if depth == 0>
|
|
||||||
<@closeDocPart 1 />
|
|
||||||
<@openDocPart 1 path />
|
|
||||||
<#elseif depth > 0>
|
|
||||||
<@openDocPart depth path />
|
|
||||||
<#else >
|
|
||||||
<@closeDocPart -depth+1 />
|
|
||||||
<@openDocPart 1 path />
|
|
||||||
</#if>
|
|
||||||
</#macro>
|
|
||||||
|
|
||||||
<#macro endDocumentPart lastLevel newLevel=0>
|
|
||||||
<#assign depth = lastLevel - newLevel >
|
|
||||||
<#if depth > 0>
|
|
||||||
<@closeDocPart depth />
|
|
||||||
</#if>
|
|
||||||
</#macro>
|
|
||||||
|
|
||||||
<#macro closeDocPart count>
|
|
||||||
<#list 1..count as x>
|
|
||||||
</div>
|
|
||||||
</#list>
|
|
||||||
</#macro>
|
|
||||||
|
|
||||||
<#macro openDocPart count path >
|
|
||||||
<#if excerptTextName??>
|
|
||||||
<#assign buttonText = excerptTextName >
|
|
||||||
<#else>
|
|
||||||
<#assign buttonText = "No text" >
|
|
||||||
</#if>
|
|
||||||
<#list 1..count as x>
|
|
||||||
<button type="button" style="border:none;width: 100%; text-align:left;" class="collapsible">${buttonText}</button>
|
|
||||||
<div class="documentPart autoExpand articleExcerpt" id="anchor-${path}" style="display:block;">
|
|
||||||
</#list>
|
|
||||||
</#macro>
|
|
||||||
|
|
||||||
<#macro arrangeSources sources counter identifier filter="none">
|
|
||||||
<#if sources?? && sources?has_content && counter > 0>
|
|
||||||
<@compress single_line=true>
|
|
||||||
<button type="button" class="collapsible" style="border: none; color: #8B4513;width: 100%;text-align:left; background-color: #ffffff; background-image: url(${urls.base}/themes/iph/images/book_icon.png); background-repeat: no-repeat; background-position: left center;">
|
|
||||||
<#if filter="none">
|
|
||||||
${i18n().sources_all_button_text}
|
|
||||||
<#else>
|
|
||||||
${i18n().sources_excerpt_button_text}
|
|
||||||
</#if>
|
|
||||||
</button>
|
|
||||||
</@compress>
|
|
||||||
<div class="autoExpand documentPart works" id="anchor-${identifier}-sources" style="display:block;">
|
|
||||||
<#assign lastSource = ""/>
|
|
||||||
<#list sources as source>
|
|
||||||
<#if filter == "none" && lastSource != source.works || source.excerpt == filter >
|
|
||||||
<#assign lastSource = source.works/>
|
|
||||||
<div class="work" style="display:list-item;list-style-image:url(${urls.base}/themes/iph/images/bullet_icon.png); font-style: italic; font-family: PT Serif;">
|
|
||||||
<p> ${source.works} </p>
|
|
||||||
</div>
|
|
||||||
</#if>
|
|
||||||
</#list>
|
|
||||||
</div>
|
|
||||||
</#if>
|
|
||||||
</#macro>
|
|
||||||
|
|
||||||
<#macro arrangeLiterature literature counter identifier filter="none">
|
|
||||||
|
|
||||||
<#if literature?? && literature?has_content && counter > 0>
|
|
||||||
<@compress single_line=true>
|
|
||||||
<button type="button" class="collapsible" style="border:none; color: #8B4513;width: 100%; text-align: left; background-color: #ffffff; background-image: url(${urls.base}/themes/iph/images/book_icon.png); background-repeat: no-repeat; background-position: left center;">
|
|
||||||
<#if filter="none">
|
|
||||||
${i18n().literature_all_button_text}
|
|
||||||
<#else>
|
|
||||||
${i18n().literature_excerpt_button_text}
|
|
||||||
</#if>
|
|
||||||
</button>
|
|
||||||
</@compress>
|
|
||||||
<div class="autoExpand documentPart bibliography" id="anchor-${identifier}-literature" style="display:block;">
|
|
||||||
<#assign lastLiterature = ""/>
|
|
||||||
<#list literature as literatureItem>
|
|
||||||
<#if filter == "none" && lastLiterature != literatureItem.bibliography || literatureItem.excerpt == filter >
|
|
||||||
<#assign lastLiterature = literatureItem.bibliography/>
|
|
||||||
<div class="bibliography_entry" style="display:list-item;list-style-image:url(${urls.base}/themes/iph/images/bullet_icon.png); font-style: italic; font-family: PT Serif;">
|
|
||||||
<p> ${literatureItem.bibliography} </p>
|
|
||||||
</div>
|
|
||||||
</#if>
|
|
||||||
</#list>
|
|
||||||
</div>
|
|
||||||
</#if>
|
|
||||||
</#macro>
|
|
||||||
|
|
||||||
|
|
||||||
<#macro authors_metadata>
|
|
||||||
<#if authors?? && authors?has_content>
|
|
||||||
<div class="collapsible collapsed">
|
|
||||||
<div class="collapsibleLink" style="display:inline;">${i18n().metadata_authors}</div>
|
|
||||||
</div>
|
|
||||||
<div class="expandedAuthors autoMetadataExpand" style="display:none;">
|
|
||||||
<#list authors as author>
|
|
||||||
<div class="affilation">
|
|
||||||
<b><#if author.authorFamily??>${author.authorFamily} </#if><#if author.authorGivenName??>${author.authorGivenName}</#if></b>
|
|
||||||
<#if author.orgName??>
|
|
||||||
<span class="authorOrgName">${author.orgName}</span>
|
|
||||||
</#if>
|
|
||||||
<#if author.orgAddress??>
|
|
||||||
<br>
|
|
||||||
<span class="authorOrgAdress">${i18n().metadata_org_address}<#if author.orgPostalCode??>${author.orgPostalCode}, </#if>${author.orgAddress} </span>
|
|
||||||
<br>
|
|
||||||
</#if>
|
|
||||||
</div>
|
|
||||||
</#list>
|
|
||||||
</div>
|
|
||||||
</#if>
|
|
||||||
</#macro>
|
|
||||||
|
|
||||||
|
|
||||||
<#macro authors_underline>
|
|
||||||
<#if authors?? && authors?has_content>
|
|
||||||
<div class="authors" style="display:block;float:right; margin:15px;">
|
|
||||||
<#list authors as author>
|
|
||||||
<#if author.authorFamily??>${author.authorFamily?trim}<#if author.authorInitials??> ${author.authorInitials?trim}</#if></#if><#sep>, </#sep>
|
|
||||||
</#list>
|
|
||||||
</div>
|
|
||||||
</#if>
|
|
||||||
</#macro>
|
|
||||||
|
|
||||||
<#macro expandMetadataSwitch>
|
|
||||||
<div class="expandSwitch">
|
|
||||||
<label class="switch">
|
|
||||||
<div class="expandTextControl">${i18n().expand_metadata_switch}<img src="${urls.base}/themes/iph/images/arrow-down.svg"/></div>
|
|
||||||
<div class="collapseTextControl">${i18n().collapse_metadata_switch}<img src="${urls.base}/themes/iph/images/arrow-top.svg"/></div>
|
|
||||||
<input id="metadataExpandCB" type="checkbox" onclick="switchExpand('metadataExpandCB','.autoMetadataExpand');">
|
|
||||||
</label>
|
|
||||||
</div>
|
|
||||||
</#macro>
|
|
||||||
|
|
||||||
<#macro expandSwitch>
|
|
||||||
<div class="expandSwitch">
|
|
||||||
<label class="switch">
|
|
||||||
<div class="expandTextControl">${i18n().expand_doc_switch}<img src="${urls.base}/themes/iph/images/arrow-down.svg"/></div>
|
|
||||||
<div class="collapseTextControl">${i18n().collapse_doc_switch}<img src="${urls.base}/themes/iph/images/arrow-top.svg"/></div>
|
|
||||||
<input id="expandCB" type="checkbox" onclick="switchExpand('expandCB','.autoExpand');">
|
|
||||||
</label>
|
|
||||||
</div>
|
|
||||||
</#macro>
|
|
||||||
|
|
||||||
<#macro userSettingsModal>
|
|
||||||
<button id="userViewSettings">
|
|
||||||
<img onclick="javascript:showUserSettingsModal();" src="${urls.base}/themes/iph/images/settings.svg">
|
|
||||||
</button>
|
|
||||||
<div id="userSettingsModal" class="modal" style="display:none;">
|
|
||||||
<div class="modal-content">
|
|
||||||
<div class="modalWrapper">
|
|
||||||
<div id="titleSettings">${i18n().user_settings_label}</div>
|
|
||||||
<span id="closeModalWindow">×</span>
|
|
||||||
</div>
|
|
||||||
<label>
|
|
||||||
<div>${i18n().user_settings_always_open_full_doc}</div>
|
|
||||||
<input id="expandSettingsCB" type="checkbox" onclick="switchExpandSettings('expandSettingsCB','switchExpand');">
|
|
||||||
</label>
|
|
||||||
<label>
|
|
||||||
<div>${i18n().user_settings_always_open_metadata}</div>
|
|
||||||
<input id="metadataExpandSettingsCB" type="checkbox" onclick="switchExpandSettings('metadataExpandSettingsCB','metadataExpandSetting');">
|
|
||||||
</label>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</#macro>
|
|
||||||
|
|
||||||
|
|
||||||
|
|