Split index.js to separate files (#17315)

* split `index.js` to separate files

* tune clipboard

* fix promise

* fix document

* remove intermediate empty file

* fix async event listener

* use `export function` instead of `export {}`, add more comments

Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
Co-authored-by: 6543 <6543@obermui.de>
This commit is contained in:
wxiaoguang 2021-10-17 01:28:04 +08:00 committed by GitHub
parent 3728f1daa0
commit 1a7473ff45
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
42 changed files with 3686 additions and 3501 deletions

View file

@ -348,7 +348,7 @@ function initVueComponents() {
}
function initDashboardRepoList() {
export function initDashboardRepoList() {
const el = document.getElementById('dashboard-repo-list');
const dashboardRepoListData = pageData.dashboardRepoList || null;
if (!el || !dashboardRepoListData) return;
@ -366,5 +366,3 @@ function initDashboardRepoList() {
},
});
}
export {initDashboardRepoList};

View file

@ -101,10 +101,9 @@ const sfc = {
}
};
function initRepoActivityTopAuthorsChart() {
export function initRepoActivityTopAuthorsChart() {
initVueApp('#repo-activity-top-authors-chart', sfc);
}
export default sfc;
export {initRepoActivityTopAuthorsChart};
export default sfc; // this line is necessary to activate the IDE's Vue plugin
</script>

View file

@ -1,6 +1,7 @@
import Vue from 'vue';
import {vueDelimiters} from './VueComponentLoader.js';
function initRepoBranchTagDropdown(selector) {
export function initRepoBranchTagDropdown(selector) {
$(selector).each(function () {
const $dropdown = $(this);
const $data = $dropdown.find('.data');
@ -26,7 +27,7 @@ function initRepoBranchTagDropdown(selector) {
$data.remove();
new Vue({
el: this,
delimiters: ['${', '}'],
delimiters: vueDelimiters,
data,
computed: {
filteredItems() {
@ -157,5 +158,3 @@ function initRepoBranchTagDropdown(selector) {
});
});
}
export {initRepoBranchTagDropdown};

View file

@ -1,10 +1,10 @@
import Vue from 'vue';
import {svgs} from '../svg.js';
const vueDelimiters = ['${', '}'];
export const vueDelimiters = ['${', '}'];
let vueEnvInited = false;
function initVueEnv() {
export function initVueEnv() {
if (vueEnvInited) return;
vueEnvInited = true;
@ -14,7 +14,7 @@ function initVueEnv() {
}
let vueSvgInited = false;
function initVueSvg() {
export function initVueSvg() {
if (vueSvgInited) return;
vueSvgInited = true;
@ -36,8 +36,7 @@ function initVueSvg() {
}
}
function initVueApp(el, opts = {}) {
export function initVueApp(el, opts = {}) {
if (typeof el === 'string') {
el = document.querySelector(el);
}
@ -48,5 +47,3 @@ function initVueApp(el, opts = {}) {
delimiters: vueDelimiters,
}, opts));
}
export {vueDelimiters, initVueEnv, initVueSvg, initVueApp};