Fix device load issue in APPM store

4.x.x
Jayasanka 5 years ago
parent 4d59b8d900
commit 6849222774

@ -91,12 +91,16 @@ class ReleaseView extends React.Component {
};
render() {
const app = this.props.app;
const {app,deviceType} = this.props;
const release = app.applicationReleases[0];
return (
<div>
<AppInstallModal uuid={release.uuid} visible={this.state.appInstallModalVisible}
onClose={this.closeAppInstallModal} onInstall={this.installApp}/>
<AppInstallModal
uuid={release.uuid}
visible={this.state.appInstallModalVisible}
deviceType = {deviceType}
onClose={this.closeAppInstallModal}
onInstall={this.installApp}/>
<div className="release">
<Row>
<Col xl={4} sm={6} xs={8} className="release-icon">

@ -12,6 +12,7 @@ class AppInstallModal extends React.Component{
data:[]
};
render() {
const {deviceType} = this.props;
return (
<div>
<Modal
@ -22,7 +23,7 @@ class AppInstallModal extends React.Component{
>
<Tabs defaultActiveKey="device">
<TabPane tab="Device" key="device">
<DeviceInstall onInstall={this.props.onInstall}/>
<DeviceInstall deviceType={deviceType} onInstall={this.props.onInstall}/>
</TabPane>
<TabPane tab="User" key="user">
<UserInstall onInstall={this.props.onInstall}/>

@ -113,7 +113,7 @@ class DeviceInstall extends React.Component {
//fetch data from api
fetch = (params = {}) => {
this.setState({loading: true});
const {deviceType} = this.props;
// get current page
const currentPage = (params.hasOwnProperty("page")) ? params.page : 1;
@ -121,25 +121,16 @@ class DeviceInstall extends React.Component {
offset: 10 * (currentPage - 1), //calculate the offset
limit: 10,
status: "ACTIVE",
requireDeviceInfo: true
requireDeviceInfo: true,
type: deviceType
};
// note: encode with '%26' not '&'
const encodedExtraParams = Object.keys(extraParams).map(key => key + '=' + extraParams[key]).join('%26');
const parameters = {
method: "get",
'content-type': "application/json",
payload: "{}",
'api-endpoint': "/device-mgt/v1.0/devices?" + encodedExtraParams
};
//url-encode parameters
const request = Object.keys(parameters).map(key => key + '=' + parameters[key]).join('&');
const encodedExtraParams = Object.keys(extraParams).map(key => key + '=' + extraParams[key]).join('&');
//send request to the invoker
axios.get(
config.serverConfig.protocol + "://"+config.serverConfig.hostname + ':' + config.serverConfig.httpsPort + config.serverConfig.invoker.uri + config.serverConfig.invoker.deviceMgt+"devices?" + encodedExtraParams,
config.serverConfig.protocol + "://"+config.serverConfig.hostname + ':' + config.serverConfig.httpsPort + config.serverConfig.invoker.uri + config.serverConfig.invoker.deviceMgt+"/devices?" + encodedExtraParams,
).then(res => {
if (res.status === 200) {

@ -71,10 +71,12 @@ class Release extends React.Component {
render() {
const {app, loading} = this.state;
const {deviceType} = this.props.match.params;
let content = <Title level={3}>No Releases Found</Title>;
if (app != null && app.applicationReleases.length!==0) {
content = <ReleaseView app={app}/>;
content = <ReleaseView app={app} deviceType={deviceType}/>;
}

Loading…
Cancel
Save