mirror of
https://github.com/rabbibotton/clog.git
synced 2025-12-06 10:40:45 -08:00
singleton demo
This commit is contained in:
parent
f2ae15534c
commit
58d30a60bc
4 changed files with 35 additions and 5 deletions
|
|
@ -25,7 +25,7 @@
|
||||||
(let ((body (make-clog-body connection-id)))
|
(let ((body (make-clog-body connection-id)))
|
||||||
(funcall *on-new-window* body)))
|
(funcall *on-new-window* body)))
|
||||||
|
|
||||||
(defun initialize (on-new-window
|
(defun initialize (on-new-window-handler
|
||||||
&key
|
&key
|
||||||
(host "0.0.0.0")
|
(host "0.0.0.0")
|
||||||
(port 8080)
|
(port 8080)
|
||||||
|
|
@ -34,7 +34,7 @@
|
||||||
"Inititalze CLOG on a socket using HOST and PORT to serve BOOT-FILE as
|
"Inititalze CLOG on a socket using HOST and PORT to serve BOOT-FILE as
|
||||||
the default route to establish web-socket connections and static files
|
the default route to establish web-socket connections and static files
|
||||||
located at STATIC-ROOT."
|
located at STATIC-ROOT."
|
||||||
(setf *on-new-window* on-new-window)
|
(setf *on-new-window* on-new-window-handler)
|
||||||
|
|
||||||
(cc:initialize #'on-connect
|
(cc:initialize #'on-connect
|
||||||
:host host
|
:host host
|
||||||
|
|
@ -42,6 +42,13 @@ located at STATIC-ROOT."
|
||||||
:boot-file boot-file
|
:boot-file boot-file
|
||||||
:static-root static-root))
|
:static-root static-root))
|
||||||
|
|
||||||
|
;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
;; set-on-new-window ;;
|
||||||
|
;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
|
||||||
|
(defun set-on-new-window (on-new-window-handler)
|
||||||
|
(setf *on-new-window* on-new-window-handler))
|
||||||
|
|
||||||
;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;
|
||||||
;; shutdown ;;
|
;; shutdown ;;
|
||||||
;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;
|
||||||
|
|
|
||||||
|
|
@ -38,8 +38,9 @@ application."
|
||||||
|
|
||||||
(defsection @clog-system (:title "CLOG System")
|
(defsection @clog-system (:title "CLOG System")
|
||||||
"CLOG Startup and Shutdown"
|
"CLOG Startup and Shutdown"
|
||||||
(initialize function)
|
(initialize function)
|
||||||
(shutdown function))
|
(set-on-new-window function)
|
||||||
|
(shutdown function))
|
||||||
|
|
||||||
(defsection @clog-utilities (:title "CLOG Utilities")
|
(defsection @clog-utilities (:title "CLOG Utilities")
|
||||||
"CLOG utilities"
|
"CLOG utilities"
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
(defpackage #:clog-user
|
(defpackage #:clog-user
|
||||||
(:use #:cl #:clog)
|
(:use #:cl #:clog)
|
||||||
(:export hello))
|
(:export start-demo))
|
||||||
|
|
||||||
(in-package :clog-user)
|
(in-package :clog-user)
|
||||||
|
|
||||||
|
|
|
||||||
22
demos/02-singleton.lisp
Normal file
22
demos/02-singleton.lisp
Normal file
|
|
@ -0,0 +1,22 @@
|
||||||
|
(defpackage #:clog-user
|
||||||
|
(:use #:cl #:clog)
|
||||||
|
(:export start-demo))
|
||||||
|
|
||||||
|
(in-package :clog-user)
|
||||||
|
|
||||||
|
(defun start-demo ()
|
||||||
|
"How to allow only one CLOG app to be executed. Normally many browsers can
|
||||||
|
can be started with the same app."
|
||||||
|
|
||||||
|
(clog:initialize
|
||||||
|
(lambda (win)
|
||||||
|
(let ((click-target (clog:create-child win "<h1>Hello World!</H1>")))
|
||||||
|
(clog:set-on-click click-target
|
||||||
|
(lambda ()
|
||||||
|
(clog:create-child win "<p>You Clicked me!</p>")))
|
||||||
|
(clog:set-on-new-window
|
||||||
|
(lambda (win)
|
||||||
|
(clog:put-br (clog:html-document win)
|
||||||
|
"Only single connection premitted."))))))
|
||||||
|
|
||||||
|
(clog:open-browser))
|
||||||
Loading…
Add table
Add a link
Reference in a new issue