Commit 6389d855 by Romain Courteaud

Release version 0.20.0

1 parent 65dad858
......@@ -716,9 +716,26 @@ if (typeof document.contains !== 'function') {
window.URL = URL;
}(DOMParser));;/*! RenderJs */
}(DOMParser));;/*
* Copyright 2012, Nexedi SA
*
* This program is free software: you can Use, Study, Modify and Redistribute
* it under the terms of the GNU General Public License version 3, or (at your
* option) any later version, as published by the Free Software Foundation.
*
* You can also Link and Combine this program with other software covered by
* the terms of any of the Free Software licenses or any of the Open Source
* Initiative approved licenses and Convey the resulting work. Corresponding
* source of such a combination shall include the source code for all other
* software used.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
*
* See COPYING file for full licensing terms.
* See https://www.nexedi.com/licensing for rationale and options.
*/
/*jslint nomen: true*/
/*
* renderJs - Generic Gadget library renderer.
* https://renderjs.nexedi.com/
......@@ -1343,6 +1360,13 @@ if (typeof document.contains !== 'function') {
);
}
function registerMethod(gadget_klass, method_name, method_type) {
if (!gadget_klass.hasOwnProperty('__method_type_dict')) {
gadget_klass.__method_type_dict = {};
}
gadget_klass.__method_type_dict[method_name] = method_type;
}
/////////////////////////////////////////////////////////////////
// RenderJSGadget.declareJob
// gadget internal method, which trigger execution
......@@ -1360,6 +1384,7 @@ if (typeof document.contains !== 'function') {
context.__job_list.push([name, callback, argument_list]);
}
};
registerMethod(this, name, 'job');
// Allow chain
return this;
};
......@@ -1389,6 +1414,7 @@ if (typeof document.contains !== 'function') {
}
return ensurePushableQueue(callback, argument_list, context);
};
registerMethod(this, name, 'method');
// Allow chain
return this;
};
......@@ -1398,6 +1424,21 @@ if (typeof document.contains !== 'function') {
// Returns the list of gadget prototype
return this.__interface_list;
})
.declareMethod('getMethodList', function getMethodList(type) {
// Returns the list of gadget methods
var key,
method_list = [],
method_dict = this.constructor.__method_type_dict || {};
for (key in method_dict) {
if (method_dict.hasOwnProperty(key)) {
if ((type === undefined) ||
(type === method_dict[key])) {
method_list.push(key);
}
}
}
return method_list;
})
.declareMethod('getRequiredCSSList', function getRequiredCSSList() {
// Returns a list of CSS required by the gadget
return this.__required_css_list;
......@@ -1505,7 +1546,7 @@ if (typeof document.contains !== 'function') {
gadget
);
};
registerMethod(this, name, 'acquired_method');
// Allow chain
return this;
};
......@@ -2358,7 +2399,7 @@ if (typeof document.contains !== 'function') {
TmpConstructor.__ready_list = [];
TmpConstructor.__service_list = RenderJSGadget.__service_list.slice();
TmpConstructor.prototype.__path = url;
root_gadget = new RenderJSEmbeddedGadget();
root_gadget = new TmpConstructor();
setAqParent(root_gadget, createLastAcquisitionGadget());
declare_method_list_waiting = [
......@@ -2366,7 +2407,8 @@ if (typeof document.contains !== 'function') {
"getRequiredCSSList",
"getRequiredJSList",
"getPath",
"getTitle"
"getTitle",
"getMethodList"
];
// Inform parent gadget about declareMethod calls here.
......
{
"name": "renderjs",
"version": "0.19.0",
"version": "0.20.0",
"description": "RenderJs provides HTML5 gadgets",
"main": "dist/renderjs-latest.js",
"dependencies": {
......
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!