diff --git a/project.clj b/project.clj index d5e396e..19238b3 100644 --- a/project.clj +++ b/project.clj @@ -12,6 +12,7 @@ [reagent "0.6.0-alpha2" :exclusions [cljsjs/react]] [cljsjs/react-with-addons "15.0.2-0"] ; react [re-frame "0.7.0"] ; state + [re-com "0.8.3"] ; reusable ui components [cljs-ajax "0.5.4"] ; ajax requests [bidi "2.0.9"] ; routing [kibu/pushy "0.3.6"] ; auto html5 history diff --git a/src/cljs/ulysses/db.cljs b/src/cljs/ulysses/db.cljs index ca437f4..1dc7205 100644 --- a/src/cljs/ulysses/db.cljs +++ b/src/cljs/ulysses/db.cljs @@ -84,7 +84,7 @@ :sort-direction "desc"} ; builder pool filters - :builder-filters {:faculty-title-set ["director"] + :builder-filters {:faculty-title-set #{"director"} :faculty-years-uconn 0 :metrics {:publicationCount 0 :grantCount 0 diff --git a/src/cljs/ulysses/pages/builder.cljs b/src/cljs/ulysses/pages/builder.cljs index 1ad0fdf..263c545 100644 --- a/src/cljs/ulysses/pages/builder.cljs +++ b/src/cljs/ulysses/pages/builder.cljs @@ -1,5 +1,6 @@ (ns ulysses.pages.builder (:require [re-frame.core :as re-frame :refer [subscribe dispatch]] + [re-com.core :refer [selection-list]] [ulysses.components.basic :refer [hink link loading-or-no-results @@ -38,32 +39,20 @@ (fn [t] [:option {:value t} (str t "+")]) (range 0 (inc 30)))]) - (defn faculty-title-multiselect [faculty-titles {:keys [faculty-title-set]}] - [:select.multi-select - {:multiple true - :value faculty-title-set - :on-change (fn [e] - (dispatch [:builder-filter-faculty-title-set - (->> e - (.-target) - (.multiselect_values js/extra) - (js->clj))]))} - (map-subels - (fn [t] [:option {:value t} t]) - faculty-titles)]) - -(defn metric-slider - [metric filters] - (let [value (get-in filters [:metrics metric])] - [:div - ; [:div value "+"] - [range-slider - :min 0 :max 100 :value value - :on-change - (fn [v] - (dispatch [:builder-filter-faculty-metric metric v]))]])) + [selection-list + :multi-select? true + :hide-border? true + :required? true + :max-height "200px" + :choices + (mapv #(hash-map :id % :label %) faculty-titles) + :model + faculty-title-set + :on-change + (fn [v] + (dispatch [:builder-filter-faculty-title-set v]))]) (defn sidebar-section [title & body] diff --git a/src/sass/_bootstrap-overrides.scss b/src/sass/_bootstrap-overrides.scss index 69179df..c13ecea 100644 --- a/src/sass/_bootstrap-overrides.scss +++ b/src/sass/_bootstrap-overrides.scss @@ -29,3 +29,23 @@ .label { // padding-top: .35em; } + +// ---------------------------------------------------------------------------- + +// compact list group items + +.list-group-item.compact { + border: 0; + cursor: default; + font-size: small; + height: 21px; + margin: 0; + overflow: hidden; + padding: 1px 5px; + text-overflow: ellipsis; + white-space: nowrap; + + &:hover { + background-color: $gray-lightest; + } +}