1
0
mirror of https://github.com/ascribe/onion.git synced 2024-06-25 18:56:28 +02:00

qMerge branch 'master' into AD-538-users-and-even-devs-are-unsure-wh

This commit is contained in:
Cevo 2015-09-30 10:53:16 +02:00
commit 23f10d4d7f
6 changed files with 85 additions and 42 deletions

View File

@ -25,7 +25,7 @@ import CollapsibleParagraph from './../ascribe_collapsible/collapsible_paragraph
import Form from './../ascribe_forms/form';
import Property from './../ascribe_forms/property';
import EditionDetailProperty from './detail_property';
import LicenseDetail from './license_detail';
import EditionFurtherDetails from './further_details';
import ListRequestActions from './../ascribe_forms/list_form_request_actions';
@ -101,7 +101,6 @@ let Edition = React.createClass({
},
refreshCollection() {
console.log('freshing');
PieceListActions.fetchPieceList(this.state.page, this.state.pageSize, this.state.search,
this.state.orderBy, this.state.orderAsc, this.state.filterBy);
EditionListActions.refreshEditionList({pieceId: this.props.edition.parent});
@ -316,6 +315,7 @@ let EditionSummary = React.createClass({
<EditionDetailProperty
label={getLangText('OWNER')}
value={ this.props.edition.owner } />
<LicenseDetail license={this.props.edition.license_type}/>
{this.getStatus()}
<hr />
{this.getActions()}

View File

@ -0,0 +1,31 @@
'use strict';
import React from 'react';
import DetailProperty from './detail_property';
/**
* This is the component that implements display-specific functionality
*/
let LicenseDetail = React.createClass({
propTypes: {
license: React.PropTypes.object
},
render () {
if (this.props.license.code === 'default') {
return null;
}
return (
<DetailProperty
label="LICENSE"
value={
<a href={this.props.license.url} target="_blank">
{ this.props.license.code.toUpperCase() + ': ' + this.props.license.name}
</a>
}
/>
);
}
});
export default LicenseDetail;

View File

@ -19,6 +19,7 @@ import CollapsibleParagraph from './../ascribe_collapsible/collapsible_paragraph
import FurtherDetails from './further_details';
import DetailProperty from './detail_property';
import LicenseDetail from './license_detail';
import HistoryIterator from './history_iterator';
import AclButtonList from './../ascribe_buttons/acl_button_list';
@ -224,6 +225,7 @@ let PieceContainer = React.createClass({
<div className="ascribe-detail-header">
<DetailProperty label={getLangText('REGISTREE')} value={ this.state.piece.user_registered } />
<DetailProperty label={getLangText('ID')} value={ this.state.piece.bitcoin_id } ellipsis={true} />
<LicenseDetail license={this.state.piece.license_type} />
</div>
}
buttons={this.getActions()}>

View File

@ -3,7 +3,6 @@
import React from 'react';
import DropdownButton from 'react-bootstrap/lib/DropdownButton';
import MenuItem from 'react-bootstrap/lib/MenuItem';
import { getLangText } from '../../utils/lang_utils.js';
@ -62,20 +61,22 @@ let PieceListToolbarOrderWidget = React.createClass({
</li>
{this.props.orderParams.map((param) => {
return (
<MenuItem
key={param}
onClick={this.orderBy(param)}
className="filter-widget-item">
<div className="checkbox-line">
<span>
{getLangText(param.replace('_', ' '))}
</span>
<input
readOnly
type="checkbox"
checked={param.indexOf(this.props.orderBy) > -1} />
</div>
</MenuItem>
<div>
<li
key={param}
onClick={this.orderBy(param)}
className="filter-widget-item">
<div className="checkbox-line">
<span>
{getLangText(param.replace('_', ' '))}
</span>
<input
readOnly
type="checkbox"
checked={param.indexOf(this.props.orderBy) > -1} />
</div>
</li>
</div>
);
})}
</DropdownButton>

View File

@ -64,31 +64,33 @@ let Header = React.createClass({
},
getLogo(){
let logo = (
if (this.state.whitelabel && this.state.whitelabel.logo){
return <img className="img-brand" src={this.state.whitelabel.logo} />;
}
return (
<span>
<span>ascribe </span>
<span className="glyph-ascribe-spool-chunked ascribe-color"></span>
</span>);
if (this.state.whitelabel && this.state.whitelabel.logo){
logo = <img className="img-brand" src={this.state.whitelabel.logo} />;
}
return logo;
</span>
);
},
getPoweredBy(){
if (this.state.whitelabel && this.state.whitelabel.logo) {
return (
<li>
<a className="pull-right" href="https://www.ascribe.io/" target="_blank">
<span id="powered">{getLangText('powered by')} </span>
<span>ascribe </span>
<span className="glyph-ascribe-spool-chunked ascribe-color"></span>
</a>
</li>
);
}
return null;
return (
<AclProxy
aclObject={this.state.whitelabel}
aclName="acl_view_powered_by">
<li>
<a className="pull-right" href="https://www.ascribe.io/" target="_blank">
<span id="powered">{getLangText('powered by')} </span>
<span>ascribe </span>
<span className="glyph-ascribe-spool-chunked ascribe-color"></span>
</a>
</li>
</AclProxy>
);
},
onChange(state) {
this.setState(state);

View File

@ -46,12 +46,19 @@ let CCRegisterPiece = React.createClass({
label={getLangText('Copyright license%s', '...')}
onChange={this.onLicenseChange}
footer={
<a
className="pull-right"
href={this.state.licenses[this.state.selectedLicense].url}
target="_blank">
{getLangText('Learn more')}
</a>
<span className="pull-right">
<a
href={this.state.licenses[this.state.selectedLicense].url}
target="_blank">
{getLangText('Learn more about ') + this.state.licenses[this.state.selectedLicense].code}
</a>
&nbsp;(
<a
href='https://www.ascribe.io/faq/#legals'
target="_blank">
{getLangText('ascribe faq')}
</a>)
</span>
}>
<select name="license">
{this.state.licenses.map((license, i) => {
@ -74,7 +81,7 @@ let CCRegisterPiece = React.createClass({
return (
<RegisterPiece
enableLocalHashing={false}
headerMessage={getLangText('Submit to Creative Commons')}
headerMessage={getLangText('Register under a Creative Commons license')}
submitMessage={getLangText('Submit')}>
{this.getLicenses()}
</RegisterPiece>