Skip to content

Commit

Permalink
Merge branch 'master' into dev
Browse files Browse the repository at this point in the history
  • Loading branch information
raffazizzi committed Jun 18, 2024
2 parents 4a14928 + 49ea7c7 commit 2431340
Show file tree
Hide file tree
Showing 4 changed files with 40 additions and 18 deletions.
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "romajs",
"version": "1.1.0",
"version": "1.1.1",
"description": "Roma: a TEI customization tool in React+Redux",
"main": "index.js",
"scripts": {
Expand Down
50 changes: 34 additions & 16 deletions src/components/DownloadButton.js
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,13 @@ import InfoDialog from './dialogs/Info'
export default class DownloadButton extends Component {
constructor(props) {
super(props)
this.state = {
showInfoDialog: false
const i18n = _i18n(this.props.language, 'DownloadButton')
this.initialState = {
showInfoDialog: false,
infoHeader: i18n('The customization is not valid'),
infoBody: i18n('errormsg')
}
this.state = this.initialState
}

componentDidMount() {
Expand All @@ -20,6 +24,20 @@ export default class DownloadButton extends Component {
render() {
// Set language function
const i18n = _i18n(this.props.language, 'DownloadButton')

const handleDownload = (format) => {
if (format === 'customization') {
this.props.downloadCustomization()
} else {
this.setState({
showInfoDialog: true,
infoHeader: i18n('Generating the Customization'),
infoBody: i18n('geninfo')
})
this.props.downloadSchema(format)
}
}

return (
<div style={{position: 'relative'}}>
<button disabled={!this.props.isLoaded} className="mdc-button mdc-button--raised toggle" onClick={() => {
Expand All @@ -34,60 +52,60 @@ export default class DownloadButton extends Component {
<div style={{position: 'relative'}}>
<div key="opts" className="mdc-menu mdc-menu-surface" tabIndex="-1" ref="menu">
<ul className="mdc-list" role="menu" aria-hidden="true">
<li className="mdc-list-item" role="menuitem" tabIndex="0" onClick={()=>{this.props.downloadCustomization()}}>
<li className="mdc-list-item" role="menuitem" tabIndex="0" onClick={()=>{handleDownload('customization')}}>
{i18n('Customization as ODD')}
</li>
<li className="mdc-list-divider" role="separator"/>
<li className="mdc-list-item" role="menuitem" tabIndex="0" onClick={()=>{this.props.downloadSchema('compiled.odd')}}>
<li className="mdc-list-item" role="menuitem" tabIndex="0" onClick={()=>{handleDownload('compiled.odd')}}>
{i18n('Compiled ODD')}
</li>
<li className="mdc-list-divider" role="separator"/>
<li className="mdc-list-divider" role="separator"/>
<li className="mdc-list-item" role="menuitem" tabIndex="0" onClick={()=>{this.props.downloadSchema('rng')}}>
<li className="mdc-list-item" role="menuitem" tabIndex="0" onClick={()=>{handleDownload('rng')}}>
{i18n('RELAX NG schema')}
</li>
<li className="mdc-list-divider" role="separator"/>
<li className="mdc-list-item" role="menuitem" tabIndex="0" onClick={()=>{this.props.downloadSchema('rnc')}}>
<li className="mdc-list-item" role="menuitem" tabIndex="0" onClick={()=>{handleDownload('rnc')}}>
{i18n('RELAX NG compact')}
</li>
<li className="mdc-list-divider" role="separator"/>
<li className="mdc-list-item" role="menuitem" tabIndex="0" onClick={()=>{this.props.downloadSchema('w3c')}}>
<li className="mdc-list-item" role="menuitem" tabIndex="0" onClick={()=>{handleDownload('w3c')}}>
{i18n('W3C schema')}
</li>
<li className="mdc-list-divider" role="separator"/>
<li className="mdc-list-item" role="menuitem" tabIndex="0" onClick={()=>{this.props.downloadSchema('dtd')}}>
<li className="mdc-list-item" role="menuitem" tabIndex="0" onClick={()=>{handleDownload('dtd')}}>
{i18n('DTD')}
</li>
<li className="mdc-list-divider" role="separator"/>
<li className="mdc-list-item" role="menuitem" tabIndex="0" onClick={()=>{this.props.downloadSchema('isosch')}}>
<li className="mdc-list-item" role="menuitem" tabIndex="0" onClick={()=>{handleDownload('isosch')}}>
{i18n('ISO Schematron constraints')}
</li>
<li className="mdc-list-divider" role="separator"/>
<li className="mdc-list-divider" role="separator"/>
<li className="mdc-list-item" role="menuitem" tabIndex="0" onClick={()=>{this.props.downloadSchema('html')}}>
<li className="mdc-list-item" role="menuitem" tabIndex="0" onClick={()=>{handleDownload('html')}}>
{i18n('Documentation as HTML')}
</li>
<li className="mdc-list-divider" role="separator"/>
<li className="mdc-list-item" role="menuitem" tabIndex="0" onClick={()=>{this.props.downloadSchema('tei')}}>
<li className="mdc-list-item" role="menuitem" tabIndex="0" onClick={()=>{handleDownload('tei')}}>
{i18n('Documentation as TEI Lite')}
</li>
<li className="mdc-list-divider" role="separator"/>
<li className="mdc-list-item" role="menuitem" tabIndex="0" onClick={()=>{this.props.downloadSchema('docx')}}>
<li className="mdc-list-item" role="menuitem" tabIndex="0" onClick={()=>{handleDownload('docx')}}>
{i18n('Documentation as MS Word')}
</li>
<li className="mdc-list-divider" role="separator"/>
<li className="mdc-list-item" role="menuitem" tabIndex="0" onClick={()=>{this.props.downloadSchema('latex')}}>
<li className="mdc-list-item" role="menuitem" tabIndex="0" onClick={()=>{handleDownload('latex')}}>
{i18n('Documentation as LaTeX')}
</li>
<li className="mdc-list-divider" role="separator"/>
<li className="mdc-list-item" role="menuitem" tabIndex="0" onClick={()=>{this.props.downloadSchema('pdf')}}>
<li className="mdc-list-item" role="menuitem" tabIndex="0" onClick={()=>{handleDownload('pdf')}}>
{i18n('Documentation as PDF')}
</li>
</ul>
</div>
</div>
<InfoDialog key="id" show={this.state.showInfoDialog} hide={() => {this.setState({showInfoDialog: false})}}
header={i18n('The customization is not valid')} body={i18n('errormsg')} />
<InfoDialog key="id" show={this.state.showInfoDialog} hide={() => {this.setState(this.initialState)}}
header={this.state.infoHeader} body={this.state.infoBody} />
</div>
)
}
Expand Down
4 changes: 4 additions & 0 deletions src/localization/i18n.json
Original file line number Diff line number Diff line change
Expand Up @@ -1073,6 +1073,10 @@
"zh-notchecked": "ODD不能被处理,因为它不是格式良好的XML,或者它是无效的!请检查你的定制,特别是带有XML数据的文档字段。",
"es": "El ODD no puede ser procesado porque no está bien formado XML o no es válido. Por favor, compruebe su personalización, especialmente los campos de documentación con datos XML.",
"ja": "このODDは、適格なXMLでないか、無効であるため、処理できません!カスタマイズ、特にXMLデータを含むドキュメントフィールドを確認してください。"
},
"Generating the Customization": {},
"geninfo": {
"en": "The download will begin shortly."
}
},
"FilterSearchBar": {
Expand Down
2 changes: 1 addition & 1 deletion src/utils/version.js
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
// Roma version
export default '1.1.0'
export default '1.1.1'

0 comments on commit 2431340

Please sign in to comment.