/
views.cljs
56 lines (53 loc) · 1.61 KB
/
views.cljs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
(ns re-datagrid-demo.views
(:require [fipp.clojure :refer [pprint]]
[re-datagrid.views :as datagrid]
[re-frame.core :as rf]
[reagent.core :as r]
[taoensso.timbre :as timbre
:refer-macros (log trace debug info warn error fatal report
logf tracef debugf infof warnf errorf fatalf reportf
spy get-env log-env)]))
(def opts
{:grid-id :my-grid
:data-subscription [:data]
:id-field :id
:header-filters true
:can-sort true
:can-reorder true
:checkbox-select true
:loading-subscription [:my-loading]
:sort-dispatch [:sort]
:header-filter-dispatch [:header-filter-dispatch]
:reorder-dispatch [:reorder]
:create-dispatch [:create]
:update-dispatch [:update]
:delete-dispatch [:delete]
:additional-css-class-names "table-striped table-sm"
})
(def fields
[{:name :id
:can-sort true
:title "ID"
:type :number}
{:name :firstname
:can-sort true
:formatter (fn [v r]
[:b v])
:title "Firstname"}
{:name :surname
:type :no-edit
:title "Surname"}
{:name :birthdate
:type :date
:title "Birthdate"}
{:name :login
:type :date-time
:title "Logged in at"}
{:name :male
:type :yesno
:title "Male?"}])
(defn main-panel
[]
[:div.container
[:h1 "Datagrid Demo"]
[datagrid/datagrid opts fields]])