diff --git a/.circleci/config.yml b/.circleci/config.yml
index 56d005d..7ae2a60 100644
--- a/.circleci/config.yml
+++ b/.circleci/config.yml
@@ -1,9 +1,14 @@
-version: 2
-jobs:
- build:
+version: 2.1
+
+executors:
+ node-executor:
working_directory: ~/phovea
docker:
- image: circleci/node:12.13-buster-browsers
+
+jobs:
+ build:
+ executor: node-executor
steps:
- checkout
- run:
@@ -22,8 +27,7 @@ jobs:
(grep -l '._resolved.: .\(git[^:]*\|bitbucket\):' ./node_modules/*/package.json || true) | xargs -r dirname | xargs -r rm -rf
- save_cache:
key: deps1-{{ .Branch }}-{{ checksum "package.json" }}
- paths:
- - ./node_modules
+ paths: ./node_modules
- run:
name: Install npm dependencies from git repositories (always get latest commit)
command: npm install
@@ -35,9 +39,8 @@ jobs:
command: npm run dist
- store_artifacts:
path: dist
- destination: dist
workflows:
- version: 2
+ version: 2.1
# build-nightly:
# triggers:
# - schedule:
@@ -48,17 +51,9 @@ workflows:
# - develop
# jobs:
# - build
- build-branch:
- jobs:
- - build:
- filters:
- tags:
- ignore: /^v.*/
- build-tag:
+ build-branches-and-tags:
jobs:
- build:
filters:
- branches:
- ignore: /.*/
tags:
- only: /^v.*/
\ No newline at end of file
+ only: /.*/
diff --git a/.gitattributes b/.gitattributes
index 544c336..711da28 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -125,3 +125,10 @@ AUTHORS text
# with the python modules ``pickle``, ``dbm.*``,
# ``shelve``, ``marshal``, ``anydbm``, & ``bsddb``
# (among others).
+
+
+# Mark compiled files as generated to hide them in PRs
+/dist/** linguist-generated=true
+
+# Hide compiled files from git diff and auto-replace them when merging different branches
+/dist/** -diff -merge
diff --git a/.gitignore b/.gitignore
index bc72255..d825259 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,6 +1,7 @@
/.tscache
/.idea
/lib/
+/dist/tsBuildInfoFile
node_modules/
/src/**/*.js
/tests/**/*.js
diff --git a/dist/404.html b/dist/404.html
deleted file mode 100644
index fdace4a..0000000
--- a/dist/404.html
+++ /dev/null
@@ -1,157 +0,0 @@
-
-
-
-
- Page Not Found :(
-
-
-
-
-
Not found :(
-
Sorry, but the page you were trying to view does not exist.
-
It looks like this was the result of either:
-
- - a mistyped address
- - an out-of-date link
-
-
-
-
-
-
diff --git a/dist/app/gapminder.js b/dist/app/gapminder.js
index 837f9ea..e03f21c 100644
--- a/dist/app/gapminder.js
+++ b/dist/app/gapminder.js
@@ -327,17 +327,17 @@ export class GapMinder extends AView {
return;
}
const isActive = d3.select(this).select('i').classed('fa-circle');
- d3.select(this).select('i').classed('fa-circle-o', isActive).classed('fa-circle', !isActive);
+ d3.select(this).select('i').classed('far', isActive).classed('fa-circle', !isActive);
that.color.idtype.select(GapMinder.filteredSelectionType, Range.list(d), isActive ? SelectOperation.ADD : SelectOperation.REMOVE);
});
- $legendsEnter.append('i').attr('class', 'fa fa-circle');
+ $legendsEnter.append('i').attr('class', 'fas fa-circle');
$legendsEnter.append('span');
if (this.color != null) {
const filtered = this.color.idtype.selections(GapMinder.filteredSelectionType).dim(0);
$legends.select('i')
.style('color', (d) => d.color)
.classed('fa-circle', (d) => !filtered.contains(d.first))
- .classed('fa-circle-o', (d) => {
+ .classed('far', (d) => {
return filtered.contains(d.first);
});
}
diff --git a/dist/app/gapminder.js.map b/dist/app/gapminder.js.map
index 5349d98..a947ed9 100644
--- a/dist/app/gapminder.js.map
+++ b/dist/app/gapminder.js.map
@@ -1 +1 @@
-{"version":3,"file":"gapminder.js","sourceRoot":"","sources":["../../src/app/gapminder.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"gapminder.js","sourceRoot":"","sources":["../../src/app/gapminder.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/dist/initialize/GapMinderApp.d.ts b/dist/initialize/GapMinderApp.d.ts
index d2260a3..e383807 100644
--- a/dist/initialize/GapMinderApp.d.ts
+++ b/dist/initialize/GapMinderApp.d.ts
@@ -1,11 +1,6 @@
/**
* Created by Samuel Gratzl on 15.12.2014.
*/
-import '../404.html';
-import '../robots.txt';
-import 'phovea_ui/dist/webpack/_bootstrap';
-import 'phovea_ui/dist/webpack/_font-awesome';
-import '../scss/main.scss';
export declare class GapMinderApp {
private helper;
constructor();
diff --git a/dist/initialize/GapMinderApp.js b/dist/initialize/GapMinderApp.js
index a1ea7c2..85728fb 100644
--- a/dist/initialize/GapMinderApp.js
+++ b/dist/initialize/GapMinderApp.js
@@ -1,12 +1,6 @@
/**
* Created by Samuel Gratzl on 15.12.2014.
*/
-// Determine the order of css files manually
-import '../404.html';
-import '../robots.txt';
-import 'phovea_ui/dist/webpack/_bootstrap';
-import 'phovea_ui/dist/webpack/_font-awesome';
-import '../scss/main.scss';
import { CLUEWrapper, ModeWrapper } from 'phovea_clue';
import { GapMinder } from '../app/gapminder';
import { I18nextManager, BaseUtils } from 'phovea_core';
diff --git a/dist/initialize/GapMinderApp.js.map b/dist/initialize/GapMinderApp.js.map
index ce02833..f3dceb5 100644
--- a/dist/initialize/GapMinderApp.js.map
+++ b/dist/initialize/GapMinderApp.js.map
@@ -1 +1 @@
-{"version":3,"file":"GapMinderApp.js","sourceRoot":"","sources":["../../src/initialize/GapMinderApp.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,4CAA4C;AAE5C,OAAO,aAAa,CAAC;AACrB,OAAO,eAAe,CAAC;AACvB,OAAO,mCAAmC,CAAC;AAC3C,OAAO,sCAAsC,CAAC;AAC9C,OAAO,mBAAmB,CAAC;AAG3B,OAAO,EAAC,WAAW,EAAE,WAAW,EAAC,MAAM,aAAa,CAAC;AACrD,OAAO,EAAC,SAAS,EAAC,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAC,cAAc,EAAE,SAAS,EAAe,MAAM,aAAa,CAAC;AAEpE,MAAM,OAAO,YAAY;IAKvB;QAHA,kEAAkE;QACzD,WAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC;QAIxD,cAAc,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE;YAChD,MAAM,KAAK,GAAG,WAAW,CAAC,iBAAiB,CAAC,QAAQ,CAAC,IAAI,EAAE;gBACzD,GAAG,EAAE,WAAW;gBAChB,WAAW,EAAE,YAAY;gBACzB,EAAE,EAAE,gBAAgB;gBACpB,oBAAoB,EAAE,mBAAmB;gBACzC,kBAAkB,EAAE,IAAI;gBACxB,UAAU,EAAE,KAAK;aAClB,CAAC,CAAC;YAEH;gBACE,OAAM,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE;oBACrB,KAAK,CAAC,KAAK,CAAC,IAAI,EAAG,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;iBAChE;aACF;YAED,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE;gBACzB,MAAM,GAAG,GAAG,SAAS,CAAC,MAAM,CAAU,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,KAAK,CAAC,CAAC;gBAEjE,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;gBACrD,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;gBAEvD,SAAS,YAAY;oBACnB,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC;oBAChE,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,GAAG,GAAG,EAAE,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;gBACnE,CAAC;gBAED,uIAAuI;gBACvI,mCAAmC;gBACnC,OAAO;gBAEP,KAAK,CAAC,EAAE,CAAC,aAAa,EAAE,UAAU,KAAK,EAAE,OAAO;oBAC9C,GAAG,CAAC,cAAc,CAAC,OAAO,CAAC,WAAW,IAAI,GAAG,CAAC,CAAC;oBAC/C,2BAA2B;oBAC3B,UAAU,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;gBAChC,CAAC,CAAC,CAAC;gBAEH,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;gBAChD,UAAU,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;gBAE9B,GAAG,CAAC,cAAc,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,OAAO,EAAE,CAAC,WAAW,IAAI,GAAG,CAAC,CAAC;gBAE3E,KAAK,CAAC,YAAY,EAAE,CAAC;YACvB,CAAC,CAAC,CAAC;QAEL,CAAC,CAAC,CAAC;IACL,CAAC;CACF"}
\ No newline at end of file
+{"version":3,"file":"GapMinderApp.js","sourceRoot":"","sources":["../../src/initialize/GapMinderApp.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAC,WAAW,EAAE,WAAW,EAAC,MAAM,aAAa,CAAC;AACrD,OAAO,EAAC,SAAS,EAAC,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAC,cAAc,EAAE,SAAS,EAAe,MAAM,aAAa,CAAC;AAEpE,MAAM,OAAO,YAAY;IAKvB;QAHA,kEAAkE;QACzD,WAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC;QAIxD,cAAc,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE;YAChD,MAAM,KAAK,GAAG,WAAW,CAAC,iBAAiB,CAAC,QAAQ,CAAC,IAAI,EAAE;gBACzD,GAAG,EAAE,WAAW;gBAChB,WAAW,EAAE,YAAY;gBACzB,EAAE,EAAE,gBAAgB;gBACpB,oBAAoB,EAAE,mBAAmB;gBACzC,kBAAkB,EAAE,IAAI;gBACxB,UAAU,EAAE,KAAK;aAClB,CAAC,CAAC;YAEH;gBACE,OAAM,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE;oBACrB,KAAK,CAAC,KAAK,CAAC,IAAI,EAAG,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;iBAChE;aACF;YAED,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE;gBACzB,MAAM,GAAG,GAAG,SAAS,CAAC,MAAM,CAAU,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,KAAK,CAAC,CAAC;gBAEjE,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;gBACrD,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;gBAEvD,SAAS,YAAY;oBACnB,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC;oBAChE,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,GAAG,GAAG,EAAE,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;gBACnE,CAAC;gBAED,uIAAuI;gBACvI,mCAAmC;gBACnC,OAAO;gBAEP,KAAK,CAAC,EAAE,CAAC,aAAa,EAAE,UAAU,KAAK,EAAE,OAAO;oBAC9C,GAAG,CAAC,cAAc,CAAC,OAAO,CAAC,WAAW,IAAI,GAAG,CAAC,CAAC;oBAC/C,2BAA2B;oBAC3B,UAAU,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;gBAChC,CAAC,CAAC,CAAC;gBAEH,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;gBAChD,UAAU,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;gBAE9B,GAAG,CAAC,cAAc,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,OAAO,EAAE,CAAC,WAAW,IAAI,GAAG,CAAC,CAAC;gBAE3E,KAAK,CAAC,YAAY,EAAE,CAAC;YACvB,CAAC,CAAC,CAAC;QAEL,CAAC,CAAC,CAAC;IACL,CAAC;CACF"}
\ No newline at end of file
diff --git a/dist/scss/abstracts/_variables.scss b/dist/scss/abstracts/_variables.scss
new file mode 100644
index 0000000..e69de29
diff --git a/dist/scss/base/_base.scss b/dist/scss/base/_base.scss
new file mode 100644
index 0000000..535f40a
--- /dev/null
+++ b/dist/scss/base/_base.scss
@@ -0,0 +1,41 @@
+body, html {
+ padding: 0;
+ margin: 0;
+ width: 100%;
+ height: 100%;
+
+ background-color: #fafafa;
+
+ -webkit-font-smoothing: subpixel-antialiased;
+}
+
+// tooltip styling
+.tooltip{}
+
+/* mouse over mark and ref lines*/
+.active {
+ stroke: black;
+ stroke-width: 5px;
+ line {
+ stroke: magenta;
+ stroke-width: 3px;
+ }
+}
+
+svg {
+ vector-effect: non-scaling-stroke;
+ shape-rendering: geometricPrecision;
+}
+
+svg.chart .xaxis, svg.chart .yaxis, svg.timeline {
+ path, line {
+ stroke-width: 1;
+ stroke: black;
+ fill: none;
+ }
+
+}
+
+div.xaxis_outer {
+
+}
diff --git a/dist/scss/components/_chart.scss b/dist/scss/components/_chart.scss
new file mode 100644
index 0000000..9cba0ec
--- /dev/null
+++ b/dist/scss/components/_chart.scss
@@ -0,0 +1,48 @@
+svg.chart {
+ rect.clearer {
+ fill: transparent;
+ }
+ polyline.hover_line {
+ fill: none;
+ stroke: $hover-color;
+ stroke-width: 1px;
+ }
+ polyline.select_line {
+ fill: none;
+ stroke: $select-color;
+ stroke-width: 1px;
+ }
+
+ text.act_year {
+ font-size: 150pt;
+ font-weight: bold;
+ fill: #f2f2f2;
+ text-anchor: start;
+ }
+ .mark {
+ stroke: none;
+ opacity:0.5;
+
+ &.phovea-select-selected {
+ //svg variant
+ stroke: $select-color;
+ stroke-width: 2px;
+ opacity: 1;
+ }
+ &.phovea-select-hovered {
+ //svg variant
+ opacity: 1;
+ stroke: $hover-color;
+ stroke-width: 2px;
+ }
+
+ &.phovea-select-filtered {
+ opacity: 0.1;
+ }
+ }
+
+ select .yaxis, .xaxis {
+ background-color: #a2a3a3;
+ }
+
+}
diff --git a/dist/scss/components/_gapminder.scss b/dist/scss/components/_gapminder.scss
new file mode 100644
index 0000000..cf66610
--- /dev/null
+++ b/dist/scss/components/_gapminder.scss
@@ -0,0 +1,63 @@
+main {
+ position: relative;
+
+ svg.size_legend {
+ circle {
+ fill: #cecece;
+ }
+ }
+
+
+ div.gapminder_i {
+ display: block;
+ position: absolute;
+ width: 40em;
+ z-index: 2;
+ left: 200px;
+
+ div.yaxis {
+ -webkit-transform: rotate(-90deg) translateX(-60vh);
+ -webkit-transform-origin: 0% 0%;
+ transform: rotate(-90deg) translateX(-60vh);
+ transform-origin: 0% 0%;
+ }
+ }
+
+ div.xaxis_outer {
+ text-align: center;
+ position: absolute;
+ bottom: 50px;
+ left: 50px;
+ right: 0;
+
+ > div {
+ margin-left: auto;
+ margin-right: auto;
+ }
+ }
+
+ div.chart {
+ margin-left: 190px;
+ position: absolute;
+ //top: 0;
+ //left: 0;
+
+ }
+
+
+ svg.pop_slider{
+ position:absolute;
+ }
+
+ svg.timeline {
+ fill:grey;
+ align-items: flex-start;
+ position: absolute;
+ left: 200px;
+ bottom: 5px;
+ }
+
+ .over {
+ font-weight: bold;
+ }
+}
diff --git a/dist/scss/components/_legends.scss b/dist/scss/components/_legends.scss
new file mode 100644
index 0000000..d464135
--- /dev/null
+++ b/dist/scss/components/_legends.scss
@@ -0,0 +1,41 @@
+
+div.legends {
+ margin: 2px 2px 0 0;
+ position: absolute;
+ left: 42px;
+ top: 0;
+ bottom: 0;
+ display: inline;
+ //background-color: green;
+ width: 140px;
+
+ padding-top: 30px;
+ padding-left: 4px;
+
+ span.title {
+ font-weight: bold;
+ position: absolute;
+ left: -40px;
+ }
+
+ > div > * {
+ display: block;
+ }
+ select {
+ width: 100%;
+ }
+ div.color_legend {
+ i {
+ margin-right: 3px;
+ padding: 3px;
+ opacity: 0.5;
+ }
+ }
+ div.population_scaler {
+ margin-top: 1em;
+
+ svg {
+ margin-top: 5px;
+ }
+ }
+}
diff --git a/dist/scss/components/_timeline.scss b/dist/scss/components/_timeline.scss
new file mode 100644
index 0000000..b61c730
--- /dev/null
+++ b/dist/scss/components/_timeline.scss
@@ -0,0 +1,13 @@
+svg.timeline {
+
+ fill:grey;
+
+ path.slider {
+ stroke: #ffab00;
+ cursor: ew-resize;
+ fill: #ffab00;
+ }
+
+ font-size: small;
+
+}
diff --git a/dist/scss/main.scss b/dist/scss/main.scss
index 052f9ff..5b22c4c 100644
--- a/dist/scss/main.scss
+++ b/dist/scss/main.scss
@@ -1,253 +1,8 @@
-/**
- * Created by Samuel Gratzl on 15.12.2014.
- */
-
-// use original CLUE styles as foundation
-@import "~phovea_clue/dist/scss/main.scss";
-
-body, html {
- padding: 0;
- margin: 0;
- width: 100%;
- height: 100%;
-
- background-color: #fafafa;
-
- -webkit-font-smoothing: subpixel-antialiased;
-}
-
-// tooltip styling
-.tooltip{}
-
-/* mouse over mark and ref lines*/
-.active {
- stroke: black;
- stroke-width: 5px;
- line {
- stroke: magenta;
- stroke-width: 3px;
- }
-}
-
-svg {
- vector-effect: non-scaling-stroke;
- shape-rendering: geometricPrecision;
-}
-
-svg.chart .xaxis, svg.chart .yaxis, svg.timeline {
- path, line {
- stroke-width: 1;
- stroke: black;
- fill: none;
- }
-
-}
-
-div.xaxis_outer {
-
-}
-
-svg.chart {
- rect.clearer {
- fill: transparent;
- }
- polyline.hover_line {
- fill: none;
- stroke: $hover-color;
- stroke-width: 1px;
- }
- polyline.select_line {
- fill: none;
- stroke: $select-color;
- stroke-width: 1px;
- }
-
- text.act_year {
- font-size: 150pt;
- font-weight: bold;
- fill: #f2f2f2;
- text-anchor: start;
- }
- .mark {
- stroke: none;
- opacity:0.5;
-
- &.phovea-select-selected {
- //svg variant
- stroke: $select-color;
- stroke-width: 2px;
- opacity: 1;
- }
- &.phovea-select-hovered {
- //svg variant
- opacity: 1;
- stroke: $hover-color;
- stroke-width: 2px;
- }
-
- &.phovea-select-filtered {
- opacity: 0.1;
- }
- }
-
- select .yaxis, .xaxis {
- background-color: #a2a3a3;
- }
-
-}
-
-div.legends {
- margin: 2px 2px 0 0;
- position: absolute;
- left: 42px;
- top: 0;
- bottom: 0;
- display: inline;
- //background-color: green;
- width: 140px;
-
- padding-top: 30px;
- padding-left: 4px;
-
- span.title {
- font-weight: bold;
- position: absolute;
- left: -40px;
- }
-
- > div > * {
- display: block;
- }
- select {
- width: 100%;
- }
- div.color_legend {
- i {
- margin-right: 3px;
- padding: 3px;
- opacity: 0.5;
- }
- }
- div.population_scaler {
- margin-top: 1em;
-
- svg {
- margin-top: 5px;
- }
- }
-}
-
-
-svg.timeline {
-
- fill:grey;
-
- path.slider {
- stroke: #ffab00;
- cursor: ew-resize;
- fill: #ffab00;
- }
-
- font-size: small;
-
-}
-
-main {
- position: relative;
-
- svg.size_legend {
- circle {
- fill: #cecece;
- }
- }
-
-
- div.gapminder_i {
- display: block;
- position: absolute;
- width: 40em;
- z-index: 2;
- left: 200px;
-
- div.yaxis {
- -webkit-transform: rotate(-90deg) translateX(-60vh);
- -webkit-transform-origin: 0% 0%;
- transform: rotate(-90deg) translateX(-60vh);
- transform-origin: 0% 0%;
- }
- }
-
- div.xaxis_outer {
- text-align: center;
- position: absolute;
- bottom: 50px;
- left: 50px;
- right: 0;
-
- > div {
- margin-left: auto;
- margin-right: auto;
- }
- }
-
- div.chart {
- margin-left: 190px;
- position: absolute;
- //top: 0;
- //left: 0;
-
- }
-
-
- svg.pop_slider{
- position:absolute;
- }
-
- svg.timeline {
- fill:grey;
- align-items: flex-start;
- position: absolute;
- left: 200px;
- bottom: 5px;
- }
-
- .over {
- font-weight: bold;
- }
-}
-
-body {
- &[data-clue='E'] {
- span.attr-x-label, span.attr-x-scale-label,
- span.attr-y-label, span.attr-y-scale-label,
- span.attr-size-label, span.attr-size-scale-label,
- span.attr-color-label, span.attr-color-scale-label {
- display: none;
- }
- }
-
- &[data-clue='A'], &[data-clue='P'] {
- select.attr-x, select.attr-x-scale,
- select.attr-y, select.attr-y-scale,
- select.attr-size, select.attr-size-scale,
- select.attr-color, select.attr-x-scale {
- display: none;
- }
-
- svg.timeline .slider {
- pointer-events: none;
- fill: #a3a3a3;
- stroke: #a3a3a3;
- }
-
- svg.chart {
-
- polyline.hover_line {
- stroke: $hover-color !important;
- }
- .mark.phovea-select-hovered {
- stroke: $hover-color !important;
- }
- }
- }
-}
+@import './abstracts/variables';
+
+@import './base/base';
+@import './components/chart';
+@import './components/legends';
+@import './components/timeline';
+@import './components/gapminder';
+@import './overrides/clue';
diff --git a/dist/scss/overrides/_clue.scss b/dist/scss/overrides/_clue.scss
new file mode 100644
index 0000000..c3220dd
--- /dev/null
+++ b/dist/scss/overrides/_clue.scss
@@ -0,0 +1,35 @@
+body {
+ &[data-clue='E'] {
+ span.attr-x-label, span.attr-x-scale-label,
+ span.attr-y-label, span.attr-y-scale-label,
+ span.attr-size-label, span.attr-size-scale-label,
+ span.attr-color-label, span.attr-color-scale-label {
+ display: none;
+ }
+ }
+
+ &[data-clue='A'], &[data-clue='P'] {
+ select.attr-x, select.attr-x-scale,
+ select.attr-y, select.attr-y-scale,
+ select.attr-size, select.attr-size-scale,
+ select.attr-color, select.attr-x-scale {
+ display: none;
+ }
+
+ svg.timeline .slider {
+ pointer-events: none;
+ fill: #a3a3a3;
+ stroke: #a3a3a3;
+ }
+
+ svg.chart {
+
+ polyline.hover_line {
+ stroke: $hover-color !important;
+ }
+ .mark.phovea-select-hovered {
+ stroke: $hover-color !important;
+ }
+ }
+ }
+}
diff --git a/jest.config.js b/jest.config.js
index fe8656b..8c51599 100644
--- a/jest.config.js
+++ b/jest.config.js
@@ -38,7 +38,7 @@ module.exports = {
"__APP_CONTEXT__": "TEST_CONTEXT",
'ts-jest': {
// has to be set to true, otherwise i18n import fails
- "tsConfig": {
+ "tsconfig": {
"esModuleInterop": true,
}
}
diff --git a/package.json b/package.json
index b7e658e..3d2578d 100644
--- a/package.json
+++ b/package.json
@@ -1,7 +1,7 @@
{
"name": "gapminder",
"description": "",
- "version": "4.0.0",
+ "version": "5.0.0",
"author": {
"name": "The Caleydo Team",
"email": "contact@caleydo.org",
@@ -55,26 +55,23 @@
"docker": "docker build -t gapminder -f deploy/Dockerfile ."
},
"devDependencies": {
- "@types/marked": "^0.7.4",
- "@types/jest": "~26.0.5",
+ "@types/marked": "^1.2.1",
+ "@types/jest": "~26.0.20",
"identity-obj-proxy": "~3.0.0",
- "jest": "~26.1.0",
+ "jest": "~26.6.3",
"jest-raw-loader": "~1.0.1",
"rimraf": "~3.0.2",
- "shx": "~0.3.2",
- "ts-jest": "~26.1.3",
- "tslib": "~2.0.0",
+ "shx": "~0.3.3",
+ "ts-jest": "~26.4.4",
+ "tslib": "~2.0.3",
"tslint": "~5.20.1",
- "typedoc": "~0.17.8",
+ "typedoc": "~0.19.2",
"typescript": "~3.9.7"
},
"dependencies": {
"jquery": "~3.5.1",
- "marked": "^0.7.0",
- "phovea_clue": "^6.0.0",
- "phovea_core": "^5.0.0",
- "phovea_d3": "^5.0.0",
- "phovea_ui": "^5.0.0",
- "phovea_vis": "^5.0.0"
+ "marked": "^1.2.7",
+ "phovea_clue": "^7.0.0",
+ "phovea_vis": "^6.0.0"
}
}
diff --git a/src/404.html b/src/404.html
deleted file mode 100644
index fdace4a..0000000
--- a/src/404.html
+++ /dev/null
@@ -1,157 +0,0 @@
-
-
-
-
- Page Not Found :(
-
-
-
-
-
Not found :(
-
Sorry, but the page you were trying to view does not exist.
-
It looks like this was the result of either:
-
- - a mistyped address
- - an out-of-date link
-
-
-
-
-
-
diff --git a/src/app/gapminder.ts b/src/app/gapminder.ts
index 3cf1949..34a7e5f 100644
--- a/src/app/gapminder.ts
+++ b/src/app/gapminder.ts
@@ -413,10 +413,10 @@ export class GapMinder extends AView {
return;
}
const isActive = d3.select(this).select('i').classed('fa-circle');
- d3.select(this).select('i').classed('fa-circle-o', isActive).classed('fa-circle', !isActive);
+ d3.select(this).select('i').classed('far', isActive).classed('fa-circle', !isActive);
that.color.idtype.select(GapMinder.filteredSelectionType,Range.list(d), isActive ? SelectOperation.ADD : SelectOperation.REMOVE);
});
- $legendsEnter.append('i').attr('class', 'fa fa-circle');
+ $legendsEnter.append('i').attr('class', 'fas fa-circle');
$legendsEnter.append('span');
if (this.color != null) {
@@ -424,7 +424,7 @@ export class GapMinder extends AView {
$legends.select('i')
.style('color', (d) => d.color)
.classed('fa-circle', (d) => !filtered.contains(d.first))
- .classed('fa-circle-o', (d) => {
+ .classed('far', (d) => {
return filtered.contains(d.first);
});
}
diff --git a/src/initialize/GapMinderApp.ts b/src/initialize/GapMinderApp.ts
index 0b4e567..f839fe7 100644
--- a/src/initialize/GapMinderApp.ts
+++ b/src/initialize/GapMinderApp.ts
@@ -2,15 +2,6 @@
* Created by Samuel Gratzl on 15.12.2014.
*/
-// Determine the order of css files manually
-
-import '../404.html';
-import '../robots.txt';
-import 'phovea_ui/dist/webpack/_bootstrap';
-import 'phovea_ui/dist/webpack/_font-awesome';
-import '../scss/main.scss';
-
-
import {CLUEWrapper, ModeWrapper} from 'phovea_clue';
import {GapMinder} from '../app/gapminder';
import {I18nextManager, BaseUtils, EventHandler} from 'phovea_core';
diff --git a/src/scss/abstracts/_variables.scss b/src/scss/abstracts/_variables.scss
new file mode 100644
index 0000000..e69de29
diff --git a/src/scss/base/_base.scss b/src/scss/base/_base.scss
new file mode 100644
index 0000000..535f40a
--- /dev/null
+++ b/src/scss/base/_base.scss
@@ -0,0 +1,41 @@
+body, html {
+ padding: 0;
+ margin: 0;
+ width: 100%;
+ height: 100%;
+
+ background-color: #fafafa;
+
+ -webkit-font-smoothing: subpixel-antialiased;
+}
+
+// tooltip styling
+.tooltip{}
+
+/* mouse over mark and ref lines*/
+.active {
+ stroke: black;
+ stroke-width: 5px;
+ line {
+ stroke: magenta;
+ stroke-width: 3px;
+ }
+}
+
+svg {
+ vector-effect: non-scaling-stroke;
+ shape-rendering: geometricPrecision;
+}
+
+svg.chart .xaxis, svg.chart .yaxis, svg.timeline {
+ path, line {
+ stroke-width: 1;
+ stroke: black;
+ fill: none;
+ }
+
+}
+
+div.xaxis_outer {
+
+}
diff --git a/src/scss/components/_chart.scss b/src/scss/components/_chart.scss
new file mode 100644
index 0000000..9cba0ec
--- /dev/null
+++ b/src/scss/components/_chart.scss
@@ -0,0 +1,48 @@
+svg.chart {
+ rect.clearer {
+ fill: transparent;
+ }
+ polyline.hover_line {
+ fill: none;
+ stroke: $hover-color;
+ stroke-width: 1px;
+ }
+ polyline.select_line {
+ fill: none;
+ stroke: $select-color;
+ stroke-width: 1px;
+ }
+
+ text.act_year {
+ font-size: 150pt;
+ font-weight: bold;
+ fill: #f2f2f2;
+ text-anchor: start;
+ }
+ .mark {
+ stroke: none;
+ opacity:0.5;
+
+ &.phovea-select-selected {
+ //svg variant
+ stroke: $select-color;
+ stroke-width: 2px;
+ opacity: 1;
+ }
+ &.phovea-select-hovered {
+ //svg variant
+ opacity: 1;
+ stroke: $hover-color;
+ stroke-width: 2px;
+ }
+
+ &.phovea-select-filtered {
+ opacity: 0.1;
+ }
+ }
+
+ select .yaxis, .xaxis {
+ background-color: #a2a3a3;
+ }
+
+}
diff --git a/src/scss/components/_gapminder.scss b/src/scss/components/_gapminder.scss
new file mode 100644
index 0000000..cf66610
--- /dev/null
+++ b/src/scss/components/_gapminder.scss
@@ -0,0 +1,63 @@
+main {
+ position: relative;
+
+ svg.size_legend {
+ circle {
+ fill: #cecece;
+ }
+ }
+
+
+ div.gapminder_i {
+ display: block;
+ position: absolute;
+ width: 40em;
+ z-index: 2;
+ left: 200px;
+
+ div.yaxis {
+ -webkit-transform: rotate(-90deg) translateX(-60vh);
+ -webkit-transform-origin: 0% 0%;
+ transform: rotate(-90deg) translateX(-60vh);
+ transform-origin: 0% 0%;
+ }
+ }
+
+ div.xaxis_outer {
+ text-align: center;
+ position: absolute;
+ bottom: 50px;
+ left: 50px;
+ right: 0;
+
+ > div {
+ margin-left: auto;
+ margin-right: auto;
+ }
+ }
+
+ div.chart {
+ margin-left: 190px;
+ position: absolute;
+ //top: 0;
+ //left: 0;
+
+ }
+
+
+ svg.pop_slider{
+ position:absolute;
+ }
+
+ svg.timeline {
+ fill:grey;
+ align-items: flex-start;
+ position: absolute;
+ left: 200px;
+ bottom: 5px;
+ }
+
+ .over {
+ font-weight: bold;
+ }
+}
diff --git a/src/scss/components/_legends.scss b/src/scss/components/_legends.scss
new file mode 100644
index 0000000..d464135
--- /dev/null
+++ b/src/scss/components/_legends.scss
@@ -0,0 +1,41 @@
+
+div.legends {
+ margin: 2px 2px 0 0;
+ position: absolute;
+ left: 42px;
+ top: 0;
+ bottom: 0;
+ display: inline;
+ //background-color: green;
+ width: 140px;
+
+ padding-top: 30px;
+ padding-left: 4px;
+
+ span.title {
+ font-weight: bold;
+ position: absolute;
+ left: -40px;
+ }
+
+ > div > * {
+ display: block;
+ }
+ select {
+ width: 100%;
+ }
+ div.color_legend {
+ i {
+ margin-right: 3px;
+ padding: 3px;
+ opacity: 0.5;
+ }
+ }
+ div.population_scaler {
+ margin-top: 1em;
+
+ svg {
+ margin-top: 5px;
+ }
+ }
+}
diff --git a/src/scss/components/_timeline.scss b/src/scss/components/_timeline.scss
new file mode 100644
index 0000000..b61c730
--- /dev/null
+++ b/src/scss/components/_timeline.scss
@@ -0,0 +1,13 @@
+svg.timeline {
+
+ fill:grey;
+
+ path.slider {
+ stroke: #ffab00;
+ cursor: ew-resize;
+ fill: #ffab00;
+ }
+
+ font-size: small;
+
+}
diff --git a/src/scss/main.scss b/src/scss/main.scss
index 052f9ff..5b22c4c 100644
--- a/src/scss/main.scss
+++ b/src/scss/main.scss
@@ -1,253 +1,8 @@
-/**
- * Created by Samuel Gratzl on 15.12.2014.
- */
-
-// use original CLUE styles as foundation
-@import "~phovea_clue/dist/scss/main.scss";
-
-body, html {
- padding: 0;
- margin: 0;
- width: 100%;
- height: 100%;
-
- background-color: #fafafa;
-
- -webkit-font-smoothing: subpixel-antialiased;
-}
-
-// tooltip styling
-.tooltip{}
-
-/* mouse over mark and ref lines*/
-.active {
- stroke: black;
- stroke-width: 5px;
- line {
- stroke: magenta;
- stroke-width: 3px;
- }
-}
-
-svg {
- vector-effect: non-scaling-stroke;
- shape-rendering: geometricPrecision;
-}
-
-svg.chart .xaxis, svg.chart .yaxis, svg.timeline {
- path, line {
- stroke-width: 1;
- stroke: black;
- fill: none;
- }
-
-}
-
-div.xaxis_outer {
-
-}
-
-svg.chart {
- rect.clearer {
- fill: transparent;
- }
- polyline.hover_line {
- fill: none;
- stroke: $hover-color;
- stroke-width: 1px;
- }
- polyline.select_line {
- fill: none;
- stroke: $select-color;
- stroke-width: 1px;
- }
-
- text.act_year {
- font-size: 150pt;
- font-weight: bold;
- fill: #f2f2f2;
- text-anchor: start;
- }
- .mark {
- stroke: none;
- opacity:0.5;
-
- &.phovea-select-selected {
- //svg variant
- stroke: $select-color;
- stroke-width: 2px;
- opacity: 1;
- }
- &.phovea-select-hovered {
- //svg variant
- opacity: 1;
- stroke: $hover-color;
- stroke-width: 2px;
- }
-
- &.phovea-select-filtered {
- opacity: 0.1;
- }
- }
-
- select .yaxis, .xaxis {
- background-color: #a2a3a3;
- }
-
-}
-
-div.legends {
- margin: 2px 2px 0 0;
- position: absolute;
- left: 42px;
- top: 0;
- bottom: 0;
- display: inline;
- //background-color: green;
- width: 140px;
-
- padding-top: 30px;
- padding-left: 4px;
-
- span.title {
- font-weight: bold;
- position: absolute;
- left: -40px;
- }
-
- > div > * {
- display: block;
- }
- select {
- width: 100%;
- }
- div.color_legend {
- i {
- margin-right: 3px;
- padding: 3px;
- opacity: 0.5;
- }
- }
- div.population_scaler {
- margin-top: 1em;
-
- svg {
- margin-top: 5px;
- }
- }
-}
-
-
-svg.timeline {
-
- fill:grey;
-
- path.slider {
- stroke: #ffab00;
- cursor: ew-resize;
- fill: #ffab00;
- }
-
- font-size: small;
-
-}
-
-main {
- position: relative;
-
- svg.size_legend {
- circle {
- fill: #cecece;
- }
- }
-
-
- div.gapminder_i {
- display: block;
- position: absolute;
- width: 40em;
- z-index: 2;
- left: 200px;
-
- div.yaxis {
- -webkit-transform: rotate(-90deg) translateX(-60vh);
- -webkit-transform-origin: 0% 0%;
- transform: rotate(-90deg) translateX(-60vh);
- transform-origin: 0% 0%;
- }
- }
-
- div.xaxis_outer {
- text-align: center;
- position: absolute;
- bottom: 50px;
- left: 50px;
- right: 0;
-
- > div {
- margin-left: auto;
- margin-right: auto;
- }
- }
-
- div.chart {
- margin-left: 190px;
- position: absolute;
- //top: 0;
- //left: 0;
-
- }
-
-
- svg.pop_slider{
- position:absolute;
- }
-
- svg.timeline {
- fill:grey;
- align-items: flex-start;
- position: absolute;
- left: 200px;
- bottom: 5px;
- }
-
- .over {
- font-weight: bold;
- }
-}
-
-body {
- &[data-clue='E'] {
- span.attr-x-label, span.attr-x-scale-label,
- span.attr-y-label, span.attr-y-scale-label,
- span.attr-size-label, span.attr-size-scale-label,
- span.attr-color-label, span.attr-color-scale-label {
- display: none;
- }
- }
-
- &[data-clue='A'], &[data-clue='P'] {
- select.attr-x, select.attr-x-scale,
- select.attr-y, select.attr-y-scale,
- select.attr-size, select.attr-size-scale,
- select.attr-color, select.attr-x-scale {
- display: none;
- }
-
- svg.timeline .slider {
- pointer-events: none;
- fill: #a3a3a3;
- stroke: #a3a3a3;
- }
-
- svg.chart {
-
- polyline.hover_line {
- stroke: $hover-color !important;
- }
- .mark.phovea-select-hovered {
- stroke: $hover-color !important;
- }
- }
- }
-}
+@import './abstracts/variables';
+
+@import './base/base';
+@import './components/chart';
+@import './components/legends';
+@import './components/timeline';
+@import './components/gapminder';
+@import './overrides/clue';
diff --git a/src/scss/overrides/_clue.scss b/src/scss/overrides/_clue.scss
new file mode 100644
index 0000000..c3220dd
--- /dev/null
+++ b/src/scss/overrides/_clue.scss
@@ -0,0 +1,35 @@
+body {
+ &[data-clue='E'] {
+ span.attr-x-label, span.attr-x-scale-label,
+ span.attr-y-label, span.attr-y-scale-label,
+ span.attr-size-label, span.attr-size-scale-label,
+ span.attr-color-label, span.attr-color-scale-label {
+ display: none;
+ }
+ }
+
+ &[data-clue='A'], &[data-clue='P'] {
+ select.attr-x, select.attr-x-scale,
+ select.attr-y, select.attr-y-scale,
+ select.attr-size, select.attr-size-scale,
+ select.attr-color, select.attr-x-scale {
+ display: none;
+ }
+
+ svg.timeline .slider {
+ pointer-events: none;
+ fill: #a3a3a3;
+ stroke: #a3a3a3;
+ }
+
+ svg.chart {
+
+ polyline.hover_line {
+ stroke: $hover-color !important;
+ }
+ .mark.phovea-select-hovered {
+ stroke: $hover-color !important;
+ }
+ }
+ }
+}
diff --git a/tsconfig.json b/tsconfig.json
index e7bc9b2..2e06f21 100644
--- a/tsconfig.json
+++ b/tsconfig.json
@@ -16,7 +16,9 @@
"esModuleInterop": false,
"resolveJsonModule": true,
"allowSyntheticDefaultImports": true,
- "preserveWatchOutput": true
+ "preserveWatchOutput": true,
+ "incremental": true,
+ "tsBuildInfoFile": "dist/tsBuildInfoFile"
},
"include": [
"src/**/*.ts",