From a2efb03ac46d501e7320e6df5c0c915f62637d9f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9E=97=E4=B8=80=E4=BA=8C?= Date: Sun, 8 Aug 2021 00:17:41 +0800 Subject: [PATCH] feat: upgrade tiddlymap --- template/wiki/plugins/felixhayashi/tiddlymap/files/layout.css | 2 +- .../felixhayashi/tiddlymap/js/graph/ViewAbstraction.js | 2 +- .../plugins/felixhayashi/tiddlymap/js/services/Adapter.js | 2 +- .../plugins/felixhayashi/tiddlymap/js/widget/MapWidget.js | 2 +- template/wiki/plugins/felixhayashi/tiddlymap/plugin.info | 4 ++-- .../dialog/configure_view/dialog.configure_view.layout.tid | 4 ++++ 6 files changed, 10 insertions(+), 6 deletions(-) diff --git a/template/wiki/plugins/felixhayashi/tiddlymap/files/layout.css b/template/wiki/plugins/felixhayashi/tiddlymap/files/layout.css index 240d06b2..ea3f097b 100644 --- a/template/wiki/plugins/felixhayashi/tiddlymap/files/layout.css +++ b/template/wiki/plugins/felixhayashi/tiddlymap/files/layout.css @@ -1 +1 @@ -body .tc-page-container-wrapper.tc-modal-displayed{-webkit-filter:inherit;-moz-filter:inherit;filter:inherit}body .tc-modal-wrapper{z-index:1010}body .tc-modal-wrapper .tc-modal-header svg{vertical-align:sub}body .tc-modal-wrapper .tc-modal-header h3{line-height:10px}body .tc-modal-wrapper .tc-modal-body{min-height:250px;max-height:70vh;padding-top:0px;padding-bottom:0px;overflow:auto}body .tc-modal-wrapper .tc-modal-footer{padding:8px}body .tc-modal-wrapper .tc-modal-footer .tmap-dialog-button{font-weight:bold}body .tc-modal-wrapper .tc-modal-footer .tmap-hidden-close-button{display:none}table.tmap-table tr:nth-child(odd),.tc-modal-body table.tmap-config-table tr:nth-child(odd){background-color:#F0F0F0}table.tmap-table tr:nth-child(even),.tc-modal-body table.tmap-config-table tr:nth-child(even){background-color:#FFFFFF}.tmap-save-canvas-preview{text-align:center;background:lightgray}.tmap-save-canvas-preview img{background-color:white;max-width:100%;max-height:100px;border:1px solid red}.tmap-list-separator{display:block;background-color:#efefef;margin:10px 0 5px 0;cursor:default;border-bottom:1px dotted gray;font-weight:bold;font-size:0.8em}.tmap-unicode-icon{width:1em;display:inline-block;text-align:center;color:black}html .tmap-link{color:#5778D8}html .tmap-link:hover{color:white;background:#5778D8}html .tmap-small-list,html .tmap-smaller-list,html .tmap-very-small-list{overflow:auto;min-height:2em;max-height:9em;display:block}html .tmap-smaller-list{max-height:7em}html .tmap-very-small-list{max-height:5empx}html .tc-tiddler-controls button.tmap-active-button svg{fill:#888888}html #tmap-node-filter-dialog #tmap-filter-tips{font-size:0.8em}html #tmap-node-filter-dialog textarea{height:100px;max-height:300px;overflow:auto;width:100%;font-size:11px;font-family:"Courier New", Courier, monospace}@media (max-width: {{$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint}}){.tc-sidebar-scrollable .tmap-desktop-editor .tmap-widget:not(.tmap-fullscreen){display:none}}@media (min-width: {{$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint}}){.tc-sidebar-scrollable .tmap-mobile-editor{display:none}.tc-modal-wrapper{z-index:1010}.tc-modal-wrapper .tc-modal{boder:1px solid #999999;left:calc(50% - 400px);width:802px}.tc-modal-wrapper .tc-modal-body{left:calc(50% - 400px);width:800px}}@-o-keyframes fadein-keyframes{0%{opacity:0}100%{opacity:1}}@-moz-keyframes fadein-keyframes{0%{opacity:0}100%{opacity:1}}@-webkit-keyframes fadein-keyframes{0%{opacity:0}100%{opacity:1}}@keyframes flash fadein-keyframes{0%{opacity:0}100%{opacity:1}}@-o-keyframes fadeout-keyframes{0%{opacity:1}100%{opacity:0}}@-moz-keyframes fadeout-keyframes{0%{opacity:1}100%{opacity:0}}@-webkit-keyframes fadeout-keyframes{0%{opacity:1}100%{opacity:0}}@keyframes flash fadeout-keyframes{0%{opacity:1}100%{opacity:0}}.tmap-config-widget{background:#F0F0F0;padding:5px;margin:5px 0;box-sizing:border-box;display:block}.tmap-config-widget .vis-network{display:none}.tmap-config-widget .vis-configuration-wrapper{width:100%}.tmap-config-widget .vis-configuration-wrapper .vis-config-rangeinput{height:inherit;margin-left:4px}.tmap-config-widget .vis-configuration-wrapper .vis-configuration.vis-config-item{width:100%;height:inherit;background:none;padding-left:0px;left:0}.tmap-config-widget .vis-configuration-wrapper .vis-configuration.vis-config-item.tmap-vis-config-item-active .vis-config-label::after{content:"(inherited)";position:absolute;display:inline-block;margin-left:10px;-o-animation:fadein-keyframes 1s;-moz-animation:fadein-keyframes 1s;-webkit-animation:fadein-keyframes 1s;animation:fadein-keyframes 1s;content:"✔";color:green;font-weight:bold;font-size:15px}.tmap-config-widget .vis-configuration-wrapper .vis-configuration.vis-config-item button.tmap-config-item-reset{vertical-align:top;margin-left:5px}.tmap-config-widget .vis-configuration-wrapper .vis-configuration.vis-config-item .vis-config-range{width:150px}.tmap-config-widget .vis-configuration-wrapper .vis-configuration.vis-config-item .vis-config-range::-moz-range-track{width:150px !important}.tmap-config-widget .vis-configuration-wrapper .vis-configuration.vis-config-item .vis-config-label{width:150px}.tmap-config-widget::after{clear:both;content:"";display:block}.tmap-flash-message{border:1px solid lightgray;padding:5px;margin:6px 0;display:block;color:#333333}.tmap-flash-message.tmap-info,.tmap-flash-message.tmap-plain,.tmap-flash-message.tmap-neutral{background:#F0F0F0}.tmap-flash-message.tmap-info::before,.tmap-flash-message.tmap-plain::before,.tmap-flash-message.tmap-neutral::before{content:"i";display:inline-block;border-radius:50%;width:0.8em;border:2px solid;font-family:serif;text-align:center;height:0.8em;font-weight:bold;line-height:0.8em;vertical-align:text-top;margin-right:2px}.tmap-flash-message.tmap-valid,.tmap-flash-message.tmap-success{background:#D1EED4}.tmap-flash-message.tmap-valid::before,.tmap-flash-message.tmap-success::before{content:"i";display:inline-block;border-radius:50%;width:0.8em;border:2px solid;font-family:serif;text-align:center;height:0.8em;font-weight:bold;line-height:0.8em;vertical-align:text-top;margin-right:2px}.tmap-flash-message.tmap-warning{background:#FFF6D1}.tmap-flash-message.tmap-warning::before{content:"";display:inline-block;background:url(<>);display:inline-block;width:1em;height:1em;background-size:100% 100%;vertical-align:text-top;margin-right:2px}.tmap-flash-message.tmap-malformed,.tmap-flash-message.tmap-invalid,.tmap-flash-message.tmap-danger{background:#EED5D1}.tmap-flash-message.tmap-malformed::before,.tmap-flash-message.tmap-invalid::before,.tmap-flash-message.tmap-danger::before{content:"";display:inline-block;background:url(<>);display:inline-block;width:1em;height:1em;background-size:100% 100%;vertical-align:text-top;margin-right:2px}.tmap-widget{background:#FFFFFF;width:auto;position:relative;border:1px dotted lightgray;padding:2px;color:#666;display:block}.tmap-widget.tmap-click-to-use:not(.tmap-fullscreen) .vis-network:not(.vis-active){cursor:pointer}.tmap-widget.tmap-click-to-use:not(.tmap-fullscreen) .vis-network:not(.vis-active) .vis-navigation{display:none}.tmap-widget.tmap-click-to-use:not(.tmap-fullscreen) .vis-network:not(.vis-active):hover:before{color:gray;background:white;content:"Click to use";font-size:14px;font-weight:bold;right:calc(50% - 65px - 5px);position:absolute;text-align:center;top:calc(50% - 14px - 5px);width:130px;z-index:2000;padding:5px;pointer-events:none;background-color:rgba(255,255,255,0.3)}.tmap-widget .tmap-loading-bar{display:none;position:absolute;text-align:center;font-size:2em;padding:10px;top:50%;background:rgba(245,245,245,0.5);z-index:1;width:250px;margin:auto;left:0px;right:0px}.tmap-widget .tmap-vis-graph{height:calc(100% - 35px)}.tmap-widget.tmap-no-buttons .vis-navigation{display:none}.tmap-widget.tmap-advanced-editor .tmap-topbar{background:#d6d9d8}.tmap-widget.tmap-advanced-editor .tmap-topbar .tmap-active-button{color:#488DCD}.tmap-widget.tmap-advanced-editor .tmap-topbar .tmap-active-button svg{fill:#488DCD}.tmap-widget.tmap-advanced-editor .tmap-topbar .tmap-unicode-button{font-size:1.5em;vertical-align:bottom;height:28px;fill:#555555}.tmap-widget.tmap-advanced-editor .tmap-topbar .tmap-unicode-button svg{vertical-align:baseline}.tmap-widget .tmap-menu-bar{width:100%}.tmap-widget .tmap-topbar{background:#F5F5F5;border-bottom:1px solid lightgray;padding:3px 5px;height:35px;position:relative}.tmap-widget .tmap-topbar .tmap-view-label{width:100%;text-align:center;font-weight:bold;padding-top:3px}.tmap-widget .tmap-topbar .tmap-focus-button{position:absolute;right:10px;top:6px}.tmap-widget .tmap-topbar .tmap-focus-button input{width:140px}.tmap-widget .tmap-topbar .tmap-search-dropdown{position:relative}.tmap-widget .tmap-topbar .tmap-search-dropdown .tc-drop-down{position:absolute;z-index:999;right:0px}.tmap-widget .tmap-topbar [hidden]{display:none}.tmap-widget .tmap-topbar select{width:30%;max-width:200px;word-wrap:initial;padding:0px;height:28px}.tmap-widget .tmap-topbar button{line-height:inherit;color:#666}.tmap-widget .tmap-topbar>*{display:inline-block}.tmap-widget .tmap-topbar .tmap-separator:after{color:#bdbdbd;margin:3px;content:" | "}.tmap-widget .tmap-topbar .tc-edit-add-tag .tc-add-tag-name input{width:70%}.tmap-widget .tmap-topbar .tc-sidebar-header{text-shadow:none}.tmap-widget .tmap-topbar .tc-edit-tags{border:none;padding:inherit;box-shadow:none}.tmap-widget.tmap-static-mode .tmap-topbar{height:initial}.tmap-widget.tmap-static-mode .tmap-vis-graph{text-align:center;cursor:not-allowed}.tmap-widget.tmap-static-mode .tmap-vis-graph:not(.tmap-graph-placeholder):hover::before{box-shadow:10px 10px 5px lightgray;color:gray;background:white;content:"Static";font-size:18px;font-weight:bold;left:50%;margin-left:-100px;position:absolute;text-align:center;top:50px;width:200px;z-index:2000;padding:5px;pointer-events:none}.tmap-widget.tmap-static-mode .tmap-vis-graph.tmap-graph-placeholder::before{content:"No Preview";display:block;text-align:center;padding:20px}.tmap-widget .tc-drop-down{min-width:170px;padding:5px;margin:5px 0}.tmap-widget .tc-drop-down button,.tmap-widget .tc-drop-down a{padding:0 2px;text-decoration:none}.tmap-widget .tc-drop-down button:hover,.tmap-widget .tc-drop-down a:hover{color:#ffffff}.tmap-widget .tc-drop-down button svg,.tmap-widget .tc-drop-down a svg{vertical-align:middle}.tmap-widget .tc-block-dropdown{width:370px;min-width:370px;padding:5px;margin:15px 0 0 -370px}.tmap-widget .tc-block-dropdown a{display:inline;padding:0px}.tmap-widget.tmap-plain-design{border:none;padding:0px}.tmap-widget.tmap-plain-design .tmap-topbar{display:none}.tc-sidebar-scrollable .tmap-widget{position:absolute;min-height:350px}.tmap-widget div.vis-network .vis-edit-mode{height:26px}.tmap-widget div.vis-network .vis-manipulation{height:34px;border-top:1px solid #d6d9d8;background:rgba(245,245,245,0.7)}.tmap-widget div.vis-network .vis-navigation .vis-button.tmap-button-enabled{right:15px}.tmap-widget div.vis-network .vis-navigation .vis-button.tmap-button-enabled.tmap-fullscreen-button{bottom:90px;background-image:url(<>)}.tmap-widget div.vis-network .vis-navigation .vis-button.tmap-button-enabled.tmap-halfscreen-button{bottom:130px;background-image:url(<>)}.tmap-widget div.vis-network .vis-navigation .vis-button:hover{box-shadow:0 0 3px 3px rgba(75,75,75,0.3)}.tmap-widget div.vis-network .vis-navigation .vis-button:hover:before{background:beige;display:block;color:black;padding:3px;position:relative;border:1px solid lightgray;width:80px;left:-100px;top:-50px;z-index:1000;text-align:center}.tmap-widget div.vis-network .vis-navigation .vis-button:hover.vis-up:before{left:30px;content:"Scroll up"}.tmap-widget div.vis-network .vis-navigation .vis-button:hover.vis-down:before{left:30px;content:"Scroll down"}.tmap-widget div.vis-network .vis-navigation .vis-button:hover.vis-right:before{left:30px;content:"Scroll right"}.tmap-widget div.vis-network .vis-navigation .vis-button:hover.vis-left:before{left:30px;content:"Scroll left"}.tmap-widget div.vis-network .vis-navigation .vis-button:hover.vis-zoomOut:before{content:"Zoom out"}.tmap-widget div.vis-network .vis-navigation .vis-button:hover.vis-zoomIn:before{content:"Zoom in"}.tmap-widget div.vis-network .vis-navigation .vis-button:hover.vis-zoomExtends:before{content:"Fit whole graph"}.tmap-widget div.vis-network .vis-navigation .vis-button:hover.tmap-fullscreen-button:before{content:"Toggle Fullscreen"}.tmap-widget div.vis-network .vis-navigation .vis-button:hover.tmap-halfscreen-button:before{content:"Toggle Halfscreen"}.tc-dropzone>.tc-story-river .tmap-widget .vis-navigation .tmap-halfscreen-button{display:none}.tc-dropzone>.tc-story-river .tmap-widget:not(.tmap-fullscreen) .vis-navigation .vis-button{display:none}.tc-dropzone>.tc-story-river .tmap-widget:hover .vis-navigation .vis-button.tmap-fullscreen-button{display:block}.tc-dropzone>.tc-story-river .tmap-widget:hover .vis-navigation .vis-button.vis-zoomExtends{display:block}body.tmap-has-fullscreen-widget{overflow:hidden}body.tmap-has-fullscreen-widget .tmap-widget.tmap-fullscreen{background:white !important;height:100% !important;width:100% !important;position:fixed !important;top:0 !important;right:0 !important;bottom:0 !important;left:0 !important;z-index:999 !important;border:none !important;margin:0 !important}body.tmap-has-fullscreen-widget .tc-dropzone>*.tmap-has-fullscreen-widget{background:white !important;height:100% !important;width:100% !important;position:fixed !important;top:0 !important;right:0 !important;bottom:0 !important;left:0 !important;z-index:999 !important;border:none !important;margin:0 !important}body.tmap-has-fullscreen-widget .tc-dropzone>*:not(.tmap-has-fullscreen-widget){display:none}body.tmap-has-halfscreen-widget .tmap-widget.tmap-halfscreen{background:white !important;height:100% !important;width:100% !important;position:fixed !important;top:0 !important;right:0 !important;bottom:0 !important;left:0 !important;z-index:999 !important;border:none !important;margin:0 !important;position:absolute !important;border-left:1px solid lightgray !important}.tc-modal-footer .tmap-hidden-close-button{display:none}.tmap-modal-content{position:relative;padding:1em 0;padding-top:0}.tmap-modal-content table tr td{vertical-align:top}.tmap-modal-content :not(pre)>code{padding:1px;font-size:0.9em;position:relative;top:-1px}.tmap-modal-content :not(pre)>code{color:#666}.tmap-modal-content .tc-tab-set .tc-tab-content{margin-top:0.5em}.tmap-modal-content .tc-image-button{font-size:14px}.tmap-modal-content fieldset{margin:0px}.tmap-modal-content fieldset legend{font-weight:bold}.tc-modal-body .tmap-modal-editor>p{margin:0px}.tc-modal-body .tmap-modal-editor .tmap-template-select select{width:50%}.tc-modal-body .tmap-modal-editor .tc-tiddler-frame{margin:auto;width:auto}.tc-modal-body .tmap-modal-editor .tc-tiddler-frame .tc-tiddler-controls{display:none}.tc-modal-body .tmap-modal-editor .tc-tiddler-frame .tc-tiddler-title{display:none}.tc-modal-body table{margin:6px 0;border:none;width:100%}.tc-modal-body table td,.tc-modal-body table th{border:1px solid lightgray}.tc-modal-body table.tmap-key-value-table th{width:30%;background-color:#F0F0F0}.tc-modal-body table.tmap-config-table.tmap-large-input tr td:last-child{width:20%}.tc-modal-body table.tmap-config-table.tmap-small-input tr td:last-child{width:60%}.tc-modal-body table.tmap-config-table tr td{border:none;vertical-align:top;padding:5px}.tc-modal-body table.tmap-config-table tr td:first-child{width:15%}.tc-modal-body table.tmap-config-table tr td:last-child{width:40%}.tc-modal-body table.tmap-config-table tr td input:not([type=radio]),.tc-modal-body table.tmap-config-table tr td textarea,.tc-modal-body table.tmap-config-table tr td select{width:100%;word-wrap:normal}.tc-modal-body table.tmap-config-table tr td textarea{height:100%}.tc-modal-body table.tmap-config-table tr td .tmap-no-stretch input,.tc-modal-body table.tmap-config-table tr td .tmap-no-stretch textarea,.tc-modal-body table.tmap-config-table tr td .tmap-no-stretch select{width:auto}.tc-modal-body table.tmap-config-table tr td div.tmap-button-wrapper{text-align:center}.tc-modal-body table.tmap-config-table tr td .tmap-note{margin-top:0.5em}.tc-modal-body table.tmap-config-table tr td .tmap-description{font-style:italic}#tmap-element-type-manager>div:first-child{height:50vh;float:left;width:21%;background:linear-gradient(90deg, #f5f5f5 0%, #fff 50%)}#tmap-element-type-manager>div:first-child .tmap-searchbar{padding:1em 0 0 0}#tmap-element-type-manager>div:first-child .tmap-searchbar input{width:calc(100% - 36px)}#tmap-element-type-manager>div:first-child .tmap-searchbar button{width:30px;float:right}#tmap-element-type-manager>div:first-child ul{height:calc(100% - 65px);overflow:auto;margin-top:1em;padding:0}#tmap-element-type-manager>div:first-child ul.no-bullets li{list-style:none}#tmap-element-type-manager>div:first-child ul li{white-space:nowrap}#tmap-element-type-manager>div:first-child ul li .tmap-ranking{width:30px;display:inline-block}#tmap-element-type-manager>div:last-child{height:100%;width:calc(79% - 15px);float:right}#tmap-element-type-manager>div:last-child .tc-tab-set .tc-tab-content{overflow:auto;height:50vh}.tmap-manage-node-types .tmap-edge-type-specific{display:none !important}.tmap-manage-edge-types .tmap-node-type-specific{display:none !important}.tmap-modal-fullscreen-editor .tc-tab-content p{margin:1em 0}.tmap-has-pending-template{background-color:#C1EDC4}#tmap-search-table td{border:none;padding-left:0px}#tmap-search-table td:first-child{width:30px}#tmap-search-table b{display:inline-block;width:40px;text-align:right}#tmap-search-table ul{padding-left:20px;margin:1em 0 0 0}#tmap-search-table ul li{list-style:inherit}#tmap-search-table ul button{text-align:left}button.tmap-go-back{margin-bottom:1em;font-weight:bold}.tmap-badges>span,.tmap-badge{background:gray;font-size:11px;color:white;padding:3px 4px;display:inline-block;font-weight:bold;border-radius:2px;line-height:1em;cursor:help}.tmap-badges>span.tmap-red-flag,.tmap-badge.tmap-red-flag{background:red}.tmap-popup{display:none;position:absolute;opacity:0;transition:opacity 0.3s ease}.tmap-popup.tmap-popup-active{opacity:1}.tmap-tooltip{box-shadow:3px 3px 10px rgba(0,0,0,0.2);min-width:100px;min-height:50px;max-width:<>;max-height:<>;padding:5px;resize:both;overflow:auto;cursor:auto;font-family:verdana;font-size:14px;background-color:#f5f4ed;border:1px solid #808074;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px}.tmap-tooltip[style*="height"]{max-height:none !important}.tmap-tooltip[style*="width"]{max-width:none !important}.tmap-quick-connect{font-size:0.7em}.tmap-quick-connect p{padding-left:0;padding-right:0}.tmap-quick-connect .tc-drop-down{padding:5px;width:250px;white-space:normal;line-height:1em;position:absolute;z-index:1000;right:50px;background:linear-gradient(45deg, #f5f5f5 0%, #fff 50%, #f5f5f5 100%)}.tmap-quick-connect .tc-drop-down:first-child{padding-top:0;margin-top:0}.tmap-quick-connect .tc-drop-down .title{margin:1.5em 0 0.5em 0;font-weight:bold;color:gray}.tmap-quick-connect .tc-drop-down select{width:80px;word-wrap:initial}.tmap-quick-connect .tc-drop-down table{width:100%;border:none;margin:0.5em 0}.tmap-quick-connect .tc-drop-down table td,.tmap-quick-connect .tc-drop-down table th{padding:3px 3px 3px 0;vertical-align:middle;font-weight:normal;border:none}.tmap-quick-connect .tc-drop-down table td table,.tmap-quick-connect .tc-drop-down table th table{margin:0}.tmap-quick-connect .tc-drop-down .tmap-quick-connect-search-bar,.tmap-quick-connect .tc-drop-down .tmap-quick-connect-existing-bar{background:#F1F1F1;margin-top:0;border-bottom:1px solid #D5D5D5;border-top:1px solid #D5D5D5}.tmap-quick-connect .tc-drop-down table.tmap-quick-connect-search-bar td,.tmap-quick-connect .tc-drop-down th{padding:5px}.tmap-quick-connect .tc-drop-down .tmap-quick-connect-existing-bar{padding:5px}.tmap-quick-connect .tc-drop-down .tmap-connection-table th,.tmap-quick-connect .tc-drop-down .tmap-connection-table td{text-align:left;padding:1px 1px 1px 0}.tmap-quick-connect .tc-drop-down .tmap-connection-table button{width:20px;padding:0px}.tmap-quick-connect .tc-drop-down .tmap-scroll-table{height:120px;overflow:auto;display:block}.tmap-quick-connect .tc-drop-down hr{border:0;height:0;border-top:1px solid rgba(0,0,0,0.1);border-bottom:1px solid rgba(255,255,255,0.3)}.tmap-quick-connect .tc-drop-down a{display:inline;padding:0;color:#5778d8;background:transparent}.tmap-quick-connect .tc-drop-down a:hover{background:transparent;color:#5778d8;text-decoration:underline}.tmap-quick-connect .tc-drop-down button{display:inline-block;padding:0px 3px;text-align:center;color:#333333;line-height:1.0}.tmap-quick-connect .tc-drop-down button:hover{color:#ffffff}.tmap-quick-connect .tc-drop-down button svg{fill:inherit}.tmap-quick-connect .tc-drop-down button svg:hover{fill:#ffffff} +body .tc-page-container-wrapper.tc-modal-displayed{-webkit-filter:inherit;-moz-filter:inherit;filter:inherit}body .tc-modal-wrapper{z-index:1010}body .tc-modal-wrapper .tc-modal-header svg{vertical-align:sub}body .tc-modal-wrapper .tc-modal-header h3{line-height:10px}body .tc-modal-wrapper .tc-modal-body{min-height:250px;max-height:70vh;padding-top:0px;padding-bottom:0px;overflow:auto}body .tc-modal-wrapper .tc-modal-footer{padding:8px}body .tc-modal-wrapper .tc-modal-footer .tmap-dialog-button{font-weight:bold}body .tc-modal-wrapper .tc-modal-footer .tmap-hidden-close-button{display:none}table.tmap-table tr:nth-child(odd),.tc-modal-body table.tmap-config-table tr:nth-child(odd){background-color:#F0F0F0}table.tmap-table tr:nth-child(even),.tc-modal-body table.tmap-config-table tr:nth-child(even){background-color:#FFFFFF}.tmap-save-canvas-preview{text-align:center;background:lightgray}.tmap-save-canvas-preview img{background-color:white;max-width:100%;max-height:100px;border:1px solid red}.tmap-list-separator{display:block;background-color:#efefef;margin:10px 0 5px 0;cursor:default;border-bottom:1px dotted gray;font-weight:bold;font-size:0.8em}.tmap-unicode-icon{width:1em;display:inline-block;text-align:center;color:black}html .tmap-link{color:#5778D8}html .tmap-link:hover{color:white;background:#5778D8}html .tmap-small-list,html .tmap-smaller-list,html .tmap-very-small-list{overflow:auto;min-height:2em;max-height:9em;display:block}html .tmap-smaller-list{max-height:7em}html .tmap-very-small-list{max-height:5empx}html .tc-tiddler-controls button.tmap-active-button svg{fill:#888888}html #tmap-node-filter-dialog #tmap-filter-tips{font-size:0.8em}html #tmap-node-filter-dialog textarea{height:100px;max-height:300px;overflow:auto;width:100%;font-size:11px;font-family:"Courier New", Courier, monospace}@media (max-width: {{$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint}}){.tc-sidebar-scrollable .tmap-desktop-editor .tmap-widget:not(.tmap-fullscreen){display:none}}@media (min-width: {{$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint}}){.tc-sidebar-scrollable .tmap-mobile-editor{display:none}.tc-modal-wrapper{z-index:1010}.tc-modal-wrapper .tc-modal{boder:1px solid #999999;left:calc(50% - 400px);width:802px}.tc-modal-wrapper .tc-modal-body{left:calc(50% - 400px);width:800px}}@-o-keyframes fadein-keyframes{0%{opacity:0}100%{opacity:1}}@-moz-keyframes fadein-keyframes{0%{opacity:0}100%{opacity:1}}@-webkit-keyframes fadein-keyframes{0%{opacity:0}100%{opacity:1}}@keyframes flash fadein-keyframes{0%{opacity:0}100%{opacity:1}}@-o-keyframes fadeout-keyframes{0%{opacity:1}100%{opacity:0}}@-moz-keyframes fadeout-keyframes{0%{opacity:1}100%{opacity:0}}@-webkit-keyframes fadeout-keyframes{0%{opacity:1}100%{opacity:0}}@keyframes flash fadeout-keyframes{0%{opacity:1}100%{opacity:0}}.tmap-config-widget{background:#F0F0F0;padding:5px;margin:5px 0;box-sizing:border-box;display:block}.tmap-config-widget .vis-network{display:none}.tmap-config-widget .vis-configuration-wrapper{width:100%}.tmap-config-widget .vis-configuration-wrapper .vis-config-rangeinput{height:inherit;margin-left:4px}.tmap-config-widget .vis-configuration-wrapper .vis-configuration.vis-config-item{width:100%;height:inherit;background:none;padding-left:0px;left:0}.tmap-config-widget .vis-configuration-wrapper .vis-configuration.vis-config-item.tmap-vis-config-item-active .vis-config-label::after{content:"(inherited)";position:absolute;display:inline-block;margin-left:10px;-o-animation:fadein-keyframes 1s;-moz-animation:fadein-keyframes 1s;-webkit-animation:fadein-keyframes 1s;animation:fadein-keyframes 1s;content:"✔";color:green;font-weight:bold;font-size:15px}.tmap-config-widget .vis-configuration-wrapper .vis-configuration.vis-config-item button.tmap-config-item-reset{vertical-align:top;margin-left:5px}.tmap-config-widget .vis-configuration-wrapper .vis-configuration.vis-config-item .vis-config-range{width:150px}.tmap-config-widget .vis-configuration-wrapper .vis-configuration.vis-config-item .vis-config-range::-moz-range-track{width:150px !important}.tmap-config-widget .vis-configuration-wrapper .vis-configuration.vis-config-item .vis-config-label{width:150px}.tmap-config-widget::after{clear:both;content:"";display:block}.tmap-flash-message{border:1px solid lightgray;padding:5px;margin:6px 0;display:block;color:#333333}.tmap-flash-message.tmap-info,.tmap-flash-message.tmap-plain,.tmap-flash-message.tmap-neutral{background:#F0F0F0}.tmap-flash-message.tmap-info::before,.tmap-flash-message.tmap-plain::before,.tmap-flash-message.tmap-neutral::before{content:"i";display:inline-block;border-radius:50%;width:0.8em;border:2px solid;font-family:serif;text-align:center;height:0.8em;font-weight:bold;line-height:0.8em;vertical-align:text-top;margin-right:2px}.tmap-flash-message.tmap-valid,.tmap-flash-message.tmap-success{background:#D1EED4}.tmap-flash-message.tmap-valid::before,.tmap-flash-message.tmap-success::before{content:"i";display:inline-block;border-radius:50%;width:0.8em;border:2px solid;font-family:serif;text-align:center;height:0.8em;font-weight:bold;line-height:0.8em;vertical-align:text-top;margin-right:2px}.tmap-flash-message.tmap-warning{background:#FFF6D1}.tmap-flash-message.tmap-warning::before{content:"";display:inline-block;background:url(<>);display:inline-block;width:1em;height:1em;background-size:100% 100%;vertical-align:text-top;margin-right:2px}.tmap-flash-message.tmap-malformed,.tmap-flash-message.tmap-invalid,.tmap-flash-message.tmap-danger{background:#EED5D1}.tmap-flash-message.tmap-malformed::before,.tmap-flash-message.tmap-invalid::before,.tmap-flash-message.tmap-danger::before{content:"";display:inline-block;background:url(<>);display:inline-block;width:1em;height:1em;background-size:100% 100%;vertical-align:text-top;margin-right:2px}.tmap-widget{background:#FFFFFF;width:auto;position:relative;border:1px dotted lightgray;padding:2px;color:#666;display:block}.tmap-widget .tmap-download-canvas{display:none}.tmap-widget.tmap-click-to-use:not(.tmap-fullscreen) .vis-network:not(.vis-active){cursor:pointer}.tmap-widget.tmap-click-to-use:not(.tmap-fullscreen) .vis-network:not(.vis-active) .vis-navigation{display:none}.tmap-widget.tmap-click-to-use:not(.tmap-fullscreen) .vis-network:not(.vis-active):hover:before{color:gray;background:white;content:"Click to use";font-size:14px;font-weight:bold;right:calc(50% - 65px - 5px);position:absolute;text-align:center;top:calc(50% - 14px - 5px);width:130px;z-index:2000;padding:5px;pointer-events:none;background-color:rgba(255,255,255,0.3)}.tmap-widget .tmap-loading-bar{display:none;position:absolute;text-align:center;font-size:2em;padding:10px;top:50%;background:rgba(245,245,245,0.5);z-index:1;width:250px;margin:auto;left:0px;right:0px}.tmap-widget .tmap-vis-graph{height:calc(100% - 35px)}.tmap-widget.tmap-no-buttons .vis-navigation{display:none}.tmap-widget.tmap-advanced-editor .tmap-topbar{background:#d6d9d8}.tmap-widget.tmap-advanced-editor .tmap-topbar .tmap-active-button{color:#488DCD}.tmap-widget.tmap-advanced-editor .tmap-topbar .tmap-active-button svg{fill:#488DCD}.tmap-widget.tmap-advanced-editor .tmap-topbar .tmap-unicode-button{font-size:1.5em;vertical-align:bottom;height:28px;fill:#555555}.tmap-widget.tmap-advanced-editor .tmap-topbar .tmap-unicode-button svg{vertical-align:baseline}.tmap-widget .tmap-menu-bar{width:100%}.tmap-widget .tmap-topbar{background:#F5F5F5;border-bottom:1px solid lightgray;padding:3px 5px;height:35px;position:relative}.tmap-widget .tmap-topbar .tmap-view-label{width:100%;text-align:center;font-weight:bold;padding-top:3px}.tmap-widget .tmap-topbar .tmap-focus-button{position:absolute;right:10px;top:6px}.tmap-widget .tmap-topbar .tmap-focus-button input{width:140px}.tmap-widget .tmap-topbar .tmap-search-dropdown{position:relative}.tmap-widget .tmap-topbar .tmap-search-dropdown .tc-drop-down{position:absolute;z-index:999;right:0px}.tmap-widget .tmap-topbar [hidden]{display:none}.tmap-widget .tmap-topbar select{width:30%;max-width:200px;word-wrap:initial;padding:0px;height:28px}.tmap-widget .tmap-topbar button{line-height:inherit;color:#666}.tmap-widget .tmap-topbar>*{display:inline-block}.tmap-widget .tmap-topbar .tmap-separator:after{color:#bdbdbd;margin:3px;content:" | "}.tmap-widget .tmap-topbar .tc-edit-add-tag .tc-add-tag-name input{width:70%}.tmap-widget .tmap-topbar .tc-sidebar-header{text-shadow:none}.tmap-widget .tmap-topbar .tc-edit-tags{border:none;padding:inherit;box-shadow:none}.tmap-widget.tmap-static-mode .tmap-topbar{height:initial}.tmap-widget.tmap-static-mode .tmap-vis-graph{text-align:center;cursor:not-allowed}.tmap-widget.tmap-static-mode .tmap-vis-graph:not(.tmap-graph-placeholder):hover::before{box-shadow:10px 10px 5px lightgray;color:gray;background:white;content:"Static";font-size:18px;font-weight:bold;left:50%;margin-left:-100px;position:absolute;text-align:center;top:50px;width:200px;z-index:2000;padding:5px;pointer-events:none}.tmap-widget.tmap-static-mode .tmap-vis-graph.tmap-graph-placeholder::before{content:"No Preview";display:block;text-align:center;padding:20px}.tmap-widget .tc-drop-down{min-width:170px;padding:5px;margin:5px 0}.tmap-widget .tc-drop-down button,.tmap-widget .tc-drop-down a{padding:0 2px;text-decoration:none}.tmap-widget .tc-drop-down button:hover,.tmap-widget .tc-drop-down a:hover{color:#ffffff}.tmap-widget .tc-drop-down button svg,.tmap-widget .tc-drop-down a svg{vertical-align:middle}.tmap-widget .tc-block-dropdown{width:370px;min-width:370px;padding:5px;margin:15px 0 0 -370px}.tmap-widget .tc-block-dropdown a{display:inline;padding:0px}.tmap-widget.tmap-plain-design{border:none;padding:0px}.tmap-widget.tmap-plain-design .tmap-topbar{display:none}.tc-sidebar-scrollable .tmap-widget{position:absolute;min-height:350px}.tmap-widget div.vis-network .vis-edit-mode{height:26px}.tmap-widget div.vis-network .vis-manipulation{height:34px;border-top:1px solid #d6d9d8;background:rgba(245,245,245,0.7)}.tmap-widget div.vis-network .vis-navigation .vis-button.tmap-button-enabled{right:15px}.tmap-widget div.vis-network .vis-navigation .vis-button.tmap-button-enabled.tmap-fullscreen-button{bottom:90px;background-image:url(<>)}.tmap-widget div.vis-network .vis-navigation .vis-button.tmap-button-enabled.tmap-halfscreen-button{bottom:130px;background-image:url(<>)}.tmap-widget div.vis-network .vis-navigation .vis-button:hover{box-shadow:0 0 3px 3px rgba(75,75,75,0.3)}.tmap-widget div.vis-network .vis-navigation .vis-button:hover:before{background:beige;display:block;color:black;padding:3px;position:relative;border:1px solid lightgray;width:80px;left:-100px;top:-50px;z-index:1000;text-align:center}.tmap-widget div.vis-network .vis-navigation .vis-button:hover.vis-up:before{left:30px;content:"Scroll up"}.tmap-widget div.vis-network .vis-navigation .vis-button:hover.vis-down:before{left:30px;content:"Scroll down"}.tmap-widget div.vis-network .vis-navigation .vis-button:hover.vis-right:before{left:30px;content:"Scroll right"}.tmap-widget div.vis-network .vis-navigation .vis-button:hover.vis-left:before{left:30px;content:"Scroll left"}.tmap-widget div.vis-network .vis-navigation .vis-button:hover.vis-zoomOut:before{content:"Zoom out"}.tmap-widget div.vis-network .vis-navigation .vis-button:hover.vis-zoomIn:before{content:"Zoom in"}.tmap-widget div.vis-network .vis-navigation .vis-button:hover.vis-zoomExtends:before{content:"Fit whole graph"}.tmap-widget div.vis-network .vis-navigation .vis-button:hover.tmap-fullscreen-button:before{content:"Toggle Fullscreen"}.tmap-widget div.vis-network .vis-navigation .vis-button:hover.tmap-halfscreen-button:before{content:"Toggle Halfscreen"}.tc-dropzone>.tc-story-river .tmap-widget .vis-navigation .tmap-halfscreen-button{display:none}.tc-dropzone>.tc-story-river .tmap-widget:not(.tmap-fullscreen) .vis-navigation .vis-button{display:none}.tc-dropzone>.tc-story-river .tmap-widget:hover .vis-navigation .vis-button.tmap-fullscreen-button{display:block}.tc-dropzone>.tc-story-river .tmap-widget:hover .vis-navigation .vis-button.vis-zoomExtends{display:block}body.tmap-has-fullscreen-widget{overflow:hidden}body.tmap-has-fullscreen-widget .tmap-widget.tmap-fullscreen{background:white !important;height:100% !important;width:100% !important;position:fixed !important;top:0 !important;right:0 !important;bottom:0 !important;left:0 !important;z-index:999 !important;border:none !important;margin:0 !important}body.tmap-has-fullscreen-widget .tc-dropzone>*.tmap-has-fullscreen-widget{background:white !important;height:100% !important;width:100% !important;position:fixed !important;top:0 !important;right:0 !important;bottom:0 !important;left:0 !important;z-index:999 !important;border:none !important;margin:0 !important}body.tmap-has-fullscreen-widget .tc-dropzone>*:not(.tmap-has-fullscreen-widget){display:none}body.tmap-has-halfscreen-widget .tmap-widget.tmap-halfscreen{background:white !important;height:100% !important;width:100% !important;position:fixed !important;top:0 !important;right:0 !important;bottom:0 !important;left:0 !important;z-index:999 !important;border:none !important;margin:0 !important;position:absolute !important;border-left:1px solid lightgray !important}.tc-modal-footer .tmap-hidden-close-button{display:none}.tmap-modal-content{position:relative;padding:1em 0;padding-top:0}.tmap-modal-content table tr td{vertical-align:top}.tmap-modal-content :not(pre)>code{padding:1px;font-size:0.9em;position:relative;top:-1px}.tmap-modal-content :not(pre)>code{color:#666}.tmap-modal-content .tc-tab-set .tc-tab-content{margin-top:0.5em}.tmap-modal-content .tc-image-button{font-size:14px}.tmap-modal-content fieldset{margin:0px}.tmap-modal-content fieldset legend{font-weight:bold}.tc-modal-body .tmap-modal-editor>p{margin:0px}.tc-modal-body .tmap-modal-editor .tmap-template-select select{width:50%}.tc-modal-body .tmap-modal-editor .tc-tiddler-frame{margin:auto;width:auto}.tc-modal-body .tmap-modal-editor .tc-tiddler-frame .tc-tiddler-controls{display:none}.tc-modal-body .tmap-modal-editor .tc-tiddler-frame .tc-tiddler-title{display:none}.tc-modal-body table{margin:6px 0;border:none;width:100%}.tc-modal-body table td,.tc-modal-body table th{border:1px solid lightgray}.tc-modal-body table.tmap-key-value-table th{width:30%;background-color:#F0F0F0}.tc-modal-body table.tmap-config-table.tmap-large-input tr td:last-child{width:20%}.tc-modal-body table.tmap-config-table.tmap-small-input tr td:last-child{width:60%}.tc-modal-body table.tmap-config-table tr td{border:none;vertical-align:top;padding:5px}.tc-modal-body table.tmap-config-table tr td:first-child{width:15%}.tc-modal-body table.tmap-config-table tr td:last-child{width:40%}.tc-modal-body table.tmap-config-table tr td input:not([type=radio]),.tc-modal-body table.tmap-config-table tr td textarea,.tc-modal-body table.tmap-config-table tr td select{width:100%;word-wrap:normal}.tc-modal-body table.tmap-config-table tr td textarea{height:100%}.tc-modal-body table.tmap-config-table tr td .tmap-no-stretch input,.tc-modal-body table.tmap-config-table tr td .tmap-no-stretch textarea,.tc-modal-body table.tmap-config-table tr td .tmap-no-stretch select{width:auto}.tc-modal-body table.tmap-config-table tr td div.tmap-button-wrapper{text-align:center}.tc-modal-body table.tmap-config-table tr td .tmap-note{margin-top:0.5em}.tc-modal-body table.tmap-config-table tr td .tmap-description{font-style:italic}#tmap-element-type-manager>div:first-child{height:50vh;float:left;width:21%;background:linear-gradient(90deg, #f5f5f5 0%, #fff 50%)}#tmap-element-type-manager>div:first-child .tmap-searchbar{padding:1em 0 0 0}#tmap-element-type-manager>div:first-child .tmap-searchbar input{width:calc(100% - 36px)}#tmap-element-type-manager>div:first-child .tmap-searchbar button{width:30px;float:right}#tmap-element-type-manager>div:first-child ul{height:calc(100% - 65px);overflow:auto;margin-top:1em;padding:0}#tmap-element-type-manager>div:first-child ul.no-bullets li{list-style:none}#tmap-element-type-manager>div:first-child ul li{white-space:nowrap}#tmap-element-type-manager>div:first-child ul li .tmap-ranking{width:30px;display:inline-block}#tmap-element-type-manager>div:last-child{height:100%;width:calc(79% - 15px);float:right}#tmap-element-type-manager>div:last-child .tc-tab-set .tc-tab-content{overflow:auto;height:50vh}.tmap-manage-node-types .tmap-edge-type-specific{display:none !important}.tmap-manage-edge-types .tmap-node-type-specific{display:none !important}.tmap-modal-fullscreen-editor .tc-tab-content p{margin:1em 0}.tmap-has-pending-template{background-color:#C1EDC4}#tmap-search-table td{border:none;padding-left:0px}#tmap-search-table td:first-child{width:30px}#tmap-search-table b{display:inline-block;width:40px;text-align:right}#tmap-search-table ul{padding-left:20px;margin:1em 0 0 0}#tmap-search-table ul li{list-style:inherit}#tmap-search-table ul button{text-align:left}button.tmap-go-back{margin-bottom:1em;font-weight:bold}.tmap-badges>span,.tmap-badge{background:gray;font-size:11px;color:white;padding:3px 4px;display:inline-block;font-weight:bold;border-radius:2px;line-height:1em;cursor:help}.tmap-badges>span.tmap-red-flag,.tmap-badge.tmap-red-flag{background:red}.tmap-popup{display:none;position:absolute;opacity:0;transition:opacity 0.3s ease}.tmap-popup.tmap-popup-active{opacity:1}.tmap-tooltip{box-shadow:3px 3px 10px rgba(0,0,0,0.2);min-width:100px;min-height:50px;max-width:<>;max-height:<>;padding:5px;resize:both;overflow:auto;cursor:auto;font-family:verdana;font-size:14px;background-color:#f5f4ed;border:1px solid #808074;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px}.tmap-tooltip[style*="height"]{max-height:none !important}.tmap-tooltip[style*="width"]{max-width:none !important}.tmap-quick-connect{font-size:0.7em}.tmap-quick-connect p{padding-left:0;padding-right:0}.tmap-quick-connect .tc-drop-down{padding:5px;width:250px;white-space:normal;line-height:1em;position:absolute;z-index:1000;right:50px;background:linear-gradient(45deg, #f5f5f5 0%, #fff 50%, #f5f5f5 100%)}.tmap-quick-connect .tc-drop-down:first-child{padding-top:0;margin-top:0}.tmap-quick-connect .tc-drop-down .title{margin:1.5em 0 0.5em 0;font-weight:bold;color:gray}.tmap-quick-connect .tc-drop-down select{width:80px;word-wrap:initial}.tmap-quick-connect .tc-drop-down table{width:100%;border:none;margin:0.5em 0}.tmap-quick-connect .tc-drop-down table td,.tmap-quick-connect .tc-drop-down table th{padding:3px 3px 3px 0;vertical-align:middle;font-weight:normal;border:none}.tmap-quick-connect .tc-drop-down table td table,.tmap-quick-connect .tc-drop-down table th table{margin:0}.tmap-quick-connect .tc-drop-down .tmap-quick-connect-search-bar,.tmap-quick-connect .tc-drop-down .tmap-quick-connect-existing-bar{background:#F1F1F1;margin-top:0;border-bottom:1px solid #D5D5D5;border-top:1px solid #D5D5D5}.tmap-quick-connect .tc-drop-down table.tmap-quick-connect-search-bar td,.tmap-quick-connect .tc-drop-down th{padding:5px}.tmap-quick-connect .tc-drop-down .tmap-quick-connect-existing-bar{padding:5px}.tmap-quick-connect .tc-drop-down .tmap-connection-table th,.tmap-quick-connect .tc-drop-down .tmap-connection-table td{text-align:left;padding:1px 1px 1px 0}.tmap-quick-connect .tc-drop-down .tmap-connection-table button{width:20px;padding:0px}.tmap-quick-connect .tc-drop-down .tmap-scroll-table{height:120px;overflow:auto;display:block}.tmap-quick-connect .tc-drop-down hr{border:0;height:0;border-top:1px solid rgba(0,0,0,0.1);border-bottom:1px solid rgba(255,255,255,0.3)}.tmap-quick-connect .tc-drop-down a{display:inline;padding:0;color:#5778d8;background:transparent}.tmap-quick-connect .tc-drop-down a:hover{background:transparent;color:#5778d8;text-decoration:underline}.tmap-quick-connect .tc-drop-down button{display:inline-block;padding:0px 3px;text-align:center;color:#333333;line-height:1.0}.tmap-quick-connect .tc-drop-down button:hover{color:#ffffff}.tmap-quick-connect .tc-drop-down button svg{fill:inherit}.tmap-quick-connect .tc-drop-down button svg:hover{fill:#ffffff} diff --git a/template/wiki/plugins/felixhayashi/tiddlymap/js/graph/ViewAbstraction.js b/template/wiki/plugins/felixhayashi/tiddlymap/js/graph/ViewAbstraction.js index cfd92072..fdd632e3 100644 --- a/template/wiki/plugins/felixhayashi/tiddlymap/js/graph/ViewAbstraction.js +++ b/template/wiki/plugins/felixhayashi/tiddlymap/js/graph/ViewAbstraction.js @@ -8,5 +8,5 @@ module-type: library @preserve \*/ -/* @preserve TW-Guard */var _EdgeType=require("$:/plugins/felixhayashi/tiddlymap/js/EdgeType");var _EdgeType2=_interopRequireDefault(_EdgeType);var _utils=require("$:/plugins/felixhayashi/tiddlymap/js/utils");var _utils2=_interopRequireDefault(_utils);var _environment=require("$:/plugins/felixhayashi/tiddlymap/js/lib/environment");var env=_interopRequireWildcard(_environment);var _exception=require("$:/plugins/felixhayashi/tiddlymap/js/exception");function _interopRequireWildcard(e){if(e&&e.__esModule){return e}else{var t={};if(e!=null){for(var i in e){if(Object.prototype.hasOwnProperty.call(e,i))t[i]=e[i]}}t.default=e;return t}}function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _classCallCheck(e,t){if(!(e instanceof t)){throw new TypeError("Cannot call a class as a function")}}var ViewAbstraction=function(){function e(t){var i=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};_classCallCheck(this,e);if(t instanceof e){return t}this._registerPaths(t);if(i.isCreate){if(!this.configTRef){var r=_utils2.default.getRandomLabel({plural:true});this.configTRef=$tw.wiki.generateNewTitle($tm.path.views+"/"+r)}this._createView(i)}else if(!e.exists(this.getRoot())){throw new ResourceNotFoundException("ViewAbstraction",t)}}_createClass(e,[{key:"isLocked",value:function e(){return $tw.wiki.isShadowTiddler(this.configTRef)}},{key:"update",value:function e(t){var i=t.changedTiddlers;if(t[env.path.edgeTypes]||_utils2.default.hasKeyWithPrefix(i,this.getRoot())){this._clearCaches();return true}return false}},{key:"addPlaceholder",value:function e(t){_utils2.default.cp(_utils2.default.getTiddlerRef(t),this.snapshotTRef,true)}},{key:"exists",value:function t(){return e.exists(this)}},{key:"getRoot",value:function e(){return this.configTRef}},{key:"getCreationDate",value:function e(t){var i=$tw.wiki.getTiddler(this.configTRef).fields["created"];if(t){return i instanceof Date?$tw.utils.formatDateString(i,"DDth MMM YYYY"):""}return i}},{key:"getLabel",value:function e(){return _utils2.default.getBasename(this.configTRef)}},{key:"destroy",value:function e(){_utils2.default.deleteTiddlers(_utils2.default.getMatches("[prefix["+this.configTRef+"]]"))}},{key:"getOccurrences",value:function e(){var t="[regexp:text[<\\$(tiddlymap|tmap).*?view=."+this.getLabel()+"..*?>]]";return _utils2.default.getMatches(t)}},{key:"rename",value:function t(i){if(typeof i!=="string"){return false}if(_utils2.default.inArray("/",i)){$tm.notify('A view name must not contain any "/"');return false}var r=this.getLabel();var a=env.path.views+"/"+i;var n=this.getRoot();_utils2.default.mv(n,a,true);if($tm.config.sys.defaultView===r){_utils2.default.setEntry($tm.ref.sysUserConf,"defaultView",i)}if($tm.config.sys.liveTab.fallbackView===r){_utils2.default.setEntry($tm.ref.sysUserConf,"liveTab.fallbackView",i)}$tw.wiki.each(function(t,a){if(t.fields["tmap.open-view"]===r){_utils2.default.setField(a,"tmap.open-view",i);return}if(e.exists(a)){var n=new e(a);var l=n.getNodeData();for(var s in l){if(l[s]["open-view"]===r){l[s]["open-view"]=i}}n.saveNodeData(l)}});this._clearCaches();this._registerPaths(i)}},{key:"isEnabled",value:function e(t){return _utils2.default.isTrue(this.getConfig(t),false)}},{key:"getConfig",value:function e(t){var i=this;var r=$tw.wiki.getCacheForTiddler(this.configTRef,"tmap-config",function(){var e=_utils2.default.getTiddler(i.configTRef).fields;return _utils2.default.getPropertiesByPrefix(e,"config.")});var a=t&&_utils2.default.startsWith(t,"config.")?t:"config."+t;return t?r[a]:r}},{key:"setConfig",value:function e(){for(var t=arguments.length,i=Array(t),r=0;r0&&arguments[0]!==undefined?arguments[0]:{},r=i.isForce,a=i.protoView,n=i.isHidden;if(e.exists(this)){if(!r){return}this.destroy()}if(e.exists(a)){_utils2.default.cp(new e(a).getRoot(),this.configTRef,true)}var l={title:this.configTRef,id:_utils2.default.genUUID()};if(!n){l[$tm.field.viewMarker]=true}$tw.wiki.addTiddler(new $tw.Tiddler(_utils2.default.getTiddler(this.configTRef),l));this.setEdgeTypeFilter(env.filter.defaultEdgeTypeFilter)}}],[{key:"_getNodeIdFilterPart",value:function e(t){var i=(typeof t==="undefined"?"undefined":_typeof(t))==="object"?t.id:t;return"[field:tmap.id["+i+"]]"}},{key:"_getRootPath",value:function t(i){if(i instanceof e){return i.configTRef}if(i instanceof $tw.Tiddler){i=i.fields.title}if(typeof i==="string"){var r=_utils2.default.getWithoutPrefix(i,$tm.path.views+"/");if(r&&!_utils2.default.hasSubString(r,"/")){return $tm.path.views+"/"+r}}}},{key:"exists",value:function t(i){if(!i){return false}if(i instanceof e){i=i.configTRef}else{i=e._getRootPath(i)}return _utils2.default.tiddlerExists(i)}}]);return e}();exports.default=ViewAbstraction; +/* @preserve TW-Guard */var _EdgeType=require("$:/plugins/felixhayashi/tiddlymap/js/EdgeType");var _EdgeType2=_interopRequireDefault(_EdgeType);var _utils=require("$:/plugins/felixhayashi/tiddlymap/js/utils");var _utils2=_interopRequireDefault(_utils);var _environment=require("$:/plugins/felixhayashi/tiddlymap/js/lib/environment");var env=_interopRequireWildcard(_environment);var _exception=require("$:/plugins/felixhayashi/tiddlymap/js/exception");function _interopRequireWildcard(e){if(e&&e.__esModule){return e}else{var t={};if(e!=null){for(var i in e){if(Object.prototype.hasOwnProperty.call(e,i))t[i]=e[i]}}t.default=e;return t}}function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _classCallCheck(e,t){if(!(e instanceof t)){throw new TypeError("Cannot call a class as a function")}}var ViewAbstraction=function(){function e(t){var i=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};_classCallCheck(this,e);if(t instanceof e){return t}this._registerPaths(t);if(i.isCreate){if(!this.configTRef){var r=_utils2.default.getRandomLabel({plural:true});this.configTRef=$tw.wiki.generateNewTitle($tm.path.views+"/"+r)}this._createView(i)}else if(!e.exists(this.getRoot())){throw new ResourceNotFoundException("ViewAbstraction",t)}}_createClass(e,[{key:"isLocked",value:function e(){return $tw.wiki.isShadowTiddler(this.configTRef)}},{key:"update",value:function e(t){var i=t.changedTiddlers;if(t[env.path.edgeTypes]||_utils2.default.hasKeyWithPrefix(i,this.getRoot())){this._clearCaches();return true}return false}},{key:"addPlaceholder",value:function e(t){_utils2.default.cp(_utils2.default.getTiddlerRef(t),this.snapshotTRef,true)}},{key:"exists",value:function t(){return e.exists(this)}},{key:"getRoot",value:function e(){return this.configTRef}},{key:"getCreationDate",value:function e(t){var i=$tw.wiki.getTiddler(this.configTRef).fields["created"];if(t){return i instanceof Date?$tw.utils.formatDateString(i,"DDth MMM YYYY"):""}return i}},{key:"getLabel",value:function e(){return _utils2.default.getBasename(this.configTRef)}},{key:"destroy",value:function e(){_utils2.default.deleteTiddlers(_utils2.default.getMatches("[prefix["+this.configTRef+"]]"))}},{key:"getOccurrences",value:function e(){var t="[regexp:text[<\\$(tiddlymap|tmap).*?view=."+this.getLabel()+"..*?>]]";return _utils2.default.getMatches(t)}},{key:"rename",value:function t(i){if(typeof i!=="string"){return false}if(_utils2.default.inArray("/",i)){$tm.notify('A view name must not contain any "/"');return false}var r=this.getLabel();var a=env.path.views+"/"+i;var n=this.getRoot();_utils2.default.mv(n,a,true);if($tm.config.sys.defaultView===r){_utils2.default.setEntry($tm.ref.sysUserConf,"defaultView",i)}if($tm.config.sys.liveTab.fallbackView===r){_utils2.default.setEntry($tm.ref.sysUserConf,"liveTab.fallbackView",i)}$tw.wiki.each(function(t,a){if(t.fields["tmap.open-view"]===r){_utils2.default.setField(a,"tmap.open-view",i);return}if(e.exists(a)){var n=new e(a);var l=n.getNodeData();for(var s in l){if(l[s]["open-view"]===r){l[s]["open-view"]=i}}n.saveNodeData(l)}});this._clearCaches();this._registerPaths(i)}},{key:"isEnabled",value:function e(t){return _utils2.default.isTrue(this.getConfig(t),false)}},{key:"getConfig",value:function e(t){var i=this;var r=$tw.wiki.getCacheForTiddler(this.configTRef,"tmap-config",function(){var e=_utils2.default.getTiddler(i.configTRef).fields;return _utils2.default.getPropertiesByPrefix(e,"config.")});var a=t&&_utils2.default.startsWith(t,"config.")?t:"config."+t;return t?r[a]:r}},{key:"setConfig",value:function e(){for(var t=arguments.length,i=Array(t),r=0;r0&&arguments[0]!==undefined?arguments[0]:{},r=i.isForce,a=i.protoView,n=i.isHidden;if(e.exists(this)){if(!r){return}this.destroy()}if(e.exists(a)){_utils2.default.cp(new e(a).getRoot(),this.configTRef,true)}var l={title:this.configTRef,id:_utils2.default.genUUID()};if(!n){l[$tm.field.viewMarker]=true}$tw.wiki.addTiddler(new $tw.Tiddler(_utils2.default.getTiddler(this.configTRef),l));this.setEdgeTypeFilter(env.filter.defaultEdgeTypeFilter)}}],[{key:"_getNodeIdFilterPart",value:function e(t){var i=(typeof t==="undefined"?"undefined":_typeof(t))==="object"?t.id:t;return"[field:tmap.id["+i+"]]"}},{key:"_getRootPath",value:function t(i){if(i instanceof e){return i.configTRef}if(i instanceof $tw.Tiddler){i=i.fields.title}if(typeof i==="string"){var r=_utils2.default.getWithoutPrefix(i,$tm.path.views+"/");if(r&&!_utils2.default.hasSubString(r,"/")){return $tm.path.views+"/"+r}}}},{key:"exists",value:function t(i){if(!i){return false}if(i instanceof e){i=i.configTRef}else{i=e._getRootPath(i)}return _utils2.default.tiddlerExists(i)}}]);return e}();exports.default=ViewAbstraction; //# sourceMappingURL=./maps/felixhayashi/tiddlymap/js/graph/ViewAbstraction.js.map diff --git a/template/wiki/plugins/felixhayashi/tiddlymap/js/services/Adapter.js b/template/wiki/plugins/felixhayashi/tiddlymap/js/services/Adapter.js index 9baa32a9..0fa026f4 100644 --- a/template/wiki/plugins/felixhayashi/tiddlymap/js/services/Adapter.js +++ b/template/wiki/plugins/felixhayashi/tiddlymap/js/services/Adapter.js @@ -8,5 +8,5 @@ module-type: library @preserve \*/ -/* @preserve TW-Guard */var _ViewAbstraction=require("$:/plugins/felixhayashi/tiddlymap/js/ViewAbstraction");var _ViewAbstraction2=_interopRequireDefault(_ViewAbstraction);var _EdgeType=require("$:/plugins/felixhayashi/tiddlymap/js/EdgeType");var _EdgeType2=_interopRequireDefault(_EdgeType);var _NodeType=require("$:/plugins/felixhayashi/tiddlymap/js/NodeType");var _NodeType2=_interopRequireDefault(_NodeType);var _utils=require("$:/plugins/felixhayashi/tiddlymap/js/utils");var _utils2=_interopRequireDefault(_utils);var _Edge=require("$:/plugins/felixhayashi/tiddlymap/js/Edge");var _Edge2=_interopRequireDefault(_Edge);var _vis=require("$:/plugins/felixhayashi/vis/vis.js");var _vis2=_interopRequireDefault(_vis);var _environment=require("$:/plugins/felixhayashi/tiddlymap/js/lib/environment");var env=_interopRequireWildcard(_environment);var _contrastcolour=require("$:/core/modules/macros/contrastcolour.js");function _interopRequireWildcard(e){if(e&&e.__esModule){return e}else{var t={};if(e!=null){for(var i in e){if(Object.prototype.hasOwnProperty.call(e,i))t[i]=e[i]}}t.default=e;return t}}function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _defineProperty(e,t,i){if(t in e){Object.defineProperty(e,t,{value:i,enumerable:true,configurable:true,writable:true})}else{e[t]=i}return e}function _classCallCheck(e,t){if(!(e instanceof t)){throw new TypeError("Cannot call a class as a function")}}var Adapter=function(){function e(t,i){_classCallCheck(this,e);this.getTiddlerById=t.getTiddlerById.bind(t);this.getId=t.getIdByTiddler.bind(t);this.assignId=t.assignId.bind(t);this.edgeTypeSubscriberRegistry=i;this.indeces=$tm.indeces;this.wiki=$tw.wiki;this.visShapesWithTextInside=_utils2.default.getLookupTable(["ellipse","circle","database","box","text"])}_createClass(e,[{key:"deleteEdge",value:function e(t){return this._processEdge(t,"delete")}},{key:"insertEdge",value:function e(t){return this._processEdge(t,"insert")}},{key:"deleteEdges",value:function e(t){t=_utils2.default.convert(t,"array");for(var i=t.length;i--;){this.deleteEdge(t[i])}}},{key:"_processEdge",value:function e(t,i){$tm.logger("debug","Edge",i,t);var r=this.getTiddlerById(t.from);if(!r||!_utils2.default.tiddlerExists(r)){return}var a=_utils2.default.getTiddler(r);var s=this.indeces.allETy[t.type]||_EdgeType2.default.getInstance(t.type);var l=this.edgeTypeSubscriberRegistry.getAllForType(s);var n=i+"Edge";for(var d=l.length;d--;){l[d][n](a,t,s)}if(i==="insert"&&!s.exists()){s.save()}return t}},{key:"getAdjacencyList",value:function e(t){var i=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};$tm.start("Creating adjacency list");if(!i.edges){var r=_utils2.default.getMatches(env.selector.allPotentialNodes);i.edges=this.getEdgesForSet(r,i.toWL,i.typeWL)}var a=_utils2.default.groupByProperty(i.edges,t||"to");$tm.stop("Creating adjacency list");return a}},{key:"getNeighbours",value:function e(t){var i=this;var r=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};$tm.start("Get neighbours");var a=r.addProperties,s=r.toWL,l=r.typeWL,n=r.steps;var d=this.indeces.allETy;var o=_utils2.default.getArrayValuesAsHashmapKeys(t);var u=_ViewAbstraction2.default.exists(r.view)?new _ViewAbstraction2.default(r.view):null;var f=_utils2.default.makeHashMap();var g=_utils2.default.makeHashMap();var c=parseInt(n)>0?n:1;var v=r.direction||u&&u.getConfig("neighbourhood_directions");var y=!v||v==="both";var h=y||v==="in";var p=y||v==="out";var _=u&&"[all[]] "+u.getNodeFilter("raw");var b=this.getAdjacencyList("to",r);var m=function e(t,r,s){f[t.id]=t;var l=i.getTiddlerById(t[r]);if(u&&_utils2.default.isTrue($tm.config.sys.nodeFilterNeighbours)&&!_utils2.default.isMatch(l,_)){return}if(!o[l]){o[l]=true;var n=i.makeNode(l,a);if(n){g[n.id]=n;s.push(l)}}};var w=void 0;for(w=0;w1&&arguments[1]!==undefined?arguments[1]:{},r=i.addProperties,a=i.outputType;var s=_utils2.default.makeHashMap();var l=Object.keys(t);for(var n=l.length;n--;){var d=this.makeNode(t[l[n]],r);if(d){s[d.id]=d}}return _utils2.default.convert(s,a)}},{key:"selectNodesByIds",value:function e(t,i){var r=this.getTiddlersByIds(t);return this.selectNodesByReferences(r,i)}},{key:"selectNodeById",value:function e(t,i){i=Object.assign({},i,{outputType:"hashmap"});var r=this.selectNodesByIds([t],i);return r[t]}},{key:"removeNodeType",value:function e(t){t=_NodeType2.default.getInstance(t);this.wiki.deleteTiddler(t.fullPath)}},{key:"makeNode",value:function e(t,i){var r=_utils2.default.getTiddler(t);if(!r||_utils2.default.isSystemOrDraft(r))return;var a=_utils2.default.merge({},i);a.id=this.assignId(r);a.tRef=r.fields.title;var s=r.fields[$tm.field.nodeLabel];a.label=(s&&$tm.field.nodeLabel!=="title"?this.wiki.renderText("text/plain","text/vnd-tiddlywiki",s):r.fields.title).replace("\\n","\n");return a}},{key:"getInheritedNodeStyles",value:function e(t){var i=this.getTiddlersByIds(t);var r={};var a=this.indeces.glNTy;for(var s=a.length;s--;){var l=a[s];var n=[];if(l.id==="tmap:neighbour"){for(var d in t){if(t[d].type==="tmap:neighbour"){n.push(this.getTiddlerById(d))}}}else{n=l.getInheritors(i)}for(var o=n.length;o--;){var u=n[o];var f=r[u]=r[u]||{};f.style=_utils2.default.merge(f.style||{},l.style);if(l["fa-icon"]){f["fa-icon"]=l["fa-icon"]}else if(l["tw-icon"]){f["tw-icon"]=l["tw-icon"]}}}return r}},{key:"attachStylesToNodes",value:function e(t,i){i=_ViewAbstraction2.default.exists(i)?new _ViewAbstraction2.default(i):null;var r=this.getInheritedNodeStyles(t);var a=i?i.getNodeData():_utils2.default.makeHashMap();var s=i&&!i.isEnabled("physics_mode");for(var l in t){var n=this.getTiddlerById(l);var d=this.wiki.getTiddler(n);var o=d.fields;var u=t[l];var f=void 0;var g=r[n];if(g){_utils2.default.merge(u,g.style);f=getIcon(g["fa-icon"],g["tw-icon"])}if(o.color){u.color=o.color}if(o["tmap.style"]){_utils2.default.merge(u,_utils2.default.parseJSON(o["tmap.style"]))}f=getIcon(o["tmap.fa-icon"],o["icon"])||f;var c=a[l];if(c){_utils2.default.merge(u,c);if(s){u.fixed={x:u.x!=null,y:u.y!=null}}f=getIcon(c["fa-icon"],c["tw-icon"])||f}var v=u.color!==null&&_typeof(u.color)==="object";var y=v?u.color.background:u.color;u.color={background:y,border:v?u.color.border:undefined};addNodeIcon(u,f);u.font=u.font||{};if(u.shape&&!this.visShapesWithTextInside[u.shape]){u.font.color="black"}else if(!u.font.color&&y){u.font.color=(0,_contrastcolour.run)(y,y,"black","white")}if(u.shape==="icon"){u.label="\n"+u.label;if(_typeof(u.icon)==="object"){u.icon.color=y}}}if(i){var h=t[i.getConfig("central-topic")];if(h){_utils2.default.merge(h,this.indeces.glNTyById["tmap:central-topic"].style)}}}},{key:"deleteNode",value:function e(t){if(!t){return}var i=(typeof t==="undefined"?"undefined":_typeof(t))==="object"?t.id:t;var r=this.getTiddlerById(i);if(r){_utils2.default.deleteTiddlers([r])}var a=_utils2.default.getMatches(env.selector.allViews);for(var s=a.length;s--;){var l=new _ViewAbstraction2.default(a[s]);l.removeNode(i)}var n=this.getNeighbours([r]);this.deleteEdges(n.edges)}},{key:"deleteNodes",value:function e(t){for(var i=t.length;i--;){this.deleteNode(t[i])}}},{key:"insertNode",value:function e(){var t=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{};var i=arguments[1];var r=arguments[2];t.label=this.wiki.generateNewTitle(t.label||_utils2.default.getRandomLabel());var a=new $tw.Tiddler({text:""},r,{title:t.label,"tmap.id":null},this.wiki.getModificationFields(),this.wiki.getCreationFields());this.wiki.addTiddler(a);t=this.makeNode(a,t);if(_ViewAbstraction2.default.exists(i)){new _ViewAbstraction2.default(i).addNode(t)}return t}},{key:"getTiddlersByIds",value:function e(t){if(Array.isArray(t)){t=_utils2.default.getArrayValuesAsHashmapKeys(t)}else if(t instanceof _vis2.default.DataSet){t=_utils2.default.getLookupTable(t,"id")}var i=[];for(var r in t){var a=this.getTiddlerById(r);if(a){i.push(a)}}return i}}]);return e}();var getFAdigits=function e(t){return t.length===4?t:t.substr(3,4)};var addNodeIcon=function e(t,i){if(!i){return}if(i.fa){t.shape="icon";t.icon={shape:"icon",face:"FontAwesome",color:t.color,code:String.fromCharCode("0x"+getFAdigits(i.fa))};if(t.size){t.icon.size=t.size}return}if(i.tw){var r=_utils2.default.getTiddler(i.tw);if(!r){return}if(r.fields["_canonical_uri"]){t.image=r.fields["_canonical_uri"];t.shape="image"}else if(r.fields.text){t.image=_utils2.default.getDataUri(r);t.shape="image"}}};var removeObsoleteViewData=function e(t,i){if(!_ViewAbstraction2.default.exists(i)||!t){return}i=new _ViewAbstraction2.default(i);var r=i.getNodeData();var a=0;for(var s in r){if(t[s]===undefined&&r[s]!=null){r[s]=undefined;a++}}if(a){$tm.logger("debug","[Cleanup]","Removed obsolete node data:",i.getLabel(),a);i.saveNodeData(r)}};var addStyleToEdge=function e(t,i){t=Object.assign(t,i.style);if(_utils2.default.isTrue(i["show-label"],true)){t.label=i.getLabel()}};var getIcon=function e(t,i){return t&&{fa:t}||i&&{tw:i}};exports.default=Adapter; +/* @preserve TW-Guard */var _ViewAbstraction=require("$:/plugins/felixhayashi/tiddlymap/js/ViewAbstraction");var _ViewAbstraction2=_interopRequireDefault(_ViewAbstraction);var _EdgeType=require("$:/plugins/felixhayashi/tiddlymap/js/EdgeType");var _EdgeType2=_interopRequireDefault(_EdgeType);var _NodeType=require("$:/plugins/felixhayashi/tiddlymap/js/NodeType");var _NodeType2=_interopRequireDefault(_NodeType);var _utils=require("$:/plugins/felixhayashi/tiddlymap/js/utils");var _utils2=_interopRequireDefault(_utils);var _Edge=require("$:/plugins/felixhayashi/tiddlymap/js/Edge");var _Edge2=_interopRequireDefault(_Edge);var _vis=require("$:/plugins/felixhayashi/vis/vis.js");var _vis2=_interopRequireDefault(_vis);var _environment=require("$:/plugins/felixhayashi/tiddlymap/js/lib/environment");var env=_interopRequireWildcard(_environment);var _contrastcolour=require("$:/core/modules/macros/contrastcolour.js");function _interopRequireWildcard(e){if(e&&e.__esModule){return e}else{var t={};if(e!=null){for(var i in e){if(Object.prototype.hasOwnProperty.call(e,i))t[i]=e[i]}}t.default=e;return t}}function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _defineProperty(e,t,i){if(t in e){Object.defineProperty(e,t,{value:i,enumerable:true,configurable:true,writable:true})}else{e[t]=i}return e}function _classCallCheck(e,t){if(!(e instanceof t)){throw new TypeError("Cannot call a class as a function")}}var Adapter=function(){function e(t,i){_classCallCheck(this,e);this.getTiddlerById=t.getTiddlerById.bind(t);this.getId=t.getIdByTiddler.bind(t);this.assignId=t.assignId.bind(t);this.edgeTypeSubscriberRegistry=i;this.indeces=$tm.indeces;this.wiki=$tw.wiki;this.visShapesWithTextInside=_utils2.default.getLookupTable(["ellipse","circle","database","box","text"])}_createClass(e,[{key:"deleteEdge",value:function e(t){return this._processEdge(t,"delete")}},{key:"insertEdge",value:function e(t){return this._processEdge(t,"insert")}},{key:"deleteEdges",value:function e(t){t=_utils2.default.convert(t,"array");for(var i=t.length;i--;){this.deleteEdge(t[i])}}},{key:"_processEdge",value:function e(t,i){$tm.logger("debug","Edge",i,t);var r=this.getTiddlerById(t.from);if(!r||!_utils2.default.tiddlerExists(r)){return}var a=_utils2.default.getTiddler(r);var s=this.indeces.allETy[t.type]||_EdgeType2.default.getInstance(t.type);var l=this.edgeTypeSubscriberRegistry.getAllForType(s);var n=i+"Edge";for(var d=l.length;d--;){l[d][n](a,t,s)}if(i==="insert"&&!s.exists()){s.save()}return t}},{key:"getAdjacencyList",value:function e(t){var i=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};$tm.start("Creating adjacency list");if(!i.edges){var r=_utils2.default.getMatches(env.selector.allPotentialNodes);i.edges=this.getEdgesForSet(r,i.toWL,i.typeWL)}var a=_utils2.default.groupByProperty(i.edges,t||"to");$tm.stop("Creating adjacency list");return a}},{key:"getNeighbours",value:function e(t){var i=this;var r=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};$tm.start("Get neighbours");var a=r.addProperties,s=r.toWL,l=r.typeWL,n=r.steps;var d=this.indeces.allETy;var o=_utils2.default.getArrayValuesAsHashmapKeys(t);var u=_ViewAbstraction2.default.exists(r.view)?new _ViewAbstraction2.default(r.view):null;var f=_utils2.default.makeHashMap();var g=_utils2.default.makeHashMap();var c=parseInt(n)>0?n:1;var v=r.direction||u&&u.getConfig("neighbourhood_directions");var y=!v||v==="both";var h=y||v==="in";var p=y||v==="out";var _=u&&"[all[]] "+u.getNodeFilter("raw");var b=this.getAdjacencyList("to",r);var m=function e(t,r,s){f[t.id]=t;var l=i.getTiddlerById(t[r]);if(u&&_utils2.default.isTrue($tm.config.sys.nodeFilterNeighbours)&&!_utils2.default.isMatch(l,_)){return}if(!o[l]){o[l]=true;var n=i.makeNode(l,a);if(n){g[n.id]=n;s.push(l)}}};var w=void 0;for(w=0;w1&&arguments[1]!==undefined?arguments[1]:{},r=i.addProperties,a=i.outputType;var s=_utils2.default.makeHashMap();var l=Object.keys(t);for(var n=l.length;n--;){var d=this.makeNode(t[l[n]],r);if(d){s[d.id]=d}}return _utils2.default.convert(s,a)}},{key:"selectNodesByIds",value:function e(t,i){var r=this.getTiddlersByIds(t);return this.selectNodesByReferences(r,i)}},{key:"selectNodeById",value:function e(t,i){i=Object.assign({},i,{outputType:"hashmap"});var r=this.selectNodesByIds([t],i);return r[t]}},{key:"removeNodeType",value:function e(t){t=_NodeType2.default.getInstance(t);this.wiki.deleteTiddler(t.fullPath)}},{key:"makeNode",value:function e(t,i){var r=_utils2.default.getTiddler(t);if(!r||_utils2.default.isSystemOrDraft(r))return;var a=_utils2.default.merge({},i);a.id=this.assignId(r);a.tRef=r.fields.title;var s=r.fields[$tm.field.nodeLabel];a.label=(s&&$tm.field.nodeLabel!=="title"?this.wiki.renderText("text/plain","text/vnd-tiddlywiki",s):r.fields.title).replace("\\n","\n");return a}},{key:"getInheritedNodeStyles",value:function e(t){var i=this.getTiddlersByIds(t);var r={};var a=this.indeces.glNTy;for(var s=a.length;s--;){var l=a[s];var n=[];if(l.id==="tmap:neighbour"){for(var d in t){if(t[d].type==="tmap:neighbour"){n.push(this.getTiddlerById(d))}}}else{n=l.getInheritors(i)}for(var o=n.length;o--;){var u=n[o];var f=r[u]=r[u]||{};f.style=_utils2.default.merge(f.style||{},l.style);if(l["fa-icon"]){f["fa-icon"]=l["fa-icon"]}else if(l["tw-icon"]){f["tw-icon"]=l["tw-icon"]}}}return r}},{key:"attachStylesToNodes",value:function e(t,i){i=_ViewAbstraction2.default.exists(i)?new _ViewAbstraction2.default(i):null;var r=this.getInheritedNodeStyles(t);var a=i?i.getNodeData():_utils2.default.makeHashMap();var s=i&&!i.isEnabled("physics_mode");for(var l in t){var n=this.getTiddlerById(l);var d=this.wiki.getTiddler(n);var o=d.fields;var u=t[l];var f=void 0;var g=r[n];if(g){_utils2.default.merge(u,g.style);f=getIcon(g["fa-icon"],g["tw-icon"])}if(o.color){u.color=o.color}if(o["tmap.style"]){_utils2.default.merge(u,_utils2.default.parseJSON(o["tmap.style"]))}f=getIcon(o["tmap.fa-icon"],o["icon"])||f;var c=a[l];if(c){_utils2.default.merge(u,c);if(s){u.fixed={x:u.x!=null,y:u.y!=null}}f=getIcon(c["fa-icon"],c["tw-icon"])||f}var v=u.color!==null&&_typeof(u.color)==="object";var y=v?u.color.background:u.color;u.color={background:y,border:v?u.color.border:undefined};addNodeIcon(u,f);u.font=u.font||{};if(u.shape&&!this.visShapesWithTextInside[u.shape]){u.font.color="black"}else if(!u.font.color&&y){u.font.color=(0,_contrastcolour.run)(y,y,"black","white")}if(u.shape==="icon"){u.label="\n"+u.label;if(_typeof(u.icon)==="object"){u.icon.color=y}}}if(i){var h=t[i.getConfig("central-topic")];if(h){_utils2.default.merge(h,this.indeces.glNTyById["tmap:central-topic"].style)}}}},{key:"deleteNode",value:function e(t){if(!t){return}var i=(typeof t==="undefined"?"undefined":_typeof(t))==="object"?t.id:t;var r=this.getTiddlerById(i);if(r){_utils2.default.deleteTiddlers([r])}var a=_utils2.default.getMatches(env.selector.allViews);for(var s=a.length;s--;){var l=new _ViewAbstraction2.default(a[s]);l.removeNode(i)}var n=this.getNeighbours([r]);this.deleteEdges(n.edges)}},{key:"deleteNodes",value:function e(t){for(var i=t.length;i--;){this.deleteNode(t[i])}}},{key:"insertNode",value:function e(){var t=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{};var i=arguments[1];var r=arguments[2];t.label=this.wiki.generateNewTitle(t.label||_utils2.default.getRandomLabel());var a=new $tw.Tiddler({text:""},r,{title:t.label,"tmap.id":null},this.wiki.getModificationFields(),this.wiki.getCreationFields());this.wiki.addTiddler(a);t=this.makeNode(a,t);if(_ViewAbstraction2.default.exists(i)){new _ViewAbstraction2.default(i).addNode(t)}return t}},{key:"getTiddlersByIds",value:function e(t){if(Array.isArray(t)){t=_utils2.default.getArrayValuesAsHashmapKeys(t)}else if(t instanceof _vis2.default.DataSet){t=_utils2.default.getLookupTable(t,"id")}var i=[];for(var r in t){var a=this.getTiddlerById(r);if(a){i.push(a)}}return i}}]);return e}();var getFAdigits=function e(t){return t.length===4?t:t.substr(3,4)};var addNodeIcon=function e(t,i){if(!i){return}if(i.fa){t.shape="icon";t.icon={shape:"icon",face:"FontAwesome",color:t.color,code:String.fromCharCode("0x"+getFAdigits(i.fa))};if(t.size){t.icon.size=t.size}return}if(i.tw){var r=_utils2.default.getTiddler(i.tw);if(!r){return}if(r.fields["_canonical_uri"]){t.image=r.fields["_canonical_uri"];t.shape="image"}else if(r.fields.text){t.image=_utils2.default.getDataUri(r);t.shape="image"}}};var removeObsoleteViewData=function e(t,i){if(!_ViewAbstraction2.default.exists(i)||!t){return}i=new _ViewAbstraction2.default(i);var r=i.getNodeData();var a=0;for(var s in r){if(t[s]===undefined&&r[s]!=null){r[s]=undefined;a++}}if(a){$tm.logger("debug","[Cleanup]","Removed obsolete node data:",i.getLabel(),a);i.saveNodeData(r)}};var addStyleToEdge=function e(t,i){t=Object.assign(t,i.style);if(_utils2.default.isTrue(i["show-label"],true)){t.label=i.getLabel()}};var getIcon=function e(t,i){return t&&{fa:t}||i&&{tw:i}};exports.default=Adapter; //# sourceMappingURL=./maps/felixhayashi/tiddlymap/js/services/Adapter.js.map diff --git a/template/wiki/plugins/felixhayashi/tiddlymap/js/widget/MapWidget.js b/template/wiki/plugins/felixhayashi/tiddlymap/js/widget/MapWidget.js index 648efbf3..faef19bb 100644 --- a/template/wiki/plugins/felixhayashi/tiddlymap/js/widget/MapWidget.js +++ b/template/wiki/plugins/felixhayashi/tiddlymap/js/widget/MapWidget.js @@ -8,5 +8,5 @@ module-type: widget @preserve \*/ -/* @preserve TW-Guard */var MapWidget=function(e){_inherits(t,e);function t(e,i){_classCallCheck(this,t);var a=_possibleConstructorReturn(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,i));a.getAttr=a.getAttribute;a.isDebug=_utils2.default.isTrue($tm.config.sys.debug,false);_utils2.default.bindTo(a,["constructTooltip","handleResizeEvent","handleClickEvent","handleCanvasKeyup","handleCanvasKeydown","handleCanvasScroll","handleCanvasMouseMove","handleWidgetKeyup","handleWidgetKeydown","handleTriggeredRefresh","handleContextMenu"]);a.callbackManager=new _CallbackManager2.default;a.computeAttributes();a.editorMode=a.getAttr("editor");a.clickToUse=_utils2.default.isTrue(a.getAttr("click-to-use"),false);a.id=a.getAttr("object-id")||a.getStateQualifier();a.widgetPopupsPath=$tm.path.tempPopups+"/"+a.id;if(a.editorMode){_utils2.default.addTWlisteners({"tmap:tm-create-view":a.handleCreateView,"tmap:tm-rename-view":a.handleRenameView,"tmap:tm-delete-view":a.handleDeleteView,"tmap:tm-delete-element":a.handleDeleteElement,"tmap:tm-edit-view":a.handleEditView,"tmap:tm-generate-widget":a.handleGenerateWidget,"tmap:tm-toggle-central-topic":a.handleSetCentralTopic,"tmap:tm-save-canvas":a.handleSaveCanvas},a,a)}_utils2.default.addTWlisteners({"tmap:tm-focus-node":a.handleFocusNode,"tmap:tm-reset-focus":a.repaintGraph,"tmap:tm-neighbourhood-reset-trace":function e(){a.initAndRenderGraph(a.graphDomNode)}},a,a);a.visListeners={click:a.handleVisSingleClickEvent,doubleClick:a.handleVisDoubleClickEvent,stabilized:a.handleVisStabilizedEvent,selectNode:a.handleVisSelectNode,deselectNode:a.handleVisDeselectNode,dragStart:a.handleVisDragStart,dragEnd:a.handleVisDragEnd,hoverNode:a.handleVisHoverElement,hoverEdge:a.handleVisHoverElement,blurNode:a.handleVisBlurElement,blurEdge:a.handleVisBlurElement,beforeDrawing:a.handleVisBeforeDrawing,afterDrawing:a.handleVisAfterDrawing,stabilizationProgress:a.handleVisLoading,stabilizationIterationsDone:a.handleVisLoadingDone};a.windowDomListeners={resize:[a.handleResizeEvent,false],click:[a.handleClickEvent,false],mousemove:[a.handleCanvasMouseMove,true]};a.canvasDomListeners={keyup:[a.handleCanvasKeyup,true],keydown:[a.handleCanvasKeydown,true],mousewheel:[a.handleCanvasScroll,true],DOMMouseScroll:[a.handleCanvasScroll,true],contextmenu:[a.handleContextMenu,true],MozMousePixelScroll:[a.handleExtraCanvasScroll,true]};a.widgetDomListeners={keyup:[a.handleWidgetKeyup,true],keydown:[a.handleWidgetKeydown,true]};a.conVector={from:null,to:null};return a}_createClass(t,[{key:"handleConnectionEvent",value:function e(t,i){var a=this;var s=this.view.getEdgeTypeFilter();var r={fromLabel:$tm.adapter.selectNodeById(t.from).label,toLabel:$tm.adapter.selectNodeById(t.to).label,view:this.view.getLabel(),eTyFilter:s.raw};$tm.dialogManager.open("getEdgeType",r,function(e,r){if(e){var n=_utils2.default.getText(r);var o=_EdgeType2.default.getInstance(n);if(!o.namespace){var l=_EdgeType2.default.getIdParts(o.id),d=l.marker,h=l.name;var u=a.view.getConfig("edge_type_namespace");o=_EdgeType2.default.getInstance(_EdgeType2.default.getId(d,u,h))}if(!o.exists()){o.save()}t.type=o.id;$tm.adapter.insertEdge(t);a.isPreventZoomOnNextUpdate=true;if(!a.view.isEdgeTypeVisible(o)){$tm.dialogManager.open("edgeNotVisible",{type:o.id,view:a.view.getLabel(),eTyFilter:s.pretty})}}if(typeof i==="function"){i(e)}})}},{key:"checkForFreshInstall",value:function e(){if(!_utils2.default.getEntry($tm.ref.sysMeta,"showWelcomeMessage",true)){return}_utils2.default.setEntry($tm.ref.sysMeta,"showWelcomeMessage",false);var t={dialog:{preselects:{"config.storyview":"true","config.navigation":"true","config.sidebar":"true","config.demo":"true"}}};$tm.dialogManager.open("welcome",t,function(e,t){var i=_utils2.default.getPropertiesByPrefix(t.fields,"config.",true);if(i["storyview"]&&_utils2.default.tiddlerExists("$:/plugins/felixhayashi/topstoryview")){_utils2.default.setText("$:/view","top")}if(i["navigation"]){_utils2.default.setText("$:/config/Navigation/openLinkFromInsideRiver","above");_utils2.default.setText("$:/config/Navigation/openLinkFromOutsideRiver","top")}if(i["sidebar"]){_utils2.default.setText("$:/themes/tiddlywiki/vanilla/options/sidebarlayout","fixed-fluid")}if(i["demo"]){var a=$tm.misc.defaultViewLabel;var s=$tm.adapter.insertNode({label:"Have fun with",x:0,y:0},a);var r=$tm.adapter.insertNode({label:"TiddlyMap!!",x:100,y:100},a);$tm.adapter.insertEdge({from:s.id,to:r.id})}if(Object.keys(i).length){_utils2.default.touch("$:/plugins/felixhayashi/tiddlymap")}})}},{key:"openStandardConfirmDialog",value:function e(t,i){var a={message:i};$tm.dialogManager.open("getConfirmation",a,t)}},{key:"logger",value:function e(t,i){if(this.isDebug){var a=Array.prototype.slice.call(arguments,1);a.unshift("@"+this.id);a.unshift(t);$tm.logger.apply(this,a)}}},{key:"render",value:function e(t,i){this.parentDomNode=t;this.domNode=this.document.createElement("div");t.insertBefore(this.domNode,i);this.registerClassNames(this.domNode);this.viewHolderRef=this.getViewHolderRef();this.view=this.getView();this.graphBarDomNode=this.document.createElement("div");$tw.utils.addClass(this.graphBarDomNode,"tmap-topbar");this.domNode.appendChild(this.graphBarDomNode);this.graphDomNode=this.document.createElement("div");this.domNode.appendChild(this.graphDomNode);$tw.utils.addClass(this.graphDomNode,"tmap-vis-graph");if(_utils2.default.isPreviewed(this)){$tw.utils.addClass(this.domNode,"tmap-static-mode");this.renderPreview(this.graphBarDomNode,this.graphDomNode)}else{this.renderFullWidget(this.domNode,this.graphBarDomNode,this.graphDomNode);var a=this.document.createElement("canvas");$tw.utils.addClass(a,"tmap-download-canvas");this.domNode.appendChild(a)}}},{key:"renderPreview",value:function e(t,i){var a=this.view.snapshotTRef;var s=_utils2.default.getTiddler(a);var r=this.document.createElement("span");r.innerHTML=this.view.getLabel();r.className="tmap-view-label";t.appendChild(r);if(s){var n=_utils2.default.getTiddlerNode(this.view.getRoot());n.children.push(_utils2.default.getTranscludeNode(a));this.makeChildWidgets([n]);this.renderChildren(i,i.firstChild)}else{$tw.utils.addClass(i,"tmap-graph-placeholder")}}},{key:"renderFullWidget",value:function e(t,i,a){_utils2.default.setDomListeners("add",window,this.windowDomListeners);_utils2.default.setDomListeners("add",t,this.widgetDomListeners);this.addLoadingBar(this.domNode);this.tooltip=new _Popup2.default(this.domNode,{className:"tmap-tooltip",showDelay:$tm.config.sys.popups.delay});this.contextMenu=new _Popup2.default(this.domNode,{className:"tmap-context-menu",showDelay:0,hideOnClick:true,leavingDelay:999999});this.sidebar=_utils2.default.getFirstElementByClassName("tc-sidebar-scrollable");this.isInSidebar=this.sidebar&&!this.domNode.isTiddlyWikiFakeDom&&this.sidebar.contains(this.domNode);this.rebuildEditorBar(i);this.reloadRefreshTriggers();this.initAndRenderGraph(a);$tm.registry.push(this);this.checkForFreshInstall();if(this.id===$tm.misc.mainEditorId){var s=$tm.url;if(s&&s.query["tmap-enlarged"]){this.toggleEnlargedMode(s.query["tmap-enlarged"]);this.setView(s.query["tmap-view"])}}}},{key:"registerClassNames",value:function e(t){var i=$tw.utils.addClass;i(t,"tmap-widget");if(this.clickToUse){i(t,"tmap-click-to-use")}if(this.getAttr("editor")==="advanced"){i(t,"tmap-advanced-editor")}if(this.getAttr("design")==="plain"){i(t,"tmap-plain-design")}if(!_utils2.default.isTrue(this.getAttr("show-buttons"),true)){i(t,"tmap-no-buttons")}if(this.getAttr("class")){i(t,this.getAttr("class"))}}},{key:"addLoadingBar",value:function e(t){this.graphLoadingBarDomNode=this.document.createElement("progress");$tw.utils.addClass(this.graphLoadingBarDomNode,"tmap-loading-bar");t.appendChild(this.graphLoadingBarDomNode)}},{key:"rebuildEditorBar",value:function e(){this.removeChildDomNodes();var t=this.view;var i="tmap-unicode-button";var a=i+" tmap-active-button";var s={widgetQualifier:this.getStateQualifier(),widgetTempPath:this.widgetTempPath,widgetPopupsPath:this.widgetPopupsPath,isViewBound:String(this.isViewBound()),viewRoot:t.getRoot(),viewLabel:t.getLabel(),viewHolder:this.getViewHolderRef(),edgeTypeFilter:t.edgeTypeFilterTRef,allEdgesFilter:$tm.selector.allEdgeTypes,isShowNeighbourhood:String(t.isEnabled("neighbourhood_scope")),tracingBtnClass:t.isEnabled("neighbourhood_trace_clicks")?a:i,neighScopeBtnClass:t.isEnabled("neighbourhood_scope")?a:i,rasterMenuBtnClass:t.isEnabled("raster")?a:i};for(var r in s){this.setVariable(r,s[r])}var n=_utils2.default.getTiddlerNode(t.getRoot());if(this.editorMode==="advanced"){n.children.push(_utils2.default.getTranscludeNode($tm.ref.graphBar))}else{var o=_utils2.default.getElementNode("span","tmap-view-label",t.getLabel());n.children.push(o)}n.children.push(_utils2.default.getTranscludeNode($tm.ref.focusButton));this.makeChildWidgets([n]);this.renderChildren(this.graphBarDomNode,this.graphBarDomNode.firstChild)}},{key:"refresh",value:function e(t){return false}},{key:"update",value:function e(t){if(!this.network||this.isZombieWidget()||_utils2.default.isPreviewed(this)){return}var i=t.changedTiddlers;this.callbackManager.refresh(i);if(this.isViewSwitched(i)||this.hasChangedAttributes()||t[env.path.options]||i[this.view.getRoot()]){this.logger("warn","View switched or config changed");this.isPreventZoomOnNextUpdate=false;this.view=this.getView(true);this.reloadRefreshTriggers();this.trace=_utils2.default.makeHashMap();this.rebuildEditorBar();this.reloadBackgroundImage();this.initAndRenderGraph(this.graphDomNode)}else{var a=this.view.update(t);if(a){this.logger("warn","View components modified");this.rebuildGraph({resetFocus:{delay:1e3,duration:1e3}})}else{if(t[env.path.nodeTypes]||this.hasChangedElements(i)){this.rebuildGraph()}this.refreshChildren(i)}}}},{key:"hidePopups",value:function e(t,i){this.tooltip.hide(t,i);this.contextMenu.hide(0,true)}},{key:"reloadRefreshTriggers",value:function e(){this.callbackManager.remove(this.refreshTriggers);var t=this.getAttr("refresh-triggers")||this.view.getConfig("refresh-triggers");this.refreshTriggers=$tw.utils.parseStringArray(t)||[];this.logger("debug","Registering refresh trigger",this.refreshTriggers);for(var i=this.refreshTriggers.length;i--;){this.callbackManager.add(this.refreshTriggers[i],this.handleTriggeredRefresh,false)}}},{key:"rebuildGraph",value:function e(){var t=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{},i=t.resetFocus;if(_utils2.default.isPreviewed(this)){return}this.logger("debug","Rebuilding graph");this.hidePopups(0,true);this.hasNetworkStabilized=false;var a=this.rebuildGraphData();if(a.changedNodes.withoutPosition.length){i=i||{delay:1e3,duration:1e3};if(!this.view.isEnabled("physics_mode")){var s=this.visOptions.physics;s[s.solver].centralGravity=.25;this.network.setOptions(this.visOptions)}}if(!_utils2.default.hasElements(this.graphData.nodesById)){return}if(i){var r=this.isPreventZoomOnNextUpdate==null?false:typeof this.isPreventZoomOnNextUpdate==="number"?this.isPreventZoomOnNextUpdate>Date.now():this.isPreventZoomOnNextUpdate;if(!r){this.network.stabilize();this.resetFocus=i}if(typeof this.isPreventZoomOnNextUpdate!=="number"){this.isPreventZoomOnNextUpdate=false}}}},{key:"getContainer",value:function e(){return this.domNode}},{key:"rebuildGraphData",value:function e(){var t=this;$tm.start("Reloading Network");var i={view:this.view};if(this.view.isEnabled("neighbourhood_trace_clicks")){var a=_utils2.default.getMatches(this.view.getNodeFilter("compiled"));var s=Object.keys(this.trace);var r=[].concat(_toConsumableArray(a.filter(function(e){return!t.trace[e]})),_toConsumableArray(s));i.matches=r;i.includeNeighboursOf=this.view.isEnabled("neighbourhood_include_traced_node_neighbours")?function(e){return r.includes(e)}:function(e){return a.includes(e)}}var n=$tm.adapter.getGraph(i);var o=_utils2.default.refreshDataSet(this.graphData.nodes,n.nodes);var l=_utils2.default.refreshDataSet(this.graphData.edges,n.edges);this.graphData.nodesById=n.nodes;this.graphData.edgesById=n.edges;_utils2.default.setField("$:/temp/tmap/nodes/"+this.view.getLabel(),"list",$tm.adapter.getTiddlersByIds(n.nodes));$tm.stop("Reloading Network");return{changedEdges:l,changedNodes:o}}},{key:"isViewBound",value:function e(){return _utils2.default.startsWith(this.getViewHolderRef(),$tm.path.localHolders)}},{key:"isViewSwitched",value:function e(t){return!_ViewAbstraction2.default.exists(this.view)||t[this.getViewHolderRef()]}},{key:"hasChangedAttributes",value:function e(){return Object.keys(this.computeAttributes()).length}},{key:"hasChangedElements",value:function e(t){var i=[];var a=this.graphData.nodesById;var s=this.view.isEnabled("neighbourhood_scope");for(var r in t){if(_utils2.default.isSystemOrDraft(r)){continue}if(a[$tm.adapter.getId(r)]||s){return true}if(t[r].modified){i.push(r)}}if(i.length){var n=this.view.getNodeFilter("compiled");var o=_utils2.default.getMatches(n,i);return!!o.length}}},{key:"initAndRenderGraph",value:function e(t){var i=this;if(this.network){this._destructVis()}this.logger("info","Initializing and rendering the graph");if(!this.isInSidebar){this.callbackManager.add("$:/state/sidebar",this.handleResizeEvent)}this.visOptions=this.getVisOptions();this.graphData={nodes:new _vis2.default.DataSet,edges:new _vis2.default.DataSet,nodesById:_utils2.default.makeHashMap(),edgesById:_utils2.default.makeHashMap()};this.tooltip.setEnabled(_utils2.default.isTrue($tm.config.sys.popups.enabled,true));this.trace=_utils2.default.makeHashMap();this.network=new _vis2.default.Network(t,this.graphData,this.visOptions);this.canvas=t.getElementsByTagName("canvas")[0];this.networkDomNode=_utils2.default.getFirstElementByClassName("vis-network",t,true);this.canvas.tabIndex=0;for(var a in this.visListeners){this.network.on(a,this.visListeners[a].bind(this))}this.addGraphButtons({"fullscreen-button":function e(){i.toggleEnlargedMode("fullscreen")},"halfscreen-button":function e(){i.toggleEnlargedMode("halfscreen")}});_utils2.default.setDomListeners("add",this.canvas,this.canvasDomListeners);this.reloadBackgroundImage();this.rebuildGraph({resetFocus:{delay:0,duration:0}});this.handleResizeEvent();this.canvas.focus();if(this.view.isLiveView()&&this.view.isEnabled("neighbourhood_trace_clicks")){this.trace[_utils2.default.getText(this.refreshTriggers[0])]=true}}},{key:"handleCanvasKeyup",value:function e(t){var i=this;var a=this.network.getSelectedNodes();if(t.ctrlKey){t.preventDefault();if(t.keyCode===88){if(this.editorMode){this.handleAddNodesToClipboard("move")}else{$tm.notify("Map is read only!")}}else if(t.keyCode===67){this.handleAddNodesToClipboard("copy")}else if(t.keyCode===86){this.handlePasteNodesFromClipboard()}else if(t.keyCode===65){var s=Object.keys(this.graphData.nodesById);this.network.selectNodes(s)}else if(t.keyCode===49||t.keyCode===50){if(a.length!==1)return;var r=t.keyCode===49?"from":"to";$tm.notify(_utils2.default.ucFirst(r)+"-part selected");this.conVector[r]=a[0];if(this.conVector.from&&this.conVector.to){this.handleConnectionEvent(this.conVector,function(){i.conVector={from:null,to:null}})}}}else{if(t.keyCode===13){if(a.length!==1)return;this.openTiddlerWithId(a[0])}}}},{key:"handleCanvasKeydown",value:function e(t){if(t.altKey||t.metaKey){t.preventDefault();if(t.keyCode>=48&&t.keyCode<=57){var i=String.fromCharCode(t.keyCode);this.view.setConfig("neighbourhood_scope",i)}}else{if(t.keyCode===46){t.preventDefault();this.handleRemoveElements(this.network.getSelection())}}}},{key:"handleDeleteElement",value:function e(t){var i=t.paramObject.id;var a=i?[i]:this.network.getSelectedNodes();this.handleRemoveElements({nodes:a})}},{key:"handleCanvasMouseMove",value:function e(t){var i=this.network;if(!(t.ctrlKey&&t.buttons)){if(this.selectRect){this.selectRect=null;var a=i.getSelectedNodes();$tm.notify(a.length+" nodes selected");i.redraw()}return}t.preventDefault();t.stopPropagation();if(!this.domNode.contains(t.target)){return}var s=i.DOMtoCanvas({x:t.offsetX,y:t.offsetY});if(!this.selectRect){this.selectRect=new _SelectionRectangle2.default(s.x,s.y)}this.selectRect.span(s.x,s.y);var r=i.getPositions();var n=i.getSelectedNodes();for(var o in r){if(this.selectRect.isPointWithin(r[o])&&!_utils2.default.inArray(o,n)){n.push(o)}}i.selectNodes(n);this.assignActiveStyle(n);i.redraw()}},{key:"handleCanvasScroll",value:function e(t){var i=!!(this.isInSidebar||t.ctrlKey||this.enlargedMode||this.clickToUse&&this.networkDomNode.classList.contains("vis-active"));var a=this.visOptions.interaction;var s=i===a.zoomView;if(i||!s){t.preventDefault()}if(!s){t.stopPropagation();a.zoomView=i;this.network.setOptions({interaction:{zoomView:i}});return false}}},{key:"handleExtraCanvasScroll",value:function e(t){t.preventDefault()}},{key:"handleContextMenu",value:function e(t){var i=this;t.preventDefault();var a=this.network;this.hidePopups(0,true);var s=a.getNodeAt({x:t.offsetX,y:t.offsetY});if(!s)return;var r=a.getSelectedNodes();if(!_utils2.default.inArray(s,r)){r=[s];a.selectNodes(r)}this.contextMenu.show(r,function(e,t){var a=e.length>1?"multi":"single";var s="$:/plugins/felixhayashi/tiddlymap/editor/contextMenu/node";_utils2.default.registerTransclude(i,"contextMenuWidget",s);i.contextMenuWidget.setVariable("mode",a);i.contextMenuWidget.render(t)})}},{key:"handleWidgetKeyup",value:function e(t){}},{key:"handleWidgetKeydown",value:function e(t){if(t.ctrlKey){t.preventDefault();if(t.keyCode===70){t.preventDefault();var i=this.widgetPopupsPath+"/focus";_utils2.default.setText(i,_utils2.default.getText(i)?"":"1")}else{return}}else if(t.keyCode===120){t.preventDefault();this.toggleEnlargedMode("halfscreen")}else if(t.keyCode===121){t.preventDefault();this.toggleEnlargedMode("fullscreen")}else if(t.keyCode===27){t.preventDefault();_utils2.default.deleteByPrefix(this.widgetPopupsPath)}else{return}this.canvas.focus()}},{key:"handlePasteNodesFromClipboard",value:function e(){if(!this.editorMode){$tm.notify("Map is read only!");return}if(!$tm.clipBoard||$tm.clipBoard.type!=="nodes"){$tm.notify("TiddlyMap clipboad is empty!")}var t=$tm.clipBoard.nodes;var i=Object.keys(t);for(var a=i.length;a--;){var s=i[a];if(this.graphData.nodesById[s]){continue}this.view.addNode(t[s]);this.graphData.nodes.update({id:s})}this.network.selectNodes(i);this.rebuildGraph({resetFocus:{delay:0,duration:0}});$tm.notify("pasted "+i.length+" nodes into map.")}},{key:"handleAddNodesToClipboard",value:function e(t){var i=this.network.getSelectedNodes();if(!i.length){return}$tm.clipBoard={type:"nodes",nodes:this.graphData.nodes.get(i,{returnType:"Object"})};$tm.notify("Copied "+i.length+" nodes to clipboard");if(t==="move"){for(var a=i.length;a--;){this.view.removeNode(i[a])}}this.isPreventZoomOnNextUpdate=true}},{key:"getVisOptions",value:function e(){var t=this;var i=$tm.config.vis;var a=_utils2.default.parseJSON(this.view.getConfig("vis"))||{};var s=a.layout||{},r=s.hierarchical;var n={layout:{hierarchical:{enabled:r===undefined||r===null?false:typeof r==="boolean"?r:r.enabled!==false}}};var o=_utils2.default.merge({},i,_utils2.default.merge(a,n));o.clickToUse=this.clickToUse;o.manipulation.enabled=!!this.editorMode;o.manipulation.deleteNode=function(e,i){t.handleRemoveElements(e);t.resetVisManipulationBar(i)};o.manipulation.deleteEdge=function(e,i){t.handleRemoveElements(e);t.resetVisManipulationBar(i)};o.manipulation.addEdge=function(e,i){t.handleConnectionEvent(e);t.resetVisManipulationBar(i)};o.manipulation.addNode=function(e,i){t.handleInsertNode(e);t.resetVisManipulationBar(i)};o.manipulation.editNode=function(e,i){t.handleEditNode(e);t.resetVisManipulationBar(i)};o.interaction.zoomView=!!(this.isInSidebar||this.enlargedMode);o.manipulation.editEdge=false;var l=o.physics;l[l.solver]=l[l.solver]||{};l.stabilization.iterations=1e3;this.logger("debug","Loaded graph options",o);return o}},{key:"resetVisManipulationBar",value:function e(t){if(t){t(null)}this.network.disableEditMode();this.network.enableEditMode()}},{key:"isVisInEditMode",value:function e(){return this.graphDomNode.getElementsByClassName("vis-button vis-back").length>0}},{key:"handleCreateView",value:function e(){var t=this;var i={view:this.view.getLabel()};$tm.dialogManager.open("createView",i,function(e,i){if(!e)return;var a=_utils2.default.getField(i,"name");var s=_utils2.default.getField(i,"clone",false);if(_ViewAbstraction2.default.exists(a)){$tm.notify("Forbidden! View already exists!");return}if(s&&t.view.isLiveView()){$tm.notify("Forbidden to clone the live view!");return}var r=new _ViewAbstraction2.default(a,{isCreate:true,protoView:s?t.view:null});t.setView(r)})}},{key:"handleRenameView",value:function e(){var t=this;if(this.view.isLocked()){$tm.notify("Forbidden!");return}var i=this.view.getOccurrences();var a={count:i.length.toString(),refFilter:_utils2.default.joinAndWrap(i,"[[","]]")};$tm.dialogManager.open("renameView",a,function(e,i){if(!e){return}var a=_utils2.default.getText(i);if(!a){$tm.notify("Invalid name!")}else if(_ViewAbstraction2.default.exists(a)){$tm.notify("Forbidden! View already exists!")}else{t.view.rename(a);t.setView(t.view)}})}},{key:"handleEditView",value:function e(){var t=this;var i=JSON.stringify($tm.config.vis);var a=this.graphData;var s=this.view.getConfig();var r={"filter.prettyNodeFltr":this.view.getNodeFilter("pretty"),"filter.prettyEdgeFltr":this.view.getEdgeTypeFilter("pretty"),"inherited-style":i};var n={view:this.view.getLabel(),createdOn:this.view.getCreationDate(true),numberOfNodes:Object.keys(a.nodesById).length.toString(),numberOfEdges:Object.keys(a.edgesById).length.toString(),dialog:{preselects:$tw.utils.extend({},s,r)}};$tm.dialogManager.open("configureView",n,function(e,i){if(!e){return}var a=_utils2.default.getPropertiesByPrefix(i.fields,"config.",true);var s=t.view.getConfig("background_image");t.view.setConfig(a);if(a["physics_mode"]&&!t.view.isEnabled("physics_mode")){t.view.saveNodePositions(t.network.getPositions())}var r=t.view.getConfig("background_image");if(r&&r!==s){$tm.notify("Background changed! You may need to zoom out a bit.")}var n=_utils2.default.getField(i,"filter.prettyNodeFltr","");var o=_utils2.default.getField(i,"filter.prettyEdgeFltr","");t.view.setNodeFilter(n);t.view.setEdgeTypeFilter(o)})}},{key:"handleSaveCanvas",value:function e(){var t=this;var i="$:/temp/tmap/snapshot";this.createAndSaveSnapshot(100,100,i);var a=this.view.getLabel()+".png";var s={dialog:{snapshot:i,view:this.view.getLabel(),preselects:{width:this.canvas.width.toString(),height:this.canvas.height.toString(),name:a,action:"download"}}};$tm.dialogManager.open("saveCanvas",s,function(e,a){if(!e)return;var r=a.fields.width||s.dialog.preselects.width;var n=a.fields.height||s.dialog.preselects.height;t.createAndSaveSnapshot(r,n,i);var o=a.fields.name||s.dialog.preselects.imageName;var l=a.fields.action;if(l==="download"){t.handleDownloadSnapshot(r,n,o)}else if(l==="wiki"){_utils2.default.cp(i,o,true);t.dispatchEvent({type:"tm-navigate",navigateTo:o})}else if(l==="placeholder"){t.view.addPlaceholder(i)}$tw.wiki.deleteTiddler("$:/temp/tmap/snapshot")})}},{key:"handleDownloadSnapshot",value:function e(t,i,a){var s=this.document.createElement("a");var r=this.view.getLabel();s.download=a;s.href=this.getCanvasAsBase64({size:{width:t,height:i}});var n=new MouseEvent("click");s.dispatchEvent(n)}},{key:"createAndSaveSnapshot",value:function e(t,i,a,s){$tw.wiki.addTiddler(new $tw.Tiddler({title:s||a,type:"image/png",text:this.getCanvasAsBase64({size:{width:t,height:i},withoutPreamble:true})},$tw.wiki.getCreationFields(),$tw.wiki.getModificationFields()));return a}},{key:"getCanvasAsBase64",value:function e(){var t=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{},i=t.withoutPreamble,a=t.size;var s=this.graphDomNode.style.width;var r=this.graphDomNode.style.height;if(a){this.graphDomNode.style.width=a.width+"px";this.graphDomNode.style.height=a.height+"px";this.network.redraw()}var n=this.canvas.toDataURL("image/png");if(a){this.graphDomNode.style.width=s;this.graphDomNode.style.height=r;this.network.redraw()}return i?_utils2.default.getWithoutPrefix(n,"data:image/png;base64,"):n}},{key:"handleDeleteView",value:function e(){var t=this;var i=this.view.getLabel();if(this.view.isLocked()){$tm.notify("Forbidden!");return}var a=this.view.getOccurrences();if(a.length){var s={count:a.length.toString(),refFilter:_utils2.default.joinAndWrap(a,"[[","]]")};$tm.dialogManager.open("cannotDeleteViewDialog",s);return}var r="\n You are about to delete the view ''"+i+"''\n (no tiddler currently references this view).\n ";this.openStandardConfirmDialog(function(e){if(!e){return}t.view.destroy();t.setView($tm.misc.defaultViewLabel);var a='view "'+i+"' deleted";t.logger("debug",a);$tm.notify(a)},r)}},{key:"handleTriggeredRefresh",value:function e(t){this.logger("log",t,"Triggered a refresh");var i=_utils2.default.getTiddler(_utils2.default.getText(t));if(this.view.isLiveView()){if(i){if(this.view.isEnabled("neighbourhood_trace_clicks")){this.trace[i.fields.title]=true}var a=i.fields["tmap.open-view"]||$tm.config.sys.liveTab.fallbackView;if(a&&a!==this.view.getLabel()){this.setView(a);return}}}this.rebuildGraph({resetFocus:{delay:1e3,duration:1e3}})}},{key:"handleRemoveElements",value:function e(t){var i=t.nodes,a=t.edges;if(i.length){this.handleRemoveNodes(i)}else if(a.length){this.handleRemoveEdges(a)}this.resetVisManipulationBar()}},{key:"handleRemoveEdges",value:function e(t){$tm.adapter.deleteEdges(this.graphData.edges.get(t));$tm.notify("edge"+(t.length>1?"s":"")+" removed")}},{key:"handleRemoveNodes",value:function e(t){var i=this;var a=$tm.adapter.getTiddlersByIds(t);var s={count:t.length.toString(),tiddlers:$tw.utils.stringifyList(a),dialog:{preselects:{"delete-from":"filter"}}};$tm.dialogManager.open("deleteNodeDialog",s,function(e,a){if(!e)return;var s=0;for(var r=t.length;r--;){var n=i.view.removeNode(t[r]);if(n){s++}}if(a.fields["delete-from"]==="system"){$tm.adapter.deleteNodes(t);s=t.length}i.isPreventZoomOnNextUpdate=true;$tm.notify("\n Removed "+s+"\n of "+t.length+"\n from "+a.fields["delete-from"]+"\n ")})}},{key:"toggleEnlargedMode",value:function e(t){if(!this.isInSidebar&&t==="halfscreen"){return}this.logger("log","Toggled graph enlargement");var i=this.enlargedMode;if(i){this.network.setOptions({clickToUse:this.clickToUse});_utils2.default.findAndRemoveClassNames(["tmap-has-"+i+"-widget","tmap-"+i]);this.enlargedMode=null;document.body.scrollTop=this.scrollTop}if(!i||i!==t&&(t==="fullscreen"||t==="halfscreen"&&!this.isInSidebar)){this.scrollTop=document.body.scrollTop;this.enlargedMode=t;var a=this.isInSidebar?this.sidebar:_utils2.default.getFirstElementByClassName("tc-story-river");$tw.utils.addClass(this.document.body,"tmap-has-"+t+"-widget");$tw.utils.addClass(a,"tmap-has-"+t+"-widget");$tw.utils.addClass(this.domNode,"tmap-"+t);this.network.setOptions({clickToUse:false});$tm.notify("Toggled "+t+" mode")}this.handleResizeEvent()}},{key:"handleGenerateWidget",value:function e(t){$tw.rootWidget.dispatchEvent({type:"tmap:tm-generate-widget",paramObject:{view:this.view.getLabel()}})}},{key:"handleSetCentralTopic",value:function e(t){var i=t.paramObject;var a=i.id||this.network.getSelectedNodes()[0];if(a===this.view.getConfig("central-topic")){a=""}this.view.setCentralTopic(a)}},{key:"handleVisStabilizedEvent",value:function e(t){if(this.hasNetworkStabilized){return}this.hasNetworkStabilized=true;this.logger("log","Network stabilized after",t.iterations,"iterations");if(!this.view.isEnabled("physics_mode")){var i=this.graphData.nodesById;var a=[];for(var s in i){if(i[s].x===undefined){a.push(s)}}if(a.length){this.setNodesMoveable(a,false);$tm.notify(a.length+" nodes were added to the graph")}var r=this.visOptions.physics;r[r.solver].centralGravity=0;this.network.setOptions(this.visOptions)}if(this.resetFocus){this.fitGraph(this.resetFocus.delay,this.resetFocus.duration);this.resetFocus=null}}},{key:"handleFocusNode",value:function e(t){var i=t.param;this.network.focus($tm.adapter.getId(i),{scale:1.5,animation:true})}},{key:"isZombieWidget",value:function e(){return this.domNode.isTiddlyWikiFakeDom===true||!this.document.body.contains(this.getContainer())}},{key:"fitGraph",value:function e(){var t=this;var i=arguments.length>0&&arguments[0]!==undefined?arguments[0]:0;var a=arguments.length>1&&arguments[1]!==undefined?arguments[1]:0;clearTimeout(this.activeFitTimeout);var s=function e(){if(t.isZombieWidget()){return}t.network.redraw();t.network.fit({animation:{duration:a,easingFunction:"easeOutQuart"}})};this.activeFitTimeout=setTimeout(s,i)}},{key:"handleInsertNode",value:function e(t){var i=this;$tm.dialogManager.open("addNodeToMap",{},function(e,a){if(!e){return}var s=_utils2.default.getField(a,"draft.title").trim();if(_utils2.default.tiddlerExists(s)){if(_utils2.default.isMatch(s,i.view.getNodeFilter("compiled"))){$tm.notify("Node already exists");return}else{t=$tm.adapter.makeNode(s,t);i.view.addNode(t)}}else{var r=new $tw.Tiddler(a,{"draft.title":null});t.label=s;$tm.adapter.insertNode(t,i.view,r)}i.isPreventZoomOnNextUpdate=true})}},{key:"handleEditNode",value:function e(t){var i=this;var a=$tm.tracker.getTiddlerById(t.id);var s=_utils2.default.getTiddler(a);var r=$tm.config.vis.nodes;var n=_utils2.default.parseJSON(this.view.getConfig("vis"),{}).nodes;var o={};o[t.id]=t;var l=$tm.adapter.getInheritedNodeStyles(o);var d=l[a];var h=_utils2.default.merge({},{color:s.fields["color"]},_utils2.default.parseJSON(s.fields["tmap.style"]));var u=this.view.getLabel();var g=_extends({},this.view.getNodeData(t.id));delete g.x;delete g.y;var f={view:u,tiddler:s.fields.title,tidColor:s.fields["color"],tidIcon:s.fields[$tm.field.nodeIcon]||s.fields["tmap.fa-icon"],tidLabelField:"global."+$tm.field.nodeLabel,tidIconField:"global."+$tm.field.nodeIcon,dialog:{preselects:{"inherited-global-default-style":JSON.stringify(r),"inherited-local-default-style":JSON.stringify(n),"inherited-group-styles":JSON.stringify(d),"global.tmap.style":JSON.stringify(h),"local-individual-node-style":JSON.stringify(g)}}};var v=function e(t,i,a){for(var s=a.length;s--;){f.dialog.preselects[t+"."+a[s]]=i[a[s]]||""}};v("local",g,["label","tw-icon","fa-icon","open-view"]);v("global",s.fields,[$tm.field.nodeLabel,$tm.field.nodeIcon,"tmap.fa-icon","tmap.open-view"]);$tm.dialogManager.open("editNode",f,function(e,s){if(!e)return;var r=s.fields;var n=_utils2.default.getPropertiesByPrefix(r,"global.",true);for(var o in n){_utils2.default.setField(a,o,n[o]||undefined)}var l=_utils2.default.getPropertiesByPrefix(r,"local.",true);var d=_utils2.default.parseJSON(r["local-individual-node-style"],{});for(var h in l){d[h]=l[h]||undefined}i.view.saveNodeStyle(t.id,d);i.isPreventZoomOnNextUpdate=true})}},{key:"handleVisSingleClickEvent",value:function e(t){var i=_utils2.default.isTrue($tm.config.sys.singleClickMode);if(i&&!this.editorMode){this.handleOpenMapElementEvent(t)}}},{key:"handleVisDoubleClickEvent",value:function e(t){if(t.nodes.length||t.edges.length){if(this.editorMode||!_utils2.default.isTrue($tm.config.sys.singleClickMode)){this.handleOpenMapElementEvent(t)}}else{if(this.editorMode){this.handleInsertNode(t.pointer.canvas)}}}},{key:"handleOpenMapElementEvent",value:function e(t){var i=this;var a=t.nodes,s=t.edges;if(a.length){var r=this.graphData.nodesById[a[0]];if(this.view.isEnabled("neighbourhood_trace_clicks")){this.trace[$tm.adapter.getTiddlerById(r.id)]=true;this.isPreventZoomOnNextUpdate=Date.now()+500;this.rebuildGraph();if(this.view.isEnabled("neighbourhood_focus_newly_traced_node")){setTimeout(function(){i.network.focus(r.id,{scale:1,animation:true})},1500)}}if(r["open-view"]){$tm.notify("Switching view");this.setView(r["open-view"])}else{this.openTiddlerWithId(a[0])}}else if(s.length){this.logger("debug","Clicked on an Edge");var n=this.graphData.edgesById[s[0]].type;this.handleEditEdgeType(n)}else{return}this.hidePopups(0,true)}},{key:"handleEditEdgeType",value:function e(t){if(!this.editorMode)return;var i=$tm.config.sys.edgeClickBehaviour;if(i!=="manager")return;$tw.rootWidget.dispatchEvent({type:"tmap:tm-manage-edge-types",paramObject:{type:t}})}},{key:"handleResizeEvent",value:function e(t){if(this.isZombieWidget())return;var i=this.getAttr("height");var a=this.getAttr("width");if(this.isInSidebar){var s=this.domNode.getBoundingClientRect();var r=15;a=document.body.clientWidth-s.left-r+"px";var n=parseInt(this.getAttr("bottom-spacing"))||15;var o=window.innerHeight-s.top;i=o-n+"px"}this.domNode.style.height=i||"300px";this.domNode.style.width=a;this.repaintGraph()}},{key:"handleClickEvent",value:function e(t){if(this.isZombieWidget()||!this.network)return;if(!this.graphDomNode.contains(t.target)){var i=this.network.getSelection();if(i.nodes.length||i.edges.length){this.logger("debug","Clicked outside; deselecting nodes/edges");this.network.selectNodes([]);this.resetVisManipulationBar()}}else{this.canvas.focus()}if(t.button!==2){this.contextMenu.hide(0,true)}}},{key:"handleVisSelectNode",value:function e(t){var i=t.nodes;if(!this.isDraggingAllowed(i)){return}this.assignActiveStyle(i)}},{key:"isDraggingAllowed",value:function e(t){var i=t.nodes;return this.editorMode||this.view.isEnabled("physics_mode")}},{key:"assignActiveStyle",value:function e(t){if(!Array.isArray(t))t=[t];var i=this.visOptions.nodes.color;for(var a=t.length;a--;){var s=t[a];var r=this.graphData.nodesById[s];var n=_utils2.default.merge({},i,r.color);this.graphData.nodes.update({id:s,color:{highlight:n,hover:n}})}}},{key:"handleVisDeselectNode",value:function e(t){}},{key:"handleVisDragEnd",value:function e(t){var i=t.nodes;if(!i.length){return}if(i.length===1&&this.view.isEnabled("raster")){var a=this.network.getPositions()[i[0]];this.graphData.nodes.update(_extends({id:i[0]},_utils2.default.getNearestRasterPosition(a,parseInt(this.view.getConfig("raster")))))}this.draggedNode=null;this.setNodesMoveable(i,false)}},{key:"handleVisBeforeDrawing",value:function e(t){var i=this.view,a=this.network,s=this.backgroundImage;if(s){t.drawImage(s,0,0)}if(i.isEnabled("raster")){_utils2.default.drawRaster(t,a.getScale(),a.getViewPosition(),parseInt(i.getConfig("raster")))}}},{key:"handleVisAfterDrawing",value:function e(t){if(this.selectRect){var i=this.selectRect.getRect();t.beginPath();t.globalAlpha=.5;t.fillStyle="#EAFFEF";t.fillRect.apply(t,_toConsumableArray(i));t.beginPath();t.globalAlpha=1;t.strokeStyle="#B4D9BD";t.strokeRect.apply(t,_toConsumableArray(i))}if(this.draggedNode&&this.view.isEnabled("raster")){var a=this.network.getPositions()[this.draggedNode];var s=_utils2.default.getNearestRasterPosition(a,parseInt(this.view.getConfig("raster")));t.strokeStyle="green";t.fillStyle="green";t.beginPath();t.moveTo(a.x,a.y);t.lineTo(s.x,s.y);t.stroke();t.beginPath();t.arc(s.x,s.y,5,0,Math.PI*2);t.fill()}}},{key:"constructTooltip",value:function e(t,i){var a=_utils2.default.parseJSON(t);var s=a.node||a.edge;var r=null;var n="text/html";var o="text/vnd-tiddlywiki";if(a.node){var l=$tm.tracker.getTiddlerById(s);var d=_utils2.default.getTiddler(l);var h=d.fields[$tm.field.nodeInfo];if(h){i.innerHTML=$tw.wiki.renderText(n,o,h)}else if(d.fields.text){_utils2.default.registerTransclude(this,"tooltipWidget",l);this.tooltipWidget.setVariable("tv-tiddler-preview","yes");this.tooltipWidget.render(i)}else{i.innerHTML=l}}else{var u=this.graphData.edgesById[s];var g=$tm.indeces.allETy[u.type];if(g.description){r=$tw.wiki.renderText(n,o,g.description)}i.innerHTML=r||g.label||g.id}}},{key:"handleVisHoverElement",value:function e(t){if($tm.mouse.buttons)return;var i=t.node||t.edge;var a=JSON.stringify(t);if(t.node){this.assignActiveStyle(i)}if(!this.isVisInEditMode()&&!this.contextMenu.isShown()){var s=this.constructTooltip;this.tooltip.show(a,s)}}},{key:"handleVisBlurElement",value:function e(t){this.tooltip.hide()}},{key:"handleVisLoading",value:function e(t){var i=t.total,a=t.iterations;this.graphLoadingBarDomNode.style.display="block";this.graphLoadingBarDomNode.setAttribute("max",i);this.graphLoadingBarDomNode.setAttribute("value",a)}},{key:"handleVisLoadingDone",value:function e(t){this.graphLoadingBarDomNode.style.display="none"}},{key:"handleVisDragStart",value:function e(t){var i=t.nodes;if(!i.length||!this.isDraggingAllowed(i)){return}this.hidePopups(0,true);this.assignActiveStyle(i);this.setNodesMoveable(i,true);if(i.length===1){this.draggedNode=i[0]}}},{key:"destruct",value:function e(){_utils2.default.setDomListeners("remove",window,this.windowDomListeners);_utils2.default.setDomListeners("remove",this.domNode,this.widgetDomListeners);this._destructVis()}},{key:"_destructVis",value:function e(){if(!this.network)return;_utils2.default.setDomListeners("remove",this.canvas,this.canvasDomListeners);this.network.destroy();this.network=null}},{key:"openTiddlerWithId",value:function e(t){var i=this;var a=$tm.tracker.getTiddlerById(t);this.logger("debug","Opening tiddler",a,"with id",t);if(this.enlargedMode==="fullscreen"){var s=$tw.wiki.findDraft(a);var r=!!s;if(!r){var n="tm-edit-tiddler";this.dispatchEvent({type:n,tiddlerTitle:a});s=$tw.wiki.findDraft(a)}var o={draftTRef:s,originalTRef:a};$tm.dialogManager.open("fullscreenTiddlerEditor",o,function(e,t){if(e){var n="tm-save-tiddler";i.dispatchEvent({type:n,tiddlerTitle:s})}else if(!r){_utils2.default.deleteTiddlers([s])}var o="tm-close-tiddler";i.dispatchEvent({type:o,tiddlerTitle:a})})}else{var l=this.domNode.getBoundingClientRect();this.dispatchEvent({type:"tm-navigate",navigateTo:a,navigateFromTitle:this.getVariable("storyTiddler"),navigateFromNode:this,navigateFromClientRect:{top:l.top,left:l.left,width:l.width,right:l.right,bottom:l.bottom,height:l.height}})}}},{key:"getViewHolderRef",value:function e(){if(this.viewHolderRef){return this.viewHolderRef}this.logger("info","Retrieving or generating the view holder reference");var t=this.getAttr("view");var i=null;if(t){this.logger("log",'User wants to bind view "'+t+"' to graph");var a=$tm.path.views+"/"+t;if($tw.wiki.getTiddler(a)){i=$tm.path.localHolders+"/"+_utils2.default.genUUID();this.logger("log",'Created an independent temporary view holder "'+i+'"');_utils2.default.setText(i,a);this.logger("log",'View "'+a+"' inserted into independend holder")}else{this.logger("log",'View "'+t+'" does not exist')}}if(!i){this.logger("log","Using default (global) view holder");i=$tm.ref.defaultViewHolder}return i}},{key:"setView",value:function e(t,i){if(!_ViewAbstraction2.default.exists(t)){return}t=new _ViewAbstraction2.default(t);var a=t.getLabel();i=i||this.viewHolderRef;this.logger("info",'Inserting view "'+a+'" into holder "'+i+'"');$tw.wiki.addTiddler(new $tw.Tiddler({title:i,text:a}));this.update({changedTiddlers:_defineProperty({},i,true)})}},{key:"getView",value:function e(t){if(!t&&this.view){return this.view}var i=this.getViewHolderRef();var a=_utils2.default.getText(i);this.logger("debug","Retrieved view from holder");var s=void 0;if(_ViewAbstraction2.default.exists(a)){s=new _ViewAbstraction2.default(a)}else{this.logger("debug",'Warning: View "'+a+"\" doesn't exist. Default is used instead.");s=new _ViewAbstraction2.default("Default")}return s}},{key:"reloadBackgroundImage",value:function e(t){var i=this;this.backgroundImage=null;var a=this.view.getConfig("background_image");var s=_utils2.default.getTiddler(a);if(!s&&!a)return;var r=new Image;r.onload=function(){i.backgroundImage=r;i.repaintGraph()};if(s){var n=s.fields["_canonical_uri"];if(n){r.src=n}else if(s.fields.text){r.src=$tw.utils.makeDataUri(s.fields.text,s.fields.type)}}else if(a){r.src=a}}},{key:"repaintGraph",value:function e(){var t=$tw.utils.hasClass(this.document.body,"tmap-has-fullscreen-widget");if(this.network&&(!t||t&&this.enlargedMode)){this.logger("info","Repainting the whole graph");this.network.redraw();this.fitGraph(0,1e3)}}},{key:"setGraphButtonEnabled",value:function e(t,i){var a="vis-button tmap-"+t;var s=_utils2.default.getFirstElementByClassName(a,this.domNode);$tw.utils.toggleClass(s,"tmap-button-enabled",i)}},{key:"setNodesMoveable",value:function e(t,i){if(!t||!t.length||this.view.isEnabled("physics_mode")){return}var a=[];var s=!i;for(var r=t.length;r--;){a.push({id:t[r],fixed:{x:s,y:s}})}this.graphData.nodes.update(a);if(s){this.logger("debug","Fixing",a.length,"nodes");this.view.saveNodePositions(this.network.getPositions());this.isPreventZoomOnNextUpdate=true}}},{key:"addGraphButtons",value:function e(t){var i=_utils2.default.getFirstElementByClassName("vis-navigation",this.domNode);for(var a in t){var s=this.document.createElement("div");s.className="vis-button tmap-"+a;s.addEventListener("click",t[a].bind(this),false);i.appendChild(s);this.setGraphButtonEnabled(a,true)}}}]);return t}(_widget.widget);exports.tmap=MapWidget;exports.tiddlymap=MapWidget; +/* @preserve TW-Guard */var MapWidget=function(e){_inherits(t,e);function t(e,i){_classCallCheck(this,t);var a=_possibleConstructorReturn(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,i));a.getAttr=a.getAttribute;a.isDebug=_utils2.default.isTrue($tm.config.sys.debug,false);_utils2.default.bindTo(a,["constructTooltip","handleResizeEvent","handleClickEvent","handleCanvasKeyup","handleCanvasKeydown","handleCanvasScroll","handleCanvasMouseMove","handleWidgetKeyup","handleWidgetKeydown","handleTriggeredRefresh","handleContextMenu"]);a.callbackManager=new _CallbackManager2.default;a.computeAttributes();a.editorMode=a.getAttr("editor");a.clickToUse=_utils2.default.isTrue(a.getAttr("click-to-use"),false);a.id=a.getAttr("object-id")||a.getStateQualifier();a.widgetPopupsPath=$tm.path.tempPopups+"/"+a.id;if(a.editorMode){_utils2.default.addTWlisteners({"tmap:tm-create-view":a.handleCreateView,"tmap:tm-rename-view":a.handleRenameView,"tmap:tm-delete-view":a.handleDeleteView,"tmap:tm-delete-element":a.handleDeleteElement,"tmap:tm-edit-view":a.handleEditView,"tmap:tm-generate-widget":a.handleGenerateWidget,"tmap:tm-toggle-central-topic":a.handleSetCentralTopic,"tmap:tm-save-canvas":a.handleSaveCanvas},a,a)}_utils2.default.addTWlisteners({"tmap:tm-focus-node":a.handleFocusNode,"tmap:tm-reset-focus":a.repaintGraph,"tmap:tm-neighbourhood-reset-trace":function e(){a.initAndRenderGraph(a.graphDomNode)}},a,a);a.visListeners={click:a.handleVisSingleClickEvent,doubleClick:a.handleVisDoubleClickEvent,stabilized:a.handleVisStabilizedEvent,selectNode:a.handleVisSelectNode,deselectNode:a.handleVisDeselectNode,dragStart:a.handleVisDragStart,dragEnd:a.handleVisDragEnd,hoverNode:a.handleVisHoverElement,hoverEdge:a.handleVisHoverElement,blurNode:a.handleVisBlurElement,blurEdge:a.handleVisBlurElement,beforeDrawing:a.handleVisBeforeDrawing,afterDrawing:a.handleVisAfterDrawing,stabilizationProgress:a.handleVisLoading,stabilizationIterationsDone:a.handleVisLoadingDone};a.windowDomListeners={resize:[a.handleResizeEvent,false],click:[a.handleClickEvent,false],mousemove:[a.handleCanvasMouseMove,true]};a.canvasDomListeners={keyup:[a.handleCanvasKeyup,true],keydown:[a.handleCanvasKeydown,true],mousewheel:[a.handleCanvasScroll,true],DOMMouseScroll:[a.handleCanvasScroll,true],contextmenu:[a.handleContextMenu,true],MozMousePixelScroll:[a.handleExtraCanvasScroll,true]};a.widgetDomListeners={keyup:[a.handleWidgetKeyup,true],keydown:[a.handleWidgetKeydown,true]};a.conVector={from:null,to:null};return a}_createClass(t,[{key:"handleConnectionEvent",value:function e(t,i){var a=this;var s=this.view.getEdgeTypeFilter();var r={fromLabel:$tm.adapter.selectNodeById(t.from).label,toLabel:$tm.adapter.selectNodeById(t.to).label,view:this.view.getLabel(),eTyFilter:s.raw};$tm.dialogManager.open("getEdgeType",r,function(e,r){if(e){var n=_utils2.default.getText(r);var o=_EdgeType2.default.getInstance(n);if(!o.namespace){var l=_EdgeType2.default.getIdParts(o.id),d=l.marker,h=l.name;var u=a.view.getConfig("edge_type_namespace");o=_EdgeType2.default.getInstance(_EdgeType2.default.getId(d,u,h))}if(!o.exists()){o.save()}t.type=o.id;$tm.adapter.insertEdge(t);a.isPreventZoomOnNextUpdate=true;if(!a.view.isEdgeTypeVisible(o)){$tm.dialogManager.open("edgeNotVisible",{type:o.id,view:a.view.getLabel(),eTyFilter:s.pretty})}}if(typeof i==="function"){i(e)}})}},{key:"checkForFreshInstall",value:function e(){if(!_utils2.default.getEntry($tm.ref.sysMeta,"showWelcomeMessage",true)){return}_utils2.default.setEntry($tm.ref.sysMeta,"showWelcomeMessage",false);var t={dialog:{preselects:{"config.storyview":"true","config.navigation":"true","config.sidebar":"true","config.demo":"true"}}};$tm.dialogManager.open("welcome",t,function(e,t){var i=_utils2.default.getPropertiesByPrefix(t.fields,"config.",true);if(i["storyview"]&&_utils2.default.tiddlerExists("$:/plugins/felixhayashi/topstoryview")){_utils2.default.setText("$:/view","top")}if(i["navigation"]){_utils2.default.setText("$:/config/Navigation/openLinkFromInsideRiver","above");_utils2.default.setText("$:/config/Navigation/openLinkFromOutsideRiver","top")}if(i["sidebar"]){_utils2.default.setText("$:/themes/tiddlywiki/vanilla/options/sidebarlayout","fixed-fluid")}if(i["demo"]){var a=$tm.misc.defaultViewLabel;var s=$tm.adapter.insertNode({label:"Have fun with",x:0,y:0},a);var r=$tm.adapter.insertNode({label:"TiddlyMap!!",x:100,y:100},a);$tm.adapter.insertEdge({from:s.id,to:r.id})}if(Object.keys(i).length){_utils2.default.touch("$:/plugins/felixhayashi/tiddlymap")}})}},{key:"openStandardConfirmDialog",value:function e(t,i){var a={message:i};$tm.dialogManager.open("getConfirmation",a,t)}},{key:"logger",value:function e(t,i){if(this.isDebug){var a=Array.prototype.slice.call(arguments,1);a.unshift("@"+this.id);a.unshift(t);$tm.logger.apply(this,a)}}},{key:"render",value:function e(t,i){this.parentDomNode=t;this.domNode=this.document.createElement("div");t.insertBefore(this.domNode,i);this.registerClassNames(this.domNode);this.viewHolderRef=this.getViewHolderRef();this.view=this.getView();this.graphBarDomNode=this.document.createElement("div");$tw.utils.addClass(this.graphBarDomNode,"tmap-topbar");this.domNode.appendChild(this.graphBarDomNode);this.graphDomNode=this.document.createElement("div");this.domNode.appendChild(this.graphDomNode);$tw.utils.addClass(this.graphDomNode,"tmap-vis-graph");if(_utils2.default.isPreviewed(this)){$tw.utils.addClass(this.domNode,"tmap-static-mode");this.renderPreview(this.graphBarDomNode,this.graphDomNode)}else{this.renderFullWidget(this.domNode,this.graphBarDomNode,this.graphDomNode);var a=this.document.createElement("canvas");$tw.utils.addClass(a,"tmap-download-canvas");this.domNode.appendChild(a)}}},{key:"renderPreview",value:function e(t,i){var a=this.view.snapshotTRef;var s=_utils2.default.getTiddler(a);var r=this.document.createElement("span");r.innerHTML=this.view.getLabel();r.className="tmap-view-label";t.appendChild(r);if(s){var n=_utils2.default.getTiddlerNode(this.view.getRoot());n.children.push(_utils2.default.getTranscludeNode(a));this.makeChildWidgets([n]);this.renderChildren(i,i.firstChild)}else{$tw.utils.addClass(i,"tmap-graph-placeholder")}}},{key:"renderFullWidget",value:function e(t,i,a){_utils2.default.setDomListeners("add",window,this.windowDomListeners);_utils2.default.setDomListeners("add",t,this.widgetDomListeners);this.addLoadingBar(this.domNode);this.tooltip=new _Popup2.default(this.domNode,{className:"tmap-tooltip",showDelay:$tm.config.sys.popups.delay});this.contextMenu=new _Popup2.default(this.domNode,{className:"tmap-context-menu",showDelay:0,hideOnClick:true,leavingDelay:999999});this.sidebar=_utils2.default.getFirstElementByClassName("tc-sidebar-scrollable");this.isInSidebar=this.sidebar&&!this.domNode.isTiddlyWikiFakeDom&&this.sidebar.contains(this.domNode);this.rebuildEditorBar(i);this.reloadRefreshTriggers();this.initAndRenderGraph(a);$tm.registry.push(this);this.checkForFreshInstall();if(this.id===$tm.misc.mainEditorId){var s=$tm.url;if(s&&s.query["tmap-enlarged"]){this.toggleEnlargedMode(s.query["tmap-enlarged"]);this.setView(s.query["tmap-view"])}}}},{key:"registerClassNames",value:function e(t){var i=$tw.utils.addClass;i(t,"tmap-widget");if(this.clickToUse){i(t,"tmap-click-to-use")}if(this.getAttr("editor")==="advanced"){i(t,"tmap-advanced-editor")}if(this.getAttr("design")==="plain"){i(t,"tmap-plain-design")}if(!_utils2.default.isTrue(this.getAttr("show-buttons"),true)){i(t,"tmap-no-buttons")}if(this.getAttr("class")){i(t,this.getAttr("class"))}}},{key:"addLoadingBar",value:function e(t){this.graphLoadingBarDomNode=this.document.createElement("progress");$tw.utils.addClass(this.graphLoadingBarDomNode,"tmap-loading-bar");t.appendChild(this.graphLoadingBarDomNode)}},{key:"rebuildEditorBar",value:function e(){this.removeChildDomNodes();var t=this.view;var i="tmap-unicode-button";var a=i+" tmap-active-button";var s={widgetQualifier:this.getStateQualifier(),widgetTempPath:this.widgetTempPath,widgetPopupsPath:this.widgetPopupsPath,isViewBound:String(this.isViewBound()),viewRoot:t.getRoot(),viewLabel:t.getLabel(),viewHolder:this.getViewHolderRef(),edgeTypeFilter:t.edgeTypeFilterTRef,allEdgesFilter:$tm.selector.allEdgeTypes,isShowNeighbourhood:String(t.isEnabled("neighbourhood_scope")),tracingBtnClass:t.isEnabled("neighbourhood_trace_clicks")?a:i,neighScopeBtnClass:t.isEnabled("neighbourhood_scope")?a:i,rasterMenuBtnClass:t.isEnabled("raster")?a:i};for(var r in s){this.setVariable(r,s[r])}var n=_utils2.default.getTiddlerNode(t.getRoot());if(this.editorMode==="advanced"){n.children.push(_utils2.default.getTranscludeNode($tm.ref.graphBar))}else{var o=_utils2.default.getElementNode("span","tmap-view-label",t.getLabel());n.children.push(o)}n.children.push(_utils2.default.getTranscludeNode($tm.ref.focusButton));this.makeChildWidgets([n]);this.renderChildren(this.graphBarDomNode,this.graphBarDomNode.firstChild)}},{key:"refresh",value:function e(t){return false}},{key:"update",value:function e(t){if(!this.network||this.isZombieWidget()||_utils2.default.isPreviewed(this)){return}var i=t.changedTiddlers;this.callbackManager.refresh(i);if(this.isViewSwitched(i)||this.hasChangedAttributes()||t[env.path.options]||i[this.view.getRoot()]){this.logger("warn","View switched or config changed");this.isPreventZoomOnNextUpdate=false;this.view=this.getView(true);this.reloadRefreshTriggers();this.trace=_utils2.default.makeHashMap();this.rebuildEditorBar();this.reloadBackgroundImage();this.initAndRenderGraph(this.graphDomNode)}else{var a=this.view.update(t);if(a){this.logger("warn","View components modified");this.rebuildGraph({resetFocus:{delay:1e3,duration:1e3}})}else{if(t[env.path.nodeTypes]||this.hasChangedElements(i)){this.rebuildGraph()}this.refreshChildren(i)}}}},{key:"hidePopups",value:function e(t,i){this.tooltip.hide(t,i);this.contextMenu.hide(0,true)}},{key:"reloadRefreshTriggers",value:function e(){this.callbackManager.remove(this.refreshTriggers);var t=this.getAttr("refresh-triggers")||this.view.getConfig("refresh-triggers");this.refreshTriggers=$tw.utils.parseStringArray(t)||[];this.logger("debug","Registering refresh trigger",this.refreshTriggers);for(var i=this.refreshTriggers.length;i--;){this.callbackManager.add(this.refreshTriggers[i],this.handleTriggeredRefresh,false)}}},{key:"rebuildGraph",value:function e(){var t=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{},i=t.resetFocus;if(_utils2.default.isPreviewed(this)){return}this.logger("debug","Rebuilding graph");this.hidePopups(0,true);this.hasNetworkStabilized=false;var a=this.rebuildGraphData();if(a.changedNodes.withoutPosition.length){i=i||{delay:1e3,duration:1e3};if(!this.view.isEnabled("physics_mode")){var s=this.visOptions.physics;s[s.solver].centralGravity=.25;this.network.setOptions(this.visOptions)}}if(!_utils2.default.hasElements(this.graphData.nodesById)){return}if(i){var r=this.isPreventZoomOnNextUpdate==null?false:typeof this.isPreventZoomOnNextUpdate==="number"?this.isPreventZoomOnNextUpdate>Date.now():this.isPreventZoomOnNextUpdate;if(!r){this.network.stabilize();this.resetFocus=i}if(typeof this.isPreventZoomOnNextUpdate!=="number"){this.isPreventZoomOnNextUpdate=false}}}},{key:"getContainer",value:function e(){return this.domNode}},{key:"rebuildGraphData",value:function e(){var t=this;$tm.start("Reloading Network");var i={view:this.view,matches:_utils2.default.getMatches(this.view.getNodeFilter("compiled"))};if(this.view.isEnabled("neighbourhood_trace_clicks")){var a=i.matches;var s=Object.keys(this.trace);var r=[].concat(_toConsumableArray(a.filter(function(e){return!t.trace[e]})),_toConsumableArray(s));i.matches=r;i.includeNeighboursOf=this.view.isEnabled("neighbourhood_include_traced_node_neighbours")?function(e){return r.includes(e)}:function(e){return a.includes(e)}}var n=$tm.adapter.getGraph(i);var o=_utils2.default.refreshDataSet(this.graphData.nodes,n.nodes);var l=_utils2.default.refreshDataSet(this.graphData.edges,n.edges);this.graphData.nodesById=n.nodes;this.graphData.edgesById=n.edges;_utils2.default.setField("$:/temp/tmap/nodes/"+this.view.getLabel(),"list",$tm.adapter.getTiddlersByIds(n.nodes));$tm.stop("Reloading Network");return{changedEdges:l,changedNodes:o}}},{key:"isViewBound",value:function e(){return _utils2.default.startsWith(this.getViewHolderRef(),$tm.path.localHolders)}},{key:"isViewSwitched",value:function e(t){return!_ViewAbstraction2.default.exists(this.view)||t[this.getViewHolderRef()]}},{key:"hasChangedAttributes",value:function e(){return Object.keys(this.computeAttributes()).length}},{key:"hasChangedElements",value:function e(t){var i=[];var a=this.graphData.nodesById;var s=this.view.isEnabled("neighbourhood_scope");for(var r in t){if(_utils2.default.isSystemOrDraft(r)){continue}if(a[$tm.adapter.getId(r)]||s){return true}if(t[r].modified){i.push(r)}}if(i.length){var n=this.view.getNodeFilter("compiled");var o=_utils2.default.getMatches(n,i);return!!o.length}}},{key:"initAndRenderGraph",value:function e(t){var i=this;if(this.network){this._destructVis()}this.logger("info","Initializing and rendering the graph");if(!this.isInSidebar){this.callbackManager.add("$:/state/sidebar",this.handleResizeEvent)}this.visOptions=this.getVisOptions();this.graphData={nodes:new _vis2.default.DataSet,edges:new _vis2.default.DataSet,nodesById:_utils2.default.makeHashMap(),edgesById:_utils2.default.makeHashMap()};this.tooltip.setEnabled(_utils2.default.isTrue($tm.config.sys.popups.enabled,true));this.trace=_utils2.default.makeHashMap();this.network=new _vis2.default.Network(t,this.graphData,this.visOptions);this.canvas=t.getElementsByTagName("canvas")[0];this.networkDomNode=_utils2.default.getFirstElementByClassName("vis-network",t,true);this.canvas.tabIndex=0;for(var a in this.visListeners){this.network.on(a,this.visListeners[a].bind(this))}this.addGraphButtons({"fullscreen-button":function e(){i.toggleEnlargedMode("fullscreen")},"halfscreen-button":function e(){i.toggleEnlargedMode("halfscreen")}});_utils2.default.setDomListeners("add",this.canvas,this.canvasDomListeners);this.reloadBackgroundImage();this.rebuildGraph({resetFocus:{delay:0,duration:0}});this.handleResizeEvent();this.canvas.focus();if(this.isLiveView()&&this.view.isEnabled("neighbourhood_trace_clicks")){this.trace[_utils2.default.getText(this.refreshTriggers[0])]=true}}},{key:"handleCanvasKeyup",value:function e(t){var i=this;var a=this.network.getSelectedNodes();if(t.ctrlKey){t.preventDefault();if(t.keyCode===88){if(this.editorMode){this.handleAddNodesToClipboard("move")}else{$tm.notify("Map is read only!")}}else if(t.keyCode===67){this.handleAddNodesToClipboard("copy")}else if(t.keyCode===86){this.handlePasteNodesFromClipboard()}else if(t.keyCode===65){var s=Object.keys(this.graphData.nodesById);this.network.selectNodes(s)}else if(t.keyCode===49||t.keyCode===50){if(a.length!==1)return;var r=t.keyCode===49?"from":"to";$tm.notify(_utils2.default.ucFirst(r)+"-part selected");this.conVector[r]=a[0];if(this.conVector.from&&this.conVector.to){this.handleConnectionEvent(this.conVector,function(){i.conVector={from:null,to:null}})}}}else{if(t.keyCode===13){if(a.length!==1)return;this.openTiddlerWithId(a[0])}}}},{key:"handleCanvasKeydown",value:function e(t){if(t.altKey||t.metaKey){t.preventDefault();if(t.keyCode>=48&&t.keyCode<=57){var i=String.fromCharCode(t.keyCode);this.view.setConfig("neighbourhood_scope",i)}}else{if(t.keyCode===46){t.preventDefault();this.handleRemoveElements(this.network.getSelection())}}}},{key:"handleDeleteElement",value:function e(t){var i=t.paramObject.id;var a=i?[i]:this.network.getSelectedNodes();this.handleRemoveElements({nodes:a})}},{key:"handleCanvasMouseMove",value:function e(t){var i=this.network;if(!(t.ctrlKey&&t.buttons)){if(this.selectRect){this.selectRect=null;var a=i.getSelectedNodes();$tm.notify(a.length+" nodes selected");i.redraw()}return}t.preventDefault();t.stopPropagation();if(!this.domNode.contains(t.target)){return}var s=i.DOMtoCanvas({x:t.offsetX,y:t.offsetY});if(!this.selectRect){this.selectRect=new _SelectionRectangle2.default(s.x,s.y)}this.selectRect.span(s.x,s.y);var r=i.getPositions();var n=i.getSelectedNodes();for(var o in r){if(this.selectRect.isPointWithin(r[o])&&!_utils2.default.inArray(o,n)){n.push(o)}}i.selectNodes(n);this.assignActiveStyle(n);i.redraw()}},{key:"handleCanvasScroll",value:function e(t){var i=!!(this.isInSidebar||t.ctrlKey||this.enlargedMode||this.clickToUse&&this.networkDomNode.classList.contains("vis-active"));var a=this.visOptions.interaction;var s=i===a.zoomView;if(i||!s){t.preventDefault()}if(!s){t.stopPropagation();a.zoomView=i;this.network.setOptions({interaction:{zoomView:i}});return false}}},{key:"handleExtraCanvasScroll",value:function e(t){t.preventDefault()}},{key:"handleContextMenu",value:function e(t){var i=this;t.preventDefault();var a=this.network;this.hidePopups(0,true);var s=a.getNodeAt({x:t.offsetX,y:t.offsetY});if(!s)return;var r=a.getSelectedNodes();if(!_utils2.default.inArray(s,r)){r=[s];a.selectNodes(r)}this.contextMenu.show(r,function(e,t){var a=e.length>1?"multi":"single";var s="$:/plugins/felixhayashi/tiddlymap/editor/contextMenu/node";_utils2.default.registerTransclude(i,"contextMenuWidget",s);i.contextMenuWidget.setVariable("mode",a);i.contextMenuWidget.render(t)})}},{key:"handleWidgetKeyup",value:function e(t){}},{key:"handleWidgetKeydown",value:function e(t){if(t.ctrlKey){t.preventDefault();if(t.keyCode===70){t.preventDefault();var i=this.widgetPopupsPath+"/focus";_utils2.default.setText(i,_utils2.default.getText(i)?"":"1")}else{return}}else if(t.keyCode===120){t.preventDefault();this.toggleEnlargedMode("halfscreen")}else if(t.keyCode===121){t.preventDefault();this.toggleEnlargedMode("fullscreen")}else if(t.keyCode===27){t.preventDefault();_utils2.default.deleteByPrefix(this.widgetPopupsPath)}else{return}this.canvas.focus()}},{key:"handlePasteNodesFromClipboard",value:function e(){if(!this.editorMode){$tm.notify("Map is read only!");return}if(!$tm.clipBoard||$tm.clipBoard.type!=="nodes"){$tm.notify("TiddlyMap clipboad is empty!")}var t=$tm.clipBoard.nodes;var i=Object.keys(t);for(var a=i.length;a--;){var s=i[a];if(this.graphData.nodesById[s]){continue}this.view.addNode(t[s]);this.graphData.nodes.update({id:s})}this.network.selectNodes(i);this.rebuildGraph({resetFocus:{delay:0,duration:0}});$tm.notify("pasted "+i.length+" nodes into map.")}},{key:"handleAddNodesToClipboard",value:function e(t){var i=this.network.getSelectedNodes();if(!i.length){return}$tm.clipBoard={type:"nodes",nodes:this.graphData.nodes.get(i,{returnType:"Object"})};$tm.notify("Copied "+i.length+" nodes to clipboard");if(t==="move"){for(var a=i.length;a--;){this.view.removeNode(i[a])}}this.isPreventZoomOnNextUpdate=true}},{key:"getVisOptions",value:function e(){var t=this;var i=$tm.config.vis;var a=_utils2.default.parseJSON(this.view.getConfig("vis"))||{};var s=a.layout||{},r=s.hierarchical;var n={layout:{hierarchical:{enabled:r===undefined||r===null?false:typeof r==="boolean"?r:r.enabled!==false}}};var o=_utils2.default.merge({},i,_utils2.default.merge(a,n));o.clickToUse=this.clickToUse;o.manipulation.enabled=!!this.editorMode;o.manipulation.deleteNode=function(e,i){t.handleRemoveElements(e);t.resetVisManipulationBar(i)};o.manipulation.deleteEdge=function(e,i){t.handleRemoveElements(e);t.resetVisManipulationBar(i)};o.manipulation.addEdge=function(e,i){t.handleConnectionEvent(e);t.resetVisManipulationBar(i)};o.manipulation.addNode=function(e,i){t.handleInsertNode(e);t.resetVisManipulationBar(i)};o.manipulation.editNode=function(e,i){t.handleEditNode(e);t.resetVisManipulationBar(i)};o.interaction.zoomView=!!(this.isInSidebar||this.enlargedMode);o.manipulation.editEdge=false;var l=o.physics;l[l.solver]=l[l.solver]||{};l.stabilization.iterations=1e3;this.logger("debug","Loaded graph options",o);return o}},{key:"resetVisManipulationBar",value:function e(t){if(t){t(null)}this.network.disableEditMode();this.network.enableEditMode()}},{key:"isVisInEditMode",value:function e(){return this.graphDomNode.getElementsByClassName("vis-button vis-back").length>0}},{key:"isLiveView",value:function e(){return this.id==="live_tab"}},{key:"handleCreateView",value:function e(){var t=this;var i={view:this.view.getLabel()};$tm.dialogManager.open("createView",i,function(e,i){if(!e)return;var a=_utils2.default.getField(i,"name");var s=_utils2.default.getField(i,"clone",false);if(_ViewAbstraction2.default.exists(a)){$tm.notify("Forbidden! View already exists!");return}if(s&&t.isLiveView()){$tm.notify("Forbidden to clone the live view!");return}var r=new _ViewAbstraction2.default(a,{isCreate:true,protoView:s?t.view:null});t.setView(r)})}},{key:"handleRenameView",value:function e(){var t=this;if(this.view.isLocked()){$tm.notify("Forbidden!");return}var i=this.view.getOccurrences();var a={count:i.length.toString(),refFilter:_utils2.default.joinAndWrap(i,"[[","]]")};$tm.dialogManager.open("renameView",a,function(e,i){if(!e){return}var a=_utils2.default.getText(i);if(!a){$tm.notify("Invalid name!")}else if(_ViewAbstraction2.default.exists(a)){$tm.notify("Forbidden! View already exists!")}else{t.view.rename(a);t.setView(t.view)}})}},{key:"handleEditView",value:function e(){var t=this;var i=JSON.stringify($tm.config.vis);var a=this.graphData;var s=this.view.getConfig();var r={"filter.prettyNodeFltr":this.view.getNodeFilter("pretty"),"filter.prettyEdgeFltr":this.view.getEdgeTypeFilter("pretty"),"inherited-style":i};var n={view:this.view.getLabel(),createdOn:this.view.getCreationDate(true),numberOfNodes:Object.keys(a.nodesById).length.toString(),numberOfEdges:Object.keys(a.edgesById).length.toString(),dialog:{preselects:$tw.utils.extend({},s,r)}};$tm.dialogManager.open("configureView",n,function(e,i){if(!e){return}var a=_utils2.default.getPropertiesByPrefix(i.fields,"config.",true);var s=t.view.getConfig("background_image");t.view.setConfig(a);if(a["physics_mode"]&&!t.view.isEnabled("physics_mode")){t.view.saveNodePositions(t.network.getPositions())}var r=t.view.getConfig("background_image");if(r&&r!==s){$tm.notify("Background changed! You may need to zoom out a bit.")}var n=_utils2.default.getField(i,"filter.prettyNodeFltr","");var o=_utils2.default.getField(i,"filter.prettyEdgeFltr","");t.view.setNodeFilter(n);t.view.setEdgeTypeFilter(o)})}},{key:"handleSaveCanvas",value:function e(){var t=this;var i="$:/temp/tmap/snapshot";this.createAndSaveSnapshot(100,100,i);var a=this.view.getLabel()+".png";var s={dialog:{snapshot:i,view:this.view.getLabel(),preselects:{width:this.canvas.width.toString(),height:this.canvas.height.toString(),name:a,action:"download"}}};$tm.dialogManager.open("saveCanvas",s,function(e,a){if(!e)return;var r=a.fields.width||s.dialog.preselects.width;var n=a.fields.height||s.dialog.preselects.height;t.createAndSaveSnapshot(r,n,i);var o=a.fields.name||s.dialog.preselects.imageName;var l=a.fields.action;if(l==="download"){t.handleDownloadSnapshot(r,n,o)}else if(l==="wiki"){_utils2.default.cp(i,o,true);t.dispatchEvent({type:"tm-navigate",navigateTo:o})}else if(l==="placeholder"){t.view.addPlaceholder(i)}$tw.wiki.deleteTiddler("$:/temp/tmap/snapshot")})}},{key:"handleDownloadSnapshot",value:function e(t,i,a){var s=this.document.createElement("a");var r=this.view.getLabel();s.download=a;s.href=this.getCanvasAsBase64({size:{width:t,height:i}});var n=new MouseEvent("click");s.dispatchEvent(n)}},{key:"createAndSaveSnapshot",value:function e(t,i,a,s){$tw.wiki.addTiddler(new $tw.Tiddler({title:s||a,type:"image/png",text:this.getCanvasAsBase64({size:{width:t,height:i},withoutPreamble:true})},$tw.wiki.getCreationFields(),$tw.wiki.getModificationFields()));return a}},{key:"getCanvasAsBase64",value:function e(){var t=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{},i=t.withoutPreamble,a=t.size;var s=this.graphDomNode.style.width;var r=this.graphDomNode.style.height;if(a){this.graphDomNode.style.width=a.width+"px";this.graphDomNode.style.height=a.height+"px";this.network.redraw()}var n=this.canvas.toDataURL("image/png");if(a){this.graphDomNode.style.width=s;this.graphDomNode.style.height=r;this.network.redraw()}return i?_utils2.default.getWithoutPrefix(n,"data:image/png;base64,"):n}},{key:"handleDeleteView",value:function e(){var t=this;var i=this.view.getLabel();if(this.view.isLocked()){$tm.notify("Forbidden!");return}var a=this.view.getOccurrences();if(a.length){var s={count:a.length.toString(),refFilter:_utils2.default.joinAndWrap(a,"[[","]]")};$tm.dialogManager.open("cannotDeleteViewDialog",s);return}var r="\n You are about to delete the view ''"+i+"''\n (no tiddler currently references this view).\n ";this.openStandardConfirmDialog(function(e){if(!e){return}t.view.destroy();t.setView($tm.misc.defaultViewLabel);var a='view "'+i+"' deleted";t.logger("debug",a);$tm.notify(a)},r)}},{key:"handleTriggeredRefresh",value:function e(t){this.logger("log",t,"Triggered a refresh");var i=_utils2.default.getTiddler(_utils2.default.getText(t));if(this.isLiveView()){if(i){if(this.view.isEnabled("neighbourhood_trace_clicks")){this.trace[i.fields.title]=true}var a=i.fields["tmap.open-view"]||$tm.config.sys.liveTab.fallbackView;if(a&&a!==this.view.getLabel()){this.setView(a);return}}}this.rebuildGraph({resetFocus:{delay:1e3,duration:1e3}})}},{key:"handleRemoveElements",value:function e(t){var i=t.nodes,a=t.edges;if(i.length){this.handleRemoveNodes(i)}else if(a.length){this.handleRemoveEdges(a)}this.resetVisManipulationBar()}},{key:"handleRemoveEdges",value:function e(t){$tm.adapter.deleteEdges(this.graphData.edges.get(t));$tm.notify("edge"+(t.length>1?"s":"")+" removed")}},{key:"handleRemoveNodes",value:function e(t){var i=this;var a=$tm.adapter.getTiddlersByIds(t);var s={count:t.length.toString(),tiddlers:$tw.utils.stringifyList(a),dialog:{preselects:{"delete-from":"filter"}}};$tm.dialogManager.open("deleteNodeDialog",s,function(e,a){if(!e)return;var s=0;for(var r=t.length;r--;){var n=i.view.removeNode(t[r]);if(n){s++}}if(a.fields["delete-from"]==="system"){$tm.adapter.deleteNodes(t);s=t.length}i.isPreventZoomOnNextUpdate=true;$tm.notify("\n Removed "+s+"\n of "+t.length+"\n from "+a.fields["delete-from"]+"\n ")})}},{key:"toggleEnlargedMode",value:function e(t){if(!this.isInSidebar&&t==="halfscreen"){return}this.logger("log","Toggled graph enlargement");var i=this.enlargedMode;if(i){this.network.setOptions({clickToUse:this.clickToUse});_utils2.default.findAndRemoveClassNames(["tmap-has-"+i+"-widget","tmap-"+i]);this.enlargedMode=null;document.body.scrollTop=this.scrollTop}if(!i||i!==t&&(t==="fullscreen"||t==="halfscreen"&&!this.isInSidebar)){this.scrollTop=document.body.scrollTop;this.enlargedMode=t;var a=this.isInSidebar?this.sidebar:_utils2.default.getFirstElementByClassName("tc-story-river");$tw.utils.addClass(this.document.body,"tmap-has-"+t+"-widget");$tw.utils.addClass(a,"tmap-has-"+t+"-widget");$tw.utils.addClass(this.domNode,"tmap-"+t);this.network.setOptions({clickToUse:false});$tm.notify("Toggled "+t+" mode")}this.handleResizeEvent()}},{key:"handleGenerateWidget",value:function e(t){$tw.rootWidget.dispatchEvent({type:"tmap:tm-generate-widget",paramObject:{view:this.view.getLabel()}})}},{key:"handleSetCentralTopic",value:function e(t){var i=t.paramObject;var a=i.id||this.network.getSelectedNodes()[0];if(a===this.view.getConfig("central-topic")){a=""}this.view.setCentralTopic(a)}},{key:"handleVisStabilizedEvent",value:function e(t){if(this.hasNetworkStabilized){return}this.hasNetworkStabilized=true;this.logger("log","Network stabilized after",t.iterations,"iterations");if(!this.view.isEnabled("physics_mode")){var i=this.graphData.nodesById;var a=[];for(var s in i){if(i[s].x===undefined){a.push(s)}}if(a.length){this.setNodesMoveable(a,false);$tm.notify(a.length+" nodes were added to the graph")}var r=this.visOptions.physics;r[r.solver].centralGravity=0;this.network.setOptions(this.visOptions)}if(this.resetFocus){this.fitGraph(this.resetFocus.delay,this.resetFocus.duration);this.resetFocus=null}}},{key:"handleFocusNode",value:function e(t){var i=t.param;this.network.focus($tm.adapter.getId(i),{scale:1.5,animation:true})}},{key:"isZombieWidget",value:function e(){return this.domNode.isTiddlyWikiFakeDom===true||!this.document.body.contains(this.getContainer())}},{key:"fitGraph",value:function e(){var t=this;var i=arguments.length>0&&arguments[0]!==undefined?arguments[0]:0;var a=arguments.length>1&&arguments[1]!==undefined?arguments[1]:0;clearTimeout(this.activeFitTimeout);var s=function e(){if(t.isZombieWidget()){return}t.network.redraw();t.network.fit({animation:{duration:a,easingFunction:"easeOutQuart"}})};this.activeFitTimeout=setTimeout(s,i)}},{key:"handleInsertNode",value:function e(t){var i=this;$tm.dialogManager.open("addNodeToMap",{},function(e,a){if(!e){return}var s=_utils2.default.getField(a,"draft.title").trim();if(_utils2.default.tiddlerExists(s)){if(_utils2.default.isMatch(s,i.view.getNodeFilter("compiled"))){$tm.notify("Node already exists");return}else{t=$tm.adapter.makeNode(s,t);i.view.addNode(t)}}else{var r=new $tw.Tiddler(a,{"draft.title":null});t.label=s;$tm.adapter.insertNode(t,i.view,r)}i.isPreventZoomOnNextUpdate=true})}},{key:"handleEditNode",value:function e(t){var i=this;var a=$tm.tracker.getTiddlerById(t.id);var s=_utils2.default.getTiddler(a);var r=$tm.config.vis.nodes;var n=_utils2.default.parseJSON(this.view.getConfig("vis"),{}).nodes;var o={};o[t.id]=t;var l=$tm.adapter.getInheritedNodeStyles(o);var d=l[a];var h=_utils2.default.merge({},{color:s.fields["color"]},_utils2.default.parseJSON(s.fields["tmap.style"]));var u=this.view.getLabel();var g=_extends({},this.view.getNodeData(t.id));delete g.x;delete g.y;var f={view:u,tiddler:s.fields.title,tidColor:s.fields["color"],tidIcon:s.fields[$tm.field.nodeIcon]||s.fields["tmap.fa-icon"],tidLabelField:"global."+$tm.field.nodeLabel,tidIconField:"global."+$tm.field.nodeIcon,dialog:{preselects:{"inherited-global-default-style":JSON.stringify(r),"inherited-local-default-style":JSON.stringify(n),"inherited-group-styles":JSON.stringify(d),"global.tmap.style":JSON.stringify(h),"local-individual-node-style":JSON.stringify(g)}}};var v=function e(t,i,a){for(var s=a.length;s--;){f.dialog.preselects[t+"."+a[s]]=i[a[s]]||""}};v("local",g,["label","tw-icon","fa-icon","open-view"]);v("global",s.fields,[$tm.field.nodeLabel,$tm.field.nodeIcon,"tmap.fa-icon","tmap.open-view"]);$tm.dialogManager.open("editNode",f,function(e,s){if(!e)return;var r=s.fields;var n=_utils2.default.getPropertiesByPrefix(r,"global.",true);for(var o in n){_utils2.default.setField(a,o,n[o]||undefined)}var l=_utils2.default.getPropertiesByPrefix(r,"local.",true);var d=_utils2.default.parseJSON(r["local-individual-node-style"],{});for(var h in l){d[h]=l[h]||undefined}i.view.saveNodeStyle(t.id,d);i.isPreventZoomOnNextUpdate=true})}},{key:"handleVisSingleClickEvent",value:function e(t){var i=_utils2.default.isTrue($tm.config.sys.singleClickMode);if(i&&!this.editorMode){this.handleOpenMapElementEvent(t)}}},{key:"handleVisDoubleClickEvent",value:function e(t){if(t.nodes.length||t.edges.length){if(this.editorMode||!_utils2.default.isTrue($tm.config.sys.singleClickMode)){this.handleOpenMapElementEvent(t)}}else{if(this.editorMode){this.handleInsertNode(t.pointer.canvas)}}}},{key:"handleOpenMapElementEvent",value:function e(t){var i=this;var a=t.nodes,s=t.edges;if(a.length){var r=this.graphData.nodesById[a[0]];if(this.view.isEnabled("neighbourhood_trace_clicks")){this.trace[$tm.adapter.getTiddlerById(r.id)]=true;this.isPreventZoomOnNextUpdate=Date.now()+500;this.rebuildGraph();if(this.view.isEnabled("neighbourhood_focus_newly_traced_node")){setTimeout(function(){i.network.focus(r.id,{scale:1,animation:true})},1500)}}if(r["open-view"]){$tm.notify("Switching view");this.setView(r["open-view"])}this.openTiddlerWithId(a[0])}else if(s.length){this.logger("debug","Clicked on an Edge");var n=this.graphData.edgesById[s[0]].type;this.handleEditEdgeType(n)}else{return}this.hidePopups(0,true)}},{key:"handleEditEdgeType",value:function e(t){if(!this.editorMode)return;var i=$tm.config.sys.edgeClickBehaviour;if(i!=="manager")return;$tw.rootWidget.dispatchEvent({type:"tmap:tm-manage-edge-types",paramObject:{type:t}})}},{key:"handleResizeEvent",value:function e(t){if(this.isZombieWidget())return;var i=this.getAttr("height");var a=this.getAttr("width");if(this.isInSidebar){var s=this.domNode.getBoundingClientRect();var r=15;a=document.body.clientWidth-s.left-r+"px";var n=parseInt(this.getAttr("bottom-spacing"))||15;var o=window.innerHeight-s.top;i=o-n+"px"}this.domNode.style.height=i||"300px";this.domNode.style.width=a;this.repaintGraph()}},{key:"handleClickEvent",value:function e(t){if(this.isZombieWidget()||!this.network)return;if(!this.graphDomNode.contains(t.target)){var i=this.network.getSelection();if(i.nodes.length||i.edges.length){this.logger("debug","Clicked outside; deselecting nodes/edges");this.network.selectNodes([]);this.resetVisManipulationBar()}}else{this.canvas.focus()}if(t.button!==2){this.contextMenu.hide(0,true)}}},{key:"handleVisSelectNode",value:function e(t){var i=t.nodes;if(!this.isDraggingAllowed(i)){return}this.assignActiveStyle(i)}},{key:"isDraggingAllowed",value:function e(t){var i=t.nodes;return this.editorMode||this.view.isEnabled("physics_mode")}},{key:"assignActiveStyle",value:function e(t){if(!Array.isArray(t))t=[t];var i=this.visOptions.nodes.color;for(var a=t.length;a--;){var s=t[a];var r=this.graphData.nodesById[s];var n=_utils2.default.merge({},i,r.color);this.graphData.nodes.update({id:s,color:{highlight:n,hover:n}})}}},{key:"handleVisDeselectNode",value:function e(t){}},{key:"handleVisDragEnd",value:function e(t){var i=t.nodes;if(!i.length){return}if(i.length===1&&this.view.isEnabled("raster")){var a=this.network.getPositions()[i[0]];this.graphData.nodes.update(_extends({id:i[0]},_utils2.default.getNearestRasterPosition(a,parseInt(this.view.getConfig("raster")))))}this.draggedNode=null;this.setNodesMoveable(i,false)}},{key:"handleVisBeforeDrawing",value:function e(t){var i=this.view,a=this.network,s=this.backgroundImage;if(s){t.drawImage(s,0,0)}if(i.isEnabled("raster")){_utils2.default.drawRaster(t,a.getScale(),a.getViewPosition(),parseInt(i.getConfig("raster")))}}},{key:"handleVisAfterDrawing",value:function e(t){if(this.selectRect){var i=this.selectRect.getRect();t.beginPath();t.globalAlpha=.5;t.fillStyle="#EAFFEF";t.fillRect.apply(t,_toConsumableArray(i));t.beginPath();t.globalAlpha=1;t.strokeStyle="#B4D9BD";t.strokeRect.apply(t,_toConsumableArray(i))}if(this.draggedNode&&this.view.isEnabled("raster")){var a=this.network.getPositions()[this.draggedNode];var s=_utils2.default.getNearestRasterPosition(a,parseInt(this.view.getConfig("raster")));t.strokeStyle="green";t.fillStyle="green";t.beginPath();t.moveTo(a.x,a.y);t.lineTo(s.x,s.y);t.stroke();t.beginPath();t.arc(s.x,s.y,5,0,Math.PI*2);t.fill()}}},{key:"constructTooltip",value:function e(t,i){var a=_utils2.default.parseJSON(t);var s=a.node||a.edge;var r=null;var n="text/html";var o="text/vnd-tiddlywiki";if(a.node){var l=$tm.tracker.getTiddlerById(s);var d=_utils2.default.getTiddler(l);var h=d.fields[$tm.field.nodeInfo];if(h){i.innerHTML=$tw.wiki.renderText(n,o,h)}else if(d.fields.text){_utils2.default.registerTransclude(this,"tooltipWidget",l);this.tooltipWidget.setVariable("tv-tiddler-preview","yes");this.tooltipWidget.render(i)}else{i.innerHTML=l}}else{var u=this.graphData.edgesById[s];var g=$tm.indeces.allETy[u.type];if(g.description){r=$tw.wiki.renderText(n,o,g.description)}i.innerHTML=r||g.label||g.id}}},{key:"handleVisHoverElement",value:function e(t){if($tm.mouse.buttons)return;var i=t.node||t.edge;var a=JSON.stringify(t);if(t.node){this.assignActiveStyle(i)}if(!this.isVisInEditMode()&&!this.contextMenu.isShown()){var s=this.constructTooltip;this.tooltip.show(a,s)}}},{key:"handleVisBlurElement",value:function e(t){this.tooltip.hide()}},{key:"handleVisLoading",value:function e(t){var i=t.total,a=t.iterations;this.graphLoadingBarDomNode.style.display="block";this.graphLoadingBarDomNode.setAttribute("max",i);this.graphLoadingBarDomNode.setAttribute("value",a)}},{key:"handleVisLoadingDone",value:function e(t){this.graphLoadingBarDomNode.style.display="none"}},{key:"handleVisDragStart",value:function e(t){var i=t.nodes;if(!i.length||!this.isDraggingAllowed(i)){return}this.hidePopups(0,true);this.assignActiveStyle(i);this.setNodesMoveable(i,true);if(i.length===1){this.draggedNode=i[0]}}},{key:"destruct",value:function e(){_utils2.default.setDomListeners("remove",window,this.windowDomListeners);_utils2.default.setDomListeners("remove",this.domNode,this.widgetDomListeners);this._destructVis()}},{key:"_destructVis",value:function e(){if(!this.network)return;_utils2.default.setDomListeners("remove",this.canvas,this.canvasDomListeners);this.network.destroy();this.network=null}},{key:"openTiddlerWithId",value:function e(t){var i=this;var a=$tm.tracker.getTiddlerById(t);this.logger("debug","Opening tiddler",a,"with id",t);if(this.enlargedMode==="fullscreen"){var s=$tw.wiki.findDraft(a);var r=!!s;if(!r){var n="tm-edit-tiddler";this.dispatchEvent({type:n,tiddlerTitle:a});s=$tw.wiki.findDraft(a)}var o={draftTRef:s,originalTRef:a};$tm.dialogManager.open("fullscreenTiddlerEditor",o,function(e,t){if(e){var n="tm-save-tiddler";i.dispatchEvent({type:n,tiddlerTitle:s})}else if(!r){_utils2.default.deleteTiddlers([s])}var o="tm-close-tiddler";i.dispatchEvent({type:o,tiddlerTitle:a})})}else{var l=this.domNode.getBoundingClientRect();this.dispatchEvent({type:"tm-navigate",navigateTo:a,navigateFromTitle:this.getVariable("storyTiddler"),navigateFromNode:this,navigateFromClientRect:{top:l.top,left:l.left,width:l.width,right:l.right,bottom:l.bottom,height:l.height}})}}},{key:"getViewHolderRef",value:function e(){if(this.viewHolderRef){return this.viewHolderRef}this.logger("info","Retrieving or generating the view holder reference");var t=this.getAttr("view");var i=null;if(t){this.logger("log",'User wants to bind view "'+t+"' to graph");var a=$tm.path.views+"/"+t;if($tw.wiki.getTiddler(a)){i=$tm.path.localHolders+"/"+_utils2.default.genUUID();this.logger("log",'Created an independent temporary view holder "'+i+'"');_utils2.default.setText(i,a);this.logger("log",'View "'+a+"' inserted into independend holder")}else{this.logger("log",'View "'+t+'" does not exist')}}if(!i){this.logger("log","Using default (global) view holder");i=$tm.ref.defaultViewHolder}return i}},{key:"setView",value:function e(t,i){if(!_ViewAbstraction2.default.exists(t)){return}t=new _ViewAbstraction2.default(t);var a=t.getLabel();i=i||this.viewHolderRef;this.logger("info",'Inserting view "'+a+'" into holder "'+i+'"');$tw.wiki.addTiddler(new $tw.Tiddler({title:i,text:a}));this.update({changedTiddlers:_defineProperty({},i,true)})}},{key:"getView",value:function e(t){if(!t&&this.view){return this.view}var i=this.getViewHolderRef();var a=_utils2.default.getText(i);this.logger("debug","Retrieved view from holder");var s=void 0;if(_ViewAbstraction2.default.exists(a)){s=new _ViewAbstraction2.default(a)}else{this.logger("debug",'Warning: View "'+a+"\" doesn't exist. Default is used instead.");s=new _ViewAbstraction2.default("Default")}return s}},{key:"reloadBackgroundImage",value:function e(t){var i=this;this.backgroundImage=null;var a=this.view.getConfig("background_image");var s=_utils2.default.getTiddler(a);if(!s&&!a)return;var r=new Image;r.onload=function(){i.backgroundImage=r;i.repaintGraph()};if(s){var n=s.fields["_canonical_uri"];if(n){r.src=n}else if(s.fields.text){r.src=$tw.utils.makeDataUri(s.fields.text,s.fields.type)}}else if(a){r.src=a}}},{key:"repaintGraph",value:function e(){var t=$tw.utils.hasClass(this.document.body,"tmap-has-fullscreen-widget");if(this.network&&(!t||t&&this.enlargedMode)){this.logger("info","Repainting the whole graph");this.network.redraw();this.fitGraph(0,1e3)}}},{key:"setGraphButtonEnabled",value:function e(t,i){var a="vis-button tmap-"+t;var s=_utils2.default.getFirstElementByClassName(a,this.domNode);$tw.utils.toggleClass(s,"tmap-button-enabled",i)}},{key:"setNodesMoveable",value:function e(t,i){if(!t||!t.length||this.view.isEnabled("physics_mode")){return}var a=[];var s=!i;for(var r=t.length;r--;){a.push({id:t[r],fixed:{x:s,y:s}})}this.graphData.nodes.update(a);if(s){this.logger("debug","Fixing",a.length,"nodes");this.view.saveNodePositions(this.network.getPositions());this.isPreventZoomOnNextUpdate=true}}},{key:"addGraphButtons",value:function e(t){var i=_utils2.default.getFirstElementByClassName("vis-navigation",this.domNode);for(var a in t){var s=this.document.createElement("div");s.className="vis-button tmap-"+a;s.addEventListener("click",t[a].bind(this),false);i.appendChild(s);this.setGraphButtonEnabled(a,true)}}}]);return t}(_widget.widget);exports.tmap=MapWidget;exports.tiddlymap=MapWidget; //# sourceMappingURL=./maps/felixhayashi/tiddlymap/js/widget/MapWidget.js.map diff --git a/template/wiki/plugins/felixhayashi/tiddlymap/plugin.info b/template/wiki/plugins/felixhayashi/tiddlymap/plugin.info index 285e366f..968522cd 100644 --- a/template/wiki/plugins/felixhayashi/tiddlymap/plugin.info +++ b/template/wiki/plugins/felixhayashi/tiddlymap/plugin.info @@ -2,8 +2,8 @@ "title": "$:/plugins/felixhayashi/tiddlymap", "description": "TiddlyMap – Map drawing and topic visualization for your wiki", "author": "Felix Küppers", - "version": "0.17.7+9982", - "released": "Sun, 31 May 2020 07:04:54 GMT", + "version": "0.17.8+10010", + "released": "Sun, 27 Sep 2020 20:47:13 GMT", "core-version": ">=5.1.5", "source": "https://github.com/felixhayashi/TW5-TiddlyMap", "type": "application/json", diff --git a/template/wiki/plugins/felixhayashi/tiddlymap/tiddlers/gui/dialog/configure_view/dialog.configure_view.layout.tid b/template/wiki/plugins/felixhayashi/tiddlymap/tiddlers/gui/dialog/configure_view/dialog.configure_view.layout.tid index 652dc73f..fc3e748e 100644 --- a/template/wiki/plugins/felixhayashi/tiddlymap/tiddlers/gui/dialog/configure_view/dialog.configure_view.layout.tid +++ b/template/wiki/plugins/felixhayashi/tiddlymap/tiddlers/gui/dialog/configure_view/dialog.configure_view.layout.tid @@ -9,6 +9,10 @@ caption: Layout field:"config.physics_mode" descr:"Set this to true if you want your nodes to freely swirl around.">> + <> <