@@ -47,7 +48,7 @@ var SubscriptionProductDetails = React.createClass({
* - 'waiting' - display spinner
* - 'error' - display error icon
*/
-var Curtains = React.createClass({
+var Curtains = createReactClass({
render: function() {
var description = null;
if (this.props.description)
@@ -80,7 +81,7 @@ var Curtains = React.createClass({
/* Component to show a dismissable error, message as child text
* dismissError callback function triggered when the close button is pressed
*/
-var DismissableError = React.createClass({
+var DismissableError = createReactClass({
handleDismissError: function(e) {
// only consider primary mouse button
if (!e || e.button !== 0)
@@ -110,7 +111,7 @@ var DismissableError = React.createClass({
* register callback, triggered when user clicks on register
* unregister callback, triggered when user clicks on unregister
*/
-var SubscriptionStatus = React.createClass({
+var SubscriptionStatus = createReactClass({
handleRegisterSystem: function(e) {
// only consider primary mouse button
if (!e || e.button !== 0)
@@ -177,7 +178,7 @@ var SubscriptionStatus = React.createClass({
* register callback, triggered when user clicks on register
* unregister callback, triggered when user clicks on unregister
*/
-var SubscriptionsPage = React.createClass({
+var SubscriptionsPage = createReactClass({
renderCurtains: function() {
var icon;
var description;
diff --git a/pkg/systemd/terminal.jsx b/pkg/systemd/terminal.jsx
index 648d52fb9229..d9bfe15bf7cc 100644
--- a/pkg/systemd/terminal.jsx
+++ b/pkg/systemd/terminal.jsx
@@ -6,6 +6,8 @@
var React = require("react");
var ReactDOM = require("react-dom");
+ var createReactClass = require('create-react-class');
+
var componentsTerminal = require("cockpit-components-terminal.jsx");
cockpit.translate();
@@ -18,74 +20,74 @@
*
* Spawns the user's shell in the user's home directory.
*/
- var UserTerminal = React.createClass({displayName: "UserTerminal",
- createChannel: function (user) {
- return cockpit.channel({
- "payload": "stream",
- "spawn": [user.shell || "/bin/bash", "-i"],
- "environ": [
- "TERM=xterm-256color",
- "PATH=/sbin:/bin:/usr/sbin:/usr/bin"
- ],
- "directory": user.home || "/",
- "pty": true
- });
- },
-
- getInitialState: function () {
- return {
- title: 'Terminal'
- };
- },
-
- componentWillMount: function () {
- cockpit.user().done(function (user) {
- this.setState({ user: user, channel: this.createChannel(user) });
- }.bind(this));
- },
-
- onTitleChanged: function (title) {
- this.setState({ title: title });
- },
-
- onResetClick: function (event) {
- if (event.button !== 0)
- return;
-
- if (this.state.channel)
- this.state.channel.close();
-
- if (this.state.user)
- this.setState({ channel: this.createChannel(this.state.user) });
-
- // don't focus the button, but keep it on the terminal
- this.refs.resetButton.blur();
- this.refs.terminal.focus();
- },
-
- render: function () {
- var terminal;
- if (this.state.channel)
- terminal = (
);
- else
- terminal =
Loading...;
-
- return (
-
-
-
{this.state.title}
-
+
+ {terminal}
+
+
+ );
+ }
});
ReactDOM.render(
, document.getElementById('terminal'));
diff --git a/pkg/tuned/change-profile.jsx b/pkg/tuned/change-profile.jsx
index 46f1794ce650..5ce217aab4ff 100644
--- a/pkg/tuned/change-profile.jsx
+++ b/pkg/tuned/change-profile.jsx
@@ -20,6 +20,7 @@
var cockpit = require("cockpit");
var React = require("react");
var PropTypes = require("prop-types");
+var createReactClass = require('create-react-class');
var _ = cockpit.gettext;
@@ -32,7 +33,7 @@ var _ = cockpit.gettext;
* - description
* - click (callback function)
*/
-var TunedDialogProfile = React.createClass({
+var TunedDialogProfile = createReactClass({
propTypes: {
name: PropTypes.string.isRequired,
recommended: PropTypes.bool.isRequired,
@@ -69,7 +70,7 @@ var TunedDialogProfile = React.createClass({
* - title (string)
* - description (string)
*/
-var TunedDialogBody = React.createClass({
+var TunedDialogBody = createReactClass({
propTypes: {
active_profile: PropTypes.string.isRequired,
change_selected: PropTypes.func.isRequired,
@@ -104,7 +105,7 @@ var TunedDialogBody = React.createClass({
}
});
-var TunedLink = React.createClass({
+var TunedLink = createReactClass({
render: function() {
var self = this;
diff --git a/pkg/users/local.js b/pkg/users/local.js
index 477aaf97e935..0524fa4825c7 100755
--- a/pkg/users/local.js
+++ b/pkg/users/local.js
@@ -22,6 +22,7 @@ var cockpit = require("cockpit");
var React = require("react");
var ReactDOM = require("react-dom");
+var createReactClass = require('create-react-class');
var Mustache = require("mustache");
var authorized_keys = require("./authorized-keys");
@@ -272,7 +273,7 @@ function is_user_in_group(user, group) {
return false;
}
-var AccountItem = React.createClass({
+var AccountItem = createReactClass({
displayName: 'AccountItem',
click: function(ev) {
if (ev && ev.button === 0)
@@ -287,7 +288,7 @@ var AccountItem = React.createClass({
}
});
-var AccountList = React.createClass({
+var AccountList = createReactClass({
displayName: 'AccountList',
render: function() {
var i, items = [];