about summary refs log tree commit diff
path: root/app/assets/javascripts/components/components/dropdown_menu.jsx
diff options
context:
space:
mode:
authorEugen Rochko <eugen@zeonfederated.com>2016-10-09 22:19:15 +0200
committerEugen Rochko <eugen@zeonfederated.com>2016-10-09 22:19:15 +0200
commit0634e8dee5026b06c95b7efe161a0930c7431d9b (patch)
tree66c0d805aa4e25b843bb98270a8478fc39ce0b40 /app/assets/javascripts/components/components/dropdown_menu.jsx
parent29e79f770f3388a1d2d0e169da9fec31467c77c9 (diff)
Improved how in-UI profiles look
Diffstat (limited to 'app/assets/javascripts/components/components/dropdown_menu.jsx')
-rw-r--r--app/assets/javascripts/components/components/dropdown_menu.jsx25
1 files changed, 25 insertions, 0 deletions
diff --git a/app/assets/javascripts/components/components/dropdown_menu.jsx b/app/assets/javascripts/components/components/dropdown_menu.jsx
new file mode 100644
index 000000000..619605f63
--- /dev/null
+++ b/app/assets/javascripts/components/components/dropdown_menu.jsx
@@ -0,0 +1,25 @@
+import Dropdown, { DropdownTrigger, DropdownContent } from 'react-simple-dropdown';
+
+const DropdownMenu = ({ icon, items, size }) => {
+  return (
+    <Dropdown>
+      <DropdownTrigger className='icon-button' style={{ fontSize: `${size}px`, width: `${size}px`, lineHeight: `${size}px` }}>
+        <i className={`fa fa-fw fa-${icon}`} style={{ verticalAlign: 'middle' }} />
+      </DropdownTrigger>
+
+      <DropdownContent style={{ lineHeight: '18px' }}>
+        <ul>
+          {items.map(({ text, action }, i) => <li key={i}><a href='#' onClick={e => { e.preventDefault(); action(); }}>{text}</a></li>)}
+        </ul>
+      </DropdownContent>
+    </Dropdown>
+  );
+};
+
+DropdownMenu.propTypes = {
+  icon: React.PropTypes.string.isRequired,
+  items: React.PropTypes.array.isRequired,
+  size: React.PropTypes.number.isRequired
+};
+
+export default DropdownMenu;