|
@@ -1,6 +1,7 @@
|
|
|
(ns frontend.extensions.graph
|
|
|
(:require [cljs-bean.core :as bean]
|
|
|
[clojure.string :as string]
|
|
|
+ [frontend.db.model :as model]
|
|
|
[frontend.extensions.graph.pixi :as pixi]
|
|
|
[frontend.handler.route :as route-handler]
|
|
|
[goog.object :as gobj]
|
|
@@ -30,20 +31,17 @@
|
|
|
(defn on-click-handler [graph node event *focus-nodes *n-hops drag? dark?]
|
|
|
;; shift+click to select the page
|
|
|
(if (or (gobj/get event "shiftKey") drag?)
|
|
|
- (let [page-name (string/lower-case node)]
|
|
|
- (when-not @*n-hops
|
|
|
+ ((when-not @*n-hops
|
|
|
;; Don't trigger re-render
|
|
|
- (swap! *focus-nodes
|
|
|
- (fn [v]
|
|
|
- (vec (distinct (conj v node))))))
|
|
|
+ (swap! *focus-nodes
|
|
|
+ (fn [v]
|
|
|
+ (vec (distinct (conj v node))))))
|
|
|
;; highlight current node
|
|
|
- (let [node-attributes (-> (.getNodeAttributes (.-graph graph) node)
|
|
|
- (bean/->clj))]
|
|
|
- (.setNodeAttribute (.-graph graph) node "parent" "ls-selected-nodes"))
|
|
|
- (highlight-neighbours! graph node (set @*focus-nodes) dark?)
|
|
|
- (highlight-edges! graph node dark?))
|
|
|
+ (.setNodeAttribute (.-graph graph) node "parent" "ls-selected-nodes")
|
|
|
+ (highlight-neighbours! graph node (set @*focus-nodes) dark?)
|
|
|
+ (highlight-edges! graph node dark?))
|
|
|
(when-not drag?
|
|
|
- (let [page-name (string/lower-case node)]
|
|
|
+ (let [page-name (model/get-redirect-page-name node)]
|
|
|
(.unhoverNode ^js graph node)
|
|
|
(route-handler/redirect-to-page! page-name)))))
|
|
|
|