Commit 32d8cf07 authored by Alexandre Delanoë's avatar Alexandre Delanoë

[FIX] merge

parents dbc13af8 c19be9fd
...@@ -30,3 +30,5 @@ bundle.js ...@@ -30,3 +30,5 @@ bundle.js
# docker # docker
/.bash_history /.bash_history
/.lesshst /.lesshst
/dist/js/**/*.map
/dist/styles/**/*.map
...@@ -4,7 +4,6 @@ ...@@ -4,7 +4,6 @@
<meta charset="utf-8"/> <meta charset="utf-8"/>
<title>CNRS GarganText</title> <title>CNRS GarganText</title>
<link rel="stylesheet" href="icons/forkawesome.css"> <link rel="stylesheet" href="icons/forkawesome.css">
<link href="styles/login.min.css" rel="stylesheet">
<link href="styles/bootstrap.min.css" rel="stylesheet"> <link href="styles/bootstrap.min.css" rel="stylesheet">
<link rel="stylesheet" type="text/css" href="styles/highlightjs-solarized-light.css"/> <link rel="stylesheet" type="text/css" href="styles/highlightjs-solarized-light.css"/>
<link href="styles/sass.css" rel="stylesheet" type="text/css" /> <link href="styles/sass.css" rel="stylesheet" type="text/css" />
......
This diff is collapsed.
This diff is collapsed.
This source diff could not be displayed because it is too large. You can view the blob instead.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
/*!
* Bootstrap Reboot v4.4.1 (https://getbootstrap.com/)
* Copyright 2011-2019 The Bootstrap Authors
* Copyright 2011-2019 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)
*/
*,
*::before,
*::after {
box-sizing: border-box;
}
html {
font-family: sans-serif;
line-height: 1.15;
-webkit-text-size-adjust: 100%;
-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
article, aside, figcaption, figure, footer, header, hgroup, main, nav, section {
display: block;
}
body {
margin: 0;
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
font-size: 1rem;
font-weight: 400;
line-height: 1.5;
color: #212529;
text-align: left;
background-color: #fff;
}
[tabindex="-1"]:focus:not(:focus-visible) {
outline: 0 !important;
}
hr {
box-sizing: content-box;
height: 0;
overflow: visible;
}
h1, h2, h3, h4, h5, h6 {
margin-top: 0;
margin-bottom: 0.5rem;
}
p {
margin-top: 0;
margin-bottom: 1rem;
}
abbr[title],
abbr[data-original-title] {
text-decoration: underline;
-webkit-text-decoration: underline dotted;
text-decoration: underline dotted;
cursor: help;
border-bottom: 0;
-webkit-text-decoration-skip-ink: none;
text-decoration-skip-ink: none;
}
address {
margin-bottom: 1rem;
font-style: normal;
line-height: inherit;
}
ol,
ul,
dl {
margin-top: 0;
margin-bottom: 1rem;
}
ol ol,
ul ul,
ol ul,
ul ol {
margin-bottom: 0;
}
dt {
font-weight: 700;
}
dd {
margin-bottom: .5rem;
margin-left: 0;
}
blockquote {
margin: 0 0 1rem;
}
b,
strong {
font-weight: bolder;
}
small {
font-size: 80%;
}
sub,
sup {
position: relative;
font-size: 75%;
line-height: 0;
vertical-align: baseline;
}
sub {
bottom: -.25em;
}
sup {
top: -.5em;
}
a {
color: #007bff;
text-decoration: none;
background-color: transparent;
}
a:hover {
color: #0056b3;
text-decoration: underline;
}
a:not([href]) {
color: inherit;
text-decoration: none;
}
a:not([href]):hover {
color: inherit;
text-decoration: none;
}
pre,
code,
kbd,
samp {
font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
font-size: 1em;
}
pre {
margin-top: 0;
margin-bottom: 1rem;
overflow: auto;
}
figure {
margin: 0 0 1rem;
}
img {
vertical-align: middle;
border-style: none;
}
svg {
overflow: hidden;
vertical-align: middle;
}
table {
border-collapse: collapse;
}
caption {
padding-top: 0.75rem;
padding-bottom: 0.75rem;
color: #6c757d;
text-align: left;
caption-side: bottom;
}
th {
text-align: inherit;
}
label {
display: inline-block;
margin-bottom: 0.5rem;
}
button {
border-radius: 0;
}
button:focus {
outline: 1px dotted;
outline: 5px auto -webkit-focus-ring-color;
}
input,
button,
select,
optgroup,
textarea {
margin: 0;
font-family: inherit;
font-size: inherit;
line-height: inherit;
}
button,
input {
overflow: visible;
}
button,
select {
text-transform: none;
}
select {
word-wrap: normal;
}
button,
[type="button"],
[type="reset"],
[type="submit"] {
-webkit-appearance: button;
}
button:not(:disabled),
[type="button"]:not(:disabled),
[type="reset"]:not(:disabled),
[type="submit"]:not(:disabled) {
cursor: pointer;
}
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
padding: 0;
border-style: none;
}
input[type="radio"],
input[type="checkbox"] {
box-sizing: border-box;
padding: 0;
}
input[type="date"],
input[type="time"],
input[type="datetime-local"],
input[type="month"] {
-webkit-appearance: listbox;
}
textarea {
overflow: auto;
resize: vertical;
}
fieldset {
min-width: 0;
padding: 0;
margin: 0;
border: 0;
}
legend {
display: block;
width: 100%;
max-width: 100%;
padding: 0;
margin-bottom: .5rem;
font-size: 1.5rem;
line-height: inherit;
color: inherit;
white-space: normal;
}
progress {
vertical-align: baseline;
}
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
height: auto;
}
[type="search"] {
outline-offset: -2px;
-webkit-appearance: none;
}
[type="search"]::-webkit-search-decoration {
-webkit-appearance: none;
}
::-webkit-file-upload-button {
font: inherit;
-webkit-appearance: button;
}
output {
display: inline-block;
}
summary {
display: list-item;
cursor: pointer;
}
template {
display: none;
}
[hidden] {
display: none !important;
}
/*# sourceMappingURL=bootstrap-reboot.css.map */
\ No newline at end of file
/*!
* Bootstrap Reboot v4.4.1 (https://getbootstrap.com/)
* Copyright 2011-2019 The Bootstrap Authors
* Copyright 2011-2019 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)
*/*,::after,::before{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}article,aside,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:left;background-color:#fff}[tabindex="-1"]:focus:not(:focus-visible){outline:0!important}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem}p{margin-top:0;margin-bottom:1rem}abbr[data-original-title],abbr[title]{text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;border-bottom:0;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#007bff;text-decoration:none;background-color:transparent}a:hover{color:#0056b3;text-decoration:underline}a:not([href]){color:inherit;text-decoration:none}a:not([href]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em}pre{margin-top:0;margin-bottom:1rem;overflow:auto}figure{margin:0 0 1rem}img{vertical-align:middle;border-style:none}svg{overflow:hidden;vertical-align:middle}table{border-collapse:collapse}caption{padding-top:.75rem;padding-bottom:.75rem;color:#6c757d;text-align:left;caption-side:bottom}th{text-align:inherit}label{display:inline-block;margin-bottom:.5rem}button{border-radius:0}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}select{word-wrap:normal}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{padding:0;border-style:none}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=date],input[type=datetime-local],input[type=month],input[type=time]{-webkit-appearance:listbox}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;max-width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit;color:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item;cursor:pointer}template{display:none}[hidden]{display:none!important}
/*# sourceMappingURL=bootstrap-reboot.min.css.map */
\ No newline at end of file
This diff is collapsed.
This diff is collapsed.
/* styles for menu.html template (navbar etc) */ /* styles for menu.html template (navbar etc) */
#dafixedtop .navbar-text, #graphsfixedtop .navbar-text { /* #dafixedtop .navbar-text, #graphsfixedtop .navbar-text */
margin: 0; /* margin: 0 */
padding-top: 15px; /* padding-top: 15px */
padding-bottom: 15px; /* padding-bottom: 15px */
float: none; /* float: none */
}
#corporatop.nav-tabs > li { #corporatop.nav-tabs > li {
padding-left: 1; padding-left: 1;
padding-right: 1; padding-right: 1;
...@@ -85,56 +83,21 @@ ...@@ -85,56 +83,21 @@
display: none; display: none;
} }
#graph-explorer #toolbar { #graph-explorer {
display: flex; padding-top: 0px;
flex-direction: column;
}
#graph-explorer #toolbar ul {
display: flex;
flex-direction: row;
margin: 0;
}
#graph-explorer #toolbar ul li {
display: flex;
max-width: 200px;
}
#graph-explorer #toggle-container {
position: fixed;
z-index: 999;
right: 25%;
top: 10px;
width: 50%;
} }
#graph-explorer #toggle-container .container-fluid {
padding-top: 90px; .graph-container {
} /* #toggle-container */
#graph-explorer #controls-container { /* position: fixed */
position: fixed; /* z-index: 999 // needs to appear above solid menu bar */
z-index: 999; /* right: 25% */
backdrop-filter: blur(4px); /* top: 10px */
background: rgba(255, 255, 255, 0.75); /* width: 50% */
overflow: auto; /* .container-fluid */
left: 0; /* padding-top: 90px */
right: 0;
top: 60px;
}
#graph-explorer .graph-tree {
position: absolute;
max-height: 600px;
top: 170px;
background-color: #fff;
z-index: 1;
}
#graph-explorer .lefthanded .graph-tree {
left: 80%;
}
#graph-explorer .righthanded .graph-tree {
left: 0%;
}
#graph-explorer #graph-view {
height: 95%;
} }
#graph-explorer #sp-container { .graph-container #sp-container {
position: absolute; position: absolute;
max-height: 600px; max-height: 600px;
top: 170px; top: 170px;
...@@ -143,25 +106,66 @@ ...@@ -143,25 +106,66 @@
width: 28%; width: 28%;
z-index: 15; z-index: 15;
} }
#graph-explorer #sp-container #myTab { .graph-container #sp-container #myTab {
marginBottom: 18px; marginBottom: 18px;
marginTop: 18px; marginTop: 18px;
} }
#graph-explorer #sp-container #myTabContent { .graph-container #sp-container #myTabContent {
borderBottom: 1px solid black; borderBottom: 1px solid black;
paddingBottom: 19px; paddingBottom: 19px;
} }
#graph-explorer #sp-container #horizontal-checkbox ul { .graph-container #sp-container #horizontal-checkbox ul {
display: inline; display: inline;
float: left; float: left;
} }
#graph-explorer .lefthanded #sp-container { .graph-container .lefthanded #sp-container {
left: 0%; left: 0%;
} }
#graph-explorer .righthanded #sp-container { .graph-container .righthanded #sp-container {
left: 70%; left: 70%;
} }
#graph-explorer #tree { .graph-container .graph-tree {
position: absolute;
max-height: 600px;
top: 170px;
background-color: #fff;
z-index: 1;
}
.graph-container .lefthanded .graph-tree {
left: 80%;
}
.graph-container .righthanded .graph-tree {
left: 0%;
}
.graph-container #controls-container {
position: fixed;
z-index: 999;
backdrop-filter: blur(4px);
background: rgba(255, 255, 255, 0.75);
overflow: auto;
left: 0;
right: 0;
top: 60px;
}
.graph-container #controls-container #toolbar {
display: flex;
flex-direction: column;
}
.graph-container #controls-container #toolbar ul {
display: flex;
flex-direction: row;
margin: 0;
}
.graph-container #controls-container #toolbar ul li {
max-width: 200px;
}
.graph-container .graph-row {
height: 100%;
}
.graph-container .graph-row #graph-view {
height: 95%;
}
.graph-container #tree {
position: absolute; position: absolute;
z-index: 1; z-index: 1;
} }
...@@ -178,12 +182,6 @@ ...@@ -178,12 +182,6 @@
z-index: 999; z-index: 999;
} }
.logoSmall {
line-height: 15px;
height: 10px;
padding: 10px 10px;
}
#logo-designed { #logo-designed {
border: 15px; border: 15px;
} }
...@@ -378,6 +376,10 @@ li .leaf { ...@@ -378,6 +376,10 @@ li .leaf {
} }
li .leaf .folder-icon { li .leaf .folder-icon {
padding: 0 2 0 2; padding: 0 2 0 2;
cursor: pointer;
}
li .leaf .node-link {
cursor: pointer;
} }
li .leaf a.settings { li .leaf a.settings {
cursor: pointer; cursor: pointer;
...@@ -693,13 +695,6 @@ li .leaf:hover a.settings { ...@@ -693,13 +695,6 @@ li .leaf:hover a.settings {
font-weight: bold; font-weight: bold;
text-decoration: underline; text-decoration: underline;
} }
.table tr td .column-tag {
align-items: center;
}
.table tr td .column-tag .doc-chooser {
cursor: pointer;
padding: 10px;
}
.table tr td .ngrams-selector { .table tr td .ngrams-selector {
display: flex; display: flex;
} }
......
{"version":3,"sourceRoot":"","sources":["../../src/sass/_menu.sass","../../src/sass/_context_menu.sass","../../src/sass/_graph.sass","../../src/sass/_login.sass","../../src/sass/_tree.sass","../../src/sass/_code_editor.sass","../../src/sass/_styles.sass","../../src/sass/_range_slider.sass"],"names":[],"mappings":"AAAA;AAEA;EACI;EACA;EACA;EACA;;;AAEJ;EACI;EACA;;;AAEJ;EACI;EACA;EACA;EACA;;;AAEJ;EACE;;;AAEF;AACI;EACA;;;AAEJ;AACI;EACA;;;AAGJ;AACA;EACI;;;AAEJ;EACI;EACA;EACA;EACA;;;AAEJ;EACE;EACA;;;AAEF;EACE;;;AC7CF;EACE;EACA;EACA;EACA;EACA;;;AAEF;EACE;;;AAEF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAEF;EACE;EACA;EACA;;;AAEF;EACE;;;ACjBA;EACE;EACA;;AAEA;EACE;EACA;EACA;;AACA;EACE;EACA;;AAEN;EACE;EACA;EACA;EACA;EACA;;AACA;EACE;;AAEJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEF;EAtCA;EACA;EAEA;EAqCE;EACA;;AACF;EACE;;AACF;EACE;;AAEF;EACE;;AAEF;EAlDA;EACA;EAEA;EAiDE;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAEF;EACE;EACA;;AAGA;EACE;EACA;;AACN;EACE;;AACF;EACE;;AAEF;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;ACrFJ;EACE;;;AAEF;EACE;EACA;EACA;;;AAEF;EACE;;AACA;EACE;EACA;;;AAEJ;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;;AAEE;EACE;EACA;;AACA;EACE;;;AAIJ;EACE;EACA;EACA;EACA;;;AAKJ;EACE;EACA;EACA;;;AAGJ;EACE;EACA;EACA;EACA;EACA;;AACA;EACE;EACA;;AACF;EACE;EACA;;AACA;EACE;EACA;EACA;;AACA;EACE;;AACF;EACE;EACA;EACA;EACA;;AACA;EACE;;AACN;EACE;EACA;EACA;EACA;;;AAGN;EACE;EACA;EACA;EACA;EACA;;AAGE;EACE;;;AAEN;EACE;EACA;EACA;EACA;EACA;;AAGE;EACE;;;AAEN;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;;;AAEJ;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;;AACA;EACE;EACA;;;AAGF;EACE;;;AAEJ;EACI;EACA;;;AAEJ;EACI;EACA;;;AAGF;EACE;;;AAEJ;EACE;;;AAEF;EACE;EACA;;;AAEF;EACE;EACA;EACA;;;AAEF;EACE;EACA;;;AAEF;EACE;;;AC1KF;EACE;;;AAGA;EACE;EACA;;AACA;EACE;;AACF;EACE;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;;AAER;EACE;;AAEE;EACE;;AACA;EACE;EACA;EACA;EACA;;AACF;EACE;EACA;EACA;EACA;EACA;;AACF;EACE;;AACF;EACE;EACA;EACA;EAEA;EACA;EACA;;AAEA;EACE;;AACF;EACE;;AAGN;EACE;;AACF;EACE;;AACA;EACE;EACA;;AAEE;EACE;EACA;;AACF;EACE;EACA;;AAIR;EACE;;AACF;EACE;;AACA;EACE;EACA;;AAEE;EACE;EACA;;AACF;EACE;EACA;;AACF;EACE;EACA;;AAEV;EACE;;AACF;EACE;;AAEE;EACE;;AACF;EACE;;AACN;EACE;;AAEE;EACE;EACA;;;AAGR;EACE;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EAEE;EACA;EACA;EACA;EACA;;AAEF;EACE;EACA;EACA;;AAEF;EACE;;;AAIF;EACE;;AAEA;EACE;;;AC/HR;EACE;;AAEA;EACE;;AACA;EACE;;AACJ;EACE;EACA;;;AAGF;EACE;EACA;EACA;;AACF;EACE;EACA;;AACA;EACE;EACA;EACA;EACA;;AACA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AACA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EArDR;EACA;EACA;EACA;EACA;EACA;EACA;EAlBA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AA2DM;EACE;EACA;EACA;EACA;EACA;EA7DR;EACA;EACA;EACA;EACA;EACA;EACA;EAlBA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAmEE;EACE;EACA;EACA;EACA;EACA;EACA;;AACF;EACE;EACA;EACA;;AACA;EACE;EACA;;AACF;EACE;EACA;;AACF;EACE;EACA;;AAGE;EACE;;AAEF;EACE;;;ACtGV;EACE;;AACF;EACE;EACA;EACA;EACA;EACA;EACA;;AACA;EACE;;AAGE;EACE;EACA;;AAEF;EACE;EACA;;;AAEV;EACE;;AACA;EACE;EACA;EACA;;;AAKE;EACE;EACA;;AACF;EACE;;AACA;EACE;EACA;;AACJ;EACE;;AACA;EACE;;AACJ;EACE;;;AAER;EACE;;;AAEF;EACE;;;AAEF;EACE;;;ACtDF;EACE;AACA;EACA;;AAEA;EACE;;AAEA;EACE;EACA;EACA;EACA;EACA;;AAEF;EACE;EACA;EACA;EACA;;AAEF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;EAEA;EAEA;;AAEA;EACE;EAEA;EACA;EACA","file":"sass.css"} {"version":3,"sourceRoot":"","sources":["../../src/sass/_menu.sass","../../src/sass/_context_menu.sass","../../src/sass/_graph.sass","../../src/sass/_login.sass","../../src/sass/_tree.sass","../../src/sass/_code_editor.sass","../../src/sass/_styles.sass","../../src/sass/_range_slider.sass"],"names":[],"mappings":"AAAA;AAEA;AACA;AACA;AACA;AACA;AAEA;EACI;EACA;;;AAEJ;EACI;EACA;EACA;EACA;;;AAEJ;EACE;;;AAEF;AACI;EACA;;;AAEJ;AACI;EACA;;;AAGJ;AACA;EACI;;;AAEJ;EACI;EACA;EACA;EACA;;;AAEJ;EACE;EACA;;;AAEF;EACE;;;AC7CF;EACE;EACA;EACA;EACA;EACA;;;AAEF;EACE;;;AAEF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAEF;EACE;EACA;EACA;;;AAEF;EACE;;;AClBF;EACE;;;AAEF;AAkCE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAxCA;EAVA;EACA;EAEA;EASE;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAEF;EACE;EACA;;AAGA;EACE;EACA;;AACN;EACE;;AACF;EACE;;AAEF;EAlCA;EACA;EAEA;EAiCE;EACA;;AACF;EACE;;AACF;EACE;;AAWF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAEA;EACE;EACA;EACA;;AACA;EACE;;AAER;EACE;;AAEA;EACE;;AAEJ;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AC1FJ;EACE;;;AAOF;EACE;;AACA;EACE;EACA;;;AAEJ;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;;AAEE;EACE;EACA;;AACA;EACE;;;AAIJ;EACE;EACA;EACA;EACA;;;AAKJ;EACE;EACA;EACA;;;AAGJ;EACE;EACA;EACA;EACA;EACA;;AACA;EACE;EACA;;AACF;EACE;EACA;;AACA;EACE;EACA;EACA;;AACA;EACE;;AACF;EACE;EACA;EACA;EACA;;AACA;EACE;;AACN;EACE;EACA;EACA;EACA;;;AAGN;EACE;EACA;EACA;EACA;EACA;;AAGE;EACE;;;AAEN;EACE;EACA;EACA;EACA;EACA;;AAGE;EACE;;;AAEN;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;;;AAEJ;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;;AACA;EACE;EACA;;;AAGF;EACE;;;AAEJ;EACI;EACA;;;AAEJ;EACI;EACA;;;AAGF;EACE;;;AAEJ;EACE;;;AAEF;EACE;EACA;;;AAEF;EACE;EACA;EACA;;;AAEF;EACE;EACA;;;AAEF;EACE;;;AC1KF;EACE;;;AAGA;EACE;EACA;;AAEA;EACE;EACA;;AAEF;EACE;;AAEF;EACE;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;;AAER;EACE;;AAEE;EACE;;AACA;EACE;EACA;EACA;EACA;;AACF;EACE;EACA;EACA;EACA;EACA;;AACF;EACE;;AACF;EACE;EACA;EACA;EAEA;EACA;EACA;;AAEA;EACE;;AACF;EACE;;AAGN;EACE;;AACF;EACE;;AACA;EACE;EACA;;AAEE;EACE;EACA;;AACF;EACE;EACA;;AAIR;EACE;;AACF;EACE;;AACA;EACE;EACA;;AAEE;EACE;EACA;;AACF;EACE;EACA;;AACF;EACE;EACA;;AAEV;EACE;;AACF;EACE;;AAEE;EACE;;AACF;EACE;;AACN;EACE;;AAEE;EACE;EACA;;;AAGR;EACE;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EAEE;EACA;EACA;EACA;EACA;;AAEF;EACE;EACA;EACA;;AAEF;EACE;;;AAIF;EACE;;AAEA;EACE;;;ACrIR;EACE;;AAEA;EACE;;AACA;EACE;;AACJ;EACE;EACA;;;AAGF;EACE;EACA;EACA;;AACF;EACE;EACA;;AACA;EACE;EACA;EACA;EACA;;AACA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AACA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EArDR;EACA;EACA;EACA;EACA;EACA;EACA;EAlBA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AA2DM;EACE;EACA;EACA;EACA;EACA;EA7DR;EACA;EACA;EACA;EACA;EACA;EACA;EAlBA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAmEE;EACE;EACA;EACA;EACA;EACA;EACA;;AACF;EACE;EACA;EACA;;AACA;EACE;EACA;;AACF;EACE;EACA;;AACF;EACE;EACA;;AAGE;EACE;;AAEF;EACE;;;ACtGV;EACE;;AACF;EACE;EACA;EACA;EACA;EACA;EACA;;AACA;EACE;;AAGE;EACE;EACA;;AAEF;EACE;EACA;;;AAEV;EACE;;AACA;EACE;EACA;EACA;;;AAKE;EACE;EACA;;AACF;EACE;;AACA;EACE;;AACJ;EACE;;;AAER;EACE;;;AAEF;EACE;;;AAEF;EACE;;;ACjDF;EACE;AACA;EACA;;AAEA;EACE;;AAEA;EACE;EACA;EACA;EACA;EACA;;AAEF;EACE;EACA;EACA;EACA;;AAEF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;EAEA;EAEA;;AAEA;EACE;EAEA;EACA;EACA","file":"sass.css"}
\ No newline at end of file \ No newline at end of file
...@@ -3,16 +3,15 @@ ...@@ -3,16 +3,15 @@
<head> <head>
<meta charset="utf-8"/> <meta charset="utf-8"/>
<title>CNRS GarganText</title> <title>CNRS GarganText</title>
<link rel="stylesheet" href="dist/icons/forkawesome.css"> <link rel="stylesheet" href="icons/forkawesome.css">
<link href="dist/styles/login.min.css" rel="stylesheet"> <link href="styles/bootstrap.min.css" rel="stylesheet">
<link href="dist/styles/bootstrap.min.css" rel="stylesheet"> <link rel="stylesheet" type="text/css" href="styles/highlightjs-solarized-light.css"/>
<link rel="stylesheet" type="text/css" href="dist/styles/highlightjs-solarized-light.css"/> <link href="styles/sass.css" rel="stylesheet" type="text/css" />
<link href="dist/styles/sass.css" rel="stylesheet" type="text/css" />
<style> * {margin: 0; padding: 0; list-style: none;} </style> <style> * {margin: 0; padding: 0; list-style: none;} </style>
</head> </head>
<body> <body>
<div id="app" class ="container-fluid"></div> <div id="app" class ="container-fluid"></div>
<div id="portal"></div> <div id="portal"></div>
<script src="app.js"></script> <script src="bundle.js"></script>
</body> </body>
</html> </html>
...@@ -6,7 +6,7 @@ import ...@@ -6,7 +6,7 @@ import
owner = "justinwoo"; owner = "justinwoo";
repo = "easy-purescript-nix"; repo = "easy-purescript-nix";
rev = "7ebddd8613cf6736dbecef9fce4c32f2a104ef82"; rev = "7ebddd8613cf6736dbecef9fce4c32f2a104ef82";
sha256 = "0lmkppidmhnayv0919990ifdd61f9d23dzjzr8amz7hjgc74yxs0"; sha256 = "1g1hlybld298kimd1varvwiflpb0k7sdqlmcqha3kswjvy5z4k6k";
} }
) { ) {
inherit pkgs; inherit pkgs;
......
import ( import (
builtins.fetchTarball { builtins.fetchTarball {
url = "https://github.com/NixOS/nixpkgs/archive/20.03.tar.gz"; url = "https://github.com/NixOS/nixpkgs/archive/20.03.tar.gz";
sha256 = "07n91k3d9i9pym8npsszha9mnvg4d1r0l0ldnhk4g8sx15vv1br5"; sha256 = "0182ys095dfx02vl2a20j1hz92dx3mfgz2a6fhn31bqlp1wa8hlq";
} }
) )
...@@ -135,27 +135,27 @@ carousselCpt = R.hooksComponentWithModule thisModule "caroussel" cpt ...@@ -135,27 +135,27 @@ carousselCpt = R.hooksComponentWithModule thisModule "caroussel" cpt
$ CategoryQuery {nodeIds: [r._id], category: c} $ CategoryQuery {nodeIds: [r._id], category: c}
icon :: Category -> Boolean -> String icon :: Category -> Boolean -> String
icon cat b = btn b $ "glyphicon glyphicon-" <> (color $ size b $ icon' cat b) icon cat b = btn b $ "fa fa-" <> (color $ size b $ icon' cat b)
where where
icon' :: Category -> Boolean -> String icon' :: Category -> Boolean -> String
icon' Trash false = "remove" icon' Trash false = "times"
icon' Trash true = "remove-sign" icon' Trash true = "times-circle"
icon' UnRead true = "question-sign" icon' UnRead false = "question"
icon' UnRead false = "question-sign" icon' UnRead true = "question-circle"
icon' Checked true = "ok-sign" icon' Checked false = "check"
icon' Checked false = "ok" icon' Checked true = "check-circle"
icon' Topic false = "star-o"
icon' Topic true = "star" icon' Topic true = "star"
icon' Topic false = "star-empty"
icon' Favorite false = "heart-o"
icon' Favorite true = "heart" icon' Favorite true = "heart"
icon' Favorite false = "heart-empty"
size :: Boolean -> String -> String size :: Boolean -> String -> String
size true s = s <> " btn-lg" size true s = s <> " btn-lg"
size false s = s <> " btn-xs" size false s = s <> " btn-sm"
color :: String -> String color :: String -> String
color x = x <> " text-primary" color x = x <> " text-primary"
......
...@@ -147,11 +147,11 @@ codeEditorCpt = R.hooksComponentWithModule thisModule "codeEditor" cpt ...@@ -147,11 +147,11 @@ codeEditorCpt = R.hooksComponentWithModule thisModule "codeEditor" cpt
codeHidden :: ViewType -> String codeHidden :: ViewType -> String
codeHidden Code = "" codeHidden Code = ""
codeHidden Both = "" codeHidden Both = ""
codeHidden _ = " hidden" codeHidden _ = " d-none"
dividerHidden :: ViewType -> String dividerHidden :: ViewType -> String
dividerHidden Both = "" dividerHidden Both = ""
dividerHidden _ = " hidden" dividerHidden _ = " d-none"
langClass :: CodeType -> String langClass :: CodeType -> String
langClass Haskell = " language-haskell" langClass Haskell = " language-haskell"
...@@ -162,7 +162,7 @@ codeEditorCpt = R.hooksComponentWithModule thisModule "codeEditor" cpt ...@@ -162,7 +162,7 @@ codeEditorCpt = R.hooksComponentWithModule thisModule "codeEditor" cpt
previewHidden :: ViewType -> String previewHidden :: ViewType -> String
previewHidden Preview = "" previewHidden Preview = ""
previewHidden Both = "" previewHidden Both = ""
previewHidden _ = " hidden" previewHidden _ = " d-none"
onEditChange :: forall e. Record Controls -> (CodeType -> Code -> Effect Unit) -> e -> Effect Unit onEditChange :: forall e. Record Controls -> (CodeType -> Code -> Effect Unit) -> e -> Effect Unit
onEditChange controls@{codeElRef, codeOverlayElRef, codeType: (codeType /\ _), codeS} onChange e = do onEditChange controls@{codeElRef, codeOverlayElRef, codeType: (codeType /\ _), codeS} onChange e = do
...@@ -289,18 +289,19 @@ viewTypeSelectorCpt :: R.Component ViewTypeSelectorProps ...@@ -289,18 +289,19 @@ viewTypeSelectorCpt :: R.Component ViewTypeSelectorProps
viewTypeSelectorCpt = R.hooksComponentWithModule thisModule "viewTypeSelector" cpt viewTypeSelectorCpt = R.hooksComponentWithModule thisModule "viewTypeSelector" cpt
where where
cpt {state} _ = cpt {state} _ =
pure $ H.div { className: "btn-group" } [ pure $ H.div { className: "btn-group"
, role: "group" } [
viewTypeButton Code state viewTypeButton Code state
, viewTypeButton Both state , viewTypeButton Both state
, viewTypeButton Preview state , viewTypeButton Preview state
] ]
viewTypeButton viewType (state /\ setState) = viewTypeButton viewType (state /\ setState) =
H.label { H.button { className: "btn btn-secondary" <> active
className: "btn btn-default" <> active , on: { click: onClick }
, on: { click: onClick } , type: "button"
} [ } [
H.i { className: "glyphicon " <> (icon viewType) } [] H.i { className: "fa " <> (icon viewType) } []
] ]
where where
active = if viewType == state then " active" else "" active = if viewType == state then " active" else ""
...@@ -308,9 +309,9 @@ viewTypeSelectorCpt = R.hooksComponentWithModule thisModule "viewTypeSelector" c ...@@ -308,9 +309,9 @@ viewTypeSelectorCpt = R.hooksComponentWithModule thisModule "viewTypeSelector" c
onClick _ = do onClick _ = do
setState $ const viewType setState $ const viewType
icon Preview = "glyphicon-eye-open" icon Preview = "fa-eye"
icon Both = "glyphicon-transfer" icon Both = "fa-columns"
icon Code = "glyphicon-pencil" icon Code = "fa-pencil"
type Controls = type Controls =
( (
......
...@@ -154,17 +154,17 @@ searchBar (query /\ setQuery) = R.createElement el {} [] ...@@ -154,17 +154,17 @@ searchBar (query /\ setQuery) = R.createElement el {} []
cpt {} _children = do cpt {} _children = do
queryText <- R.useState' query queryText <- R.useState' query
pure $ H.div {className: "row"} pure $ H.div {className: "col-md-12 row"}
[ H.div {className: "col col-md-3"} [] [ H.div {className: "col-md-3"} []
, H.div {className: "col col-md-1"} [if query /= "" then clearButton else H.div {} []] , H.div {className: "col-md-1"} [if query /= "" then clearButton else H.div {} []]
, H.div {className: "col col-md-3 form-group"} , H.div {className: "col-md-3 form-group"}
[ H.input { type: "text" [ H.input { type: "text"
, className: "form-control" , className: "form-control"
, on: {change: onSearchChange queryText, keyUp: onSearchKeyup queryText} , on: {change: onSearchChange queryText, keyUp: onSearchKeyup queryText}
, placeholder: query , placeholder: query
, defaultValue: query} , defaultValue: query}
] ]
, H.div {className: "col col-md-1"} [searchButton queryText] , H.div {className: "col-md-1"} [searchButton queryText]
] ]
onSearchChange :: forall e. R.State Query -> e -> Effect Unit onSearchChange :: forall e. R.State Query -> e -> Effect Unit
...@@ -180,14 +180,14 @@ searchBar (query /\ setQuery) = R.createElement el {} [] ...@@ -180,14 +180,14 @@ searchBar (query /\ setQuery) = R.createElement el {} []
searchButton (queryText /\ _) = searchButton (queryText /\ _) =
H.button { type: "submit" H.button { type: "submit"
, className: "btn btn-default" , className: "btn btn-secondary"
, on: {click: \e -> setQuery $ const queryText}} , on: {click: \e -> setQuery $ const queryText}}
[ H.span {className: "glyphicon glyphicon-search"} [] ] [ H.span {className: "fa fa-search"} [] ]
clearButton = clearButton =
H.button { className: "btn btn-danger" H.button { className: "btn btn-danger"
, on: {click: \e -> setQuery $ const ""}} , on: {click: \e -> setQuery $ const ""}}
[ H.span {className: "glyphicon glyphicon-remove"} [] ] [ H.span {className: "fa fa-times"} [] ]
mock :: Boolean mock :: Boolean
mock = false mock = false
...@@ -388,7 +388,7 @@ pagePaintRawCpt = R.hooksComponentWithModule thisModule "pagePaintRawCpt" cpt wh ...@@ -388,7 +388,7 @@ pagePaintRawCpt = R.hooksComponentWithModule thisModule "pagePaintRawCpt" cpt wh
row dv@(DocumentsView r) = row dv@(DocumentsView r) =
{ row: { row:
T.makeRow [ -- H.div {} [ H.a { className, style, on: {click: click Favorite} } [] ] T.makeRow [ -- H.div {} [ H.a { className, style, on: {click: click Favorite} } [] ]
H.div { className: "column-tag flex" } [ docChooser { listId, mCorpusId, nodeId: r._id, selected, sidePanelTriggers, tableReload: reload } [] H.div { className: "" } [ docChooser { listId, mCorpusId, nodeId: r._id, selected, sidePanelTriggers, tableReload: reload } []
] ]
--, H.div { className: "column-tag flex" } [ caroussel { category: cat, nodeId, row: dv, session, setLocalCategories } [] ] --, H.div { className: "column-tag flex" } [ caroussel { category: cat, nodeId, row: dv, session, setLocalCategories } [] ]
, H.div { className: "column-tag flex" } [ rating { score: cat, nodeId, row: dv, session, setLocalCategories } [] ] , H.div { className: "column-tag flex" } [ rating { score: cat, nodeId, row: dv, session, setLocalCategories } [] ]
...@@ -436,7 +436,7 @@ docChooserCpt = R.hooksComponentWithModule thisModule "docChooser" cpt ...@@ -436,7 +436,7 @@ docChooserCpt = R.hooksComponentWithModule thisModule "docChooser" cpt
let eyeClass = if selected then "fa-eye" else "fa-eye-slash" let eyeClass = if selected then "fa-eye" else "fa-eye-slash"
pure $ H.div { className: "doc-chooser" } [ pure $ H.div { className: "btn" } [
H.span { className: "fa " <> eyeClass H.span { className: "fa " <> eyeClass
, on: { click: onClick } } [] , on: { click: onClick } } []
] ]
......
...@@ -74,29 +74,29 @@ forest = R.createElement forestCpt ...@@ -74,29 +74,29 @@ forest = R.createElement forestCpt
) )
(cpt' openNodes asyncTasks appReload reload showLogin backend) (cpt' openNodes asyncTasks appReload reload showLogin backend)
cpt' openNodes asyncTasks appReload reload showLogin backend (frontends /\ currentRoute /\ sessions /\ _ /\ _ /\ _ /\ _ /\ handed) = do cpt' openNodes asyncTasks appReload reload showLogin backend (frontends /\ currentRoute /\ sessions /\ _ /\ _ /\ _ /\ _ /\ handed) = do
pure $ R2.row $ [ plus handed showLogin backend ] <> trees pure $ H.div { className: "forest" } $ [plus handed showLogin backend] <> trees
where where
trees = tree <$> unSessions sessions trees = tree <$> unSessions sessions
tree s@(Session {treeId}) = tree s@(Session {treeId}) =
treeView { appReload treeView { appReload
, asyncTasks , asyncTasks
, currentRoute , currentRoute
, frontends , frontends
, handed , handed
, openNodes , openNodes
, reload , reload
, root: treeId , root: treeId
, session: s , session: s
} [] } []
plus :: Handed -> R.Setter Boolean -> R.State (Maybe Backend) -> R.Element plus :: Handed -> R.Setter Boolean -> R.State (Maybe Backend) -> R.Element
plus handed showLogin backend = H.div { className: handedClass } [ plus handed showLogin backend = H.div { className: "row" } [
H.button { className: "btn btn-default" H.button { className: "btn btn-secondary col-5 " <> if handed == RightHanded then "ml-1 mr-auto" else "ml-auto mr-1"
, on: {click} , on: {click}
, title: "Add or remove connections to the server(s)." , title: "Add or remove connections to the server(s)."
} }
[ H.div { "type": "" [ H.div { "type": ""
, className: "fa fa-universal-access fa-lg" , className: "fa fa-universal-access" -- fa-lg
} [H.text " Log in/out "] } [H.text " Log in/out "]
, H.div {} [H.text " "] , H.div {} [H.text " "]
--, H.div { "type": "", className: "fa fa-plus-circle fa-lg"} [] --, H.div { "type": "", className: "fa fa-plus-circle fa-lg"} []
...@@ -106,11 +106,6 @@ plus handed showLogin backend = H.div { className: handedClass } [ ...@@ -106,11 +106,6 @@ plus handed showLogin backend = H.div { className: handedClass } [
-- TODO same as the one in the Login Modal (same CSS) -- TODO same as the one in the Login Modal (same CSS)
-- [ H.i { className: "material-icons md-36"} [] ] -- [ H.i { className: "material-icons md-36"} [] ]
where where
handedClass = if handed == RightHanded then
"flex-start" -- TODO we should use lefthanded SASS class here
else
"flex-end"
click _ = (snd backend) (const Nothing) click _ = (snd backend) (const Nothing)
*> showLogin (const true) *> showLogin (const true)
......
...@@ -193,7 +193,7 @@ loadedTreeViewFirstLevel = R.createElement elCpt ...@@ -193,7 +193,7 @@ loadedTreeViewFirstLevel = R.createElement elCpt
-- , tasks -- , tasks
, tree , tree
} _ = do } _ = do
pure $ H.ul { className: "tree" } [ pure $ H.ul { className: "tree " <> if handed == GT.RightHanded then "mr-auto" else "ml-auto" } [
H.div { className: if handed == GT.RightHanded then "righthanded" else "lefthanded" } [ H.div { className: if handed == GT.RightHanded then "righthanded" else "lefthanded" } [
toHtmlFirstLevel { appReload toHtmlFirstLevel { appReload
, asyncTasks , asyncTasks
......
...@@ -232,10 +232,9 @@ submitButtonHref action href = ...@@ -232,10 +232,9 @@ submitButtonHref action href =
checkbox :: R.State Boolean -> R.Element checkbox :: R.State Boolean -> R.Element
checkbox ( val /\ set ) = checkbox ( val /\ set ) =
H.input { id: "checkbox-id" H.input { className : "form-check-input"
, type: "checkbox" , type: "checkbox"
, value: val , value: val
, className : "checkbox"
, on: { click: \_ -> set $ const $ not val} , on: { click: \_ -> set $ const $ not val}
} }
...@@ -296,7 +295,8 @@ nodeLinkCpt = R.hooksComponentWithModule thisModule "nodeLink" cpt ...@@ -296,7 +295,8 @@ nodeLinkCpt = R.hooksComponentWithModule thisModule "nodeLink" cpt
popoverRef <- R.useRef null popoverRef <- R.useRef null
pure $ pure $
H.div { on: { click: onClick } } H.div { className: "node-link"
, on: { click: onClick } }
[ H.a { data: { for: tooltipId [ H.a { data: { for: tooltipId
, tip: true , tip: true
} }
......
...@@ -147,54 +147,55 @@ explorerCpt = R.hooksComponentWithModule thisModule "explorer" cpt ...@@ -147,54 +147,55 @@ explorerCpt = R.hooksComponentWithModule thisModule "explorer" cpt
snd controls.showSidePanel $ const GET.InitialClosed snd controls.showSidePanel $ const GET.InitialClosed
pure $ pure $
RH.div RH.div { className: "graph-meta-container" } [
{ id: "graph-explorer" } RH.div { className: "fixed-top navbar navbar-expand-lg"
[ rowToggle , id: "graph-explorer" }
[ col [ spaces [ Toggle.treeToggleButton controls.showTree ]] [ rowToggle
, col [ spaces [ Toggle.controlsToggleButton controls.showControls ]] [ col [ spaces [ Toggle.treeToggleButton controls.showTree ]]
, col [ spaces [ Toggle.sidebarToggleButton controls.showSidePanel ]] , col [ spaces [ Toggle.controlsToggleButton controls.showControls ]]
], R2.row , col [ spaces [ Toggle.sidebarToggleButton controls.showSidePanel ]]
[ outer ]
[ inner handed ]
[ rowControls [ Controls.controls controls ] , RH.div { className: "graph-container" } [
, R2.row $ mainLayout handed $ inner handed [
tree { asyncTasksRef rowControls [ Controls.controls controls ]
, backend , RH.div { className: "row graph-row" } $ mainLayout handed $
, currentRoute tree { asyncTasksRef
, frontends , backend
, handed , currentRoute
, reload: treeReload , frontends
, sessions , handed
, show: fst controls.showTree , reload: treeReload
, showLogin: snd showLogin , sessions
, treeReloadRef , show: fst controls.showTree
} , showLogin: snd showLogin
/\ , treeReloadRef
RH.div { ref: graphRef, id: "graph-view", className: "col-md-12" } [] }
/\ /\
graphView { controls RH.div { ref: graphRef, id: "graph-view", className: "col-md-12" } []
, elRef: graphRef /\
, graphId graphView { controls
, graph , elRef: graphRef
, hyperdataGraph , graphId
, mMetaData , graph
, multiSelectEnabledRef , hyperdataGraph
} , mMetaData
/\ , multiSelectEnabledRef
mSidebar mMetaData { frontends }
, graph /\
, graphId mSidebar mMetaData { frontends
, graphVersion , graph
, removedNodeIds : controls.removedNodeIds , graphId
, session , graphVersion
, selectedNodeIds: controls.selectedNodeIds , removedNodeIds : controls.removedNodeIds
, showSidePanel : controls.showSidePanel , session
, treeReload , selectedNodeIds: controls.selectedNodeIds
} , showSidePanel : controls.showSidePanel
] , treeReload
] }
] ]
] ]
]
mainLayout Types.RightHanded (tree' /\ gc /\ gv /\ sdb) = [tree', gc, gv, sdb] mainLayout Types.RightHanded (tree' /\ gc /\ gv /\ sdb) = [tree', gc, gv, sdb]
mainLayout Types.LeftHanded (tree' /\ gc /\ gv /\ sdb) = [sdb, gc, gv, tree'] mainLayout Types.LeftHanded (tree' /\ gc /\ gv /\ sdb) = [sdb, gc, gv, tree']
...@@ -205,12 +206,15 @@ explorerCpt = R.hooksComponentWithModule thisModule "explorer" cpt ...@@ -205,12 +206,15 @@ explorerCpt = R.hooksComponentWithModule thisModule "explorer" cpt
hClass = case h of hClass = case h of
Types.LeftHanded -> "lefthanded" Types.LeftHanded -> "lefthanded"
Types.RightHanded -> "righthanded" Types.RightHanded -> "righthanded"
rowToggle = RH.div { id: "toggle-container" } -- rowToggle = RH.div { id: "toggle-container" }
rowToggle = RH.ul { className: "navbar-nav ml-auto mr-auto" }
rowControls = RH.div { id: "controls-container" } rowControls = RH.div { id: "controls-container" }
col = RH.div { className: "col-md-4" } -- col = RH.div { className: "col-md-4" }
col = RH.li { className: "nav-item" }
pullLeft = RH.div { className: "pull-left" } pullLeft = RH.div { className: "pull-left" }
pullRight = RH.div { className: "pull-right" } pullRight = RH.div { className: "pull-right" }
spaces = RH.div { className: "flex-space-between" } -- spaces = RH.div { className: "flex-space-between" }
spaces = RH.a { className: "nav-link" }
tree :: Record TreeProps -> R.Element tree :: Record TreeProps -> R.Element
......
...@@ -141,38 +141,35 @@ controlsCpt = R.hooksComponentWithModule thisModule "controls" cpt ...@@ -141,38 +141,35 @@ controlsCpt = R.hooksComponentWithModule thisModule "controls" cpt
pure $ case getShowControls props of pure $ case getShowControls props of
false -> RH.div {} [] false -> RH.div {} []
true -> RH.div {} true -> R2.menu { id: "toolbar" } [
[ R2.menu { id: "toolbar" } RH.ul {} [ -- change type button (?)
[ RH.ul {} RH.li {} [ centerButton props.sigmaRef ]
[ -- change type button (?) , RH.li {} [ pauseForceAtlasButton {state: props.forceAtlasState} ]
RH.li {} [ centerButton props.sigmaRef ] , RH.li {} [ edgesToggleButton {state: props.showEdges} ]
, RH.li {} [ pauseForceAtlasButton {state: props.forceAtlasState} ] , RH.li {} [ louvainToggleButton props.showLouvain ]
, RH.li {} [ edgesToggleButton {state: props.showEdges} ] , RH.li {} [ edgeConfluenceControl edgeConfluenceRange props.edgeConfluence ]
, RH.li {} [ louvainToggleButton props.showLouvain ] , RH.li {} [ edgeWeightControl edgeWeightRange props.edgeWeight ]
, RH.li {} [ edgeConfluenceControl edgeConfluenceRange props.edgeConfluence ] -- change level
, RH.li {} [ edgeWeightControl edgeWeightRange props.edgeWeight ] -- file upload
-- change level -- run demo
-- file upload -- search button
-- run demo -- search topics
-- search button , RH.li {} [ labelSizeButton props.sigmaRef localControls.labelSize ] -- labels size: 1-4
-- search topics , RH.li {} [ nodeSizeControl nodeSizeRange props.nodeSize ]
, RH.li {} [ labelSizeButton props.sigmaRef localControls.labelSize ] -- labels size: 1-4 -- zoom: 0 -100 - calculate ratio
, RH.li {} [ nodeSizeControl nodeSizeRange props.nodeSize ] , RH.li {} [ multiSelectEnabledButton props.multiSelectEnabled ] -- toggle multi node selection
-- zoom: 0 -100 - calculate ratio -- save button
, RH.li {} [ multiSelectEnabledButton props.multiSelectEnabled ] -- toggle multi node selection , RH.li {} [ nodeSearchControl { graph: props.graph
-- save button , multiSelectEnabled: props.multiSelectEnabled
, RH.li {} [ nodeSearchControl { graph: props.graph , selectedNodeIds: props.selectedNodeIds } ]
, multiSelectEnabled: props.multiSelectEnabled , RH.li {} [ mouseSelectorSizeButton props.sigmaRef localControls.mouseSelectorSize ]
, selectedNodeIds: props.selectedNodeIds } ] , RH.li {} [ cameraButton { id: props.graphId
, RH.li {} [ mouseSelectorSizeButton props.sigmaRef localControls.mouseSelectorSize ] , hyperdataGraph: props.hyperdataGraph
, RH.li {} [ cameraButton { id: props.graphId , session: props.session
, hyperdataGraph: props.hyperdataGraph , sigmaRef: props.sigmaRef
, session: props.session , treeReload: props.treeReload } ]
, sigmaRef: props.sigmaRef
, treeReload: props.treeReload } ]
]
]
] ]
]
useGraphControls :: { forceAtlasS :: SigmaxT.ForceAtlasState useGraphControls :: { forceAtlasS :: SigmaxT.ForceAtlasState
, graph :: SigmaxT.SGraph , graph :: SigmaxT.SGraph
......
...@@ -53,10 +53,10 @@ type Props = ...@@ -53,10 +53,10 @@ type Props =
sidebar :: Record Props -> R.Element sidebar :: Record Props -> R.Element
sidebar props = R.createElement sidebarCpt props [] sidebar props = R.createElement sidebarCpt props []
sidebarCpt :: R.Component Props
sidebarCpt = R.hooksComponentWithModule thisModule "sidebar" cpt
where where
sidebarCpt :: R.Component Props
sidebarCpt = R.hooksComponentWithModule thisModule "sidebar" cpt
cpt {showSidePanel: (GET.Closed /\ _)} _children = do cpt {showSidePanel: (GET.Closed /\ _)} _children = do
pure $ RH.div {} [] pure $ RH.div {} []
cpt {showSidePanel: (GET.InitialClosed /\ _)} _children = do cpt {showSidePanel: (GET.InitialClosed /\ _)} _children = do
......
...@@ -89,7 +89,7 @@ inputWithAutocompleteCpt = R.hooksComponentWithModule thisModule "inputWithAutoc ...@@ -89,7 +89,7 @@ inputWithAutocompleteCpt = R.hooksComponentWithModule thisModule "inputWithAutoc
H.div { className: "list-group" } (cCpt <$> completions) H.div { className: "list-group" } (cCpt <$> completions)
] ]
where where
className = "completions " <> (if completions == [] then "hidden" else "") className = "completions " <> (if completions == [] then "d-none" else "")
cCpt c = cCpt c =
H.button { type: "button" H.button { type: "button"
......
This diff is collapsed.
This diff is collapsed.
...@@ -38,17 +38,21 @@ searchInputCpt :: R.Component SearchInputProps ...@@ -38,17 +38,21 @@ searchInputCpt :: R.Component SearchInputProps
searchInputCpt = R.hooksComponentWithModule thisModule "searchInput" cpt searchInputCpt = R.hooksComponentWithModule thisModule "searchInput" cpt
where where
cpt { onSearch, searchQuery } _ = cpt { onSearch, searchQuery } _ =
pure $ H.div { className: "input-group" } pure $ R2.row [
[ searchButton H.div { className: "col-12" } [
, fieldInput H.div { className: "input-group" } [
] searchButton
, fieldInput
]
]
]
where where
searchButton = searchButton =
H.div { className: "input-group-addon" } H.div { className: "input-group-prepend" }
[ [
if searchQuery /= "" if searchQuery /= ""
then removeButton then removeButton
else H.span { className: "fa fa-search" } [] else H.span { className: "fa fa-search input-group-text" } []
] ]
removeButton = removeButton =
H.button { className: "btn btn-danger" H.button { className: "btn btn-danger"
...@@ -158,11 +162,11 @@ treeCpt = R.hooksComponentWithModule thisModule "tree" cpt ...@@ -158,11 +162,11 @@ treeCpt = R.hooksComponentWithModule thisModule "tree" cpt
Nothing -> Nothing ->
span ngramsStyle span ngramsStyle
edit effect = [ H.text " " edit effect = [ H.text " "
, H.i { className: "glyphicon glyphicon-pencil" , H.i { className: "fa fa-pencil"
, on: { click: const effect } } [] , on: { click: const effect } } []
] ]
leaf = L.null cs leaf = L.null cs
className = "glyphicon glyphicon-chevron-" <> if open then "down" else "right" className = "fa fa-chevron-" <> if open then "down" else "right"
style = if leaf then {color: "#adb5bd"} else {color: ""} style = if leaf then {color: "#adb5bd"} else {color: ""}
open = not leaf || false {- TODO -} open = not leaf || false {- TODO -}
cs = ngramsTable ^.. ix ngramsDepth.ngrams <<< _NgramsRepoElement <<< _children <<< folded cs = ngramsTable ^.. ix ngramsDepth.ngrams <<< _NgramsRepoElement <<< _children <<< folded
...@@ -215,7 +219,7 @@ renderNgramsItemCpt = R.hooksComponentWithModule thisModule "renderNgramsItem" c ...@@ -215,7 +219,7 @@ renderNgramsItemCpt = R.hooksComponentWithModule thisModule "renderNgramsItem" c
then renderNgramsTree { ngramsTable, ngrams, ngramsStyle, ngramsClick, ngramsEdit } then renderNgramsTree { ngramsTable, ngrams, ngramsStyle, ngramsClick, ngramsEdit }
else else
H.a { on: { click: const $ dispatch $ ToggleChild true ngrams } } [ H.a { on: { click: const $ dispatch $ ToggleChild true ngrams } } [
H.i { className: "glyphicon glyphicon-plus" } [] H.i { className: "fa fa-plus" } []
, (R2.buff $ span ngramsStyle [text $ " " <> ngramsTermText ngrams]) , (R2.buff $ span ngramsStyle [text $ " " <> ngramsTermText ngrams])
] ]
] ]
......
This diff is collapsed.
...@@ -93,7 +93,7 @@ dashboardLayoutLoadedCpt = R.hooksComponentWithModule thisModule "dashboardLayou ...@@ -93,7 +93,7 @@ dashboardLayoutLoadedCpt = R.hooksComponentWithModule thisModule "dashboardLayou
] <> chartsEls <> [addNew]) ] <> chartsEls <> [addNew])
where where
addNew = H.div { className: "row" } [ addNew = H.div { className: "row" } [
H.span { className: "btn btn-default" H.span { className: "btn btn-secondary"
, on: { click: onClickAdd }} [ H.span { className: "fa fa-plus" } [] ] , on: { click: onClickAdd }} [ H.span { className: "fa fa-plus" } [] ]
] ]
where where
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment