From a393955457b323eb273ecf20720f740d16596521 Mon Sep 17 00:00:00 2001 From: Fumiya Kubota Date: Wed, 22 Dec 2021 13:16:14 +0900 Subject: [PATCH 01/14] for develop --- dev.docker-compose.yml | 32 ++++++++++++++++++++++++++++++++ node/nginx/nginx.conf | 1 + 2 files changed, 33 insertions(+) create mode 100644 dev.docker-compose.yml diff --git a/dev.docker-compose.yml b/dev.docker-compose.yml new file mode 100644 index 00000000..9c34c7da --- /dev/null +++ b/dev.docker-compose.yml @@ -0,0 +1,32 @@ +version: "3" +services: + mysql: + build: + context: mysql + environment: + MYSQL_ALLOW_EMPTY_PASSWORD: 1 + MYSQL_USER: umaka_v + MYSQL_DATABASE: dbcls_production + MYSQL_PASSWORD: glnyUnLiybsaE968Z7 + volumes: + - /opt/services/umaka_v/data:/var/lib/mysql + - /home/umaka_v/restore:/restore + redis: + image: redis:5.0-alpine + api: + build: + context: server + depends_on: + - mysql + - redis + ports: + - 5000:5000 + volumes: + - /opt/services/umaka_v/firebase/adminsdk.json:/app/firebase-config.json + nginx: + build: + context: node + ports: + - 10080:80 + depends_on: + - api diff --git a/node/nginx/nginx.conf b/node/nginx/nginx.conf index 64fbcf6a..1ed60e90 100644 --- a/node/nginx/nginx.conf +++ b/node/nginx/nginx.conf @@ -45,6 +45,7 @@ http { listen 80; server_name v.umaka.dbcls.jp; server_name umaka-viewer.dbcls.jp; + server_name umaka-viewer-dev.dbcls.jp; client_max_body_size 2g; root /public; From 2b07c0d6845214a6374a3603de1ab68946693d9b Mon Sep 17 00:00:00 2001 From: Fumiya Kubota Date: Wed, 22 Dec 2021 13:28:36 +0900 Subject: [PATCH 02/14] minorfix --- deploy/run-dev.sh | 46 ++++++++++++++++++++++++++++++++++++++++++++++ docker-compose.yml | 2 ++ 2 files changed, 48 insertions(+) create mode 100644 deploy/run-dev.sh diff --git a/deploy/run-dev.sh b/deploy/run-dev.sh new file mode 100644 index 00000000..9e80edd6 --- /dev/null +++ b/deploy/run-dev.sh @@ -0,0 +1,46 @@ +#!/bin/sh + +BASE = $HOME/dev + +update() { + cd $BASE/repos/umakaviewer + git pull origin develop +} + +rebuild() { + cd $BASE/repos/umakaviewer + docker-compose -p umakaviewer build +} + +start() { + cd $BASE/repos/umakaviewer + docker-compose -p umakaviewer up -d +} + +stop() { + cd $BASE/repos/umakaviewer + docker-compose -p umakaviewer down +} + +restart() { + cd $BASE/repos/umakaviewer + docker-compose -p umakaviewer restart +} + +ps() { + cd $BASE/repos/umakaviewer + docker-compose -p umakaviewer ps +} + +main() { + case $1 in + "update" ) update ;; + "rebuild" ) rebuild ;; + "start" ) start ;; + "stop" ) stop ;; + "restart" ) restart ;; + "ps" ) ps ;; + esac +} + +main $1 diff --git a/docker-compose.yml b/docker-compose.yml index 1beaddfc..8a53f2ff 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -14,6 +14,7 @@ services: redis: image: redis:5.0-alpine api: + image: dev-api build: context: server depends_on: @@ -24,6 +25,7 @@ services: volumes: - /opt/services/umaka_v/firebase/adminsdk.json:/app/firebase-config.json nginx: + image: dev-nginx build: context: node ports: From fe38bbd8206fe83381e94882ef951040b6abc474 Mon Sep 17 00:00:00 2001 From: Fumiya Kubota Date: Wed, 22 Dec 2021 13:30:40 +0900 Subject: [PATCH 03/14] minorfix --- dev.docker-compose.yml | 3 --- 1 file changed, 3 deletions(-) diff --git a/dev.docker-compose.yml b/dev.docker-compose.yml index 9c34c7da..f77b9103 100644 --- a/dev.docker-compose.yml +++ b/dev.docker-compose.yml @@ -8,9 +8,6 @@ services: MYSQL_USER: umaka_v MYSQL_DATABASE: dbcls_production MYSQL_PASSWORD: glnyUnLiybsaE968Z7 - volumes: - - /opt/services/umaka_v/data:/var/lib/mysql - - /home/umaka_v/restore:/restore redis: image: redis:5.0-alpine api: From df44ea05d1aaf8620bbefe1a9b1efb7708270447 Mon Sep 17 00:00:00 2001 From: Fumiya Kubota Date: Wed, 22 Dec 2021 14:01:30 +0900 Subject: [PATCH 04/14] minorfix --- dev.docker-compose.yml | 2 ++ docker-compose.yml | 2 -- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/dev.docker-compose.yml b/dev.docker-compose.yml index f77b9103..7ed34f72 100644 --- a/dev.docker-compose.yml +++ b/dev.docker-compose.yml @@ -11,6 +11,7 @@ services: redis: image: redis:5.0-alpine api: + image: api-dev build: context: server depends_on: @@ -21,6 +22,7 @@ services: volumes: - /opt/services/umaka_v/firebase/adminsdk.json:/app/firebase-config.json nginx: + image: nginx-dev build: context: node ports: diff --git a/docker-compose.yml b/docker-compose.yml index 8a53f2ff..1beaddfc 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -14,7 +14,6 @@ services: redis: image: redis:5.0-alpine api: - image: dev-api build: context: server depends_on: @@ -25,7 +24,6 @@ services: volumes: - /opt/services/umaka_v/firebase/adminsdk.json:/app/firebase-config.json nginx: - image: dev-nginx build: context: node ports: From 6dd88afd5cbae140e560d1efbdb4ecf23f95ac0b Mon Sep 17 00:00:00 2001 From: Fumiya Kubota Date: Wed, 22 Dec 2021 14:09:08 +0900 Subject: [PATCH 05/14] minorfix --- dev.docker-compose.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/dev.docker-compose.yml b/dev.docker-compose.yml index 7ed34f72..d90a548a 100644 --- a/dev.docker-compose.yml +++ b/dev.docker-compose.yml @@ -1,6 +1,7 @@ version: "3" services: mysql: + image: mysql-dev build: context: mysql environment: From d9cccf9290d35bbb8053d2fc82c0256a624f169e Mon Sep 17 00:00:00 2001 From: Fumiya Kubota Date: Wed, 22 Dec 2021 14:14:58 +0900 Subject: [PATCH 06/14] minorfix --- dev.docker-compose.yml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/dev.docker-compose.yml b/dev.docker-compose.yml index d90a548a..41b80b74 100644 --- a/dev.docker-compose.yml +++ b/dev.docker-compose.yml @@ -1,7 +1,7 @@ version: "3" services: mysql: - image: mysql-dev + container_name: umaka-mysql-dev build: context: mysql environment: @@ -10,9 +10,10 @@ services: MYSQL_DATABASE: dbcls_production MYSQL_PASSWORD: glnyUnLiybsaE968Z7 redis: + container_name: umaka-redis-dev image: redis:5.0-alpine api: - image: api-dev + container_name: umaka-api-dev build: context: server depends_on: @@ -23,7 +24,7 @@ services: volumes: - /opt/services/umaka_v/firebase/adminsdk.json:/app/firebase-config.json nginx: - image: nginx-dev + container_name: umaka-nginx-dev build: context: node ports: From 29693346006d786e4e296768f703ce607121a233 Mon Sep 17 00:00:00 2001 From: Fumiya Kubota Date: Wed, 22 Dec 2021 14:16:01 +0900 Subject: [PATCH 07/14] minorfix --- dev.docker-compose.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/dev.docker-compose.yml b/dev.docker-compose.yml index 41b80b74..a8e6babc 100644 --- a/dev.docker-compose.yml +++ b/dev.docker-compose.yml @@ -1,7 +1,7 @@ version: "3" services: mysql: - container_name: umaka-mysql-dev + container_name: mysql-dev build: context: mysql environment: @@ -14,6 +14,7 @@ services: image: redis:5.0-alpine api: container_name: umaka-api-dev + image: api-dev build: context: server depends_on: @@ -25,6 +26,7 @@ services: - /opt/services/umaka_v/firebase/adminsdk.json:/app/firebase-config.json nginx: container_name: umaka-nginx-dev + image: nginx-dev build: context: node ports: From 1bf5f37c7daea406ae747e5b8b2eeddbaa6c4270 Mon Sep 17 00:00:00 2001 From: Fumiya Kubota Date: Wed, 22 Dec 2021 14:55:26 +0900 Subject: [PATCH 08/14] minorfix --- dev.docker-compose.yml => dev/dev.docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename dev.docker-compose.yml => dev/dev.docker-compose.yml (95%) diff --git a/dev.docker-compose.yml b/dev/dev.docker-compose.yml similarity index 95% rename from dev.docker-compose.yml rename to dev/dev.docker-compose.yml index a8e6babc..c768202c 100644 --- a/dev.docker-compose.yml +++ b/dev/dev.docker-compose.yml @@ -1,7 +1,7 @@ version: "3" services: mysql: - container_name: mysql-dev + container_name: umaka-mysql-dev build: context: mysql environment: From 4ab7b4817b60ccd259cfd0b4fd25e30ac4fdaf35 Mon Sep 17 00:00:00 2001 From: Fumiya Kubota Date: Wed, 22 Dec 2021 14:57:39 +0900 Subject: [PATCH 09/14] minorfix --- dev/dev.docker-compose.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/dev/dev.docker-compose.yml b/dev/dev.docker-compose.yml index c768202c..086e631d 100644 --- a/dev/dev.docker-compose.yml +++ b/dev/dev.docker-compose.yml @@ -3,7 +3,7 @@ services: mysql: container_name: umaka-mysql-dev build: - context: mysql + context: ../mysql environment: MYSQL_ALLOW_EMPTY_PASSWORD: 1 MYSQL_USER: umaka_v @@ -16,7 +16,7 @@ services: container_name: umaka-api-dev image: api-dev build: - context: server + context: ../server depends_on: - mysql - redis @@ -28,7 +28,7 @@ services: container_name: umaka-nginx-dev image: nginx-dev build: - context: node + context: ../node ports: - 10080:80 depends_on: From 182cc60c2b7ded97ddd0708f7967e2bb39eb0a74 Mon Sep 17 00:00:00 2001 From: Fumiya Kubota Date: Wed, 22 Dec 2021 14:58:56 +0900 Subject: [PATCH 10/14] minorfix --- dev/dev.docker-compose.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/dev/dev.docker-compose.yml b/dev/dev.docker-compose.yml index 086e631d..60dfdf42 100644 --- a/dev/dev.docker-compose.yml +++ b/dev/dev.docker-compose.yml @@ -20,8 +20,6 @@ services: depends_on: - mysql - redis - ports: - - 5000:5000 volumes: - /opt/services/umaka_v/firebase/adminsdk.json:/app/firebase-config.json nginx: From f749cff1711b3fb06e4fd9afbf18ba034e7eb241 Mon Sep 17 00:00:00 2001 From: Fumiya Kubota Date: Wed, 22 Dec 2021 15:03:26 +0900 Subject: [PATCH 11/14] minorfix --- node/nginx/nginx.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/node/nginx/nginx.conf b/node/nginx/nginx.conf index 1ed60e90..8898ed4b 100644 --- a/node/nginx/nginx.conf +++ b/node/nginx/nginx.conf @@ -54,7 +54,7 @@ http { # return 301 https://umaka-viewer.dbcls.jp$request_uri; # } - if ($host != "umaka-viewer.dbcls.jp") { + if ($host == "v.umaka.dbcls.jp") { return 301 https://umaka-viewer.dbcls.jp$request_uri; } From 5ff49e94afc87f2581295143de12dc62e1297482 Mon Sep 17 00:00:00 2001 From: Fumiya Kubota Date: Wed, 22 Dec 2021 15:20:27 +0900 Subject: [PATCH 12/14] minorfix --- node/nginx/nginx.conf | 6 ------ 1 file changed, 6 deletions(-) diff --git a/node/nginx/nginx.conf b/node/nginx/nginx.conf index 8898ed4b..4bd8a802 100644 --- a/node/nginx/nginx.conf +++ b/node/nginx/nginx.conf @@ -43,8 +43,6 @@ http { server { listen 80; - server_name v.umaka.dbcls.jp; - server_name umaka-viewer.dbcls.jp; server_name umaka-viewer-dev.dbcls.jp; client_max_body_size 2g; root /public; @@ -54,10 +52,6 @@ http { # return 301 https://umaka-viewer.dbcls.jp$request_uri; # } - if ($host == "v.umaka.dbcls.jp") { - return 301 https://umaka-viewer.dbcls.jp$request_uri; - } - location /api { proxy_pass http://api:5000; # include /home/umaka_v/local/nginx/uwsgi_params; From 3c5c2725357c1ee962a033b7708bee10784d9d29 Mon Sep 17 00:00:00 2001 From: Fumiya Kubota Date: Wed, 22 Dec 2021 15:24:21 +0900 Subject: [PATCH 13/14] minorfix --- node/nginx/nginx.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/node/nginx/nginx.conf b/node/nginx/nginx.conf index 4bd8a802..50b25196 100644 --- a/node/nginx/nginx.conf +++ b/node/nginx/nginx.conf @@ -56,7 +56,7 @@ http { proxy_pass http://api:5000; # include /home/umaka_v/local/nginx/uwsgi_params; # uwsgi_pass unix:/opt/services/umaka_v/uwsgi/uwsgi.sock; - proxy_set_header host "umaka-viewer.dbcls.jp"; + proxy_set_header host "umaka-viewer-dev.dbcls.jp"; } location /static { From f6c276ae9314b04aff6757ab08095a4ba18ae11d Mon Sep 17 00:00:00 2001 From: Fumiya Kubota Date: Thu, 17 Mar 2022 16:45:49 +0900 Subject: [PATCH 14/14] =?UTF-8?q?firefox=E3=81=A0=E3=81=A8=E7=9F=A2?= =?UTF-8?q?=E5=8D=B0=E3=81=AE=E4=B8=AD=E7=82=B9=E3=81=AE=E7=AF=80=E3=81=8C?= =?UTF-8?q?=E8=A1=A8=E7=A4=BA=E3=81=95=E3=82=8C=E3=81=AA=E3=81=84=E3=81=AE?= =?UTF-8?q?=E3=82=92=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- node/src/style/style.scss | 180 ++++++++++-------- .../ts/visualizer/utils/GraphRepository.ts | 5 + 2 files changed, 102 insertions(+), 83 deletions(-) diff --git a/node/src/style/style.scss b/node/src/style/style.scss index adc068ad..e3aec198 100644 --- a/node/src/style/style.scss +++ b/node/src/style/style.scss @@ -19,7 +19,8 @@ $breadcrumbs-height: 47px; } } -@keyframes show-properties { // animation-direction: reverse を使うと再発火できない... +@keyframes show-properties { + // animation-direction: reverse を使うと再発火できない... from { margin-left: -280px; } @@ -49,7 +50,8 @@ $breadcrumbs-height: 47px; } } -.visible, .hidden { +.visible, +.hidden { animation-timing-function: linear; animation-duration: 0.2s; animation-fill-mode: forwards; @@ -59,9 +61,9 @@ $breadcrumbs-height: 47px; font-size: 14px; z-index: 4; position: fixed; - color: #1984B4; + color: #1984b4; background-color: rgba(255, 255, 255, 0.8); - border: 1px solid #1984B4; + border: 1px solid #1984b4; padding: 5px 5px 2px 5px; display: inline-block; height: 30px; @@ -105,7 +107,7 @@ html { div { padding: 16px; display: inline-block; - background-color: rgba(0, 0, 0, .7); + background-color: rgba(0, 0, 0, 0.7); } h1 { color: white; @@ -125,7 +127,7 @@ html { .open-toggle { display: inline-block; vertical-align: middle; - background-image: url("../images/nav_icon-arrow.png"); + background-image: url('../images/nav_icon-arrow.png'); min-width: 12px; height: 8px; } @@ -154,7 +156,7 @@ html { } body { - font-family: "Hiragino Kaku Gothic ProN","メイリオ", sans-serif; + font-family: 'Hiragino Kaku Gothic ProN', 'メイリオ', sans-serif; font-size: 14px; color: #444; height: 100%; @@ -185,7 +187,7 @@ body { width: 20px; height: 20px; min-height: 0; - background-image: url("../images/icon-hanrei-arrow.png"); + background-image: url('../images/icon-hanrei-arrow.png'); } #content::after { @@ -200,9 +202,9 @@ body { height: calc(100% - #{$header-height} - #{$dbcls-footer-height}); // min-height: 750px + $header-height + $dbcls-footer-height; position: absolute; - -moz-box-sizing:border-box; - -webkit-box-sizing:border-box; - box-sizing:border-box; + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; + box-sizing: border-box; #main { overflow: hidden; height: 100%; @@ -255,7 +257,6 @@ body { .triple-count { width: auto; } - } } @@ -281,7 +282,7 @@ body { .class-relations { list-style: none; li.selected { - background-color: #FFF176; + background-color: #fff176; } li { padding-left: 32px; @@ -358,7 +359,7 @@ body { } } .refered { - background-color: #FFF176; + background-color: #fff176; } } } @@ -388,7 +389,8 @@ body { overflow-y: hidden; white-space: nowrap; - span, button { + span, + button { margin-right: 6px; } @@ -432,7 +434,7 @@ body { } .filter-conditions { - input[type="number"] { + input[type='number'] { border: 1px solid #adb0bb; width: 48px; height: 24px; @@ -444,7 +446,7 @@ body { pointer-events: auto; text-align: right; - -moz-appearance:textfield; + -moz-appearance: textfield; &::-webkit-inner-spin-button, &::-webkit-outer-spin-button { -webkit-appearance: none; @@ -481,7 +483,7 @@ body { stroke: $focusing-color; } circle.leaf { - fill: #008E94; + fill: #008e94; } circle.hidden-children { fill: #007db2; @@ -543,17 +545,19 @@ body { text { text-anchor: middle; font: 14px sans-serif; - text-shadow: 1px 1px 0 #294d5d, -1px 1px 0 #294d5d, 1px -1px 0 #294d5d, -1px -1px 0 #294d5d; + text-shadow: 1px 1px 0 #294d5d, -1px 1px 0 #294d5d, 1px -1px 0 #294d5d, + -1px -1px 0 #294d5d; tspan { fill: white; } } text.focusing { - text-shadow: - 0 0 2px $white-color, 0 0 2px $white-color, 0 0 2px $white-color, 0 0 2px $white-color, - 0 0 2px $white-color, 0 0 2px $white-color, 0 0 2px $white-color, 0 0 2px $white-color, - 0 0 2px $white-color, 0 0 2px $white-color, 0 0 2px $white-color, 0 0 2px $white-color, - 0 0 2px $white-color, 0 0 2px $white-color, 0 0 2px $white-color, 0 0 2px $white-color; + text-shadow: 0 0 2px $white-color, 0 0 2px $white-color, + 0 0 2px $white-color, 0 0 2px $white-color, 0 0 2px $white-color, + 0 0 2px $white-color, 0 0 2px $white-color, 0 0 2px $white-color, + 0 0 2px $white-color, 0 0 2px $white-color, 0 0 2px $white-color, + 0 0 2px $white-color, 0 0 2px $white-color, 0 0 2px $white-color, + 0 0 2px $white-color, 0 0 2px $white-color; tspan { font-size: 18px; font-weight: bold; @@ -619,8 +623,7 @@ body { font-size: 18px; font-weight: bold; line-height: 1.8; - text-shadow: - 0 0 2px #444, 0 0 2px #444, 0 0 2px #444, 0 0 2px #444, + text-shadow: 0 0 2px #444, 0 0 2px #444, 0 0 2px #444, 0 0 2px #444, 0 0 2px #444, 0 0 2px #444, 0 0 2px #444, 0 0 2px #444, 0 0 2px #444, 0 0 2px #444, 0 0 2px #444, 0 0 2px #444, 0 0 2px #444, 0 0 2px #444, 0 0 2px #444, 0 0 2px #444; @@ -636,17 +639,17 @@ body { } g#lines-nodes { circle { - r: 8; stroke: #666; fill: #666; } } - } figure { width: calc(100% - #{$tree-figure-margin} * 2); - height: calc(100% - (#{$tree-figure-margin} * 3 + #{$breadcrumbs-height})); + height: calc( + 100% - (#{$tree-figure-margin} * 3 + #{$breadcrumbs-height}) + ); position: absolute; top: calc(#{$tree-figure-margin} * 2 + #{$breadcrumbs-height}); left: $tree-figure-margin; @@ -695,7 +698,6 @@ body { } } - foreignObject { font-size: 12px; line-height: 1.4; @@ -723,7 +725,8 @@ body { } circle { - &.leaf, &.hidden-children { + &.leaf, + &.hidden-children { stroke: #666; stroke-width: 1px; } @@ -765,7 +768,8 @@ body { } } - g.focusing, g.parent { + g.focusing, + g.parent { polygon { fill: $focusing-color; } @@ -780,16 +784,19 @@ body { } g.focusing { - circle.hidden-children, circle.leaf { + circle.hidden-children, + circle.leaf { stroke: $focusing-color; } - circle.hidden-children, circle.leaf { + circle.hidden-children, + circle.leaf { fill: #fff; stroke-width: 2px; } - text, p { + text, + p { font-weight: bold; } } @@ -806,7 +813,7 @@ body { font-weight: bold; tspan { - dominant-baseline: text-before-edge; // Safariだとtextにつけたdominant-baselineがtspanに継承されない... + dominant-baseline: text-before-edge; // Safariだとtextにつけたdominant-baselineがtspanに継承されない... &:first-child { fill: #8f8f8f; @@ -866,12 +873,12 @@ body { margin-right: auto; padding: 4px; - .focused-icon { - height: 20px; - margin-right: 8px; - width: 20px; - background-image: url('../images/icon-location.png'); - } + .focused-icon { + height: 20px; + margin-right: 8px; + width: 20px; + background-image: url('../images/icon-location.png'); + } } .parent { @@ -880,13 +887,13 @@ body { margin: 0 16px; .legend { - background-color: rgba(255, 79, 32, 0.5); - display: inline-block; - height: 20px; - margin-right: 8px; - width: 20px; - border-radius: 6px; - border-radius: 10px; + background-color: rgba(255, 79, 32, 0.5); + display: inline-block; + height: 20px; + margin-right: 8px; + width: 20px; + border-radius: 6px; + border-radius: 10px; &:after { border: 1px solid #666; @@ -907,12 +914,12 @@ body { margin: 0 16px; .legend { - border: 2px solid $focusing-color; - border-radius: 6px; - display: inline-block; - height: 12px; - margin-right: 8px; - width: 12px; + border: 2px solid $focusing-color; + border-radius: 6px; + display: inline-block; + height: 12px; + margin-right: 8px; + width: 12px; } } } @@ -938,7 +945,7 @@ body { right: 16px; } - .section>a { + .section > a { color: #444; font-size: 13px; text-decoration: underline; @@ -970,7 +977,8 @@ body { margin-top: 0; color: $domain-color; } - a, button { + a, + button { color: $domain-color; } } @@ -984,7 +992,8 @@ body { margin-top: 0; color: $range-color; } - a, button { + a, + button { color: $range-color; } } @@ -998,7 +1007,8 @@ body { margin-top: 0; color: $domain-range-color; } - a, button { + a, + button { color: $domain-range-color; } } @@ -1075,7 +1085,8 @@ body { font-size: 13px; line-height: 13px; - a,button.object { + a, + button.object { text-decoration: underline; color: #a567a7; cursor: pointer; @@ -1117,7 +1128,7 @@ body { right: 24px; height: 100%; width: 406px; - pointer-events : none; + pointer-events: none; #legend.close { width: 103px; height: 54px; @@ -1161,19 +1172,19 @@ body { &.highlight li { &:nth-of-type(1) .visual { - background-image: url("../images/icon-hanrei-circle01.png"); + background-image: url('../images/icon-hanrei-circle01.png'); } &:nth-of-type(2) .visual { - background-image: url("../images/icon-hanrei-circle02.png"); + background-image: url('../images/icon-hanrei-circle02.png'); } &:nth-of-type(3) .visual { - background-image: url("../images/icon-hanrei-circle03.png"); + background-image: url('../images/icon-hanrei-circle03.png'); } &:nth-of-type(4) .visual { - background-image: url("../images/icon-hanrei-circle04.png"); + background-image: url('../images/icon-hanrei-circle04.png'); } } @@ -1190,7 +1201,7 @@ body { } &:nth-of-type(2) .visual { - background-color: #008E94; + background-color: #008e94; } &:nth-of-type(3) .visual { @@ -1210,7 +1221,6 @@ body { } } - #header-right { height: 100%; position: absolute; @@ -1241,14 +1251,15 @@ body { } input::selection { - color: #444; // http://ichiy.hatenablog.com/entry/2014/07/22/120151 + color: #444; // http://ichiy.hatenablog.com/entry/2014/07/22/120151 } img { - margin-left: calc(-12px - 10px); // 画像のwidthを引く + margin-left: calc(-12px - 10px); // 画像のwidthを引く } - input, img { + input, + img { z-index: 1; position: relative; } @@ -1297,7 +1308,7 @@ body { } * { - display: inline-block; // URIが長い場合に正しく改行するため + display: inline-block; // URIが長い場合に正しく改行するため } dt { @@ -1306,13 +1317,14 @@ body { } dd { - & > span :first-of-type { // Reactが勝手に作るspanにはmarginを適用しない + & > span :first-of-type { + // Reactが勝手に作るspanにはmarginを適用しない margin-right: 8px; } .triple-count { color: inherit; - margin-left: 0px; // 改行が入った場合に余計なmarginを設けないため + margin-left: 0px; // 改行が入った場合に余計なmarginを設けないため background-image: url('../images/icon-classcount.png'); } } @@ -1335,12 +1347,12 @@ body { &:after { display: inline-block; top: 24px; - right:16px; - content: " "; + right: 16px; + content: ' '; width: 12px; height: 8px; margin: 0 0 0 8px; - background: url("../images/header__icon-prefix.png") no-repeat; + background: url('../images/header__icon-prefix.png') no-repeat; background-size: 12px auto; } } @@ -1349,18 +1361,18 @@ body { } .prefix--link__list { overflow: scroll; - box-shadow: 0px 2px 2px rgba(0,0,0,0.35); + box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.35); max-height: 100%; display: none; position: absolute; - top:30px; + top: 30px; right: 16px; z-index: 10; dl { position: relative; width: 384px; padding: 16px; - top:0; + top: 0; background: #fff; color: #444; font-size: 13px; @@ -1378,7 +1390,7 @@ body { bottom: 100%; right: 30px; border: solid transparent; - content: " "; + content: ' '; height: 0; width: 0; z-index: 10; @@ -1409,7 +1421,8 @@ body { } } - .detail, .uri { + .detail, + .uri { display: flex; flex-direction: row; align-items: center; @@ -1418,7 +1431,8 @@ body { } } - .subject, .object { + .subject, + .object { display: flex; flex-direction: column; align-items: flex-start; @@ -1478,4 +1492,4 @@ body { // } // } -@import "top.scss"; +@import 'top.scss'; diff --git a/node/src/ts/visualizer/utils/GraphRepository.ts b/node/src/ts/visualizer/utils/GraphRepository.ts index 5337f81f..8da88441 100644 --- a/node/src/ts/visualizer/utils/GraphRepository.ts +++ b/node/src/ts/visualizer/utils/GraphRepository.ts @@ -894,6 +894,7 @@ class GraphRepository { .attr('cy', (d) => { return getMidPoint(f, d, 'y') }) + .attr('r', 8) ctx.linesNodes.leftHand .attr('cx', (d) => { d.data.pointToCenter = true @@ -903,6 +904,7 @@ class GraphRepository { d.data.pointToCenter = true return getMidPoint(f, d, 'y') }) + .attr('r', 8) ctx.linesNodes.both .attr('cx', (d) => { @@ -913,6 +915,7 @@ class GraphRepository { d.data.pointToCenter = true return getMidPoint(f, d, 'y') }) + .attr('r', 8) ctx.linesNodes.same .attr('cx', (d) => { @@ -921,6 +924,7 @@ class GraphRepository { .attr('cy', (d) => { return getMidPontSideToSide(f, d, 'y') }) + .attr('r', 8) const getMidPointToSelf = (node: NodeType, xy: 'x' | 'y') => { // 4時から11時の方向を指す @@ -951,6 +955,7 @@ class GraphRepository { .attr('cy', (d) => { return getMidPointToSelf(d, 'y') }) + .attr('r', 8) } addArrowLineEvent(