mirror of
https://github.com/rabbibotton/clog.git
synced 2026-03-03 20:35:31 -08:00
evaluate curent form btns
This commit is contained in:
parent
f2c4f02dd5
commit
4fc57d42bb
3 changed files with 162 additions and 81 deletions
|
|
@ -1215,9 +1215,6 @@ of controls and double click to select control."
|
|||
(let ((result (capture-eval (format nil "~A" lf)
|
||||
:clog-obj (connection-body editor)
|
||||
:eval-in-package (format nil "~A" pk))))
|
||||
(print pk)
|
||||
(print lf)
|
||||
(print result)
|
||||
(clog-web-alert (connection-body editor) "Result"
|
||||
(format nil "~&result: ~A" result)
|
||||
:color-class "w3-green"
|
||||
|
|
@ -2205,6 +2202,7 @@ of controls and double click to select control."
|
|||
(btn-save (create-img tool-bar :alt-text "save" :url-src img-btn-save :class btn-class))
|
||||
(btn-load (create-img tool-bar :alt-text "load" :url-src img-btn-load :class btn-class))
|
||||
(spacer (create-span tool-bar :content " "))
|
||||
(btn-efrm (create-button tool-bar :content "Eval Form" :class (format nil "w3-tiny ~A" btn-class)))
|
||||
(btn-esel (create-button tool-bar :content "Eval Sel" :class (format nil "w3-tiny ~A" btn-class)))
|
||||
(btn-test (create-button tool-bar :content "Eval" :class (format nil "w3-tiny ~A" btn-class)))
|
||||
(content (center-panel box))
|
||||
|
|
@ -2227,6 +2225,7 @@ of controls and double click to select control."
|
|||
(setf (advisory-title btn-redo) "redo")
|
||||
(setf (advisory-title btn-save) "save")
|
||||
(setf (advisory-title btn-load) "load")
|
||||
(setf (advisory-title btn-efrm) "evaluate form")
|
||||
(setf (advisory-title btn-esel) "evaluate selection")
|
||||
(setf (advisory-title btn-test) "evaluate")
|
||||
(setf (height btn-copy) "12px")
|
||||
|
|
@ -2237,10 +2236,12 @@ of controls and double click to select control."
|
|||
(setf (height btn-redo) "12px")
|
||||
(setf (height btn-save) "12px")
|
||||
(setf (height btn-load) "12px")
|
||||
(setf (height btn-efrm) "12px")
|
||||
(setf (height btn-esel) "12px")
|
||||
(setf (height btn-test) "12px")
|
||||
(setf (width btn-esel) "40px")
|
||||
(setf (width btn-test) "40px")
|
||||
(setf (width btn-efrm) "43px")
|
||||
(setf (width btn-esel) "43px")
|
||||
(setf (width btn-test) "43px")
|
||||
(setf (positioning ace) :absolute)
|
||||
(setf (positioning status) :absolute)
|
||||
(set-geometry pac-line :units "" :top "20px" :left "0px"
|
||||
|
|
@ -2309,6 +2310,29 @@ of controls and double click to select control."
|
|||
(set-on-click btn-redo (lambda (obj)
|
||||
(declare (ignore obj))
|
||||
(clog-ace:execute-command ace "redo")))
|
||||
(set-on-click btn-efrm (lambda (obj)
|
||||
(let ((p (parse-integer
|
||||
(js-query obj
|
||||
(format nil "~A.session.doc.positionToIndex (~A.selection.getCursor(), 0);"
|
||||
(clog-ace::js-ace ace)
|
||||
(clog-ace::js-ace ace)))
|
||||
:junk-allowed t))
|
||||
(tv (text-value ace))
|
||||
(pk (text-value pac-line))
|
||||
(lf nil)
|
||||
(cp 0))
|
||||
(loop
|
||||
(setf (values lf cp) (read-from-string tv nil nil :start cp))
|
||||
(unless lf (return nil))
|
||||
(when (> cp p) (return lf)))
|
||||
(when lf
|
||||
(let ((result (capture-eval (format nil "~A" lf)
|
||||
:clog-obj (connection-body obj)
|
||||
:eval-in-package (format nil "~A" pk))))
|
||||
(clog-web-alert (connection-body obj) "Result"
|
||||
(format nil "~&result: ~A" result)
|
||||
:color-class "w3-green"
|
||||
:time-out 3))))))
|
||||
(set-on-click btn-esel (lambda (obj)
|
||||
(let ((val (clog-ace:selected-text ace)))
|
||||
(unless (equal val "")
|
||||
|
|
@ -2451,6 +2475,7 @@ of controls and double click to select control."
|
|||
(setf (text-value (file-name panel)) (fname panel))
|
||||
(setf (disabledp (eval-button panel)) nil)
|
||||
(setf (disabledp (eval-sel-button panel)) nil)
|
||||
(setf (disabledp (eval-form-button panel)) nil)
|
||||
(setf (state panel) nil)
|
||||
(let* ((type (type-of item))
|
||||
(name (format nil "~A" (definitions:designator item))))
|
||||
|
|
@ -2498,6 +2523,7 @@ of controls and double click to select control."
|
|||
(setf (text-value (file-name panel)) "")
|
||||
(setf (disabledp (eval-button panel)) t)
|
||||
(setf (disabledp (eval-sel-button panel)) t)
|
||||
(setf (disabledp (eval-form-button panel)) t)
|
||||
(setf (disabledp (save-button panel)) t)
|
||||
(setf (state panel) t)
|
||||
(setf (text-value (src-box panel)) "No file information")))))
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
<data id="I3868648401" data-in-package="clog-tools" data-custom-slots="(classes :accessor classes) (fname :accessor fname) (state :accessor state :initform t)" data-clog-next-id="23" data-clog-title="sys-browser"></data><select data-clog-type="dropdown" data-clog-name="type-box" style="box-sizing: content-box; position: absolute; left: 5px; top: 10px; width: 190px; height: 20px;" data-on-create="(add-select-options target '(ALIEN-TYPE
|
||||
<data id="I3868699706" data-in-package="clog-tools" data-custom-slots="(classes :accessor classes) (fname :accessor fname) (state :accessor state :initform t)" data-clog-next-id="24" data-clog-title="sys-browser"></data><select data-clog-type="dropdown" data-clog-name="type-box" style="box-sizing: content-box; position: absolute; left: 5px; top: 10px; width: 190px; height: 20px;" data-on-create="(add-select-options target '(ALIEN-TYPE
|
||||
CALLABLE
|
||||
CLASS
|
||||
COMPILER-MACRO
|
||||
|
|
@ -33,25 +33,36 @@
|
|||
(add-select-option target (package-name p)
|
||||
(package-name p)))
|
||||
(setf (value target) "All")
|
||||
(sys-browser-populate panel)" data-on-change="(sys-browser-populate panel)"></select><select data-clog-type="listbox" size="4" data-clog-name="class-box" style="box-sizing: content-box; position: absolute; left: 5px; top: 40px; right: 5px; height: 125px;" data-on-change="(sys-browser-select panel target)" class="w3-small"></select><textarea name="" cols="20" rows="2" data-clog-type="textarea" data-clog-name="doc-box" style="box-sizing: content-box; position: absolute; right: 5px; height: 50px; resize: none; min-width: 0px; top: 175px; left: 5px;" class=" w3-small"></textarea><input type="TEXT" value="clog-user" data-clog-type="input" data-clog-name="pac-box" style="box-sizing: content-box; position: absolute; left: 5px; top: 239px; right: 5px; height: 18px;" placeholder="Current Package" class="w3-small"><div class="ace_editor ace_hidpi ace-xcode ace-tm" data-clog-type="clog-ace" data-clog-composite-control="t" data-clog-ace-theme="ace/theme/xcode" data-clog-ace-mode="ace/mode/lisp" data-clog-ace-tab-size="2" data-clog-name="src-box" style="border: thin solid black; box-sizing: content-box; position: absolute; inset: 273px 5px 50px;" data-on-create="(setup-lisp-ace target (status-box panel))" data-on-input="(unless (state panel)
|
||||
(when (fname panel)
|
||||
(setf (state panel) t)
|
||||
(setf (disabledp (save-button panel)) nil)))"></div><div data-clog-type="div" data-clog-name="status-box" style="box-sizing: content-box; position: absolute; left: 5px; bottom: 5px; right: 5px;" class="w3-tiny w3-border">status</div><label for="CLOGB386795982312" data-clog-type="label" data-clog-for="class-only" data-clog-name="label-class-only" style="box-sizing: content-box; position: absolute; left: 535px; top: 9px;" class="">pkg only</label><input type="CHECKBOX" value="" data-clog-type="checkbox" data-clog-name="class-only" style="box-sizing: content-box; position: absolute; left: 516px; top: 15px;" checked="checked" data-on-change="(sys-browser-populate panel)"><input type="TEXT" value="" data-clog-type="input" data-clog-name="search-box" style="box-sizing: content-box; position: absolute; inset: 7px 5px 332.045px 605px; height: 22px;" data-on-key-up="(cond ((equal (text-value (package-box panel)) "All")
|
||||
(sys-browser-populate panel)" data-on-change="(sys-browser-populate panel)"></select><label for="CLOGB386795982312" data-clog-type="label" data-clog-for="class-only" data-clog-name="label-class-only" style="box-sizing: content-box; position: absolute; left: 535px; top: 9px;" class="">pkg only</label><input type="CHECKBOX" value="" data-clog-type="checkbox" data-clog-name="class-only" style="box-sizing: content-box; position: absolute; left: 516px; top: 15px;" checked="checked" data-on-change="(sys-browser-populate panel)"><input type="TEXT" value="" data-clog-type="input" data-clog-name="search-box" style="box-sizing: content-box; position: absolute; inset: 7px 5px 332.045px 605px; height: 22px;" data-on-key-up="(cond ((equal (text-value (package-box panel)) "All")
|
||||
(when (equalp "enter" (getf data :key))
|
||||
(sys-browser-populate panel)))
|
||||
(t
|
||||
(sys-browser-populate panel)))" placeholder="search" name=""><input type="BUTTON" value="Save" data-clog-type="fbutton" data-clog-name="save-button" style="box-sizing: content-box; position: absolute; width: 50px; height: 15px; right: 5px; bottom: 25px;" class="w3-small" disabled="disabled" data-on-click="(when (fname panel)
|
||||
(write-file (text-value (src-box panel)) (fname panel))
|
||||
(setf (state panel) nil)
|
||||
(setf (disabledp (save-button panel)) t))"><input type="BUTTON" value="Eval File" data-clog-type="fbutton" data-clog-name="eval-button" style="box-sizing: content-box; position: absolute; width: 50px; height: 15px; right: 75px; bottom: 25px;" class="w3-small" data-on-click="(let ((pac (text-value (pac-box panel)))
|
||||
(val (clog-ace:selected-text (src-box panel))))
|
||||
(unless (equal val "")
|
||||
(let ((result (capture-eval val :clog-obj panel
|
||||
:eval-in-package (text-value (package-box panel)))))
|
||||
(sys-browser-populate panel)))" placeholder="search" name=""><select data-clog-type="listbox" size="4" data-clog-name="class-box" style="box-sizing: content-box; position: absolute; left: 5px; top: 40px; right: 5px; height: 125px;" data-on-change="(sys-browser-select panel target)" class="w3-small"></select><textarea name="" cols="20" rows="2" data-clog-type="textarea" data-clog-name="doc-box" style="box-sizing: content-box; position: absolute; right: 5px; height: 50px; resize: none; min-width: 0px; top: 175px; left: 5px;" class=" w3-small"></textarea><input type="TEXT" value="clog-user" data-clog-type="input" data-clog-name="pac-box" style="box-sizing: content-box; position: absolute; left: 5px; top: 239px; right: 5px; height: 18px;" placeholder="Current Package" class="w3-small"><div class="ace_editor ace_hidpi ace-xcode ace-tm" data-clog-type="clog-ace" data-clog-composite-control="t" data-clog-ace-theme="ace/theme/xcode" data-clog-ace-mode="ace/mode/lisp" data-clog-ace-tab-size="2" data-clog-name="src-box" style="border: thin solid black; box-sizing: content-box; position: absolute; inset: 273px 5px 50px;" data-on-create="(setup-lisp-ace target (status-box panel))" data-on-input="(unless (state panel)
|
||||
(when (fname panel)
|
||||
(setf (state panel) t)
|
||||
(setf (disabledp (save-button panel)) nil)))"></div><div data-clog-type="div" data-clog-name="file-name" style="box-sizing: content-box; position: absolute; left: 5px; bottom: 27px; right: 290px;" class="w3-small"> </div><input type="BUTTON" value="Eval Form" data-clog-type="fbutton" data-clog-name="eval-form-button" style="box-sizing: content-box; position: absolute; width: 50px; height: 15px; right: 215px; bottom: 24px;" class="w3-tiny" disabled="disabled" data-on-click="(let ((p (parse-integer
|
||||
(js-query panel
|
||||
(format nil "~A.session.doc.positionToIndex (~A.selection.getCursor(), 0);"
|
||||
(clog-ace::js-ace (src-box panel))
|
||||
(clog-ace::js-ace (src-box panel))))
|
||||
:junk-allowed t))
|
||||
(tv (text-value (src-box panel)))
|
||||
(pk (text-value (pac-box panel)))
|
||||
(lf nil)
|
||||
(cp 0))
|
||||
(loop
|
||||
(setf (values lf cp) (read-from-string tv nil nil :start cp))
|
||||
(unless lf (return nil))
|
||||
(when (> cp p) (return lf)))
|
||||
(when lf
|
||||
(let ((result (capture-eval (format nil "~A" lf)
|
||||
:clog-obj (connection-body panel)
|
||||
:eval-in-package (format nil "~A" pk))))
|
||||
(clog-web-alert (connection-body panel) "Result"
|
||||
(format nil "~&result: ~A" result)
|
||||
:color-class "w3-green"
|
||||
:time-out 3))))" disabled="disabled"><input type="BUTTON" value="Eval Sel" data-clog-type="fbutton" data-clog-name="eval-sel-button" style="box-sizing: content-box; position: absolute; width: 50px; height: 15px; right: 145px; bottom: 25px;" class="w3-small" data-on-click="(let ((pac (text-value (pac-box panel)))
|
||||
:time-out 3))))
|
||||
"><input type="BUTTON" value="Eval Sel" data-clog-type="fbutton" data-clog-name="eval-sel-button" style="box-sizing: content-box; position: absolute; width: 50px; height: 15px; right: 145px; bottom: 25px;" class="w3-tiny" data-on-click="(let ((pac (text-value (pac-box panel)))
|
||||
(val (clog-ace:selected-text (src-box panel))))
|
||||
(unless (equal val "")
|
||||
(let ((result (capture-eval val :clog-obj panel
|
||||
|
|
@ -59,4 +70,15 @@
|
|||
(clog-web-alert (connection-body panel) "Result"
|
||||
(format nil "~&result: ~A" result)
|
||||
:color-class "w3-green"
|
||||
:time-out 3))))" placeholder="" disabled="disabled"><div data-clog-type="div" data-clog-name="file-name" style="box-sizing: content-box; position: absolute; left: 5px; bottom: 27px; right: 220px;" class="w3-small"> </div>
|
||||
:time-out 3))))" placeholder="" disabled="disabled"><input type="BUTTON" value="Eval File" data-clog-type="fbutton" data-clog-name="eval-button" style="box-sizing: content-box; position: absolute; width: 50px; height: 15px; right: 75px; bottom: 25px;" class="w3-tiny" data-on-click="(let ((pac (text-value (pac-box panel)))
|
||||
(val (clog-ace:selected-text (src-box panel))))
|
||||
(unless (equal val "")
|
||||
(let ((result (capture-eval val :clog-obj panel
|
||||
:eval-in-package (text-value (package-box panel)))))
|
||||
(clog-web-alert (connection-body panel) "Result"
|
||||
(format nil "~&result: ~A" result)
|
||||
:color-class "w3-green"
|
||||
:time-out 3))))" disabled="disabled"><input type="BUTTON" value="Save" data-clog-type="fbutton" data-clog-name="save-button" style="box-sizing: content-box; position: absolute; width: 50px; height: 15px; right: 5px; bottom: 25px;" class="w3-tiny" disabled="disabled" data-on-click="(when (fname panel)
|
||||
(write-file (text-value (src-box panel)) (fname panel))
|
||||
(setf (state panel) nil)
|
||||
(setf (disabledp (save-button panel)) t))"><div data-clog-type="div" data-clog-name="status-box" style="box-sizing: content-box; position: absolute; left: 5px; bottom: 5px; right: 5px;" class="w3-tiny w3-border">status</div>
|
||||
|
|
@ -1,65 +1,70 @@
|
|||
(in-package :clog-tools)
|
||||
(defclass sys-browser (clog:clog-panel)
|
||||
((file-name :reader file-name)
|
||||
((status-box :reader status-box) (save-button :reader save-button)
|
||||
(eval-button :reader eval-button)
|
||||
(eval-sel-button :reader eval-sel-button)
|
||||
(eval-button :reader eval-button) (save-button :reader save-button)
|
||||
(search-box :reader search-box) (class-only :reader class-only)
|
||||
(label-class-only :reader label-class-only)
|
||||
(status-box :reader status-box) (src-box :reader src-box)
|
||||
(eval-form-button :reader eval-form-button)
|
||||
(file-name :reader file-name) (src-box :reader src-box)
|
||||
(pac-box :reader pac-box) (doc-box :reader doc-box)
|
||||
(class-box :reader class-box) (package-box :reader package-box)
|
||||
(type-box :reader type-box) (classes :accessor classes)
|
||||
(fname :accessor fname) (state :accessor state :initform t)))
|
||||
(class-box :reader class-box) (search-box :reader search-box)
|
||||
(class-only :reader class-only)
|
||||
(label-class-only :reader label-class-only)
|
||||
(package-box :reader package-box) (type-box :reader type-box)
|
||||
(classes :accessor classes) (fname :accessor fname)
|
||||
(state :accessor state :initform t)))
|
||||
(defun create-sys-browser
|
||||
(clog-obj &key (hidden nil) (class nil) (html-id nil) (auto-place t))
|
||||
(let ((panel
|
||||
(change-class
|
||||
(clog:create-div clog-obj :content
|
||||
"<select style=\"box-sizing: content-box; position: absolute; left: 5px; top: 10px; width: 190px; height: 20px;\" id=\"CLOGB3868649891\" data-clog-name=\"type-box\"></select><select style=\"box-sizing: content-box; position: absolute; left: 205px; top: 10px; width: 300px; height: 20px; bottom: 335.028px;\" id=\"CLOGB3868649892\" data-clog-name=\"package-box\"></select><select size=\"4\" style=\"box-sizing: content-box; position: absolute; left: 5px; top: 40px; right: 5px; height: 125px;\" class=\"w3-small\" id=\"CLOGB3868649893\" data-clog-name=\"class-box\"></select><textarea name=\"\" cols=\"20\" rows=\"2\" style=\"box-sizing: content-box; position: absolute; right: 5px; height: 50px; resize: none; min-width: 0px; top: 175px; left: 5px;\" class=\" w3-small\" id=\"CLOGB3868649894\" data-clog-name=\"doc-box\"></textarea><input type=\"TEXT\" value=\"clog-user\" style=\"box-sizing: content-box; position: absolute; left: 5px; top: 239px; right: 5px; height: 18px;\" placeholder=\"Current Package\" class=\"w3-small\" id=\"CLOGB3868649895\" data-clog-name=\"pac-box\"><div class=\"ace_editor ace_hidpi ace-xcode ace-tm\" style=\"border: thin solid black; box-sizing: content-box; position: absolute; inset: 273px 5px 50px;\" id=\"CLOGB3868649896\" data-clog-name=\"src-box\"></div><div style=\"box-sizing: content-box; position: absolute; left: 5px; bottom: 5px; right: 5px;\" class=\"w3-tiny w3-border\" id=\"CLOGB3868649897\" data-clog-name=\"status-box\">status</div><label for=\"CLOGB386795982312\" style=\"box-sizing: content-box; position: absolute; left: 535px; top: 9px;\" class=\"\" id=\"CLOGB3868649898\" data-clog-name=\"label-class-only\">pkg only</label><input type=\"CHECKBOX\" value=\"\" style=\"box-sizing: content-box; position: absolute; left: 516px; top: 15px;\" checked=\"checked\" id=\"CLOGB3868649899\" data-clog-name=\"class-only\"><input type=\"TEXT\" value=\"\" style=\"box-sizing: content-box; position: absolute; inset: 7px 5px 332.045px 605px; height: 22px;\" placeholder=\"search\" name=\"\" id=\"CLOGB3868649900\" data-clog-name=\"search-box\"><input type=\"BUTTON\" value=\"Save\" style=\"box-sizing: content-box; position: absolute; width: 50px; height: 15px; right: 5px; bottom: 25px;\" class=\"w3-small\" disabled=\"disabled\" id=\"CLOGB3868649901\" data-clog-name=\"save-button\"><input type=\"BUTTON\" value=\"Eval File\" style=\"box-sizing: content-box; position: absolute; width: 50px; height: 15px; right: 75px; bottom: 25px;\" class=\"w3-small\" disabled=\"disabled\" id=\"CLOGB3868649902\" data-clog-name=\"eval-button\"><input type=\"BUTTON\" value=\"Eval Sel\" style=\"box-sizing: content-box; position: absolute; width: 50px; height: 15px; right: 145px; bottom: 25px;\" class=\"w3-small\" placeholder=\"\" disabled=\"disabled\" id=\"CLOGB3868649903\" data-clog-name=\"eval-sel-button\"><div style=\"box-sizing: content-box; position: absolute; left: 5px; bottom: 27px; right: 220px;\" class=\"w3-small\" id=\"CLOGB3868649904\" data-clog-name=\"file-name\"> </div>"
|
||||
"<select style=\"box-sizing: content-box; position: absolute; left: 5px; top: 10px; width: 190px; height: 20px;\" id=\"CLOGB3868698944\" data-clog-name=\"type-box\"></select><select style=\"box-sizing: content-box; position: absolute; left: 205px; top: 10px; width: 300px; height: 20px; bottom: 335.028px;\" id=\"CLOGB3868698945\" data-clog-name=\"package-box\"></select><label for=\"CLOGB386795982312\" style=\"box-sizing: content-box; position: absolute; left: 535px; top: 9px;\" class=\"\" id=\"CLOGB3868698946\" data-clog-name=\"label-class-only\">pkg only</label><input type=\"CHECKBOX\" value=\"\" style=\"box-sizing: content-box; position: absolute; left: 516px; top: 15px;\" checked=\"checked\" id=\"CLOGB3868698947\" data-clog-name=\"class-only\"><input type=\"TEXT\" value=\"\" style=\"box-sizing: content-box; position: absolute; inset: 7px 5px 332.045px 605px; height: 22px;\" placeholder=\"search\" name=\"\" id=\"CLOGB3868698948\" data-clog-name=\"search-box\"><select size=\"4\" style=\"box-sizing: content-box; position: absolute; left: 5px; top: 40px; right: 5px; height: 125px;\" class=\"w3-small\" id=\"CLOGB3868698949\" data-clog-name=\"class-box\"></select><textarea name=\"\" cols=\"20\" rows=\"2\" style=\"box-sizing: content-box; position: absolute; right: 5px; height: 50px; resize: none; min-width: 0px; top: 175px; left: 5px;\" class=\" w3-small\" id=\"CLOGB3868698950\" data-clog-name=\"doc-box\"></textarea><input type=\"TEXT\" value=\"clog-user\" style=\"box-sizing: content-box; position: absolute; left: 5px; top: 239px; right: 5px; height: 18px;\" placeholder=\"Current Package\" class=\"w3-small\" id=\"CLOGB3868698951\" data-clog-name=\"pac-box\"><div class=\"ace_editor ace_hidpi ace-xcode ace-tm\" style=\"border: thin solid black; box-sizing: content-box; position: absolute; inset: 273px 5px 50px;\" id=\"CLOGB3868698952\" data-clog-name=\"src-box\"></div><div style=\"box-sizing: content-box; position: absolute; left: 5px; bottom: 27px; right: 290px;\" class=\"w3-small\" id=\"CLOGB3868698953\" data-clog-name=\"file-name\"> </div><input type=\"BUTTON\" value=\"Eval Form\" style=\"box-sizing: content-box; position: absolute; width: 50px; height: 15px; right: 215px; bottom: 24px;\" class=\"w3-tiny\" disabled=\"disabled\" id=\"CLOGB3868698954\" data-clog-name=\"eval-form-button\"><input type=\"BUTTON\" value=\"Eval Sel\" style=\"box-sizing: content-box; position: absolute; width: 50px; height: 15px; right: 145px; bottom: 25px;\" class=\"w3-tiny\" placeholder=\"\" disabled=\"disabled\" id=\"CLOGB3868698955\" data-clog-name=\"eval-sel-button\"><input type=\"BUTTON\" value=\"Eval File\" style=\"box-sizing: content-box; position: absolute; width: 50px; height: 15px; right: 75px; bottom: 25px;\" class=\"w3-tiny\" disabled=\"disabled\" id=\"CLOGB3868698956\" data-clog-name=\"eval-button\"><input type=\"BUTTON\" value=\"Save\" style=\"box-sizing: content-box; position: absolute; width: 50px; height: 15px; right: 5px; bottom: 25px;\" class=\"w3-tiny\" disabled=\"disabled\" id=\"CLOGB3868698957\" data-clog-name=\"save-button\"><div style=\"box-sizing: content-box; position: absolute; left: 5px; bottom: 5px; right: 5px;\" class=\"w3-tiny w3-border\" id=\"CLOGB3868698958\" data-clog-name=\"status-box\">status</div>"
|
||||
:hidden hidden :class class :html-id html-id
|
||||
:auto-place auto-place)
|
||||
'sys-browser)))
|
||||
(setf (slot-value panel 'file-name)
|
||||
(attach-as-child clog-obj "CLOGB3868649904" :clog-type
|
||||
(setf (slot-value panel 'status-box)
|
||||
(attach-as-child clog-obj "CLOGB3868698958" :clog-type
|
||||
'clog:clog-div :new-id t))
|
||||
(setf (slot-value panel 'eval-sel-button)
|
||||
(attach-as-child clog-obj "CLOGB3868649903" :clog-type
|
||||
(setf (slot-value panel 'save-button)
|
||||
(attach-as-child clog-obj "CLOGB3868698957" :clog-type
|
||||
'clog:clog-form-element :new-id t))
|
||||
(setf (slot-value panel 'eval-button)
|
||||
(attach-as-child clog-obj "CLOGB3868649902" :clog-type
|
||||
(attach-as-child clog-obj "CLOGB3868698956" :clog-type
|
||||
'clog:clog-form-element :new-id t))
|
||||
(setf (slot-value panel 'save-button)
|
||||
(attach-as-child clog-obj "CLOGB3868649901" :clog-type
|
||||
(setf (slot-value panel 'eval-sel-button)
|
||||
(attach-as-child clog-obj "CLOGB3868698955" :clog-type
|
||||
'clog:clog-form-element :new-id t))
|
||||
(setf (slot-value panel 'search-box)
|
||||
(attach-as-child clog-obj "CLOGB3868649900" :clog-type
|
||||
(setf (slot-value panel 'eval-form-button)
|
||||
(attach-as-child clog-obj "CLOGB3868698954" :clog-type
|
||||
'clog:clog-form-element :new-id t))
|
||||
(setf (slot-value panel 'class-only)
|
||||
(attach-as-child clog-obj "CLOGB3868649899" :clog-type
|
||||
'clog:clog-form-element :new-id t))
|
||||
(setf (slot-value panel 'label-class-only)
|
||||
(attach-as-child clog-obj "CLOGB3868649898" :clog-type
|
||||
'clog:clog-label :new-id t))
|
||||
(setf (slot-value panel 'status-box)
|
||||
(attach-as-child clog-obj "CLOGB3868649897" :clog-type
|
||||
(setf (slot-value panel 'file-name)
|
||||
(attach-as-child clog-obj "CLOGB3868698953" :clog-type
|
||||
'clog:clog-div :new-id t))
|
||||
(setf (slot-value panel 'src-box)
|
||||
(attach-as-child clog-obj "CLOGB3868649896" :clog-type
|
||||
(attach-as-child clog-obj "CLOGB3868698952" :clog-type
|
||||
'clog-ace:clog-ace-element :new-id t))
|
||||
(setf (slot-value panel 'pac-box)
|
||||
(attach-as-child clog-obj "CLOGB3868649895" :clog-type
|
||||
(attach-as-child clog-obj "CLOGB3868698951" :clog-type
|
||||
'clog:clog-form-element :new-id t))
|
||||
(setf (slot-value panel 'doc-box)
|
||||
(attach-as-child clog-obj "CLOGB3868649894" :clog-type
|
||||
(attach-as-child clog-obj "CLOGB3868698950" :clog-type
|
||||
'clog:clog-text-area :new-id t))
|
||||
(setf (slot-value panel 'class-box)
|
||||
(attach-as-child clog-obj "CLOGB3868649893" :clog-type
|
||||
(attach-as-child clog-obj "CLOGB3868698949" :clog-type
|
||||
'clog:clog-select :new-id t))
|
||||
(setf (slot-value panel 'search-box)
|
||||
(attach-as-child clog-obj "CLOGB3868698948" :clog-type
|
||||
'clog:clog-form-element :new-id t))
|
||||
(setf (slot-value panel 'class-only)
|
||||
(attach-as-child clog-obj "CLOGB3868698947" :clog-type
|
||||
'clog:clog-form-element :new-id t))
|
||||
(setf (slot-value panel 'label-class-only)
|
||||
(attach-as-child clog-obj "CLOGB3868698946" :clog-type
|
||||
'clog:clog-label :new-id t))
|
||||
(setf (slot-value panel 'package-box)
|
||||
(attach-as-child clog-obj "CLOGB3868649892" :clog-type
|
||||
(attach-as-child clog-obj "CLOGB3868698945" :clog-type
|
||||
'clog:clog-select :new-id t))
|
||||
(setf (slot-value panel 'type-box)
|
||||
(attach-as-child clog-obj "CLOGB3868649891" :clog-type
|
||||
(attach-as-child clog-obj "CLOGB3868698944" :clog-type
|
||||
'clog:clog-select :new-id t))
|
||||
(let ((target (type-box panel)))
|
||||
(declare (ignorable target))
|
||||
|
|
@ -81,6 +86,11 @@
|
|||
(add-select-option target (package-name p) (package-name p)))
|
||||
(setf (value target) "All")
|
||||
(sys-browser-populate panel))
|
||||
(let ((target (label-class-only panel)))
|
||||
(declare (ignorable target))
|
||||
(setf (attribute target "for")
|
||||
(clog:js-query target
|
||||
"$('[data-clog-name=\\'class-only\\']').attr('id')")))
|
||||
(let ((target (src-box panel)))
|
||||
(declare (ignorable target))
|
||||
(clog-ace:attach-clog-ace target)
|
||||
|
|
@ -88,11 +98,6 @@
|
|||
(setf (clog-ace:mode target) "ace/mode/lisp")
|
||||
(setf (clog-ace:tab-size target) 2)
|
||||
(setup-lisp-ace target (status-box panel)))
|
||||
(let ((target (label-class-only panel)))
|
||||
(declare (ignorable target))
|
||||
(setf (attribute target "for")
|
||||
(clog:js-query target
|
||||
"$('[data-clog-name=\\'class-only\\']').attr('id')")))
|
||||
(clog:set-on-change (type-box panel)
|
||||
(lambda (target)
|
||||
(declare (ignorable target))
|
||||
|
|
@ -101,17 +106,6 @@
|
|||
(lambda (target)
|
||||
(declare (ignorable target))
|
||||
(sys-browser-populate panel)))
|
||||
(clog:set-on-change (class-box panel)
|
||||
(lambda (target)
|
||||
(declare (ignorable target))
|
||||
(sys-browser-select panel target)))
|
||||
(clog:set-on-input (src-box panel)
|
||||
(lambda (target)
|
||||
(declare (ignorable target))
|
||||
(unless (state panel)
|
||||
(when (fname panel)
|
||||
(setf (state panel) t)
|
||||
(setf (disabledp (save-button panel)) nil)))))
|
||||
(clog:set-on-change (class-only panel)
|
||||
(lambda (target)
|
||||
(declare (ignorable target))
|
||||
|
|
@ -124,24 +118,42 @@
|
|||
(when (equalp "enter" (getf data :key))
|
||||
(sys-browser-populate panel)))
|
||||
(t (sys-browser-populate panel)))))
|
||||
(clog:set-on-click (save-button panel)
|
||||
(clog:set-on-change (class-box panel)
|
||||
(lambda (target)
|
||||
(declare (ignorable target))
|
||||
(sys-browser-select panel target)))
|
||||
(clog:set-on-input (src-box panel)
|
||||
(lambda (target)
|
||||
(declare (ignorable target))
|
||||
(when (fname panel)
|
||||
(write-file (text-value (src-box panel))
|
||||
(fname panel))
|
||||
(setf (state panel) nil)
|
||||
(setf (disabledp (save-button panel)) t))))
|
||||
(clog:set-on-click (eval-button panel)
|
||||
(unless (state panel)
|
||||
(when (fname panel)
|
||||
(setf (state panel) t)
|
||||
(setf (disabledp (save-button panel)) nil)))))
|
||||
(clog:set-on-click (eval-form-button panel)
|
||||
(lambda (target)
|
||||
(declare (ignorable target))
|
||||
(let ((pac (text-value (pac-box panel)))
|
||||
(val (clog-ace:selected-text (src-box panel))))
|
||||
(unless (equal val "")
|
||||
(let ((p
|
||||
(parse-integer
|
||||
(js-query panel
|
||||
(format nil
|
||||
"~A.session.doc.positionToIndex (~A.selection.getCursor(), 0);"
|
||||
(clog-ace::js-ace (src-box panel))
|
||||
(clog-ace::js-ace (src-box panel))))
|
||||
:junk-allowed t))
|
||||
(tv (text-value (src-box panel)))
|
||||
(pk (text-value (pac-box panel)))
|
||||
(lf nil)
|
||||
(cp 0))
|
||||
(loop
|
||||
(setf (values lf cp)
|
||||
(read-from-string tv nil nil :start cp))
|
||||
(unless lf (return nil))
|
||||
(when (> cp p) (return lf)))
|
||||
(when lf
|
||||
(let ((result
|
||||
(capture-eval val :clog-obj panel
|
||||
:eval-in-package
|
||||
(text-value (package-box panel)))))
|
||||
(capture-eval (format nil "~A" lf)
|
||||
:clog-obj (connection-body panel)
|
||||
:eval-in-package (format nil "~A" pk))))
|
||||
(clog-web-alert (connection-body panel) "Result"
|
||||
(format nil "~&result: ~A" result) :color-class
|
||||
"w3-green" :time-out 3))))))
|
||||
|
|
@ -157,4 +169,25 @@
|
|||
(clog-web-alert (connection-body panel) "Result"
|
||||
(format nil "~&result: ~A" result) :color-class
|
||||
"w3-green" :time-out 3))))))
|
||||
(clog:set-on-click (eval-button panel)
|
||||
(lambda (target)
|
||||
(declare (ignorable target))
|
||||
(let ((pac (text-value (pac-box panel)))
|
||||
(val (clog-ace:selected-text (src-box panel))))
|
||||
(unless (equal val "")
|
||||
(let ((result
|
||||
(capture-eval val :clog-obj panel
|
||||
:eval-in-package
|
||||
(text-value (package-box panel)))))
|
||||
(clog-web-alert (connection-body panel) "Result"
|
||||
(format nil "~&result: ~A" result) :color-class
|
||||
"w3-green" :time-out 3))))))
|
||||
(clog:set-on-click (save-button panel)
|
||||
(lambda (target)
|
||||
(declare (ignorable target))
|
||||
(when (fname panel)
|
||||
(write-file (text-value (src-box panel))
|
||||
(fname panel))
|
||||
(setf (state panel) nil)
|
||||
(setf (disabledp (save-button panel)) t))))
|
||||
panel))
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue