|
513 | 513 | {:render-fn '(fn [head+body {:as opts :keys [sync-var]}]
|
514 | 514 | (reagent.core/with-let [table-state (if sync-var
|
515 | 515 | (deref sync-var)
|
516 |
| - (throw (js/Error. (str "no sync var: " sync-var))))] |
| 516 | + #?(:clj (throw (js/Error. (str "no sync var: " sync-var))) |
| 517 | + :cljs nil))] |
517 | 518 | [:div.bg-white.rounded-lg.border.border-slate-300.shadow-sm.font-sans.text-sm.not-prose.overflow-x-auto
|
518 | 519 | {:class "print:overflow-none print:text-[10px] print:shadow-none print:rounded-none print:border-none"}
|
519 | 520 | (into
|
|
573 | 574 | (def viewer
|
574 | 575 | (assoc viewer/table-viewer
|
575 | 576 | :transform-fn
|
576 |
| - (fn transform-fn [{:as wrapped-value :keys [id] :nextjournal/keys [applied-viewer render-opts]}] |
577 |
| - (let [var-name (symbol (namespace id) (str (name id) "-table")) |
| 577 | + (fn transform-fn [{:as wrapped-value :nextjournal/keys [applied-viewer render-opts]}] |
| 578 | + (let [#?@(:clj [id (:id wrapped-value) |
| 579 | + var-name (symbol (namespace id) (str (name id) "-table"))]) |
578 | 580 | _ #?(:clj (when-not (resolve var-name)
|
579 | 581 | (when-some [ns' (find-ns (symbol (namespace var-name)))]
|
580 | 582 | (intern ns' (symbol (name var-name)) (doto (atom {:filter {}})
|
|
589 | 591 | (assoc :nextjournal/viewer table-markup-viewer)
|
590 | 592 | (update :nextjournal/width #(or % :wide))
|
591 | 593 | (update :nextjournal/render-opts merge {:num-cols (count (or head (first rows)))
|
592 |
| - :sync-var (viewer/->viewer-eval |
593 |
| - (list 'nextjournal.clerk.render/intern-atom! |
594 |
| - (list 'quote var-name) {:filter {} :init 2})) |
| 594 | + #?@(:clj [:sync-var (viewer/->viewer-eval |
| 595 | + (list 'nextjournal.clerk.render/intern-atom! |
| 596 | + (list 'quote var-name) {:filter {} :init 2}))]) |
595 | 597 | :number-col? (into #{}
|
596 | 598 | (comp (map-indexed vector)
|
597 | 599 | (keep #(when (number? (second %)) (first %))))
|
|
0 commit comments