56 lines
1.5 KiB
Scheme
56 lines
1.5 KiB
Scheme
;; Oblika parametra
|
|
(define-record-type parameter
|
|
(fields napis tip sprememba))
|
|
|
|
(define (poslji-vsem msg . args)
|
|
(if (> (length args) 0)
|
|
((js-eval "sendAll") msg args)
|
|
((js-eval "sendAll") msg)))
|
|
|
|
(console-log "poslji vsem" msg args)
|
|
(console-log ((js-eval "sendAll") msg args)))
|
|
;(js-eval "window" "sendAll" msg args))
|
|
|
|
;;;;;;;;;;;;;;;;;;;;;;;
|
|
;; Seznam parametrov ;;
|
|
;;;;;;;;;;;;;;;;;;;;;;;
|
|
(define parametri
|
|
(list
|
|
;; Kalibracija
|
|
(make-parameter
|
|
"kalibriraj"
|
|
"button"
|
|
(lambda (ev) (poslji-vsem "/ww/calibrate")))))
|
|
|
|
|
|
(define p-kontejner ($ "#ctl"))
|
|
|
|
(define (ustvari-element p)
|
|
(let ((vrstica (element-new '(tr)))
|
|
(napis (element-new `(td ,(parameter-napis p)))))
|
|
(case (parameter-tip p)
|
|
(("button")
|
|
(let ((gumb (element-new '(button " "))))
|
|
(element-append-child! vrstica napis)
|
|
(add-handler! gumb "click" (parameter-sprememba p))
|
|
(console-log gumb)
|
|
(element-append-child!
|
|
vrstica
|
|
(element-append-child! (element-new '(td)) gumb))
|
|
vrstica))
|
|
(else #f))))
|
|
|
|
(define (dodaj-parametre parametri)
|
|
(if (> (length parametri) 0)
|
|
(let* ((p (car parametri))
|
|
(vrstica (ustvari-element p)))
|
|
(element-append-child! p-kontejner vrstica)
|
|
(console-log "dodal" vrstica))))
|
|
|
|
;(add-handler!
|
|
; (js-eval "window") "DOMContentLoaded"
|
|
; (lambda (ev)
|
|
; (console-log "dodajam parametre")
|
|
; (dodaj-parametre parametri)))
|
|
(dodaj-parametre parametri)
|