123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149 |
- <!DOCTYPE html>
- <html>
- <head>
- <meta charset="utf-8">
- <title>layui</title>
- <meta name="renderer" content="webkit">
- <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
- <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
- <link rel="stylesheet" href="__PUBLIC__/layui/css/layui.css" media="all">
- <link rel="stylesheet" href="__PUBLIC__/font-awesome/css/font-awesome.min.css" media="all"/>
- <link rel="stylesheet" href="__CSS__/admin.css" media="all">
- <link rel="stylesheet" href="__PUBLIC__/codemirror/lib/codemirror.css">
- <link rel="stylesheet" href="__PUBLIC__/codemirror/addon/fold/foldgutter.css" />
- <script src="__PUBLIC__/codemirror/lib/codemirror.js"></script>
- <script src="__PUBLIC__/codemirror/addon/fold/foldcode.js"></script>
- <script src="__PUBLIC__/codemirror/addon/fold/foldgutter.js"></script>
- <script src="__PUBLIC__/codemirror/addon/fold/brace-fold.js"></script>
- <script src="__PUBLIC__/codemirror/addon/fold/xml-fold.js"></script>
- <script src="__PUBLIC__/codemirror/addon/fold/indent-fold.js"></script>
- <script src="__PUBLIC__/codemirror/addon/fold/comment-fold.js"></script>
- <script src="__PUBLIC__/codemirror/mode/javascript/javascript.js"></script>
- <script src="__PUBLIC__/codemirror/mode/xml/xml.js"></script>
- <script src="__PUBLIC__/codemirror/mode/css/css.js"></script>
- <script src="__PUBLIC__/codemirror/mode/htmlmixed/htmlmixed.js"></script>
- <link rel="stylesheet" href="__PUBLIC__/codemirror/addon/display/fullscreen.css">
- <script src="__PUBLIC__/codemirror/addon/display/fullscreen.js"></script>
- <link rel="stylesheet" href="__PUBLIC__/codemirror/addon/dialog/dialog.css">
- <script src="__PUBLIC__/codemirror/addon/dialog/dialog.js"></script>
- <script src="__PUBLIC__/codemirror/addon/search/searchcursor.js"></script>
- <script src="__PUBLIC__/codemirror/addon/search/search.js"></script>
- </head>
- <style>
- .CodeMirror {border-top: 1px solid #eee; border-bottom: 1px solid #eee; height: 500px}
- </style>
- <body style="padding:10px;">
- <div class="tplay-body-div">
- {empty name="$filename"}
- <div class="layui-tab">
- <ul class="layui-tab-title">
- <li class="a_menu"><a href="{:url('index')}">模板管理</a></li>
- <li class="layui-this">新增模板</li>
- </ul>
- </div>
- {/empty}
- <div style="margin-top: 20px;">
- </div>
- <form class="layui-form" id="publish" method="post">
- {empty name="$filename"}
- <div class="layui-form-item">
- <!--<label class="layui-form-label">模板名称</label>-->
- <div class="layui-input-inline" style="max-width:300px;">
- <input name="name" lay-verify="required" autocomplete="off" placeholder="请输入模板名称" class="layui-input"
- type="text" value="{$filename|default=''}">
- </div>
- <div class="layui-form-mid layui-word-aux">可使用字母、数字和下划线_命名</div>
- </div>
- {/empty}
- <div class="layui-form-item layui-form-text">
- <div class="layui-input-inline" style="width:100%;">
- <textarea id="code-html" placeholder="请输入内容" class="layui-textarea" rows="30" name="content">{notempty name="$content"}{$content|htmlspecialchars}{/notempty}</textarea>
- </div>
- <div class="layui-form-mid layui-word-aux">快捷键:F11全屏,Ctrl+Q:折叠代码,Alt-F:开始搜索,输入Enter:查找下一个,Shift-Enter:查找上一个,Shift-Ctrl-R:替换全部</div>
- </div>
- {notempty name="$filename"}
- <input type="hidden" name="filename" value="{$filename}">
- <input type="hidden" name="filemtime" id="filemtime" value="{$filemtime}">
- {/notempty}
- <div class="layui-form-item">
- <div class="layui-input-block">
- <button class="layui-btn" lay-submit lay-filter="admin">立即提交</button>
- <button type="reset" class="layui-btn layui-btn-primary" onclick="location.reload()">刷新</button>
- </div>
- </div>
- </form>
- <script src="__PUBLIC__/layui/layui.js"></script>
- <script src="__PUBLIC__/jquery/jquery.min.js"></script>
- <script>
- layui.use(['layer', 'form'], function () {
- var layer = layui.layer,
- $ = layui.jquery,
- form = layui.form;
- $(window).on('load', function () {
- //
- var te_html = document.getElementById("code-html");
- var editor = CodeMirror.fromTextArea(te_html, {
- mode: "text/html",
- lineNumbers: true,
- lineWrapping: true,
- extraKeys: {
- "Ctrl-Q": function (cm) {
- cm.foldCode(cm.getCursor());
- },
- "F11": function(cm) {
- cm.setOption("fullScreen", !cm.getOption("fullScreen"));
- },
- "Esc": function(cm) {
- if (cm.getOption("fullScreen")) cm.setOption("fullScreen", false);
- },
- "Alt-F": "findPersistent"
- },
- foldGutter: true,
- gutters: ["CodeMirror-linenumbers", "CodeMirror-foldgutter"]
- });
- //
- form.on('submit(admin)', function (data) {
- te_html.value = editor.getValue();
- $.ajax({
- url: "{:url('publish')}",
- data: $('#publish').serialize(),
- type: 'post',
- async: false,
- success: function (res) {
- if (res.code == 1) {
- {notempty name="$filename"}
- layer.confirm(res.msg, {
- btn: ['关闭','继续编辑']
- }, function (index) {
- window.parent.tab.close('templet{$filename|default=""}');
- }, function (index, layero) {
- $('#filemtime').val(res.data)
- console.log(res.data);
- });
- {else/}
- layer.alert(res.msg, function (index) {
- location.href = res.url;
- })
- {/notempty}
- } else {
- layer.msg(res.msg);
- }
- }
- })
- return false;
- });
- });
- });
- </script>
- </div>
- </body>
- </html>
|