|
|
@ -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>
|
|
|
|