Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Skyeye云
Skyeye
提交
3f3043e0
S
Skyeye
项目概览
Skyeye云
/
Skyeye
通知
1412
Star
161
Fork
130
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
S
Skyeye
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
提交
3f3043e0
编写于
10月 30, 2018
作者:
Skyeye云
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
引入高亮代码
上级
f1cd8bec
变更
16
展开全部
隐藏空白更改
内联
并排
Showing
16 changed file
with
4165 addition
and
6 deletion
+4165
-6
skyeye-web/src/main/resources/dbmapper/CodeModelMapper.xml
skyeye-web/src/main/resources/dbmapper/CodeModelMapper.xml
+5
-3
skyeye-web/src/main/resources/mapping/reqmapping.xml
skyeye-web/src/main/resources/mapping/reqmapping.xml
+1
-0
skyeye-web/src/main/webapp/assets/lib/layui/lay/modules/codemirror/clike.js
...n/webapp/assets/lib/layui/lay/modules/codemirror/clike.js
+879
-0
skyeye-web/src/main/webapp/assets/lib/layui/lay/modules/codemirror/codemirror.js
...app/assets/lib/layui/lay/modules/codemirror/codemirror.js
+6
-1
skyeye-web/src/main/webapp/assets/lib/layui/lay/modules/codemirror/css.js
...ain/webapp/assets/lib/layui/lay/modules/codemirror/css.js
+832
-0
skyeye-web/src/main/webapp/assets/lib/layui/lay/modules/codemirror/htmlmixed.js
...bapp/assets/lib/layui/lay/modules/codemirror/htmlmixed.js
+152
-0
skyeye-web/src/main/webapp/assets/lib/layui/lay/modules/codemirror/javascript.js
...app/assets/lib/layui/lay/modules/codemirror/javascript.js
+899
-0
skyeye-web/src/main/webapp/assets/lib/layui/lay/modules/codemirror/nginx.js
...n/webapp/assets/lib/layui/lay/modules/codemirror/nginx.js
+178
-0
skyeye-web/src/main/webapp/assets/lib/layui/lay/modules/codemirror/solr.js
...in/webapp/assets/lib/layui/lay/modules/codemirror/solr.js
+104
-0
skyeye-web/src/main/webapp/assets/lib/layui/lay/modules/codemirror/sql.js
...ain/webapp/assets/lib/layui/lay/modules/codemirror/sql.js
+499
-0
skyeye-web/src/main/webapp/assets/lib/layui/lay/modules/codemirror/vue.js
...ain/webapp/assets/lib/layui/lay/modules/codemirror/vue.js
+77
-0
skyeye-web/src/main/webapp/assets/lib/layui/lay/modules/codemirror/xml.js
...ain/webapp/assets/lib/layui/lay/modules/codemirror/xml.js
+402
-0
skyeye-web/src/main/webapp/assets/lib/layui/layui.js
skyeye-web/src/main/webapp/assets/lib/layui/layui.js
+10
-0
skyeye-web/src/main/webapp/assets/lib/winui/css/winui.css
skyeye-web/src/main/webapp/assets/lib/winui/css/winui.css
+57
-0
skyeye-web/src/main/webapp/js/codemodel/codemodeladd.js
skyeye-web/src/main/webapp/js/codemodel/codemodeladd.js
+19
-1
skyeye-web/src/main/webapp/tpl/codemodel/codemodeladd.html
skyeye-web/src/main/webapp/tpl/codemodel/codemodeladd.html
+45
-1
未找到文件。
skyeye-web/src/main/resources/dbmapper/CodeModelMapper.xml
浏览文件 @
3f3043e0
...
...
@@ -8,6 +8,7 @@
a.model_name modelName,
a.model_content modelContent,
a.model_text modelText,
a.model_type modelType,
CONVERT(a.create_time, char) createTime
FROM
code_model a
...
...
@@ -27,9 +28,9 @@
<insert
id=
"insertCodeModelMation"
parameterType=
"java.util.Map"
>
INSERT into code_model
(id, group_id, model_name, model_content, model_text, create_id, create_time)
(id, group_id, model_name, model_content, model_text,
model_type,
create_id, create_time)
VALUES
(#{id}, #{groupId}, #{modelName}, #{modelContent}, #{modelText}, #{createId}, #{createTime})
(#{id}, #{groupId}, #{modelName}, #{modelContent}, #{modelText}, #{
modelType}, #{
createId}, #{createTime})
</insert>
<delete
id=
"deleteCodeModelById"
parameterType=
"java.util.Map"
>
...
...
@@ -45,7 +46,8 @@
a.id,
a.model_name modelName,
a.model_content modelContent,
a.model_text modelText
a.model_text modelText,
a.model_type modelType
FROM
code_model a
WHERE a.id = #{id}
...
...
skyeye-web/src/main/resources/mapping/reqmapping.xml
浏览文件 @
3f3043e0
...
...
@@ -312,6 +312,7 @@
<property
id=
"modelName"
name=
"modelName"
ref=
"required"
var=
"模板别名"
/>
<property
id=
"modelContent"
name=
"modelContent"
ref=
"required"
var=
"模板内容"
/>
<property
id=
"modelText"
name=
"modelText"
ref=
"required"
var=
"模板纯文本"
/>
<property
id=
"modelType"
name=
"modelType"
ref=
"required"
var=
"模板类型"
/>
<property
id=
"groupId"
name=
"groupId"
ref=
"required"
var=
"分组id"
/>
</url>
<url
id=
"codemodel008"
path=
"/post/CodeModelController/deleteCodeModelById"
val=
"删除模板信息"
allUse=
"1"
>
...
...
skyeye-web/src/main/webapp/assets/lib/layui/lay/modules/codemirror/clike.js
0 → 100644
浏览文件 @
3f3043e0
此差异已折叠。
点击以展开。
skyeye-web/src/main/webapp/assets/lib/layui/lay/modules/codemirror.js
→
skyeye-web/src/main/webapp/assets/lib/layui/lay/modules/codemirror
/codemirror
.js
浏览文件 @
3f3043e0
...
...
@@ -6,7 +6,9 @@
//
// You can find some technical background for some of the code below
// at http://marijnhaverbeke.nl/blog/#cm-internals .
layui
.
define
([
"
jquery
"
],
function
(
exports
)
{
var
jQuery
=
layui
.
jquery
;
(
function
(
$
)
{
(
function
(
global
,
factory
)
{
typeof
exports
===
'
object
'
&&
typeof
module
!==
'
undefined
'
?
module
.
exports
=
factory
()
:
typeof
define
===
'
function
'
&&
define
.
amd
?
define
(
factory
)
:
...
...
@@ -9696,3 +9698,6 @@
return
CodeMirror
;
})));
})(
jQuery
);
exports
(
'
codemirror
'
,
null
);
});
skyeye-web/src/main/webapp/assets/lib/layui/lay/modules/codemirror/css.js
0 → 100644
浏览文件 @
3f3043e0
此差异已折叠。
点击以展开。
skyeye-web/src/main/webapp/assets/lib/layui/lay/modules/codemirror/htmlmixed.js
0 → 100644
浏览文件 @
3f3043e0
// CodeMirror, copyright (c) by Marijn Haverbeke and others
// Distributed under an MIT license: https://codemirror.net/LICENSE
(
function
(
mod
)
{
if
(
typeof
exports
==
"
object
"
&&
typeof
module
==
"
object
"
)
// CommonJS
mod
(
require
(
"
../../lib/codemirror
"
),
require
(
"
../xml/xml
"
),
require
(
"
../javascript/javascript
"
),
require
(
"
../css/css
"
));
else
if
(
typeof
define
==
"
function
"
&&
define
.
amd
)
// AMD
define
([
"
../../lib/codemirror
"
,
"
../xml/xml
"
,
"
../javascript/javascript
"
,
"
../css/css
"
],
mod
);
else
// Plain browser env
mod
(
CodeMirror
);
})(
function
(
CodeMirror
)
{
"
use strict
"
;
var
defaultTags
=
{
script
:
[
[
"
lang
"
,
/
(
javascript|babel
)
/i
,
"
javascript
"
],
[
"
type
"
,
/^
(?:
text|application
)\/(?:
x-
)?(?:
java|ecma
)
script$|^module$|^$/i
,
"
javascript
"
],
[
"
type
"
,
/./
,
"
text/plain
"
],
[
null
,
null
,
"
javascript
"
]
],
style
:
[
[
"
lang
"
,
/^css$/i
,
"
css
"
],
[
"
type
"
,
/^
(
text
\/)?(
x-
)?(
stylesheet|css
)
$/i
,
"
css
"
],
[
"
type
"
,
/./
,
"
text/plain
"
],
[
null
,
null
,
"
css
"
]
]
};
function
maybeBackup
(
stream
,
pat
,
style
)
{
var
cur
=
stream
.
current
(),
close
=
cur
.
search
(
pat
);
if
(
close
>
-
1
)
{
stream
.
backUp
(
cur
.
length
-
close
);
}
else
if
(
cur
.
match
(
/<
\/?
$/
))
{
stream
.
backUp
(
cur
.
length
);
if
(
!
stream
.
match
(
pat
,
false
))
stream
.
match
(
cur
);
}
return
style
;
}
var
attrRegexpCache
=
{};
function
getAttrRegexp
(
attr
)
{
var
regexp
=
attrRegexpCache
[
attr
];
if
(
regexp
)
return
regexp
;
return
attrRegexpCache
[
attr
]
=
new
RegExp
(
"
\\
s+
"
+
attr
+
"
\\
s*=
\\
s*('|
\"
)?([^'
\"
]+)('|
\"
)?
\\
s*
"
);
}
function
getAttrValue
(
text
,
attr
)
{
var
match
=
text
.
match
(
getAttrRegexp
(
attr
))
return
match
?
/^
\s
*
(
.*
?)\s
*$/
.
exec
(
match
[
2
])[
1
]
:
""
}
function
getTagRegexp
(
tagName
,
anchored
)
{
return
new
RegExp
((
anchored
?
"
^
"
:
""
)
+
"
<
\
/
\
s*
"
+
tagName
+
"
\
s*>
"
,
"
i
"
);
}
function
addTags
(
from
,
to
)
{
for
(
var
tag
in
from
)
{
var
dest
=
to
[
tag
]
||
(
to
[
tag
]
=
[]);
var
source
=
from
[
tag
];
for
(
var
i
=
source
.
length
-
1
;
i
>=
0
;
i
--
)
dest
.
unshift
(
source
[
i
])
}
}
function
findMatchingMode
(
tagInfo
,
tagText
)
{
for
(
var
i
=
0
;
i
<
tagInfo
.
length
;
i
++
)
{
var
spec
=
tagInfo
[
i
];
if
(
!
spec
[
0
]
||
spec
[
1
].
test
(
getAttrValue
(
tagText
,
spec
[
0
])))
return
spec
[
2
];
}
}
CodeMirror
.
defineMode
(
"
htmlmixed
"
,
function
(
config
,
parserConfig
)
{
var
htmlMode
=
CodeMirror
.
getMode
(
config
,
{
name
:
"
xml
"
,
htmlMode
:
true
,
multilineTagIndentFactor
:
parserConfig
.
multilineTagIndentFactor
,
multilineTagIndentPastTag
:
parserConfig
.
multilineTagIndentPastTag
});
var
tags
=
{};
var
configTags
=
parserConfig
&&
parserConfig
.
tags
,
configScript
=
parserConfig
&&
parserConfig
.
scriptTypes
;
addTags
(
defaultTags
,
tags
);
if
(
configTags
)
addTags
(
configTags
,
tags
);
if
(
configScript
)
for
(
var
i
=
configScript
.
length
-
1
;
i
>=
0
;
i
--
)
tags
.
script
.
unshift
([
"
type
"
,
configScript
[
i
].
matches
,
configScript
[
i
].
mode
])
function
html
(
stream
,
state
)
{
var
style
=
htmlMode
.
token
(
stream
,
state
.
htmlState
),
tag
=
/
\b
tag
\b
/
.
test
(
style
),
tagName
if
(
tag
&&
!
/
[
<>
\s\/]
/
.
test
(
stream
.
current
())
&&
(
tagName
=
state
.
htmlState
.
tagName
&&
state
.
htmlState
.
tagName
.
toLowerCase
())
&&
tags
.
hasOwnProperty
(
tagName
))
{
state
.
inTag
=
tagName
+
"
"
}
else
if
(
state
.
inTag
&&
tag
&&
/>$/
.
test
(
stream
.
current
()))
{
var
inTag
=
/^
([\S]
+
)
(
.*
)
/
.
exec
(
state
.
inTag
)
state
.
inTag
=
null
var
modeSpec
=
stream
.
current
()
==
"
>
"
&&
findMatchingMode
(
tags
[
inTag
[
1
]],
inTag
[
2
])
var
mode
=
CodeMirror
.
getMode
(
config
,
modeSpec
)
var
endTagA
=
getTagRegexp
(
inTag
[
1
],
true
),
endTag
=
getTagRegexp
(
inTag
[
1
],
false
);
state
.
token
=
function
(
stream
,
state
)
{
if
(
stream
.
match
(
endTagA
,
false
))
{
state
.
token
=
html
;
state
.
localState
=
state
.
localMode
=
null
;
return
null
;
}
return
maybeBackup
(
stream
,
endTag
,
state
.
localMode
.
token
(
stream
,
state
.
localState
));
};
state
.
localMode
=
mode
;
state
.
localState
=
CodeMirror
.
startState
(
mode
,
htmlMode
.
indent
(
state
.
htmlState
,
""
));
}
else
if
(
state
.
inTag
)
{
state
.
inTag
+=
stream
.
current
()
if
(
stream
.
eol
())
state
.
inTag
+=
"
"
}
return
style
;
};
return
{
startState
:
function
()
{
var
state
=
CodeMirror
.
startState
(
htmlMode
);
return
{
token
:
html
,
inTag
:
null
,
localMode
:
null
,
localState
:
null
,
htmlState
:
state
};
},
copyState
:
function
(
state
)
{
var
local
;
if
(
state
.
localState
)
{
local
=
CodeMirror
.
copyState
(
state
.
localMode
,
state
.
localState
);
}
return
{
token
:
state
.
token
,
inTag
:
state
.
inTag
,
localMode
:
state
.
localMode
,
localState
:
local
,
htmlState
:
CodeMirror
.
copyState
(
htmlMode
,
state
.
htmlState
)};
},
token
:
function
(
stream
,
state
)
{
return
state
.
token
(
stream
,
state
);
},
indent
:
function
(
state
,
textAfter
,
line
)
{
if
(
!
state
.
localMode
||
/^
\s
*<
\/
/
.
test
(
textAfter
))
return
htmlMode
.
indent
(
state
.
htmlState
,
textAfter
);
else
if
(
state
.
localMode
.
indent
)
return
state
.
localMode
.
indent
(
state
.
localState
,
textAfter
,
line
);
else
return
CodeMirror
.
Pass
;
},
innerMode
:
function
(
state
)
{
return
{
state
:
state
.
localState
||
state
.
htmlState
,
mode
:
state
.
localMode
||
htmlMode
};
}
};
},
"
xml
"
,
"
javascript
"
,
"
css
"
);
CodeMirror
.
defineMIME
(
"
text/html
"
,
"
htmlmixed
"
);
});
skyeye-web/src/main/webapp/assets/lib/layui/lay/modules/codemirror/javascript.js
0 → 100644
浏览文件 @
3f3043e0
此差异已折叠。
点击以展开。
skyeye-web/src/main/webapp/assets/lib/layui/lay/modules/codemirror/nginx.js
0 → 100644
浏览文件 @
3f3043e0
// CodeMirror, copyright (c) by Marijn Haverbeke and others
// Distributed under an MIT license: https://codemirror.net/LICENSE
(
function
(
mod
)
{
if
(
typeof
exports
==
"
object
"
&&
typeof
module
==
"
object
"
)
// CommonJS
mod
(
require
(
"
../../lib/codemirror
"
));
else
if
(
typeof
define
==
"
function
"
&&
define
.
amd
)
// AMD
define
([
"
../../lib/codemirror
"
],
mod
);
else
// Plain browser env
mod
(
CodeMirror
);
})(
function
(
CodeMirror
)
{
"
use strict
"
;
CodeMirror
.
defineMode
(
"
nginx
"
,
function
(
config
)
{
function
words
(
str
)
{
var
obj
=
{},
words
=
str
.
split
(
"
"
);
for
(
var
i
=
0
;
i
<
words
.
length
;
++
i
)
obj
[
words
[
i
]]
=
true
;
return
obj
;
}
var
keywords
=
words
(
/* ngxDirectiveControl */
"
break return rewrite set
"
+
/* ngxDirective */
"
accept_mutex accept_mutex_delay access_log add_after_body add_before_body add_header addition_types aio alias allow ancient_browser ancient_browser_value auth_basic auth_basic_user_file auth_http auth_http_header auth_http_timeout autoindex autoindex_exact_size autoindex_localtime charset charset_types client_body_buffer_size client_body_in_file_only client_body_in_single_buffer client_body_temp_path client_body_timeout client_header_buffer_size client_header_timeout client_max_body_size connection_pool_size create_full_put_path daemon dav_access dav_methods debug_connection debug_points default_type degradation degrade deny devpoll_changes devpoll_events directio directio_alignment empty_gif env epoll_events error_log eventport_events expires fastcgi_bind fastcgi_buffer_size fastcgi_buffers fastcgi_busy_buffers_size fastcgi_cache fastcgi_cache_key fastcgi_cache_methods fastcgi_cache_min_uses fastcgi_cache_path fastcgi_cache_use_stale fastcgi_cache_valid fastcgi_catch_stderr fastcgi_connect_timeout fastcgi_hide_header fastcgi_ignore_client_abort fastcgi_ignore_headers fastcgi_index fastcgi_intercept_errors fastcgi_max_temp_file_size fastcgi_next_upstream fastcgi_param fastcgi_pass_header fastcgi_pass_request_body fastcgi_pass_request_headers fastcgi_read_timeout fastcgi_send_lowat fastcgi_send_timeout fastcgi_split_path_info fastcgi_store fastcgi_store_access fastcgi_temp_file_write_size fastcgi_temp_path fastcgi_upstream_fail_timeout fastcgi_upstream_max_fails flv geoip_city geoip_country google_perftools_profiles gzip gzip_buffers gzip_comp_level gzip_disable gzip_hash gzip_http_version gzip_min_length gzip_no_buffer gzip_proxied gzip_static gzip_types gzip_vary gzip_window if_modified_since ignore_invalid_headers image_filter image_filter_buffer image_filter_jpeg_quality image_filter_transparency imap_auth imap_capabilities imap_client_buffer index ip_hash keepalive_requests keepalive_timeout kqueue_changes kqueue_events large_client_header_buffers limit_conn limit_conn_log_level limit_rate limit_rate_after limit_req limit_req_log_level limit_req_zone limit_zone lingering_time lingering_timeout lock_file log_format log_not_found log_subrequest map_hash_bucket_size map_hash_max_size master_process memcached_bind memcached_buffer_size memcached_connect_timeout memcached_next_upstream memcached_read_timeout memcached_send_timeout memcached_upstream_fail_timeout memcached_upstream_max_fails merge_slashes min_delete_depth modern_browser modern_browser_value msie_padding msie_refresh multi_accept open_file_cache open_file_cache_errors open_file_cache_events open_file_cache_min_uses open_file_cache_valid open_log_file_cache output_buffers override_charset perl perl_modules perl_require perl_set pid pop3_auth pop3_capabilities port_in_redirect postpone_gzipping postpone_output protocol proxy proxy_bind proxy_buffer proxy_buffer_size proxy_buffering proxy_buffers proxy_busy_buffers_size proxy_cache proxy_cache_key proxy_cache_methods proxy_cache_min_uses proxy_cache_path proxy_cache_use_stale proxy_cache_valid proxy_connect_timeout proxy_headers_hash_bucket_size proxy_headers_hash_max_size proxy_hide_header proxy_ignore_client_abort proxy_ignore_headers proxy_intercept_errors proxy_max_temp_file_size proxy_method proxy_next_upstream proxy_pass_error_message proxy_pass_header proxy_pass_request_body proxy_pass_request_headers proxy_read_timeout proxy_redirect proxy_send_lowat proxy_send_timeout proxy_set_body proxy_set_header proxy_ssl_session_reuse proxy_store proxy_store_access proxy_temp_file_write_size proxy_temp_path proxy_timeout proxy_upstream_fail_timeout proxy_upstream_max_fails random_index read_ahead real_ip_header recursive_error_pages request_pool_size reset_timedout_connection resolver resolver_timeout rewrite_log rtsig_overflow_events rtsig_overflow_test rtsig_overflow_threshold rtsig_signo satisfy secure_link_secret send_lowat send_timeout sendfile sendfile_max_chunk server_name_in_redirect server_names_hash_bucket_size server_names_hash_max_size server_tokens set_real_ip_from smtp_auth smtp_capabilities smtp_client_buffer smtp_greeting_delay so_keepalive source_charset ssi ssi_ignore_recycled_buffers ssi_min_file_chunk ssi_silent_errors ssi_types ssi_value_length ssl ssl_certificate ssl_certificate_key ssl_ciphers ssl_client_certificate ssl_crl ssl_dhparam ssl_engine ssl_prefer_server_ciphers ssl_protocols ssl_session_cache ssl_session_timeout ssl_verify_client ssl_verify_depth starttls stub_status sub_filter sub_filter_once sub_filter_types tcp_nodelay tcp_nopush thread_stack_size timeout timer_resolution types_hash_bucket_size types_hash_max_size underscores_in_headers uninitialized_variable_warn use user userid userid_domain userid_expires userid_mark userid_name userid_p3p userid_path userid_service valid_referers variables_hash_bucket_size variables_hash_max_size worker_connections worker_cpu_affinity worker_priority worker_processes worker_rlimit_core worker_rlimit_nofile worker_rlimit_sigpending worker_threads working_directory xclient xml_entities xslt_stylesheet xslt_typesdrew@li229-23
"
);
var
keywords_block
=
words
(
/* ngxDirectiveBlock */
"
http mail events server types location upstream charset_map limit_except if geo map
"
);
var
keywords_important
=
words
(
/* ngxDirectiveImportant */
"
include root server server_name listen internal proxy_pass memcached_pass fastcgi_pass try_files
"
);
var
indentUnit
=
config
.
indentUnit
,
type
;
function
ret
(
style
,
tp
)
{
type
=
tp
;
return
style
;}
function
tokenBase
(
stream
,
state
)
{
stream
.
eatWhile
(
/
[\w\$
_
]
/
);
var
cur
=
stream
.
current
();
if
(
keywords
.
propertyIsEnumerable
(
cur
))
{
return
"
keyword
"
;
}
else
if
(
keywords_block
.
propertyIsEnumerable
(
cur
))
{
return
"
variable-2
"
;
}
else
if
(
keywords_important
.
propertyIsEnumerable
(
cur
))
{
return
"
string-2
"
;
}
/**/
var
ch
=
stream
.
next
();
if
(
ch
==
"
@
"
)
{
stream
.
eatWhile
(
/
[\w\\\-]
/
);
return
ret
(
"
meta
"
,
stream
.
current
());}
else
if
(
ch
==
"
/
"
&&
stream
.
eat
(
"
*
"
))
{
state
.
tokenize
=
tokenCComment
;
return
tokenCComment
(
stream
,
state
);
}
else
if
(
ch
==
"
<
"
&&
stream
.
eat
(
"
!
"
))
{
state
.
tokenize
=
tokenSGMLComment
;
return
tokenSGMLComment
(
stream
,
state
);
}
else
if
(
ch
==
"
=
"
)
ret
(
null
,
"
compare
"
);
else
if
((
ch
==
"
~
"
||
ch
==
"
|
"
)
&&
stream
.
eat
(
"
=
"
))
return
ret
(
null
,
"
compare
"
);
else
if
(
ch
==
"
\"
"
||
ch
==
"
'
"
)
{
state
.
tokenize
=
tokenString
(
ch
);
return
state
.
tokenize
(
stream
,
state
);
}
else
if
(
ch
==
"
#
"
)
{
stream
.
skipToEnd
();
return
ret
(
"
comment
"
,
"
comment
"
);
}
else
if
(
ch
==
"
!
"
)
{
stream
.
match
(
/^
\s
*
\w
*/
);
return
ret
(
"
keyword
"
,
"
important
"
);
}
else
if
(
/
\d
/
.
test
(
ch
))
{
stream
.
eatWhile
(
/
[\w
.%
]
/
);
return
ret
(
"
number
"
,
"
unit
"
);
}
else
if
(
/
[
,.+>*
\/]
/
.
test
(
ch
))
{
return
ret
(
null
,
"
select-op
"
);
}
else
if
(
/
[
;{}:
\[\]]
/
.
test
(
ch
))
{
return
ret
(
null
,
ch
);
}
else
{
stream
.
eatWhile
(
/
[\w\\\-]
/
);
return
ret
(
"
variable
"
,
"
variable
"
);
}
}
function
tokenCComment
(
stream
,
state
)
{
var
maybeEnd
=
false
,
ch
;
while
((
ch
=
stream
.
next
())
!=
null
)
{
if
(
maybeEnd
&&
ch
==
"
/
"
)
{
state
.
tokenize
=
tokenBase
;
break
;
}
maybeEnd
=
(
ch
==
"
*
"
);
}
return
ret
(
"
comment
"
,
"
comment
"
);
}
function
tokenSGMLComment
(
stream
,
state
)
{
var
dashes
=
0
,
ch
;
while
((
ch
=
stream
.
next
())
!=
null
)
{
if
(
dashes
>=
2
&&
ch
==
"
>
"
)
{
state
.
tokenize
=
tokenBase
;
break
;
}
dashes
=
(
ch
==
"
-
"
)
?
dashes
+
1
:
0
;
}
return
ret
(
"
comment
"
,
"
comment
"
);
}
function
tokenString
(
quote
)
{
return
function
(
stream
,
state
)
{
var
escaped
=
false
,
ch
;
while
((
ch
=
stream
.
next
())
!=
null
)
{
if
(
ch
==
quote
&&
!
escaped
)
break
;
escaped
=
!
escaped
&&
ch
==
"
\\
"
;
}
if
(
!
escaped
)
state
.
tokenize
=
tokenBase
;
return
ret
(
"
string
"
,
"
string
"
);
};
}
return
{
startState
:
function
(
base
)
{
return
{
tokenize
:
tokenBase
,
baseIndent
:
base
||
0
,
stack
:
[]};
},
token
:
function
(
stream
,
state
)
{
if
(
stream
.
eatSpace
())
return
null
;
type
=
null
;
var
style
=
state
.
tokenize
(
stream
,
state
);
var
context
=
state
.
stack
[
state
.
stack
.
length
-
1
];
if
(
type
==
"
hash
"
&&
context
==
"
rule
"
)
style
=
"
atom
"
;
else
if
(
style
==
"
variable
"
)
{
if
(
context
==
"
rule
"
)
style
=
"
number
"
;
else
if
(
!
context
||
context
==
"
@media{
"
)
style
=
"
tag
"
;
}
if
(
context
==
"
rule
"
&&
/^
[\{\}
;
]
$/
.
test
(
type
))
state
.
stack
.
pop
();
if
(
type
==
"
{
"
)
{
if
(
context
==
"
@media
"
)
state
.
stack
[
state
.
stack
.
length
-
1
]
=
"
@media{
"
;
else
state
.
stack
.
push
(
"
{
"
);
}
else
if
(
type
==
"
}
"
)
state
.
stack
.
pop
();
else
if
(
type
==
"
@media
"
)
state
.
stack
.
push
(
"
@media
"
);
else
if
(
context
==
"
{
"
&&
type
!=
"
comment
"
)
state
.
stack
.
push
(
"
rule
"
);
return
style
;
},
indent
:
function
(
state
,
textAfter
)
{
var
n
=
state
.
stack
.
length
;
if
(
/^
\}
/
.
test
(
textAfter
))
n
-=
state
.
stack
[
state
.
stack
.
length
-
1
]
==
"
rule
"
?
2
:
1
;
return
state
.
baseIndent
+
n
*
indentUnit
;
},
electricChars
:
"
}
"
};
});
CodeMirror
.
defineMIME
(
"
text/x-nginx-conf
"
,
"
nginx
"
);
});
skyeye-web/src/main/webapp/assets/lib/layui/lay/modules/codemirror/solr.js
0 → 100644
浏览文件 @
3f3043e0
// CodeMirror, copyright (c) by Marijn Haverbeke and others
// Distributed under an MIT license: https://codemirror.net/LICENSE
(
function
(
mod
)
{
if
(
typeof
exports
==
"
object
"
&&
typeof
module
==
"
object
"
)
// CommonJS
mod
(
require
(
"
../../lib/codemirror
"
));
else
if
(
typeof
define
==
"
function
"
&&
define
.
amd
)
// AMD
define
([
"
../../lib/codemirror
"
],
mod
);
else
// Plain browser env
mod
(
CodeMirror
);
})(
function
(
CodeMirror
)
{
"
use strict
"
;
CodeMirror
.
defineMode
(
"
solr
"
,
function
()
{
"
use strict
"
;
var
isStringChar
=
/
[^\s\|\!\+\-\*\?\~\^\&\:\(\)\[\]\{\}\"\\]
/
;
var
isOperatorChar
=
/
[\|\!\+\-\*\?\~\^\&]
/
;
var
isOperatorString
=
/^
(
OR|AND|NOT|TO
)
$/i
;
function
isNumber
(
word
)
{
return
parseFloat
(
word
).
toString
()
===
word
;
}
function
tokenString
(
quote
)
{
return
function
(
stream
,
state
)
{
var
escaped
=
false
,
next
;
while
((
next
=
stream
.
next
())
!=
null
)
{
if
(
next
==
quote
&&
!
escaped
)
break
;
escaped
=
!
escaped
&&
next
==
"
\\
"
;
}
if
(
!
escaped
)
state
.
tokenize
=
tokenBase
;
return
"
string
"
;
};
}
function
tokenOperator
(
operator
)
{
return
function
(
stream
,
state
)
{
var
style
=
"
operator
"
;
if
(
operator
==
"
+
"
)
style
+=
"
positive
"
;
else
if
(
operator
==
"
-
"
)
style
+=
"
negative
"
;
else
if
(
operator
==
"
|
"
)
stream
.
eat
(
/
\|
/
);
else
if
(
operator
==
"
&
"
)
stream
.
eat
(
/
\&
/
);
else
if
(
operator
==
"
^
"
)
style
+=
"
boost
"
;
state
.
tokenize
=
tokenBase
;
return
style
;
};
}
function
tokenWord
(
ch
)
{
return
function
(
stream
,
state
)
{
var
word
=
ch
;
while
((
ch
=
stream
.
peek
())
&&
ch
.
match
(
isStringChar
)
!=
null
)
{
word
+=
stream
.
next
();
}
state
.
tokenize
=
tokenBase
;
if
(
isOperatorString
.
test
(
word
))
return
"
operator
"
;
else
if
(
isNumber
(
word
))
return
"
number
"
;
else
if
(
stream
.
peek
()
==
"
:
"
)
return
"
field
"
;
else
return
"
string
"
;
};
}
function
tokenBase
(
stream
,
state
)
{
var
ch
=
stream
.
next
();
if
(
ch
==
'
"
'
)
state
.
tokenize
=
tokenString
(
ch
);
else
if
(
isOperatorChar
.
test
(
ch
))
state
.
tokenize
=
tokenOperator
(
ch
);
else
if
(
isStringChar
.
test
(
ch
))
state
.
tokenize
=
tokenWord
(
ch
);
return
(
state
.
tokenize
!=
tokenBase
)
?
state
.
tokenize
(
stream
,
state
)
:
null
;
}
return
{
startState
:
function
()
{
return
{
tokenize
:
tokenBase
};
},
token
:
function
(
stream
,
state
)
{
if
(
stream
.
eatSpace
())
return
null
;
return
state
.
tokenize
(
stream
,
state
);
}
};
});
CodeMirror
.
defineMIME
(
"
text/x-solr
"
,
"
solr
"
);
});
skyeye-web/src/main/webapp/assets/lib/layui/lay/modules/codemirror/sql.js
0 → 100644
浏览文件 @
3f3043e0
此差异已折叠。
点击以展开。
skyeye-web/src/main/webapp/assets/lib/layui/lay/modules/codemirror/vue.js
0 → 100644
浏览文件 @
3f3043e0
// CodeMirror, copyright (c) by Marijn Haverbeke and others
// Distributed under an MIT license: https://codemirror.net/LICENSE
(
function
(
mod
)
{
"
use strict
"
;
if
(
typeof
exports
===
"
object
"
&&
typeof
module
===
"
object
"
)
{
// CommonJS
mod
(
require
(
"
../../lib/codemirror
"
),
require
(
"
../../addon/mode/overlay
"
),
require
(
"
../xml/xml
"
),
require
(
"
../javascript/javascript
"
),
require
(
"
../coffeescript/coffeescript
"
),
require
(
"
../css/css
"
),
require
(
"
../sass/sass
"
),
require
(
"
../stylus/stylus
"
),
require
(
"
../pug/pug
"
),
require
(
"
../handlebars/handlebars
"
));
}
else
if
(
typeof
define
===
"
function
"
&&
define
.
amd
)
{
// AMD
define
([
"
../../lib/codemirror
"
,
"
../../addon/mode/overlay
"
,
"
../xml/xml
"
,
"
../javascript/javascript
"
,
"
../coffeescript/coffeescript
"
,
"
../css/css
"
,
"
../sass/sass
"
,
"
../stylus/stylus
"
,
"
../pug/pug
"
,
"
../handlebars/handlebars
"
],
mod
);
}
else
{
// Plain browser env
mod
(
CodeMirror
);
}
})(
function
(
CodeMirror
)
{
var
tagLanguages
=
{
script
:
[
[
"
lang
"
,
/coffee
(
script
)?
/
,
"
coffeescript
"
],
[
"
type
"
,
/^
(?:
text|application
)\/(?:
x-
)?
coffee
(?:
script
)?
$/
,
"
coffeescript
"
],
[
"
lang
"
,
/^babel$/
,
"
javascript
"
],
[
"
type
"
,
/^text
\/
babel$/
,
"
javascript
"
],
[
"
type
"
,
/^text
\/
ecmascript-
\d
+$/
,
"
javascript
"
]
],
style
:
[
[
"
lang
"
,
/^stylus$/i
,
"
stylus
"
],
[
"
lang
"
,
/^sass$/i
,
"
sass
"
],
[
"
lang
"
,
/^less$/i
,
"
text/x-less
"
],
[
"
lang
"
,
/^scss$/i
,
"
text/x-scss
"
],
[
"
type
"
,
/^
(
text
\/)?(
x-
)?
styl
(
us
)?
$/i
,
"
stylus
"
],
[
"
type
"
,
/^text
\/
sass/i
,
"
sass
"
],
[
"
type
"
,
/^
(
text
\/)?(
x-
)?
scss$/i
,
"
text/x-scss
"
],
[
"
type
"
,
/^
(
text
\/)?(
x-
)?
less$/i
,
"
text/x-less
"
]
],
template
:
[
[
"
lang
"
,
/^vue-template$/i
,
"
vue
"
],
[
"
lang
"
,
/^pug$/i
,
"
pug
"
],
[
"
lang
"
,
/^handlebars$/i
,
"
handlebars
"
],
[
"
type
"
,
/^
(
text
\/)?(
x-
)?
pug$/i
,
"
pug
"
],
[
"
type
"
,
/^text
\/
x-handlebars-template$/i
,
"
handlebars
"
],
[
null
,
null
,
"
vue-template
"
]
]
};
CodeMirror
.
defineMode
(
"
vue-template
"
,
function
(
config
,
parserConfig
)
{
var
mustacheOverlay
=
{
token
:
function
(
stream
)
{
if
(
stream
.
match
(
/^
\{\{
.*
?\}\}
/
))
return
"
meta mustache
"
;
while
(
stream
.
next
()
&&
!
stream
.
match
(
"
{{
"
,
false
))
{}
return
null
;
}
};
return
CodeMirror
.
overlayMode
(
CodeMirror
.
getMode
(
config
,
parserConfig
.
backdrop
||
"
text/html
"
),
mustacheOverlay
);
});
CodeMirror
.
defineMode
(
"
vue
"
,
function
(
config
)
{
return
CodeMirror
.
getMode
(
config
,
{
name
:
"
htmlmixed
"
,
tags
:
tagLanguages
});
},
"
htmlmixed
"
,
"
xml
"
,
"
javascript
"
,
"
coffeescript
"
,
"
css
"
,
"
sass
"
,
"
stylus
"
,
"
pug
"
,
"
handlebars
"
);
CodeMirror
.
defineMIME
(
"
script/x-vue
"
,
"
vue
"
);
CodeMirror
.
defineMIME
(
"
text/x-vue
"
,
"
vue
"
);
});
skyeye-web/src/main/webapp/assets/lib/layui/lay/modules/codemirror/xml.js
0 → 100644
浏览文件 @
3f3043e0
// CodeMirror, copyright (c) by Marijn Haverbeke and others
// Distributed under an MIT license: https://codemirror.net/LICENSE
(
function
(
mod
)
{
if
(
typeof
exports
==
"
object
"
&&
typeof
module
==
"
object
"
)
// CommonJS
mod
(
require
(
"
../../lib/codemirror
"
));
else
if
(
typeof
define
==
"
function
"
&&
define
.
amd
)
// AMD
define
([
"
../../lib/codemirror
"
],
mod
);
else
// Plain browser env
mod
(
CodeMirror
);
})(
function
(
CodeMirror
)
{
"
use strict
"
;
var
htmlConfig
=
{
autoSelfClosers
:
{
'
area
'
:
true
,
'
base
'
:
true
,
'
br
'
:
true
,
'
col
'
:
true
,
'
command
'
:
true
,
'
embed
'
:
true
,
'
frame
'
:
true
,
'
hr
'
:
true
,
'
img
'
:
true
,
'
input
'
:
true
,
'
keygen
'
:
true
,
'
link
'
:
true
,
'
meta
'
:
true
,
'
param
'
:
true
,
'
source
'
:
true
,
'
track
'
:
true
,
'
wbr
'
:
true
,
'
menuitem
'
:
true
},
implicitlyClosed
:
{
'
dd
'
:
true
,
'
li
'
:
true
,
'
optgroup
'
:
true
,
'
option
'
:
true
,
'
p
'
:
true
,
'
rp
'
:
true
,
'
rt
'
:
true
,
'
tbody
'
:
true
,
'
td
'
:
true
,
'
tfoot
'
:
true
,
'
th
'
:
true
,
'
tr
'
:
true
},
contextGrabbers
:
{
'
dd
'
:
{
'
dd
'
:
true
,
'
dt
'
:
true
},
'
dt
'
:
{
'
dd
'
:
true
,
'
dt
'
:
true
},
'
li
'
:
{
'
li
'
:
true
},
'
option
'
:
{
'
option
'
:
true
,
'
optgroup
'
:
true
},
'
optgroup
'
:
{
'
optgroup
'
:
true
},
'
p
'
:
{
'
address
'
:
true
,
'
article
'
:
true
,
'
aside
'
:
true
,
'
blockquote
'
:
true
,
'
dir
'
:
true
,
'
div
'
:
true
,
'
dl
'
:
true
,
'
fieldset
'
:
true
,
'
footer
'
:
true
,
'
form
'
:
true
,
'
h1
'
:
true
,
'
h2
'
:
true
,
'
h3
'
:
true
,
'
h4
'
:
true
,
'
h5
'
:
true
,
'
h6
'
:
true
,
'
header
'
:
true
,
'
hgroup
'
:
true
,
'
hr
'
:
true
,
'
menu
'
:
true
,
'
nav
'
:
true
,
'
ol
'
:
true
,
'
p
'
:
true
,
'
pre
'
:
true
,
'
section
'
:
true
,
'
table
'
:
true
,
'
ul
'
:
true
},
'
rp
'
:
{
'
rp
'
:
true
,
'
rt
'
:
true
},
'
rt
'
:
{
'
rp
'
:
true
,
'
rt
'
:
true
},
'
tbody
'
:
{
'
tbody
'
:
true
,
'
tfoot
'
:
true
},
'
td
'
:
{
'
td
'
:
true
,
'
th
'
:
true
},
'
tfoot
'
:
{
'
tbody
'
:
true
},
'
th
'
:
{
'
td
'
:
true
,
'
th
'
:
true
},
'
thead
'
:
{
'
tbody
'
:
true
,
'
tfoot
'
:
true
},
'
tr
'
:
{
'
tr
'
:
true
}
},
doNotIndent
:
{
"
pre
"
:
true
},
allowUnquoted
:
true
,
allowMissing
:
true
,
caseFold
:
true
}
var
xmlConfig
=
{
autoSelfClosers
:
{},
implicitlyClosed
:
{},
contextGrabbers
:
{},
doNotIndent
:
{},
allowUnquoted
:
false
,
allowMissing
:
false
,
allowMissingTagName
:
false
,
caseFold
:
false
}
CodeMirror
.
defineMode
(
"
xml
"
,
function
(
editorConf
,
config_
)
{
var
indentUnit
=
editorConf
.
indentUnit
var
config
=
{}
var
defaults
=
config_
.
htmlMode
?
htmlConfig
:
xmlConfig
for
(
var
prop
in
defaults
)
config
[
prop
]
=
defaults
[
prop
]
for
(
var
prop
in
config_
)
config
[
prop
]
=
config_
[
prop
]
// Return variables for tokenizers
var
type
,
setStyle
;
function
inText
(
stream
,
state
)
{
function
chain
(
parser
)
{
state
.
tokenize
=
parser
;
return
parser
(
stream
,
state
);
}
var
ch
=
stream
.
next
();
if
(
ch
==
"
<
"
)
{
if
(
stream
.
eat
(
"
!
"
))
{
if
(
stream
.
eat
(
"
[
"
))
{
if
(
stream
.
match
(
"
CDATA[
"
))
return
chain
(
inBlock
(
"
atom
"
,
"
]]>
"
));
else
return
null
;
}
else
if
(
stream
.
match
(
"
--
"
))
{
return
chain
(
inBlock
(
"
comment
"
,
"
-->
"
));
}
else
if
(
stream
.
match
(
"
DOCTYPE
"
,
true
,
true
))
{
stream
.
eatWhile
(
/
[\w\.
_
\-]
/
);
return
chain
(
doctype
(
1
));
}
else
{
return
null
;
}
}
else
if
(
stream
.
eat
(
"
?
"
))
{
stream
.
eatWhile
(
/
[\w\.
_
\-]
/
);
state
.
tokenize
=
inBlock
(
"
meta
"
,
"
?>
"
);
return
"
meta
"
;
}
else
{
type
=
stream
.
eat
(
"
/
"
)
?
"
closeTag
"
:
"
openTag
"
;
state
.
tokenize
=
inTag
;
return
"
tag bracket
"
;
}
}
else
if
(
ch
==
"
&
"
)
{
var
ok
;
if
(
stream
.
eat
(
"
#
"
))
{
if
(
stream
.
eat
(
"
x
"
))
{
ok
=
stream
.
eatWhile
(
/
[
a-fA-F
\d]
/
)
&&
stream
.
eat
(
"
;
"
);
}
else
{
ok
=
stream
.
eatWhile
(
/
[\d]
/
)
&&
stream
.
eat
(
"
;
"
);
}
}
else
{
ok
=
stream
.
eatWhile
(
/
[\w\.\-
:
]
/
)
&&
stream
.
eat
(
"
;
"
);
}
return
ok
?
"
atom
"
:
"
error
"
;
}
else
{
stream
.
eatWhile
(
/
[^
&<
]
/
);
return
null
;
}
}
inText
.
isInText
=
true
;
function
inTag
(
stream
,
state
)
{
var
ch
=
stream
.
next
();
if
(
ch
==
"
>
"
||
(
ch
==
"
/
"
&&
stream
.
eat
(
"
>
"
)))
{
state
.
tokenize
=
inText
;
type
=
ch
==
"
>
"
?
"
endTag
"
:
"
selfcloseTag
"
;
return
"
tag bracket
"
;
}
else
if
(
ch
==
"
=
"
)
{
type
=
"
equals
"
;
return
null
;
}
else
if
(
ch
==
"
<
"
)
{
state
.
tokenize
=
inText
;
state
.
state
=
baseState
;
state
.
tagName
=
state
.
tagStart
=
null
;
var
next
=
state
.
tokenize
(
stream
,
state
);
return
next
?
next
+
"
tag error
"
:
"
tag error
"
;
}
else
if
(
/
[\'\"]
/
.
test
(
ch
))
{
state
.
tokenize
=
inAttribute
(
ch
);
state
.
stringStartCol
=
stream
.
column
();
return
state
.
tokenize
(
stream
,
state
);
}
else
{
stream
.
match
(
/^
[^\s\u
00a0=<>
\"\']
*
[^\s\u
00a0=<>
\"\'\/]
/
);
return
"
word
"
;
}
}
function
inAttribute
(
quote
)
{
var
closure
=
function
(
stream
,
state
)
{
while
(
!
stream
.
eol
())
{
if
(
stream
.
next
()
==
quote
)
{
state
.
tokenize
=
inTag
;
break
;
}
}
return
"
string
"
;
};
closure
.
isInAttribute
=
true
;
return
closure
;
}
function
inBlock
(
style
,
terminator
)
{
return
function
(
stream
,
state
)
{
while
(
!
stream
.
eol
())
{
if
(
stream
.
match
(
terminator
))
{
state
.
tokenize
=
inText
;
break
;
}
stream
.
next
();
}
return
style
;
}
}
function
doctype
(
depth
)
{
return
function
(
stream
,
state
)
{
var
ch
;
while
((
ch
=
stream
.
next
())
!=
null
)
{
if
(
ch
==
"
<
"
)
{
state
.
tokenize
=
doctype
(
depth
+
1
);
return
state
.
tokenize
(
stream
,
state
);
}
else
if
(
ch
==
"
>
"
)
{
if
(
depth
==
1
)
{
state
.
tokenize
=
inText
;
break
;
}
else
{
state
.
tokenize
=
doctype
(
depth
-
1
);
return
state
.
tokenize
(
stream
,
state
);
}
}
}
return
"
meta
"
;
};
}
function
Context
(
state
,
tagName
,
startOfLine
)
{
this
.
prev
=
state
.
context
;
this
.
tagName
=
tagName
;
this
.
indent
=
state
.
indented
;
this
.
startOfLine
=
startOfLine
;
if
(
config
.
doNotIndent
.
hasOwnProperty
(
tagName
)
||
(
state
.
context
&&
state
.
context
.
noIndent
))
this
.
noIndent
=
true
;
}
function
popContext
(
state
)
{
if
(
state
.
context
)
state
.
context
=
state
.
context
.
prev
;
}
function
maybePopContext
(
state
,
nextTagName
)
{
var
parentTagName
;
while
(
true
)
{
if
(
!
state
.
context
)
{
return
;
}
parentTagName
=
state
.
context
.
tagName
;
if
(
!
config
.
contextGrabbers
.
hasOwnProperty
(
parentTagName
)
||
!
config
.
contextGrabbers
[
parentTagName
].
hasOwnProperty
(
nextTagName
))
{
return
;
}
popContext
(
state
);
}
}
function
baseState
(
type
,
stream
,
state
)
{
if
(
type
==
"
openTag
"
)
{
state
.
tagStart
=
stream
.
column
();
return
tagNameState
;
}
else
if
(
type
==
"
closeTag
"
)
{
return
closeTagNameState
;
}
else
{
return
baseState
;
}
}
function
tagNameState
(
type
,
stream
,
state
)
{
if
(
type
==
"
word
"
)
{
state
.
tagName
=
stream
.
current
();
setStyle
=
"
tag
"
;
return
attrState
;
}
else
if
(
config
.
allowMissingTagName
&&
type
==
"
endTag
"
)
{
setStyle
=
"
tag bracket
"
;
return
attrState
(
type
,
stream
,
state
);
}
else
{
setStyle
=
"
error
"
;
return
tagNameState
;
}
}
function
closeTagNameState
(
type
,
stream
,
state
)
{
if
(
type
==
"
word
"
)
{
var
tagName
=
stream
.
current
();
if
(
state
.
context
&&
state
.
context
.
tagName
!=
tagName
&&
config
.
implicitlyClosed
.
hasOwnProperty
(
state
.
context
.
tagName
))
popContext
(
state
);
if
((
state
.
context
&&
state
.
context
.
tagName
==
tagName
)
||
config
.
matchClosing
===
false
)
{
setStyle
=
"
tag
"
;
return
closeState
;
}
else
{
setStyle
=
"
tag error
"
;
return
closeStateErr
;
}
}
else
if
(
config
.
allowMissingTagName
&&
type
==
"
endTag
"
)
{
setStyle
=
"
tag bracket
"
;
return
closeState
(
type
,
stream
,
state
);
}
else
{
setStyle
=
"
error
"
;
return
closeStateErr
;
}
}
function
closeState
(
type
,
_stream
,
state
)
{
if
(
type
!=
"
endTag
"
)
{
setStyle
=
"
error
"
;
return
closeState
;
}
popContext
(
state
);
return
baseState
;
}
function
closeStateErr
(
type
,
stream
,
state
)
{
setStyle
=
"
error
"
;
return
closeState
(
type
,
stream
,
state
);
}
function
attrState
(
type
,
_stream
,
state
)
{
if
(
type
==
"
word
"
)
{
setStyle
=
"
attribute
"
;
return
attrEqState
;
}
else
if
(
type
==
"
endTag
"
||
type
==
"
selfcloseTag
"
)
{
var
tagName
=
state
.
tagName
,
tagStart
=
state
.
tagStart
;
state
.
tagName
=
state
.
tagStart
=
null
;
if
(
type
==
"
selfcloseTag
"
||
config
.
autoSelfClosers
.
hasOwnProperty
(
tagName
))
{
maybePopContext
(
state
,
tagName
);
}
else
{
maybePopContext
(
state
,
tagName
);
state
.
context
=
new
Context
(
state
,
tagName
,
tagStart
==
state
.
indented
);
}
return
baseState
;
}
setStyle
=
"
error
"
;
return
attrState
;
}
function
attrEqState
(
type
,
stream
,
state
)
{
if
(
type
==
"
equals
"
)
return
attrValueState
;
if
(
!
config
.
allowMissing
)
setStyle
=
"
error
"
;
return
attrState
(
type
,
stream
,
state
);
}
function
attrValueState
(
type
,
stream
,
state
)
{
if
(
type
==
"
string
"
)
return
attrContinuedState
;
if
(
type
==
"
word
"
&&
config
.
allowUnquoted
)
{
setStyle
=
"
string
"
;
return
attrState
;}
setStyle
=
"
error
"
;
return
attrState
(
type
,
stream
,
state
);
}
function
attrContinuedState
(
type
,
stream
,
state
)
{
if
(
type
==
"
string
"
)
return
attrContinuedState
;
return
attrState
(
type
,
stream
,
state
);
}
return
{
startState
:
function
(
baseIndent
)
{
var
state
=
{
tokenize
:
inText
,
state
:
baseState
,
indented
:
baseIndent
||
0
,
tagName
:
null
,
tagStart
:
null
,
context
:
null
}
if
(
baseIndent
!=
null
)
state
.
baseIndent
=
baseIndent
return
state
},
token
:
function
(
stream
,
state
)
{
if
(
!
state
.
tagName
&&
stream
.
sol
())
state
.
indented
=
stream
.
indentation
();
if
(
stream
.
eatSpace
())
return
null
;
type
=
null
;
var
style
=
state
.
tokenize
(
stream
,
state
);
if
((
style
||
type
)
&&
style
!=
"
comment
"
)
{
setStyle
=
null
;
state
.
state
=
state
.
state
(
type
||
style
,
stream
,
state
);
if
(
setStyle
)
style
=
setStyle
==
"
error
"
?
style
+
"
error
"
:
setStyle
;
}
return
style
;
},
indent
:
function
(
state
,
textAfter
,
fullLine
)
{
var
context
=
state
.
context
;
// Indent multi-line strings (e.g. css).
if
(
state
.
tokenize
.
isInAttribute
)
{
if
(
state
.
tagStart
==
state
.
indented
)
return
state
.
stringStartCol
+
1
;
else
return
state
.
indented
+
indentUnit
;
}
if
(
context
&&
context
.
noIndent
)
return
CodeMirror
.
Pass
;
if
(
state
.
tokenize
!=
inTag
&&
state
.
tokenize
!=
inText
)
return
fullLine
?
fullLine
.
match
(
/^
(\s
*
)
/
)[
0
].
length
:
0
;
// Indent the starts of attribute names.
if
(
state
.
tagName
)
{
if
(
config
.
multilineTagIndentPastTag
!==
false
)
return
state
.
tagStart
+
state
.
tagName
.
length
+
2
;
else
return
state
.
tagStart
+
indentUnit
*
(
config
.
multilineTagIndentFactor
||
1
);
}
if
(
config
.
alignCDATA
&&
/<!
\[
CDATA
\[
/
.
test
(
textAfter
))
return
0
;
var
tagAfter
=
textAfter
&&
/^<
(\/)?([\w
_:
\.
-
]
*
)
/
.
exec
(
textAfter
);
if
(
tagAfter
&&
tagAfter
[
1
])
{
// Closing tag spotted
while
(
context
)
{
if
(
context
.
tagName
==
tagAfter
[
2
])
{
context
=
context
.
prev
;
break
;
}
else
if
(
config
.
implicitlyClosed
.
hasOwnProperty
(
context
.
tagName
))
{
context
=
context
.
prev
;
}
else
{
break
;
}
}
}
else
if
(
tagAfter
)
{
// Opening tag spotted
while
(
context
)
{
var
grabbers
=
config
.
contextGrabbers
[
context
.
tagName
];
if
(
grabbers
&&
grabbers
.
hasOwnProperty
(
tagAfter
[
2
]))
context
=
context
.
prev
;
else
break
;
}
}
while
(
context
&&
context
.
prev
&&
!
context
.
startOfLine
)
context
=
context
.
prev
;
if
(
context
)
return
context
.
indent
+
indentUnit
;
else
return
state
.
baseIndent
||
0
;
},
electricInput
:
/<
\/[\s\w
:
]
+>$/
,
blockCommentStart
:
"
<!--
"
,
blockCommentEnd
:
"
-->
"
,
configuration
:
config
.
htmlMode
?
"
html
"
:
"
xml
"
,
helperType
:
config
.
htmlMode
?
"
html
"
:
"
xml
"
,
skipAttribute
:
function
(
state
)
{
if
(
state
.
state
==
attrValueState
)
state
.
state
=
attrState
}
};
});
CodeMirror
.
defineMIME
(
"
text/xml
"
,
"
xml
"
);
CodeMirror
.
defineMIME
(
"
application/xml
"
,
"
xml
"
);
if
(
!
CodeMirror
.
mimeModes
.
hasOwnProperty
(
"
text/html
"
))
CodeMirror
.
defineMIME
(
"
text/html
"
,
{
name
:
"
xml
"
,
htmlMode
:
true
});
});
skyeye-web/src/main/webapp/assets/lib/layui/layui.js
浏览文件 @
3f3043e0
...
...
@@ -107,6 +107,16 @@ function isNull(str){
cookie
:
'
modules/cookie
'
,
//cookie
fileUpload
:
'
modules/jQuery.upload.min
'
,
//上传
dragula
:
'
modules/dragula
'
,
//拖拽
codemirror
:
'
modules/codemirror/codemirror
'
,
//代码格式编辑器
xml
:
'
modules/codemirror/xml
'
,
//代码格式编辑器xml,html支持
clike
:
'
modules/codemirror/clike
'
,
//代码格式编辑器clike支持C,C++,Objective-C,Java,Scala,Kotlin,Ceylon高亮
css
:
'
modules/codemirror/css
'
,
//代码格式编辑器css支持CSS
htmlmixed
:
'
modules/codemirror/htmlmixed
'
,
//代码格式编辑器htmlmixed,HTML混合模式取决于XML,JavaScript和CSS模式支持
javascript
:
'
modules/codemirror/javascript
'
,
//代码格式编辑器javascript支持js
nginx
:
'
modules/codemirror/nginx
'
,
//代码格式编辑器nginx支持nginx
solr
:
'
modules/codemirror/solr
'
,
//代码格式编辑器solr支持solr
sql
:
'
modules/codemirror/sql
'
,
//代码格式编辑器sql支持sql
vue
:
'
modules/codemirror/vue
'
,
//代码格式编辑器vue支持vue
};
// 记录基础数据
...
...
skyeye-web/src/main/webapp/assets/lib/winui/css/winui.css
浏览文件 @
3f3043e0
...
...
@@ -2692,6 +2692,63 @@ body .layer-ext-winconfirm {
/*** 小程序页面管理end ***/
/*** 代码生成器样式start ***/
.cm-s-eclipse
span
.cm-meta
{
color
:
#FF1717
;
}
.cm-s-eclipse
span
.cm-keyword
{
line-height
:
1em
;
font-weight
:
bold
;
color
:
#7F0055
;
}
.cm-s-eclipse
span
.cm-atom
{
color
:
#219
;
}
.cm-s-eclipse
span
.cm-number
{
color
:
#164
;
}
.cm-s-eclipse
span
.cm-def
{
color
:
#00f
;
}
.cm-s-eclipse
span
.cm-variable
{
color
:
black
;
}
.cm-s-eclipse
span
.cm-variable-2
{
color
:
#0000C0
;
}
.cm-s-eclipse
span
.cm-variable-3
,
.cm-s-eclipse
span
.cm-type
{
color
:
#0000C0
;
}
.cm-s-eclipse
span
.cm-property
{
color
:
black
;
}
.cm-s-eclipse
span
.cm-operator
{
color
:
black
;
}
.cm-s-eclipse
span
.cm-comment
{
color
:
#3F7F5F
;
}
.cm-s-eclipse
span
.cm-string
{
color
:
#2A00FF
;
}
.cm-s-eclipse
span
.cm-string-2
{
color
:
#f50
;
}
.cm-s-eclipse
span
.cm-qualifier
{
color
:
#555
;
}
.cm-s-eclipse
span
.cm-builtin
{
color
:
#30a
;
}
.cm-s-eclipse
span
.cm-bracket
{
color
:
#cc7
;
}
.cm-s-eclipse
span
.cm-tag
{
color
:
#170
;
}
.cm-s-eclipse
span
.cm-attribute
{
color
:
#00c
;
}
.cm-s-eclipse
span
.cm-link
{
color
:
#219
;
}
.cm-s-eclipse
span
.cm-error
{
color
:
#f00
;
}
.cm-s-eclipse
.CodeMirror-activeline-background
{
background
:
#e8f2ff
;
}
.cm-s-eclipse
.CodeMirror-matchingbracket
{
outline
:
1px
solid
grey
;
color
:
black
!important
;
}
.cm-s-icecoder
{
color
:
#666
;
background
:
#1d1d1b
;
}
.cm-s-icecoder
span
.cm-keyword
{
color
:
#eee
;
font-weight
:
bold
;
}
/* off-white 1 */
.cm-s-icecoder
span
.cm-atom
{
color
:
#e1c76e
;
}
/* yellow */
.cm-s-icecoder
span
.cm-number
{
color
:
#6cb5d9
;
}
/* blue */
.cm-s-icecoder
span
.cm-def
{
color
:
#b9ca4a
;
}
/* green */
.cm-s-icecoder
span
.cm-variable
{
color
:
#6cb5d9
;
}
/* blue */
.cm-s-icecoder
span
.cm-variable-2
{
color
:
#cc1e5c
;
}
/* pink */
.cm-s-icecoder
span
.cm-variable-3
,
.cm-s-icecoder
span
.cm-type
{
color
:
#f9602c
;
}
/* orange */
.cm-s-icecoder
span
.cm-property
{
color
:
#eee
;
}
/* off-white 1 */
.cm-s-icecoder
span
.cm-operator
{
color
:
#9179bb
;
}
/* purple */
.cm-s-icecoder
span
.cm-comment
{
color
:
#97a3aa
;
}
/* grey-blue */
.cm-s-icecoder
span
.cm-string
{
color
:
#b9ca4a
;
}
/* green */
.cm-s-icecoder
span
.cm-string-2
{
color
:
#6cb5d9
;
}
/* blue */
.cm-s-icecoder
span
.cm-meta
{
color
:
#555
;
}
/* grey */
.cm-s-icecoder
span
.cm-qualifier
{
color
:
#555
;
}
/* grey */
.cm-s-icecoder
span
.cm-builtin
{
color
:
#214e7b
;
}
/* bright blue */
.cm-s-icecoder
span
.cm-bracket
{
color
:
#cc7
;
}
/* grey-yellow */
.cm-s-icecoder
span
.cm-tag
{
color
:
#e8e8e8
;
}
/* off-white 2 */
.cm-s-icecoder
span
.cm-attribute
{
color
:
#099
;
}
/* teal */
.cm-s-icecoder
span
.cm-header
{
color
:
#6a0d6a
;
}
/* purple-pink */
.cm-s-icecoder
span
.cm-quote
{
color
:
#186718
;
}
/* dark green */
.cm-s-icecoder
span
.cm-hr
{
color
:
#888
;
}
/* mid-grey */
.cm-s-icecoder
span
.cm-link
{
color
:
#e1c76e
;
}
/* yellow */
.cm-s-icecoder
span
.cm-error
{
color
:
#d00
;
}
/* red */
.cm-s-icecoder
.CodeMirror-cursor
{
border-left
:
1px
solid
white
;
}
.cm-s-icecoder
div
.CodeMirror-selected
{
color
:
#fff
;
background
:
#037
;
}
.cm-s-icecoder
.CodeMirror-gutters
{
background
:
#1d1d1b
;
min-width
:
41px
;
border-right
:
0
;
}
.cm-s-icecoder
.CodeMirror-linenumber
{
color
:
#555
;
cursor
:
default
;
}
.cm-s-icecoder
.CodeMirror-matchingbracket
{
color
:
#fff
!important
;
background
:
#555
!important
;
}
.cm-s-icecoder
.CodeMirror-activeline-background
{
background
:
#000
;
}
/*** 代码生成器样式end ***/
/*******************************************自定义样式end********************************************/
skyeye-web/src/main/webapp/js/codemodel/codemodeladd.js
浏览文件 @
3f3043e0
...
...
@@ -4,12 +4,29 @@ layui.config({
version
:
skyeyeVersion
}).
define
([
'
table
'
,
'
jquery
'
,
'
winui
'
],
function
(
exports
)
{
winui
.
renderColor
();
layui
.
use
([
'
form
'
],
function
(
form
)
{
layui
.
use
([
'
form
'
,
'
codemirror
'
,
'
xml
'
,
'
clike
'
,
'
css
'
,
'
htmlmixed
'
,
'
javascript
'
,
'
nginx
'
,
'
solr
'
,
'
sql
'
,
'
vue
'
],
function
(
form
)
{
var
index
=
parent
.
layer
.
getFrameIndex
(
window
.
name
);
//获取窗口索引
var
$
=
layui
.
$
,
form
=
layui
.
form
;
var
editor
=
CodeMirror
.
fromTextArea
(
document
.
getElementById
(
"
modelContent
"
),
{
mode
:
"
text/x-java
"
,
// 模式
theme
:
"
eclipse
"
,
// CSS样式选择
indentUnit
:
2
,
// 缩进单位,默认2
smartIndent
:
true
,
// 是否智能缩进
tabSize
:
4
,
// Tab缩进,默认4
readOnly
:
false
,
// 是否只读,默认false
showCursorWhenSelecting
:
true
,
lineNumbers
:
true
,
// 是否显示行号
styleActiveLine
:
true
,
//line选择是是否加亮
matchBrackets
:
true
,
});
form
.
render
();
form
.
on
(
'
select
'
,
function
(
data
){
});
form
.
on
(
'
submit(formAddBean)
'
,
function
(
data
)
{
//表单验证
...
...
@@ -18,6 +35,7 @@ layui.config({
modelName
:
$
(
"
#modelName
"
).
val
(),
modelContent
:
encodeURI
(
$
(
"
#modelContent
"
).
val
()),
modelText
:
encodeURI
(
$
(
"
#modelContent
"
).
val
()),
modelType
:
$
(
"
#modelType
"
).
val
(),
groupId
:
parent
.
groupId
,
};
...
...
skyeye-web/src/main/webapp/tpl/codemodel/codemodeladd.html
浏览文件 @
3f3043e0
...
...
@@ -6,6 +6,7 @@
<link
href=
"../../assets/lib/layui/css/layui.css"
rel=
"stylesheet"
/>
<link
href=
"../../assets/lib/font-awesome-4.7.0/css/font-awesome.css"
rel=
"stylesheet"
/>
<link
href=
"../../assets/lib/winui/css/winui.css"
rel=
"stylesheet"
/>
<link
href=
"../../assets/lib/layui/css/codemirror.css"
rel=
"stylesheet"
/>
<link
href=
"../../assets/lib/layui/lay/modules/ztree/css/zTreeStyle/zTreeStyle.css"
rel=
"stylesheet"
/>
<link
href=
"../../assets/lib/layui/lay/modules/contextMenu/jquery.contextMenu.min.css"
rel=
"stylesheet"
/>
</head>
...
...
@@ -21,7 +22,50 @@
<div
class=
"layui-form-item"
>
<label
class=
"layui-form-label"
>
模板内容
<i
class=
"red"
>
*
</i></label>
<div
class=
"layui-input-block"
>
<textarea
id=
"modelContent"
name=
"modelContent"
class=
"layui-input"
></textarea>
<select
id=
"modelType"
name=
"modelType"
class=
"layui-input"
win-verify=
"required"
>
<option
value=
""
></option>
<optgroup
label=
"CLIKE"
>
<option
value=
"Java"
>
Java
</option>
<option
value=
"C"
>
C
</option>
<option
value=
"C++"
>
C++
</option>
<option
value=
"Objective-C"
>
Objective-C
</option>
<option
value=
"Scala"
>
Scala
</option>
<option
value=
"Kotlin"
>
Kotlin
</option>
<option
value=
"Ceylon"
>
Ceylon
</option>
</optgroup>
<optgroup
label=
"XML"
>
<option
value=
"xml"
>
xml
</option>
<option
value=
"html"
>
html
</option>
</optgroup>
<optgroup
label=
"CSS"
>
<option
value=
"css"
>
css
</option>
</optgroup>
<optgroup
label=
"HTMLMIXED"
>
<option
value=
"htmlmixed"
>
htmlmixed
</option>
<option
value=
"html混合模式"
>
html混合模式
</option>
</optgroup>
<optgroup
label=
"JAVASCRIPT"
>
<option
value=
"javascript"
>
javascript
</option>
</optgroup>
<optgroup
label=
"NGINX"
>
<option
value=
"nginx"
>
nginx
</option>
</optgroup>
<optgroup
label=
"SOLR"
>
<option
value=
"solr"
>
solr
</option>
</optgroup>
<optgroup
label=
"SQL"
>
<option
value=
"sql"
>
sql
</option>
</optgroup>
<optgroup
label=
"VUE"
>
<option
value=
"vue"
>
vue
</option>
</optgroup>
</select>
</div>
</div>
<div
class=
"layui-form-item"
>
<label
class=
"layui-form-label"
>
模板内容
<i
class=
"red"
>
*
</i></label>
<div
class=
"layui-input-block"
>
<textarea
id=
"modelContent"
></textarea>
</div>
</div>
<div
class=
"layui-form-item"
>
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录