mirror of
https://github.com/tengge1/ShadowEditor.git
synced 2026-01-25 15:08:11 +00:00
优化消息弹窗
This commit is contained in:
parent
3c3754b06a
commit
dea5bedb8d
@ -20,6 +20,7 @@ Supported Languages: 中文 / [繁體中文](README-tw.md) / [English](README-en
|
||||
7. 选中效果由保存在场景中,改为保存在浏览器上。
|
||||
8. 鼠标高亮效果,改为保存在浏览器上,默认不开启。可以通过选项、显示菜单设置是否开启高亮和高亮颜色。
|
||||
9. SVG元素封装:`SvgCircle`、`SvgEllipse`、`SvgLine`、`SvgPath`、`SvgPolygon`、`SvgPolyline`、`SvgRect`。
|
||||
10. 优化消息弹窗,不再遮挡编辑区,使用背景和文字颜色区分`消息`、`成功`、`警告`、`错误`四种情景。
|
||||
|
||||
## v0.3.8更新【[更新日志](docs-dev/update/UpdateLog.md)】
|
||||
|
||||
|
||||
@ -375,7 +375,7 @@ Application.prototype.upload = function () {
|
||||
if (obj.Code === 200) {
|
||||
callback(obj);
|
||||
} else {
|
||||
app.toast(obj.Msg);
|
||||
app.toast(_t(obj.Msg), 'warn');
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
@ -89,7 +89,7 @@ class AnimationPanel extends React.Component {
|
||||
fetch(`${app.options.server}/api/Category/List?type=Animation`).then(response => {
|
||||
response.json().then(obj => {
|
||||
if (obj.Code !== 200) {
|
||||
app.toast(_t(obj.Msg));
|
||||
app.toast(_t(obj.Msg), 'warn');
|
||||
return;
|
||||
}
|
||||
this.setState({
|
||||
@ -100,7 +100,7 @@ class AnimationPanel extends React.Component {
|
||||
fetch(`${app.options.server}/api/Animation/List`).then(response => {
|
||||
response.json().then(obj => {
|
||||
if (obj.Code !== 200) {
|
||||
app.toast(_t(obj.Msg));
|
||||
app.toast(_t(obj.Msg), 'warn');
|
||||
return;
|
||||
}
|
||||
this.setState({
|
||||
@ -158,7 +158,7 @@ class AnimationPanel extends React.Component {
|
||||
}).then(response => {
|
||||
response.json().then(obj => {
|
||||
if (obj.Code !== 200) {
|
||||
app.toast(_t(obj.Msg));
|
||||
app.toast(_t(obj.Msg), 'warn');
|
||||
return;
|
||||
}
|
||||
this.update();
|
||||
|
||||
@ -149,7 +149,7 @@ class AssetsPanel extends React.Component {
|
||||
if (response.ok) {
|
||||
response.json().then(obj => {
|
||||
if (obj.Code !== 200) {
|
||||
app.toast(_t(obj.Msg));
|
||||
app.toast(_t(obj.Msg), 'warn');
|
||||
return;
|
||||
}
|
||||
this.setState(obj);
|
||||
|
||||
@ -89,7 +89,7 @@ class AudioPanel extends React.Component {
|
||||
fetch(`${app.options.server}/api/Category/List?type=Audio`).then(response => {
|
||||
response.json().then(obj => {
|
||||
if (obj.Code !== 200) {
|
||||
app.toast(_t(obj.Msg));
|
||||
app.toast(_t(obj.Msg), 'warn');
|
||||
return;
|
||||
}
|
||||
this.setState({
|
||||
@ -100,7 +100,7 @@ class AudioPanel extends React.Component {
|
||||
fetch(`${app.options.server}/api/Audio/List`).then(response => {
|
||||
response.json().then(obj => {
|
||||
if (obj.Code !== 200) {
|
||||
app.toast(_t(obj.Msg));
|
||||
app.toast(_t(obj.Msg), 'warn');
|
||||
return;
|
||||
}
|
||||
this.setState({
|
||||
@ -158,7 +158,7 @@ class AudioPanel extends React.Component {
|
||||
}).then(response => {
|
||||
response.json().then(obj => {
|
||||
if (obj.Code !== 200) {
|
||||
app.toast(_t(obj.Msg));
|
||||
app.toast(_t(obj.Msg), 'warn');
|
||||
return;
|
||||
}
|
||||
this.update();
|
||||
|
||||
@ -86,7 +86,7 @@ class CharacterPanel extends React.Component {
|
||||
fetch(`${app.options.server}/api/Category/List?type=Character`).then(response => {
|
||||
response.json().then(obj => {
|
||||
if (obj.Code !== 200) {
|
||||
app.toast(_t(obj.Msg));
|
||||
app.toast(_t(obj.Msg), 'warn');
|
||||
return;
|
||||
}
|
||||
this.setState({
|
||||
@ -97,7 +97,7 @@ class CharacterPanel extends React.Component {
|
||||
fetch(`${app.options.server}/api/Character/List`).then(response => {
|
||||
response.json().then(obj => {
|
||||
if (obj.Code !== 200) {
|
||||
app.toast(_t(obj.Msg));
|
||||
app.toast(_t(obj.Msg), 'warn');
|
||||
return;
|
||||
}
|
||||
this.setState({
|
||||
|
||||
@ -110,7 +110,7 @@ class MapPanel extends React.Component {
|
||||
fetch(`${app.options.server}/api/Category/List?type=Map`).then(response => {
|
||||
response.json().then(obj => {
|
||||
if (obj.Code !== 200) {
|
||||
app.toast(_t(obj.Msg));
|
||||
app.toast(_t(obj.Msg), 'warn');
|
||||
return;
|
||||
}
|
||||
this.setState({
|
||||
@ -121,7 +121,7 @@ class MapPanel extends React.Component {
|
||||
fetch(`${app.options.server}/api/Map/List`).then(response => {
|
||||
response.json().then(obj => {
|
||||
if (obj.Code !== 200) {
|
||||
app.toast(_t(obj.Msg));
|
||||
app.toast(_t(obj.Msg), 'warn');
|
||||
return;
|
||||
}
|
||||
this.setState({
|
||||
|
||||
@ -87,7 +87,7 @@ class MaterialPanel extends React.Component {
|
||||
fetch(`${app.options.server}/api/Category/List?type=Material`).then(response => {
|
||||
response.json().then(obj => {
|
||||
if (obj.Code !== 200) {
|
||||
app.toast(_t(obj.Msg));
|
||||
app.toast(_t(obj.Msg), 'warn');
|
||||
return;
|
||||
}
|
||||
this.setState({
|
||||
@ -98,7 +98,7 @@ class MaterialPanel extends React.Component {
|
||||
fetch(`${app.options.server}/api/Material/List`).then(response => {
|
||||
response.json().then(obj => {
|
||||
if (obj.Code !== 200) {
|
||||
app.toast(_t(obj.Msg));
|
||||
app.toast(_t(obj.Msg), 'warn');
|
||||
return;
|
||||
}
|
||||
this.setState({
|
||||
@ -151,7 +151,7 @@ class MaterialPanel extends React.Component {
|
||||
}).then(response => {
|
||||
response.json().then(obj => {
|
||||
if (obj.Code !== 200) {
|
||||
app.toast(_t(obj.Msg));
|
||||
app.toast(_t(obj.Msg), 'warn');
|
||||
return;
|
||||
}
|
||||
this.update();
|
||||
|
||||
@ -91,7 +91,7 @@ class ModelPanel extends React.Component {
|
||||
fetch(`${app.options.server}/api/Category/List?type=Mesh`).then(response => {
|
||||
response.json().then(obj => {
|
||||
if (obj.Code !== 200) {
|
||||
app.toast(_t(obj.Msg));
|
||||
app.toast(_t(obj.Msg), 'warn');
|
||||
return;
|
||||
}
|
||||
this.setState({
|
||||
@ -102,7 +102,7 @@ class ModelPanel extends React.Component {
|
||||
fetch(`${app.options.server}/api/Mesh/List`).then(response => {
|
||||
response.json().then(obj => {
|
||||
if (obj.Code !== 200) {
|
||||
app.toast(_t(obj.Msg));
|
||||
app.toast(_t(obj.Msg), 'warn');
|
||||
return;
|
||||
}
|
||||
this.setState({
|
||||
@ -224,7 +224,7 @@ class ModelPanel extends React.Component {
|
||||
}).then(response => {
|
||||
response.json().then(obj => {
|
||||
if (obj.Code !== 200) {
|
||||
app.toast(_t(obj.Msg));
|
||||
app.toast(_t(obj.Msg), 'warn');
|
||||
return;
|
||||
}
|
||||
this.update();
|
||||
|
||||
@ -86,7 +86,7 @@ class ParticlePanel extends React.Component {
|
||||
fetch(`${app.options.server}/api/Category/List?type=Particle`).then(response => {
|
||||
response.json().then(obj => {
|
||||
if (obj.Code !== 200) {
|
||||
app.toast(_t(obj.Msg));
|
||||
app.toast(_t(obj.Msg), 'warn');
|
||||
return;
|
||||
}
|
||||
this.setState({
|
||||
@ -97,7 +97,7 @@ class ParticlePanel extends React.Component {
|
||||
fetch(`${app.options.server}/api/Particle/List`).then(response => {
|
||||
response.json().then(obj => {
|
||||
if (obj.Code !== 200) {
|
||||
app.toast(_t(obj.Msg));
|
||||
app.toast(_t(obj.Msg), 'warn');
|
||||
return;
|
||||
}
|
||||
this.setState({
|
||||
@ -150,7 +150,7 @@ class ParticlePanel extends React.Component {
|
||||
}).then(response => {
|
||||
response.json().then(obj => {
|
||||
if (obj.Code !== 200) {
|
||||
app.toast(_t(obj.Msg));
|
||||
app.toast(_t(obj.Msg), 'warn');
|
||||
return;
|
||||
}
|
||||
this.update();
|
||||
|
||||
@ -86,7 +86,7 @@ class PrefabPanel extends React.Component {
|
||||
fetch(`${app.options.server}/api/Category/List?type=Prefab`).then(response => {
|
||||
response.json().then(obj => {
|
||||
if (obj.Code !== 200) {
|
||||
app.toast(_t(obj.Msg));
|
||||
app.toast(_t(obj.Msg), 'warn');
|
||||
return;
|
||||
}
|
||||
this.setState({
|
||||
@ -97,7 +97,7 @@ class PrefabPanel extends React.Component {
|
||||
fetch(`${app.options.server}/api/Prefab/List`).then(response => {
|
||||
response.json().then(obj => {
|
||||
if (obj.Code !== 200) {
|
||||
app.toast(_t(obj.Msg));
|
||||
app.toast(_t(obj.Msg), 'warn');
|
||||
return;
|
||||
}
|
||||
this.setState({
|
||||
@ -150,7 +150,7 @@ class PrefabPanel extends React.Component {
|
||||
}).then(response => {
|
||||
response.json().then(obj => {
|
||||
if (obj.Code !== 200) {
|
||||
app.toast(_t(obj.Msg));
|
||||
app.toast(_t(obj.Msg), 'warn');
|
||||
return;
|
||||
}
|
||||
this.update();
|
||||
|
||||
@ -88,7 +88,7 @@ class ScenePanel extends React.Component {
|
||||
fetch(`${app.options.server}/api/Category/List?type=Scene`).then(response => {
|
||||
response.json().then(obj => {
|
||||
if (obj.Code !== 200) {
|
||||
app.toast(_t(obj.Msg));
|
||||
app.toast(_t(obj.Msg), 'warn');
|
||||
return;
|
||||
}
|
||||
this.setState({
|
||||
@ -99,7 +99,7 @@ class ScenePanel extends React.Component {
|
||||
fetch(`${app.options.server}/api/Scene/List`).then(response => {
|
||||
response.json().then(obj => {
|
||||
if (obj.Code !== 200) {
|
||||
app.toast(_t(obj.Msg));
|
||||
app.toast(_t(obj.Msg), 'warn');
|
||||
return;
|
||||
}
|
||||
this.setState({
|
||||
@ -132,7 +132,7 @@ class ScenePanel extends React.Component {
|
||||
fetch(url).then(response => {
|
||||
response.json().then(obj => {
|
||||
if (obj.Code !== 200) {
|
||||
app.toast(_t(obj.Msg));
|
||||
app.toast(_t(obj.Msg), 'warn');
|
||||
return;
|
||||
}
|
||||
|
||||
@ -282,7 +282,7 @@ class ScenePanel extends React.Component {
|
||||
}).then(response => {
|
||||
response.json().then(obj => {
|
||||
if (obj.Code !== 200) {
|
||||
app.toast(_t(obj.Msg));
|
||||
app.toast(_t(obj.Msg), 'warn');
|
||||
return;
|
||||
}
|
||||
this.update();
|
||||
|
||||
@ -85,7 +85,7 @@ class ScreenshotPanel extends React.Component {
|
||||
fetch(`${app.options.server}/api/Category/List?type=Screenshot`).then(response => {
|
||||
response.json().then(obj => {
|
||||
if (obj.Code !== 200) {
|
||||
app.toast(_t(obj.Msg));
|
||||
app.toast(_t(obj.Msg), 'warn');
|
||||
return;
|
||||
}
|
||||
this.setState({
|
||||
@ -96,7 +96,7 @@ class ScreenshotPanel extends React.Component {
|
||||
fetch(`${app.options.server}/api/Screenshot/List`).then(response => {
|
||||
response.json().then(obj => {
|
||||
if (obj.Code !== 200) {
|
||||
app.toast(_t(obj.Msg));
|
||||
app.toast(_t(obj.Msg), 'warn');
|
||||
return;
|
||||
}
|
||||
this.setState({
|
||||
@ -143,7 +143,7 @@ class ScreenshotPanel extends React.Component {
|
||||
}).then(response => {
|
||||
response.json().then(obj => {
|
||||
if (obj.Code !== 200) {
|
||||
app.toast(_t(obj.Msg));
|
||||
app.toast(_t(obj.Msg), 'warn');
|
||||
return;
|
||||
}
|
||||
this.update();
|
||||
|
||||
@ -85,7 +85,7 @@ class VideoPanel extends React.Component {
|
||||
fetch(`${app.options.server}/api/Category/List?type=Video`).then(response => {
|
||||
response.json().then(obj => {
|
||||
if (obj.Code !== 200) {
|
||||
app.toast(_t(obj.Msg));
|
||||
app.toast(_t(obj.Msg), 'warn');
|
||||
return;
|
||||
}
|
||||
this.setState({
|
||||
@ -96,7 +96,7 @@ class VideoPanel extends React.Component {
|
||||
fetch(`${app.options.server}/api/Video/List`).then(response => {
|
||||
response.json().then(obj => {
|
||||
if (obj.Code !== 200) {
|
||||
app.toast(_t(obj.Msg));
|
||||
app.toast(_t(obj.Msg), 'warn');
|
||||
return;
|
||||
}
|
||||
this.setState({
|
||||
@ -143,7 +143,7 @@ class VideoPanel extends React.Component {
|
||||
}).then(response => {
|
||||
response.json().then(obj => {
|
||||
if (obj.Code !== 200) {
|
||||
app.toast(_t(obj.Msg));
|
||||
app.toast(_t(obj.Msg), 'warn');
|
||||
return;
|
||||
}
|
||||
this.update();
|
||||
|
||||
@ -22,7 +22,7 @@ class AddSkyBoxWindow extends React.Component {
|
||||
posZ: null,
|
||||
posZFile: null,
|
||||
negZ: null,
|
||||
negZFile: null,
|
||||
negZFile: null
|
||||
};
|
||||
|
||||
this.handleChange = this.handleChange.bind(this);
|
||||
@ -36,32 +36,57 @@ class AddSkyBoxWindow extends React.Component {
|
||||
return <Window
|
||||
className={'AddSkyBoxWindow'}
|
||||
title={_t('Upload Sky Box')}
|
||||
style={{ width: '640px', height: '400px', }}
|
||||
style={{ width: '640px', height: '400px' }}
|
||||
mask={false}
|
||||
onClose={this.handleClose}>
|
||||
onClose={this.handleClose}
|
||||
>
|
||||
<Content>
|
||||
<div className={'item'}>
|
||||
<ImageSelector className={'selector'} name={'posX'} value={posX} onChange={this.handleChange}></ImageSelector>
|
||||
<ImageSelector className={'selector'}
|
||||
name={'posX'}
|
||||
value={posX}
|
||||
onChange={this.handleChange}
|
||||
/>
|
||||
<div className={'title'}>PosX</div>
|
||||
</div>
|
||||
<div className={'item'}>
|
||||
<ImageSelector className={'selector'} name={'negX'} value={negX} onChange={this.handleChange}></ImageSelector>
|
||||
<ImageSelector className={'selector'}
|
||||
name={'negX'}
|
||||
value={negX}
|
||||
onChange={this.handleChange}
|
||||
/>
|
||||
<div className={'title'}>NegX</div>
|
||||
</div>
|
||||
<div className={'item'}>
|
||||
<ImageSelector className={'selector'} name={'posY'} value={posY} onChange={this.handleChange}></ImageSelector>
|
||||
<ImageSelector className={'selector'}
|
||||
name={'posY'}
|
||||
value={posY}
|
||||
onChange={this.handleChange}
|
||||
/>
|
||||
<div className={'title'}>PosY</div>
|
||||
</div>
|
||||
<div className={'item'}>
|
||||
<ImageSelector className={'selector'} name={'negY'} value={negY} onChange={this.handleChange}></ImageSelector>
|
||||
<ImageSelector className={'selector'}
|
||||
name={'negY'}
|
||||
value={negY}
|
||||
onChange={this.handleChange}
|
||||
/>
|
||||
<div className={'title'}>NegY</div>
|
||||
</div>
|
||||
<div className={'item'}>
|
||||
<ImageSelector className={'selector'} name={'posZ'} value={posZ} onChange={this.handleChange}></ImageSelector>
|
||||
<ImageSelector className={'selector'}
|
||||
name={'posZ'}
|
||||
value={posZ}
|
||||
onChange={this.handleChange}
|
||||
/>
|
||||
<div className={'title'}>PosZ</div>
|
||||
</div>
|
||||
<div className={'item'}>
|
||||
<ImageSelector className={'selector'} name={'negZ'} value={negZ} onChange={this.handleChange}></ImageSelector>
|
||||
<ImageSelector className={'selector'}
|
||||
name={'negZ'}
|
||||
value={negZ}
|
||||
onChange={this.handleChange}
|
||||
/>
|
||||
<div className={'title'}>NegZ</div>
|
||||
</div>
|
||||
</Content>
|
||||
@ -80,7 +105,7 @@ class AddSkyBoxWindow extends React.Component {
|
||||
|
||||
this.setState({
|
||||
[name]: e.target.result,
|
||||
[`${name}File`]: file,
|
||||
[`${name}File`]: file
|
||||
});
|
||||
};
|
||||
|
||||
@ -91,7 +116,7 @@ class AddSkyBoxWindow extends React.Component {
|
||||
const { posXFile, negXFile, posYFile, negYFile, posZFile, negZFile } = this.state;
|
||||
|
||||
if (!posXFile || !negXFile || !posYFile || !negYFile || !posZFile || !negZFile) {
|
||||
app.toast(_t('Please upload all the textures before save.'));
|
||||
app.toast(_t('Please upload all the textures before save.'), 'warn');
|
||||
return;
|
||||
}
|
||||
|
||||
@ -101,7 +126,7 @@ class AddSkyBoxWindow extends React.Component {
|
||||
posY: posYFile,
|
||||
negY: negYFile,
|
||||
posZ: posZFile,
|
||||
negZ: negZFile,
|
||||
negZ: negZFile
|
||||
}, result => {
|
||||
let obj = JSON.parse(result);
|
||||
this.handleClose();
|
||||
@ -116,11 +141,11 @@ class AddSkyBoxWindow extends React.Component {
|
||||
}
|
||||
|
||||
AddSkyBoxWindow.propTypes = {
|
||||
callback: PropTypes.func,
|
||||
callback: PropTypes.func
|
||||
};
|
||||
|
||||
AddSkyBoxWindow.defaultProps = {
|
||||
callback: null,
|
||||
callback: null
|
||||
};
|
||||
|
||||
export default AddSkyBoxWindow;
|
||||
@ -71,7 +71,7 @@ class CategoryEditWindow extends React.Component {
|
||||
}).then(response => {
|
||||
response.json().then(obj => {
|
||||
if (obj.Code !== 200) {
|
||||
app.toast(_t(obj.Msg));
|
||||
app.toast(_t(obj.Msg), 'warn');
|
||||
return;
|
||||
}
|
||||
this.handleCancel();
|
||||
|
||||
@ -106,7 +106,7 @@ class CategoryWindow extends React.Component {
|
||||
const { selected } = this.state;
|
||||
|
||||
if (!selected) {
|
||||
app.toast(_t('Please select a record.'));
|
||||
app.toast(_t('Please select a record.'), 'warn');
|
||||
return;
|
||||
}
|
||||
|
||||
@ -125,7 +125,7 @@ class CategoryWindow extends React.Component {
|
||||
const { selected } = this.state;
|
||||
|
||||
if (!selected) {
|
||||
app.toast(_t('Please select a record.'));
|
||||
app.toast(_t('Please select a record.'), 'warn');
|
||||
return;
|
||||
}
|
||||
|
||||
@ -141,7 +141,7 @@ class CategoryWindow extends React.Component {
|
||||
}).then(response => {
|
||||
response.json().then(obj => {
|
||||
if (obj.Code !== 200) {
|
||||
app.toast(_t(obj.Msg));
|
||||
app.toast(_t(obj.Msg), 'warn');
|
||||
return;
|
||||
}
|
||||
this.updateUI();
|
||||
|
||||
@ -128,7 +128,7 @@ class EditWindow extends React.Component {
|
||||
thumbnail: obj.Data.url
|
||||
});
|
||||
} else {
|
||||
app.toast(_t(obj.Msg));
|
||||
app.toast(_t(obj.Msg), 'warn');
|
||||
}
|
||||
});
|
||||
}
|
||||
@ -164,7 +164,7 @@ class EditWindow extends React.Component {
|
||||
callback && callback(obj);
|
||||
this.handleClose();
|
||||
} else {
|
||||
app.toast(_t(obj.Msg));
|
||||
app.toast(_t(obj.Msg), 'warn');
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@ -17,7 +17,7 @@ class LMeshComponent extends React.Component {
|
||||
expanded: true,
|
||||
options: [],
|
||||
animation: '',
|
||||
previewText: _t('Preview'),
|
||||
previewText: _t('Preview')
|
||||
};
|
||||
|
||||
this.handleExpand = this.handleExpand.bind(this);
|
||||
@ -34,9 +34,20 @@ class LMeshComponent extends React.Component {
|
||||
return null;
|
||||
}
|
||||
|
||||
return <PropertyGroup title={_t('LMesh Component')} show={show} expanded={expanded} onExpand={this.handleExpand}>
|
||||
<SelectProperty label={_t('Animation')} name={'animation'} options={options} value={animation} onChange={this.handleChange}></SelectProperty>
|
||||
<ButtonProperty text={previewText} onChange={this.handlePreview}></ButtonProperty>
|
||||
return <PropertyGroup title={_t('LMesh Component')}
|
||||
show={show}
|
||||
expanded={expanded}
|
||||
onExpand={this.handleExpand}
|
||||
>
|
||||
<SelectProperty label={_t('Animation')}
|
||||
name={'animation'}
|
||||
options={options}
|
||||
value={animation}
|
||||
onChange={this.handleChange}
|
||||
/>
|
||||
<ButtonProperty text={previewText}
|
||||
onChange={this.handlePreview}
|
||||
/>
|
||||
</PropertyGroup>;
|
||||
}
|
||||
|
||||
@ -47,7 +58,7 @@ class LMeshComponent extends React.Component {
|
||||
|
||||
handleExpand(expanded) {
|
||||
this.setState({
|
||||
expanded,
|
||||
expanded
|
||||
});
|
||||
}
|
||||
|
||||
@ -56,7 +67,7 @@ class LMeshComponent extends React.Component {
|
||||
|
||||
if (!editor.selected || !(editor.selected.userData.type === 'lol')) {
|
||||
this.setState({
|
||||
show: false,
|
||||
show: false
|
||||
});
|
||||
return;
|
||||
}
|
||||
@ -78,7 +89,7 @@ class LMeshComponent extends React.Component {
|
||||
show: true,
|
||||
options,
|
||||
animation: animNames[0],
|
||||
previewText: this.isPlaying ? _t('Cancel') : _t('Preview'),
|
||||
previewText: this.isPlaying ? _t('Cancel') : _t('Preview')
|
||||
});
|
||||
}
|
||||
|
||||
@ -109,7 +120,7 @@ class LMeshComponent extends React.Component {
|
||||
this.isPlaying = true;
|
||||
|
||||
this.setState({
|
||||
previewText: _t('Cancel'),
|
||||
previewText: _t('Cancel')
|
||||
});
|
||||
|
||||
const model = this.selected.userData.model;
|
||||
@ -122,7 +133,7 @@ class LMeshComponent extends React.Component {
|
||||
this.isPlaying = false;
|
||||
|
||||
this.setState({
|
||||
previewText: _t('Preview'),
|
||||
previewText: _t('Preview')
|
||||
});
|
||||
|
||||
app.on(`animate.LMeshComponent`, null);
|
||||
|
||||
@ -19,7 +19,7 @@ class MMDComponent extends React.Component {
|
||||
|
||||
animation: null,
|
||||
cameraAnimation: null,
|
||||
audio: null,
|
||||
audio: null
|
||||
};
|
||||
|
||||
this.handleExpand = this.handleExpand.bind(this);
|
||||
@ -40,10 +40,32 @@ class MMDComponent extends React.Component {
|
||||
return null;
|
||||
}
|
||||
|
||||
return <PropertyGroup title={_t('MMD Model')} show={show} expanded={expanded} onExpand={this.handleExpand}>
|
||||
<DisplayProperty label={_t('Model Animation')} name={'animation'} value={animation} btnShow={true} btnText={_t('Select')} onClick={this.handleSelectAnimation}></DisplayProperty>
|
||||
<DisplayProperty label={_t('Camera Animation')} name={'cameraAnimation'} value={cameraAnimation} btnShow={true} btnText={_t('Select')} onClick={this.handleSelectCameraAnimation}></DisplayProperty>
|
||||
<DisplayProperty label={_t('Audio')} name={'audio'} value={audio} btnShow={true} btnText={_t('Select')} onClick={this.handleSelectAudio}></DisplayProperty>
|
||||
return <PropertyGroup title={_t('MMD Model')}
|
||||
show={show}
|
||||
expanded={expanded}
|
||||
onExpand={this.handleExpand}
|
||||
>
|
||||
<DisplayProperty label={_t('Model Animation')}
|
||||
name={'animation'}
|
||||
value={animation}
|
||||
btnShow
|
||||
btnText={_t('Select')}
|
||||
onClick={this.handleSelectAnimation}
|
||||
/>
|
||||
<DisplayProperty label={_t('Camera Animation')}
|
||||
name={'cameraAnimation'}
|
||||
value={cameraAnimation}
|
||||
btnShow
|
||||
btnText={_t('Select')}
|
||||
onClick={this.handleSelectCameraAnimation}
|
||||
/>
|
||||
<DisplayProperty label={_t('Audio')}
|
||||
name={'audio'}
|
||||
value={audio}
|
||||
btnShow
|
||||
btnText={_t('Select')}
|
||||
onClick={this.handleSelectAudio}
|
||||
/>
|
||||
</PropertyGroup>;
|
||||
}
|
||||
|
||||
@ -54,7 +76,7 @@ class MMDComponent extends React.Component {
|
||||
|
||||
handleExpand(expanded) {
|
||||
this.setState({
|
||||
expanded,
|
||||
expanded
|
||||
});
|
||||
}
|
||||
|
||||
@ -63,7 +85,7 @@ class MMDComponent extends React.Component {
|
||||
|
||||
if (!editor.selected || !(editor.selected.userData.Type === 'pmd' || editor.selected.userData.Type === 'pmx')) {
|
||||
this.setState({
|
||||
show: false,
|
||||
show: false
|
||||
});
|
||||
return;
|
||||
}
|
||||
@ -74,7 +96,7 @@ class MMDComponent extends React.Component {
|
||||
show: true,
|
||||
animation: this.selected.userData.Animation ? this.selected.userData.Animation.Name : null,
|
||||
cameraAnimation: this.selected.userData.CameraAnimation ? this.selected.userData.CameraAnimation.Name : null,
|
||||
audio: this.selected.userData.Audio ? this.selected.userData.Audio.Name : null,
|
||||
audio: this.selected.userData.Audio ? this.selected.userData.Audio.Name : null
|
||||
};
|
||||
|
||||
this.setState(state);
|
||||
@ -90,7 +112,7 @@ class MMDComponent extends React.Component {
|
||||
|
||||
onSelectAnimation(data) {
|
||||
if (data.Type !== 'mmd') {
|
||||
app.toast(_t('Please select MMD animation only.'));
|
||||
app.toast(_t('Please select MMD animation only.'), 'warn');
|
||||
return;
|
||||
}
|
||||
app.on(`selectAnimation.MMDComponent`, null);
|
||||
@ -111,7 +133,7 @@ class MMDComponent extends React.Component {
|
||||
|
||||
onSelectCameraAnimation(data) {
|
||||
if (data.Type !== 'mmd') {
|
||||
app.toast(_t('Please select camera animation only.'));
|
||||
app.toast(_t('Please select camera animation only.'), 'warn');
|
||||
return;
|
||||
}
|
||||
app.on(`selectAnimation.MMDComponent`, null);
|
||||
|
||||
@ -897,7 +897,7 @@ class MaterialComponent extends React.Component {
|
||||
|
||||
handleTextureSetting() {
|
||||
if (!this.selected.material.map) {
|
||||
app.toast(_t('Please select texture first.'));
|
||||
app.toast(_t('Please select texture first.'), 'warn');
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
@ -57,7 +57,7 @@ class SceneComponent extends React.Component {
|
||||
fogFarShow: false,
|
||||
|
||||
fogDensity: 0.05,
|
||||
fogDensityShow: false,
|
||||
fogDensityShow: false
|
||||
};
|
||||
|
||||
this.handleExpand = this.handleExpand.bind(this);
|
||||
@ -88,25 +88,99 @@ class SceneComponent extends React.Component {
|
||||
return null;
|
||||
}
|
||||
|
||||
return <PropertyGroup title={_t('SceneComponent')} show={show} expanded={expanded} onExpand={this.handleExpand}>
|
||||
<SelectProperty label={_t('Background')} name={'backgroundType'} options={this.backgroundType} value={backgroundType} onChange={this.handleChangeBackgroundType}></SelectProperty>
|
||||
<ColorProperty label={_t('BackgroundColor')} name={'backgroundColor'} value={backgroundColor} show={backgroundColorShow} onChange={this.handleChangeBackgroundColor}></ColorProperty>
|
||||
<TextureProperty label={_t('Background Image')} name={'backgroundImage'} value={backgroundImage} show={backgroundImageShow} onChange={this.handleChangeBackgroundImage}></TextureProperty>
|
||||
<TextureProperty label={_t('PosX')} name={'backgroundPosX'} value={backgroundPosX} show={backgroundCubeTextureShow} onChange={this.handleChangeBackgroundCubeTexture}></TextureProperty>
|
||||
<TextureProperty label={_t('NegX')} name={'backgroundNegX'} value={backgroundNegX} show={backgroundCubeTextureShow} onChange={this.handleChangeBackgroundCubeTexture}></TextureProperty>
|
||||
<TextureProperty label={_t('PosY')} name={'backgroundPosY'} value={backgroundPosY} show={backgroundCubeTextureShow} onChange={this.handleChangeBackgroundCubeTexture}></TextureProperty>
|
||||
<TextureProperty label={_t('NegY')} name={'backgroundNegY'} value={backgroundNegY} show={backgroundCubeTextureShow} onChange={this.handleChangeBackgroundCubeTexture}></TextureProperty>
|
||||
<TextureProperty label={_t('PosZ')} name={'backgroundPosZ'} value={backgroundPosZ} show={backgroundCubeTextureShow} onChange={this.handleChangeBackgroundCubeTexture}></TextureProperty>
|
||||
<TextureProperty label={_t('NegZ')} name={'backgroundNegZ'} value={backgroundNegZ} show={backgroundCubeTextureShow} onChange={this.handleChangeBackgroundCubeTexture}></TextureProperty>
|
||||
return <PropertyGroup title={_t('SceneComponent')}
|
||||
show={show}
|
||||
expanded={expanded}
|
||||
onExpand={this.handleExpand}
|
||||
>
|
||||
<SelectProperty label={_t('Background')}
|
||||
name={'backgroundType'}
|
||||
options={this.backgroundType}
|
||||
value={backgroundType}
|
||||
onChange={this.handleChangeBackgroundType}
|
||||
/>
|
||||
<ColorProperty label={_t('BackgroundColor')}
|
||||
name={'backgroundColor'}
|
||||
value={backgroundColor}
|
||||
show={backgroundColorShow}
|
||||
onChange={this.handleChangeBackgroundColor}
|
||||
/>
|
||||
<TextureProperty label={_t('Background Image')}
|
||||
name={'backgroundImage'}
|
||||
value={backgroundImage}
|
||||
show={backgroundImageShow}
|
||||
onChange={this.handleChangeBackgroundImage}
|
||||
/>
|
||||
<TextureProperty label={_t('PosX')}
|
||||
name={'backgroundPosX'}
|
||||
value={backgroundPosX}
|
||||
show={backgroundCubeTextureShow}
|
||||
onChange={this.handleChangeBackgroundCubeTexture}
|
||||
/>
|
||||
<TextureProperty label={_t('NegX')}
|
||||
name={'backgroundNegX'}
|
||||
value={backgroundNegX}
|
||||
show={backgroundCubeTextureShow}
|
||||
onChange={this.handleChangeBackgroundCubeTexture}
|
||||
/>
|
||||
<TextureProperty label={_t('PosY')}
|
||||
name={'backgroundPosY'}
|
||||
value={backgroundPosY}
|
||||
show={backgroundCubeTextureShow}
|
||||
onChange={this.handleChangeBackgroundCubeTexture}
|
||||
/>
|
||||
<TextureProperty label={_t('NegY')}
|
||||
name={'backgroundNegY'}
|
||||
value={backgroundNegY}
|
||||
show={backgroundCubeTextureShow}
|
||||
onChange={this.handleChangeBackgroundCubeTexture}
|
||||
/>
|
||||
<TextureProperty label={_t('PosZ')}
|
||||
name={'backgroundPosZ'}
|
||||
value={backgroundPosZ}
|
||||
show={backgroundCubeTextureShow}
|
||||
onChange={this.handleChangeBackgroundCubeTexture}
|
||||
/>
|
||||
<TextureProperty label={_t('NegZ')}
|
||||
name={'backgroundNegZ'}
|
||||
value={backgroundNegZ}
|
||||
show={backgroundCubeTextureShow}
|
||||
onChange={this.handleChangeBackgroundCubeTexture}
|
||||
/>
|
||||
<ButtonsProperty show={backgroundCubeTextureShow}>
|
||||
<Button onClick={this.handleLoadCubeTexture}>{_t('Select')}</Button>
|
||||
<Button onClick={this.handleSaveCubeTexture}>{_t('Upload')}</Button>
|
||||
</ButtonsProperty>
|
||||
<SelectProperty label={_t('Fog')} name={'fogType'} options={this.fogType} value={fogType} onChange={this.handleChangeFogType}></SelectProperty>
|
||||
<ColorProperty label={_t('FogColor')} name={'fogColor'} value={fogColor} show={fogColorShow} onChange={this.handleChangeFogColor}></ColorProperty>
|
||||
<NumberProperty label={_t('FogNear')} name={'fogNear'} value={fogNear} show={fogNearShow} onChange={this.handleChangeFogNear}></NumberProperty>
|
||||
<NumberProperty label={_t('FogFar')} name={'fogFar'} value={fogFar} show={fogFarShow} onChange={this.handleChangeFogFar}></NumberProperty>
|
||||
<NumberProperty label={_t('FogDensity')} name={'fogDensity'} value={fogDensity} show={fogDensityShow} onChange={this.handleChangeFogDensity}></NumberProperty>
|
||||
<SelectProperty label={_t('Fog')}
|
||||
name={'fogType'}
|
||||
options={this.fogType}
|
||||
value={fogType}
|
||||
onChange={this.handleChangeFogType}
|
||||
/>
|
||||
<ColorProperty label={_t('FogColor')}
|
||||
name={'fogColor'}
|
||||
value={fogColor}
|
||||
show={fogColorShow}
|
||||
onChange={this.handleChangeFogColor}
|
||||
/>
|
||||
<NumberProperty label={_t('FogNear')}
|
||||
name={'fogNear'}
|
||||
value={fogNear}
|
||||
show={fogNearShow}
|
||||
onChange={this.handleChangeFogNear}
|
||||
/>
|
||||
<NumberProperty label={_t('FogFar')}
|
||||
name={'fogFar'}
|
||||
value={fogFar}
|
||||
show={fogFarShow}
|
||||
onChange={this.handleChangeFogFar}
|
||||
/>
|
||||
<NumberProperty label={_t('FogDensity')}
|
||||
name={'fogDensity'}
|
||||
value={fogDensity}
|
||||
show={fogDensityShow}
|
||||
onChange={this.handleChangeFogDensity}
|
||||
/>
|
||||
</PropertyGroup>;
|
||||
}
|
||||
|
||||
@ -117,7 +191,7 @@ class SceneComponent extends React.Component {
|
||||
|
||||
handleExpand(expanded) {
|
||||
this.setState({
|
||||
expanded,
|
||||
expanded
|
||||
});
|
||||
}
|
||||
|
||||
@ -126,7 +200,7 @@ class SceneComponent extends React.Component {
|
||||
|
||||
if (!editor.selected || editor.selected !== app.editor.scene) {
|
||||
this.setState({
|
||||
show: false,
|
||||
show: false
|
||||
});
|
||||
return;
|
||||
}
|
||||
@ -142,7 +216,7 @@ class SceneComponent extends React.Component {
|
||||
show: true,
|
||||
|
||||
// 背景
|
||||
backgroundType: background instanceof THREE.CubeTexture ? 'SkyBox' : (background instanceof THREE.Texture ? 'Image' : 'Color'),
|
||||
backgroundType: background instanceof THREE.CubeTexture ? 'SkyBox' : background instanceof THREE.Texture ? 'Image' : 'Color',
|
||||
backgroundColor: background instanceof THREE.Color ? `#${background.getHexString()}` : backgroundColor,
|
||||
backgroundColorShow: background instanceof THREE.Color,
|
||||
backgroundImage: background instanceof THREE.Texture && !(background instanceof THREE.CubeTexture) ? background : null,
|
||||
@ -156,15 +230,15 @@ class SceneComponent extends React.Component {
|
||||
backgroundCubeTextureShow: background instanceof THREE.CubeTexture,
|
||||
|
||||
// 雾效
|
||||
fogType: fog == null ? 'None' : (fog instanceof THREE.FogExp2 ? 'FogExp2' : 'Fog'),
|
||||
fogColor: fog == null ? fogColor : `#${fog.color.getHexString()}`,
|
||||
fogType: fog === null ? 'None' : fog instanceof THREE.FogExp2 ? 'FogExp2' : 'Fog',
|
||||
fogColor: fog === null ? fogColor : `#${fog.color.getHexString()}`,
|
||||
fogColorShow: fog !== null,
|
||||
fogNear: fog instanceof THREE.Fog ? fog.near : fogNear,
|
||||
fogNearShow: fog !== null && fog instanceof THREE.Fog,
|
||||
fogFar: fog instanceof THREE.Fog ? fog.far : fogFar,
|
||||
fogFarShow: fog instanceof THREE.Fog,
|
||||
fogDensity: fog instanceof THREE.FogExp2 ? fog.density : fogDensity,
|
||||
fogDensityShow: fog instanceof THREE.FogExp2,
|
||||
fogDensityShow: fog instanceof THREE.FogExp2
|
||||
};
|
||||
|
||||
this.setState(state);
|
||||
@ -175,7 +249,7 @@ class SceneComponent extends React.Component {
|
||||
backgroundType, backgroundColor, backgroundImage,
|
||||
backgroundPosX, backgroundNegX, backgroundPosY, backgroundNegY, backgroundPosZ, backgroundNegZ
|
||||
} = Object.assign({}, this.state, {
|
||||
[name]: value,
|
||||
[name]: value
|
||||
});
|
||||
|
||||
let scene = this.selected;
|
||||
@ -193,7 +267,7 @@ class SceneComponent extends React.Component {
|
||||
[name]: value,
|
||||
backgroundColorShow: false,
|
||||
backgroundImageShow: true,
|
||||
backgroundCubeTextureShow: false,
|
||||
backgroundCubeTextureShow: false
|
||||
});
|
||||
return;
|
||||
}
|
||||
@ -215,7 +289,7 @@ class SceneComponent extends React.Component {
|
||||
[name]: value,
|
||||
backgroundColorShow: false,
|
||||
backgroundImageShow: false,
|
||||
backgroundCubeTextureShow: true,
|
||||
backgroundCubeTextureShow: true
|
||||
});
|
||||
return;
|
||||
}
|
||||
@ -228,7 +302,7 @@ class SceneComponent extends React.Component {
|
||||
handleChangeBackgroundColor(value, name) {
|
||||
if (value === null) {
|
||||
this.setState({
|
||||
[name]: value,
|
||||
[name]: value
|
||||
});
|
||||
return;
|
||||
}
|
||||
@ -243,7 +317,7 @@ class SceneComponent extends React.Component {
|
||||
this.selected.background = new THREE.Color(this.state.backgroundColor);
|
||||
|
||||
this.setState({
|
||||
[name]: value,
|
||||
[name]: value
|
||||
});
|
||||
return;
|
||||
}
|
||||
@ -258,13 +332,13 @@ class SceneComponent extends React.Component {
|
||||
this.selected.background = new THREE.Color(this.state.backgroundColor);
|
||||
|
||||
this.setState({
|
||||
[name]: value,
|
||||
[name]: value
|
||||
});
|
||||
return;
|
||||
}
|
||||
|
||||
const { backgroundPosX, backgroundNegX, backgroundPosY, backgroundNegY, backgroundPosZ, backgroundNegZ } = Object.assign({}, this.state, {
|
||||
[name]: value,
|
||||
[name]: value
|
||||
});
|
||||
|
||||
if (backgroundPosX && backgroundNegX && backgroundPosY && backgroundNegY && backgroundPosZ && backgroundNegZ) {
|
||||
@ -284,7 +358,7 @@ class SceneComponent extends React.Component {
|
||||
app.call(`objectChanged`, this, this.selected);
|
||||
} else {
|
||||
this.setState({
|
||||
[name]: value,
|
||||
[name]: value
|
||||
});
|
||||
}
|
||||
}
|
||||
@ -316,7 +390,7 @@ class SceneComponent extends React.Component {
|
||||
resolve(texture);
|
||||
}, undefined, error => {
|
||||
console.error(error);
|
||||
app.toast(_t('Cube Texture fetch failed.'));
|
||||
app.toast(_t('Cube Texture fetch failed.'), 'warn');
|
||||
});
|
||||
});
|
||||
});
|
||||
@ -343,7 +417,7 @@ class SceneComponent extends React.Component {
|
||||
const { backgroundPosX, backgroundNegX, backgroundPosY, backgroundNegY, backgroundPosZ, backgroundNegZ } = this.state;
|
||||
|
||||
if (!backgroundPosX || !backgroundNegX || !backgroundPosY || !backgroundNegY || !backgroundPosZ || !backgroundNegZ) {
|
||||
app.toast(_t('Please upload all the textures before save.'));
|
||||
app.toast(_t('Please upload all the textures before save.'), 'warn');
|
||||
return;
|
||||
}
|
||||
|
||||
@ -355,7 +429,7 @@ class SceneComponent extends React.Component {
|
||||
const negZSrc = backgroundNegZ.image.src;
|
||||
|
||||
if (posXSrc.startsWith('http') || negXSrc.startsWith('http') || posYSrc.startsWith('http') || negYSrc.startsWith('http') || posZSrc.startsWith('http') || negZSrc.startsWith('http')) {
|
||||
app.toast(_t('Cube texture has already been uploaded.'));
|
||||
app.toast(_t('Cube texture has already been uploaded.'), 'warn');
|
||||
return;
|
||||
}
|
||||
|
||||
@ -365,7 +439,7 @@ class SceneComponent extends React.Component {
|
||||
Converter.dataURLtoFile(posYSrc, 'posY'),
|
||||
Converter.dataURLtoFile(negYSrc, 'negY'),
|
||||
Converter.dataURLtoFile(posZSrc, 'posZ'),
|
||||
Converter.dataURLtoFile(negZSrc, 'negZ'),
|
||||
Converter.dataURLtoFile(negZSrc, 'negZ')
|
||||
];
|
||||
|
||||
Promise.all(promises).then(files => {
|
||||
@ -375,7 +449,7 @@ class SceneComponent extends React.Component {
|
||||
posY: files[2],
|
||||
negY: files[3],
|
||||
posZ: files[4],
|
||||
negZ: files[5],
|
||||
negZ: files[5]
|
||||
}, result => {
|
||||
let obj = JSON.parse(result);
|
||||
app.toast(_t(obj.Msg));
|
||||
@ -385,7 +459,7 @@ class SceneComponent extends React.Component {
|
||||
|
||||
handleChangeFogType(value, name) {
|
||||
const { fogType, fogColor, fogNear, fogFar, fogDensity } = Object.assign({}, this.state, {
|
||||
[name]: value,
|
||||
[name]: value
|
||||
});
|
||||
|
||||
let scene = this.selected;
|
||||
@ -408,7 +482,7 @@ class SceneComponent extends React.Component {
|
||||
handleChangeFogColor(value, name) {
|
||||
if (value === null) {
|
||||
this.setState({
|
||||
[name]: value,
|
||||
[name]: value
|
||||
});
|
||||
return;
|
||||
}
|
||||
@ -421,7 +495,7 @@ class SceneComponent extends React.Component {
|
||||
handleChangeFogNear(value, name) {
|
||||
if (value === null) {
|
||||
this.setState({
|
||||
[name]: value,
|
||||
[name]: value
|
||||
});
|
||||
return;
|
||||
}
|
||||
@ -434,7 +508,7 @@ class SceneComponent extends React.Component {
|
||||
handleChangeFogFar(value, name) {
|
||||
if (value === null) {
|
||||
this.setState({
|
||||
[name]: value,
|
||||
[name]: value
|
||||
});
|
||||
return;
|
||||
}
|
||||
@ -447,7 +521,7 @@ class SceneComponent extends React.Component {
|
||||
handleChangeFogDensity(value, name) {
|
||||
if (value === null) {
|
||||
this.setState({
|
||||
[name]: value,
|
||||
[name]: value
|
||||
});
|
||||
return;
|
||||
}
|
||||
|
||||
@ -19,7 +19,7 @@ class BackgroundMusicComponent extends React.Component {
|
||||
loop: true,
|
||||
volume: 1,
|
||||
showPlayButton: false,
|
||||
isPlaying: false,
|
||||
isPlaying: false
|
||||
};
|
||||
|
||||
this.handleExpand = this.handleExpand.bind(this);
|
||||
@ -37,12 +37,37 @@ class BackgroundMusicComponent extends React.Component {
|
||||
return null;
|
||||
}
|
||||
|
||||
return <PropertyGroup title={_t('Background Music')} show={show} expanded={expanded} onExpand={this.handleExpand}>
|
||||
<DisplayProperty label={_t('Audio')} name={'name'} value={name === '' ? `(${_t('None')})` : name} btnShow={true} btnText={_t('Select')} onClick={this.handleSelect}></DisplayProperty>
|
||||
<CheckBoxProperty label={_t('Auto Play')} name={'autoplay'} value={autoplay} onChange={this.handleChange}></CheckBoxProperty>
|
||||
<CheckBoxProperty label={_t('Loop')} name={'loop'} value={loop} onChange={this.handleChange}></CheckBoxProperty>
|
||||
<NumberProperty label={_t('Volume')} name={'volume'} value={volume} onChange={this.handleChange}></NumberProperty>
|
||||
<ButtonProperty text={isPlaying ? _t('Stop') : _t('Play')} show={showPlayButton} onChange={this.handlePlay}></ButtonProperty>
|
||||
return <PropertyGroup title={_t('Background Music')}
|
||||
show={show}
|
||||
expanded={expanded}
|
||||
onExpand={this.handleExpand}
|
||||
>
|
||||
<DisplayProperty label={_t('Audio')}
|
||||
name={'name'}
|
||||
value={name === '' ? `(${_t('None')})` : name}
|
||||
btnShow
|
||||
btnText={_t('Select')}
|
||||
onClick={this.handleSelect}
|
||||
/>
|
||||
<CheckBoxProperty label={_t('Auto Play')}
|
||||
name={'autoplay'}
|
||||
value={autoplay}
|
||||
onChange={this.handleChange}
|
||||
/>
|
||||
<CheckBoxProperty label={_t('Loop')}
|
||||
name={'loop'}
|
||||
value={loop}
|
||||
onChange={this.handleChange}
|
||||
/>
|
||||
<NumberProperty label={_t('Volume')}
|
||||
name={'volume'}
|
||||
value={volume}
|
||||
onChange={this.handleChange}
|
||||
/>
|
||||
<ButtonProperty text={isPlaying ? _t('Stop') : _t('Play')}
|
||||
show={showPlayButton}
|
||||
onChange={this.handlePlay}
|
||||
/>
|
||||
</PropertyGroup>;
|
||||
}
|
||||
|
||||
@ -53,7 +78,7 @@ class BackgroundMusicComponent extends React.Component {
|
||||
|
||||
handleExpand(expanded) {
|
||||
this.setState({
|
||||
expanded,
|
||||
expanded
|
||||
});
|
||||
}
|
||||
|
||||
@ -62,7 +87,7 @@ class BackgroundMusicComponent extends React.Component {
|
||||
|
||||
if (!editor.selected || !(editor.selected instanceof THREE.Audio)) {
|
||||
this.setState({
|
||||
show: false,
|
||||
show: false
|
||||
});
|
||||
return;
|
||||
}
|
||||
@ -75,8 +100,8 @@ class BackgroundMusicComponent extends React.Component {
|
||||
autoplay: this.selected.userData.autoplay || false,
|
||||
loop: this.selected.getLoop(),
|
||||
volumn: this.selected.getVolume(),
|
||||
showPlayButton: this.selected.buffer != null,
|
||||
isPlaying: this.selected.isPlaying || false,
|
||||
showPlayButton: this.selected.buffer !== null,
|
||||
isPlaying: this.selected.isPlaying || false
|
||||
};
|
||||
|
||||
this.setState(state);
|
||||
@ -100,7 +125,7 @@ class BackgroundMusicComponent extends React.Component {
|
||||
|
||||
this.setState({
|
||||
name: obj.Name,
|
||||
showPlayButton: true,
|
||||
showPlayButton: true
|
||||
});
|
||||
});
|
||||
}
|
||||
@ -108,13 +133,13 @@ class BackgroundMusicComponent extends React.Component {
|
||||
handleChange(value, name) {
|
||||
if (value === null) {
|
||||
this.setState({
|
||||
[name]: value,
|
||||
[name]: value
|
||||
});
|
||||
return;
|
||||
}
|
||||
|
||||
const { autoplay, loop, volumn } = Object.assign({}, this.state, {
|
||||
[name]: value,
|
||||
[name]: value
|
||||
});
|
||||
|
||||
this.selected.userData.autoplay = autoplay; // 这里不能给this.selected赋值,否则音频会自动播放
|
||||
@ -128,7 +153,7 @@ class BackgroundMusicComponent extends React.Component {
|
||||
if (!this.selected.buffer) {
|
||||
this.setState({
|
||||
showPlayButton: false,
|
||||
isPlaying: false,
|
||||
isPlaying: false
|
||||
});
|
||||
return;
|
||||
}
|
||||
@ -142,7 +167,7 @@ class BackgroundMusicComponent extends React.Component {
|
||||
|
||||
this.setState({
|
||||
showPlayButton: true,
|
||||
isPlaying: this.selected.isPlaying,
|
||||
isPlaying: this.selected.isPlaying
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@ -13,7 +13,7 @@ class CatmullRomCurveComponent extends React.Component {
|
||||
this.curveType = {
|
||||
centripetal: _t('Centripetal Force'),
|
||||
chordal: _t('Chord'),
|
||||
catmullrom: _t('Catmullrom'),
|
||||
catmullrom: _t('Catmullrom')
|
||||
};
|
||||
|
||||
this.state = {
|
||||
@ -21,7 +21,7 @@ class CatmullRomCurveComponent extends React.Component {
|
||||
expanded: false,
|
||||
closed: true,
|
||||
curveType: 'catmullrom',
|
||||
tension: 1,
|
||||
tension: 1
|
||||
};
|
||||
|
||||
this.handleExpand = this.handleExpand.bind(this);
|
||||
@ -38,14 +38,31 @@ class CatmullRomCurveComponent extends React.Component {
|
||||
return null;
|
||||
}
|
||||
|
||||
return <PropertyGroup title={_t('CatmullRom Curve')} show={show} expanded={expanded} onExpand={this.handleExpand}>
|
||||
return <PropertyGroup title={_t('CatmullRom Curve')}
|
||||
show={show}
|
||||
expanded={expanded}
|
||||
onExpand={this.handleExpand}
|
||||
>
|
||||
<ButtonsProperty>
|
||||
<Button onClick={this.handleAddPoint}>{_t('Add Point')}</Button>
|
||||
<Button onClick={this.handleRemovePoint}>{_t('Remove Point')}</Button>
|
||||
</ButtonsProperty>
|
||||
<CheckBoxProperty label={_t('Closed')} name={'closed'} value={closed} onChange={this.handleChange}></CheckBoxProperty>
|
||||
<SelectProperty label={_t('Curve Type')} options={this.curveType} name={'curveType'} value={curveType} onChange={this.handleChange}></SelectProperty>
|
||||
<NumberProperty label={_t('Tension')} name={'tension'} value={tension} onChange={this.handleChange}></NumberProperty>
|
||||
<CheckBoxProperty label={_t('Closed')}
|
||||
name={'closed'}
|
||||
value={closed}
|
||||
onChange={this.handleChange}
|
||||
/>
|
||||
<SelectProperty label={_t('Curve Type')}
|
||||
options={this.curveType}
|
||||
name={'curveType'}
|
||||
value={curveType}
|
||||
onChange={this.handleChange}
|
||||
/>
|
||||
<NumberProperty label={_t('Tension')}
|
||||
name={'tension'}
|
||||
value={tension}
|
||||
onChange={this.handleChange}
|
||||
/>
|
||||
</PropertyGroup>;
|
||||
}
|
||||
|
||||
@ -56,7 +73,7 @@ class CatmullRomCurveComponent extends React.Component {
|
||||
|
||||
handleExpand(expanded) {
|
||||
this.setState({
|
||||
expanded,
|
||||
expanded
|
||||
});
|
||||
}
|
||||
|
||||
@ -65,7 +82,7 @@ class CatmullRomCurveComponent extends React.Component {
|
||||
|
||||
if (!editor.selected || editor.selected.userData.type !== 'CatmullRomCurve') {
|
||||
this.setState({
|
||||
show: false,
|
||||
show: false
|
||||
});
|
||||
return;
|
||||
}
|
||||
@ -76,7 +93,7 @@ class CatmullRomCurveComponent extends React.Component {
|
||||
show: true,
|
||||
closed: this.selected.userData.closed,
|
||||
curveType: this.selected.userData.curveType,
|
||||
tension: this.selected.userData.tension,
|
||||
tension: this.selected.userData.tension
|
||||
});
|
||||
}
|
||||
|
||||
@ -105,7 +122,7 @@ class CatmullRomCurveComponent extends React.Component {
|
||||
let points = this.selected.userData.points;
|
||||
|
||||
if (points.length === 3) {
|
||||
app.toast(_t('CatmullRom curve should have at least 3 points.'));
|
||||
app.toast(_t('CatmullRom curve should have at least 3 points.'), 'warn');
|
||||
return;
|
||||
}
|
||||
|
||||
@ -119,13 +136,13 @@ class CatmullRomCurveComponent extends React.Component {
|
||||
handleChange(value, name) {
|
||||
if (value === null) {
|
||||
this.setState({
|
||||
[name]: value,
|
||||
[name]: value
|
||||
});
|
||||
return;
|
||||
}
|
||||
|
||||
const { closed, curveType, tension } = Object.assign({}, this.state, {
|
||||
[name]: value,
|
||||
[name]: value
|
||||
});
|
||||
|
||||
Object.assign(this.selected.userData, {
|
||||
|
||||
@ -23,16 +23,34 @@ class AssetsMenu extends React.Component {
|
||||
|
||||
render() {
|
||||
return <MenuItem title={_t('Assets')}>
|
||||
<MenuItem title={_t('Export Geometry')} onClick={this.handleExportGeometry}></MenuItem>
|
||||
<MenuItem title={_t('Export Object')} onClick={this.handleExportObject}></MenuItem>
|
||||
<MenuItem title={_t('Export Geometry')}
|
||||
onClick={this.handleExportGeometry}
|
||||
/>
|
||||
<MenuItem title={_t('Export Object')}
|
||||
onClick={this.handleExportObject}
|
||||
/>
|
||||
<MenuItemSeparator />
|
||||
<MenuItem title={_t('Export Collada')} onClick={this.handleExportCollada}></MenuItem>
|
||||
<MenuItem title={_t('Export DRACO')} onClick={this.handleExportDRACO}></MenuItem>
|
||||
<MenuItem title={_t('Export GLTF')} onClick={this.handleExportGLTF}></MenuItem>
|
||||
<MenuItem title={_t('Export OBJ')} onClick={this.handleExportOBJ}></MenuItem>
|
||||
<MenuItem title={_t('Export PLY')} onClick={this.handleExportPLY}></MenuItem>
|
||||
<MenuItem title={_t('Export STL Binary')} onClick={this.handleExportSTLB}></MenuItem>
|
||||
<MenuItem title={_t('Export STL')} onClick={this.handleExportSTL}></MenuItem>
|
||||
<MenuItem title={_t('Export Collada')}
|
||||
onClick={this.handleExportCollada}
|
||||
/>
|
||||
<MenuItem title={_t('Export DRACO')}
|
||||
onClick={this.handleExportDRACO}
|
||||
/>
|
||||
<MenuItem title={_t('Export GLTF')}
|
||||
onClick={this.handleExportGLTF}
|
||||
/>
|
||||
<MenuItem title={_t('Export OBJ')}
|
||||
onClick={this.handleExportOBJ}
|
||||
/>
|
||||
<MenuItem title={_t('Export PLY')}
|
||||
onClick={this.handleExportPLY}
|
||||
/>
|
||||
<MenuItem title={_t('Export STL Binary')}
|
||||
onClick={this.handleExportSTLB}
|
||||
/>
|
||||
<MenuItem title={_t('Export STL')}
|
||||
onClick={this.handleExportSTL}
|
||||
/>
|
||||
</MenuItem>;
|
||||
}
|
||||
|
||||
@ -44,14 +62,14 @@ class AssetsMenu extends React.Component {
|
||||
var object = editor.selected;
|
||||
|
||||
if (object === null) {
|
||||
app.toast(_t('Please select object!'));
|
||||
app.toast(_t('Please select object!'), 'warn');
|
||||
return;
|
||||
}
|
||||
|
||||
var geometry = object.geometry;
|
||||
|
||||
if (geometry === undefined) {
|
||||
app.toast(_t('The object you selected is not geometry.'));
|
||||
app.toast(_t('The object you selected is not geometry.'), 'warn');
|
||||
return;
|
||||
}
|
||||
|
||||
@ -75,7 +93,7 @@ class AssetsMenu extends React.Component {
|
||||
var object = editor.selected;
|
||||
|
||||
if (object === null) {
|
||||
app.toast(_t('Please select object!'));
|
||||
app.toast(_t('Please select object!'), 'warn');
|
||||
return;
|
||||
}
|
||||
|
||||
@ -141,7 +159,7 @@ class AssetsMenu extends React.Component {
|
||||
var object = editor.selected;
|
||||
|
||||
if (object === null) {
|
||||
app.toast(_t('Please select object!'));
|
||||
app.toast(_t('Please select object!'), 'warn');
|
||||
return;
|
||||
}
|
||||
|
||||
@ -159,7 +177,7 @@ class AssetsMenu extends React.Component {
|
||||
var object = editor.selected;
|
||||
|
||||
if (object === null) {
|
||||
app.toast(_t('Please select object!'));
|
||||
app.toast(_t('Please select object!'), 'warn');
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
@ -27,16 +27,34 @@ class LightMenu extends React.Component {
|
||||
|
||||
render() {
|
||||
return <MenuItem title={_t('Light')}>
|
||||
<MenuItem title={_t('Ambient Light')} onClick={this.handleAddAmbientLight} />
|
||||
<MenuItem title={_t('Directional Light')} onClick={this.handleAddDirectionalLight} />
|
||||
<MenuItem title={_t('Point Light')} onClick={this.handleAddPointLight} />
|
||||
<MenuItem title={_t('Spot Light')} onClick={this.handleAddSpotLight} />
|
||||
<MenuItem title={_t('Hemisphere Light')} onClick={this.handleAddHemisphereLight} />
|
||||
<MenuItem title={_t('Rect Area Light')} onClick={this.handleAddRectAreaLight} />
|
||||
<MenuItem title={_t('Ambient Light')}
|
||||
onClick={this.handleAddAmbientLight}
|
||||
/>
|
||||
<MenuItem title={_t('Directional Light')}
|
||||
onClick={this.handleAddDirectionalLight}
|
||||
/>
|
||||
<MenuItem title={_t('Point Light')}
|
||||
onClick={this.handleAddPointLight}
|
||||
/>
|
||||
<MenuItem title={_t('Spot Light')}
|
||||
onClick={this.handleAddSpotLight}
|
||||
/>
|
||||
<MenuItem title={_t('Hemisphere Light')}
|
||||
onClick={this.handleAddHemisphereLight}
|
||||
/>
|
||||
<MenuItem title={_t('Rect Area Light')}
|
||||
onClick={this.handleAddRectAreaLight}
|
||||
/>
|
||||
<MenuItemSeparator />
|
||||
<MenuItem title={_t('Point Light Helper')} onClick={this.handleAddPointLightHelper} />
|
||||
<MenuItem title={_t('Hemisphere Light Helper')} onClick={this.handleAddHemisphereLightHelper} />
|
||||
<MenuItem title={_t('Rect Area Light Helper')} onClick={this.handleAddRectAreaLightHelper} />
|
||||
<MenuItem title={_t('Point Light Helper')}
|
||||
onClick={this.handleAddPointLightHelper}
|
||||
/>
|
||||
<MenuItem title={_t('Hemisphere Light Helper')}
|
||||
onClick={this.handleAddHemisphereLightHelper}
|
||||
/>
|
||||
<MenuItem title={_t('Rect Area Light Helper')}
|
||||
onClick={this.handleAddRectAreaLightHelper}
|
||||
/>
|
||||
</MenuItem>;
|
||||
}
|
||||
|
||||
@ -153,7 +171,7 @@ class LightMenu extends React.Component {
|
||||
let selected = app.editor.selected;
|
||||
|
||||
if (!(selected instanceof THREE.PointLight)) {
|
||||
app.toast(_t('The selected object is not a point light.'));
|
||||
app.toast(_t('The selected object is not a point light.'), 'warn');
|
||||
return;
|
||||
}
|
||||
|
||||
@ -167,7 +185,7 @@ class LightMenu extends React.Component {
|
||||
let selected = app.editor.selected;
|
||||
|
||||
if (!(selected instanceof THREE.HemisphereLight)) {
|
||||
app.toast(_t('The selected object is not a hemisphere light.'));
|
||||
app.toast(_t('The selected object is not a hemisphere light.'), 'warn');
|
||||
return;
|
||||
}
|
||||
|
||||
@ -181,7 +199,7 @@ class LightMenu extends React.Component {
|
||||
let selected = app.editor.selected;
|
||||
|
||||
if (!(selected instanceof THREE.RectAreaLight)) {
|
||||
app.toast(_t('The selected object is not a rect area light.'));
|
||||
app.toast(_t('The selected object is not a rect area light.'), 'warn');
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
@ -94,7 +94,7 @@ class LoginMenu extends React.Component {
|
||||
}).then(response => {
|
||||
response.json().then(obj => {
|
||||
if (obj.Code !== 200) {
|
||||
app.toast(_t(obj.Msg));
|
||||
app.toast(_t(obj.Msg), 'warn');
|
||||
return;
|
||||
}
|
||||
app.confirm({
|
||||
|
||||
@ -93,7 +93,7 @@ class PlayMenu extends React.Component {
|
||||
let sceneID = app.editor.sceneID;
|
||||
|
||||
if (!sceneID) {
|
||||
app.toast(_t('Please save scene first.'));
|
||||
app.toast(_t('Please save scene first.'), 'warn');
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
@ -61,7 +61,7 @@ class SceneMenu extends React.Component {
|
||||
editor.sceneID = null;
|
||||
editor.sceneName = null;
|
||||
document.title = _t('No Name');
|
||||
app.toast(_t('Create empty scene successfully.'));
|
||||
app.toast(_t('Create empty scene successfully.'), 'success');
|
||||
return;
|
||||
}
|
||||
|
||||
@ -160,7 +160,7 @@ class SceneMenu extends React.Component {
|
||||
|
||||
app.unmask();
|
||||
|
||||
app.toast(_t(obj.Msg));
|
||||
app.toast(_t(obj.Msg), 'success');
|
||||
});
|
||||
}
|
||||
|
||||
@ -216,7 +216,7 @@ class SceneMenu extends React.Component {
|
||||
|
||||
app.unmask();
|
||||
|
||||
app.toast(_t(obj.Msg));
|
||||
app.toast(_t(obj.Msg), 'success');
|
||||
});
|
||||
}
|
||||
|
||||
@ -255,7 +255,7 @@ class SceneMenu extends React.Component {
|
||||
var sceneID = app.editor.sceneID;
|
||||
|
||||
if (!sceneID) {
|
||||
app.toast(_t('Please open scene first.'));
|
||||
app.toast(_t('Please open scene first.'), 'warn');
|
||||
return;
|
||||
}
|
||||
|
||||
@ -272,10 +272,10 @@ class SceneMenu extends React.Component {
|
||||
response.json().then(obj => {
|
||||
app.unmask();
|
||||
if (obj.Code !== 200) {
|
||||
app.toast(_t(obj.Msg));
|
||||
app.toast(_t(obj.Msg), 'warn');
|
||||
return;
|
||||
}
|
||||
app.toast(_t(obj.Msg));
|
||||
app.toast(_t(obj.Msg), 'success');
|
||||
window.open(`${app.options.server}${obj.Url}`, 'export');
|
||||
});
|
||||
}
|
||||
|
||||
@ -94,7 +94,7 @@ class SystemMenu extends React.Component {
|
||||
}).then(response => {
|
||||
response.json().then(obj => {
|
||||
if (obj.Code !== 200) {
|
||||
app.toast(_t(obj.Msg));
|
||||
app.toast(_t(obj.Msg), 'warn');
|
||||
return;
|
||||
}
|
||||
app.confirm({
|
||||
|
||||
@ -68,10 +68,10 @@ class ToolMenu extends React.Component {
|
||||
}).then(response => {
|
||||
response.json().then(obj => {
|
||||
if (obj.Code !== 200) {
|
||||
app.toast(_t(obj.Msg));
|
||||
app.toast(_t(obj.Msg), 'warn');
|
||||
return;
|
||||
}
|
||||
app.toast(_t(obj.Msg));
|
||||
app.toast(_t(obj.Msg), 'success');
|
||||
});
|
||||
});
|
||||
}
|
||||
@ -92,10 +92,10 @@ class ToolMenu extends React.Component {
|
||||
if (response.ok) {
|
||||
response.json().then(obj => {
|
||||
if (obj.Code !== 200) {
|
||||
app.toast(_t(obj.Msg));
|
||||
app.toast(_t(obj.Msg), 'warn');
|
||||
return;
|
||||
}
|
||||
app.toast(_t(obj.Msg));
|
||||
app.toast(_t(obj.Msg), 'success');
|
||||
window.open(`${app.options.server}${obj.Url}`, 'export');
|
||||
});
|
||||
}
|
||||
@ -117,10 +117,10 @@ class ToolMenu extends React.Component {
|
||||
if (response.ok) {
|
||||
response.json().then(obj => {
|
||||
if (obj.Code !== 200) {
|
||||
app.toast(_t(obj.Msg));
|
||||
app.toast(_t(obj.Msg), 'warn');
|
||||
return;
|
||||
}
|
||||
app.toast(_t(obj.Msg));
|
||||
app.toast(_t(obj.Msg), 'success');
|
||||
window.open(`${app.options.server}${obj.Url}`, 'export');
|
||||
});
|
||||
}
|
||||
|
||||
@ -77,7 +77,7 @@ class AuthorityManagementWindow extends React.Component {
|
||||
fetch(`${app.options.server}/api/Role/List?pageSize=10000`).then(response => {
|
||||
response.json().then(obj => {
|
||||
if (obj.Code !== 200) {
|
||||
app.toast(_t(obj.Msg));
|
||||
app.toast(_t(obj.Msg), 'warn');
|
||||
return;
|
||||
}
|
||||
this.setState({
|
||||
@ -96,7 +96,7 @@ class AuthorityManagementWindow extends React.Component {
|
||||
fetch(`${app.options.server}/api/OperatingAuthority/Get?roleID=${selected.ID}`).then(response => {
|
||||
response.json().then(obj => {
|
||||
if (obj.Code !== 200) {
|
||||
app.toast(_t(obj.Msg));
|
||||
app.toast(_t(obj.Msg), 'warn');
|
||||
return;
|
||||
}
|
||||
obj.Data.rows.forEach(n => {
|
||||
@ -155,10 +155,10 @@ class AuthorityManagementWindow extends React.Component {
|
||||
}).then(response => {
|
||||
response.json().then(obj => {
|
||||
if (obj.Code !== 200) {
|
||||
app.toast(_t(obj.Msg));
|
||||
app.toast(_t(obj.Msg), 'warn');
|
||||
return;
|
||||
}
|
||||
app.toast(_t(obj.Msg));
|
||||
app.toast(_t(obj.Msg), 'success');
|
||||
this.handleSelectRole({
|
||||
ID: roleID
|
||||
});
|
||||
|
||||
@ -84,10 +84,10 @@ class ChangePasswordWindow extends React.Component {
|
||||
}).then(response => {
|
||||
response.json().then(obj => {
|
||||
if (obj.Code !== 200) {
|
||||
app.toast(_t(obj.Msg));
|
||||
app.toast(_t(obj.Msg), 'warn');
|
||||
return;
|
||||
}
|
||||
app.toast(_t(obj.Msg));
|
||||
app.toast(_t(obj.Msg), 'success');
|
||||
this.handleClose();
|
||||
});
|
||||
});
|
||||
|
||||
@ -109,7 +109,7 @@ class DepartmentManagementWindow extends React.Component {
|
||||
fetch(`${app.options.server}/api/Department/List?pageSize=10000`).then(response => {
|
||||
response.json().then(obj => {
|
||||
if (obj.Code !== 200) {
|
||||
app.toast(_t(obj.Msg));
|
||||
app.toast(_t(obj.Msg), 'warn');
|
||||
return;
|
||||
}
|
||||
this.list = obj.Data;
|
||||
@ -189,7 +189,7 @@ class DepartmentManagementWindow extends React.Component {
|
||||
}).then(response => {
|
||||
response.json().then(obj => {
|
||||
if (obj.Code !== 200) {
|
||||
app.toast(_t(obj.Msg));
|
||||
app.toast(_t(obj.Msg), 'warn');
|
||||
return;
|
||||
}
|
||||
this.handleRefresh(obj.Data);
|
||||
@ -244,7 +244,7 @@ class DepartmentManagementWindow extends React.Component {
|
||||
const { selected, deptName, adminID } = this.state;
|
||||
|
||||
if (!deptName || deptName.trim() === '') {
|
||||
app.toast(_t('Name is not allowed to be empty.'));
|
||||
app.toast(_t('Name is not allowed to be empty.'), 'warn');
|
||||
return;
|
||||
}
|
||||
|
||||
@ -259,10 +259,10 @@ class DepartmentManagementWindow extends React.Component {
|
||||
}).then(response => {
|
||||
response.json().then(obj => {
|
||||
if (obj.Code !== 200) {
|
||||
app.toast(_t(obj.Msg));
|
||||
app.toast(_t(obj.Msg), 'warn');
|
||||
return;
|
||||
}
|
||||
app.toast(_t(obj.Msg));
|
||||
app.toast(_t(obj.Msg), 'success');
|
||||
this.handleRefresh();
|
||||
});
|
||||
});
|
||||
|
||||
@ -98,10 +98,10 @@ class RegisterWindow extends React.Component {
|
||||
}).then(response => {
|
||||
response.json().then(obj => {
|
||||
if (obj.Code !== 200) {
|
||||
app.toast(_t(obj.Msg));
|
||||
app.toast(_t(obj.Msg), 'warn');
|
||||
return;
|
||||
}
|
||||
app.toast(_t(obj.Msg));
|
||||
app.toast(_t(obj.Msg), 'success');
|
||||
this.handleClose();
|
||||
});
|
||||
});
|
||||
|
||||
@ -117,7 +117,7 @@ class RoleManageWindow extends React.Component {
|
||||
response.json().then(obj => {
|
||||
app.unmask();
|
||||
if (obj.Code !== 200) {
|
||||
app.toast(_t(obj.Msg));
|
||||
app.toast(_t(obj.Msg), 'warn');
|
||||
return;
|
||||
}
|
||||
this.setState({
|
||||
@ -152,7 +152,7 @@ class RoleManageWindow extends React.Component {
|
||||
if (record.Name === 'Administrator' ||
|
||||
record.Name === 'User' ||
|
||||
record.Name === 'Guest') {
|
||||
app.toast(_t('Modifying system built-in roles is not allowed.'));
|
||||
app.toast(_t('Modifying system built-in roles is not allowed.'), 'warn');
|
||||
return;
|
||||
}
|
||||
|
||||
@ -176,7 +176,7 @@ class RoleManageWindow extends React.Component {
|
||||
if (record.Name === 'Administrator' ||
|
||||
record.Name === 'User' ||
|
||||
record.Name === 'Guest') {
|
||||
app.toast(_t('It is not allowed to delete system built-in roles.'));
|
||||
app.toast(_t('It is not allowed to delete system built-in roles.'), 'warn');
|
||||
return;
|
||||
}
|
||||
|
||||
@ -195,10 +195,10 @@ class RoleManageWindow extends React.Component {
|
||||
}).then(response => {
|
||||
response.json().then(obj => {
|
||||
if (obj.Code !== 200) {
|
||||
app.toast(_t(obj.Msg));
|
||||
app.toast(_t(obj.Msg), 'warn');
|
||||
return;
|
||||
}
|
||||
app.toast(_t(obj.Msg));
|
||||
app.toast(_t(obj.Msg), 'success');
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
@ -52,7 +52,7 @@ class SystemSettingWindow extends React.Component {
|
||||
fetch(`/api/Config/Get`).then(response => {
|
||||
response.json().then(obj => {
|
||||
if (obj.Code !== 200) {
|
||||
app.toast(_t(obj.Msg));
|
||||
app.toast(_t(obj.Msg), 'warn');
|
||||
return;
|
||||
}
|
||||
this.setState({
|
||||
@ -64,7 +64,7 @@ class SystemSettingWindow extends React.Component {
|
||||
fetch(`/api/Role/List?pageSize=10000`).then(response => {
|
||||
response.json().then(obj => {
|
||||
if (obj.Code !== 200) {
|
||||
app.toast(_t(obj.Msg));
|
||||
app.toast(_t(obj.Msg), 'warn');
|
||||
return;
|
||||
}
|
||||
let roles = {};
|
||||
@ -96,10 +96,10 @@ class SystemSettingWindow extends React.Component {
|
||||
}).then(response => {
|
||||
response.json().then(obj => {
|
||||
if (obj.Code !== 200) {
|
||||
app.toast(_t(obj.Msg));
|
||||
app.toast(_t(obj.Msg), 'warn');
|
||||
return;
|
||||
}
|
||||
app.toast(_t(obj.Msg));
|
||||
app.toast(_t(obj.Msg), 'success');
|
||||
this.handleClose();
|
||||
});
|
||||
});
|
||||
|
||||
@ -132,7 +132,7 @@ class UserManageWindow extends React.Component {
|
||||
response.json().then(obj => {
|
||||
app.unmask();
|
||||
if (obj.Code !== 200) {
|
||||
app.toast(_t(obj.Msg));
|
||||
app.toast(_t(obj.Msg), 'warn');
|
||||
return;
|
||||
}
|
||||
this.setState({
|
||||
@ -165,7 +165,7 @@ class UserManageWindow extends React.Component {
|
||||
const record = data.filter(n => n.ID === selected)[0];
|
||||
|
||||
if (record.Username === 'admin') {
|
||||
app.toast(_t('Modifying system built-in users is not allowed.'));
|
||||
app.toast(_t('Modifying system built-in users is not allowed.'), 'warn');
|
||||
return;
|
||||
}
|
||||
|
||||
@ -192,7 +192,7 @@ class UserManageWindow extends React.Component {
|
||||
const record = this.state.data.filter(n => n.ID === selected)[0];
|
||||
|
||||
if (record.Username === 'admin') {
|
||||
app.toast(_t('It is not allowed to delete system built-in users.'));
|
||||
app.toast(_t('It is not allowed to delete system built-in users.'), 'warn');
|
||||
return;
|
||||
}
|
||||
|
||||
@ -225,11 +225,11 @@ class UserManageWindow extends React.Component {
|
||||
}).then(response => {
|
||||
response.json().then(obj => {
|
||||
if (obj.Code !== 200) {
|
||||
app.toast(_t(obj.Msg));
|
||||
app.toast(_t(obj.Msg), 'warn');
|
||||
return;
|
||||
}
|
||||
this.handleRefresh();
|
||||
app.toast(_t(obj.Msg));
|
||||
app.toast(_t(obj.Msg), 'success');
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
@ -63,7 +63,7 @@ class EditDeptWindow extends React.Component {
|
||||
const { id, name, pid } = this.state;
|
||||
|
||||
if (!name || name.trim() === '') {
|
||||
app.toast(_t('Name is not allowed to be empty.'));
|
||||
app.toast(_t('Name is not allowed to be empty.'), 'warn');
|
||||
return;
|
||||
}
|
||||
|
||||
@ -78,7 +78,7 @@ class EditDeptWindow extends React.Component {
|
||||
}).then(response => {
|
||||
response.json().then(obj => {
|
||||
if (obj.Code !== 200) {
|
||||
app.toast(_t(obj.Msg));
|
||||
app.toast(_t(obj.Msg), 'warn');
|
||||
return;
|
||||
}
|
||||
this.handleClose();
|
||||
|
||||
@ -62,7 +62,7 @@ class SelectDeptWindow extends React.Component {
|
||||
fetch(`${app.options.server}/api/Department/List?pageSize=10000`).then(response => {
|
||||
response.json().then(obj => {
|
||||
if (obj.Code !== 200) {
|
||||
app.toast(_t(obj.Msg));
|
||||
app.toast(_t(obj.Msg), 'warn');
|
||||
return;
|
||||
}
|
||||
this.list = obj.Data;
|
||||
|
||||
@ -56,7 +56,7 @@ class EditRoleWindow extends React.Component {
|
||||
const { id, name } = this.state;
|
||||
|
||||
if (!name || name.trim() === '') {
|
||||
app.toast(_t('Name is not allowed to be empty.'));
|
||||
app.toast(_t('Name is not allowed to be empty.'), 'warn');
|
||||
return;
|
||||
}
|
||||
|
||||
@ -71,7 +71,7 @@ class EditRoleWindow extends React.Component {
|
||||
}).then(response => {
|
||||
response.json().then(obj => {
|
||||
if (obj.Code !== 200) {
|
||||
app.toast(_t(obj.Msg));
|
||||
app.toast(_t(obj.Msg), 'warn');
|
||||
return;
|
||||
}
|
||||
this.handleClose();
|
||||
|
||||
@ -110,7 +110,7 @@ class EditUserWindow extends React.Component {
|
||||
fetch(`${app.options.server}/api/Role/List?pageSize=10000`).then(response => {
|
||||
response.json().then(obj => {
|
||||
if (obj.Code !== 200) {
|
||||
app.toast(_t(obj.Msg));
|
||||
app.toast(_t(obj.Msg), 'warn');
|
||||
return;
|
||||
}
|
||||
const roles = {
|
||||
@ -150,27 +150,27 @@ class EditUserWindow extends React.Component {
|
||||
const { id, username, password, confirmPassword, name, roleID, deptID } = this.state;
|
||||
|
||||
if (!username || username.trim() === '') {
|
||||
app.toast(_t('Username is not allowed to be empty.'));
|
||||
app.toast(_t('Username is not allowed to be empty.'), 'warn');
|
||||
return;
|
||||
}
|
||||
|
||||
if (!id && (!password || password.trim() === '')) {
|
||||
app.toast(_t('Password is not allowed to be empty.'));
|
||||
app.toast(_t('Password is not allowed to be empty.'), 'warn');
|
||||
return;
|
||||
}
|
||||
|
||||
if (!id && (!confirmPassword || confirmPassword.trim() === '')) {
|
||||
app.toast(_t('Confirm password is not allowed to be empty.'));
|
||||
app.toast(_t('Confirm password is not allowed to be empty.'), 'warn');
|
||||
return;
|
||||
}
|
||||
|
||||
if (!id && password !== confirmPassword) {
|
||||
app.toast(_t('Password and confirm password is not the same.'));
|
||||
app.toast(_t('Password and confirm password is not the same.'), 'warn');
|
||||
return;
|
||||
}
|
||||
|
||||
if (!name || name.trim() === '') {
|
||||
app.toast(_t('Nick name is not allowed to be empty.'));
|
||||
app.toast(_t('Nick name is not allowed to be empty.'), 'warn');
|
||||
return;
|
||||
}
|
||||
|
||||
@ -185,7 +185,7 @@ class EditUserWindow extends React.Component {
|
||||
}).then(response => {
|
||||
response.json().then(json => {
|
||||
if (json.Code !== 200) {
|
||||
app.toast(_t(json.Msg));
|
||||
app.toast(_t(json.Msg), 'warn');
|
||||
return;
|
||||
}
|
||||
this.handleClose();
|
||||
|
||||
@ -67,17 +67,17 @@ class ResetPasswordWindow extends React.Component {
|
||||
const { id, newPassword, confirmPassword } = this.state;
|
||||
|
||||
if (!newPassword || newPassword.trim() === '') {
|
||||
app.toast(_t('New password is not allowed to be empty.'));
|
||||
app.toast(_t('New password is not allowed to be empty.'), 'warn');
|
||||
return;
|
||||
}
|
||||
|
||||
if (!confirmPassword || confirmPassword.trim() === '') {
|
||||
app.toast(_t('Confirm password is not allowed to be empty.'));
|
||||
app.toast(_t('Confirm password is not allowed to be empty.'), 'warn');
|
||||
return;
|
||||
}
|
||||
|
||||
if (newPassword !== confirmPassword) {
|
||||
app.toast(_t('New password and confirm password is not the same.'));
|
||||
app.toast(_t('New password and confirm password is not the same.'), 'warn');
|
||||
return;
|
||||
}
|
||||
|
||||
@ -90,10 +90,10 @@ class ResetPasswordWindow extends React.Component {
|
||||
}).then(response => {
|
||||
response.json().then(obj => {
|
||||
if (obj.Code !== 200) {
|
||||
app.toast(_t(obj.Msg));
|
||||
app.toast(_t(obj.Msg), 'warn');
|
||||
return;
|
||||
}
|
||||
app.toast(_t(obj.Msg));
|
||||
app.toast(_t(obj.Msg), 'success');
|
||||
this.handleClose();
|
||||
});
|
||||
});
|
||||
|
||||
@ -125,7 +125,7 @@ class SelectUserWindow extends React.Component {
|
||||
response.json().then(obj => {
|
||||
app.unmask();
|
||||
if (obj.Code !== 200) {
|
||||
app.toast(_t(obj.Msg));
|
||||
app.toast(_t(obj.Msg), 'warn');
|
||||
return;
|
||||
}
|
||||
this.setState({
|
||||
|
||||
@ -204,10 +204,10 @@ class GeneralTools extends React.Component {
|
||||
}).then(response => {
|
||||
response.json().then(obj => {
|
||||
if (obj.Code !== 200) {
|
||||
app.toast(_t(obj.Msg));
|
||||
app.toast(_t(obj.Msg), 'warn');
|
||||
return;
|
||||
}
|
||||
app.toast(_t(obj.Msg));
|
||||
app.toast(_t(obj.Msg), 'success');
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
@ -103,7 +103,7 @@ Player.prototype.start = function (sceneData) {
|
||||
try {
|
||||
jsons = JSON.parse(sceneData);
|
||||
} catch (e) {
|
||||
app.toast(_t('Cannot deserialize scene data.'));
|
||||
app.toast(_t('Cannot deserialize scene data.'), 'error');
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
@ -23,7 +23,7 @@ class Server {
|
||||
fetch(`/api/Config/Get`).then(response => {
|
||||
response.json().then(obj => {
|
||||
if (obj.Code !== 200) {
|
||||
app.toast(_t(obj.Msg));
|
||||
app.toast(_t(obj.Msg), 'warn');
|
||||
return;
|
||||
}
|
||||
this.enableAuthority = obj.Data.EnableAuthority;
|
||||
@ -41,12 +41,12 @@ class Server {
|
||||
resolve();
|
||||
}).catch(e => {
|
||||
console.warn(e);
|
||||
app.toast(_t('Server configuration acquisition failed.'));
|
||||
app.toast(_t('Server configuration acquisition failed.'), 'error');
|
||||
resolve();
|
||||
});
|
||||
}).catch(e => {
|
||||
console.warn(e);
|
||||
app.toast(_t('Server configuration acquisition failed.'));
|
||||
app.toast(_t('Server configuration acquisition failed.'), 'error');
|
||||
resolve();
|
||||
});
|
||||
});
|
||||
@ -63,7 +63,7 @@ class Server {
|
||||
}).then(response => {
|
||||
response.json().then(obj => {
|
||||
if (obj.Code !== 200) {
|
||||
app.toast(_t(obj.Msg));
|
||||
app.toast(_t(obj.Msg), 'warn');
|
||||
resolve(false);
|
||||
return;
|
||||
}
|
||||
@ -93,7 +93,7 @@ class Server {
|
||||
}).then(response => {
|
||||
response.json().then(obj => {
|
||||
if (obj.Code !== 200) {
|
||||
app.toast(_t(obj.Msg));
|
||||
app.toast(_t(obj.Msg), 'warn');
|
||||
resolve(false);
|
||||
return;
|
||||
}
|
||||
|
||||
@ -16,7 +16,7 @@ class VideoRecorder {
|
||||
|
||||
start() {
|
||||
if (!navigator.mediaDevices) {
|
||||
app.toast(`Record is not supported!`);
|
||||
app.toast(`Record is not supported!`, 'error');
|
||||
return new Promise(resolve => {
|
||||
resolve(false);
|
||||
});
|
||||
@ -31,7 +31,7 @@ class VideoRecorder {
|
||||
resolve(true);
|
||||
})
|
||||
.catch(err => {
|
||||
app.toast(err);
|
||||
app.toast(err, 'error');
|
||||
resolve(false);
|
||||
});
|
||||
});
|
||||
@ -54,10 +54,10 @@ class VideoRecorder {
|
||||
}).then(response => {
|
||||
response.json().then(obj => {
|
||||
if (obj.Code !== 200) {
|
||||
app.toast(_t(obj.Msg));
|
||||
app.toast(_t(obj.Msg), 'warn');
|
||||
return;
|
||||
}
|
||||
app.toast(_t(obj.Msg));
|
||||
app.toast(_t(obj.Msg), 'success');
|
||||
this.chunks.length = 0;
|
||||
resolve(true);
|
||||
});
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user