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:

- - - -
- - 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:

- - - -
- - 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",