Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 14 additions & 5 deletions .github/workflows/clj-kondo.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,12 +18,21 @@ jobs:
- name: Get changed Clojure files
id: changed-files
run: |
FILES=$(git diff --name-only origin/${{ github.base_ref }}...HEAD | grep -E '\.(clj|cljs|cljc)$' | tr '\n' ' ')
FILES=$(git diff --name-only --diff-filter=d origin/${{ github.base_ref }}...HEAD | grep -E '\.(clj|cljs|cljc)$' | tr '\n' ' ')
echo "files=$FILES" >> $GITHUB_OUTPUT
echo "has_files=$([ -n "$FILES" ] && echo 'true' || echo 'false')" >> $GITHUB_OUTPUT

- uses: DeLaGuardo/clojure-lint-action@master
- name: Install clj-kondo
if: steps.changed-files.outputs.has_files == 'true'
with:
clj-kondo-args: --lint ${{ steps.changed-files.outputs.files }}
github_token: ${{ secrets.GITHUB_TOKEN }}
run: |
curl -sLO https://raw.githubusercontent.com/clj-kondo/clj-kondo/master/script/install-clj-kondo
chmod +x install-clj-kondo
./install-clj-kondo

- name: Build analysis cache
if: steps.changed-files.outputs.has_files == 'true'
run: clj-kondo --lint projects/ components/ bases/ || true

- name: Lint changed files
if: steps.changed-files.outputs.has_files == 'true'
run: clj-kondo --lint ${{ steps.changed-files.outputs.files }}
2 changes: 1 addition & 1 deletion behave-lib/behave-mirror
4 changes: 2 additions & 2 deletions projects/behave_cms/src/clj/behave_cms/compile_cljs.clj
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
(ns behave-cms.compile-cljs
(:require [clojure.java.io :as io]
(:require [cljs.main :as compiler]
[clojure.edn :as edn]
[cljs.main :as compiler]))
[clojure.java.io :as io]))

(defn- delete-folder
"Delete a folder and all of its contents recursively."
Expand Down
8 changes: 4 additions & 4 deletions projects/behave_cms/src/clj/behave_cms/export.clj
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
(ns behave-cms.export
(:require [clojure.java.io :as io]
[clojure.string :as str]
[file-utils.interface :refer [resource-file zip-file]]
[date-utils.interface :refer [today]])
(:require [clojure.java.io :as io]
[clojure.string :as str]
[date-utils.interface :refer [today]]
[file-utils.interface :refer [resource-file zip-file]])
(:import [java.io FileInputStream]))

(defn sync-images
Expand Down
12 changes: 6 additions & 6 deletions projects/behave_cms/src/clj/behave_cms/modules.clj
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
(ns behave-cms.modules
(:require [clojure.string :as str]
(:require [clojure.edn :as edn]
[clojure.java.io :as io]
[clojure.edn :as edn]))
[clojure.string :as str]))

(def behave-dir (io/file "/Users/rsheperd/Code/sig/hatchet/test/resources/behave"))
(def behave-class-files (filter #(str/ends-with? (.getAbsolutePath %) ".edn") (file-seq behave-dir)))
Expand All @@ -26,9 +26,9 @@
(spit filename (format "\n\n-- %s\n" (k->s class-name)) :append true)
#_(spit filename (format "\nSELECT cpp.create_class('%s', '%s');\n" (k->s cpp-ns) (k->s class-name)) :append true)
(when (map? fns)
(doseq [[_ {:keys [type id parameters] :or {type "void"}}] fns]
(doseq [[_ {fn-type :type id :id parameters :parameters :or {fn-type "void"}}] fns]
(when id
(spit filename (format "SELECT cpp.add_class_function('%s', '%s', '%s');\n" (k->s class-name) id type) :append true)
(spit filename (format "SELECT cpp.add_class_function('%s', '%s', '%s');\n" (k->s class-name) id fn-type) :append true)
(let [fname id]
(doseq [[idx {:keys [type id] :or {type "void"}}] (map-indexed vector parameters)]
(spit filename (format "SELECT cpp.add_function_parameter('%s', '%s', '%s', '%s', %d);\n" (k->s class-name) fname type id idx) :append true)))))))))
(doseq [[idx {param-type :type param-id :id :or {param-type "void"}}] (map-indexed vector parameters)]
(spit filename (format "SELECT cpp.add_function_parameter('%s', '%s', '%s', '%s', %d);\n" (k->s class-name) fname param-type param-id idx) :append true)))))))))
4 changes: 2 additions & 2 deletions projects/behave_cms/src/clj/behave_cms/store.clj
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
(ns behave-cms.store
(:require [behave.schema.core :refer [all-schemas]]
[datomic-store.main :as s]
[config.interface :refer [get-config]]))
[config.interface :refer [get-config]]
[datomic-store.main :as s]))

(defn connect!
"Connects to datomic DB given `db-config`.
Expand Down
6 changes: 3 additions & 3 deletions projects/behave_cms/src/clj/behave_cms/utils/mail.clj
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
(ns behave-cms.utils.mail
(:require [postal.core :refer [send-message]]
[config.interface :refer [get-config]]
[logging.interface :refer [log-str]]))
(:require [config.interface :refer [get-config]]
[logging.interface :refer [log-str]]
[postal.core :refer [send-message]]))

(defn get-site-url []
(:site-url (get-config :mail)))
Expand Down
50 changes: 24 additions & 26 deletions projects/behave_cms/src/cljs/behave_cms/applications/views.cljs
Original file line number Diff line number Diff line change
@@ -1,33 +1,31 @@
(ns behave-cms.applications.views
(:require [behave-cms.applications.subs]
[behave-cms.components.common :refer [window]]
[behave-cms.components.sidebar :refer [sidebar sidebar-width]]
[behave-cms.components.sidebar.views :refer [sidebar-width]]
[behave-cms.components.table-entity-form :refer [table-entity-form]]
[re-frame.core :as rf]))

(defn list-applications-page [_]
[:<>
[sidebar "Applications" @(rf/subscribe [:sidebar/applications])]
[window sidebar-width
[:div.container {:style {:height "900px"}}
[table-entity-form
{:title "Applications"
:entity :application
:entities (sort-by :application/name
@(rf/subscribe [:applications]))
:table-header-attrs [:application/name :application/version]
:entity-form-fields [{:label "Name"
:required? true
:field-key :application/name}
{:label "Major Version"
:field-key :application/version-major
:type :number
:required? true}
{:label "Minor Version"
:field-key :application/version-minor
:type :number
:required? true}
{:label "Patch Version"
:field-key :application/version-patch
:type :number
:required? true}]}]]]])
[window sidebar-width
[:div.container {:style {:height "900px"}}
[table-entity-form
{:title "Applications"
:entity :application
:entities (sort-by :application/name
@(rf/subscribe [:applications]))
:table-header-attrs [:application/name :application/version]
:entity-form-fields [{:label "Name"
:required? true
:field-key :application/name}
{:label "Major Version"
:field-key :application/version-major
:type :number
:required? true}
{:label "Minor Version"
:field-key :application/version-minor
:type :number
:required? true}
{:label "Patch Version"
:field-key :application/version-patch
:type :number
:required? true}]}]]])
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
(ns behave-cms.authentication.views
(:require [reagent.core :as r]
[re-frame.core :as rf]
(:require [behave-cms.components.common :refer [simple-form]]
[behave-cms.styles :as $]
[behave-cms.components.common :refer [simple-form]]
[behave-cms.utils :as u]))
[behave-cms.utils :as u]
[re-frame.core :as rf]
[reagent.core :as r]))

;;; Helpers

