Merge branch 'dev_aliyun' of https://bdgit.educoder.net/Hjqreturn/educoder into dev_aliyun
commit
ccbc6aa7b3
@ -0,0 +1,27 @@
|
||||
json.memo_list @memos
|
||||
# do |memo|
|
||||
# json.(memo, :id, :updated_at, :reward)
|
||||
# json.subject message_content(memo.content)
|
||||
# json.praise_count memo.praises_count
|
||||
# json.replies_count memo.child_discuss_count
|
||||
# json.shixun_tag memo.dis.tag_repertoires.map(&:name)
|
||||
# json.username memo.user.full_name
|
||||
# json.login memo.user.login
|
||||
# json.image_url url_to_avatar(memo.user)
|
||||
# json.tpm_url "/shixuns/#{memo.dis.identifier}/shixun_discuss"
|
||||
# end
|
||||
|
||||
json.memo_count @memo_count
|
||||
|
||||
json.hot_memos do
|
||||
json.array! @hot_memos do |hm|
|
||||
json.(hm, :id, :subject, :language, :forum_id)
|
||||
json.replies_count hm.all_replies_count
|
||||
# json.praise_count hm.praise_tread.praise_count
|
||||
json.tag hm.tag_repertoires.map(&:name)
|
||||
end
|
||||
end
|
||||
|
||||
json.hot_tags @hot_tags
|
||||
|
||||
json.recommend_shixuns @recommend_shixuns
|
@ -0,0 +1,7 @@
|
||||
json.(@memo, :subject, :content, :forum_id)
|
||||
json.memo_tags @memo_tags
|
||||
json.attachments @attachments do |attachment|
|
||||
json.partial! "attachments/attachment_simple", locals: {attachment: attachment}
|
||||
end
|
||||
json.tag_list @tag_list
|
||||
json.forums forum_list
|
@ -1,3 +1,2 @@
|
||||
json.tag_list @tag_list
|
||||
json.forums @csrf_token
|
||||
|
||||
json.forums forum_list
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -0,0 +1,79 @@
|
||||
import React,{ Component } from "react";
|
||||
import { getUrl2 } from "educoder";
|
||||
|
||||
const $ = window.$
|
||||
let _url_origin = getUrl2()
|
||||
|
||||
class Clappr extends Component{
|
||||
constructor(props){
|
||||
super(props);
|
||||
this.state={
|
||||
}
|
||||
}
|
||||
componentDidMount() {
|
||||
const source = this.props.source || "http://your.video/here.mp4"
|
||||
const { id } = this.props
|
||||
const _id = `#_player${id}`
|
||||
if (window['Clappr']) {
|
||||
const player = new window.Clappr.Player({
|
||||
source: source, parentId: _id,
|
||||
plugins: {
|
||||
'core': [window.Clappr.MediaControl, window.Clappr.Playback]
|
||||
}
|
||||
});
|
||||
} else {
|
||||
$.getScript(
|
||||
`${_url_origin}/javascripts/media/clappr.min.js`,
|
||||
(data, textStatus, jqxhr) => {
|
||||
window.clappr = window.Clappr
|
||||
$.getScript(
|
||||
`${_url_origin}/javascripts/media/clappr-playback-rate-plugin.min.js`,
|
||||
(data, textStatus, jqxhr) => {
|
||||
const player = new window.Clappr.Player({
|
||||
source: source, parentId: _id,
|
||||
plugins: {
|
||||
'core': [window.Clappr.MediaControl, window['clappr-playback-rate-plugin'].default]
|
||||
}
|
||||
});
|
||||
|
||||
})
|
||||
|
||||
});
|
||||
|
||||
//
|
||||
// $.when(
|
||||
// $.getScript( `${_url_origin}/javascripts/media/clappr.min.js` ),
|
||||
// // $.getScript( `${_url_origin}/javascripts/media/clappr-thumbnails-plugin.js` ),
|
||||
// $.getScript( `${_url_origin}/javascripts/media/clappr-playback-rate-plugin.min.js` ),
|
||||
// $.Deferred(function( deferred ){
|
||||
// $( deferred.resolve );
|
||||
// })
|
||||
// ).done(function(){
|
||||
// //place your code here, the scripts are all loaded
|
||||
// const player = new window.Clappr.Player({
|
||||
// source: source, parentId: _id,
|
||||
// plugins: {
|
||||
// 'core': [window.Clappr.MediaControl, window.Clappr.Playback]
|
||||
// }
|
||||
// });
|
||||
// });
|
||||
}
|
||||
}
|
||||
|
||||
render(){
|
||||
|
||||
let { source, id, className } = this.props;
|
||||
const _id = `_player${id}`
|
||||
return(
|
||||
<React.Fragment>
|
||||
<style>{`
|
||||
.playback_rate {
|
||||
margin-right: 16px;
|
||||
}
|
||||
`}</style>
|
||||
<div id={_id} className={className}></div>
|
||||
</React.Fragment>
|
||||
)
|
||||
}
|
||||
}
|
||||
export default Clappr;
|
@ -0,0 +1,50 @@
|
||||
import React, { Component } from 'react';
|
||||
|
||||
class EffectDisplayContent extends Component {
|
||||
constructor(props) {
|
||||
super(props)
|
||||
this.state = {
|
||||
}
|
||||
}
|
||||
|
||||
render() {
|
||||
const { typeName, content1, content2, content3 } = this.props;
|
||||
return (
|
||||
<div className="task-popup-content effectDisplay">
|
||||
<style>{`
|
||||
.effectDisplay .content_title {
|
||||
flex: 1 1 0
|
||||
}
|
||||
.effectDisplay .content>div {
|
||||
flex: 1
|
||||
}
|
||||
.effectDisplay .clappr {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
}
|
||||
.effectDisplay .clappr>div {
|
||||
width: 400px !important;
|
||||
}
|
||||
`}</style>
|
||||
<div className="clearfix df">
|
||||
{content1 && <p className="content_title edu-txt-center fl mr03precent font-18">原始{typeName}</p>}
|
||||
{content2 && <p className="content_title edu-txt-center fl font-18 mr03precent">实际输出{typeName}</p>}
|
||||
{content3 && <p className="content_title edu-txt-center fl font-18 mr03precent">预期输出{typeName}</p>}
|
||||
</div>
|
||||
<div className="clearfix df content" >
|
||||
{content1 && <div className="fl mr03precent pt10 mb50">
|
||||
{content1}
|
||||
</div>}
|
||||
{content2 && <div className="fl mr03precent pt10 mb50">
|
||||
{content2}
|
||||
</div>}
|
||||
{content3 && <div className="fl mr03precent pt10 mb50">
|
||||
{content3}
|
||||
</div>}
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
export default EffectDisplayContent;
|
Loading…
Reference in new issue