warns about how many are visible
This commit is contained in:
@@ -52,7 +52,6 @@
|
|||||||
(re-frame/reg-event-db
|
(re-frame/reg-event-db
|
||||||
::change
|
::change
|
||||||
(fn [db [_ form & path-pairs]]
|
(fn [db [_ form & path-pairs]]
|
||||||
(println "CHANGING" path-pairs)
|
|
||||||
(reduce
|
(reduce
|
||||||
(fn [db [path value]]
|
(fn [db [path value]]
|
||||||
(assoc-in db (into [::forms form :data] path) value))
|
(assoc-in db (into [::forms form :data] path) value))
|
||||||
|
|||||||
@@ -120,55 +120,59 @@
|
|||||||
include-headers (r/atom true)
|
include-headers (r/atom true)
|
||||||
table-form (r/atom nil)]
|
table-form (r/atom nil)]
|
||||||
(fn [{:keys [headings value on-change row-filter]}]
|
(fn [{:keys [headings value on-change row-filter]}]
|
||||||
[:form.form
|
[:div
|
||||||
(if value
|
(when (> (count value) 100)
|
||||||
[:div
|
[:div.notification "Showing first 100 of " (count value)])
|
||||||
[:table.table
|
[:form.form
|
||||||
[:thead
|
(if value
|
||||||
[:tr
|
[:div
|
||||||
|
[:table.table
|
||||||
|
[:thead
|
||||||
|
[:tr
|
||||||
|
(list
|
||||||
|
(for [[heading-name _] headings]
|
||||||
|
^{:key heading-name}[:th heading-name]))
|
||||||
|
(list
|
||||||
|
(for [[heading-name _] read-only-headings]
|
||||||
|
^{:key heading-name} [:th heading-name]))]]
|
||||||
|
[:tbody
|
||||||
(list
|
(list
|
||||||
(for [[heading-name _] headings]
|
(for [[index row] (map vector (range ) (take 100 value))
|
||||||
[:th heading-name]))
|
:when (row-filter row)]
|
||||||
(list
|
^{:key index} [:tr
|
||||||
(for [[heading-name _] read-only-headings]
|
(list
|
||||||
[:th heading-name]))]]
|
(for [[_ k] headings]
|
||||||
(list
|
^{:key k} [:td
|
||||||
(for [[index row] (map vector (range )value)
|
[:input.input {:on-change (fn [x]
|
||||||
:when (row-filter row)]
|
(.preventDefault x)
|
||||||
[:tr
|
(on-change
|
||||||
(list
|
(assoc-in value [index k] (.. x -target -value))))
|
||||||
(for [[_ k] headings]
|
:value (get row k)}]]))
|
||||||
[:td
|
(list
|
||||||
[:input.input {:on-change (fn [x]
|
(for [[_ k] read-only-headings]
|
||||||
(.preventDefault x)
|
^{:key k} [:td.expandable
|
||||||
(on-change
|
(get row k)]))]))]]
|
||||||
(assoc-in value [index k] (.. x -target -value))))
|
children]
|
||||||
:value (get row k)}]]))
|
[:div
|
||||||
(list
|
|
||||||
(for [[_ k] read-only-headings]
|
|
||||||
[:td.expandable
|
|
||||||
(get row k)]))]))]
|
|
||||||
children]
|
|
||||||
[:div
|
|
||||||
|
|
||||||
[:div.field
|
[:div.field
|
||||||
[:p.help "Paste manual ledger entries below."]
|
[:p.help "Paste manual ledger entries below."]
|
||||||
[:textarea.textarea {:on-change #(reset! text-form (.. % -target -value))} @text-form]]
|
[:textarea.textarea {:on-change #(reset! text-form (.. % -target -value))} @text-form]]
|
||||||
[:div.field
|
[:div.field
|
||||||
[:label.checkbox
|
[:label.checkbox
|
||||||
[:input {:type "checkbox" :checked @include-headers :on-change #(swap! include-headers (fn [x] (not x)))}
|
[:input {:type "checkbox" :checked @include-headers :on-change #(swap! include-headers (fn [x] (not x)))}
|
||||||
]
|
]
|
||||||
" Contains Header Row"]]
|
" Contains Header Row"]]
|
||||||
[:button.button.is-medium {:on-click (fn [e]
|
[:button.button.is-medium {:on-click (fn [e]
|
||||||
(.preventDefault e)
|
(.preventDefault e)
|
||||||
(on-change
|
(on-change
|
||||||
(cond->> (str/split @text-form #"\n")
|
(cond->> (str/split @text-form #"\n")
|
||||||
@include-headers (drop 1)
|
@include-headers (drop 1)
|
||||||
true (mapv #(->> (str/split % "\t")
|
true (mapv #(->> (str/split % "\t")
|
||||||
(map (fn [[_ k] v] [k v]) headings)
|
(map (fn [[_ k] v] [k v]) headings)
|
||||||
(into {}))))))}
|
(into {}))))))}
|
||||||
"Parse"]
|
"Parse"]
|
||||||
])])))
|
])]])))
|
||||||
|
|
||||||
(def balance-sheet-content
|
(def balance-sheet-content
|
||||||
(with-meta
|
(with-meta
|
||||||
|
|||||||
Reference in New Issue
Block a user