Fix device loading issue in APPM store

feature/appm-store/pbac
Jayasanka 5 years ago
parent 052859bfb4
commit ab581e5147

@ -6,6 +6,7 @@ import TimeAgo from 'javascript-time-ago'
// Load locale-specific relative date/time formatting rules. // Load locale-specific relative date/time formatting rules.
import en from 'javascript-time-ago/locale/en' import en from 'javascript-time-ago/locale/en'
import {withConfigContext} from "../../../../context/ConfigContext"; import {withConfigContext} from "../../../../context/ConfigContext";
const {Text} = Typography; const {Text} = Typography;
const columns = [ const columns = [
{ {
@ -17,7 +18,7 @@ const columns = [
{ {
title: 'Modal', title: 'Modal',
dataIndex: 'deviceInfo', dataIndex: 'deviceInfo',
key:'modal', key: 'modal',
render: deviceInfo => `${deviceInfo.vendor} ${deviceInfo.deviceModel}` render: deviceInfo => `${deviceInfo.vendor} ${deviceInfo.deviceModel}`
// todo add filtering options // todo add filtering options
}, },
@ -54,18 +55,18 @@ const columns = [
{ {
title: 'OS Version', title: 'OS Version',
dataIndex: 'deviceInfo', dataIndex: 'deviceInfo',
key:'osVersion', key: 'osVersion',
render: deviceInfo => deviceInfo.osVersion render: deviceInfo => deviceInfo.osVersion
// todo add filtering options // todo add filtering options
}, },
{ {
title: 'IMEI', title: 'IMEI',
dataIndex: 'properties', dataIndex: 'properties',
key:'imei', key: 'imei',
render: properties => { render: properties => {
let imei = "not-found"; let imei = "not-found";
for (let i = 0; i < properties.length; i++) { for (let i = 0; i < properties.length; i++) {
if(properties[i].name==="IMEI"){ if (properties[i].name === "IMEI") {
imei = properties[i].value; imei = properties[i].value;
} }
} }
@ -89,7 +90,7 @@ class DeviceInstall extends React.Component {
data: [], data: [],
pagination: {}, pagination: {},
loading: false, loading: false,
selectedRows:[] selectedRows: []
}; };
} }
@ -131,9 +132,8 @@ class DeviceInstall extends React.Component {
//send request to the invoker //send request to the invoker
axios.get( axios.get(
window.location.origin+ window.location.origin + config.serverConfig.invoker.uri + config.serverConfig.invoker.deviceMgt +
+ config.serverConfig.invoker.uri + config.serverConfig.invoker.deviceMgt+"/devices?" + encodedExtraParams, "/devices?" + encodedExtraParams,
).then(res => { ).then(res => {
if (res.status === 200) { if (res.status === 200) {
const pagination = {...this.state.pagination}; const pagination = {...this.state.pagination};
@ -145,11 +145,12 @@ class DeviceInstall extends React.Component {
} }
}).catch((error) => { console.log(error); }).catch((error) => {
console.log(error);
if (error.hasOwnProperty("status") && error.response.status === 401) { if (error.hasOwnProperty("status") && error.response.status === 401) {
//todo display a popop with error //todo display a popop with error
message.error('You are not logged in'); message.error('You are not logged in');
window.location.href = window.location.origin+ '/store/login'; window.location.href = window.location.origin + '/store/login';
} else { } else {
notification["error"]({ notification["error"]({
message: "There was a problem", message: "There was a problem",
@ -191,7 +192,7 @@ class DeviceInstall extends React.Component {
}; };
render() { render() {
const {data,pagination,loading,selectedRows} = this.state; const {data, pagination, loading, selectedRows} = this.state;
return ( return (
<div> <div>
<Text> <Text>
@ -199,7 +200,7 @@ class DeviceInstall extends React.Component {
Select install to automatically start downloading the application for the respective user/users. Select install to automatically start downloading the application for the respective user/users.
</Text> </Text>
<Table <Table
style={{paddingTop:20}} style={{paddingTop: 20}}
columns={columns} columns={columns}
rowKey={record => record.deviceIdentifier} rowKey={record => record.deviceIdentifier}
dataSource={data} dataSource={data}
@ -216,7 +217,8 @@ class DeviceInstall extends React.Component {
scroll={{x: 1000}} scroll={{x: 1000}}
/> />
<div style={{paddingTop: 10, textAlign: "right"}}> <div style={{paddingTop: 10, textAlign: "right"}}>
<Button disabled={selectedRows.length===0} htmlType="button" type="primary" onClick={this.install}> <Button disabled={selectedRows.length === 0} htmlType="button" type="primary"
onClick={this.install}>
Install Install
</Button> </Button>
</div> </div>

Loading…
Cancel
Save