I hereby claim:
- I am dmitrymarkov on github.
- I am dmitrymarkov (https://keybase.io/dmitrymarkov) on keybase.
- I have a public key ASDHtPHLTXvzuIGkQy1b5-PDzmsTZwTwOsMadRNgWD25Ego
To claim this, I am signing this object:
const folders = [{ | |
id: 1, | |
name: 'JavaScript', | |
children: [{ | |
id: 2, | |
name: 'Frameworks', | |
children: [{ | |
id: 3, | |
name: 'Angular' | |
}, { |
const TreeComponent = ({ folders, children }) => { | |
const renderTree = (folders, level = 0) => | |
folders.length && folders.map(folder => { | |
if (folder.children && folder.children.length) { | |
return [ | |
children({ folder, level }), | |
...renderTree(folder.children, level + 1) | |
] | |
} | |
return children({ folder, level }) |
const FolderName = ({ folder: { name }, level }) => ( | |
<div style={{ paddingLeft: level * 20 }}>{name}</div> | |
) | |
const FolderList = ({ folders }) => ( | |
<> | |
<TreeComponent folders={folders}> | |
{(props) => (<FolderName {...props} />)} | |
</TreeComponent> | |
</> |
const Selector = ({ folders }) => ( | |
<form> | |
<label for="example">Select folder</label> | |
<select class="form-control" id="example"> | |
<TreeComponent folders={folders}> | |
{({ folder: { id, name } }) => (<option key={id}>{name}</option>)} | |
</TreeComponent> | |
</select> | |
</form> | |
) |
I hereby claim:
To claim this, I am signing this object:
var mongoObjectId = function () { | |
var timestamp = (new Date().getTime() / 1000 | 0).toString(16); | |
return timestamp + 'xxxxxxxxxxxxxxxx'.replace(/[x]/g, function() { | |
return (Math.random() * 16 | 0).toString(16); | |
}).toLowerCase(); | |
}; |
let sidebar = document.querySelector(".sidebar"); | |
let top = localStorage.getItem("sidebar-scroll"); | |
if (top !== null) { | |
sidebar.scrollTop = parseInt(top, 10); | |
} | |
window.addEventListener("beforeunload", () => { | |
localStorage.setItem("sidebar-scroll", sidebar.scrollTop); | |
}); |