Expand Down Expand Up @@ -93,7 +93,7 @@
(defn invite-user-page
"The root component for the /invite-user page."
[]
(let [name (r/atom nil)
(let [full-name (r/atom nil)
email (r/atom nil)
loading? (rf/subscribe [:state :loading?])
invite-success? (rf/subscribe [:state :invite-success?])
Expand All @@ -110,9 +110,9 @@
[simple-form
"Invite User"
"Submit"
[["Name" name "text" "name"]
[["Name" full-name "text" "name"]
["Email" email "email" "email"]]
#(rf/dispatch [:auth/invite-user @name @email])])]]]))
#(rf/dispatch [:auth/invite-user @full-name @email])])]]]))

(defn login-page
"The root component for the /login page.
Expand Down
69 changes: 39 additions & 30 deletions projects/behave_cms/src/cljs/behave_cms/client.cljs
Original file line number Diff line number Diff line change
@@ -1,34 +1,35 @@
(ns ^:figwheel-hooks behave-cms.client
(:require [behave-cms.applications.views :refer [list-applications-page]]
[behave-cms.authentication.views :refer [invite-user-page
login-page
reset-password-page
verify-email-page]]
[behave-cms.components.menu :refer [menu]]
[behave-cms.config :refer [update-config]]
[behave-cms.domains.views :refer [domains-page]]
(:require [behave-cms.applications.views :refer [list-applications-page]]
[behave-cms.authentication.views :refer [invite-user-page
login-page
reset-password-page
verify-email-page]]
[behave-cms.components.menu :refer [menu]]
[behave-cms.components.sidebar.views :refer [sidebar]]
[behave-cms.config :refer [update-config]]
[behave-cms.domains.views :refer [domains-page]]
[behave-cms.events]
[behave-cms.group-variables.views :refer [group-variable-page]]
[behave-cms.groups.views :refer [list-groups-page]]
[behave-cms.languages.views :refer [list-languages-page]]
[behave-cms.lists.views :refer [list-lists-page]]
[behave-cms.modules.views :refer [list-modules-page]]
[behave-cms.pages.dashboard :as dashboard]
[behave-cms.routes :refer [app-routes]]
[behave-cms.store :as s]
[behave-cms.subgroups.views :refer [list-subgroups-page]]
[behave-cms.submodules.views :refer [submodules-page]]
[behave-cms.group-variables.views :refer [group-variable-page]]
[behave-cms.groups.views :refer [list-groups-page]]
[behave-cms.languages.views :refer [list-languages-page]]
[behave-cms.lists.views :refer [list-lists-page]]
[behave-cms.modules.views :refer [list-modules-page]]
[behave-cms.pages.dashboard :as dashboard]
[behave-cms.routes :refer [app-routes]]
[behave-cms.store :as s]
[behave-cms.subgroups.views :refer [list-subgroups-page]]
[behave-cms.submodules.views :refer [submodules-page]]
[behave-cms.subs]
[behave-cms.subtool-variables.views :refer [subtool-variable-page]]
[behave-cms.subtools.views :refer [subtools-page]]
[behave-cms.tags.views :refer [tags-page]]
[behave-cms.tools.views :refer [tools-page]]
[behave-cms.units.views :refer [units-page]]
[behave-cms.variables.views :refer [list-variables-page]]
[bidi.bidi :refer [match-route]]
[re-frame.core :as rf]
[reagent.core :as r]
[reagent.dom :refer [render]]))
[behave-cms.subtool-variables.views :refer [subtool-variable-page]]
[behave-cms.subtools.views :refer [subtools-page]]
[behave-cms.tags.views :refer [tags-page]]
[behave-cms.tools.views :refer [tools-page]]
[behave-cms.units.views :refer [units-page]]
[behave-cms.variables.views :refer [list-variables-page]]
[bidi.bidi :refer [match-route]]
[re-frame.core :as rf]
[reagent.core :as r]
[reagent.dom :refer [render]]))

(declare render-page!)

Expand Down Expand Up @@ -83,7 +84,7 @@
[:h1 {:style {:text-align "center"}}
"404 - Page Not Found"]]])

(defn page-component [params]
(defn page-component [_params]
(fn [params]
(let [current-route (rf/subscribe [:route])
{:keys [handler route-params]} (match-route app-routes @current-route)
Expand All @@ -94,6 +95,13 @@
[:div "Loading..."]
[:div [component (merge params route-params)]]))))

(defn- app-sidebar []
(let [current-route (rf/subscribe [:route])
loaded? (rf/subscribe [:state :loaded?])
handler (:handler (match-route app-routes @current-route))]
(when (and @loaded? (not (system-page-handlers handler)))
[sidebar])))

(defn render-page! [path & [params]]
(let [dirty-state? (rf/subscribe [:dirty-state?])]
(rf/dispatch [:navigate path])
Expand All @@ -108,6 +116,7 @@
(rf/dispatch [:state/update :selected {}])
(rf/dispatch [:state/update :editors {}]))
(rf/dispatch [:navigate %]))]
[app-sidebar]
[page-component (or params @original-params)]]

:else
Expand Down Expand Up @@ -135,7 +144,7 @@
(render-root cur-params)
(rf/dispatch-sync [:initialize])))

(defn- ^:after-load mount-root!
(defn ^:after-load mount-root!
"A hook for figwheel to call the init function again."
[]
(init {}))
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
(ns behave-cms.components.conditionals.subs
(:require [re-frame.core :refer [reg-sub subscribe]]
(:require [behave-cms.store :refer [conn]]
[datascript.core :as d]
[behave-cms.store :refer [conn]]))
[re-frame.core :refer [reg-sub subscribe]]))

(reg-sub
:conditionals/all-conditionals
Expand All @@ -26,9 +26,9 @@
@@conn
eid
cond-attr)]
(concat (mapv (fn [[id name]]
(concat (mapv (fn [[id option-name]]
(-> @(subscribe [:entity id])
(assoc :variable/name name))) group-variable-conditionals)
(assoc :variable/name option-name))) group-variable-conditionals)
(mapv (fn [[id]]
(-> @(subscribe [:entity id])
(assoc :variable/name "Modules selected"))) module-conditionals)))))
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,9 @@
[behave.schema.core :refer [all-schemas]]
[clojure.set :as set]
[clojure.string :as str]
[map-utils.interface :refer [index-by]]
[re-frame.core :as rf]
[reagent.core :as r]
[map-utils.interface :refer [index-by]]
[string-utils.interface :refer [->kebab ->str]]))

;;; Constants
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
(ns behave-cms.components.messaging
(:require [herb.core :refer [<class]]
[reagent.core :as r]
(:require [behave-cms.styles :as $]
[clojure.core.async :refer [chan go >! <! timeout]]
[clojure.string :as str]
[behave-cms.styles :as $]))
[herb.core :refer [<class]]
[reagent.core :as r]))

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; State
Expand Down
Loading
Loading