diff --git a/.circleci/config.yml b/.circleci/config.yml
index 75f35cf..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
@@ -36,7 +40,7 @@ jobs:
- store_artifacts:
path: dist
workflows:
- version: 2
+ version: 2.1
# build-nightly:
# triggers:
# - schedule:
@@ -47,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.*/
+ 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/app/TouringPanel.d.ts b/dist/app/TouringPanel.d.ts
index 6f0ea5c..e9eac48 100644
--- a/dist/app/TouringPanel.d.ts
+++ b/dist/app/TouringPanel.d.ts
@@ -1,4 +1,3 @@
-import '../scss/main.scss';
import 'd3.parsets/d3.parsets';
import 'd3-grubert-boxplot/box';
import { LocalDataProvider } from 'lineupjs';
diff --git a/dist/app/TouringPanel.js b/dist/app/TouringPanel.js
index 247a6c3..a65d653 100644
--- a/dist/app/TouringPanel.js
+++ b/dist/app/TouringPanel.js
@@ -1,4 +1,3 @@
-import '../scss/main.scss';
import { RankingAdapter } from '../tasks/RankingAdapter';
import * as d3 from 'd3';
import 'd3.parsets/d3.parsets';
diff --git a/dist/app/TouringPanel.js.map b/dist/app/TouringPanel.js.map
index a6deceb..dab43a1 100644
--- a/dist/app/TouringPanel.js.map
+++ b/dist/app/TouringPanel.js.map
@@ -1 +1 @@
-{"version":3,"file":"TouringPanel.js","sourceRoot":"","sources":["../../src/app/TouringPanel.ts"],"names":[],"mappings":"AAAA,OAAO,mBAAmB,CAAC;AAC3B,OAAO,EAAC,cAAc,EAAC,MAAM,yBAAyB,CAAC;AACvD,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,uBAAuB,CAAC;AAC/B,OAAO,wBAAwB,CAAC;AAEhC,OAAO,EAAC,QAAQ,EAAC,MAAM,8CAA8C,CAAC;AAEtE,OAAO,EAAC,aAAa,EAAC,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAC,gBAAgB,EAAC,MAAM,+BAA+B,CAAC;AAG/D,MAAM,CAAC,MAAM,KAAK,GAAG;IACnB,IAAI,aAAa,EAAE;IACnB,IAAI,gBAAgB,EAAE;CACvB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,kBAAkB;AAGvD,MAAM,eAAe,GAAG;;;;;;;;;;;;;;;;gDAgBwB,CAAC;AAGjD,MAAM,OAAO,YAAY;IAOvB,YAA6B,KAA6B,EAAmB,GAAa,EAAmB,QAA2B;QAA3G,UAAK,GAAL,KAAK,CAAwB;QAAmB,QAAG,GAAH,GAAG,CAAU;QAAmB,aAAQ,GAAR,QAAQ,CAAmB;QACtI,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;QACrB,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACnC,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,eAAe,CAAC;QACtC,IAAI,CAAC,IAAI,EAAE,CAAC;IACd,CAAC;IAEO,IAAI;QACV,IAAI,CAAC,OAAO,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACjD,IAAI,CAAC,SAAS,EAAE,CAAC;QACjB,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,IAAI,CAAC,UAAU,EAAE,CAAC;IACpB,CAAC;IACO,SAAS;QACf,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;YACxB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,IAAI,EAAiB,CAAC,CAAC;SAC1F;IACH,CAAC;IAEO,WAAW;QACjB,iCAAiC;QACjC,0BAA0B;QAC1B,MAAM,cAAc,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,0BAA0B,CAAC,CAAC;QAC/E,MAAM,WAAW,GAAG,cAAc,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAE5F,WAAW,CAAC,KAAK,EAAE,CAAC,oCAAoC;aACrD,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,sBAAsB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;aAC9F,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,oCAAoC,CAAC;aACpE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,sBAAsB;aAC3D,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;QAGnD,wBAAwB;QACxB,WAAW,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE,CAAC,CAAG,yCAAyC;QACxE,WAAW,CAAC,KAAK,EAAE,CAAC,CAAW,oCAAoC;IACrE,CAAC;IAEO,iBAAiB;QACvB,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,QAAQ,CAAC,UAAU,EAAE,GAAG,EAAE;YACpC,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,EAAE;gBACxB,OAAO,CAAC,6FAA6F;aACtG;YAED,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,gCAAgC;YAEzD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;YACnB,IAAI,CAAC,WAAW,CAAC,iBAAiB,EAAE,CAAC;QACvC,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,QAAQ,CAAC,UAAU,EAAE,GAAG,EAAE;YACpC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;YACpB,IAAI,CAAC,WAAW,CAAC,oBAAoB,EAAE,CAAC;QAC1C,CAAC,CAAC,CAAC;QAEH,yBAAyB;QACzB,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;YACrE,MAAM,WAAW,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC;YACtE,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,EAAE,EAAE,eAAe;gBACxE,WAAW,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC;gBACvD,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC,gBAAgB;gBACzC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,qBAAqB;aAC3C;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,KAAK,CAAC,YAAY,CAAC,WAAqB;QAC7C,IAAI,IAAI,CAAC,MAAM,IAAI,WAAW,EAAE;YAC9B,MAAM,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,CAAC;SAC9C;aAAM;YACL,OAAO,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAC;SACtD;IACH,CAAC;IAEO,UAAU;QAChB,MAAM,YAAY,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,wBAAwB,CAAC,CAAC;QAE3E,IAAG,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE;YAC5B,OAAO,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAC;YAC1D,OAAO;SACR;QAED,IAAI,CAAC,WAAW,GAAG,YAAY,CAAC,KAAK,EAAkB,CAAC;QACxD,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;IAC1B,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,MAAM,CAAC,IAA4B,EAAE,GAAa,EAAE,QAA2B;QACpF,gDAAgD;QAChD,IAAI,YAAY,CAAC,IAAI,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;IACxC,CAAC;CACF"}
\ No newline at end of file
+{"version":3,"file":"TouringPanel.js","sourceRoot":"","sources":["../../src/app/TouringPanel.ts"],"names":[],"mappings":"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"}
\ 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..02b2ba6
--- /dev/null
+++ b/dist/scss/abstracts/_variables.scss
@@ -0,0 +1,7 @@
+
+
+$active-color: #eaeaea !default;
+$dark-font-color: #333 !default;
+$highlight-color: rgb(212, 212, 212) !default;
+$highlight-color-1: rgb(207, 230, 230) !default; // blueish
+$highlight-color-2: rgb(207, 230, 207) !default; // greenish
diff --git a/dist/scss/base/_global.scss b/dist/scss/base/_global.scss
new file mode 100644
index 0000000..fd739b3
--- /dev/null
+++ b/dist/scss/base/_global.scss
@@ -0,0 +1,112 @@
+
+[hidden] {
+ display: none !important;
+}
+
+.touring.active {
+ display: flex;
+}
+
+.touring-highlight-hover {
+ background-color: $highlight-color !important;
+}
+
+.touring-highlight-hover-1 {
+ background-color: $highlight-color-1 !important;
+}
+
+.touring-highlight-hover-2 {
+ background-color: $highlight-color-2 !important;
+}
+
+.touring-highlight-hover-dark {
+ background-color: darken($highlight-color, 10%) !important;
+}
+
+.touring-highlight-hover-border {
+ border: 1px black dashed !important;
+}
+
+.select2-dropdown {
+ // dropdown is seperatly attached to DOM
+ $hover-background-color: darken(
+ $color: #ddd,
+ $amount: 20%
+ ) !default; // #ddd is default color for selected elements
+ $hover-color: white !default;
+
+ .select2-results > .select2-results__options {
+ max-height: 25vh; // 50% of browser window
+ }
+
+ .select2-results__option {
+ // changes the padding of every option in the dropdown
+ padding: 2px 6px;
+ }
+
+ .select2-results__option--highlighted {
+ // hover effect for non nested options (not in optgroup)
+ background-color: $hover-background-color; // do my own hover styling
+ color: $hover-color;
+ }
+
+ .select2-results__options--nested {
+ // hover effect for options in optgroups
+ .select2-results__option--highlighted {
+ // inside the dropdown, which is not inside the .select2
+ background-color: transparent; // default hover styling is done by adding a class
+ color: $dark-font-color;
+
+ &[aria-selected="true"] {
+ // reset
+ background-color: #ddd;
+ color: $dark-font-color;
+ }
+ }
+
+ .select2-results__option:hover {
+ background-color: $hover-background-color; // do my own hover styling
+ color: $hover-color;
+ }
+ }
+
+ .select2-results__group {
+ cursor: pointer; // let it look clickable
+
+ &:hover {
+ background-color: $hover-background-color;
+ color: $hover-color;
+ }
+ }
+}
+
+.select2 {
+ // the input that is always visible
+ .select2-selection__choice {
+ background-color: $active-color;
+
+ span {
+ color: $dark-font-color;
+ }
+ }
+}
+
+button {
+ &.touring.active::before {
+ color: #ffa500; // use highlight color of column headers
+ border: none;
+ }
+
+ img {
+ height: 1.2em;
+ width: auto;
+ padding-right: 1em;
+ }
+}
+
+.tooltip.measure {
+ background-color: #c0c0c0;
+ position: absolute;
+ padding: 5px;
+ opacity: 1;
+}
diff --git a/dist/scss/components/_tourdino_panel.scss b/dist/scss/components/_tourdino_panel.scss
new file mode 100644
index 0000000..9cf2615
--- /dev/null
+++ b/dist/scss/components/_tourdino_panel.scss
@@ -0,0 +1,623 @@
+
+div.touring {
+ flex: 1 0 auto; // sidebar uses flexbox
+ // the touring div itself also uses a flexbox for the children:
+ display: flex;
+ flex-direction: column;
+ padding-left: 0.5em;
+
+ .touring-intro-text {
+ margin-top: 5px;
+ margin-bottom: 15px;
+ padding: 0 0.5em;
+ }
+
+ .input {
+ margin-right: 0.5em;
+
+ // task switcher & task input
+ overflow: hidden; // from the bootstrap stuff we get some overflow which introduces scrollbars --> hide it
+
+ .task-btn.active {
+ background-color: $active-color;
+ }
+ }
+
+ .removeMiniVis-btn {
+ float: right !important;
+ padding: 0px 7px !important;
+ margin: 2px 1px !important;
+ }
+
+ label.control-label {
+ padding: 0px;
+ padding-left: 15px; // bootstrap default
+ }
+
+ .output {
+ flex: 1;
+ position: relative;
+ $wide-col-padding: 0.5em !default;
+ $narrow-col-padding: 0.2em !default;
+ $col-min-size: 4.5ch !default;
+ $col-max-size: 15em !default;
+
+ /*.select2-dropdown { // dropdown is seperatly attached to DOM
+ $hover-background-color: darken($color: #ddd, $amount: 20%); // #ddd is default color for selected elements
+ $hover-color: white !default;
+ .select2-results>.select2-results__options {
+ max-height: 25vh; // 50% of browser window
+ }
+ .select2-results__option { // changes the padding of every option in the dropdown
+ padding: 2px 6px;
+ }
+ .select2-results__option--highlighted { // hover effect for non nested options (not in optgroup)
+ background-color: $hover-background-color; // do my own hover styling
+ color: $hover-color;
+ }
+ .select2-results__options--nested { // hover effect for options in optgroups
+ .select2-results__option--highlighted { // inside the dropdown, which is not inside the .select2
+ background-color: transparent; // default hover styling is done by adding a class
+ color: $dark-font-color;
+ &[aria-selected=true] { // reset
+ background-color: #ddd;
+ color: $dark-font-color;
+ }
+ }
+ .select2-results__option:hover {
+ background-color: $hover-background-color; // do my own hover styling
+ color: $hover-color;
+ }
+ }
+ .select2-results__group {
+ cursor: pointer; // let it look clickable
+ &:hover {
+ background-color: $hover-background-color;
+ color: $hover-color;
+ }
+ }
+ }
+ .select2 { // the input that is always visible
+ .select2-selection__choice {
+ background-color: $active-color;
+ span {
+ color: $dark-font-color;
+ }
+ }
+ }*/
+
+ .task {
+ position: absolute;
+ top: 0;
+ left: 0;
+ right: 0;
+ bottom: 0;
+
+
+ .table-container {
+ position: relative;
+ min-height: 100px;
+ border-top: 1px #aaa solid;
+
+ header {
+ z-index: -1; // above td elements
+ background-color: white;
+
+ h1 {
+ font-size: 1.2em;
+ }
+
+ p {
+ font-weight: normal;
+ }
+ }
+ }
+
+ .details svg .axis path,
+ .details svg .axis line {
+ fill: none;
+ stroke-width: 1;
+ stroke: $core_color_almost_black;
+ shape-rendering: crispEdges;
+ }
+
+ &.rowCmp {
+ .details {
+ overflow-x: auto;
+ }
+ }
+
+ &.colCmp {
+ .form-group {
+ > label {
+ padding-top: 0 !important;
+ }
+ }
+ }
+ }
+
+ a:hover,
+ a:focus {
+ color: #1f77b4;
+ text-decoration: none;
+ }
+
+ a[aria-expanded="false"]::before {
+ content: "\f18e ";
+ font-family: FontAwesome;
+ color: $dark-font-color;
+ font-size: 0.9em;
+ }
+
+ a[aria-expanded="true"]::before {
+ content: "\f01a ";
+ font-family: FontAwesome;
+ color: $dark-font-color;
+ font-size: 0.9em;
+ }
+
+ .measure-legend {
+ margin-top: 1em;
+ margin-bottom: 0.5em;
+
+ svg {
+ vertical-align: middle;
+ }
+ }
+
+ table {
+ $table-border-color: white !default;
+
+ table-layout: fixed; // The table and column widths are set by the widths of table and col or by the width of the first row of cells. Cells in other rows do not affect column widths.
+
+ tbody.bottom-margin {
+ border-bottom: 0.5em solid $table-border-color; // table's border spacing applies to all rows and tbody has no margin
+ }
+
+ th {
+ min-width: $col-min-size;
+ max-width: $col-min-size;
+ position: sticky;
+ top: 0;
+ z-index: 2;
+
+ &:not(.head) {
+ // cells of row labels in header
+ min-width: $col-max-size * 0.7; // flexible from min to max
+ max-width: $col-max-size;
+ padding: 0 $wide-col-padding;
+ background-color: white;
+ }
+
+ &.head {
+ &.rotate {
+ // adapted from https://css-tricks.com/rotated-table-column-headers/
+ height: 120px;
+
+ svg {
+ position: absolute;
+ top: 0;
+ left: 0;
+
+ polygon {
+ fill: white;
+ }
+ }
+
+ > div {
+ transform: translate(12px, 48px) // 3. Back to the correct position
+ rotate(-45deg) // 2. Rotate to correct angle
+ skew(
+ 45deg,
+ 0deg
+ ); // 1. skew the div, so that the background is correct (text content is unskewed below)
+ width: 30px;
+
+ > span {
+ position: relative;
+ display: inline-block; // to set a width
+ min-width: 165px;
+ max-width: 165px;
+ box-sizing: border-box; // i dont want to mess with the padding
+
+ padding-bottom: 0px;
+ padding-top: 1px;
+ line-height: 1.25; // defines height of headers
+ border-bottom: 2px solid $table-border-color; // make space between headers non-transparent (removed for last header below)
+ background-color: white;
+
+ > span {
+ transform: skew(-45deg, 0deg); // unskew the text
+
+ max-width: 100%; // just as wide as the parent
+ display: inline-block; // to make width & string truncation work
+ vertical-align: bottom; // at the bottom of the parent
+ overflow: hidden; // important to stop text at right border
+ white-space: nowrap; // no line breaks
+ text-overflow: ellipsis;
+ font-weight: normal;
+
+ box-sizing: border-box; // i dont want to mess with the padding
+ padding: 0.1em 0.5em 0.1em 1.5em;
+ }
+ }
+ }
+
+ &:last-child > div > span {
+ border-bottom: none; // no need for a border on last header
+ }
+ }
+ }
+ }
+
+ .cross-selection,
+ .cross-selection::before,
+ .cross-selection span::before {
+ background-color: $highlight-color !important; // important because to overwrite the htmml inline color definition
+ color: black !important;
+ }
+
+ td {
+ border: 1px solid $table-border-color;
+ border-collapse: collapse;
+ position: relative;
+ background: white;
+ background-clip: padding-box; // fix firefox bug: td background stretches over tbody border
+
+ &[rowspan] {
+ vertical-align: text-top; // move text of multi-row cells to the top
+ }
+
+ &:not(.score) {
+ // row labels
+ min-width: $col-max-size * 0.7;
+ max-width: $col-max-size;
+ padding: 0 $wide-col-padding;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ }
+
+ &.score {
+ // no min-width here because than the cell gets larger on hover (wich makes the text bolder)
+ max-width: $col-min-size;
+ text-align: center; // padding workaround, because we make the font bolder on hover and can use the whitespace of the cell this way
+ overflow: hidden;
+ text-overflow: clip; // cells are so small, the ... would take to much space
+ white-space: nowrap;
+
+ // border-style: solid;
+ // border-color: $table-border-color;
+ // border-width: 0px; // overwrite the default
+ // border-right-width: 1px; // just on the right
+ }
+
+ &.action,
+ &.score {
+ cursor: pointer;
+ vertical-align: bottom; // Actually, it should be middle, but bottom looks more centered ¯\_(ツ)_/¯
+
+ &:hover,
+ &:focus {
+ // = td.action:hover
+ background-color: darken(
+ $highlight-color,
+ 25%
+ ) !important; // important because to overwrite the htmml inline color definition
+ color: black !important;
+ font-weight: bolder;
+ }
+
+ &.selectedCell {
+ background-color: #fba74d !important; // important because to overwrite the htmml inline color definition
+ color: black !important;
+ font-weight: bolder;
+ }
+ }
+
+ span.circle {
+ display: inline-block;
+ width: 0.8em;
+ height: 0.8em;
+ vertical-align: middle;
+ background-color: $dark-font-color;
+ border: 1px solid transparent;
+ border-radius: 100%;
+ }
+ }
+ }
+
+ .detailVis {
+ border-top: #aaa 1px solid;
+ padding: 0.5em 0;
+
+ .detailDiv {
+ font-weight: bold;
+ color: $dark-font-color;
+
+ span {
+ font-weight: normal;
+
+ &.detail-label {
+ font-weight: bold;
+ }
+ }
+ }
+ }
+
+ // ------ parallel sets with D3
+ .dimension tspan.name {
+ font-size: 1.2em;
+ fill: $dark-font-color;
+ font-weight: bold;
+ }
+
+ .dimension tspan.sort {
+ fill: #000;
+ cursor: pointer;
+ opacity: 0;
+ }
+
+ .dimension tspan.sort:hover {
+ fill: $dark-font-color;
+ }
+
+ .dimension:hover tspan.name {
+ fill: #000;
+ }
+
+ .dimension:hover tspan.sort {
+ opacity: 1;
+ }
+
+ .dimension line {
+ stroke: #000;
+ }
+
+ .dimension rect {
+ stroke: none;
+ fill-opacity: 0;
+ }
+
+ .dimension > rect,
+ .category-background {
+ fill: #fff;
+ }
+
+ .dimension > rect {
+ display: none;
+ }
+
+ // .category:hover rect { fill-opacity: .3; }
+ // .dimension:hover > rect { fill-opacity: .3; }
+ svg .parSets .ribbon path {
+ stroke-opacity: 0;
+ fill-opacity: 0.5;
+ }
+
+ // .ribbon path.active { fill-opacity: .9; }
+ .ribbon-mouse path {
+ fill-opacity: 0;
+ stroke: none;
+ }
+
+ .ribbon path.selected {
+ fill-opacity: 0.9 !important;
+ }
+
+ // new
+ .category rect.selected {
+ fill-opacity: 0.3;
+ }
+
+ // new
+ .dimension:hover > rect.selcted {
+ fill-opacity: 0.3;
+ }
+
+ // new
+
+ // predefined colours
+ .category-0 {
+ fill: #1f77b4;
+ stroke: #1f77b4;
+ }
+
+ .category-1 {
+ fill: #ff7f0e;
+ stroke: #ff7f0e;
+ }
+
+ .category-2 {
+ fill: #2ca02c;
+ stroke: #2ca02c;
+ }
+
+ .category-3 {
+ fill: #d62728;
+ stroke: #d62728;
+ }
+
+ .category-4 {
+ fill: #9467bd;
+ stroke: #9467bd;
+ }
+
+ .category-5 {
+ fill: #8c564b;
+ stroke: #8c564b;
+ }
+
+ .category-6 {
+ fill: #e377c2;
+ stroke: #e377c2;
+ }
+
+ .category-7 {
+ fill: #7f7f7f;
+ stroke: #7f7f7f;
+ }
+
+ .category-8 {
+ fill: #bcbd22;
+ stroke: #bcbd22;
+ }
+
+ .category-9 {
+ fill: #17becf;
+ stroke: #17becf;
+ }
+
+ .category-10 {
+ fill: #aec7e8;
+ stroke: #aec7e8;
+ }
+
+ .category-11 {
+ fill: #ffbb78;
+ stroke: #ffbb78;
+ }
+
+ .category-12 {
+ fill: #98df8a;
+ stroke: #98df8a;
+ }
+
+ .category-13 {
+ fill: #ff9896;
+ stroke: #ff9896;
+ }
+
+ .category-14 {
+ fill: #c5b0d5;
+ stroke: #c5b0d5;
+ }
+
+ .category-15 {
+ fill: #c49c94;
+ stroke: #c49c94;
+ }
+
+ .category-16 {
+ fill: #f7b6d2;
+ stroke: #f7b6d2;
+ }
+
+ .category-17 {
+ fill: #c7c7c7;
+ stroke: #c7c7c7;
+ }
+
+ .category-18 {
+ fill: #dbdb8d;
+ stroke: #dbdb8d;
+ }
+
+ .category-19 {
+ fill: #9edae5;
+ stroke: #9edae5;
+ }
+
+ .category-gray {
+ fill: #808080 !important;
+ stroke: #808080 !important;
+ }
+
+ .category-selected {
+ fill: #fba74d !important;
+ stroke: #fba74d !important;
+ }
+
+ // ------ boxplot with D3
+ g.box-element text {
+ stroke: none;
+ fill: black;
+ }
+
+ g.box-element {
+ rect.box {
+ stroke: black;
+ stroke-width: 1;
+ stroke-opacity: 0;
+ fill-opacity: 0.5;
+ }
+
+ line.center,
+ line.median,
+ line.whisker {
+ stroke-opacity: 0.2;
+ }
+ }
+
+ g.box-element.selected {
+ rect.box {
+ stroke: black;
+ stroke-width: 1;
+ stroke-opacity: 1;
+ fill-opacity: 1;
+ }
+
+ line.center,
+ line.median,
+ line.whisker {
+ stroke-opacity: 1;
+ }
+ }
+
+ // ------ scattter plot with D3
+ g.scatterplot circle.datapoint {
+ stroke: none;
+ opacity: 1;
+ fill: black;
+ }
+
+ g.scatterplot circle.datapoint:hover {
+ opacity: 1;
+ fill: #fba74d !important;
+ }
+
+ g.scatterplot g.regression {
+ path,
+ line {
+ stroke: rgb(194, 194, 194) !important;
+ stroke-width: 2 !important;
+ }
+ }
+
+ // // ------ line chart with D3
+ g.linechart path.dataline {
+ fill-opacity: 0;
+ fill: #fba74d;
+ stroke-width: 2;
+ stroke-linejoin: "round";
+ stroke-linecap: "round";
+ }
+
+ g.linechart g.baseline {
+ fill: "none";
+ stroke-width: 1;
+ stroke-linejoin: "round";
+ stroke-linecap: "round";
+ stroke: black;
+ }
+
+ g.linechart path.dataline:hover {
+ fill-opacity: 0.4;
+ }
+ }
+
+ [data-type]::before {
+ display: inline-block; // so that the width property works
+ width: 1.2em; // to have some space between icon and the text in the td
+ font-family: lu-font; // some icon font
+ color: #999; // #515151 is to dark
+ }
+
+ [data-type="categorical"]::before {
+ content: "\e810";
+ }
+
+ [data-type="number"]::before {
+ content: "\e811";
+ }
+}
diff --git a/dist/scss/main.scss b/dist/scss/main.scss
index 9d4be30..5fafacf 100644
--- a/dist/scss/main.scss
+++ b/dist/scss/main.scss
@@ -1,732 +1,6 @@
-$active-color: #eaeaea;
-$dark-font-color: #333;
-$highlight-color: rgb(212, 212, 212);
-$highlight-color-1: rgb(207, 230, 230); // blueish
-$highlight-color-2: rgb(207, 230, 207); // greenish
-[hidden] {
- display: none !important;
-}
-.touring.active {
- display: flex;
-}
+@import "./abstracts/variables";
-.touring-highlight-hover {
- background-color: $highlight-color !important;
-}
-
-.touring-highlight-hover-1 {
- background-color: $highlight-color-1 !important;
-}
-
-.touring-highlight-hover-2 {
- background-color: $highlight-color-2 !important;
-}
-
-.touring-highlight-hover-dark {
- background-color: darken($highlight-color, 10%) !important;
-}
-
-.touring-highlight-hover-border {
- border: 1px black dashed !important;
-}
-
-.select2-dropdown {
- // dropdown is seperatly attached to DOM
- $hover-background-color: darken(
- $color: #ddd,
- $amount: 20%
- ); // #ddd is default color for selected elements
- $hover-color: white;
-
- .select2-results > .select2-results__options {
- max-height: 25vh; // 50% of browser window
- }
-
- .select2-results__option {
- // changes the padding of every option in the dropdown
- padding: 2px 6px;
- }
-
- .select2-results__option--highlighted {
- // hover effect for non nested options (not in optgroup)
- background-color: $hover-background-color; // do my own hover styling
- color: $hover-color;
- }
-
- .select2-results__options--nested {
- // hover effect for options in optgroups
- .select2-results__option--highlighted {
- // inside the dropdown, which is not inside the .select2
- background-color: transparent; // default hover styling is done by adding a class
- color: $dark-font-color;
-
- &[aria-selected="true"] {
- // reset
- background-color: #ddd;
- color: $dark-font-color;
- }
- }
-
- .select2-results__option:hover {
- background-color: $hover-background-color; // do my own hover styling
- color: $hover-color;
- }
- }
-
- .select2-results__group {
- cursor: pointer; // let it look clickable
-
- &:hover {
- background-color: $hover-background-color;
- color: $hover-color;
- }
- }
-}
-
-.select2 {
- // the input that is always visible
- .select2-selection__choice {
- background-color: $active-color;
-
- span {
- color: $dark-font-color;
- }
- }
-}
-
-button {
- &.touring.active::before {
- color: #ffa500; // use highlight color of column headers
- border: none;
- }
-
- img {
- height: 1.2em;
- width: auto;
- padding-right: 1em;
- }
-}
-
-.tooltip.measure {
- background-color: #c0c0c0;
- position: absolute;
- padding: 5px;
- opacity: 1;
-}
-
-div.touring {
- flex: 1 0 auto; // sidebar uses flexbox
- // the touring div itself also uses a flexbox for the children:
- display: flex;
- flex-direction: column;
- padding-left: 0.5em;
-
- .touring-intro-text {
- margin-top: 5px;
- margin-bottom: 15px;
- padding: 0 0.5em;
- }
-
- .input {
- margin-right: 0.5em;
-
- // task switcher & task input
- overflow: hidden; // from the bootstrap stuff we get some overflow which introduces scrollbars --> hide it
-
- .task-btn.active {
- background-color: $active-color;
- }
- }
-
- .removeMiniVis-btn {
- float: right !important;
- padding: 0px 7px !important;
- margin: 2px 1px !important;
- }
-
- label.control-label {
- padding: 0px;
- padding-left: 15px; // bootstrap default
- }
-
- .output {
- flex: 1;
- position: relative;
- $wide-col-padding: 0.5em;
- $narrow-col-padding: 0.2em;
- $col-min-size: 4.5ch;
- $col-max-size: 15em;
-
- /*.select2-dropdown { // dropdown is seperatly attached to DOM
- $hover-background-color: darken($color: #ddd, $amount: 20%); // #ddd is default color for selected elements
- $hover-color: white;
- .select2-results>.select2-results__options {
- max-height: 25vh; // 50% of browser window
- }
- .select2-results__option { // changes the padding of every option in the dropdown
- padding: 2px 6px;
- }
- .select2-results__option--highlighted { // hover effect for non nested options (not in optgroup)
- background-color: $hover-background-color; // do my own hover styling
- color: $hover-color;
- }
- .select2-results__options--nested { // hover effect for options in optgroups
- .select2-results__option--highlighted { // inside the dropdown, which is not inside the .select2
- background-color: transparent; // default hover styling is done by adding a class
- color: $dark-font-color;
- &[aria-selected=true] { // reset
- background-color: #ddd;
- color: $dark-font-color;
- }
- }
- .select2-results__option:hover {
- background-color: $hover-background-color; // do my own hover styling
- color: $hover-color;
- }
- }
- .select2-results__group {
- cursor: pointer; // let it look clickable
- &:hover {
- background-color: $hover-background-color;
- color: $hover-color;
- }
- }
- }
- .select2 { // the input that is always visible
- .select2-selection__choice {
- background-color: $active-color;
- span {
- color: $dark-font-color;
- }
- }
- }*/
-
- .task {
- position: absolute;
- top: 0;
- left: 0;
- right: 0;
- bottom: 0;
-
-
- .table-container {
- position: relative;
- min-height: 100px;
- border-top: 1px #aaa solid;
-
- header {
- z-index: -1; // above td elements
- background-color: white;
-
- h1 {
- font-size: 1.2em;
- }
-
- p {
- font-weight: normal;
- }
- }
- }
-
- &.rowCmp {
- .details {
- overflow-x: auto;
- }
- }
-
- &.colCmp {
- .form-group {
- > label {
- padding-top: 0 !important;
- }
- }
- }
- }
-
- a:hover,
- a:focus {
- color: #1f77b4;
- text-decoration: none;
- }
-
- a[aria-expanded="false"]::before {
- content: "\f18e ";
- font-family: FontAwesome;
- color: $dark-font-color;
- font-size: 0.9em;
- }
-
- a[aria-expanded="true"]::before {
- content: "\f01a ";
- font-family: FontAwesome;
- color: $dark-font-color;
- font-size: 0.9em;
- }
-
- .measure-legend {
- margin-top: 1em;
- margin-bottom: 0.5em;
-
- svg {
- vertical-align: middle;
- }
- }
-
- table {
- $table-border-color: white;
-
- table-layout: fixed; // The table and column widths are set by the widths of table and col or by the width of the first row of cells. Cells in other rows do not affect column widths.
-
- tbody.bottom-margin {
- border-bottom: 0.5em solid $table-border-color; // table's border spacing applies to all rows and tbody has no margin
- }
-
- th {
- min-width: $col-min-size;
- max-width: $col-min-size;
- position: sticky;
- top: 0;
- z-index: 2;
-
- &:not(.head) {
- // cells of row labels in header
- min-width: $col-max-size * 0.7; // flexible from min to max
- max-width: $col-max-size;
- padding: 0 $wide-col-padding;
- background-color: white;
- }
-
- &.head {
- &.rotate {
- // adapted from https://css-tricks.com/rotated-table-column-headers/
- height: 120px;
-
- svg {
- position: absolute;
- top: 0;
- left: 0;
-
- polygon {
- fill: white;
- }
- }
-
- > div {
- transform: translate(12px, 48px) // 3. Back to the correct position
- rotate(-45deg) // 2. Rotate to correct angle
- skew(
- 45deg,
- 0deg
- ); // 1. skew the div, so that the background is correct (text content is unskewed below)
- width: 30px;
-
- > span {
- position: relative;
- display: inline-block; // to set a width
- min-width: 165px;
- max-width: 165px;
- box-sizing: border-box; // i dont want to mess with the padding
-
- padding-bottom: 0px;
- padding-top: 1px;
- line-height: 1.25; // defines height of headers
- border-bottom: 2px solid $table-border-color; // make space between headers non-transparent (removed for last header below)
- background-color: white;
-
- > span {
- transform: skew(-45deg, 0deg); // unskew the text
-
- max-width: 100%; // just as wide as the parent
- display: inline-block; // to make width & string truncation work
- vertical-align: bottom; // at the bottom of the parent
- overflow: hidden; // important to stop text at right border
- white-space: nowrap; // no line breaks
- text-overflow: ellipsis;
- font-weight: normal;
-
- box-sizing: border-box; // i dont want to mess with the padding
- padding: 0.1em 0.5em 0.1em 1.5em;
- }
- }
- }
-
- &:last-child > div > span {
- border-bottom: none; // no need for a border on last header
- }
- }
- }
- }
-
- .cross-selection,
- .cross-selection::before,
- .cross-selection span::before {
- background-color: $highlight-color !important; // important because to overwrite the htmml inline color definition
- color: black !important;
- }
-
- td {
- border: 1px solid $table-border-color;
- border-collapse: collapse;
- position: relative;
- background: white;
- background-clip: padding-box; // fix firefox bug: td background stretches over tbody border
-
- &[rowspan] {
- vertical-align: text-top; // move text of multi-row cells to the top
- }
-
- &:not(.score) {
- // row labels
- min-width: $col-max-size * 0.7;
- max-width: $col-max-size;
- padding: 0 $wide-col-padding;
- overflow: hidden;
- text-overflow: ellipsis;
- white-space: nowrap;
- }
-
- &.score {
- // no min-width here because than the cell gets larger on hover (wich makes the text bolder)
- max-width: $col-min-size;
- text-align: center; // padding workaround, because we make the font bolder on hover and can use the whitespace of the cell this way
- overflow: hidden;
- text-overflow: clip; // cells are so small, the ... would take to much space
- white-space: nowrap;
-
- // border-style: solid;
- // border-color: $table-border-color;
- // border-width: 0px; // overwrite the default
- // border-right-width: 1px; // just on the right
- }
-
- &.action,
- &.score {
- cursor: pointer;
- vertical-align: bottom; // Actually, it should be middle, but bottom looks more centered ¯\_(ツ)_/¯
-
- &:hover,
- &:focus {
- // = td.action:hover
- background-color: darken(
- $highlight-color,
- 25%
- ) !important; // important because to overwrite the htmml inline color definition
- color: black !important;
- font-weight: bolder;
- }
-
- &.selectedCell {
- background-color: #fba74d !important; // important because to overwrite the htmml inline color definition
- color: black !important;
- font-weight: bolder;
- }
- }
-
- span.circle {
- display: inline-block;
- width: 0.8em;
- height: 0.8em;
- vertical-align: middle;
- background-color: $dark-font-color;
- border: 1px solid transparent;
- border-radius: 100%;
- }
- }
- }
-
- .detailVis {
- border-top: #aaa 1px solid;
- padding: 0.5em 0;
-
- .detailDiv {
- font-weight: bold;
- color: $dark-font-color;
-
- span {
- font-weight: normal;
-
- &.detail-label {
- font-weight: bold;
- }
- }
- }
- }
-
- // ------ parallel sets with D3
- .dimension tspan.name {
- font-size: 1.2em;
- fill: $dark-font-color;
- font-weight: bold;
- }
-
- .dimension tspan.sort {
- fill: #000;
- cursor: pointer;
- opacity: 0;
- }
-
- .dimension tspan.sort:hover {
- fill: $dark-font-color;
- }
-
- .dimension:hover tspan.name {
- fill: #000;
- }
-
- .dimension:hover tspan.sort {
- opacity: 1;
- }
-
- .dimension line {
- stroke: #000;
- }
-
- .dimension rect {
- stroke: none;
- fill-opacity: 0;
- }
-
- .dimension > rect,
- .category-background {
- fill: #fff;
- }
-
- .dimension > rect {
- display: none;
- }
-
- // .category:hover rect { fill-opacity: .3; }
- // .dimension:hover > rect { fill-opacity: .3; }
- svg .parSets .ribbon path {
- stroke-opacity: 0;
- fill-opacity: 0.5;
- }
-
- // .ribbon path.active { fill-opacity: .9; }
- .ribbon-mouse path {
- fill-opacity: 0;
- stroke: none;
- }
-
- .ribbon path.selected {
- fill-opacity: 0.9 !important;
- }
-
- // new
- .category rect.selected {
- fill-opacity: 0.3;
- }
-
- // new
- .dimension:hover > rect.selcted {
- fill-opacity: 0.3;
- }
-
- // new
-
- // predefined colours
- .category-0 {
- fill: #1f77b4;
- stroke: #1f77b4;
- }
-
- .category-1 {
- fill: #ff7f0e;
- stroke: #ff7f0e;
- }
-
- .category-2 {
- fill: #2ca02c;
- stroke: #2ca02c;
- }
-
- .category-3 {
- fill: #d62728;
- stroke: #d62728;
- }
-
- .category-4 {
- fill: #9467bd;
- stroke: #9467bd;
- }
-
- .category-5 {
- fill: #8c564b;
- stroke: #8c564b;
- }
-
- .category-6 {
- fill: #e377c2;
- stroke: #e377c2;
- }
-
- .category-7 {
- fill: #7f7f7f;
- stroke: #7f7f7f;
- }
-
- .category-8 {
- fill: #bcbd22;
- stroke: #bcbd22;
- }
-
- .category-9 {
- fill: #17becf;
- stroke: #17becf;
- }
-
- .category-10 {
- fill: #aec7e8;
- stroke: #aec7e8;
- }
-
- .category-11 {
- fill: #ffbb78;
- stroke: #ffbb78;
- }
-
- .category-12 {
- fill: #98df8a;
- stroke: #98df8a;
- }
-
- .category-13 {
- fill: #ff9896;
- stroke: #ff9896;
- }
-
- .category-14 {
- fill: #c5b0d5;
- stroke: #c5b0d5;
- }
-
- .category-15 {
- fill: #c49c94;
- stroke: #c49c94;
- }
-
- .category-16 {
- fill: #f7b6d2;
- stroke: #f7b6d2;
- }
-
- .category-17 {
- fill: #c7c7c7;
- stroke: #c7c7c7;
- }
-
- .category-18 {
- fill: #dbdb8d;
- stroke: #dbdb8d;
- }
-
- .category-19 {
- fill: #9edae5;
- stroke: #9edae5;
- }
-
- .category-gray {
- fill: #808080 !important;
- stroke: #808080 !important;
- }
-
- .category-selected {
- fill: #fba74d !important;
- stroke: #fba74d !important;
- }
-
- // ------ boxplot with D3
- g.box-element text {
- stroke: none;
- fill: black;
- }
-
- g.box-element {
- rect.box {
- stroke: black;
- stroke-width: 1;
- stroke-opacity: 0;
- fill-opacity: 0.5;
- }
-
- line.center,
- line.median,
- line.whisker {
- stroke-opacity: 0.2;
- }
- }
-
- g.box-element.selected {
- rect.box {
- stroke: black;
- stroke-width: 1;
- stroke-opacity: 1;
- fill-opacity: 1;
- }
-
- line.center,
- line.median,
- line.whisker {
- stroke-opacity: 1;
- }
- }
-
- // ------ scattter plot with D3
- g.scatterplot circle.datapoint {
- stroke: none;
- opacity: 1;
- fill: black;
- }
-
- g.scatterplot circle.datapoint:hover {
- opacity: 1;
- fill: #fba74d !important;
- }
-
- g.scatterplot g.regression {
- path,
- line {
- stroke: rgb(194, 194, 194) !important;
- stroke-width: 2 !important;
- }
- }
-
- // // ------ line chart with D3
- g.linechart path.dataline {
- fill-opacity: 0;
- fill: #fba74d;
- stroke-width: 2;
- stroke-linejoin: "round";
- stroke-linecap: "round";
- }
-
- g.linechart g.baseline {
- fill: "none";
- stroke-width: 1;
- stroke-linejoin: "round";
- stroke-linecap: "round";
- stroke: black;
- }
-
- g.linechart path.dataline:hover {
- fill-opacity: 0.4;
- }
- }
-
- [data-type]::before {
- display: inline-block; // so that the width property works
- width: 1.2em; // to have some space between icon and the text in the td
- font-family: lu-font; // some icon font
- color: #999; // #515151 is to dark
- }
-
- [data-type="categorical"]::before {
- content: "\e810";
- }
-
- [data-type="number"]::before {
- content: "\e811";
- }
-}
+@import "./base/global";
+@import "./components/tourdino_panel";
diff --git a/dist/tasks/ColumnComparisonTask.js b/dist/tasks/ColumnComparisonTask.js
index 4554497..3e5a6f1 100644
--- a/dist/tasks/ColumnComparisonTask.js
+++ b/dist/tasks/ColumnComparisonTask.js
@@ -277,7 +277,7 @@ function prepareDataArray(colAttributes, rowAttributes) {
return [[
{ label: `${rowAttribute.label}`, type: rowAttribute.type },
...colAttributes.map((_) => {
- return { label: '', measure: null }; // containing n1+1 elements (header + n1 values)
+ return { label: '', measure: null }; // containing n1+1 elements (header + n1 values)
})
]];
});
diff --git a/dist/tasks/ColumnComparisonTask.js.map b/dist/tasks/ColumnComparisonTask.js.map
index c3068a2..c351231 100644
--- a/dist/tasks/ColumnComparisonTask.js.map
+++ b/dist/tasks/ColumnComparisonTask.js.map
@@ -1 +1 @@
-{"version":3,"file":"ColumnComparisonTask.js","sourceRoot":"","sources":["../../src/tasks/ColumnComparisonTask.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"ColumnComparisonTask.js","sourceRoot":"","sources":["../../src/tasks/ColumnComparisonTask.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/dist/tasks/RowComparisonTask.js b/dist/tasks/RowComparisonTask.js
index fae0d0b..3bbc2fa 100644
--- a/dist/tasks/RowComparisonTask.js
+++ b/dist/tasks/RowComparisonTask.js
@@ -307,7 +307,7 @@ function prepareDataArray(colGroups, rowGroups, rowAttributes) {
for (const [i, attr] of rowAttributes.entries()) {
data[i] = new Array(rowGroups.length); // one array per rowGroup (number of rows in body)
for (const [j, rowGrp] of rowGroups.entries()) {
- data[i][j] = new Array(colGroups.length + (j === 0 ? 2 : 1)).fill({ label: '', measure: null });
+ data[i][j] = new Array(colGroups.length + (j === 0 ? 2 : 1)).fill({ label: '', measure: null });
data[i][j][j === 0 ? 1 : 0] = {
label: `${rowGrp.label} (${rowGrp.attribute.label})`,
background: rowGrp.color,
diff --git a/dist/tasks/RowComparisonTask.js.map b/dist/tasks/RowComparisonTask.js.map
index 0b92cf8..941fd5d 100644
--- a/dist/tasks/RowComparisonTask.js.map
+++ b/dist/tasks/RowComparisonTask.js.map
@@ -1 +1 @@
-{"version":3,"file":"RowComparisonTask.js","sourceRoot":"","sources":["../../src/tasks/RowComparisonTask.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"RowComparisonTask.js","sourceRoot":"","sources":["../../src/tasks/RowComparisonTask.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,iCAAiC,CAAC,CAAC,mCAAmC;AAC7F,OAAO,UAAU,MAAM,sBAAsB,CAAC;AAE9C,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAC5B,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,GAAG,MAAM,UAAU,CAAC;AAChC,OAAO,EAAC,SAAS,EAAC,MAAM,aAAa,CAAC;AAGtC,OAAO,EAA6B,YAAY,EAAC,MAAM,gBAAgB,CAAC;AACxE,OAAO,EAAiB,IAAI,EAAE,KAAK,EAAqB,MAAM,oBAAoB,CAAC;AAEnF,OAAO,EAAC,aAAa,EAAC,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAC,aAAa,EAAC,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAC,SAAS,EAAC,MAAM,mBAAmB,CAAC;AAG5C,MAAM,OAAO,aAAc,SAAQ,YAAY;IAE7C;QACE,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,EAAE,GAAG,QAAQ,CAAC;QACnB,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC;QACpB,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;QAChB,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC;QAEvB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC;IAC1B,CAAC;IAED,WAAW;QACQ,IAAI,CAAC,UAAU,CAAC,IAAI,EAAG,CAAC,kBAAkB,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;QACrF,KAAK,CAAC,WAAW,EAAE,CAAC;QAEpB,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAChH,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QACnD,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,8CAA8C,CAAC,CAAC;QAE5E,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC;YAC9C,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,aAAa,EAAE,oCAAoC,CAAC,CAAC;QACpE,CAAC,CAAC,CAAC;IACL,CAAC;IAGM,MAAM,CAAC,gBAAyB;QACrC,MAAM,YAAY,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QAC5C,IAAI,gBAAgB,IAAI,YAAY,EAAE;YACpC,IAAI,CAAC,WAAW,EAAE,CAAC;SACpB;IACH,CAAC;IAEO,eAAe;QACrB,MAAM,YAAY,GAAG,IAAI,CAAC,yBAAyB,EAAE,CAAC;QAEtD,uBAAuB;QACvB,2EAA2E;QAC3E,MAAM,eAAe,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAE,IAA+B,CAAC,UAAU,CAAC,CAAC;QACnG,eAAe,CAAC,OAAO,CAAC,CAAC,cAAc,EAAE,EAAE;YACxC,cAAyC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;gBACxE,QAA+B,CAAC,SAAS,GAAI,cAAgC,CAAC,CAAC,mDAAmD;YACrI,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,0CAA0C;QAC1C,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;QAChE,MAAM,SAAS,GAAG,YAAY,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACjG,SAAS,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACzE,2DAA2D;QAC3D,MAAM,UAAU,GAAG,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAyB,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,GAAc,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAClI,UAAU,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,GAAc,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAExE,IAAI,YAAY,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,6DAA6D;QAE/H,gFAAgF;QAChF,UAAU,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE,CAAC;QAC3B,UAAU,CAAC,KAAK,EAAE,CAAC;QACnB,SAAS,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE,CAAC;QAC1B,SAAS,CAAC,KAAK,EAAE,CAAC;QAElB,YAAY,CAAC,IAAI,CAAC;YAChB,MAAM,cAAc,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC,KAAK,EAAE,CAAC;YAC3E,IAAI,cAAc,EAAE;gBAClB,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,cAAe,IAA0B,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,0DAA0D;gBACrL,YAAY,GAAG,IAAI,CAAC;aACrB;QACH,CAAC,CAAC,CAAC;QAEH,6BAA6B;QAC7B,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC;QACpE,MAAM,WAAW,GAAG,YAAY,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,wCAAwC;QACvI,WAAW,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAEhE,YAAY,GAAG,YAAY,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,6DAA6D;QAE5I,IAAI,YAAY,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC,KAAK,EAAE,EAAE,EAAE,2BAA2B;YACjF,YAAY,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,cAAe,IAA0B,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,kCAAkC;YACvI,YAAY,GAAG,IAAI,CAAC,CAAC,0BAA0B;SAChD;QAED,WAAW,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE,CAAC;QAC5B,WAAW,CAAC,KAAK,EAAE,CAAC;QAEpB,KAAK,CAAC,aAAa,EAAE,CAAC;QAEtB,OAAO,YAAY,CAAC;IACtB,CAAC;IAGD,WAAW;QACT,aAAa,CAAC,YAAY,EAAE,CAAC,CAAC,+DAA+D;QAE7F,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC;QAClD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,gBAAgB,EAAE,SAAS,CAAC,CAAC;QAElD,IAAI,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,6CAA6C,CAAC,CAAC,IAAI,EAAE,CAAC;QACjG,IAAI,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,8CAA8C,CAAC,CAAC,IAAI,EAAE,CAAC;QAClG,MAAM,mBAAmB,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,gCAAgC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,wDAAwD;QAEvJ,IAAI,UAAU,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,EAAE;YACzC,CAAC,UAAU,EAAE,UAAU,CAAC,GAAG,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC,qDAAqD;SAC3G;QAED,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,4CAA4C,CAAC,CAAC,IAAI,EAAE,CAAC;QACnG,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,GAAG,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,mEAAmE;QACjN,MAAM,eAAe,GAAG,WAAW,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC;aACrD,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,iCAAiC;QAE9G,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,yBAAyB;QAC5C,SAAS,eAAe,CAAC,QAA0B,EAAE,SAAiB;YACpE,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,gBAAgB,CAAC,KAAK,SAAS,EAAE;gBACxD,OAAO,CAAC,uBAAuB;aAChC;YAED,IAAI,CAAC,sBAAsB,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC;YAEnD,uCAAuC;YACvC,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,mDAAmD;YAC3J,MAAM,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC,CAAC,4CAA4C;YAE3G,gDAAgD;YAChD,MAAM,GAAG,GAAG,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,0DAA0D;YAC9H,GAAG,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACzB,MAAM,GAAG,GAAG,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAG,6CAA6C;YAC/F,GAAG,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAEzB,wBAAwB;YACxB,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,SAAS,CAAC,KAAK,GAAG,CAAC,CAAC;YACjE,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC;gBAC9B,MAAM,MAAM,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,CAAC,sBAAsB;gBACxE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,kBAAkB,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;gBACpF,IAAI,KAAK,GAAG,SAAS,CAAC;gBACtB,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,aAAa,KAAK,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,EAAE,oCAAoC;oBAC9G,KAAK,GAAG,OAAO,CAAC;iBACjB;gBACD,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC;qBAC/C,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,SAAS,CAAC,KAAK,GAAG,CAAC,CAAC;YAC/D,CAAC,CAAC,CAAC;YACH,oBAAoB;YACpB,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YACtC,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YACtC,GAAG,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;YACxC,GAAG,CAAC,KAAK,CAAC,kBAAkB,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;YACnD,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YACrC,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC;YACpD,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC;YACrD,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;YACzB,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,cAAc,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAChE,GAAG,CAAC,EAAE,CAAC,WAAW,EAAE,cAAc,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC9E,GAAG,CAAC,EAAE,CAAC,UAAU,EAAE,cAAc,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC9E,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,cAAc,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAE/E,OAAO;YACP,GAAG,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC,kCAAkC;YACvD,WAAW,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC,2BAA2B;YACxD,GAAG,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC,wBAAwB;YAC7C,MAAM,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE,CAAC;YACvB,WAAW,CAAC,KAAK,EAAE,CAAC;YACpB,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,kLAAkL;YAC/L,MAAM,CAAC,KAAK,EAAE,CAAC;YAEf,MAAM,QAAQ,GAAG,GAAG,GAAG,EAAE,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,+EAA+E;YAE9H,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC,MAAM,EAAE,CAAC;YACtD,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,eAAe;iBACrD,MAAM,CAAC,KAAK,EAAE,cAAc,CAAC;iBAC7B,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC;iBACvB,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC;iBACnB,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,GAAG,QAAQ,GAAG,UAAU,CAAC,CAAC,CAAC,sBAAsB;QAC7F,CAAC;QAED,aAAa;QACb,MAAM,IAAI,GAAG,gBAAgB,CAAC,UAAU,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC;QACnE,eAAe,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QAEjC,aAAa;QACb,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,mBAAmB,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,eAAe,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,eAAe,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC;IAC/K,CAAC;IAED;;;;;;;;;;OAUG;IACK,KAAK,CAAC,gBAAgB,CAAC,SAA+B,EAAE,SAA+B,EAAE,aAA4B,EAAE,mBAA4B,EAAE,SAA+C;QAC1M,MAAM,IAAI,GAAG,gBAAgB,CAAC,SAAS,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;QAEnE,mHAAmH;QACnH,MAAM,gBAAgB,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC,CAAC;QACjG,MAAM,gBAAgB,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC,CAAC;QAEjG,mEAAmE;QACnE,MAAM,SAAS,GAAqC,IAAI,GAAG,EAAE,CAAC;QAE9D,MAAM,eAAe,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,SAAS,EAAE,EAAE;YAC/D,MAAM,gBAAgB,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,QAAQ,EAAE,EAAE;gBAC5D,MAAM,gBAAgB,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,QAAQ,EAAE,EAAE;oBAC5D,gCAAgC;oBAChC,MAAM,QAAQ,GAAG,GAAmB,OAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC;oBAExF,sEAAsE;oBACtE,MAAM,eAAe,GAAG,GAAmB,OAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC;oBAE/F,IAAI,OAAO,CAAC;oBAEZ,4CAA4C;oBAC5C,IAAG,SAAS,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE;wBACjC,OAAO,GAAG,SAAS,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;wBAEzC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAkB,EAAE,EAAE;4BAClC,0FAA0F;4BAC1F,MAAM,cAAc,GAAG,CAAC,QAAQ,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;4BAEhD,IAAI,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,CAAC,cAAc,GAAG,QAAQ,CAAC,GAAG,MAAM,CAAC;wBAChE,CAAC,CAAC,CAAC;qBAEJ;yBAAM;wBACL,0EAA0E;wBAC1E,OAAO,GAAG,IAAI,CAAC,kBAAkB,CAAC,EAAC,GAAG,QAAQ,EAAE,OAAO,EAAE,gBAAgB,CAAC,QAAQ,CAAC,EAAC,EAAE,EAAC,GAAG,QAAQ,EAAE,OAAO,EAAE,gBAAgB,CAAC,QAAQ,CAAC,EAAC,EAAE,OAAO,EAAE,mBAAmB,CAAC,CAAC;wBAExK,OAAO,CAAC,IAAI,CAAC,CAAC,MAAkB,EAAE,EAAE;4BAClC,0FAA0F;4BAC1F,MAAM,cAAc,GAAG,CAAC,QAAQ,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;4BAEhD,IAAI,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,CAAC,cAAc,GAAG,QAAQ,CAAC,GAAG,MAAM,CAAC;wBAChE,CAAC,CAAC,CAAC;wBAEH,4CAA4C;wBAC5C,SAAS,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;qBAClC;oBAED,OAAO,OAAO,CAAC;gBACjB,CAAC,CAAC,CAAC;gBAEH,OAAO,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;YACvC,CAAC,CAAC,CAAC;YAEH,OAAO,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC;iBACjC,IAAI,CAAC,GAAG,EAAE;gBACT,uFAAuF;gBACvF,SAAS,CAAC,IAAI,CAAC,CAAC;gBAChB,IAAI,CAAC,+BAA+B,CAAC,IAAI,CAAC,CAAC;YAC7C,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;QAEH,MAAM,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,sIAAsI;QAE1K,OAAO,IAAI,CAAC,CAAC,uBAAuB;IACtC,CAAC;IAED;;;;;;;;OAQG;IACK,KAAK,CAAC,kBAAkB,CAAC,QAAoD,EAAE,QAAoD,EAAE,OAAoB,EAAE,mBAA4B;QAC7L,IAAI,QAAQ,CAAC,KAAK,KAAK,QAAQ,CAAC,KAAK,EAAE;YACrC,mBAAmB;YACnB,OAAO,EAAE,KAAK,EAAE,wBAAwB,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;SAC3D;QAED,2EAA2E;QAC3E,MAAM,SAAS,CAAC,4BAA4B,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACpE,yCAAyC;QAEzC,+EAA+E;QAC/E,MAAM,QAAQ,GAAG,aAAa,CAAC,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,+EAA+E;QAE7L,4BAA4B;QAC5B,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE;YACzB,OAAO,CAAC,KAAK,CAAC,sCAAsC,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;YACpE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;SACzB;QAED,+BAA+B;QAC/B,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QAE5B,MAAM,UAAU,GAAG,kBAAkB,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,mBAAmB,CAAC,CAAC;QACrJ,MAAM,SAAS,GAAG,iBAAiB,CAAC,UAAU,CAAC,CAAC;QAEhD,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,yBAAyB,CAAE,OAAyB,CAAC,MAAM,CAAC,CAAC,CAAC,gDAAgD;QAE5I,sDAAsD;QACtD,MAAM,iBAAiB,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QACnE,MAAM,OAAO,GAAG,mBAAmB,CAAC,CAAC,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC;QAEhI,MAAM,iBAAiB,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QACnE,MAAM,OAAO,GAAG,mBAAmB,CAAC,CAAC,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC;QAEhI,IAAI;YACF,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,SAAS,EAAE,EAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAC,EAAE,OAAO,CAAC,CAAC;YAEpH,MAAM,aAAa,GAAG;gBACpB,IAAI,EAAE,OAAO;gBACb,QAAQ,EAAE,OAAO;gBACjB,YAAY,EAAE,EAAE,KAAK,EAAE,GAAG,QAAQ,CAAC,KAAK,KAAK,QAAQ,CAAC,SAAS,CAAC,KAAK,GAAG,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE;gBACjG,IAAI,EAAE,OAAO;gBACb,QAAQ,EAAE,OAAO;gBACjB,YAAY,EAAE,EAAE,KAAK,EAAE,GAAG,QAAQ,CAAC,KAAK,KAAK,QAAQ,CAAC,SAAS,CAAC,KAAK,GAAG,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE;aAClG,CAAC;YAEF,MAAM,SAAS,GAAqB;gBAClC,EAAE,MAAM,EAAG,OAAyB,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE;gBACnE,EAAE,MAAM,EAAE,QAAQ,CAAC,SAAS,CAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,CAAC,SAAS,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE;gBACtH,EAAE,MAAM,EAAE,QAAQ,CAAC,SAAS,CAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,CAAC,SAAS,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE;aACvH,CAAC;YAEF,OAAO,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,SAAS,CAAC,CAAC;SAEnE;QAAC,OAAM,GAAG,EAAE;YACX,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACnB,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;SAClC;IACH,CAAC;IAED;;;;;;;;OAQG;IACK,KAAK,CAAC,mBAAmB,CAAC,SAAiB,EAAE,IAAgD,EAAE,OAA2B;QAEhI,MAAM,YAAY,GAAG,cAAc,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAEvD,gCAAgC;QAChC,IAAG,YAAY,KAAK,IAAI,IAAI,YAAY,KAAK,SAAS,EAAE;YACtD,OAAO,OAAO,CAAC,OAAO,CAAiB,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC;SAClE;QAED,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAErE,wCAAwC;QACxC,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAC1C,qCAAqC;QACrC,iDAAiD;QACjD,cAAc,CAAC,OAAO,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;QAE/C,OAAO,KAAK,CAAC;IACf,CAAC;CAEF;AAED;;;;;GAKG;AACH,SAAS,gBAAgB,CAAC,SAA+B,EAAE,SAA+B,EAAE,aAA4B;IACtH,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE;QAClF,OAAO,EAAE,CAAC,CAAC,gDAAgD;KAC5D;IAED,MAAM,IAAI,GAAG,IAAI,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,mDAAmD;IACjG,KAAK,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,aAAa,CAAC,OAAO,EAAE,EAAE;QAC/C,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,kDAAkD;QACzF,KAAK,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,IAAI,SAAS,CAAC,OAAO,EAAE,EAAE;YAC7C,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,KAAK,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAC,KAAK,EAAE,6CAA6C,EAAE,OAAO,EAAE,IAAI,EAAe,CAAC,CAAC;YACvJ,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG;gBAC5B,KAAK,EAAE,GAAG,MAAM,CAAC,KAAK,KAAK,MAAM,CAAC,SAAS,CAAC,KAAK,GAAG;gBACpD,UAAU,EAAE,MAAM,CAAC,KAAK;gBACxB,UAAU,EAAE,SAAS,CAAC,oBAAoB,CAAC,MAAM,CAAC,KAAK,CAAC;aACzD,CAAC;YAEF,IAAI,CAAC,KAAK,CAAC,EAAE;gBACX,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG;oBACd,KAAK,EAAE,MAAM,IAAI,CAAC,KAAK,MAAM;oBAC7B,OAAO,EAAE,SAAS,CAAC,MAAM;oBACzB,IAAI,EAAE,IAAI,CAAC,IAAI;iBAChB,CAAC;aACH;YAED,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC,KAAK,IAAI,MAAM,CAAC,SAAS,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;SAC/E;KACF;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAwCD;;;;;;;;GAQG;AACH,SAAS,kBAAkB,CAAC,QAA4B,EAAE,QAA4B,EAAE,OAAoB,EAAE,GAAU,EAAE,SAAmB,EAAE,mBAA4B;IACzK,iDAAiD;IACjD,IAAI,OAAO,CAAC,KAAK,KAAK,MAAM,EAAE;QAC5B,GAAG,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;KAClB;IAED,MAAM,UAAU,GAAG;QACjB,GAAG;QACH,SAAS;QACT,SAAS,EAAE,EAAC,KAAK,EAAG,OAAyB,CAAC,KAAK,EAAE,MAAM,EAAG,OAAyB,CAAC,MAAM,EAAC;QAC/F,YAAY,EAAE,QAAQ,CAAC,KAAK;QAC5B,YAAY,EAAE,QAAQ,CAAC,KAAK;QAC5B,mBAAmB;KACpB,CAAC;IAEF,iFAAiF;IACjF,IAAI,OAAO,CAAC,KAAK,KAAK,WAAW;QAC/B,QAAQ,CAAC,KAAK,KAAK,YAAY,IAAI,QAAQ,CAAC,KAAK,KAAK,UAAU;QAChE,QAAQ,CAAC,KAAK,KAAK,YAAY,IAAI,QAAQ,CAAC,KAAK,KAAK,UAAU,EAAE;QAClE,OAAO,UAAU,CAAC,SAAS,CAAC;KAC7B;IAED,OAAO,UAAU,CAAC;AACpB,CAAC;AAED;;;GAGG;AACH,SAAS,iBAAiB,CAAC,UAAuB;IAChD,yGAAyG;IACzG,MAAM,gBAAgB,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;IACpD,4DAA4D;IAC5D,MAAM,SAAS,GAAG,GAAG,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAC5D,oCAAoC;IACpC,OAAO,SAAS,CAAC;AACnB,CAAC"}
\ No newline at end of file
diff --git a/jest.config.js b/jest.config.js
index 4aaed15..2f69192 100644
--- a/jest.config.js
+++ b/jest.config.js
@@ -38,7 +38,7 @@ let pluginsToTransform = [
"__APP_CONTEXT__": "TEST_CONTEXT",
// has to be set to true, otherwise i18n import fails
"ts-jest": {
- "tsConfig": {
+ "tsconfig": {
"esModuleInterop": true
}
}
diff --git a/package.json b/package.json
index 00bef5c..9bf9f7d 100644
--- a/package.json
+++ b/package.json
@@ -2,7 +2,7 @@
"name": "tourdino",
"description": "Calculate and visualize similarity measures.",
"homepage": "https://phovea.caleydo.org",
- "version": "2.0.0",
+ "version": "3.0.0",
"author": {
"name": "The Caleydo Team",
"email": "contact@caleydo.org",
@@ -58,16 +58,16 @@
"dist": "mkdir lib && cd dist && tar cvzf ../lib/tourdino.tar.gz *"
},
"devDependencies": {
- "@types/jest": "~26.0.5",
+ "@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",
"@types/d3": "~3.5.36",
"@types/jquery": "~3.5.0",
@@ -76,13 +76,12 @@
"worker-loader": "^2.0.0"
},
"dependencies": {
- "tdp_core": "^10.0.1",
+ "tdp_core": "^11.0.0",
"d3": "~3.5.17",
"d3.parsets": "git+https://github.com/jasondavies/d3-parsets.git#v1.2.4",
"d3-grubert-boxplot": "gist:366430a0ac8e6e55ce09b040b5b493a6",
- "jstat": "^1.9.3",
- "lodash": "~4.17.15",
- "phovea_core": "^5.0.1",
+ "jstat": "^1.9.4",
+ "lodash": "~4.17.20",
"xxhashjs": "^0.2.2"
}
}
diff --git a/src/app/TouringPanel.ts b/src/app/TouringPanel.ts
index bd59b2c..610c7b1 100644
--- a/src/app/TouringPanel.ts
+++ b/src/app/TouringPanel.ts
@@ -1,4 +1,3 @@
-import '../scss/main.scss';
import {RankingAdapter} from '../tasks/RankingAdapter';
import * as d3 from 'd3';
import 'd3.parsets/d3.parsets';
@@ -139,5 +138,3 @@ export class TouringPanel {
new TouringPanel(desc, tab, provider);
}
}
-
-
diff --git a/src/scss/abstracts/_variables.scss b/src/scss/abstracts/_variables.scss
new file mode 100644
index 0000000..02b2ba6
--- /dev/null
+++ b/src/scss/abstracts/_variables.scss
@@ -0,0 +1,7 @@
+
+
+$active-color: #eaeaea !default;
+$dark-font-color: #333 !default;
+$highlight-color: rgb(212, 212, 212) !default;
+$highlight-color-1: rgb(207, 230, 230) !default; // blueish
+$highlight-color-2: rgb(207, 230, 207) !default; // greenish
diff --git a/src/scss/base/_global.scss b/src/scss/base/_global.scss
new file mode 100644
index 0000000..fd739b3
--- /dev/null
+++ b/src/scss/base/_global.scss
@@ -0,0 +1,112 @@
+
+[hidden] {
+ display: none !important;
+}
+
+.touring.active {
+ display: flex;
+}
+
+.touring-highlight-hover {
+ background-color: $highlight-color !important;
+}
+
+.touring-highlight-hover-1 {
+ background-color: $highlight-color-1 !important;
+}
+
+.touring-highlight-hover-2 {
+ background-color: $highlight-color-2 !important;
+}
+
+.touring-highlight-hover-dark {
+ background-color: darken($highlight-color, 10%) !important;
+}
+
+.touring-highlight-hover-border {
+ border: 1px black dashed !important;
+}
+
+.select2-dropdown {
+ // dropdown is seperatly attached to DOM
+ $hover-background-color: darken(
+ $color: #ddd,
+ $amount: 20%
+ ) !default; // #ddd is default color for selected elements
+ $hover-color: white !default;
+
+ .select2-results > .select2-results__options {
+ max-height: 25vh; // 50% of browser window
+ }
+
+ .select2-results__option {
+ // changes the padding of every option in the dropdown
+ padding: 2px 6px;
+ }
+
+ .select2-results__option--highlighted {
+ // hover effect for non nested options (not in optgroup)
+ background-color: $hover-background-color; // do my own hover styling
+ color: $hover-color;
+ }
+
+ .select2-results__options--nested {
+ // hover effect for options in optgroups
+ .select2-results__option--highlighted {
+ // inside the dropdown, which is not inside the .select2
+ background-color: transparent; // default hover styling is done by adding a class
+ color: $dark-font-color;
+
+ &[aria-selected="true"] {
+ // reset
+ background-color: #ddd;
+ color: $dark-font-color;
+ }
+ }
+
+ .select2-results__option:hover {
+ background-color: $hover-background-color; // do my own hover styling
+ color: $hover-color;
+ }
+ }
+
+ .select2-results__group {
+ cursor: pointer; // let it look clickable
+
+ &:hover {
+ background-color: $hover-background-color;
+ color: $hover-color;
+ }
+ }
+}
+
+.select2 {
+ // the input that is always visible
+ .select2-selection__choice {
+ background-color: $active-color;
+
+ span {
+ color: $dark-font-color;
+ }
+ }
+}
+
+button {
+ &.touring.active::before {
+ color: #ffa500; // use highlight color of column headers
+ border: none;
+ }
+
+ img {
+ height: 1.2em;
+ width: auto;
+ padding-right: 1em;
+ }
+}
+
+.tooltip.measure {
+ background-color: #c0c0c0;
+ position: absolute;
+ padding: 5px;
+ opacity: 1;
+}
diff --git a/src/scss/components/_tourdino_panel.scss b/src/scss/components/_tourdino_panel.scss
new file mode 100644
index 0000000..9cf2615
--- /dev/null
+++ b/src/scss/components/_tourdino_panel.scss
@@ -0,0 +1,623 @@
+
+div.touring {
+ flex: 1 0 auto; // sidebar uses flexbox
+ // the touring div itself also uses a flexbox for the children:
+ display: flex;
+ flex-direction: column;
+ padding-left: 0.5em;
+
+ .touring-intro-text {
+ margin-top: 5px;
+ margin-bottom: 15px;
+ padding: 0 0.5em;
+ }
+
+ .input {
+ margin-right: 0.5em;
+
+ // task switcher & task input
+ overflow: hidden; // from the bootstrap stuff we get some overflow which introduces scrollbars --> hide it
+
+ .task-btn.active {
+ background-color: $active-color;
+ }
+ }
+
+ .removeMiniVis-btn {
+ float: right !important;
+ padding: 0px 7px !important;
+ margin: 2px 1px !important;
+ }
+
+ label.control-label {
+ padding: 0px;
+ padding-left: 15px; // bootstrap default
+ }
+
+ .output {
+ flex: 1;
+ position: relative;
+ $wide-col-padding: 0.5em !default;
+ $narrow-col-padding: 0.2em !default;
+ $col-min-size: 4.5ch !default;
+ $col-max-size: 15em !default;
+
+ /*.select2-dropdown { // dropdown is seperatly attached to DOM
+ $hover-background-color: darken($color: #ddd, $amount: 20%); // #ddd is default color for selected elements
+ $hover-color: white !default;
+ .select2-results>.select2-results__options {
+ max-height: 25vh; // 50% of browser window
+ }
+ .select2-results__option { // changes the padding of every option in the dropdown
+ padding: 2px 6px;
+ }
+ .select2-results__option--highlighted { // hover effect for non nested options (not in optgroup)
+ background-color: $hover-background-color; // do my own hover styling
+ color: $hover-color;
+ }
+ .select2-results__options--nested { // hover effect for options in optgroups
+ .select2-results__option--highlighted { // inside the dropdown, which is not inside the .select2
+ background-color: transparent; // default hover styling is done by adding a class
+ color: $dark-font-color;
+ &[aria-selected=true] { // reset
+ background-color: #ddd;
+ color: $dark-font-color;
+ }
+ }
+ .select2-results__option:hover {
+ background-color: $hover-background-color; // do my own hover styling
+ color: $hover-color;
+ }
+ }
+ .select2-results__group {
+ cursor: pointer; // let it look clickable
+ &:hover {
+ background-color: $hover-background-color;
+ color: $hover-color;
+ }
+ }
+ }
+ .select2 { // the input that is always visible
+ .select2-selection__choice {
+ background-color: $active-color;
+ span {
+ color: $dark-font-color;
+ }
+ }
+ }*/
+
+ .task {
+ position: absolute;
+ top: 0;
+ left: 0;
+ right: 0;
+ bottom: 0;
+
+
+ .table-container {
+ position: relative;
+ min-height: 100px;
+ border-top: 1px #aaa solid;
+
+ header {
+ z-index: -1; // above td elements
+ background-color: white;
+
+ h1 {
+ font-size: 1.2em;
+ }
+
+ p {
+ font-weight: normal;
+ }
+ }
+ }
+
+ .details svg .axis path,
+ .details svg .axis line {
+ fill: none;
+ stroke-width: 1;
+ stroke: $core_color_almost_black;
+ shape-rendering: crispEdges;
+ }
+
+ &.rowCmp {
+ .details {
+ overflow-x: auto;
+ }
+ }
+
+ &.colCmp {
+ .form-group {
+ > label {
+ padding-top: 0 !important;
+ }
+ }
+ }
+ }
+
+ a:hover,
+ a:focus {
+ color: #1f77b4;
+ text-decoration: none;
+ }
+
+ a[aria-expanded="false"]::before {
+ content: "\f18e ";
+ font-family: FontAwesome;
+ color: $dark-font-color;
+ font-size: 0.9em;
+ }
+
+ a[aria-expanded="true"]::before {
+ content: "\f01a ";
+ font-family: FontAwesome;
+ color: $dark-font-color;
+ font-size: 0.9em;
+ }
+
+ .measure-legend {
+ margin-top: 1em;
+ margin-bottom: 0.5em;
+
+ svg {
+ vertical-align: middle;
+ }
+ }
+
+ table {
+ $table-border-color: white !default;
+
+ table-layout: fixed; // The table and column widths are set by the widths of table and col or by the width of the first row of cells. Cells in other rows do not affect column widths.
+
+ tbody.bottom-margin {
+ border-bottom: 0.5em solid $table-border-color; // table's border spacing applies to all rows and tbody has no margin
+ }
+
+ th {
+ min-width: $col-min-size;
+ max-width: $col-min-size;
+ position: sticky;
+ top: 0;
+ z-index: 2;
+
+ &:not(.head) {
+ // cells of row labels in header
+ min-width: $col-max-size * 0.7; // flexible from min to max
+ max-width: $col-max-size;
+ padding: 0 $wide-col-padding;
+ background-color: white;
+ }
+
+ &.head {
+ &.rotate {
+ // adapted from https://css-tricks.com/rotated-table-column-headers/
+ height: 120px;
+
+ svg {
+ position: absolute;
+ top: 0;
+ left: 0;
+
+ polygon {
+ fill: white;
+ }
+ }
+
+ > div {
+ transform: translate(12px, 48px) // 3. Back to the correct position
+ rotate(-45deg) // 2. Rotate to correct angle
+ skew(
+ 45deg,
+ 0deg
+ ); // 1. skew the div, so that the background is correct (text content is unskewed below)
+ width: 30px;
+
+ > span {
+ position: relative;
+ display: inline-block; // to set a width
+ min-width: 165px;
+ max-width: 165px;
+ box-sizing: border-box; // i dont want to mess with the padding
+
+ padding-bottom: 0px;
+ padding-top: 1px;
+ line-height: 1.25; // defines height of headers
+ border-bottom: 2px solid $table-border-color; // make space between headers non-transparent (removed for last header below)
+ background-color: white;
+
+ > span {
+ transform: skew(-45deg, 0deg); // unskew the text
+
+ max-width: 100%; // just as wide as the parent
+ display: inline-block; // to make width & string truncation work
+ vertical-align: bottom; // at the bottom of the parent
+ overflow: hidden; // important to stop text at right border
+ white-space: nowrap; // no line breaks
+ text-overflow: ellipsis;
+ font-weight: normal;
+
+ box-sizing: border-box; // i dont want to mess with the padding
+ padding: 0.1em 0.5em 0.1em 1.5em;
+ }
+ }
+ }
+
+ &:last-child > div > span {
+ border-bottom: none; // no need for a border on last header
+ }
+ }
+ }
+ }
+
+ .cross-selection,
+ .cross-selection::before,
+ .cross-selection span::before {
+ background-color: $highlight-color !important; // important because to overwrite the htmml inline color definition
+ color: black !important;
+ }
+
+ td {
+ border: 1px solid $table-border-color;
+ border-collapse: collapse;
+ position: relative;
+ background: white;
+ background-clip: padding-box; // fix firefox bug: td background stretches over tbody border
+
+ &[rowspan] {
+ vertical-align: text-top; // move text of multi-row cells to the top
+ }
+
+ &:not(.score) {
+ // row labels
+ min-width: $col-max-size * 0.7;
+ max-width: $col-max-size;
+ padding: 0 $wide-col-padding;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ }
+
+ &.score {
+ // no min-width here because than the cell gets larger on hover (wich makes the text bolder)
+ max-width: $col-min-size;
+ text-align: center; // padding workaround, because we make the font bolder on hover and can use the whitespace of the cell this way
+ overflow: hidden;
+ text-overflow: clip; // cells are so small, the ... would take to much space
+ white-space: nowrap;
+
+ // border-style: solid;
+ // border-color: $table-border-color;
+ // border-width: 0px; // overwrite the default
+ // border-right-width: 1px; // just on the right
+ }
+
+ &.action,
+ &.score {
+ cursor: pointer;
+ vertical-align: bottom; // Actually, it should be middle, but bottom looks more centered ¯\_(ツ)_/¯
+
+ &:hover,
+ &:focus {
+ // = td.action:hover
+ background-color: darken(
+ $highlight-color,
+ 25%
+ ) !important; // important because to overwrite the htmml inline color definition
+ color: black !important;
+ font-weight: bolder;
+ }
+
+ &.selectedCell {
+ background-color: #fba74d !important; // important because to overwrite the htmml inline color definition
+ color: black !important;
+ font-weight: bolder;
+ }
+ }
+
+ span.circle {
+ display: inline-block;
+ width: 0.8em;
+ height: 0.8em;
+ vertical-align: middle;
+ background-color: $dark-font-color;
+ border: 1px solid transparent;
+ border-radius: 100%;
+ }
+ }
+ }
+
+ .detailVis {
+ border-top: #aaa 1px solid;
+ padding: 0.5em 0;
+
+ .detailDiv {
+ font-weight: bold;
+ color: $dark-font-color;
+
+ span {
+ font-weight: normal;
+
+ &.detail-label {
+ font-weight: bold;
+ }
+ }
+ }
+ }
+
+ // ------ parallel sets with D3
+ .dimension tspan.name {
+ font-size: 1.2em;
+ fill: $dark-font-color;
+ font-weight: bold;
+ }
+
+ .dimension tspan.sort {
+ fill: #000;
+ cursor: pointer;
+ opacity: 0;
+ }
+
+ .dimension tspan.sort:hover {
+ fill: $dark-font-color;
+ }
+
+ .dimension:hover tspan.name {
+ fill: #000;
+ }
+
+ .dimension:hover tspan.sort {
+ opacity: 1;
+ }
+
+ .dimension line {
+ stroke: #000;
+ }
+
+ .dimension rect {
+ stroke: none;
+ fill-opacity: 0;
+ }
+
+ .dimension > rect,
+ .category-background {
+ fill: #fff;
+ }
+
+ .dimension > rect {
+ display: none;
+ }
+
+ // .category:hover rect { fill-opacity: .3; }
+ // .dimension:hover > rect { fill-opacity: .3; }
+ svg .parSets .ribbon path {
+ stroke-opacity: 0;
+ fill-opacity: 0.5;
+ }
+
+ // .ribbon path.active { fill-opacity: .9; }
+ .ribbon-mouse path {
+ fill-opacity: 0;
+ stroke: none;
+ }
+
+ .ribbon path.selected {
+ fill-opacity: 0.9 !important;
+ }
+
+ // new
+ .category rect.selected {
+ fill-opacity: 0.3;
+ }
+
+ // new
+ .dimension:hover > rect.selcted {
+ fill-opacity: 0.3;
+ }
+
+ // new
+
+ // predefined colours
+ .category-0 {
+ fill: #1f77b4;
+ stroke: #1f77b4;
+ }
+
+ .category-1 {
+ fill: #ff7f0e;
+ stroke: #ff7f0e;
+ }
+
+ .category-2 {
+ fill: #2ca02c;
+ stroke: #2ca02c;
+ }
+
+ .category-3 {
+ fill: #d62728;
+ stroke: #d62728;
+ }
+
+ .category-4 {
+ fill: #9467bd;
+ stroke: #9467bd;
+ }
+
+ .category-5 {
+ fill: #8c564b;
+ stroke: #8c564b;
+ }
+
+ .category-6 {
+ fill: #e377c2;
+ stroke: #e377c2;
+ }
+
+ .category-7 {
+ fill: #7f7f7f;
+ stroke: #7f7f7f;
+ }
+
+ .category-8 {
+ fill: #bcbd22;
+ stroke: #bcbd22;
+ }
+
+ .category-9 {
+ fill: #17becf;
+ stroke: #17becf;
+ }
+
+ .category-10 {
+ fill: #aec7e8;
+ stroke: #aec7e8;
+ }
+
+ .category-11 {
+ fill: #ffbb78;
+ stroke: #ffbb78;
+ }
+
+ .category-12 {
+ fill: #98df8a;
+ stroke: #98df8a;
+ }
+
+ .category-13 {
+ fill: #ff9896;
+ stroke: #ff9896;
+ }
+
+ .category-14 {
+ fill: #c5b0d5;
+ stroke: #c5b0d5;
+ }
+
+ .category-15 {
+ fill: #c49c94;
+ stroke: #c49c94;
+ }
+
+ .category-16 {
+ fill: #f7b6d2;
+ stroke: #f7b6d2;
+ }
+
+ .category-17 {
+ fill: #c7c7c7;
+ stroke: #c7c7c7;
+ }
+
+ .category-18 {
+ fill: #dbdb8d;
+ stroke: #dbdb8d;
+ }
+
+ .category-19 {
+ fill: #9edae5;
+ stroke: #9edae5;
+ }
+
+ .category-gray {
+ fill: #808080 !important;
+ stroke: #808080 !important;
+ }
+
+ .category-selected {
+ fill: #fba74d !important;
+ stroke: #fba74d !important;
+ }
+
+ // ------ boxplot with D3
+ g.box-element text {
+ stroke: none;
+ fill: black;
+ }
+
+ g.box-element {
+ rect.box {
+ stroke: black;
+ stroke-width: 1;
+ stroke-opacity: 0;
+ fill-opacity: 0.5;
+ }
+
+ line.center,
+ line.median,
+ line.whisker {
+ stroke-opacity: 0.2;
+ }
+ }
+
+ g.box-element.selected {
+ rect.box {
+ stroke: black;
+ stroke-width: 1;
+ stroke-opacity: 1;
+ fill-opacity: 1;
+ }
+
+ line.center,
+ line.median,
+ line.whisker {
+ stroke-opacity: 1;
+ }
+ }
+
+ // ------ scattter plot with D3
+ g.scatterplot circle.datapoint {
+ stroke: none;
+ opacity: 1;
+ fill: black;
+ }
+
+ g.scatterplot circle.datapoint:hover {
+ opacity: 1;
+ fill: #fba74d !important;
+ }
+
+ g.scatterplot g.regression {
+ path,
+ line {
+ stroke: rgb(194, 194, 194) !important;
+ stroke-width: 2 !important;
+ }
+ }
+
+ // // ------ line chart with D3
+ g.linechart path.dataline {
+ fill-opacity: 0;
+ fill: #fba74d;
+ stroke-width: 2;
+ stroke-linejoin: "round";
+ stroke-linecap: "round";
+ }
+
+ g.linechart g.baseline {
+ fill: "none";
+ stroke-width: 1;
+ stroke-linejoin: "round";
+ stroke-linecap: "round";
+ stroke: black;
+ }
+
+ g.linechart path.dataline:hover {
+ fill-opacity: 0.4;
+ }
+ }
+
+ [data-type]::before {
+ display: inline-block; // so that the width property works
+ width: 1.2em; // to have some space between icon and the text in the td
+ font-family: lu-font; // some icon font
+ color: #999; // #515151 is to dark
+ }
+
+ [data-type="categorical"]::before {
+ content: "\e810";
+ }
+
+ [data-type="number"]::before {
+ content: "\e811";
+ }
+}
diff --git a/src/scss/main.scss b/src/scss/main.scss
index 9d4be30..5fafacf 100644
--- a/src/scss/main.scss
+++ b/src/scss/main.scss
@@ -1,732 +1,6 @@
-$active-color: #eaeaea;
-$dark-font-color: #333;
-$highlight-color: rgb(212, 212, 212);
-$highlight-color-1: rgb(207, 230, 230); // blueish
-$highlight-color-2: rgb(207, 230, 207); // greenish
-[hidden] {
- display: none !important;
-}
-.touring.active {
- display: flex;
-}
+@import "./abstracts/variables";
-.touring-highlight-hover {
- background-color: $highlight-color !important;
-}
-
-.touring-highlight-hover-1 {
- background-color: $highlight-color-1 !important;
-}
-
-.touring-highlight-hover-2 {
- background-color: $highlight-color-2 !important;
-}
-
-.touring-highlight-hover-dark {
- background-color: darken($highlight-color, 10%) !important;
-}
-
-.touring-highlight-hover-border {
- border: 1px black dashed !important;
-}
-
-.select2-dropdown {
- // dropdown is seperatly attached to DOM
- $hover-background-color: darken(
- $color: #ddd,
- $amount: 20%
- ); // #ddd is default color for selected elements
- $hover-color: white;
-
- .select2-results > .select2-results__options {
- max-height: 25vh; // 50% of browser window
- }
-
- .select2-results__option {
- // changes the padding of every option in the dropdown
- padding: 2px 6px;
- }
-
- .select2-results__option--highlighted {
- // hover effect for non nested options (not in optgroup)
- background-color: $hover-background-color; // do my own hover styling
- color: $hover-color;
- }
-
- .select2-results__options--nested {
- // hover effect for options in optgroups
- .select2-results__option--highlighted {
- // inside the dropdown, which is not inside the .select2
- background-color: transparent; // default hover styling is done by adding a class
- color: $dark-font-color;
-
- &[aria-selected="true"] {
- // reset
- background-color: #ddd;
- color: $dark-font-color;
- }
- }
-
- .select2-results__option:hover {
- background-color: $hover-background-color; // do my own hover styling
- color: $hover-color;
- }
- }
-
- .select2-results__group {
- cursor: pointer; // let it look clickable
-
- &:hover {
- background-color: $hover-background-color;
- color: $hover-color;
- }
- }
-}
-
-.select2 {
- // the input that is always visible
- .select2-selection__choice {
- background-color: $active-color;
-
- span {
- color: $dark-font-color;
- }
- }
-}
-
-button {
- &.touring.active::before {
- color: #ffa500; // use highlight color of column headers
- border: none;
- }
-
- img {
- height: 1.2em;
- width: auto;
- padding-right: 1em;
- }
-}
-
-.tooltip.measure {
- background-color: #c0c0c0;
- position: absolute;
- padding: 5px;
- opacity: 1;
-}
-
-div.touring {
- flex: 1 0 auto; // sidebar uses flexbox
- // the touring div itself also uses a flexbox for the children:
- display: flex;
- flex-direction: column;
- padding-left: 0.5em;
-
- .touring-intro-text {
- margin-top: 5px;
- margin-bottom: 15px;
- padding: 0 0.5em;
- }
-
- .input {
- margin-right: 0.5em;
-
- // task switcher & task input
- overflow: hidden; // from the bootstrap stuff we get some overflow which introduces scrollbars --> hide it
-
- .task-btn.active {
- background-color: $active-color;
- }
- }
-
- .removeMiniVis-btn {
- float: right !important;
- padding: 0px 7px !important;
- margin: 2px 1px !important;
- }
-
- label.control-label {
- padding: 0px;
- padding-left: 15px; // bootstrap default
- }
-
- .output {
- flex: 1;
- position: relative;
- $wide-col-padding: 0.5em;
- $narrow-col-padding: 0.2em;
- $col-min-size: 4.5ch;
- $col-max-size: 15em;
-
- /*.select2-dropdown { // dropdown is seperatly attached to DOM
- $hover-background-color: darken($color: #ddd, $amount: 20%); // #ddd is default color for selected elements
- $hover-color: white;
- .select2-results>.select2-results__options {
- max-height: 25vh; // 50% of browser window
- }
- .select2-results__option { // changes the padding of every option in the dropdown
- padding: 2px 6px;
- }
- .select2-results__option--highlighted { // hover effect for non nested options (not in optgroup)
- background-color: $hover-background-color; // do my own hover styling
- color: $hover-color;
- }
- .select2-results__options--nested { // hover effect for options in optgroups
- .select2-results__option--highlighted { // inside the dropdown, which is not inside the .select2
- background-color: transparent; // default hover styling is done by adding a class
- color: $dark-font-color;
- &[aria-selected=true] { // reset
- background-color: #ddd;
- color: $dark-font-color;
- }
- }
- .select2-results__option:hover {
- background-color: $hover-background-color; // do my own hover styling
- color: $hover-color;
- }
- }
- .select2-results__group {
- cursor: pointer; // let it look clickable
- &:hover {
- background-color: $hover-background-color;
- color: $hover-color;
- }
- }
- }
- .select2 { // the input that is always visible
- .select2-selection__choice {
- background-color: $active-color;
- span {
- color: $dark-font-color;
- }
- }
- }*/
-
- .task {
- position: absolute;
- top: 0;
- left: 0;
- right: 0;
- bottom: 0;
-
-
- .table-container {
- position: relative;
- min-height: 100px;
- border-top: 1px #aaa solid;
-
- header {
- z-index: -1; // above td elements
- background-color: white;
-
- h1 {
- font-size: 1.2em;
- }
-
- p {
- font-weight: normal;
- }
- }
- }
-
- &.rowCmp {
- .details {
- overflow-x: auto;
- }
- }
-
- &.colCmp {
- .form-group {
- > label {
- padding-top: 0 !important;
- }
- }
- }
- }
-
- a:hover,
- a:focus {
- color: #1f77b4;
- text-decoration: none;
- }
-
- a[aria-expanded="false"]::before {
- content: "\f18e ";
- font-family: FontAwesome;
- color: $dark-font-color;
- font-size: 0.9em;
- }
-
- a[aria-expanded="true"]::before {
- content: "\f01a ";
- font-family: FontAwesome;
- color: $dark-font-color;
- font-size: 0.9em;
- }
-
- .measure-legend {
- margin-top: 1em;
- margin-bottom: 0.5em;
-
- svg {
- vertical-align: middle;
- }
- }
-
- table {
- $table-border-color: white;
-
- table-layout: fixed; // The table and column widths are set by the widths of table and col or by the width of the first row of cells. Cells in other rows do not affect column widths.
-
- tbody.bottom-margin {
- border-bottom: 0.5em solid $table-border-color; // table's border spacing applies to all rows and tbody has no margin
- }
-
- th {
- min-width: $col-min-size;
- max-width: $col-min-size;
- position: sticky;
- top: 0;
- z-index: 2;
-
- &:not(.head) {
- // cells of row labels in header
- min-width: $col-max-size * 0.7; // flexible from min to max
- max-width: $col-max-size;
- padding: 0 $wide-col-padding;
- background-color: white;
- }
-
- &.head {
- &.rotate {
- // adapted from https://css-tricks.com/rotated-table-column-headers/
- height: 120px;
-
- svg {
- position: absolute;
- top: 0;
- left: 0;
-
- polygon {
- fill: white;
- }
- }
-
- > div {
- transform: translate(12px, 48px) // 3. Back to the correct position
- rotate(-45deg) // 2. Rotate to correct angle
- skew(
- 45deg,
- 0deg
- ); // 1. skew the div, so that the background is correct (text content is unskewed below)
- width: 30px;
-
- > span {
- position: relative;
- display: inline-block; // to set a width
- min-width: 165px;
- max-width: 165px;
- box-sizing: border-box; // i dont want to mess with the padding
-
- padding-bottom: 0px;
- padding-top: 1px;
- line-height: 1.25; // defines height of headers
- border-bottom: 2px solid $table-border-color; // make space between headers non-transparent (removed for last header below)
- background-color: white;
-
- > span {
- transform: skew(-45deg, 0deg); // unskew the text
-
- max-width: 100%; // just as wide as the parent
- display: inline-block; // to make width & string truncation work
- vertical-align: bottom; // at the bottom of the parent
- overflow: hidden; // important to stop text at right border
- white-space: nowrap; // no line breaks
- text-overflow: ellipsis;
- font-weight: normal;
-
- box-sizing: border-box; // i dont want to mess with the padding
- padding: 0.1em 0.5em 0.1em 1.5em;
- }
- }
- }
-
- &:last-child > div > span {
- border-bottom: none; // no need for a border on last header
- }
- }
- }
- }
-
- .cross-selection,
- .cross-selection::before,
- .cross-selection span::before {
- background-color: $highlight-color !important; // important because to overwrite the htmml inline color definition
- color: black !important;
- }
-
- td {
- border: 1px solid $table-border-color;
- border-collapse: collapse;
- position: relative;
- background: white;
- background-clip: padding-box; // fix firefox bug: td background stretches over tbody border
-
- &[rowspan] {
- vertical-align: text-top; // move text of multi-row cells to the top
- }
-
- &:not(.score) {
- // row labels
- min-width: $col-max-size * 0.7;
- max-width: $col-max-size;
- padding: 0 $wide-col-padding;
- overflow: hidden;
- text-overflow: ellipsis;
- white-space: nowrap;
- }
-
- &.score {
- // no min-width here because than the cell gets larger on hover (wich makes the text bolder)
- max-width: $col-min-size;
- text-align: center; // padding workaround, because we make the font bolder on hover and can use the whitespace of the cell this way
- overflow: hidden;
- text-overflow: clip; // cells are so small, the ... would take to much space
- white-space: nowrap;
-
- // border-style: solid;
- // border-color: $table-border-color;
- // border-width: 0px; // overwrite the default
- // border-right-width: 1px; // just on the right
- }
-
- &.action,
- &.score {
- cursor: pointer;
- vertical-align: bottom; // Actually, it should be middle, but bottom looks more centered ¯\_(ツ)_/¯
-
- &:hover,
- &:focus {
- // = td.action:hover
- background-color: darken(
- $highlight-color,
- 25%
- ) !important; // important because to overwrite the htmml inline color definition
- color: black !important;
- font-weight: bolder;
- }
-
- &.selectedCell {
- background-color: #fba74d !important; // important because to overwrite the htmml inline color definition
- color: black !important;
- font-weight: bolder;
- }
- }
-
- span.circle {
- display: inline-block;
- width: 0.8em;
- height: 0.8em;
- vertical-align: middle;
- background-color: $dark-font-color;
- border: 1px solid transparent;
- border-radius: 100%;
- }
- }
- }
-
- .detailVis {
- border-top: #aaa 1px solid;
- padding: 0.5em 0;
-
- .detailDiv {
- font-weight: bold;
- color: $dark-font-color;
-
- span {
- font-weight: normal;
-
- &.detail-label {
- font-weight: bold;
- }
- }
- }
- }
-
- // ------ parallel sets with D3
- .dimension tspan.name {
- font-size: 1.2em;
- fill: $dark-font-color;
- font-weight: bold;
- }
-
- .dimension tspan.sort {
- fill: #000;
- cursor: pointer;
- opacity: 0;
- }
-
- .dimension tspan.sort:hover {
- fill: $dark-font-color;
- }
-
- .dimension:hover tspan.name {
- fill: #000;
- }
-
- .dimension:hover tspan.sort {
- opacity: 1;
- }
-
- .dimension line {
- stroke: #000;
- }
-
- .dimension rect {
- stroke: none;
- fill-opacity: 0;
- }
-
- .dimension > rect,
- .category-background {
- fill: #fff;
- }
-
- .dimension > rect {
- display: none;
- }
-
- // .category:hover rect { fill-opacity: .3; }
- // .dimension:hover > rect { fill-opacity: .3; }
- svg .parSets .ribbon path {
- stroke-opacity: 0;
- fill-opacity: 0.5;
- }
-
- // .ribbon path.active { fill-opacity: .9; }
- .ribbon-mouse path {
- fill-opacity: 0;
- stroke: none;
- }
-
- .ribbon path.selected {
- fill-opacity: 0.9 !important;
- }
-
- // new
- .category rect.selected {
- fill-opacity: 0.3;
- }
-
- // new
- .dimension:hover > rect.selcted {
- fill-opacity: 0.3;
- }
-
- // new
-
- // predefined colours
- .category-0 {
- fill: #1f77b4;
- stroke: #1f77b4;
- }
-
- .category-1 {
- fill: #ff7f0e;
- stroke: #ff7f0e;
- }
-
- .category-2 {
- fill: #2ca02c;
- stroke: #2ca02c;
- }
-
- .category-3 {
- fill: #d62728;
- stroke: #d62728;
- }
-
- .category-4 {
- fill: #9467bd;
- stroke: #9467bd;
- }
-
- .category-5 {
- fill: #8c564b;
- stroke: #8c564b;
- }
-
- .category-6 {
- fill: #e377c2;
- stroke: #e377c2;
- }
-
- .category-7 {
- fill: #7f7f7f;
- stroke: #7f7f7f;
- }
-
- .category-8 {
- fill: #bcbd22;
- stroke: #bcbd22;
- }
-
- .category-9 {
- fill: #17becf;
- stroke: #17becf;
- }
-
- .category-10 {
- fill: #aec7e8;
- stroke: #aec7e8;
- }
-
- .category-11 {
- fill: #ffbb78;
- stroke: #ffbb78;
- }
-
- .category-12 {
- fill: #98df8a;
- stroke: #98df8a;
- }
-
- .category-13 {
- fill: #ff9896;
- stroke: #ff9896;
- }
-
- .category-14 {
- fill: #c5b0d5;
- stroke: #c5b0d5;
- }
-
- .category-15 {
- fill: #c49c94;
- stroke: #c49c94;
- }
-
- .category-16 {
- fill: #f7b6d2;
- stroke: #f7b6d2;
- }
-
- .category-17 {
- fill: #c7c7c7;
- stroke: #c7c7c7;
- }
-
- .category-18 {
- fill: #dbdb8d;
- stroke: #dbdb8d;
- }
-
- .category-19 {
- fill: #9edae5;
- stroke: #9edae5;
- }
-
- .category-gray {
- fill: #808080 !important;
- stroke: #808080 !important;
- }
-
- .category-selected {
- fill: #fba74d !important;
- stroke: #fba74d !important;
- }
-
- // ------ boxplot with D3
- g.box-element text {
- stroke: none;
- fill: black;
- }
-
- g.box-element {
- rect.box {
- stroke: black;
- stroke-width: 1;
- stroke-opacity: 0;
- fill-opacity: 0.5;
- }
-
- line.center,
- line.median,
- line.whisker {
- stroke-opacity: 0.2;
- }
- }
-
- g.box-element.selected {
- rect.box {
- stroke: black;
- stroke-width: 1;
- stroke-opacity: 1;
- fill-opacity: 1;
- }
-
- line.center,
- line.median,
- line.whisker {
- stroke-opacity: 1;
- }
- }
-
- // ------ scattter plot with D3
- g.scatterplot circle.datapoint {
- stroke: none;
- opacity: 1;
- fill: black;
- }
-
- g.scatterplot circle.datapoint:hover {
- opacity: 1;
- fill: #fba74d !important;
- }
-
- g.scatterplot g.regression {
- path,
- line {
- stroke: rgb(194, 194, 194) !important;
- stroke-width: 2 !important;
- }
- }
-
- // // ------ line chart with D3
- g.linechart path.dataline {
- fill-opacity: 0;
- fill: #fba74d;
- stroke-width: 2;
- stroke-linejoin: "round";
- stroke-linecap: "round";
- }
-
- g.linechart g.baseline {
- fill: "none";
- stroke-width: 1;
- stroke-linejoin: "round";
- stroke-linecap: "round";
- stroke: black;
- }
-
- g.linechart path.dataline:hover {
- fill-opacity: 0.4;
- }
- }
-
- [data-type]::before {
- display: inline-block; // so that the width property works
- width: 1.2em; // to have some space between icon and the text in the td
- font-family: lu-font; // some icon font
- color: #999; // #515151 is to dark
- }
-
- [data-type="categorical"]::before {
- content: "\e810";
- }
-
- [data-type="number"]::before {
- content: "\e811";
- }
-}
+@import "./base/global";
+@import "./components/tourdino_panel";
diff --git a/src/tasks/ColumnComparisonTask.ts b/src/tasks/ColumnComparisonTask.ts
index 70366bb..6099b9f 100644
--- a/src/tasks/ColumnComparisonTask.ts
+++ b/src/tasks/ColumnComparisonTask.ts
@@ -350,7 +350,7 @@ function prepareDataArray(colAttributes: IColumnDesc[], rowAttributes: IColumnDe
return [[ // n2 arrays (bodies)
{ label: `${rowAttribute.label}`, type: rowAttribute.type },
...colAttributes.map((_) => {
- return { label: '', measure: null } as IScoreCell; // containing n1+1 elements (header + n1 values)
+ return { label: '', measure: null } as IScoreCell; // containing n1+1 elements (header + n1 values)
})
]];
});
diff --git a/src/tasks/RowComparisonTask.ts b/src/tasks/RowComparisonTask.ts
index 53b85ca..78cdee3 100644
--- a/src/tasks/RowComparisonTask.ts
+++ b/src/tasks/RowComparisonTask.ts
@@ -387,7 +387,7 @@ function prepareDataArray(colGroups: IAttributeCategory[], rowGroups: IAttribute
for (const [i, attr] of rowAttributes.entries()) {
data[i] = new Array(rowGroups.length); // one array per rowGroup (number of rows in body)
for (const [j, rowGrp] of rowGroups.entries()) {
- data[i][j] = new Array(colGroups.length + (j === 0 ? 2 : 1)).fill({label: '', measure: null} as IScoreCell);
+ data[i][j] = new Array(colGroups.length + (j === 0 ? 2 : 1)).fill({label: '', measure: null} as IScoreCell);
data[i][j][j === 0 ? 1 : 0] = { // through rowspan, this becomes the first array item
label: `${rowGrp.label} (${rowGrp.attribute.label})`,
background: rowGrp.color,
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",