Navigation Menu

Skip to content

Instantly share code, notes, and snippets.

@hughjfchen
Created August 23, 2017 05:11
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save hughjfchen/7f8f7328be1b055d8df18e6d1f021b4a to your computer and use it in GitHub Desktop.
Save hughjfchen/7f8f7328be1b055d8df18e6d1f021b4a to your computer and use it in GitHub Desktop.
can't receive re-frame subscription
;; event fired function
;; snippet: {:on-click #(dispatch [:edit-checklist checklist])}
(defn checklist-table [dt-id data-sub-vector]
(.log js/console "to-display within checklist-table")
[rdt/datatable
dt-id
data-sub-vector
[{::rdt/column-key [:title]
::rdt/column-label "标题"}
{::rdt/column-key [:type]
::rdt/column-label "所属方案"
::rdt/render-fn (fn [participants]
(let [names (->> participants
(map (comp first #(clojure.string/split % #"@")))
(distinct))]
[:span
(if (< 3 (count names))
(str (first names) " .. " (last names))
(clojure.string/join ", " names))
(when (< 1 (count participants))
[:span " (" (count participants) ")"])]))}
{::rdt/column-key [:first-cat-label]
::rdt/column-label "一级类别"}
{::rdt/column-key [:second-cat-label]
::rdt/column-label "二级类别"
::rdt/render-fn (fn [digest]
[:span.muted
{:style {:text-overflow "ellipsis"
:max-width "20em"}}
(->> digest
(take 40)
(apply str))])}
{::rdt/column-key [:execute]
::rdt/column-label "执行脚本"}
{::rdt/column-key [:verify]
::rdt/column-label "结果校验"}
{::rdt/column-key [:comply-suggestion]
::rdt/column-label "合规建议"}
{::rdt/column-key [:created-by]
::rdt/column-label "操作"
::rdt/render-fn (fn [user checklist] [sa/Button {:on-click #(dispatch [:edit-checklist checklist])} "编辑"])}]
{::rdt/pagination {::rdt/enabled? true
::rdt/per-page 10}
::rdt/selection {::rdt/enabled? false}
::rdt/table-classes ["ui" "table"]
::rdt/empty-tbody-component (fn []
[:span "无检查项"])
::rdt/footer-component (fn [] [rdt/default-pagination-controls dt-id data-sub-vector])}])
;; event handler
(reg-event-db
:edit-checklist
(fn [db [_ checklist]]
(.log js/console "event: :edit-checklist")
(assoc db :edit-checklist checklist)))
;; sub reg function
(defn query [db [event-id]]
(.log js/console event-id)
(event-id db))
;; subsciption function
(defn checklist-edit-form []
(r/with-let [checklist (subscribe [:edit-checklist])]
[sa/Modal
{:open (if @checklist true false)
:closeOnEscape false
:closeOnRootNodeClick false}
[sa/ModalHeader "编辑检查项"]
[sa/ModalContent "This is content"]]))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment