adding quicklisp and sbcl to add parenscript possibly

These are all just testing pieces but possible changes to add
This commit is contained in:
Chris Cochrun 2023-05-25 09:26:06 -05:00
parent cb9f3ca324
commit 4242f0d05a
9 changed files with 1888 additions and 69 deletions

View file

@ -1,19 +1,34 @@
(ns forms
(:require [clj-http.client :as client]))
(def log (.-log js/console))
(ns forms)
(def log "logs everything to the javascript console" (.-log js/console))
(defn startup []
(def form (js/document.getElementById "form"))
(log form)
(def data (js/FormData. form))
(log data)
)
(defn calc-age [dob]
(let [diff-ms (- js/Date.now dob.getTime)
(log "HELLO CHICKENS!")
(log dob)
(log "HELLO CHICKENS!")
(let [diff-ms (- js/Date. dob.getTime)
age-dt (js/Date. diff-ms)]
(log diff-ms)
(log age-dt)
(js/Math.abs (- age-dt.getUTCFullyYear 1970))))
(defn submit-form [e]
;; (e.preventDefault)
(defn ^:export submitform [e]
(let [form (js/document.getElementById "form")
data (js/FormData. form)
birthdate (js/Date. (get data "birthdate"))
age (calc-age birthdate)]
(data.append "age" age)
(set! data.age age)
(log "HERE IS BIRTHDATE")
(log "birthdate" (get data "birtdate"))
(log (get data "tetanus-shot"))
(if (= (get data "tetanus-shot") "")
(set! data.-tetanus-shot "1111-11-11"))
(log data)))
(js/document.addEventListener "DOMContentLoaded" submit-form)
(js/document.addEventListener "DOMContentLoaded" startup)

18
src/health-form.lisp Normal file
View file

@ -0,0 +1,18 @@
;; (load "~/quicklisp/setup.lisp")
;; (ql:quickload :parenscript)
(defpackage tfcconnection
(:use #:ps))
(in-package :tfcconnection)
(defun submit-form ()
((@ console log) "hello world")
(let ((form ((@ document get-element-by-id) "form"))
(data (new (*form-data form))))
((@ console log) form)))
(defun validate (data)
((@ console log) "validating")
(if (= ((@ data get) "tetanus-shot") "")
((@ console warn) "NO DATE FOR TETANUS SHOT")
((@ data set) "tetanus-shot" "1111-11-11")))