ag-grid
Version:
Advanced Data Grid / Data Table supporting Javascript / React / AngularJS / Web Components
78 lines (77 loc) • 2.48 kB
JavaScript
/**
* ag-grid - Advanced Data Grid / Data Table supporting Javascript / React / AngularJS / Web Components
* @version v18.1.2
* @link http://www.ag-grid.com/
* @license MIT
*/
;
Object.defineProperty(exports, "__esModule", { value: true });
function QuerySelector(selector) {
return querySelectorFunc.bind(this, selector);
}
exports.QuerySelector = QuerySelector;
function RefSelector(ref) {
return querySelectorFunc.bind(this, "[ref=" + ref + "]");
}
exports.RefSelector = RefSelector;
function querySelectorFunc(selector, classPrototype, methodOrAttributeName, index) {
if (selector === null) {
console.error("ag-Grid: QuerySelector selector should not be null");
return;
}
if (typeof index === "number") {
console.error("ag-Grid: QuerySelector should be on an attribute");
return;
}
addToObjectProps(classPrototype, 'querySelectors', {
attributeName: methodOrAttributeName,
querySelector: selector
});
}
// think we should take this out, put property bindings on the
function Listener(eventName) {
return listenerFunc.bind(this, eventName);
}
exports.Listener = Listener;
function listenerFunc(eventName, target, methodName) {
if (eventName === null) {
console.error("ag-Grid: EventListener eventName should not be null");
return;
}
addToObjectProps(target, 'listenerMethods', {
methodName: methodName,
eventName: eventName
});
}
// think we should take this out, put property bindings on the
function Method(eventName) {
return methodFunc.bind(this, eventName);
}
exports.Method = Method;
function methodFunc(alias, target, methodName) {
if (alias === null) {
console.error("ag-Grid: EventListener eventName should not be null");
return;
}
addToObjectProps(target, 'methods', {
methodName: methodName,
alias: alias
});
}
function addToObjectProps(target, key, value) {
// it's an attribute on the class
var props = getOrCreateProps(target, target.constructor.name);
if (!props[key]) {
props[key] = [];
}
props[key].push(value);
}
function getOrCreateProps(target, instanceName) {
if (!target.__agComponentMetaData) {
target.__agComponentMetaData = {};
}
if (!target.__agComponentMetaData[instanceName]) {
target.__agComponentMetaData[instanceName] = {};
}
return target.__agComponentMetaData[instanceName];
}