@ishitatsuyuki/oruga-next
Version:
UI components for Vue.js and CSS framework agnostic
50 lines (45 loc) • 1.63 kB
JavaScript
;
Object.defineProperty(exports, '__esModule', { value: true });
var vue = require('vue');
var helpers = require('./helpers.js');
var config = require('./config.js');
require('./BaseComponentMixin-a03c02e3.js');
require('./Icon-172f9998.js');
var plugins = require('./plugins-5849434f.js');
require('./ssr-4e5033ea.js');
var Loading = require('./Loading-c1d90132.js');
var InstanceRegistry = require('./InstanceRegistry-14c98540.js');
let localVueInstance;
let instances = new InstanceRegistry.InstanceRegistry();
const LoadingProgrammatic = {
open(params) {
const defaultParam = {
programmatic: { instances }
};
const propsData = helpers.merge(defaultParam, params);
propsData.promise = new Promise((p1, p2) => {
propsData.programmatic.resolve = p1;
propsData.programmatic.reject = p2;
});
const app = localVueInstance || config.VueInstance;
const vnode = vue.createVNode(Loading.script, propsData);
vnode.appContext = app._context;
vue.render(vnode, document.createElement('div'));
return vnode.component.proxy;
},
closeAll() {
instances.walk((entry) => {
entry.close(...arguments);
});
}
};
var index = {
install(app) {
localVueInstance = app;
plugins.registerComponent(app, Loading.script);
plugins.registerComponentProgrammatic(app, 'loading', LoadingProgrammatic);
}
};
exports.OLoading = Loading.script;
exports.LoadingProgrammatic = LoadingProgrammatic;
exports.default = index;