More loads, but really small plugin text for into lexonomy
This commit is contained in:
parent
476d139005
commit
46d6448e3b
|
@ -1,58 +1,48 @@
|
||||||
{
|
function plugin_load(config, div, entry) {
|
||||||
plugin: '//plugins.lexonomy.cjvt.si/vsms',
|
$("#load-pre-status").text("Loading...");
|
||||||
editor: function(div, entry, uneditable) {
|
|
||||||
var self = this;
|
|
||||||
var div = $(div);
|
|
||||||
div.append('<p>Loading... <span id="load-status"></span></p>');
|
|
||||||
|
|
||||||
var status_span = $('#load-status');
|
var status_span = $('#load-status');
|
||||||
$.getJSON(self.plugin + "/config.json", function(config) {
|
|
||||||
var len1 = config.javascript && config.javascript.length || 0;
|
var len1 = config.javascript && config.javascript.length || 0;
|
||||||
var len2 = config.globals && config.javascript.length || 0;
|
var len2 = config.globals && config.javascript.length || 0;
|
||||||
var num_progress = len1 + len2;
|
var num_progress = len1 + len2;
|
||||||
|
|
||||||
status_span.after(" / " + num_progress);
|
status_span.after(" / " + num_progress);
|
||||||
status_span.text("0");
|
status_span.text("0");
|
||||||
|
|
||||||
var progress = 0;
|
var progress = 0;
|
||||||
var check = function() {
|
var check = function() {
|
||||||
if (++progress == num_progress) {
|
if (++progress == num_progress) {
|
||||||
status_span.parent().empty();
|
status_span.parent().empty();
|
||||||
if(typeof plugin_init !== 'undefined') plugin_init(div, entry);
|
if(typeof plugin_init !== 'undefined') plugin_init(div, entry);
|
||||||
if(typeof plugin_render !== 'undefined') plugin_render(div, entry);
|
if(typeof plugin_render !== 'undefined') plugin_render(div, entry);
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
}
|
||||||
config.javascript.forEach(function(script) {
|
|
||||||
$.ajax({
|
config.javascript.forEach(function(script) {
|
||||||
dataType: "script",
|
$.ajax({
|
||||||
cache: true,
|
dataType: "script",
|
||||||
url: script,
|
cache: true,
|
||||||
success: function () {
|
url: script,
|
||||||
status_span.text(progress + 1 + "");
|
success: function () {
|
||||||
check();
|
status_span.text(progress + 1 + "");
|
||||||
}
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
Object.keys(config.globals).forEach(function(global_name) {
|
|
||||||
$.get(config.globals[global_name], function(data) {
|
|
||||||
window[global_name] = data;
|
|
||||||
check();
|
check();
|
||||||
});
|
}
|
||||||
});
|
});
|
||||||
|
});
|
||||||
|
|
||||||
config.css.forEach(function(css_url) {
|
Object.keys(config.globals).forEach(function(global_name) {
|
||||||
var link = document.createElement('link');
|
$.get(config.globals[global_name], function(data) {
|
||||||
link.rel = 'stylesheet';
|
window[global_name] = data;
|
||||||
link.type = 'text/css';
|
check();
|
||||||
link.href = css_url;
|
|
||||||
link.media = 'all';
|
|
||||||
$('head').append(link);
|
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
},
|
|
||||||
harvester: function(div) {
|
config.css.forEach(function(css_url) {
|
||||||
if(typeof plugin_save !== 'undefined') return plugin_save(div);
|
var link = document.createElement('link');
|
||||||
}
|
link.rel = 'stylesheet';
|
||||||
|
link.type = 'text/css';
|
||||||
|
link.href = css_url;
|
||||||
|
link.media = 'all';
|
||||||
|
$('head').append(link);
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
21
plugin.js
Normal file
21
plugin.js
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
{
|
||||||
|
plugin: 'vsms',
|
||||||
|
url: '//plugins.lexonomy.cjvt.si',
|
||||||
|
editor: function(div, entry, uneditable) {
|
||||||
|
$(div).append('<p><span id="load-pre-status">INIT</span><span id="load-status"></span></p>');
|
||||||
|
var progress_ctr = 2, config = null;
|
||||||
|
|
||||||
|
$.getJSON(this.url + "/" + this.plugin + "/config.json", function(local_config) {
|
||||||
|
config = local_config;
|
||||||
|
if(--progress_ctr == 0) plugin_load(config, div, entry);
|
||||||
|
});
|
||||||
|
|
||||||
|
var script_url = this.url + "/plugin-loader.js";
|
||||||
|
$.ajax({ dataType: "script", cache: true, url: script_url, success: function () {
|
||||||
|
if(--progress_ctr == 0) plugin_load(config, div, entry);
|
||||||
|
});
|
||||||
|
},
|
||||||
|
harvester: function(div) {
|
||||||
|
if(typeof plugin_save !== 'undefined') return plugin_save(div);
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user