This commit is contained in:
liaoxuezhi 2019-09-19 13:15:55 +08:00
commit ff3637e00c
3 changed files with 63 additions and 12 deletions

View File

@ -18,8 +18,8 @@ $success: $green;
$warning: $orange;
$danger: $red;
$light: #3a3a3a;
$dark: #141316;
$black: #1e1f22;
$dark: #1e1f22;
$black: #141316;
$text-color: rgb(243, 241, 241);
@ -31,7 +31,7 @@ $background-head: #191c22;
$body-bg: $background;
$Page-aside-bg: #3c3c3c;
$Panel-bg: #373737;
$Panel-bg: #302d2a;
$borderColor: $black;
$link-color: $info;
@ -40,7 +40,15 @@ $borderColor: #656565;
$Button--default-bg: $black;
$Calendar-btnCancel-bg: $background-head;
$Calendar-cell-bg: $Panel-bg;
$Card-bg: $Panel-bg;
$Card-onModified-bg: $dark;
$Card-onModified-color: $text-color;
$Card-onChecked-bg: $black;
$Card-onChecked-color: $text-color;
$Card-actions-onHover-bg: $dark;
$Card-actions-onHover-color: $text-color;
$Checkbox-gb: linear-gradient(#515151, #4b4b4b);
$Checkbox-onHover-color: $blue;
$ColorPicker-bg: $background;
@ -83,13 +91,17 @@ $ListItem-onModified-color: $text-color;
$Number-handler-bg: $background;
$Panel--default-bg: linear-gradient(#404144, #36373a);
$Panel-footerBg: linear-gradient(#404144, #36373a);
$Panel--default-bg: linear-gradient(#524e48, #423e3a);
$Panel-footerBg: linear-gradient(#524e48, #423e3a);
$PopOver-bg: $background;
$Table-onHover-bg: $black;
$Table-onHover-bg: $dark;
$Table-strip-bg: $Panel-bg;
$Table-thead-bg: #2f2f2f;
$Table-onChecked-bg: $black;
$Table-onChecked-color: $text-color;
$Table-onModified-bg: $black;
$Table-onModified-color: $text-color;
$Tabs--card-bg: #323639;
$Tabs--card-borderTopColor: $background;

View File

@ -146,7 +146,9 @@ export default class SubFormControl extends React.PureComponent<SubFormProps, Su
disabled,
labelField,
value,
btnLabel
btnLabel,
render,
data
} = this.props;
return [
@ -177,8 +179,15 @@ export default class SubFormControl extends React.PureComponent<SubFormProps, Su
data-tooltip="编辑详情"
data-position="bottom"
>
{(value && labelField && value[labelField] && stripTag(value[labelField])) ||
btnLabel}
{(value && labelField && value[labelField] && stripTag(value[labelField]))
|| render('label',
{
type: 'tpl',
tpl: btnLabel
},
{
data
})}
</span>
</div>
))
@ -199,7 +208,7 @@ export default class SubFormControl extends React.PureComponent<SubFormProps, Su
}
renderSingle() {
const {classPrefix: ns, btnClassName, disabled, value, labelField, btnLabel} = this.props;
const {classPrefix: ns, btnClassName, disabled, value, labelField, btnLabel, render, data} = this.props;
return (
<div className={`${ns}SubForm-values`} key="values">
@ -216,7 +225,16 @@ export default class SubFormControl extends React.PureComponent<SubFormProps, Su
data-position="bottom"
>
<span className={`${ns}SubForm-valueLabel`}>
{(value && labelField && value[labelField] && stripTag(value[labelField])) || btnLabel}
{(value && labelField && value[labelField] && stripTag(value[labelField]))
|| render('label',
{
type: 'tpl',
tpl: btnLabel
},
{
data
}
)}}
</span>
</div>
</div>

View File

@ -1,6 +1,8 @@
import React from 'react';
import {Renderer, RendererProps} from '../factory';
import {filter} from '../utils/tpl';
import {autobind} from '../utils/helper';
import {ScopedContext, IScopedContext} from '../Scoped';
export interface IFrameProps extends RendererProps {
className?: string;
@ -8,6 +10,7 @@ export interface IFrameProps extends RendererProps {
}
export default class IFrame extends React.Component<IFrameProps, object> {
IFrameRef: React.RefObject<HTMLIFrameElement> = React.createRef();
static propsList: Array<string> = ['src', 'className'];
static defaultProps: Partial<IFrameProps> = {
className: '',
@ -16,6 +19,11 @@ export default class IFrame extends React.Component<IFrameProps, object> {
frameBorder: 0
};
@autobind
reload() {
(this.IFrameRef.current as HTMLIFrameElement).src = (this.IFrameRef.current as HTMLIFrameElement).src;
}
render() {
let {className, src, width, height, frameBorder, data, style} = this.props;
@ -31,6 +39,7 @@ export default class IFrame extends React.Component<IFrameProps, object> {
className={className}
frameBorder={frameBorder}
style={style}
ref={this.IFrameRef}
src={src ? filter(src, data) : undefined}
/>
);
@ -41,4 +50,16 @@ export default class IFrame extends React.Component<IFrameProps, object> {
test: /(^|\/)iframe$/,
name: 'iframe'
})
export class IFrameRenderer extends IFrame {}
export class IFrameRenderer extends IFrame {
static contextType = ScopedContext;
componentWillMount() {
const scoped = this.context as IScopedContext;
scoped.registerComponent(this);
}
componentWillUnmount() {
const scoped = this.context as IScopedContext;
scoped.unRegisterComponent(this);
}
}