FontsApp.js (2080B)
1 /* This Source Code Form is subject to the terms of the Mozilla Public 2 * License, v. 2.0. If a copy of the MPL was not distributed with this 3 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ 4 5 "use strict"; 6 7 const { 8 createFactory, 9 PureComponent, 10 } = require("resource://devtools/client/shared/vendor/react.mjs"); 11 const dom = require("resource://devtools/client/shared/vendor/react-dom-factories.js"); 12 const PropTypes = require("resource://devtools/client/shared/vendor/react-prop-types.mjs"); 13 const { 14 connect, 15 } = require("resource://devtools/client/shared/vendor/react-redux.js"); 16 17 const FontEditor = createFactory( 18 require("resource://devtools/client/inspector/fonts/components/FontEditor.js") 19 ); 20 const FontOverview = createFactory( 21 require("resource://devtools/client/inspector/fonts/components/FontOverview.js") 22 ); 23 24 const Types = require("resource://devtools/client/inspector/fonts/types.js"); 25 26 class FontsApp extends PureComponent { 27 static get propTypes() { 28 return { 29 fontData: PropTypes.shape(Types.fontData).isRequired, 30 fontEditor: PropTypes.shape(Types.fontEditor).isRequired, 31 fontOptions: PropTypes.shape(Types.fontOptions).isRequired, 32 onInstanceChange: PropTypes.func.isRequired, 33 onPreviewTextChange: PropTypes.func.isRequired, 34 onPropertyChange: PropTypes.func.isRequired, 35 onToggleFontHighlight: PropTypes.func.isRequired, 36 }; 37 } 38 39 render() { 40 const { 41 fontData, 42 fontEditor, 43 fontOptions, 44 onInstanceChange, 45 onPreviewTextChange, 46 onPropertyChange, 47 onToggleFontHighlight, 48 } = this.props; 49 50 return dom.div( 51 { 52 className: "theme-sidebar inspector-tabpanel", 53 id: "sidebar-panel-fontinspector", 54 }, 55 FontEditor({ 56 fontEditor, 57 onInstanceChange, 58 onPropertyChange, 59 onToggleFontHighlight, 60 }), 61 FontOverview({ 62 fontData, 63 fontOptions, 64 onPreviewTextChange, 65 onToggleFontHighlight, 66 }) 67 ); 68 } 69 } 70 71 module.exports = connect(state => state)(FontsApp);