Skip to content

Commit

Permalink
1.6.0
Browse files Browse the repository at this point in the history
  • Loading branch information
danfun-kit committed Jun 8, 2021
1 parent 46223c7 commit 93ab626
Show file tree
Hide file tree
Showing 10 changed files with 208 additions and 75 deletions.
2 changes: 2 additions & 0 deletions config/env/Settings.Dev.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@ import { EnvSettings } from "./EnvSettings";

export class Settings_Dev extends EnvSettings {
ENTRYSCAPE_DATASETS_PATH="admin.dataportal.se"
// ENTRYSCAPE_DATASETS_PATH="sandbox.admin.dataportal.se"

ENTRYSCAPE_SPECS_PATH="editera.dataportal.se"
ENTRYSCAPE_TERMS_PATH="editera.dataportal.se"
ENTRYSCAPE_ORG_STATS_URL="https://admin.dataportal.se/charts/orgData.json"
Expand Down
1 change: 1 addition & 0 deletions server/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -121,6 +121,7 @@ var csp_headers = {
],
'frame-ancestors': ['https://dev.digg.se','https://digg.se','https://www.digg.se'],
'connect-src': ['*'],
'frame-src' : ["'self'", "https://www.youtube.com/"]
};
app.use('/', function(req, res, done) {
csp.header(csp_headers, res);
Expand Down
126 changes: 69 additions & 57 deletions src/components/Breadcrumb/Breadcrumb.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -7,85 +7,97 @@ import { useQuery } from '@apollo/client';
import { gql } from 'apollo-boost';
import { Link } from 'react-router-dom';
let moment = require('moment');
import Truncate from 'react-truncate';

export interface BreadcrumbProps{
connectedtagpath:string;
env: EnvSettings;
export interface BreadcrumbProps {
connectedtagpath: string;
env: EnvSettings;
}
const hasWindow = typeof window !== 'undefined';

const breadcrumbQuery = gql`
query breadcrumbs($siteurl: String!, $paths: [String], $lang: String) {
tags(siteurl:$siteurl,connectedtagpathsor:$paths, lang: $lang)
{
connectedTagPath
tags(siteurl: $siteurl, connectedtagpathsor: $paths, lang: $lang) {
connectedTagPath
title
}
}
`;

export const Breadcrumb : React.FC<BreadcrumbProps> = (props) => {
export const Breadcrumb: React.FC<BreadcrumbProps> = (props) => {
moment.locale(i18n.languages[0]);

let connectedtagpath = '';
let connectedtagpath = '';

if(props.connectedtagpath){
if (props.connectedtagpath) {
connectedtagpath = props.connectedtagpath;
}

let pathsplitted :string[] = connectedtagpath ? connectedtagpath.split('/') : [];
pathsplitted = pathsplitted.filter(function (x) { return x != ""; });

let pathsplitted: string[] = connectedtagpath
? connectedtagpath.split('/')
: [];
pathsplitted = pathsplitted.filter(function (x) {
return x != '';
});
var copy = [...pathsplitted];
let path: string[] = []
let path: string[] = [];

pathsplitted.forEach(element => {
path.push(`/${copy.join('/')}/`)
pathsplitted.forEach((element) => {
path.push(`/${copy.join('/')}/`);
copy.pop();
});
});

const {loading, error, data } =
useQuery<{ tags: Array<any> }>(breadcrumbQuery,{
variables:{
const { loading, error, data } = useQuery<{ tags: Array<any> }>(
breadcrumbQuery,
{
variables: {
paths: path,
lang: i18n.languages[0] ?? "sv",
siteurl: props.env.CONTENTBACKEND_SITEURL
}
});
lang: i18n.languages[0] ?? 'sv',
siteurl: props.env.CONTENTBACKEND_SITEURL,
},
}
);

const breadcrumb =
!loading && data && data.tags
? //sort the paths by most number of "/"
data.tags.sort((a, b) => {
let aNum = (a.connectedTagPath.match(/\//g) || []).length;
let bNum = (b.connectedTagPath.match(/\//g) || []).length;

const breadcrumb = !loading && data && data.tags?
//sort the paths by most number of "/"
data.tags.sort((a,b) => {
let aNum = (a.connectedTagPath.match(/\//g) || []).length;
let bNum = (b.connectedTagPath.match(/\//g) || []).length;
if (aNum > bNum) return 1;
if (aNum < bNum) return -1;
return 0;
})
: [];

if(aNum > bNum) return 1;
if(aNum < bNum) return -1;
return 0;
})
:
[];

return(
<div className="breadcrumb text-7">
{loading && (
<ul className="breadcrumb__list">
<li className="breadcrumb__list--item"></li>
</ul>
)}
{!loading && data && data!.tags && (
<ul className="breadcrumb__list">
<li className="breadcrumb__list--item text-7">
<Link to={`/${i18n.languages[0]}`}>{i18n.t('common|home-text')}</Link>
</li>
{data!.tags.map((n, index) => {
return (
<li className="breadcrumb__list--item text-7">
<Link to={`/${i18n.languages[0]}${n.connectedTagPath}`}>{n.title}</Link>
</li>
);
})}
</ul>
)}
</div>
return (
<div className="breadcrumb text-7">
{loading && (
<ul className="breadcrumb__list">
<li className="breadcrumb__list--item"></li>
</ul>
)}
{!loading && data && data!.tags && (
<ul className="breadcrumb__list">
<li className="breadcrumb__list--item text-7">
<Link to={`/${i18n.languages[0]}`}>
{i18n.t('common|home-text')}
</Link>
</li>
{data!.tags.map((n, index) => {
return (
<li className="breadcrumb__list--item text-7">
{/* <Truncate lines={1}> */}
<Link to={`/${i18n.languages[0]}${n.connectedTagPath}`}>
{n.title}
</Link>
{/* </Truncate> */}
</li>
);
})}
</ul>
)}
</div>
);
};
6 changes: 4 additions & 2 deletions src/components/Search/EntryScape.ts
Original file line number Diff line number Diff line change
Expand Up @@ -287,6 +287,8 @@ export class EntryScape {

values['inScheme_resource'] = metadata.find(null, "http://www.w3.org/2004/02/skos/core#inScheme").map((f:any) => {return f.getValue()} );

values['modified'] = metadata.find(null, "http://purl.org/dc/terms/modified").map((f:any) => {return f.getValue()} );

//theme needs to be translated
//if(values['theme_literal'])
//values['theme_literal'] = i18next.t('facetvalues|'+values['theme_literal']);
Expand Down Expand Up @@ -430,7 +432,7 @@ export class EntryScape {
esQuery.sort('modified+asc');
break;
case SearchSortOrder.modified_desc:
esQuery.sort('modified+desc');
esQuery.sort('metadata.predicate.literal_s.3e2f60da+desc');
break;
case SearchSortOrder.score_desc:
esQuery.sort('score+desc');
Expand Down Expand Up @@ -543,7 +545,7 @@ export class EntryScape {


};


if(hitSpecification.pathResolver)
hit.url = hitSpecification.pathResolver(child);
Expand Down
2 changes: 2 additions & 0 deletions src/pages/DetailPages/DataServicePage.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -143,7 +143,9 @@ export class DataServicePage extends React.Component<
run: function(node, data, items, entry) {
var v = entry.getMetadata().findFirstValue(null, 'dcterms:license');
if (v.indexOf("http://creativecommons.org/") === 0) {
var variant;
if (v === "http://creativecommons.org/publicdomain/zero/1.0/") {
variant = "Creative Commons";
} else if (v.indexOf("http://creativecommons.org/licenses/") === 0) {
Expand Down
37 changes: 26 additions & 11 deletions src/pages/DetailPages/DataSetPage.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -292,6 +292,13 @@ export class DataSetPage extends React.Component<
}
},
},
{
block: 'costIndicator2',
extends: 'template',
template: '{{#ifprop "schema:offers"}}<span class="esbIndicator" title="Avgift"><i class="fas fa-coins"></i>' +
'<span class="esbIndicatorLabel">Avgift</span></span>{{/ifprop}}',
},
{
block: 'distributionList2',
extends: 'list',
Expand Down Expand Up @@ -375,15 +382,18 @@ export class DataSetPage extends React.Component<
robotsIndex={true}
lang={i18n.languages[0]}
socialMeta={{
socialDescription : entry.description,
socialTitle : entry.title,
socialUrl : entry && entry.title
? `${this.props.env.CANONICAL_URL}/${
i18n.languages[0]
}/${i18n.t('routes|datasets|path')}/${
this.props.match.params.cid
}_${this.props.match.params.eid}/${slugify(entry.title)}`
: ''
socialDescription: entry.description,
socialTitle: entry.title,
socialUrl:
entry && entry.title
? `${this.props.env.CANONICAL_URL}/${
i18n.languages[0]
}/${i18n.t('routes|datasets|path')}/${
this.props.match.params.cid
}_${this.props.match.params.eid}/${slugify(
entry.title
)}`
: '',
}}
canonicalUrl={
entry && entry.title
Expand Down Expand Up @@ -433,8 +443,8 @@ export class DataSetPage extends React.Component<
{/* Left column */}
{/* Left column */}
<div className="detailpage__wrapper--leftcol">
{/* Title */}
<h1 className="text-2">{entry.title}</h1>
{/* Title */}
<h1 className="text-2">{entry.title}</h1>
{/* Publisher */}
<script
type="text/x-entryscape-handlebar"
Expand Down Expand Up @@ -463,6 +473,11 @@ export class DataSetPage extends React.Component<
data-entryscape="licenseIndicator2"
className="licenseIndicator"
></div>

<div
data-entryscape="costIndicator2"
className="costIndicator"
></div>
</div>

<div className="description">
Expand Down
1 change: 1 addition & 0 deletions src/pages/DetailPages/SpecificationPage.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -303,6 +303,7 @@ export class SpecificationPage extends React.Component<
<div
className="specification__resource"
data-entryscape="resourceDescriptors2"
data-entryscape-rdftype= "prof:ResourceDescriptor"
></div>

<div className="contact__publisher hbbr">
Expand Down
11 changes: 11 additions & 0 deletions src/scss/Breadcrumb/breadcrumb.scss
Original file line number Diff line number Diff line change
Expand Up @@ -41,10 +41,21 @@
a {
text-decoration: none;
cursor: default;
margin-right: 0;

&:focus {
outline: none !important;
}

display: block;
max-width: 52vmin;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;

@media screen and (max-width: 550px) {
max-width: 38vmin;
}
}
}

Expand Down
Loading

0 comments on commit 93ab626

Please sign in to comment.