| {% extends "layout.html" %} |
| {% block content %} |
| <link rel="stylesheet" href="{{g.cdn_url}}/vite/ace/styles/icons.css"> |
| <link rel="stylesheet" href="{{g.cdn_url}}/css/xterm.css"> |
| <link rel="stylesheet" type="text/css" href="{{g.cdn_url}}/css/files_style.css"> |
| <link href="{{g.cdn_url}}/vite/ace/diff/ace-diff.min.css" rel="stylesheet"> |
| <link href="{{g.cdn_url}}/vite/ace/diff/ace-diff-dark.min.css" rel="stylesheet"> |
| <style id="file_list_info"> |
| .file_checkbox { |
| width: 40px !important; |
| |
| } |
| |
| .file_name { |
| width: 300px !important; |
| } |
| |
| .file_tamper_core { |
| width: 100px !important; |
| } |
| |
| .file_ps { |
| width: 200px !important; |
| } |
| |
| .file_size { |
| width: 100px !important; |
| } |
| |
| .file_mtime { |
| width: 180px !important; |
| } |
| |
| .file_user { |
| width: 80px !important; |
| } |
| |
| .file_accept { |
| width: 80px !important; |
| } |
| |
| .file_operation { |
| width: 220px !important; |
| } |
| |
| .file_table_view.list_view .file_list_content .file_tr { |
| width: auto; |
| } |
| |
| .file_table_view.list_view .file_list_content { |
| width: auto; |
| } |
| </style> |
| <style> |
| |
| .upload_download .nav_down_list li span:nth-child(2) { |
| width: 140px |
| } |
| |
| |
| .file_list_content .glyphicon-pushpin { |
| font-size: 17px; |
| position: absolute; |
| color: #23527c; |
| margin-top: 11px; |
| cursor: pointer; |
| } |
| |
| |
| |
| |
| .replace_content_view.layui-layer-page .layui-layer-content { |
| overflow: inherit; |
| } |
| |
| .file-expert-search .tname { |
| width: 70px |
| } |
| |
| .file-expert-search .line { |
| padding: 0; |
| } |
| |
| .file-expert-search .line:first-child { |
| padding-top: 0; |
| } |
| |
| .file-expert-search .line .info-r { |
| margin-left: 70px; |
| margin-bottom: 0px; |
| } |
| |
| .file-expert-search .line-no-pd { |
| padding-top: 0px |
| } |
| |
| .file-expert-search .bt_select_updown .bt_select_value, |
| .file-expert-search .bt_select_updown { |
| height: 36px; |
| line-height: 35px; |
| } |
| |
| .file-expert-search-ext li { |
| display: inline-block; |
| padding: 2px 10px; |
| color: #767575; |
| background: #f7f7f7; |
| border-radius: 4px; |
| margin-right: 5px; |
| margin-bottom: 4px; |
| cursor: pointer; |
| border: 1px solid #eee; |
| } |
| |
| .file-expert-search-ext li:hover { |
| background: #e5e5e5 |
| } |
| |
| .file-expert-search .inlineBlock.vertBootom { |
| vertical-align: bottom; |
| } |
| |
| .file-expert-search .inlineBlock.vertBootom.pr8 { |
| vertical-align: middle; |
| } |
| |
| |
| |
| .demo-class .line { |
| padding-left: 35px; |
| } |
| |
| |
| |
| |
| .cover_single_file { |
| padding: 20px; |
| } |
| |
| .cover_single_file .rows { |
| display: flex; |
| line-height: 25px; |
| } |
| |
| .cover_single_file .rows+.rows { |
| margin-top: 12px; |
| } |
| |
| .cover_single_file .rows.input { |
| line-height: 30px; |
| } |
| |
| .cover_single_file .rows-label { |
| width: 110px; |
| padding-left: 10px; |
| } |
| |
| .cover_single_file .rows-value { |
| flex: 1; |
| width: 0; |
| overflow: hidden; |
| white-space: nowrap; |
| text-overflow: ellipsis; |
| } |
| |
| |
| |
| |
| @keyframes load8 { |
| from { |
| transform: rotate(0deg); |
| } |
| |
| to { |
| transform: rotate(360deg); |
| } |
| } |
| |
| @-webkit-keyframes load8 { |
| from { |
| transform: rotate(0deg); |
| } |
| |
| to { |
| transform: rotate(360deg); |
| } |
| } |
| |
| |
| .spyware_detection_view { |
| padding: 20px; |
| } |
| |
| .spyware_detection_head { |
| display: flex; |
| align-items: center; |
| padding-bottom: 20px; |
| border-bottom: 1px solid #F1F1F1; |
| } |
| |
| .spyware_detection_head .head_icon { |
| position: relative; |
| display: flex; |
| align-items: center; |
| justify-content: center; |
| width: 76px; |
| height: 76px; |
| } |
| |
| .spyware_detection_head .head_icon .icon { |
| width: 76px; |
| height: 76px; |
| } |
| |
| .spyware_detection_head .head_icon .start_icon { |
| width: 50px; |
| height: 50px; |
| } |
| |
| .spyware_detection_head .head_icon .status_loading { |
| position: absolute; |
| top: 50%; |
| left: 50%; |
| margin-top: -33px; |
| margin-left: -33px; |
| width: 66px; |
| height: 66px; |
| border: 2px solid #20a53a; |
| border-top: 2px solid transparent; |
| border-radius: 50%; |
| animation: load8 1.1s infinite linear; |
| -webkit-animation: load8 1.1s infinite linear; |
| } |
| |
| .spyware_detection_head .head_icon .status_loading.danger { |
| border-color: red; |
| border-top-color: transparent; |
| } |
| |
| .spyware_detection_head .scanned_num { |
| margin-left: 4px; |
| } |
| |
| .spyware_detection_head .total_num { |
| margin-right: 4px; |
| } |
| |
| .spyware_detection_head .tqnum { |
| margin: 0 4px; |
| color: red; |
| } |
| |
| .spyware_detection_head .head_left { |
| flex: 1; |
| width: 0; |
| height: 76px; |
| margin: 0 15px; |
| padding-top: 12px; |
| } |
| |
| .spyware_detection_head .info { |
| display: flex; |
| align-items: center; |
| margin-bottom: 8px; |
| font-size: 18px; |
| color: #444; |
| font-weight: 600; |
| } |
| |
| .spyware_detection_head .file { |
| width: 100%; |
| word-break: break-all; |
| font-size: 12px; |
| color: #666; |
| } |
| |
| .spyware_detection_head .btn { |
| width: 100px; |
| height: 38px; |
| } |
| |
| .spyware_detection_progress { |
| display: flex; |
| align-items: center; |
| } |
| |
| .spyware_detection_progress .progress_bar { |
| position: relative; |
| flex: 1; |
| height: 2px; |
| border-radius: 100px; |
| background-color: #ebeef5; |
| } |
| |
| .spyware_detection_progress .progress_bar .inner { |
| position: absolute; |
| left: 0; |
| top: 0; |
| height: 100%; |
| background-color: #20a53a; |
| border-radius: 100px; |
| transition: width .6s ease; |
| } |
| |
| .spyware_detection_progress .text { |
| width: 40px; |
| margin-left: 10px; |
| text-align: right; |
| } |
| |
| .spyware_detection_body { |
| margin-top: 20px; |
| } |
| |
| .spyware_detection_view .divtable { |
| border: 1px solid #ddd; |
| } |
| |
| .spyware_detection_view .divtable table { |
| border: none; |
| } |
| |
| .text_ellipsis { |
| text-overflow: ellipsis; |
| overflow: hidden; |
| white-space: nowrap; |
| } |
| |
| |
| |
| .cloud-head-box { |
| height: 62px; |
| border-bottom: 1px solid #ddd; |
| } |
| |
| .cloud-content-box { |
| height: 510px; |
| overflow: auto; |
| } |
| |
| .cloud-layer-view .btn { |
| border-radius: 0; |
| } |
| |
| .cloud-layer-view .place-input { |
| background-color: #f3f3f3; |
| border: 1px solid #ccc; |
| height: 30px; |
| line-height: 28px; |
| overflow: hidden; |
| margin: 1px 0 0 -1px; |
| width: 340px; |
| } |
| |
| .cloud-layer-view .place-input ul { |
| display: inline-block; |
| position: relative; |
| width: auto; |
| } |
| |
| .cloud-layer-view .place-input ul li { |
| background: url("/static/img/ico/ico-ltr.png") no-repeat right center; |
| float: left; |
| padding-left: 10px; |
| padding-right: 18px; |
| } |
| |
| .cloud-layer-view .place-input ul li a { |
| height: 28px; |
| cursor: pointer; |
| display: inline-block; |
| } |
| |
| .cloud-content-box .list-list .cursor span { |
| line-height: 30px; |
| } |
| |
| |
| |
| span.Conflict { |
| color: red; |
| width: 72px !important; |
| } |
| |
| .dropUpLoadFile li .cancel-btn { |
| display: inline !important; |
| padding-top: 5px; |
| } |
| |
| button.btn.btn-primary.btn-sm.upload_file_btn { |
| background: #f1f9f3; |
| border-color: #20a53a; |
| color: #20a53a; |
| } |
| |
| button.btn.btn-primary.btn-sm.dropdown-toggle { |
| background: #f1f9f3; |
| color: #20A53A; |
| border-color: #20A53A; |
| } |
| |
| button.btn.btn-sm.btn-default.empty-record { |
| padding-left: 12px; |
| padding-right: 12px; |
| border-radius: 2px; |
| } |
| |
| button.btn.btn-sm.btn-default.empty-record:hover { |
| border-color: #BCE4C4; |
| background-color: #F1F9F3; |
| color: #20A53A; |
| outline: 0; |
| |
| } |
| |
| button.btn.btn-sm.btn-default.empty-record:active { |
| border-color: #1D9534; |
| background-color: #F1F9F3; |
| color: #20A53A; |
| -webkit-box-shadow: none !important; |
| box-shadow: none !important; |
| } |
| |
| button.btn.btn-sm.btn-default.empty-record:focus { |
| background-color: #F1F9F3 !important; |
| } |
| |
| .btn:active { |
| -webkit-box-shadow: none !important; |
| box-shadow: none !important; |
| } |
| |
| .dropUpLoadFileHead li.fileTitle span { |
| font-size: 14px; |
| color: #999; |
| } |
| |
| #icon_clean:hover { |
| fill: #cbcbcb; |
| } |
| |
| .upload_btn_groud { |
| margin-bottom: 10px; |
| } |
| |
| .flex.pd15 { |
| padding-left: 20px; |
| padding-right: 20px; |
| } |
| |
| .list-list .ico-file { |
| background-size: 14px 14px; |
| } |
| |
| .upload_btn_groud .dropdown-menu { |
| top: 38px; |
| border-color: #e4e7ed; |
| } |
| |
| .upload_btn_groud .dropdown-menu>li>a:hover { |
| background-color: rgb(245, 247, 250); |
| color: #20a53a; |
| } |
| |
| .upload_btn_groud .dropdown-menu:before { |
| top: -12px; |
| height: 12px; |
| } |
| |
| .upload_btn_groud .dropdown-menu::after { |
| content: ''; |
| position: absolute; |
| top: -9px; |
| right: 50px; |
| background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABcAAAAOCAYAAADE84fzAAAABHNCSVQICAgIfAhkiAAAATFJREFUOI2tks9Og0AQhwdTEVISiGLa6MF48BG882h79eYbER/BxBjj0kxBFlL+1EIqyKGMB6MxtLQU+11n8v1mdhagIxxDC93ZXdd+AIBB10YJyF7VK+AoypvrS7ZPyFbct+g+SfOCiMgV0YyjOIyco2Bxmk3oD54f+f8O4CiY58cuNSjKihwMqHcAx9ByMKCirJruRkBotTmO2goSkG0YWqUq8sa6qshwMT4DCcjeFrCGg4Edp4vpxpH32GBtco6CaUNFMU/1qy6DqIoMhq597tyAo2BTL3ruMnGTZJ7NW2/AUTAHAyKiso+ciChOF/4Ew4eG+PtnLD/Kp77i34Ake3UwsAEApJ8Dapo6HJnGbZd33kWcZI/5sngfcAwtVT3OR6YxBoCXQ8jPTf2kplr5AtnIvg9TDvU3AAAAAElFTkSuQmCC') no-repeat; |
| width: 14px; |
| height: 14px; |
| background-size: 14px; |
| } |
| |
| |
| .splitOpen .inlineBlock.group span { |
| height: 32px; |
| line-height: 31px; |
| } |
| |
| .sn-home--open-condition { |
| display: inline-block; |
| color: #E6A23C; |
| background: #FDF6EC; |
| border-radius: 2px; |
| display: flex; |
| flex-direction: column; |
| padding: 10px; |
| } |
| |
| .sn-home--open-condition .sn-home--important-note { |
| border: 1px solid #E6A23C; |
| border-radius: 8px; |
| cursor: help; |
| display: inline-block; |
| font-family: arial; |
| font-size: 11px; |
| font-style: normal; |
| height: 16px; |
| line-height: 16px; |
| margin-right: 5px; |
| text-align: center; |
| width: 16px; |
| } |
| |
| .joinFile { |
| position: absolute; |
| right: 0; |
| bottom: 12px; |
| background-color: transparent; |
| color: #20A53A; |
| height: 14px; |
| line-height: 14px; |
| font-size: 14px; |
| } |
| |
| .joinFile:hover { |
| color: #1d9534; |
| } |
| |
| #search_history { |
| width: 230px; |
| position: absolute; |
| z-index: 99999999; |
| background: #fff; |
| height: 270px; |
| top: 33px; |
| } |
| |
| .replaceContentValue:focus { |
| outline: none; |
| } |
| |
| .input_option_active { |
| background: #272822; |
| color: #fff; |
| } |
| |
| .show { |
| display: block !important; |
| } |
| |
| .ext-close::before { |
| content: '×'; |
| font-style: normal; |
| } |
| .search-box { |
| display: flex; |
| height: 100%; |
| border: 1px solid #EBEEF5; |
| } |
| #search_file_btn{ |
| border-radius: 2px; |
| } |
| #search_file_btn.disabled { |
| opacity: 0.6; |
| cursor: not-allowed; |
| } |
| .box-left { |
| width: 20%; |
| height: 100%; |
| display: flex; |
| flex-direction: column; |
| } |
| .box-left_top { |
| padding: 7px; |
| border-bottom: 1px solid #EBEEF5; |
| border-right: 1px solid #EBEEF5; |
| } |
| .box-left_bottom { |
| cursor: pointer; |
| height: 100%; |
| overflow: auto; |
| } |
| .box-left_bottom .left_bottom_item { |
| background: #fff; |
| padding: 5px 4px 5px 10px; |
| display: flex; |
| justify-content: space-between; |
| min-height: 40px; |
| align-items: center; |
| overflow: auto; |
| border-bottom: 1px solid #ececec; |
| cursor: pointer; |
| font-size: 12px; |
| } |
| .box-left_bottom .left_bottom_item.active { |
| background-color: #EEF8F0; |
| color: #20a53a; |
| } |
| .box-left_bottom .left_bottom_item .bottom_item_name { |
| flex: 1; |
| position: relative; |
| text-overflow: ellipsis; |
| overflow: hidden; |
| white-space: nowrap; |
| } |
| .box-left_bottom .left_bottom_item .bottom_item_num { |
| padding: 0px 2px; |
| background-color: #cdcdcd; |
| color: #fff; |
| border-radius: 2px; |
| transform: scale(0.8, 0.8); |
| } |
| |
| .box-right_top .right_top_title { |
| position: relative; |
| text-overflow: ellipsis; |
| overflow: hidden; |
| white-space: nowrap; |
| max-width: 730px; |
| } |
| .box-right { |
| width: 80%; |
| display: flex; |
| flex-direction: column; |
| } |
| .box-right_top{ |
| padding: 7px; |
| display: flex; |
| } |
| .box-right_bottom { |
| background: #272822; |
| height: 100%; |
| color: #fff; |
| padding: 20px; |
| display: flex; |
| flex-direction: column; |
| overflow: auto; |
| word-break: break-all; |
| } |
| .search_content { |
| border: 1px solid #DCDFE6; |
| } |
| .search_content .content_item{ |
| display: flex; |
| justify-content: space-between; |
| padding: 8px; |
| border-bottom: 1px solid #DCDFE6; |
| } |
| .search_content .content_item:last-child { |
| border-bottom: none; |
| } |
| |
| .input_option::before{ |
| content: ''; |
| width:1px; |
| height: 20px; |
| background: #ddd; |
| position: absolute; |
| left: -10px; |
| top: 2px; |
| } |
| .input_option span{ |
| width:32px; |
| height:24px; |
| border-radius:2px; |
| display:flex; |
| align-items:center; |
| justify-content:center; |
| cursor:pointer; |
| } |
| .input_option span:last-child{ |
| font-size: 16px; |
| } |
| .input_option span.active{ |
| background: #F1F9F3 !important; |
| color: #20a53a !important; |
| border: 1px solid #BCE4C4; |
| } |
| .firwall_place_of_attribution{ |
| width: 20px; |
| height: 20px; |
| background-size: 20px; |
| } |
| .buy_search_introduce{ |
| background: #FDF6EC; |
| color: #E6A23C; |
| width: 560px; |
| border-radius: 4px; |
| border: 1px dashed #E6A23C; |
| margin: 0 auto; |
| padding: 15px; |
| margin: 100px auto 0 auto; |
| } |
| .buy_search_introduce ul li{ |
| margin: 15px 0 20px 0; |
| list-style: inside disc; |
| } |
| .inlineFloatExt{ |
| display: none; |
| width: 322px; |
| position: absolute; |
| right: 22px; |
| padding: 4px 6px; |
| border: 1px solid #ddd; |
| background: #fff; |
| z-index:1; |
| } |
| .inlineFloatExt li { |
| display: inline-block; |
| padding: 2px 10px; |
| color: #767575; |
| background: #f7f7f7; |
| border-radius: 4px; |
| margin-right: 5px; |
| margin-bottom: 4px; |
| cursor: pointer; |
| border: 1px solid #eee; |
| } |
| |
| .inlineFloatExt li:hover { |
| background: #e5e5e5 |
| } |
| .content_item .search_item_name{ |
| max-width: 620px; |
| word-wrap: break-word; |
| } |
| |
| |
| |
| .tools-multiple-choices div { |
| cursor: pointer; |
| margin: 5px; |
| display: inline-block; |
| position: relative; |
| padding: 4px; |
| } |
| |
| .tools-multiple-choices div.selected i { |
| display: inline-block; |
| width: 6px; |
| height: 3px; |
| vertical-align: 2px; |
| margin-left: 2px; |
| border-left: 1px solid #909399; |
| border-bottom: 1px solid #909399; |
| transform: rotate(-45deg); |
| } |
| |
| .tools-multiple-choices div.selected { |
| color: #909399; |
| background-color: #f4f4f5; |
| border-color: #e9e9eb; |
| } |
| |
| .tools-multiple-choices div:hover { |
| background-color: rgb(245, 247, 250); |
| } |
| </style> |
| <div class="main-content"> |
| <a style="display: none;" id="recycle_bin" data="{{data['recycle_bin']}}"></a> |
| |
| <div class="file_bodys radius4" style="min-width: 1116px;"> |
| <div class="file_path_views"> |
| <div class="file_path_upper" title="上一层"> |
| <span class="glyphicon glyphicon-arrow-left"></span> |
| |
| </div> |
| <div class="file_path_input"> |
| <div class="file_path_shadow"></div> |
| <div class="file_dir_view"></div> |
| <input type="text" data-path="/www/wwwroot" data-backspace class="path_input" id="fileInputPath" /> |
| </div> |
| <div class="file_path_refresh" title="刷新列表"><i class="icon-file icon-file-refresh"></i></div> |
| <div class="search_path_views"> |
| <input type="text" placeholder="搜索文件/目录" class="file_search_input"> |
| <button type="submit" class="path_btn"><i class="iconfont icon-search"></i></button> |
| <div class="file_search_config" draggable="false"> |
| <div id="search_all" class="file_search_checked"></div> |
| <label for="search_all">包含子目录</label> |
| </div> |
| |
| |
| |
| |
| |
| |
| |
| </div> |
| </div> |
| <div class="file_nav_view"> |
| <div class="nav_group"> |
| <div class="nav_btn upload_file"> |
| <span class="nav_btn_title">上传</span> |
| </div> |
| </div> |
| <div class="nav_group"> |
| <div class="nav_btn upload_download"> |
| <span class="nav_btn_title">远程下载</span><i class="iconfont icon-xiala"></i> |
| <ul class="nav_down_list"></ul> |
| </div> |
| </div> |
| <div class="nav_group"> |
| <div class="nav_btn create_file_or_dir"> |
| <span class="nav_btn_title">新建</span><i class="iconfont icon-xiala"></i> |
| <ul class="nav_down_list" data-menu="newFileType"> |
| <li data-type="newBlankDir"><i class="file_menu_icon create_file_icon"></i><span>新建目录</span></li> |
| <li data-type="newBlankFile"><i class="file_new_icon"></i><span>新建空白文件</span></li> |
| <li data-type="newBlankFile"><i class="file_new_icon soft_link_file_icon"></i><span>软链接文件</span></li> |
| </ul> |
| </div> |
| </div> |
| <div class="nav_group"> |
| <div class="nav_btn replace_content"> |
| <span class="nav_btn_title">文件内容搜索</span> |
| </div> |
| </div> |
| <div class="nav_group"> |
| <div class="nav_btn favorites_file_path"> |
| <span class="nav_btn_title" data-menu="favorites">收藏夹</span><i class="iconfont icon-xiala"></i> |
| <ul class="nav_down_list"></ul> |
| </div> |
| </div> |
| <div class="nav_group"> |
| <div class="nav_btn share_file_list"> |
| <span class="nav_btn_title">分享列表</span> |
| </div> |
| </div> |
| <div class="nav_group "> |
| <div class="nav_btn terminal_view"> |
| <i class="iconfont icon-terminal"></i> |
| <span class="nav_btn_title">终端</span> |
| </div> |
| </div> |
| <div class="nav_group"> |
| <div class="nav_btn file_history_show"> |
| <span class="nav_btn_title"><span>文件操作记录</span></span> |
| </div> |
| </div> |
| |
| <div class="nav_group mount_disk_list"></div> |
| <div class="nav_group tamper_core"> |
| <div class="nav_btn tamper_hover_tips"> |
| |
| |
| <span class="nav_btn_title"><span>企业级防篡改</span></span> |
| </div> |
| </div> |
| <div class="nav_group ml5"> |
| <div class="nav_btn file_rsync_list"> |
| |
| |
| <span class="nav_btn_title"><span>文件同步</span></span> |
| </div> |
| </div> |
| <div class="float_r menu-header-foot"> |
| <div class="file_menu_tips"><span class="glyphicon glyphicon-info-sign"></span><span>文件操作可使用右键</span></div> |
| <div class="nav_group multi hide"> |
| <div class="batch_multi_title"> |
| <span>批量操作</span> |
| <i class="iconfont icon-xiala"></i> |
| <div class="batch_group_list"> |
| <div class="nav_btn_group" data-type="copy"><i class="file_menu_icon copy_file_icon"></i><span |
| class="nav_btn_title">复制</span></div> |
| <div class="nav_btn_group" data-type="shear"><i class="file_menu_icon shear_file_icon"></i><span |
| class="nav_btn_title">剪切</span></div> |
| <div class="nav_btn_group" data-type="compress"><i class="file_menu_icon compress_file_icon"></i><span |
| class="nav_btn_title">压缩</span></div> |
| <div class="nav_btn_group" data-type="authority"><i class="file_menu_icon power_file_icon"></i><span |
| class="nav_btn_title">权限</span></div> |
| <div class="nav_btn_group" data-type="del"><i class="file_menu_icon del_file_icon"></i><span |
| class="nav_btn_title">删除</span></div> |
| <div class="nav_btn_group hide" |
| style="padding-left:10px;border-left: 1px solid #cfcfcf;margin-left: -1px;"> |
| <span class="nav_btn_title">更多</span><i class="iconfont icon-xiala"></i> |
| <ul class="nav_down_list"> |
| <li data-type="copy"><i class="file_menu_icon copy_file_icon"></i><span>复制</span></li> |
| <li data-type="shear"><i class="file_menu_icon shear_file_icon"></i><span>剪切</span></li> |
| <li data-type="compress"><i class="file_menu_icon compress_file_icon"></i><span>压缩</span></li> |
| <li data-type="authority"><i class="file_menu_icon power_file_icon"></i><span>权限</span></li> |
| <li data-type="del"><i class="file_menu_icon del_file_icon"></i><span>删除</span></li> |
| </ul> |
| </div> |
| </div> |
| </div> |
| </div> |
| <div class="nav_group file_all_paste hide"> |
| <div class="nav_btn_group"> |
| <i class="file_menu_icon paste_file_icon"></i><span class="nav_btn_title">粘贴</span> |
| </div> |
| </div> |
| <div class="nav_group recycle_bin"> |
| <div class="nav_btn"><span class="glyphicon glyphicon-trash"></span><span class="nav_btn_title">回收站</span> |
| </div> |
| </div> |
| <div class="nav_group btn-group btn-group-sm"> |
| <div class="btn btn-default cut_view_model" data-type="icon"><i class="glyphicon glyphicon-th"></i></div> |
| <div class="btn btn-default cut_view_model" data-type="list"><i class="glyphicon glyphicon-th-list"></i></div> |
| </div> --> |
| <div class="nav_group"> |
| <div class="set_list_fid_dropdown" style="font-size: 12px;"> |
| <div class="setting_btn" style="width: 32px;height: 32px;"> |
| <i class="glyphicon glyphicon-cog icon-setting"></i> |
| </div> |
| <ul class="setting_ul" style="display: none;"> |
| <li class="setting_ul_li active disabled"> |
| <i></i><span class="ml10">文件名</span> |
| </li> |
| </ul> |
| </div> |
| </div> |
| </div> |
| </div> |
| <div class="file_table_view"> |
| <div class="file_list_header"> |
| <div class="file_main_title"> |
| <div class="file_checkbox file_th"> |
| <div class="file_check" data-type="all" data-checkbox="0"></div> |
| </div> |
| <div class="file_name file_th" data-tid="name"> |
| <span>文件名</span> |
| <div class="icon_sort"></div> |
| </div> |
| |
| |
| |
| |
| |
| <div class="file_width_resize"></div> |
| <div class="file_tamper_core file_th" data-tid="tamper_core"> |
| <span>防篡改</span> |
| <div class="icon_sort"></div> |
| </div> |
| <div class="file_width_resize"></div> |
| <div class="file_accept file_th" data-tid="accept"> |
| <span>权限 / 所有者</span> |
| <div class="icon_sort"></div> |
| </div> |
| <div class="file_width_resize"></div> |
| <div class="file_size file_th" data-tid="size"> |
| <span>大小</span> |
| <div class="icon_sort"></div> |
| </div> |
| <div class="file_width_resize"></div> |
| <div class="file_mtime file_th" data-tid="mtime"> |
| <span>修改时间</span> |
| <div class="icon_sort"></div> |
| </div> |
| <div class="file_width_resize"></div> |
| <div class="file_ps file_th" data-tid="ps"> |
| <span>备注</span> |
| <div class="icon_sort"></div> |
| </div> |
| |
| <div class="file_width_resize"></div> |
| <div class="file_operation file_th align-right" data-tid="operation"> |
| <span>操作</span> |
| </div> |
| </div> |
| </div> |
| <div class="file_list_shadow file_shadow_top" style="opacity: 0;"></div> |
| <div class="file_list_content file_manage"></div> |
| <div class="file_list_shadow file_shadow_bottom" style="opacity: 0;"></div> |
| <div class="onselectstart"></div> |
| </div> |
| <div class="file_right_menu file_menu_list"> |
| <ul class="set_group"> |
| |
| <li data-id="edit_file"><i class="file_menu_icon edit_file_icon"></i><span>打开</span></li> |
| <li data-id="download_file"><i class="file_menu_icon download_file_icon"></i><span>下载</span></li> |
| <li class="separate"></li> |
| <li data-id="copy_file"><i class="file_menu_icon copy_file_icon"></i><span>复制</span></li> |
| <li data-id="paste_file"><i class="file_menu_icon paste_file_icon"></i><span>粘贴</span></li> |
| |
| <li data-id="shear_file"><i class="file_menu_icon shear_file_icon"></i><span>剪切</span></li> |
| <li class="separate"></li> |
| <li data-id="rename_file"><i class="file_menu_icon rename_file_icon"></i><span>重命名</span></li> |
| <li data-id="power_file"><i class="file_menu_icon power_file_icon"></i><span>权限</span></li> |
| <li data-id="decompression_file"><i class="file_menu_icon decompression_file_icon"></i><span>解压</span></li> |
| <li data-id="compress_file"> |
| <i class="file_menu_icon compress_file_icon"></i><span>创建压缩</span> |
| <div class="file_menu_down"> |
| <span class="glyphicon glyphicon-triangle-right" aria-hidden="true"></span> |
| <ul class="set_group"> |
| <li><i class="file_menu_icon compress_file_icon"></i><span>tar.gz(推荐)</span></li> |
| <li><i class="file_menu_icon compress_file_icon"></i><span>zip(通用格式)</span></li> |
| <li><i class="file_menu_icon compress_file_icon"></i><span>rar(WinRAR对中文兼容较好)</span> |
| </li> |
| </ul> |
| </div> |
| </li> |
| <li data-id="del_file"><i class="file_menu_icon del_file_icon"></i><span>删除</span></li> |
| <li class="separate"></li> |
| <li data-id="add_favorites"><i class="file_menu_icon add_favorites_icon"></i><span>添加至收藏夹</span> |
| </li> |
| </ul> |
| </div> |
| <div class="selection_right_menu file_menu_list"> |
| <ul class="set_group"> |
| <li data-id="copy_file"><i class="file_menu_icon copy_file_icon"></i><span>复制</span></li> |
| <li data-id="paste_file"><i class="file_menu_icon shear_file_icon"></i><span>剪切</span></li> |
| <li data-id="download_file"><i class="file_menu_icon download_file_icon"></i><span>下载</span></li> |
| <li class="separate"></li> |
| <li data-id="del_file"><i class="file_menu_icon del_file_icon"></i><span>删除</span></li> |
| <li class="separate"></li> |
| <li data-id="paste_file"><i class="file_menu_icon copy_file_icon"></i><span>复制到</span></li> |
| <li data-id="paste_file"><i class="file_menu_icon shear_file_icon"></i><span>移动到</span></li> |
| <li class="separate"></li> |
| <li data-id="compress_file"> |
| <i class="file_menu_icon compress_file_icon"></i><span>创建压缩</span> |
| <div class="file_menu_down"><span class="glyphicon glyphicon-triangle-right" aria-hidden="true"></span></div> |
| </li> |
| </ul> |
| </div> |
| <div class="content_right_menu file_menu_list"> |
| <ul class="set_group"> |
| <li data-id="refresh_file"><i class="file_menu_icon refresh_file_icon"></i><span>刷新</span></li> |
| <li class="separate"></li> |
| <li data-id="upload_file"><i class="file_menu_icon upload_file_icon"></i><span>上传</span></li> |
| <li data-id="newly_file"><i class="file_menu_icon newly_file_icon"></i><span>新建文件夹/文件</span></li> |
| <li class="separate"></li> |
| <li data-id="paste_file"><i class="file_menu_icon paste_file_icon"></i><span>粘贴</span></li> |
| </ul> |
| </div> |
| <div class="filePage pagination page" style="padding:0"></div> |
| </div> |
| </div> |
| <script type="text/template" id="upload_file_template"> |
| <div class="upload_or_download_view"> |
| <div class="upload_or_download_content active" data-type="upload"> |
| <div class="upload_btn_groud"> |
| <div class="btn-group"> |
| <button type="button" class="btn btn-primary btn-sm upload_file_btn">上传文件</button> |
| <button type="button" class="btn btn-primary btn-sm dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> |
| <span class="caret"></span> |
| <span class="sr-only">Toggle Dropdown</span> |
| </button> |
| <ul class="dropdown-menu"> |
| <li><a href="#" data-type="file">上传文件</a></li> |
| <li><a href="#" data-type="dir">上传目录</a></li> |
| </ul> |
| </div> |
| <div class="file_upload_info" style="display:none;"> |
| <span>总进度 <i class="uploadProgress"></i>,正在上传 <i class="uploadNumber"></i>,</span> |
| <span style="display:none">上传失败 <i class="uploadError"></i></span> |
| <span>上传速度 <i class="uploadSpeed">获取中</i>,</span> |
| <span>预计上传时间 <i class="uploadEstimate">获取中</i></span><i></i> |
| </div> |
| </div> |
| <div class="upload_file_body active"><span>请将需要上传的文件拖到此处</span></div> |
| <div class="upload_btn_group"><button type="button" class="btn btn-danger btn-sm upload_file_clear">取消上传</button><button type="button" class="btn btn-success btn-sm upload_file_submit">开始上传</button></div> |
| </div> |
| </div> |
| </script> |
| <script type="text/template" id="aceTmplate"> |
| <div id="ace_conter"> |
| <div class="ace_header" style="top: 0"> |
| <span class="saveFile"><i class="glyphicon glyphicon-floppy-disk" aria-hidden="true"></i><span>保存</span></span> |
| <span class="saveFileAll"><i class="glyphicon glyphicon-duplicate" aria-hidden="true"></i><span>全部保存</span></span> |
| <span class="openFile"><i class="glyphicon glyphicon-open" aria-hidden="true"></i><span>文件</span></span> |
| <span class="refreshs"><i class="glyphicon glyphicon-refresh" aria-hidden="true"></i><span>刷新</span></span> |
| <span class="searchs"><i class="glyphicon glyphicon-search" aria-hidden="true"></i><span>搜索</span></span> |
| <span class="replaces"><i class="glyphicon glyphicon-retweet" aria-hidden="true"></i><span>替换</span></span> |
| <span class="jumpLine"><i class="glyphicon glyphicon-pushpin" aria-hidden="true"></i><span>跳转行</span></span> |
| <span class="fontSize"><i class="glyphicon glyphicon-text-width" aria-hidden="true"></i><span>字体</span></span> |
| <span class="themes"><i class="glyphicon glyphicon-magnet" aria-hidden="true"></i><span>主题</span></span> |
| <span class="setUp"><i class="glyphicon glyphicon-cog" aria-hidden="true"></i><span>设置</span><div class="red-poins" style="display: none;"></div></span> |
| <span class="helps"><i class="glyphicon glyphicon-question-sign" aria-hidden="true"></i><span>快捷键</span></span> |
| <span class="historys"style="display: flex;align-items: center;"><i class="icon-historys" aria-hidden="true"></i><span>文件历史记录</span></span> |
| <div class="pull-down" title="隐藏工具条" style="top: 0"><i class="glyphicon glyphicon-menu-down" aria-hidden="true"></i></div> |
| </div> |
| <div class="ace_overall" style="top: 30px;"> |
| |
| <div class="ace_catalogue" style="left:0px"> |
| <div class="ace_catalogue_title">目录<input type="text" id="ace_catalogue_input" class="ace_catalogue_input" value=""/></div> |
| <div class="ace_dir_tools"> |
| <div class="upper_level" title="返回上级目录"> |
| <i class="glyphicon glyphicon-share-alt" aria-hidden="true"></i> |
| <span>上一级</span> |
| </div> |
| <div class="search_file" title="搜索内容"> |
| <i class="glyphicon glyphicon-search" aria-hidden="true"></i> |
| <span>搜索</span> |
| </div> |
| <div class="new_folder" title="新建文件/目录"> |
| <i class="glyphicon glyphicon-plus" aria-hidden="true"></i> |
| <span>新建</span> |
| <ul class="folder_down_up"> |
| <li data-type="2"><i class="folder-icon"></i>新建文件夹</li> |
| <li data-type="3"><i class="text-icon"></i>新建文件</li> |
| </ul> |
| </div> |
| <div class="refresh_dir" title="刷新当前目录"> |
| <span class="glyphicon glyphicon-refresh" aria-hidden="true"></span> |
| <span>刷新</span> |
| </div> |
| <span class="ace_editor_main_storey"></span> |
| </div> |
| <div class="ace_catalogue_list"> |
| <ul class="cd-accordion-menu"></ul> |
| <ul class="ace_catalogue_menu"> |
| <li data-type="0"><i class="glyphicon glyphicon-refresh" aria-hidden="true"></i><span>刷新目录</span></li> |
| <li data-type="1"><i class="glyphicon glyphicon-folder-open" aria-hidden="true"></i><span>打开子目录</span></li> |
| <li data-type="2"><i class="folder-icon"></i><span>新建文件夹</span></li> |
| <li data-type="3"><i class="text-icon"></i><span>新建文件</span></li> |
| <li data-type="4"><i class="rename-icon img-icon"></i><span>重命名</span></li> |
| <li data-type="5"><i class="down-icon img-icon"></i><span>下载</span></li> |
| <li data-type="6"><i class="del-icon img-icon"></i><span>删除</span></li> |
| </ul> |
| </div> |
| <div class="ace_catalogue_drag_icon"> |
| <div class="drag_icon_conter"></div> |
| <span class="fold_icon_conter" title="隐藏文件目录"></span> |
| </div> |
| |
| </div> |
| |
| <div class="ace_editor_main" style="margin-left:265px"> |
| <ul class="ace_conter_menu"></ul> |
| <div class="ace_conter_tips"><div class="tips"></div></div> |
| <div class="ace_editor_main_storey"></div> |
| <div class="ace_conter_editor"></div> |
| // 编辑器终端 |
| <div class="term-parent"> |
| <div class="term-content" id="termContent"></div> |
| </div> |
| <div class="ace_conter_toolbar"> |
| <div class="pull-left size_ellipsis"> |
| <span data-type="path" class="size_ellipsis"></span> |
| </div> |
| <div class="pull-right"> |
| <span data-type="cursor"></span> |
| <span data-type="history"></span> |
| <span data-type="tab"></span> |
| <span data-type="encoding"></span> |
| <span data-type="lang"></span> |
| <span data-type="readOnly"></span> |
| </div> |
| </div> |
| </div> |
| <div class="ace_toolbar_menu other" style="display: none;"> |
| <div class="menu-item menu-tabs" style="display: none;"> |
| <div class="menu-title">设置制表符</div> |
| <ul class="tabsType"> |
| <li data-value="nbsp">使用空格缩进</li> |
| <li data-value="tabs">使用 "Tab" 缩进</li> |
| </ul> |
| <div class="menu-title" style="margin-top:15px">设置制表符长度</div> |
| <ul class="tabsSize"> |
| <li data-value="1">1</li> |
| <li data-value="2">2</li> |
| <li data-value="3">3</li> |
| <li data-value="4">4</li> |
| <li data-value="5">5</li> |
| <li data-value="6">6</li> |
| </ul> |
| </div> |
| <div class="menu-item menu-encoding" style="display: none;"> |
| <div class="menu-title">设置文件保存编码格式</div> |
| <ul></ul> |
| </div> |
| <div class="menu-item menu-files" style="display: none;"> |
| <div class="menu-conter"> |
| <input type="text" class="menu-input" placeholder="输入语言模式"> |
| <i class="fa fa-close" aria-hidden="true"></i> |
| </div> |
| <div class="menu-title">设置文件语言关联</div> |
| <ul></ul> |
| </div> |
| <div class="menu-item menu-fontSize" style="display: none;"> |
| <div class="menu-title">设置编辑器字体大小</div> |
| <div class="menu-conter"> |
| <div class="set_font_size"> |
| <input type="number" min="12" max="45"/> |
| <span class="tips error">字体设置范围 12-45</span> |
| <button class="btn-save">保存</button> |
| </div> |
| </div> |
| </div> |
| <div class="menu-item menu-jumpLine" style="display: none;"> |
| <div class="menu-title">跳转到指定行</div> |
| <div class="menu-conter"> |
| <div class="set_jump_line"> |
| <input type="number" min="0"/> |
| <div class="jump_tips">当前:行 <span></span> ,列 <span></span> ,输入行数(介于 1 - <span></span> 之间)</div> |
| </div> |
| </div> |
| </div> |
| <div class="menu-item menu-themes" style="display: none;"> |
| <div class="menu-title">设置编辑器主题</div> |
| <ul></ul> |
| </div> |
| <div class="menu-item menu-history" style="display: none;"> |
| <div class="menu-title">文件历史版本</div> |
| <ul></ul> |
| </div> |
| |
| <div class="menu-item menu-setUp" style="display: none;"> |
| <div class="menu-title">编辑器设置【部分设置需要重新打开编辑生效】</div> |
| <ul class="editor_menu"> |
| <li data-type="wrap">自动换行</li> |
| <li data-type="enableLiveAutocompletion">代码自动完成</li> |
| <li data-type="enableSnippets">启用代码段</li> |
| <li data-type="showInvisibles">显示隐藏字符</li> |
| <li data-type="showLineNumbers">显示行号</li> |
| </ul> |
| </div> |
| </div> |
| <div class="ace_toolbar_menu ace_toolbar_menu_open" style="display: none;left:375px;"> |
| <div class="menu-item menu-open" style="display: none;"> |
| <div class="menu-title">文件打开操作</div> |
| <ul class="open_menu"> |
| <li data-type="createFile">新建文件</li> |
| <li data-type="createDir">新建文件夹</li> |
| |
| |
| |
| <li data-type="openLatelyFile" class="relative openLateFile">打开最近文件<ul class="late_file"></ul></li> |
| </ul> |
| </div> |
| </div> |
| |
| </div> |
| </div> |
| </script> |
| <script type="text/template" id="aceShortcutKeys"> |
| <div class ="keysUp_left"> |
| <div class="keysUp-row"> |
| <div class="keysUp-title">常用快捷键</div> |
| <div class="keysUp-content"> |
| <div class="keysUp-item"> |
| <span class="keysUp-btn">Ctrl</span> |
| <span class="keysUp-symbol">+</span> |
| <span class="keysUp-btn">S</span> |
| <span class="keysUp-tips">保存文件</span> |
| </div> |
| <div class="keysUp-item"> |
| <span class="keysUp-btn">Ctrl</span> |
| <span class="keysUp-symbol">+</span> |
| <span class="keysUp-btn">C</span> |
| <span class="keysUp-tips">复制内容</span> |
| </div> |
| <div class="keysUp-item"> |
| <span class="keysUp-btn">Ctrl</span> |
| <span class="keysUp-symbol">+</span> |
| <span class="keysUp-btn">X</span> |
| <span class="keysUp-tips">剪切内容</span> |
| </div> |
| <div class="keysUp-item"> |
| <span class="keysUp-btn">Ctrl</span> |
| <span class="keysUp-symbol">+</span> |
| <span class="keysUp-btn">V</span> |
| <span class="keysUp-tips">粘贴内容</span> |
| </div> |
| <div class="keysUp-item"> |
| <span class="keysUp-btn">Ctrl</span> |
| <span class="keysUp-symbol">+</span> |
| <span class="keysUp-btn">A</span> |
| <span class="keysUp-tips">全选内容</span> |
| </div> |
| <div class="keysUp-item"> |
| <span class="keysUp-btn">Ctrl</span> |
| <span class="keysUp-symbol">+</span> |
| <span class="keysUp-btn">Z</span> |
| <span class="keysUp-tips">撤销操作</span> |
| </div> |
| <div class="keysUp-item"> |
| <span class="keysUp-btn">Ctrl</span> |
| <span class="keysUp-symbol">+</span> |
| <span class="keysUp-btn">Y</span> |
| <span class="keysUp-tips">反撤销操作</span> |
| </div> |
| <div class="keysUp-item"> |
| <span class="keysUp-btn">Ctrl</span> |
| <span class="keysUp-symbol">+</span> |
| <span class="keysUp-btn">F</span> |
| <span class="keysUp-tips">搜索内容</span> |
| </div> |
| <div class="keysUp-item"> |
| <span class="keysUp-btn">Ctrl</span> |
| <span class="keysUp-symbol">+</span> |
| <span class="keysUp-btn">H</span> |
| <span class="keysUp-tips">替换内容</span> |
| </div> |
| <div class="keysUp-item"> |
| <span class="keysUp-btn"><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAACkElEQVQ4T62UTWhTQRDHZ6bhFZpK9CAetEoPocF6MG83jRaqFvHjIgrFQ9WLQkHsyZMWvAkFL978QET0YPVUxUuLFFK/Ynk7W0tAqeIHFFEoQqGGWKt9I6+Y2Mh7iQcX9jT//c3Of2cW4T8vXMmbnp5eNT8/34uIKtgAoESEEXGsubl5MJVKfa2Xvwo4OTm52/f9sahDWusqfZiuSuB53gARDYYJRWQ4k8n0WGsPAMAPpdTo37qJiYnNVUBmvg8AB0MzIx5TSt1m5msA0IeIIyIyS0SffN/fFNiDiLMVYD6fX+84znsAcMKAi4uLTZ2dnd+YeRYA1kZUca4CZOZDAHAvwr/XWuuU53ktRDQT5TEi/jHZGHMVEVsRsSAiz3zfd2KxWKvv+6cR8ZZS6gwznwKASxHAj1rrlsoNc7lcrLu7+2eI0RsaGxs3ptPpvDFmHBF3RgCva637KsBCobBmYWFhLxHtAYCEiIw2NDQ8d133VRlgrR0XkVAgIvYopYaXgcx8EgCuRGQe0lofLceMMSeIKCsiwct+EZG3sVjsoeM4hfb29uIy0BhzAxGPhwGJ6Kzruhestf2lUmmoq6trrta0IDM3IeKUiCTDhEtLS23ZbPYNMwsAzIjIIxGxIvKOiILeawuK1FpfDM6jMWYXIuYispa01nFr7X4RGanRLjuUUk+Wgcw8AACh4wYAd7TWR5g5aJWgZcLWy0QioZLJ5Pcy8DEitohIUPYHRNwOANuCoIj0ZjKZu7WmAwBuaq0r/qPneVs7OjqmVqY2xmwBgN5isXg+Ho+vJqLPNR6iX2t9uRyv+x3VmQ4goozruvzPwEBord0nIod/W7EOER8AwFMiepFOp6uqq3vDWj0XFvsFsp0JRWHn0UYAAAAASUVORK5CYII=" /></span> |
| <span class="keysUp-symbol">+</span> |
| <span class="keysUp-btn">Alt</span> |
| <span class="keysUp-symbol">+</span> |
| <span class="keysUp-btn">0</span> |
| <span class="keysUp-tips">折叠代码</span> |
| </div> |
| <div class="keysUp-item"> |
| <span class="keysUp-btn"><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAACkElEQVQ4T62UTWhTQRDHZ6bhFZpK9CAetEoPocF6MG83jRaqFvHjIgrFQ9WLQkHsyZMWvAkFL978QET0YPVUxUuLFFK/Ynk7W0tAqeIHFFEoQqGGWKt9I6+Y2Mh7iQcX9jT//c3Of2cW4T8vXMmbnp5eNT8/34uIKtgAoESEEXGsubl5MJVKfa2Xvwo4OTm52/f9sahDWusqfZiuSuB53gARDYYJRWQ4k8n0WGsPAMAPpdTo37qJiYnNVUBmvg8AB0MzIx5TSt1m5msA0IeIIyIyS0SffN/fFNiDiLMVYD6fX+84znsAcMKAi4uLTZ2dnd+YeRYA1kZUca4CZOZDAHAvwr/XWuuU53ktRDQT5TEi/jHZGHMVEVsRsSAiz3zfd2KxWKvv+6cR8ZZS6gwznwKASxHAj1rrlsoNc7lcrLu7+2eI0RsaGxs3ptPpvDFmHBF3RgCva637KsBCobBmYWFhLxHtAYCEiIw2NDQ8d133VRlgrR0XkVAgIvYopYaXgcx8EgCuRGQe0lofLceMMSeIKCsiwct+EZG3sVjsoeM4hfb29uIy0BhzAxGPhwGJ6Kzruhestf2lUmmoq6trrta0IDM3IeKUiCTDhEtLS23ZbPYNMwsAzIjIIxGxIvKOiILeawuK1FpfDM6jMWYXIuYispa01nFr7X4RGanRLjuUUk+Wgcw8AACh4wYAd7TWR5g5aJWgZcLWy0QioZLJ5Pcy8DEitohIUPYHRNwOANuCoIj0ZjKZu7WmAwBuaq0r/qPneVs7OjqmVqY2xmwBgN5isXg+Ho+vJqLPNR6iX2t9uRyv+x3VmQ4goozruvzPwEBord0nIod/W7EOER8AwFMiepFOp6uqq3vDWj0XFvsFsp0JRWHn0UYAAAAASUVORK5CYII=" /></span> |
| <span class="keysUp-symbol">+</span> |
| <span class="keysUp-btn">Alt</span> |
| <span class="keysUp-symbol">+</span> |
| <span class="keysUp-btn">Shift</span> |
| <span class="keysUp-symbol">+</span> |
| <span class="keysUp-btn">0</span> |
| <span class="keysUp-tips">展开代码</span> |
| </div> |
| <div class="keysUp-item"> |
| <span class="keysUp-btn">Esc</span> |
| <span class="keysUp-tips">退出搜索、取消自动提示</span> |
| </div> |
| </div> |
| </div> |
| <div class="keysUp-row"> |
| <div class="keysUp-title">光标移动</div> |
| <div class="keysUp-content"> |
| <div class="keysUp-item"> |
| <span class="keysUp-btn">Home</span> |
| <span class="keysUp-symbols">/</span> |
| <span class="keysUp-btn">End</span> |
| <span class="keysUp-symbols">/</span> |
| <span class="keysUp-btn">Up</span> |
| <span class="keysUp-symbols">/</span> |
| <span class="keysUp-btn">Left</span> |
| <span class="keysUp-symbols">/</span> |
| <span class="keysUp-btn">Down</span> |
| <span class="keysUp-symbols">/</span> |
| <span class="keysUp-btn">Right</span> |
| </div> |
| <div class="keysUp-item"> |
| <span class="keysUp-btn">Ctrl</span> |
| <span class="keysUp-symbol">+</span> |
| <span class="keysUp-btn">Home</span> |
| <span class="keysUp-symbols">/</span> |
| <span class="keysUp-btn">End</span> |
| <span class="keysUp-tips">光标移动到文档首/尾</span> |
| </div> |
| <div class="keysUp-item"> |
| <span class="keysUp-btn">Ctrl</span> |
| <span class="keysUp-symbol">+</span> |
| <span class="keysUp-btn">P</span> |
| <span class="keysUp-tips">跳转到匹配的标签</span> |
| </div> |
| <div class="keysUp-item"> |
| <span class="keysUp-btn">pageUp</span> |
| <span class="keysUp-symbols">/</span> |
| <span class="keysUp-btn">pageDown</span> |
| <span class="keysUp-tips">光标上/下翻页</span> |
| </div> |
| <div class="keysUp-item"> |
| <span class="keysUp-btn">Alt</span> |
| <span class="keysUp-symbol">+</span> |
| <span class="keysUp-btn">Left</span> |
| <span class="keysUp-symbols">/</span> |
| <span class="keysUp-btn">Right</span> |
| <span class="keysUp-tips">光标移动到行首/尾</span> |
| </div> |
| <div class="keysUp-item"> |
| <span class="keysUp-btn">Ctrl</span> |
| <span class="keysUp-symbol">+</span> |
| <span class="keysUp-btn">I</span> |
| <span class="keysUp-tips">跳转到指定行</span> |
| </div> |
| <div class="keysUp-item"> |
| <span class="keysUp-btn">Ctrl</span> |
| <span class="keysUp-symbol">+</span> |
| <span class="keysUp-btn">Alt</span> |
| <span class="keysUp-symbol">+</span> |
| <span class="keysUp-btn">Up</span> |
| <span class="keysUp-symbols">/</span> |
| <span class="keysUp-btn">Down</span> |
| <span class="keysUp-tips">上/下增加光标</span> |
| </div> |
| </div> |
| </div> |
| </div> |
| <div class ="keysUp_right"> |
| <div class="keysUp-row"> |
| <div class="keysUp-title">内容选择</div> |
| <div class="keysUp-content"> |
| <div class="keysUp-item"> |
| <span class="keysUp-btn">鼠标框选——拖动</span> |
| </div> |
| <div class="keysUp-item"> |
| <span class="keysUp-btn">Shift</span> |
| <span class="keysUp-symbol">+</span> |
| <span class="keysUp-btn">Home</span> |
| <span class="keysUp-symbols">/</span> |
| <span class="keysUp-btn">End</span> |
| <span class="keysUp-symbols">/</span> |
| <span class="keysUp-btn">Up</span> |
| <span class="keysUp-symbols">/</span> |
| <span class="keysUp-btn">Left</span> |
| <span class="keysUp-symbols">/</span> |
| <span class="keysUp-btn">Down</span> |
| <span class="keysUp-symbols">/</span> |
| <span class="keysUp-btn">Right</span> |
| </div> |
| <div class="keysUp-item"> |
| <span class="keysUp-btn">Shift</span> |
| <span class="keysUp-symbol">+</span> |
| <span class="keysUp-btn">pageUp</span> |
| <span class="keysUp-symbols">/</span> |
| <span class="keysUp-btn">PageDown</span> |
| <span class="keysUp-tips">上下翻页选中</span> |
| </div> |
| <div class="keysUp-item"> |
| <span class="keysUp-btn">Ctrl</span> |
| <span class="keysUp-symbol">+</span> |
| <span class="keysUp-btn">Shift</span> |
| <span class="keysUp-symbol">+</span> |
| <span class="keysUp-btn">Home</span> |
| <span class="keysUp-symbols">/</span> |
| <span class="keysUp-tips">当前光标至头/尾</span> |
| </div> |
| <div class="keysUp-item"> |
| <span class="keysUp-btn">Alt</span> |
| <span class="keysUp-symbol">+</span> |
| <span class="keysUp-btn">鼠标拖动</span> |
| <span class="keysUp-tips">块选择</span> |
| </div> |
| </div> |
| </div> |
| <div class="keysUp-row"> |
| <div class="keysUp-title">编辑</div> |
| <div class="keysUp-content"> |
| <div class="keysUp-item"> |
| <span class="keysUp-btn">Ctrl</span> |
| <span class="keysUp-symbol">+</span> |
| <span class="keysUp-btn">/</span> |
| <span class="keysUp-tips">注释&取消注释</span> |
| </div> |
| <div class="keysUp-item"> |
| <span class="keysUp-btn">Tab</span> |
| <span class="keysUp-tips">对齐</span> |
| </div> |
| <div class="keysUp-item"> |
| <span class="keysUp-btn">Shift</span> |
| <span class="keysUp-symbol">+</span> |
| <span class="keysUp-btn">Tab</span> |
| <span class="keysUp-tips">整体前移</span> |
| </div> |
| <div class="keysUp-item"> |
| <span class="keysUp-btn">Delete</span> |
| <span class="keysUp-tips">删除</span> |
| </div> |
| <div class="keysUp-item"> |
| <span class="keysUp-btn">Ctrl</span> |
| <span class="keysUp-symbol">+</span> |
| <span class="keysUp-btn">D</span> |
| <span class="keysUp-tips">删除整行</span> |
| </div> |
| <div class="keysUp-item"> |
| <span class="keysUp-btn">Alt</span> |
| <span class="keysUp-symbol">+</span> |
| <span class="keysUp-btn">Shift</span> |
| <span class="keysUp-symbol">+</span> |
| <span class="keysUp-btn">Up</span> |
| <span class="keysUp-symbols">/</span> |
| <span class="keysUp-btn">Down</span> |
| <span class="keysUp-tips">复制行并添加到上一行/下一行</span> |
| </div> |
| <div class="keysUp-item"> |
| <span class="keysUp-btn">Alt</span> |
| <span class="keysUp-symbol">+</span> |
| <span class="keysUp-btn">Delete</span> |
| <span class="keysUp-tips">删除光标右侧内容</span> |
| </div> |
| <div class="keysUp-item"> |
| <span class="keysUp-btn">Alt</span> |
| <span class="keysUp-symbol">+</span> |
| <span class="keysUp-btn">Up</span> |
| <span class="keysUp-symbols">/</span> |
| <span class="keysUp-btn">Down</span> |
| <span class="keysUp-tips">当前行和上一行/下一行交换</span> |
| </div> |
| <div class="keysUp-item"> |
| <span class="keysUp-btn">Ctrl</span> |
| <span class="keysUp-symbol">+</span> |
| <span class="keysUp-btn">Shift</span> |
| <span class="keysUp-symbol">+</span> |
| <span class="keysUp-btn">D</span> |
| <span class="keysUp-tips">复制行并添加到下面</span> |
| </div> |
| </div> |
| </div> |
| </div> |
| </script> |
| <style type="text/css"> |
| .compFilesPreview { |
| padding: 20px; |
| font-size: 12px |
| } |
| |
| .compToolbarHeader { |
| display: flex; |
| align-items: center; |
| justify-content: space-between; |
| padding-bottom: 15px; |
| border-bottom: 1px solid #eee; |
| margin-bottom: 15px; |
| } |
| |
| .compDirNavbar { |
| padding: 0 5px; |
| padding-bottom: 15px; |
| display: flex; |
| align-items: center; |
| } |
| |
| .compDirNavbar .returnUpperStory { |
| display: inline-block; |
| padding-right: 10px; |
| margin-right: 10px; |
| border-right: 1px solid #999; |
| } |
| |
| .compDirNavbar .returnUpperStory a { |
| text-decoration: none; |
| } |
| |
| .compDirNavbar .dirList, |
| .compDirNavbar .dirItem { |
| display: flex; |
| align-items: center; |
| max-width: 120px; |
| } |
| |
| .compDirNavbar .dirItem_more { |
| width: 50px; |
| } |
| |
| .compDirNavbar .dirItem_more a { |
| padding: 0 5px; |
| text-decoration: none; |
| } |
| |
| .compDirNavbar .dirItem a { |
| max-width: 100px; |
| overflow: hidden; |
| white-space: nowrap; |
| text-overflow: ellipsis; |
| } |
| |
| .compDirNavbar .dirItem .iconfont, |
| .compDirNavbar .dirItem_more .iconfont { |
| margin: 0 5px; |
| font-weight: 700; |
| color: #888; |
| } |
| |
| .compDirNavbar .dirItem .iconfont:before { |
| position: relative; |
| top: 1px; |
| } |
| |
| .compfileListBody { |
| max-height: 390px; |
| overflow: auto; |
| user-select: none; |
| } |
| |
| .compfileList .compfileListHeader, |
| .compfileListBody .compBodyItemTd { |
| height: 38px; |
| line-height: 38px; |
| background-color: #f6f6f6; |
| display: flex; |
| align-items: center; |
| border-bottom: 1px solid #ececec; |
| } |
| |
| .compfileListHeader .compHeaderItem, |
| .compfileListBody .compBodyItemTd .compBodyItem { |
| padding: 0 10px; |
| display: flex; |
| } |
| |
| .compfileListBody .compBodyItemTd .compBodyItem .openDir { |
| color: #888; |
| display: flex; |
| align-items: center; |
| height: 22px; |
| line-height: 22px; |
| } |
| |
| .compfileListBody .compBodyItemTd .compBodyItem .openDir:hover { |
| color: #20a53a; |
| } |
| |
| .compfileListBody .compBodyItemTd:hover span.hide { |
| display: inline-block !important; |
| } |
| |
| .compfileListHeader .compHeaderItem { |
| border-right: 1px solid #ccc; |
| } |
| |
| .compfileListHeader .compHeaderItem:last-child { |
| border-right: none; |
| } |
| |
| .compfileListHeader .compHeaderItem span { |
| display: inline-block; |
| height: 18px; |
| line-height: 18px; |
| width: 100%; |
| color: #666; |
| } |
| |
| .compfileListHeader .compHeaderItem .fileCheck, |
| .compfileListBody .compBodyItemTd .compBodyItem .fileCheck { |
| width: 16px; |
| height: 16px; |
| border-radius: 2px; |
| border: 1px solid #d2d2d2; |
| background-color: #fff; |
| cursor: pointer; |
| position: relative; |
| } |
| |
| .compfileListHeader .compHeaderItem .fileCheck.active2::after, |
| .compfileListBath .cust—checkbox.active2::after { |
| content: ''; |
| position: absolute; |
| display: block; |
| height: 2px; |
| width: 8px; |
| left: 50%; |
| top: 50%; |
| margin-top: -1px; |
| margin-left: -4px; |
| background-color: #fff; |
| } |
| |
| .compfileListBody .compBodyItemTd.active { |
| background: #f0f9f7 !important; |
| } |
| |
| .compfileListBody .compBodyItemTd.active .compBodyItem:last-child span { |
| display: inline-block !important; |
| } |
| |
| .compfileListHeader .compHeaderItem .fileCheck.active2, |
| .compfileListHeader .compHeaderItem .fileCheck.active, |
| .compfileListBath .cust—checkbox.active, |
| .compfileListBath .cust—checkbox.active2, |
| .compfileListBody .compBodyItemTd.active .fileCheck { |
| background-color: #20a53a; |
| border-color: #20a53a; |
| } |
| |
| .compfileListHeader .compHeaderItem .fileCheck.active::after, |
| .compfileListBody .compBodyItemTd.active .fileCheck::after, |
| .compfileListBath .cust—checkbox.active::after { |
| content: ''; |
| position: absolute; |
| display: block; |
| left: 50%; |
| top: 50%; |
| margin-left: -2px; |
| margin-top: -6px; |
| width: 5px; |
| height: 10px; |
| border: solid #fff; |
| border-width: 0 2px 2px 0; |
| transform: rotate(45deg); |
| } |
| |
| .compfileListBody .compBodyItemTd { |
| height: 40px; |
| line-height: 40px; |
| background-color: #fff; |
| position: relative; |
| overflow: hidden; |
| } |
| |
| .compfileListBody .compBodyItemTd:hover { |
| background: #f0f9f7 !important; |
| } |
| |
| .compfileListBody .compBodyItemTd .compBodyItem { |
| color: #666; |
| position: relative; |
| } |
| |
| .compfileListBody .compBodyItemTd .compBodyItem .file_icon { |
| width: 22px; |
| height: 22px; |
| margin-top: -11px; |
| top: 50%; |
| left: 5px; |
| } |
| |
| .compfileListBody .compBodyItemTd .compBodyItem .fileName { |
| display: inline-block; |
| margin-left: 22px; |
| max-width: 140px; |
| overflow: hidden; |
| text-overflow: ellipsis; |
| white-space: nowrap; |
| } |
| |
| .compfileListBath { |
| margin-top: 15px; |
| } |
| |
| .compfileListBath .bt_batch { |
| display: flex; |
| } |
| |
| .compfileListBath .bt_batch label { |
| width: 40px; |
| margin: 0; |
| height: 28px; |
| display: flex; |
| padding: 0 10px; |
| align-items: center; |
| } |
| |
| .compfileListBath .cust—checkbox { |
| width: 16px; |
| height: 16px; |
| border-radius: 2px; |
| border: 1px solid #d2d2d2; |
| background-color: #fff; |
| cursor: pointer; |
| position: relative; |
| } |
| |
| .compfileListBath .cust—checkbox-input { |
| display: none; |
| } |
| |
| #batchTable .divtable .table { |
| border: none; |
| } |
| |
| #batchTable .divtable { |
| border: 1px solid #ddd; |
| } |
| |
| #batchTable .table>tbody>tr>td { |
| border-top: .5px solid #ddd; |
| } |
| |
| .zipPreview.layui-layer-page .layui-layer-content { |
| overflow: inherit !important; |
| } |
| .files_type_select:focus{ |
| border:none |
| } |
| </style> |
| {% endblock %} |
| {% block scripts %} |
| {{ super() }} |
| <script type="text/javascript" src="{{g.cdn_url}}/js/jquery.dragsort-0.5.2.min.js" defer></script> |
| <script type="text/javascript" src="{{g.cdn_url}}/js/jquery.qrcode.min.js" defer></script> |
| <script type="text/javascript" src="{{g.cdn_url}}/js/public.js?version={{g['version']}}&repair={{data['js_random']}}"> |
| </script> |
| <script type="text/javascript" |
| src="{{g.cdn_url}}/js/public_backup.js?version={{g['version']}}&repair={{data['js_random']}}"></script> |
| <script type="text/javascript" src="{{g.cdn_url}}/js/clipboard.min.js" defer></script> |
| <script type="text/javascript" src="{{g.cdn_url}}/js/polyfill.js"></script> |
| <script type="text/javascript" src="{{g.cdn_url}}/vite/ace/ace.js" defer></script> |
| <script type="text/javascript" src="{{g.cdn_url}}/vite/ace/ext-language_tools.js" defer></script> |
| <script type="text/javascript" src="{{g.cdn_url}}/vue/polyfill.min.js" defer></script> |
| <script type="text/javascript" src="{{g.cdn_url}}/js/xterm.js" defer></script> |
| |
| <script type="text/javascript" src="{{g.cdn_url}}/js/files.js?version={{g['version']}}&repair={{data['js_random']}}"> |
| </script> |
| <script type="text/javascript" |
| src="{{g.cdn_url}}/js/upload-drog.js?version={{g['version']}}&repair={{data['js_random']}}"></script> |
| <script src="{{g.cdn_url}}/vite/ace/diff/ace-diff.min.js"></script> |
| <script> |
| if (bt.get_cookie('searchFile') == 'true' && bt.get_cookie('searchFile') != null && bt.get_cookie('searchFile') != |
| undefined) { |
| bt.set_cookie('searchFile', '') |
| var interval_open_search = setInterval(function () { |
| if (!$('.layui-layer-page.replace_content_view').length) { |
| $('.nav_btn.replace_content').click() |
| } else { |
| clearInterval(interval_open_search) |
| } |
| }, 500) |
| } |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| </script> |
| {% endblock %} |
|
|