Selaa lähdekoodia

代码格式化增加copy按钮

zxlie 6 vuotta sitten
vanhempi
sitoutus
2318043793

+ 2 - 2
apps/code-beautify/automatic.js

@@ -37,7 +37,7 @@ module.exports = (() => {
                     wrap_line_length: "120"
                 };
                 Tarp.require('../code-beautify/beautify.js');
-                js_beautify(source, opts, resp => beauty(resp));
+                beauty(js_beautify(source, opts));
                 break;
             case 'css':
                 Tarp.require('../code-beautify/beautify-css.js');
@@ -71,7 +71,7 @@ module.exports = (() => {
 
         tipsBar.find('button.yes').click((evt) => {
             tipsBar.find('button.yes,button.no').hide();
-            let elAsk = tipsBar.find('span.ask').text('正在努力美化,请稍...');
+            let elAsk = tipsBar.find('span.ask').text('正在努力美化,请稍...');
             format(fileType, source, () => {
                 elAsk.text('已为您美化完毕!');
                 $(document.body).removeClass('show-tipsbar').addClass('show-beautified');

Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 903 - 860
apps/code-beautify/beautify.js


+ 2 - 1
apps/code-beautify/index.html

@@ -45,8 +45,9 @@
             </div>
 
             <button id="btnFormat" class="btn btn-success ui-fl-r" @click="format">格式化</button>
+            <button id="btnCopy" class="btn btn-warning ui-fl-r ui-mr-10" @click="copy" v-show="showCopyBtn">复制结果</button>
         </div>
-        <div class="row" id="jfContent" v-html="resultContent"></div>
+        <div class="row" id="jfContent" ref="jfContentBox" v-html="resultContent"></div>
     </div>
 </div>
 <script src="../static/vendor/prism/prism.js"></script>

+ 34 - 7
apps/code-beautify/index.js

@@ -6,7 +6,8 @@ new Vue({
     data: {
         selectedType: 'Javascript',
         sourceContent: '',
-        resultContent: ''
+        resultContent: '',
+        showCopyBtn: false
     },
 
     mounted: function () {
@@ -40,6 +41,7 @@ new Vue({
                 // 代码高亮
                 this.$nextTick(() => {
                     Prism.highlightAll();
+                    this.showCopyBtn = true;
                 });
             };
 
@@ -56,26 +58,51 @@ new Vue({
                         space_after_anon_function: true,
                         space_before_conditional: true,
                         unescape_strings: false,
-                        wrap_line_length: "120"
+                        wrap_line_length: "120",
+                        "max_preserve_newlines": "5",
+                        "jslint_happy": false,
+                        "end_with_newline": false,
+                        "indent_inner_html": false,
+                        "comma_first": false,
+                        "e4x": false
                     };
-                    Tarp.require('./beautify.js').js_beautify(this.sourceContent, opts, result => beauty(result));
+                    beauty(Tarp.require('../code-beautify/beautify.js').js_beautify(this.sourceContent, opts));
                     break;
                 case 'CSS':
-                    Tarp.require('./beautify-css.js').css_beautify(this.sourceContent, {}, result => beauty(result));
+                    Tarp.require('../code-beautify/beautify-css.js').css_beautify(this.sourceContent, {}, result => beauty(result));
                     break;
                 case 'HTML':
-                    Tarp.require('./beautify-html.js');
+                    Tarp.require('../code-beautify/beautify-html.js');
                     beauty(html_beautify(this.sourceContent));
                     break;
                 case 'SQL':
-                    Tarp.require('./vkbeautify.js');
+                    Tarp.require('../code-beautify/vkbeautify.js');
                     beauty(vkbeautify.sql(this.sourceContent, 4));
                     break;
                 default:
-                    Tarp.require('./vkbeautify.js');
+                    Tarp.require('../code-beautify/vkbeautify.js');
                     beauty(vkbeautify.xml(this.sourceContent));
             }
 
+        },
+
+        copy: function(){
+
+            let _copyToClipboard = function (text) {
+                let input = document.createElement('textarea');
+                input.style.position = 'fixed';
+                input.style.opacity = 0;
+                input.value = text;
+                document.body.appendChild(input);
+                input.select();
+                document.execCommand('Copy');
+                document.body.removeChild(input);
+
+                alert('复制成功,随处粘贴可用!')
+            };
+
+            let txt = this.$refs.jfContentBox.textContent;
+            _copyToClipboard(txt);
         }
     }
 });

+ 1 - 1
apps/manifest.json

@@ -1,6 +1,6 @@
 {
   "name": "WEB前端助手(FeHelper)",
-  "version": "2018.12.1915",
+  "version": "2019.01.0714",
   "manifest_version": 2,
   "default_locale": "zh_CN",
   "description": "FE助手:包括JSON格式化、二维码生成与解码、信息编解码、代码压缩、美化、页面取色、Markdown与HTML互转、网页滚动截屏、正则表达式、时间转换工具、编码规范检测、页面性能检测、Ajax接口调试、密码生成器、JSON比对工具、网页编码设置、便签笔记",

Kaikkia tiedostoja ei voida näyttää, sillä liian monta tiedostoa muuttui tässä diffissä