mirror of
https://github.com/rabbibotton/clog.git
synced 2025-12-06 02:30:42 -08:00
more tweaks on dialogs
This commit is contained in:
parent
62833822e7
commit
97e1e61004
3 changed files with 35 additions and 79 deletions
|
|
@ -1209,8 +1209,6 @@ interactions. Use window-end-modal to undo."))
|
||||||
;; Implementation - Dialog Boxes
|
;; Implementation - Dialog Boxes
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
|
||||||
;; to add - form by list
|
|
||||||
|
|
||||||
(defun alert-dialog (obj content &key (modal t)
|
(defun alert-dialog (obj content &key (modal t)
|
||||||
(title "About")
|
(title "About")
|
||||||
(left nil) (top nil)
|
(left nil) (top nil)
|
||||||
|
|
@ -1246,6 +1244,7 @@ interactions. Use window-end-modal to undo."))
|
||||||
(setf (visiblep win) t)
|
(setf (visiblep win) t)
|
||||||
(when modal
|
(when modal
|
||||||
(window-make-modal win))
|
(window-make-modal win))
|
||||||
|
(focus btn)
|
||||||
(set-on-click btn (lambda (obj)
|
(set-on-click btn (lambda (obj)
|
||||||
(declare (ignore obj))
|
(declare (ignore obj))
|
||||||
(window-end-modal win)
|
(window-end-modal win)
|
||||||
|
|
@ -1301,6 +1300,7 @@ Calls on-input with input box contents or nil if canceled."
|
||||||
(setf (visiblep win) t)
|
(setf (visiblep win) t)
|
||||||
(when modal
|
(when modal
|
||||||
(window-make-modal win))
|
(window-make-modal win))
|
||||||
|
(focus input)
|
||||||
(set-on-click cancel (lambda (obj)
|
(set-on-click cancel (lambda (obj)
|
||||||
(declare (ignore obj))
|
(declare (ignore obj))
|
||||||
(window-close win))
|
(window-close win))
|
||||||
|
|
@ -1363,6 +1363,7 @@ Calls on-input with t if confirmed or nil if canceled."
|
||||||
(setf (visiblep win) t)
|
(setf (visiblep win) t)
|
||||||
(when modal
|
(when modal
|
||||||
(window-make-modal win))
|
(window-make-modal win))
|
||||||
|
(focus ok)
|
||||||
(set-on-click cancel (lambda (obj)
|
(set-on-click cancel (lambda (obj)
|
||||||
(declare (ignore obj))
|
(declare (ignore obj))
|
||||||
(window-close win))
|
(window-close win))
|
||||||
|
|
@ -1417,7 +1418,7 @@ with a-list of field name to value if confirmed or nil if canceled."
|
||||||
:title title
|
:title title
|
||||||
:content (format nil
|
:content (format nil
|
||||||
"<div class='w3-panel'>
|
"<div class='w3-panel'>
|
||||||
<center>~A</center><br>
|
~A
|
||||||
<form class='w3-container' onSubmit='return false;'>
|
<form class='w3-container' onSubmit='return false;'>
|
||||||
~A
|
~A
|
||||||
<br><center>
|
<br><center>
|
||||||
|
|
@ -1425,7 +1426,9 @@ with a-list of field name to value if confirmed or nil if canceled."
|
||||||
<button class='w3-button w3-black' style='width:7em' id='~A-cancel'>~A</button>
|
<button class='w3-button w3-black' style='width:7em' id='~A-cancel'>~A</button>
|
||||||
</center>
|
</center>
|
||||||
</form>
|
</form>
|
||||||
</div>" content
|
</div>" (if content
|
||||||
|
(format nil "<center>~A</center><br>" content)
|
||||||
|
"")
|
||||||
fls
|
fls
|
||||||
html-id ok-text ; ok
|
html-id ok-text ; ok
|
||||||
html-id cancel-text) ; cancel
|
html-id cancel-text) ; cancel
|
||||||
|
|
@ -1447,6 +1450,9 @@ with a-list of field name to value if confirmed or nil if canceled."
|
||||||
(setf (visiblep win) t)
|
(setf (visiblep win) t)
|
||||||
(when modal
|
(when modal
|
||||||
(window-make-modal win))
|
(window-make-modal win))
|
||||||
|
(js-execute obj (format nil "$('[name=~A-~A]').focus()"
|
||||||
|
html-id
|
||||||
|
(cadar fields)))
|
||||||
(set-on-click cancel (lambda (obj)
|
(set-on-click cancel (lambda (obj)
|
||||||
(declare (ignore obj))
|
(declare (ignore obj))
|
||||||
(window-close win))
|
(window-close win))
|
||||||
|
|
|
||||||
|
|
@ -14,89 +14,38 @@
|
||||||
:documentation "Access to database connection")))
|
:documentation "Access to database connection")))
|
||||||
|
|
||||||
(defun on-db-open (obj)
|
(defun on-db-open (obj)
|
||||||
(let* ((app (connection-data-item obj "app-data"))
|
(let* ((app (connection-data-item obj "app-data")))
|
||||||
(win (create-gui-window obj
|
(form-dialog obj nil
|
||||||
:title "Open Database"
|
'(("Database Type" :db-type (("SQLite3" :sqlite3)))
|
||||||
:content
|
("Database Name" :db-name))
|
||||||
"<form id=odb-form class='w3-container' onSubmit='return false;'>
|
(lambda (results)
|
||||||
<label class='w3-text-black'><b>Database Type</b></label>
|
(when results
|
||||||
<select class='w3-select w3-border' name='db-type'>
|
(format t "open db : ~A" (cadr (assoc :db-name results)))
|
||||||
<option value='sqlite3'>SQLite3</option>
|
(setf (db-connection app)
|
||||||
<option disabled value='mysql'>MySQL</option>
|
(sqlite:connect (cadr (assoc :db-name results))))
|
||||||
<option disabled value='postgres'>Postgres</option>
|
(setf (title (html-document (body app)))
|
||||||
</select>
|
(format nil "CLOG DB Admin - ~A" (cadr (assoc :db-name results))))))
|
||||||
|
:title "Open Database" :height 250)))
|
||||||
<label class='w3-text-black'><b>Database Name</b></label>
|
|
||||||
<input class='w3-input w3-border' type='text' name='db-name'>
|
|
||||||
|
|
||||||
<label class='w3-text-black'><b>User Name</b></label>
|
|
||||||
<input class='w3-input w3-border' type='text' name='db-user' disabled>
|
|
||||||
|
|
||||||
<label class='w3-text-black'><b>Password</b></label>
|
|
||||||
<input class='w3-input w3-border' type='password' name='db-pass' disabled>
|
|
||||||
|
|
||||||
<label class='w3-text-black'><b>Host</b></label>
|
|
||||||
<input class='w3-input w3-border' type='password' name='db-host' disabled>
|
|
||||||
|
|
||||||
<label class='w3-text-black'><b>Port</b></label>
|
|
||||||
<input class='w3-input w3-border' type='password' name='db-port' disabled>
|
|
||||||
|
|
||||||
<button class='w3-btn w3-black' id=odb-open >Open</button>
|
|
||||||
<button class='w3-btn w3-black' id=odb-cancel>Cancel</button>
|
|
||||||
|
|
||||||
</form>"
|
|
||||||
:width 400
|
|
||||||
:height 450
|
|
||||||
:hidden t)))
|
|
||||||
(window-center win)
|
|
||||||
(setf (visiblep win) t)
|
|
||||||
(set-on-click (attach-as-child obj "odb-open")
|
|
||||||
(lambda (obj)
|
|
||||||
(format t "open db : ~A" (name-value obj "db-name"))
|
|
||||||
(setf (db-connection app)
|
|
||||||
(sqlite:connect (name-value obj "db-name")))
|
|
||||||
(setf (title (html-document (body app)))
|
|
||||||
(format nil "CLOG DB Admin - ~A" (name-value obj "db-name")))
|
|
||||||
(window-close win))
|
|
||||||
:one-time t)
|
|
||||||
|
|
||||||
(set-on-click (attach-as-child obj "odb-cancel") (lambda (obj)
|
|
||||||
(window-close win)))))
|
|
||||||
(defun on-db-close (obj)
|
(defun on-db-close (obj)
|
||||||
(let ((app (connection-data-item obj "app-data")))
|
(let ((app (connection-data-item obj "app-data")))
|
||||||
(when (db-connection app)
|
(when (db-connection app)
|
||||||
(sqlite:disconnect (db-connection app)))
|
(sqlite:disconnect (db-connection app))
|
||||||
|
(setf (db-connection app) nil))
|
||||||
(print "db disconnected")
|
(print "db disconnected")
|
||||||
(setf (title (html-document (body app))) "CLOG DB Admin")))
|
(setf (title (html-document (body app))) "CLOG DB Admin")))
|
||||||
|
|
||||||
(defun on-query-results (obj)
|
(defun on-query-results (obj)
|
||||||
(let ((app (connection-data-item obj "app-data"))
|
(let ((app (connection-data-item obj "app-data")))
|
||||||
(win (create-gui-window obj
|
(form-dialog obj nil
|
||||||
:title "Enter query:"
|
'(("Query" :db-query))
|
||||||
:content
|
(lambda (results)
|
||||||
"<form id=odb-form class='w3-container' onSubmit='return false;'>
|
(when results
|
||||||
|
(format t "open query : ~A~%~%" (cadr (assoc :db-query results)))
|
||||||
<label class='w3-text-black'><b>Query</b></label>
|
|
||||||
<input class='w3-input w3-border' type='text' name='db-query'>
|
|
||||||
<button class='w3-btn w3-black' id=odb-open >Open</button>
|
|
||||||
<button class='w3-btn w3-black' id=odb-cancel>Cancel</button>
|
|
||||||
|
|
||||||
</form>"
|
|
||||||
:width 400
|
|
||||||
:height 200
|
|
||||||
:hidden t)))
|
|
||||||
(window-center win)
|
|
||||||
(setf (visiblep win) t)
|
|
||||||
(set-on-click (attach-as-child obj "odb-open")
|
|
||||||
(lambda (obj)
|
|
||||||
(format t "open query : ~A~%~%" (name-value obj "db-query"))
|
|
||||||
(print (sqlite:execute-to-list
|
(print (sqlite:execute-to-list
|
||||||
(db-connection app)
|
(db-connection app)
|
||||||
(name-value obj "db-query")))
|
(cadr (assoc :db-query results))))))
|
||||||
(window-close win)))
|
:title "Run Database Query" :height 200)))
|
||||||
|
|
||||||
(set-on-click (attach-as-child obj "odb-cancel") (lambda (obj)
|
|
||||||
(window-close win)))))
|
|
||||||
|
|
||||||
(defun on-help-about (obj)
|
(defun on-help-about (obj)
|
||||||
(let ((about (create-gui-window obj
|
(let ((about (create-gui-window obj
|
||||||
|
|
|
||||||
|
|
@ -83,7 +83,8 @@
|
||||||
("State" "st")
|
("State" "st")
|
||||||
("Zip" "zip"))
|
("Zip" "zip"))
|
||||||
(lambda (results)
|
(lambda (results)
|
||||||
(alert-dialog obj results))))
|
(alert-dialog obj results))
|
||||||
|
:height 550))
|
||||||
|
|
||||||
(defun on-help-about (obj)
|
(defun on-help-about (obj)
|
||||||
(let* ((about (create-gui-window obj
|
(let* ((about (create-gui-window obj
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue