parent
339e583425
commit
c7c473e3e2
@ -0,0 +1,63 @@ |
|||||||
|
var yo = require('yo-yo') |
||||||
|
// -------------- copyToClipboard ----------------------
|
||||||
|
var csjs = require('csjs-inject') |
||||||
|
var styleGuide = require('remix-lib').ui.themeChooser |
||||||
|
var styles = styleGuide.chooser() |
||||||
|
|
||||||
|
var css = csjs` |
||||||
|
.container |
||||||
|
{ |
||||||
|
display: none; |
||||||
|
position: fixed; |
||||||
|
border: 1px solid ${styles.appProperties.solidBorderBox_BorderColor}; |
||||||
|
width:150px;
|
||||||
|
background: ${styles.appProperties.solidBorderBox_BackgroundColor}; |
||||||
|
border-radius: 2px; |
||||||
|
} |
||||||
|
|
||||||
|
.liitem |
||||||
|
{ |
||||||
|
padding: 3px; |
||||||
|
padding-left: 10px; |
||||||
|
cursor: pointer; |
||||||
|
} |
||||||
|
|
||||||
|
#menuitems |
||||||
|
{ |
||||||
|
list-style: none; |
||||||
|
margin: 0px; |
||||||
|
margin-top: 4px; |
||||||
|
padding-left: 5px; |
||||||
|
padding-right: 5px; |
||||||
|
padding-bottom: 3px; |
||||||
|
color: ${styles.appProperties.solidBorderBox_TextColor}; |
||||||
|
} |
||||||
|
|
||||||
|
#menuitems :hover |
||||||
|
{ |
||||||
|
background: ${styles.appProperties.highlight_BackgroundColor}; |
||||||
|
border-radius: 2px; |
||||||
|
} |
||||||
|
` |
||||||
|
|
||||||
|
module.exports = (event, items) => { |
||||||
|
event.preventDefault() |
||||||
|
var menu = Object.keys(items).map((item, index) => { |
||||||
|
var current = yo`<li class=${css.liitem}>${item}</li>` |
||||||
|
current.onclick = () => items[item]() |
||||||
|
return current |
||||||
|
}) |
||||||
|
var container = yo`<div class=${css.container}><ul id='menuitems'>${menu}</ul></div>` |
||||||
|
container.style.left = event.pageX + 'px' |
||||||
|
container.style.top = event.pageY + 'px' |
||||||
|
container.style.display = 'block' |
||||||
|
|
||||||
|
function hide (event) { |
||||||
|
if (event.target !== container) { |
||||||
|
container.parentElement.removeChild(container) |
||||||
|
} |
||||||
|
window.removeEventListener('click', hide) |
||||||
|
} |
||||||
|
window.addEventListener('click', hide) |
||||||
|
document.querySelector('body').appendChild(container) |
||||||
|
} |
Loading…
Reference in new issue