跳转到内容

Widget:Uploader:修订间差异

来自萌娘共享
//Rollback
标签回退
(编辑自 Special:Permalink/2589047) // Edit Via InPageEdit
标签手工回退
 
(未显示2个用户的5个中间版本)
第4行: 第4行:
"use strict";
"use strict";
window.RLQ = window.RLQ || [];
window.RLQ = window.RLQ || [];
window.RLQ.push(async () => {
window.RLQ.push([["mediawiki.api", "jquery", "vue"], async () => {
     if (mw.config.get("wgPageName") !== "MediaWiki:Uploader") {
     if (mw.config.get("wgPageName") !== "MediaWiki:Uploader") {
         return;
         return;
     }
     }
    await mw.loader.using(["mediawiki.notify", "mediawiki.api"]);
     const commonsApi = new mw.Api({
     const commonsApi = new mw.Api({
         timeout: 7000,
         timeout: 7000,
第16行: 第15行:
         jss: "https://npm.elemecdn.com/jss@10.4.0/dist/jss.min.js",
         jss: "https://npm.elemecdn.com/jss@10.4.0/dist/jss.min.js",
         jssPreset: "https://npm.elemecdn.com/jss-preset-default@10.4.0/dist/jss-preset-default.min.js",
         jssPreset: "https://npm.elemecdn.com/jss-preset-default@10.4.0/dist/jss-preset-default.min.js",
        vue: "https://npm.elemecdn.com/vue@2.6.12/dist/vue.min.js",
     };
     };


第142行: 第140行:
         { "default": jss },
         { "default": jss },
         { "default": jssPreset },
         { "default": jssPreset },
        Vue,
     ] = await loadModules([
     ] = await loadModules([
         { jss: cdnUrl.jss },
         { jss: cdnUrl.jss },
         { jssPreset: cdnUrl.jssPreset },
         { jssPreset: cdnUrl.jssPreset },
        { Vue: cdnUrl.vue },
     ]);
     ]);
     jss.setup(jssPreset());
     jss.setup(jssPreset());
第644行: 第640行:
         },
         },
     }).attach().classes;
     }).attach().classes;
 
    const { createApp, defineComponent } = window.Vue;
     new Vue({
     const App = defineComponent({
         el: "#widget-fileUploader",
         template: template,
        template,


         data() {
         data() {
第819行: 第814行:
             },
             },


             focusFile(index) {
             async focusFile(index) {
                 this.focusedFileIndex = index;
                 this.focusedFileIndex = index;
                 const file = this.files[index];
                 const file = this.files[index];
第837行: 第832行:
                     }, 300);
                     }, 300);
                 } else {
                 } else {
                    await navigator.clipboard.writeText(this.form.prefix + file.fileName);
                     mw.notify("已复制文件名");
                     mw.notify("已复制文件名");
                    this.copyFileName(this.form.prefix + file.fileName);
                     clearTimeout(this.doubleClickTimeoutKey);
                     clearTimeout(this.doubleClickTimeoutKey);
                     this.doubleClickTimeoutKey = 0;
                     this.doubleClickTimeoutKey = 0;
                 }
                 }
             },
             },


第848行: 第844行:
                 if (!url) { return; }
                 if (!url) { return; }
                 this.files.push(this.createFileItem(url));
                 this.files.push(this.createFileItem(url));
            },
            copyFileName(fileName) {
                const inputTag = document.createElement("input");
                inputTag.value = fileName;
                inputTag.style.cssText = "position: fixed; left: -9999px;";
                document.body.appendChild(inputTag);
                inputTag.focus();
                document.execCommand("selectAll");
                document.execCommand("copy");
                setTimeout(() => document.body.removeChild(inputTag), 1000);
             },
             },


第1,067行: 第1,052行:
         },
         },
     });
     });
});
    createApp(App).mount("#widget-fileUploader");
}]);
// </pre>
// </pre>
</script>
</script>
</includeonly>
</includeonly>

2025年9月7日 (日) 22:13的最新版本