Files
lichterei-web/kirby/panel/dist/js/plugins.js
Bastian Allgeier 01277f79f2 first version
2019-01-13 23:17:34 +01:00

50 lines
1.1 KiB
JavaScript
Executable File

window.panel = window.panel || {};
window.panel.plugins = {
components: {},
fields: {},
sections: {},
routes: [],
use: [],
views: {},
};
window.panel.plugin = function (plugin, parts) {
// Components
resolve(parts, "components", function (name, options) {
window.panel.plugins["components"][name] = options;
});
// Fields
resolve(parts, "fields", function (name, options) {
window.panel.plugins["fields"][`k-${name}-field`] = options;
});
// Sections
resolve(parts, "sections", function (name, options) {
window.panel.plugins["sections"][`k-${name}-section`] = options;
});
// Vue.use
resolve(parts, "use", function (name, options) {
window.panel.plugins["use"].push(options);
});
// Views
resolve(parts, "views", function (name, options) {
window.panel.plugins["views"][name] = options;
});
};
function resolve(object, type, callback) {
if (object[type]) {
if (Object.entries) {
Object.entries(object[type]).forEach(function ([name, options]) {
callback(name, options);
});
}
}
}