Prevents loading all data

This commit is contained in:
Bryce Covert
2019-10-05 18:50:14 -07:00
parent 6833e8abf5
commit 71e19ee66e

View File

@@ -365,63 +365,68 @@
error @(re-frame/subscribe [::error])
params @(re-frame/subscribe [::params])]
[:div
[:h1.title "Profit and Loss"]
[:h2.title.is-4 "Range"]
[:div
[:div.field.is-grouped
[:p.control
[:a.button
{:class (when (= (:selected params) "Last week") "is-active")
:on-click (dispatch-event [::range-selected
(date->str (t/minus (local-now) (t/period :days 7)) standard)
(date->str (local-now) standard)
"Last week"])}
"Last week"]]
[:p.control
[:a.button
{:class (when (= (:selected params) "Week to date") "is-active")
:on-click (dispatch-event [::range-selected
(date->str (loop [current (local-now)]
(if (= 7 (t/day-of-week current))
current
(recur (t/minus current (t/period :days 1)))))
standard)
(date->str (local-now) standard)
"Week to date"])}
"Week to date"]]
[:p.control
[:a.button
{:class (when (= (:selected params) "Month to date") "is-active")
:on-click (dispatch-event [::range-selected
(date->str (t/local-date (t/year (local-now))
(t/month (local-now))
1)
standard)
(date->str (local-now) standard)
"Month to date"])}
"Month to date"]]
[:p.control
[:a.button
{:class (when (= (:selected params) "Year to date") "is-active")
:on-click (dispatch-event [::range-selected
(date->str (t/local-date (t/year (local-now))
1
1)
standard)
(date->str (local-now) standard)
"Year to date"])}
"Year to date"]]
[:p.control
[:a.button
{:class (when (= (:selected params) "Full year") "is-active")
:on-click (dispatch-event [::range-selected
(date->str (t/minus (local-now) (t/period :years 1))
standard)
(date->str (local-now) standard)
"Full year"])}
"Full year"]]]]
[:div.field.is-grouped
(if-not current-client
[:div
[:h1.title "Profit and Loss"]
[:h2.title.is-4 "Please choose a client first"]]
[:div
[:h1.title "Profit and Loss"]
[:h2.title.is-4 "Range"]
[:div
[:div.field.is-grouped
[:p.control
[:a.button
{:class (when (= (:selected params) "Last week") "is-active")
:on-click (dispatch-event [::range-selected
(date->str (t/minus (local-now) (t/period :days 7)) standard)
(date->str (local-now) standard)
"Last week"])}
"Last week"]]
[:p.control
[:a.button
{:class (when (= (:selected params) "Week to date") "is-active")
:on-click (dispatch-event [::range-selected
(date->str (loop [current (local-now)]
(if (= 7 (t/day-of-week current))
current
(recur (t/minus current (t/period :days 1)))))
standard)
(date->str (local-now) standard)
"Week to date"])}
"Week to date"]]
[:p.control
[:a.button
{:class (when (= (:selected params) "Month to date") "is-active")
:on-click (dispatch-event [::range-selected
(date->str (t/local-date (t/year (local-now))
(t/month (local-now))
1)
standard)
(date->str (local-now) standard)
"Month to date"])}
"Month to date"]]
[:p.control
[:a.button
{:class (when (= (:selected params) "Year to date") "is-active")
:on-click (dispatch-event [::range-selected
(date->str (t/local-date (t/year (local-now))
1
1)
standard)
(date->str (local-now) standard)
"Year to date"])}
"Year to date"]]
[:p.control
[:a.button
{:class (when (= (:selected params) "Full year") "is-active")
:on-click (dispatch-event [::range-selected
(date->str (t/minus (local-now) (t/period :years 1))
standard)
(date->str (local-now) standard)
"Full year"])}
"Full year"]]]]
[:div.field.is-grouped
[:p.control
[:p.help "From"]
[bind-field
@@ -453,35 +458,35 @@
:event [::date-picked]
:popper-props (clj->js {:placement "right"})
:subscription params}]]]]
(cond
error
[:div.notification.is-warning error]
(cond
error
[:div.notification.is-warning error]
@(re-frame/subscribe [::loading])
[:div [:i.icon.fa.fa-spin.fa-spinner]]
@(re-frame/subscribe [::loading])
[:div [:i.icon.fa.fa-spin.fa-spinner]]
:else
[:div
[:table.table.compact.balance-sheet
(list
[:tr
[:td.has-text-right "Period ending"]
[:td.has-text-right (date->str (str->date (:to-date params) standard))]
[:td.has-text-right (when (:to-date params)
(date->str (t/minus (str->date (:to-date params) standard) (t/years 1))))]
[:td]]
(for [location @(re-frame/subscribe [::locations])]
(list
(overall-grouping :sales (str location " Sales") location)
(overall-grouping :cogs (str location " COGS") location)
(overall-grouping :payroll (str location " Payroll") location)
(subtotal [:payroll :cogs] #{} (str location " Prime Costs") location)
(subtotal [:sales :payroll :cogs] #{:payroll :cogs} (str location " Gross Profits") location)
(overall-grouping :controllable (str location " Controllable Expenses") location)
(overall-grouping :noncontrollable (str location " Noncontrallable Expenses") location)
(subtotal [:controllable :noncontrollable] #{} (str location " Overhead") location)
(subtotal [:sales :cogs :payroll :controllable :noncontrollable] #{:cogs :payroll :controllable :noncontrollable} (str location " Net Income") location)
(subtotal [:sales :cogs :payroll :controllable :noncontrollable] #{:cogs :payroll :controllable :noncontrollable} "Net Income" nil))))]])]))
:else
[:div
[:table.table.compact.balance-sheet
(list
[:tr
[:td.has-text-right "Period ending"]
[:td.has-text-right (date->str (str->date (:to-date params) standard))]
[:td.has-text-right (when (:to-date params)
(date->str (t/minus (str->date (:to-date params) standard) (t/years 1))))]
[:td]]
(for [location @(re-frame/subscribe [::locations])]
(list
(overall-grouping :sales (str location " Sales") location)
(overall-grouping :cogs (str location " COGS") location)
(overall-grouping :payroll (str location " Payroll") location)
(subtotal [:payroll :cogs] #{} (str location " Prime Costs") location)
(subtotal [:sales :payroll :cogs] #{:payroll :cogs} (str location " Gross Profits") location)
(overall-grouping :controllable (str location " Controllable Expenses") location)
(overall-grouping :noncontrollable (str location " Noncontrallable Expenses") location)
(subtotal [:controllable :noncontrollable] #{} (str location " Overhead") location)
(subtotal [:sales :cogs :payroll :controllable :noncontrollable] #{:cogs :payroll :controllable :noncontrollable} (str location " Net Income") location)
(subtotal [:sales :cogs :payroll :controllable :noncontrollable] #{:cogs :payroll :controllable :noncontrollable} "Net Income" nil))))]])])))
{:component-will-mount #(re-frame/dispatch-sync [::params-change {:from-date (date->str (t/minus (local-now) (t/period :years 1)) standard)
:to-date (date->str (local-now) standard)}]) }))