import PropTypes from 'prop-types' import React from 'react' import CSSModules from 'browser/lib/CSSModules' import dataApi from 'browser/main/lib/dataApi' import styles from './SnippetTab.styl' import ConfigManager from 'browser/main/lib/ConfigManager' import SnippetEditor from './SnippetEditor'; import i18n from 'browser/lib/i18n' class SnippetTab extends React.Component { constructor (props) { super(props) this.state = { snippets: [ { id: 'abcsajisdjiasd', name: 'Hello', content: 'asdddddddsaddddddd' }, { id: 'btbjieejbiebfe', name: 'Hello 2', content: 'asdddddddsaddddddd' } ], currentSnippet: null } } handleSnippetClick(id) { this.setState({'currentSnippet': id}) } renderSnippetList () { let { snippets } = this.state return ( snippets.map((snippet) => (
this.handleSnippetClick(snippet.id)}> {snippet.name}
)) ) } render () { const { config } = this.props let editorFontSize = parseInt(config.editor.fontSize, 10) if (!(editorFontSize > 0 && editorFontSize < 101)) editorFontSize = 14 let editorIndentSize = parseInt(config.editor.indentSize, 10) if (!(editorFontSize > 0 && editorFontSize < 132)) editorIndentSize = 4 return (
{i18n.__('Snippets')}
{this.renderSnippetList()}
{this.state.currentSnippet ?
{i18n.__('Snippet name')}
: ''}
) } } SnippetTab.PropTypes = { } export default CSSModules(SnippetTab, styles)