diff --git a/tools/clog-builder.lisp b/tools/clog-builder.lisp index f19db67..24499b7 100644 --- a/tools/clog-builder.lisp +++ b/tools/clog-builder.lisp @@ -339,34 +339,38 @@ (dolist (placer placer-list) (setf (hiddenp placer) t)))))) (set-on-click btn-save (lambda (obj) - (dolist (placer placer-list) - (setf (hiddenp placer) t)) - (let* ((cw (on-show-layout-code obj)) - (result (format nil - *builder-template1* - panel-name - (escape-string - (ppcre:regex-replace-all "\\x22" - (inner-html content) - "\\\\\\\"")) - panel-name - (mapcar (lambda (e) - (let ((vname (attribute e "data-lisp-name"))) - (when vname - (format nil *builder-template2* - vname - (html-id e) - (format nil "CLOG:~A" (type-of e)))))) - control-list) - (html-id cw) - (html-id cw)))) - (js-execute obj (format nil - "editor_~A.setValue('~A');editor_~A.moveCursorTo(0,0);" - (html-id cw) - (escape-string result) - (html-id cw)))) - (dolist (placer placer-list) - (setf (hiddenp placer) nil)))) + (let ((cache (inner-html content))) + (dolist (placer placer-list) + (clog::jquery-execute placer "draggable('destroy').resizable('destroy').remove()") + (setf (hiddenp placer) t)) + (let* ((cw (on-show-layout-code obj)) + (result (format nil + *builder-template1* + panel-name + (escape-string + (ppcre:regex-replace-all "\\x22" + (inner-html content) + "\\\\\\\"")) + panel-name + (mapcar (lambda (e) + (let ((vname (attribute e "data-lisp-name"))) + (when vname + (format nil *builder-template2* + vname + (html-id e) + (format nil "CLOG:~A" (type-of e)))))) + control-list) + (html-id cw) + (html-id cw)))) + (js-execute obj (format nil + "editor_~A.setValue('~A');editor_~A.moveCursorTo(0,0);" + (html-id cw) + (escape-string result) + (html-id cw)))) + (setf (inner-html content) cache) + (dolist (placer placer-list) + (setf (hiddenp placer) nil) + (clog::jquery-execute placer "draggable().resizable()"))))) (set-on-click btn-prop (lambda (obj) (input-dialog obj