import React from 'react';
import Posts from "meteor/vulcan:posts";
import Comments from "meteor/vulcan:comments";
import Users from 'meteor/vulcan:users';
import { Callbacks, Utils, registerComponent } from 'meteor/vulcan:core';
const renderFunction = (func, name) => {
const s = func.toString();
const openParen = s.indexOf("(");
const closeParen = s.indexOf(")");
return (
{name}({s.substr(openParen+1, closeParen-openParen-1)})
)
}
const renderCallback = (callbacks, key) => {
if (Array.isArray(callbacks)) {
return (
{key}
{_.map(callbacks, (item, key) => {item.name}
)}
)
} else {
return null
}
}
const Cheatsheet = props => {
return (
Cheatsheet
Users
Helpers (Users.*
)
{_.map(Users, (item, key) => (key[0] !== "_" ? renderFunction(item, key) : null) )}
{_.map(Users.is, renderFunction)}
Posts
Helpers (Posts.*
)
{_.map(Posts, (item, key) => (key[0] !== "_" ? renderFunction(item, key) : null) )}
Comments
Helpers (Comments.*
)
{_.map(Comments, (item, key) => (key[0] !== "_" ? renderFunction(item, key) : null) )}
Callbacks
Functions
add()
remove()
run()
runAsync()
Hooks (Callbacks.*
)
{_.map(Callbacks, renderCallback)}
Utils
Helpers (Utils.*
)
{_.map(Utils, renderFunction)}
)
}
registerComponent('Cheatsheet', Cheatsheet);