2019-11-28 02:48:27 -03:00
|
|
|
import React from 'react';
|
|
|
|
|
import PropTypes from 'prop-types';
|
2019-08-13 15:36:46 -04:00
|
|
|
import LanguageSwitcher from '../languageSwitcher';
|
2019-11-28 02:48:27 -03:00
|
|
|
import i18n from '@ohif/i18n';
|
2019-08-13 15:36:46 -04:00
|
|
|
|
2019-11-28 02:48:27 -03:00
|
|
|
/**
|
|
|
|
|
* General Preferences tab
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* General Preferences tab
|
|
|
|
|
* It renders the General Preferences content
|
|
|
|
|
*
|
|
|
|
|
* It stores current state and whenever it changes, component messages parent of new value (through function callback)
|
|
|
|
|
* @param {object} props component props
|
|
|
|
|
* @param {string} props.name Tab`s name
|
|
|
|
|
* @param {object} props.generalPreferences Data for initial state
|
|
|
|
|
* @param {function} props.onTabStateChanged Callback function to communicate parent in case its states changes
|
|
|
|
|
* @param {function} props.onTabErrorChanged Callback Function in case any error on tab
|
|
|
|
|
*/
|
|
|
|
|
function GeneralPreferences({
|
|
|
|
|
generalPreferences,
|
|
|
|
|
name,
|
|
|
|
|
onTabStateChanged,
|
|
|
|
|
onTabErrorChanged,
|
|
|
|
|
}) {
|
|
|
|
|
const { language = i18n.language } = generalPreferences;
|
|
|
|
|
|
|
|
|
|
const onLanguageChange = language => {
|
|
|
|
|
onTabStateChanged(name, {
|
|
|
|
|
generalPreferences: { ...generalPreferences, language },
|
|
|
|
|
});
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
return (
|
|
|
|
|
<div className="general-preferences-wrapper">
|
|
|
|
|
<div className="col-sm-3">
|
|
|
|
|
<label htmlFor="language-select" className="p-r-1">
|
|
|
|
|
Language
|
|
|
|
|
</label>
|
|
|
|
|
<LanguageSwitcher
|
|
|
|
|
language={language}
|
|
|
|
|
onLanguageChange={onLanguageChange}
|
|
|
|
|
/>
|
2019-08-13 15:36:46 -04:00
|
|
|
</div>
|
2019-11-28 02:48:27 -03:00
|
|
|
</div>
|
|
|
|
|
);
|
2019-08-13 15:36:46 -04:00
|
|
|
}
|
2019-11-28 02:48:27 -03:00
|
|
|
|
|
|
|
|
GeneralPreferences.propTypes = {
|
|
|
|
|
generalPreferences: PropTypes.any,
|
|
|
|
|
name: PropTypes.string,
|
|
|
|
|
onTabStateChanged: PropTypes.func,
|
|
|
|
|
onTabErrorChanged: PropTypes.func,
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
export { GeneralPreferences };
|