aboutsummaryrefslogtreecommitdiffstats
path: root/web/src/js/components/ContentView/ViewSelector.jsx
diff options
context:
space:
mode:
Diffstat (limited to 'web/src/js/components/ContentView/ViewSelector.jsx')
-rw-r--r--web/src/js/components/ContentView/ViewSelector.jsx28
1 files changed, 28 insertions, 0 deletions
diff --git a/web/src/js/components/ContentView/ViewSelector.jsx b/web/src/js/components/ContentView/ViewSelector.jsx
new file mode 100644
index 00000000..df3a5b83
--- /dev/null
+++ b/web/src/js/components/ContentView/ViewSelector.jsx
@@ -0,0 +1,28 @@
+import React, { PropTypes } from 'react'
+import classnames from 'classnames'
+import views, { ViewAuto } from './ContentViews'
+
+ViewSelector.propTypes = {
+ active: PropTypes.func.isRequired,
+ message: PropTypes.object.isRequired,
+ onSelectView: PropTypes.func.isRequired,
+}
+
+export default function ViewSelector({ active, message, onSelectView }) {
+ return (
+ <div className="view-selector btn-group btn-group-xs">
+ {views.map(View => (
+ <button
+ key={View.name}
+ onClick={() => onSelectView(View)}
+ className={classnames('btn btn-default', { active: View === active })}>
+ {View === ViewAuto ? (
+ `auto: ${ViewAuto.findView(message).name.toLowerCase().replace('view', '')}`
+ ) : (
+ View.name.toLowerCase().replace('view', '')
+ )}
+ </button>
+ ))}
+ </div>
+ )
+}