mirror of
https://repository.entgra.net/community/device-mgt-plugins.git
synced 2025-09-16 23:42:15 +00:00
Merge branch 'master' of https://github.com/wso1/carbon-device-mgt-plugins
This commit is contained in:
commit
2bda72a5ce
@ -227,11 +227,8 @@ $(document).ready(function () {
|
|||||||
addConfigAPI,
|
addConfigAPI,
|
||||||
addConfigFormData,
|
addConfigFormData,
|
||||||
function (data, textStatus, jqXHR) {
|
function (data, textStatus, jqXHR) {
|
||||||
data = JSON.parse(data);
|
$("#config-save-form").addClass("hidden");
|
||||||
if (jqXHR.status == 201) {
|
$("#record-created-msg").removeClass("hidden");
|
||||||
$("#config-save-form").addClass("hidden");
|
|
||||||
$("#record-created-msg").removeClass("hidden");
|
|
||||||
}
|
|
||||||
|
|
||||||
}, function (data) {
|
}, function (data) {
|
||||||
if (data.status == 500) {
|
if (data.status == 500) {
|
||||||
|
|||||||
@ -21,9 +21,9 @@
|
|||||||
* when a user clicks on the list item
|
* when a user clicks on the list item
|
||||||
* initial mode and with out select mode.
|
* initial mode and with out select mode.
|
||||||
*/
|
*/
|
||||||
function InitiateViewOption(url) {
|
function InitiateViewOption() {
|
||||||
if ($(".select-enable-btn").text() == "Select") {
|
if ($(".select-enable-btn").text() == "Select") {
|
||||||
$(location).attr('href', url);
|
$(location).attr('href', $(this).data("url"));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -148,8 +148,8 @@ function loadDevices() {
|
|||||||
if (row.status != 'REMOVED') {
|
if (row.status != 'REMOVED') {
|
||||||
url = "device/" + deviceType + "?id=" + deviceIdentifier;
|
url = "device/" + deviceType + "?id=" + deviceIdentifier;
|
||||||
}
|
}
|
||||||
return '<div onclick="javascript:InitiateViewOption(\'' + url + '\')" class="thumbnail icon">' +
|
return '<div class=" viewEnabledIcon thumbnail icon" data-url="' + url + '">' +
|
||||||
'<i class="square-element text fw fw-mobile"></i>' +
|
'<i class="square-element text fw fw-mobile"></i>' +
|
||||||
'</div>'
|
'</div>'
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|||||||
@ -25,12 +25,13 @@ var InitiateViewOption = null;
|
|||||||
var ownership = deviceId.data("ownership");
|
var ownership = deviceId.data("ownership");
|
||||||
var operationTable;
|
var operationTable;
|
||||||
|
|
||||||
|
positionArrow($(".media .list-group-item.active"),"#device_details_tab");
|
||||||
$(".media.tab-responsive [data-toggle=tab]").on("shown.bs.tab", function (e) {
|
$(".media.tab-responsive [data-toggle=tab]").on("shown.bs.tab", function (e) {
|
||||||
var activeTabPane = $(e.target).attr("href");
|
var activeTabPane = $(e.target).attr("href");
|
||||||
var activeListGroupItem = $(".media .list-group-item.active");
|
var activeListGroupItem = $(".media .list-group-item.active");
|
||||||
$(activeTabPane).removeClass("visible-xs-block");
|
$(activeTabPane).removeClass("visible-xs-block");
|
||||||
$(activeTabPane).siblings().not(".arrow-left").addClass("visible-xs-block");
|
$(activeTabPane).siblings().not(".arrow-left").addClass("visible-xs-block");
|
||||||
positionArrow(activeListGroupItem);
|
positionArrow(activeListGroupItem,activeTabPane);
|
||||||
});
|
});
|
||||||
|
|
||||||
$(".media.tab-responsive .tab-content").on("shown.bs.collapse", function (e) {
|
$(".media.tab-responsive .tab-content").on("shown.bs.collapse", function (e) {
|
||||||
@ -50,7 +51,7 @@ var InitiateViewOption = null;
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
function positionArrow(selectedTab) {
|
function positionArrow(selectedTab,activeTabPane) {
|
||||||
var selectedTabHeight = $(selectedTab).innerHeight();
|
var selectedTabHeight = $(selectedTab).innerHeight();
|
||||||
var arrowPosition = 0;
|
var arrowPosition = 0;
|
||||||
var totalHeight = 0;
|
var totalHeight = 0;
|
||||||
@ -75,6 +76,12 @@ var InitiateViewOption = null;
|
|||||||
}
|
}
|
||||||
|
|
||||||
$(arrow).css("top", arrowPosition - 10);
|
$(arrow).css("top", arrowPosition - 10);
|
||||||
|
|
||||||
|
var listHeight = $(".tab-responsive .media-left ul").height();
|
||||||
|
var paneHeight = $(activeTabPane).height();
|
||||||
|
if(listHeight > paneHeight){
|
||||||
|
$(activeTabPane).height(listHeight);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function loadOperationsLog(update) {
|
function loadOperationsLog(update) {
|
||||||
@ -185,17 +192,17 @@ var InitiateViewOption = null;
|
|||||||
$("#applications-list-container").html(content);
|
$("#applications-list-container").html(content);
|
||||||
} else {
|
} else {
|
||||||
$("#applications-list-container").
|
$("#applications-list-container").
|
||||||
html("<div class='message message-info'><h4><i class='icon fw fw-info'></i>No applications found.</h4>" +
|
html("<div class='message message-info'><h4><i class='icon fw fw-info'></i>No applications found.</h4>" +
|
||||||
"<p>Please try refreshing the list in a while.</p></div>");
|
"<p>Please try refreshing the list in a while.</p></div>");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
// error-callback
|
// error-callback
|
||||||
function () {
|
function () {
|
||||||
$("#applications-list-container").
|
$("#applications-list-container").
|
||||||
html("<div class='panel-body'><br><p class='fw-warning'> Loading application list " +
|
html("<div class='panel-body'><br><p class='fw-warning'> Loading application list " +
|
||||||
"was not successful. please try refreshing the list in a while.<p></div>");
|
"was not successful. please try refreshing the list in a while.<p></div>");
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -251,50 +258,50 @@ var InitiateViewOption = null;
|
|||||||
// error-callback
|
// error-callback
|
||||||
function () {
|
function () {
|
||||||
$("#policy-list-container").
|
$("#policy-list-container").
|
||||||
html("<div class='message message-warning'>" +
|
html("<div class='message message-warning'>" +
|
||||||
"<h4 class='remove-margin'>" +
|
"<h4 class='remove-margin'>" +
|
||||||
"<i class='icon fw fw-warning'></i>" +
|
"<i class='icon fw fw-warning'></i>" +
|
||||||
"Loading policy compliance related data " +
|
"Loading policy compliance related data " +
|
||||||
"was not successful. please try refreshing in a while." +
|
"was not successful. please try refreshing in a while." +
|
||||||
"</h4>" +
|
"</h4>" +
|
||||||
"</div>" +
|
"</div>" +
|
||||||
"<p class='add-padding-5x'></p>" +
|
"<p class='add-padding-5x'></p>" +
|
||||||
"<p class='add-padding-5x'></p>" +
|
"<p class='add-padding-5x'></p>" +
|
||||||
"<p class='add-padding-5x'></p>"
|
"<p class='add-padding-5x'></p>"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
} else if ((jqXHR.status == 200 && !data)) {
|
} else if ((jqXHR.status == 200 && !data)) {
|
||||||
$("#policy-spinner").addClass("hidden");
|
$("#policy-spinner").addClass("hidden");
|
||||||
$("#policy-list-container").
|
$("#policy-list-container").
|
||||||
html("<div class='message message-info'>" +
|
html("<div class='message message-info'>" +
|
||||||
"<h4 class='remove-margin'>" +
|
"<h4 class='remove-margin'>" +
|
||||||
"<i class='icon fw fw-info'></i>" +
|
"<i class='icon fw fw-info'></i>" +
|
||||||
"There is currently no effective policy applied for this device." +
|
"There is currently no effective policy applied for this device." +
|
||||||
"</h4>" +
|
"</h4>" +
|
||||||
"</div>" +
|
"</div>" +
|
||||||
"<p class='add-padding-5x'></p>" +
|
"<p class='add-padding-5x'></p>" +
|
||||||
"<p class='add-padding-5x'></p>" +
|
"<p class='add-padding-5x'></p>" +
|
||||||
"<p class='add-padding-5x'></p>"
|
"<p class='add-padding-5x'></p>"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
// error-callback
|
// error-callback
|
||||||
function () {
|
function () {
|
||||||
$("#policy-spinner").addClass("hidden");
|
$("#policy-spinner").addClass("hidden");
|
||||||
$("#policy-list-container").
|
$("#policy-list-container").
|
||||||
html("<div class='message message-warning'>" +
|
html("<div class='message message-warning'>" +
|
||||||
"<h4 class='remove-margin'>" +
|
"<h4 class='remove-margin'>" +
|
||||||
"<i class='icon fw fw-warning'></i>" +
|
"<i class='icon fw fw-warning'></i>" +
|
||||||
"Loading policy compliance related data " +
|
"Loading policy compliance related data " +
|
||||||
"was not successful. please try refreshing in a while." +
|
"was not successful. please try refreshing in a while." +
|
||||||
"</h4>" +
|
"</h4>" +
|
||||||
"</div>" +
|
"</div>" +
|
||||||
"<p class='add-padding-5x'></p>" +
|
"<p class='add-padding-5x'></p>" +
|
||||||
"<p class='add-padding-5x'></p>" +
|
"<p class='add-padding-5x'></p>" +
|
||||||
"<p class='add-padding-5x'></p>"
|
"<p class='add-padding-5x'></p>"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@ -309,6 +316,10 @@ var InitiateViewOption = null;
|
|||||||
loadApplicationsList();
|
loadApplicationsList();
|
||||||
loadPolicyCompliance();
|
loadPolicyCompliance();
|
||||||
|
|
||||||
|
if ($("#device_details_tab").length == 0) {
|
||||||
|
$(".device-detail-body").addClass("hidden");
|
||||||
|
}
|
||||||
|
|
||||||
$("#refresh-policy").click(function () {
|
$("#refresh-policy").click(function () {
|
||||||
$("#policy-spinner").removeClass("hidden");
|
$("#policy-spinner").removeClass("hidden");
|
||||||
loadPolicyCompliance();
|
loadPolicyCompliance();
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
<div class="wr-list-group wr-sortable policy-list">
|
<div class="wr-list-group wr-sortable policy-list">
|
||||||
<span class="list-group-item" id="{{id}}">
|
<span class="list-group-item" id="{{id}}">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-lg-2 clearfix" style="padding-left: 20px; padding-top: 10px;">
|
<div class="col-lg-4 clearfix" style="padding-left: 20px; padding-top: 10px;">
|
||||||
<span class="wr-list-icon">
|
<span class="wr-list-icon">
|
||||||
{{#equal deviceType "android"}}
|
{{#equal deviceType "android"}}
|
||||||
<i class=" fw fw-android"></i>
|
<i class=" fw fw-android"></i>
|
||||||
@ -18,7 +18,7 @@
|
|||||||
<span>{{deviceType}}</span>
|
<span>{{deviceType}}</span>
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-lg-7">
|
<div class="col-lg-6">
|
||||||
<div class="row no-gutter">
|
<div class="row no-gutter">
|
||||||
<div class="wr-desc-list-configs col-lg-4">
|
<div class="wr-desc-list-configs col-lg-4">
|
||||||
<div>
|
<div>
|
||||||
@ -48,7 +48,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-lg-2">
|
<div class="col-lg-1">
|
||||||
<span class="list-group-item-actions" style="padding-top: 15px;">
|
<span class="list-group-item-actions" style="padding-top: 15px;">
|
||||||
<!--suppress HtmlUnknownTarget -->
|
<!--suppress HtmlUnknownTarget -->
|
||||||
<a href="/emm/policy/view?id={{policy.id}}"
|
<a href="/emm/policy/view?id={{policy.id}}"
|
||||||
@ -67,10 +67,10 @@
|
|||||||
</div>
|
</div>
|
||||||
<table class="table table-striped table-hover table-bordered display data-table" id="policy-compliance-table">
|
<table class="table table-striped table-hover table-bordered display data-table" id="policy-compliance-table">
|
||||||
<thead>
|
<thead>
|
||||||
<tr class="sort-row">
|
<tr class="sort-row">
|
||||||
<th>Feature</th>
|
<th>Feature</th>
|
||||||
<th>Compliance</th>
|
<th>Compliance</th>
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
{{#each complianceFeatures}}
|
{{#each complianceFeatures}}
|
||||||
|
|||||||
@ -6,7 +6,8 @@
|
|||||||
{{#if deviceFound}}
|
{{#if deviceFound}}
|
||||||
{{#if isAuthorized}}
|
{{#if isAuthorized}}
|
||||||
<h1 class="page-sub-title device-id device-select"
|
<h1 class="page-sub-title device-id device-select"
|
||||||
data-deviceid="{{deviceView.deviceIdentifier}}" data-type="{{deviceView.deviceType}}" data-ownership="{{deviceView.ownership}}">
|
data-deviceid="{{deviceView.deviceIdentifier}}" data-type="{{deviceView.deviceType}}"
|
||||||
|
data-ownership="{{deviceView.ownership}}">
|
||||||
Device {{deviceView.name}}
|
Device {{deviceView.name}}
|
||||||
{{#if deviceView.model}}
|
{{#if deviceView.model}}
|
||||||
<span class="lbl-device">
|
<span class="lbl-device">
|
||||||
@ -15,413 +16,463 @@
|
|||||||
{{/if}}
|
{{/if}}
|
||||||
</h1>
|
</h1>
|
||||||
<div class="row no-gutter add-padding-5x add-margin-top-5x" style="border: 1px solid #e4e4e4;">
|
<div class="row no-gutter add-padding-5x add-margin-top-5x" style="border: 1px solid #e4e4e4;">
|
||||||
<div class="media">
|
<div class="media">
|
||||||
<div class="media-left media-middle asset-image col-xs-2 col-sm-2 col-md-2 col-lg-2">
|
<div class="media-left media-middle asset-image col-xs-2 col-sm-2 col-md-2 col-lg-2">
|
||||||
<div class="thumbnail icon"><i class="square-element text fw fw-mobile"></i></div>
|
<div class="thumbnail icon"><i class="square-element text fw fw-mobile"></i></div>
|
||||||
</div>
|
</div>
|
||||||
<div class="media-body asset-desc add-padding-left-5x">
|
<div class="media-body asset-desc add-padding-left-5x">
|
||||||
<div style="background: #11375B; color: #fff; padding: 10px; margin-bottom: 5px">Device Overview</div>
|
<div style="background: #11375B; color: #fff; padding: 10px; margin-bottom: 5px">Device
|
||||||
{{#defineZone "device-detail-properties"}}
|
Overview
|
||||||
<table class="table table-responsive table-striped" id="members">
|
</div>
|
||||||
<tbody>
|
{{#defineZone "device-detail-properties"}}
|
||||||
{{#if deviceView.deviceIdentifier}}
|
<table class="table table-responsive table-striped" id="members">
|
||||||
<tr role="row" class="odd">
|
<tbody>
|
||||||
<td class="sorting_1" style="padding:10px 15px; width: 15%;">Device ID</td>
|
{{#if deviceView.deviceIdentifier}}
|
||||||
<td style="padding:10px 15px;">{{deviceView.deviceIdentifier}}</td>
|
|
||||||
</tr>
|
|
||||||
{{/if}}
|
|
||||||
{{#if deviceView.name}}
|
|
||||||
<tr role="row" class="even">
|
|
||||||
<td class="sorting_1" style="padding:10px 15px; width: 15%;">Name</td>
|
|
||||||
<td style="padding:10px 15px;">{{deviceView.name}}</td>
|
|
||||||
</tr>
|
|
||||||
{{/if}}
|
|
||||||
{{#if deviceView.vendor}}
|
|
||||||
{{#if deviceView.model}}
|
|
||||||
<tr role="row" class="odd">
|
<tr role="row" class="odd">
|
||||||
<td class="sorting_1" style="padding:10px 15px; width: 15%;">Model</td>
|
<td class="sorting_1" style="padding:10px 15px; width: 15%;">Device ID</td>
|
||||||
<td style="padding:10px 15px;">{{deviceView.vendor}} {{deviceView.model}}</td>
|
<td style="padding:10px 15px;">{{deviceView.deviceIdentifier}}</td>
|
||||||
</tr>
|
</tr>
|
||||||
{{/if}}
|
{{/if}}
|
||||||
{{/if}}
|
{{#if deviceView.name}}
|
||||||
{{#if deviceView.status}}
|
<tr role="row" class="even">
|
||||||
<tr role="row" class="even">
|
<td class="sorting_1" style="padding:10px 15px; width: 15%;">Name</td>
|
||||||
<td class="sorting_1" style="padding:10px 15px; width: 15%;">Status</td>
|
<td style="padding:10px 15px;">{{deviceView.name}}</td>
|
||||||
<td style="padding:10px 15px;">
|
</tr>
|
||||||
{{#equal deviceView.status "ACTIVE"}}<span><i class="fw fw-ok icon-success"></i> Active</span>{{/equal}}
|
|
||||||
{{#equal deviceView.status "INACTIVE"}}<span><i class="fw fw-warning icon-warning"></i> Inactive</span>{{/equal}}
|
|
||||||
{{#equal deviceView.status "BLOCKED"}}<span><i class="fw fw-remove icon-danger"></i> Blocked</span>{{/equal}}
|
|
||||||
{{#equal deviceView.status "REMOVED"}}<span><i class="fw fw-delete icon-danger"></i> Removed</span>{{/equal}}
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
{{/if}}
|
|
||||||
{{#if deviceView.owner}}
|
|
||||||
<tr role="row" class="odd">
|
|
||||||
<td class="sorting_1" style="padding:10px 15px; width: 15%;">Owner</td>
|
|
||||||
<td style="padding:10px 15px;">{{deviceView.owner}}</td>
|
|
||||||
</tr>
|
|
||||||
{{/if}}
|
|
||||||
{{#if deviceView.ownership}}
|
|
||||||
<tr role="row" class="even">
|
|
||||||
<td class="sorting_1" style="padding:10px 15px; width: 15%;">Ownership</td>
|
|
||||||
<td style="padding:10px 15px;">{{deviceView.ownership}}</td>
|
|
||||||
</tr>
|
|
||||||
{{/if}}
|
|
||||||
{{#if deviceView.imei}}
|
|
||||||
<tr role="row" class="even">
|
|
||||||
<td class="sorting_1" style="padding:10px 15px; width: 15%;">IMEI</td>
|
|
||||||
<td style="padding:10px 15px;">{{deviceView.imei}}</td>
|
|
||||||
</tr>
|
|
||||||
{{/if}}
|
|
||||||
{{#if deviceView.udid}}
|
|
||||||
<tr role="row" class="odd">
|
|
||||||
<td class="sorting_1" style="padding:10px 15px; width: 15%;">UDID</td>
|
|
||||||
<td style="padding:10px 15px;">{{deviceView.udid}}</td>
|
|
||||||
</tr>
|
|
||||||
{{/if}}
|
|
||||||
{{#if deviceView.osBuildDate}}
|
|
||||||
<tr role="row" class="even">
|
|
||||||
<td class="sorting_1" style="padding:10px 15px; width: 15%;">Firmware Build Date</td>
|
|
||||||
<td style="padding:10px 15px;">{{deviceView.osBuildDate}}</td>
|
|
||||||
</tr>
|
|
||||||
{{/if}}
|
|
||||||
{{#if deviceView.phoneNumber}}
|
|
||||||
<tr role="row" class="odd">
|
|
||||||
<td class="sorting_1" style="padding:10px 15px; width: 15%;">Phone Number</td>
|
|
||||||
<td style="padding:10px 15px;">{{deviceView.phoneNumber}}</td>
|
|
||||||
</tr>
|
|
||||||
{{/if}}
|
|
||||||
{{#if deviceView.lastUpdatedTime}}
|
|
||||||
<tr role="row" class="even">
|
|
||||||
<td class="sorting_1" style="padding:10px 15px; width: 15%;">Last Update</td>
|
|
||||||
<td style="padding:10px 15px;">{{deviceView.lastUpdatedTime}}</td>
|
|
||||||
</tr>
|
|
||||||
{{/if}}
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
{{/defineZone}}
|
|
||||||
<div style="background: #11375B; color: #fff; padding: 10px; margin-bottom: 5px">Operations</div>
|
|
||||||
<div class="add-margin-top-4x">
|
|
||||||
{{unit "mdm.unit.device.operation-bar" deviceType=deviceView.deviceType ownership=deviceView.ownership}}
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="media tab-responsive">
|
|
||||||
<div class="media-left col-xs-1 col-sm-1 col-md-2 col-lg-2 hidden-xs">
|
|
||||||
<ul class="list-group nav nav-pills nav-stacked" role="tablist">
|
|
||||||
<li role="presentation" class="list-group-item active">
|
|
||||||
<a href="#device_details_tab" role="tab" data-toggle="tab" aria-controls="device_details_tab">
|
|
||||||
<i class="icon fw fw-mobile"></i><span class="hidden-sm">Device Details</span>
|
|
||||||
</a>
|
|
||||||
</li>
|
|
||||||
<li role="presentation" class="list-group-item">
|
|
||||||
<a href="#policy_compliance_tab" role="tab" data-toggle="tab" aria-controls="policy_compliance_tab">
|
|
||||||
<i class="icon fw fw-policy"></i><span class="hidden-sm">Policy Compliance</span>
|
|
||||||
</a>
|
|
||||||
</li>
|
|
||||||
<li role="presentation" class="list-group-item">
|
|
||||||
<a href="#device_location_tab" role="tab" data-toggle="tab"
|
|
||||||
data-lat="{{deviceView.location.latitude}}"
|
|
||||||
data-long="{{deviceView.location.longitude}}"
|
|
||||||
aria-controls="device_location_tab">
|
|
||||||
<i class="icon fw fw-map-location"></i><span class="hidden-sm">Device Location</span>
|
|
||||||
</a>
|
|
||||||
</li>
|
|
||||||
<li role="presentation" class="list-group-item">
|
|
||||||
<a href="#installed_applications_tab" role="tab" data-toggle="tab" aria-controls="installed_applications_tab">
|
|
||||||
<i class="icon fw fw-application"></i><span class="hidden-sm">Installed Applications</span>
|
|
||||||
</a>
|
|
||||||
</li>
|
|
||||||
<li role="presentation" class="list-group-item">
|
|
||||||
<a href="#event_log_tab" role="tab" data-toggle="tab" aria-controls="event_log_tab">
|
|
||||||
<i class="icon fw fw-text"></i><span class="hidden-sm">Operations Log</span>
|
|
||||||
</a>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
{{#defineZone "device-detail-properties"}}
|
|
||||||
<div class="media-body add-padding-left-5x remove-padding-xs">
|
|
||||||
<div class="panel-group tab-content remove-padding" id="tabs" role="tablist" aria-multiselectable="true">
|
|
||||||
<div class="arrow-left hidden-xs"></div>
|
|
||||||
|
|
||||||
<div class="panel panel-default" role="tabpanel" id="device_details_tab">
|
|
||||||
<div class="panel-heading visible-xs collapsed" id="device_details">
|
|
||||||
<h4 class="panel-title">
|
|
||||||
<a role="button" data-toggle="collapse" data-parent="#tabs" href="#collapseOne" aria-expanded="true" aria-controls="collapseOne">
|
|
||||||
<i class="fw fw-mobile fw-2x"></i>
|
|
||||||
Device Details
|
|
||||||
<i class="caret-updown fw fw-down"></i>
|
|
||||||
</a>
|
|
||||||
</h4>
|
|
||||||
</div>
|
|
||||||
<div class="panel-heading display-none-xs">Device Details</div>
|
|
||||||
<div id="collapseOne" class="panel-collapse collapse in" role="tabpanel" aria-labelledby="device_details">
|
|
||||||
<div class="panel-body ">
|
|
||||||
<div class="device-detail-body">
|
|
||||||
<!-- device summary -->
|
|
||||||
{{#equal deviceView.deviceType "windows"}}
|
|
||||||
<div class="message message-info">
|
|
||||||
<h4 class="remove-margin"><i class="icon fw fw-info"></i>Not available yet</h4>
|
|
||||||
</div>
|
|
||||||
{{/equal}}
|
|
||||||
{{#if deviceView.deviceInfoAvailable}}
|
|
||||||
{{#if deviceView.BatteryLevel}}
|
|
||||||
<div class="col-xs-12 col-sm-6 col-md-6 col-lg-6">
|
|
||||||
<div class="col-md-12">
|
|
||||||
<div class="wr-stats-board-tile">
|
|
||||||
<div class="tile-name">BATTERY</div>
|
|
||||||
<div>
|
|
||||||
<div class="tile-icon"><i class="fw fw-battery"></i></div>
|
|
||||||
<div class="tile-stats">
|
|
||||||
{{deviceView.BatteryLevel.value}} %
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
{{/if}}
|
|
||||||
<!--{{#if deviceView.cpuUsage}}-->
|
|
||||||
<!--<div class="col-xs-12 col-sm-6 col-md-6 col-lg-6">-->
|
|
||||||
<!--<div class="col-md-12">-->
|
|
||||||
<!--<div class="wr-stats-board-tile">-->
|
|
||||||
<!--<div class="tile-name">CPU Usage</div>-->
|
|
||||||
<!--<div>-->
|
|
||||||
<!--<div class="tile-icon"><i class="fw fw-dashboard"></i></div>-->
|
|
||||||
<!--<div class="tile-stats">-->
|
|
||||||
<!--{{deviceView.cpuUsage.value}} %-->
|
|
||||||
<!--</div>-->
|
|
||||||
<!--</div>-->
|
|
||||||
<!--</div>-->
|
|
||||||
<!--</div>-->
|
|
||||||
<!--</div>-->
|
|
||||||
<!--{{/if}}-->
|
|
||||||
{{#if deviceView.ramUsage}}
|
|
||||||
<div class="col-xs-12 col-sm-6 col-md-6 col-lg-6">
|
|
||||||
<div class="col-md-12">
|
|
||||||
<div class="wr-stats-board-tile">
|
|
||||||
<div class="tile-name">RAM Usage</div>
|
|
||||||
<div>
|
|
||||||
<div class="tile-icon"><i class="fw fw-hardware"></i></div>
|
|
||||||
<div class="tile-stats">
|
|
||||||
{{deviceView.ramUsage.value}} %
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
{{/if}}
|
|
||||||
{{#if deviceView.internalMemory}}
|
|
||||||
<div class="col-xs-12 col-sm-6 col-md-6 col-lg-6">
|
|
||||||
<div class="col-md-12">
|
|
||||||
<div class="wr-stats-board-tile">
|
|
||||||
<div class="tile-name">Local Storage</div>
|
|
||||||
<div>
|
|
||||||
<div class="tile-icon"><i class="fw fw-hdd"></i></div>
|
|
||||||
<div class="tile-stats">
|
|
||||||
{{deviceView.internalMemory.usage}} %
|
|
||||||
<span class="tile-stats-free">
|
|
||||||
TOTAL OF {{deviceView.internalMemory.total}} GB
|
|
||||||
</span>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
{{/if}}
|
|
||||||
{{#if deviceView.externalMemory}}
|
|
||||||
<div class="col-xs-12 col-sm-6 col-md-6 col-lg-6">
|
|
||||||
<div class="col-md-12">
|
|
||||||
<div class="wr-stats-board-tile">
|
|
||||||
<div class="tile-name">External Storage</div>
|
|
||||||
<div>
|
|
||||||
<div class="tile-icon"><i class="fw fw-usb-drive"></i></div>
|
|
||||||
<div class="tile-stats">
|
|
||||||
{{deviceView.externalMemory.usage}} %
|
|
||||||
<span class="tile-stats-free">
|
|
||||||
TOTAL OF {{deviceView.externalMemory.total}} GB
|
|
||||||
</span>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
{{/if}}
|
|
||||||
{{else}}
|
|
||||||
<div class="message message-info">
|
|
||||||
<h4 class="remove-margin">
|
|
||||||
<i class="icon fw fw-info"></i>
|
|
||||||
Battery, RAM and Storage related information are not available yet.
|
|
||||||
</h4>
|
|
||||||
</div>
|
|
||||||
{{/if}}
|
{{/if}}
|
||||||
</div>
|
{{#if deviceView.vendor}}
|
||||||
|
{{#if deviceView.model}}
|
||||||
|
<tr role="row" class="odd">
|
||||||
|
<td class="sorting_1" style="padding:10px 15px; width: 15%;">Model</td>
|
||||||
|
<td style="padding:10px 15px;">{{deviceView.vendor}} {{deviceView.model}}</td>
|
||||||
|
</tr>
|
||||||
|
{{/if}}
|
||||||
|
{{/if}}
|
||||||
|
{{#if deviceView.status}}
|
||||||
|
<tr role="row" class="even">
|
||||||
|
<td class="sorting_1" style="padding:10px 15px; width: 15%;">Status</td>
|
||||||
|
<td style="padding:10px 15px;">
|
||||||
|
{{#equal deviceView.status "ACTIVE"}}<span><i
|
||||||
|
class="fw fw-ok icon-success"></i> Active</span>{{/equal}}
|
||||||
|
{{#equal deviceView.status "INACTIVE"}}<span><i
|
||||||
|
class="fw fw-warning icon-warning"></i> Inactive</span>{{/equal}}
|
||||||
|
{{#equal deviceView.status "BLOCKED"}}<span><i
|
||||||
|
class="fw fw-remove icon-danger"></i> Blocked</span>{{/equal}}
|
||||||
|
{{#equal deviceView.status "REMOVED"}}<span><i
|
||||||
|
class="fw fw-delete icon-danger"></i> Removed</span>{{/equal}}
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
{{/if}}
|
||||||
|
{{#if deviceView.owner}}
|
||||||
|
<tr role="row" class="odd">
|
||||||
|
<td class="sorting_1" style="padding:10px 15px; width: 15%;">Owner</td>
|
||||||
|
<td style="padding:10px 15px;">{{deviceView.owner}}</td>
|
||||||
|
</tr>
|
||||||
|
{{/if}}
|
||||||
|
{{#if deviceView.ownership}}
|
||||||
|
<tr role="row" class="even">
|
||||||
|
<td class="sorting_1" style="padding:10px 15px; width: 15%;">Ownership</td>
|
||||||
|
<td style="padding:10px 15px;">{{deviceView.ownership}}</td>
|
||||||
|
</tr>
|
||||||
|
{{/if}}
|
||||||
|
{{#if deviceView.imei}}
|
||||||
|
<tr role="row" class="even">
|
||||||
|
<td class="sorting_1" style="padding:10px 15px; width: 15%;">IMEI</td>
|
||||||
|
<td style="padding:10px 15px;">{{deviceView.imei}}</td>
|
||||||
|
</tr>
|
||||||
|
{{/if}}
|
||||||
|
{{#if deviceView.udid}}
|
||||||
|
<tr role="row" class="odd">
|
||||||
|
<td class="sorting_1" style="padding:10px 15px; width: 15%;">UDID</td>
|
||||||
|
<td style="padding:10px 15px;">{{deviceView.udid}}</td>
|
||||||
|
</tr>
|
||||||
|
{{/if}}
|
||||||
|
{{#if deviceView.osBuildDate}}
|
||||||
|
<tr role="row" class="even">
|
||||||
|
<td class="sorting_1" style="padding:10px 15px; width: 15%;">Firmware Build
|
||||||
|
Date
|
||||||
|
</td>
|
||||||
|
<td style="padding:10px 15px;">{{deviceView.osBuildDate}}</td>
|
||||||
|
</tr>
|
||||||
|
{{/if}}
|
||||||
|
{{#if deviceView.phoneNumber}}
|
||||||
|
<tr role="row" class="odd">
|
||||||
|
<td class="sorting_1" style="padding:10px 15px; width: 15%;">Phone Number</td>
|
||||||
|
<td style="padding:10px 15px;">{{deviceView.phoneNumber}}</td>
|
||||||
|
</tr>
|
||||||
|
{{/if}}
|
||||||
|
{{#if deviceView.lastUpdatedTime}}
|
||||||
|
<tr role="row" class="even">
|
||||||
|
<td class="sorting_1" style="padding:10px 15px; width: 15%;">Last Update</td>
|
||||||
|
<td style="padding:10px 15px;">{{deviceView.lastUpdatedTime}}</td>
|
||||||
|
</tr>
|
||||||
|
{{/if}}
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
{{/defineZone}}
|
||||||
|
<div style="background: #11375B; color: #fff; padding: 10px; margin-bottom: 5px">
|
||||||
|
Operations
|
||||||
|
</div>
|
||||||
|
<div class="add-margin-top-4x">
|
||||||
|
{{unit "mdm.unit.device.operation-bar" deviceType=deviceView.deviceType ownership=deviceView.ownership}}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="panel panel-default visible-xs-block" role="tabpanel" id="policy_compliance_tab">
|
<div class="media tab-responsive">
|
||||||
<div class="panel-heading visible-xs collapsed" id="policy_compliance">
|
<div class="media-left col-xs-1 col-sm-1 col-md-2 col-lg-2 hidden-xs">
|
||||||
<h4 class="panel-title">
|
<ul class="list-group nav nav-pills nav-stacked" role="tablist">
|
||||||
<a role="button"
|
{{#if deviceView.isNotWindows}}
|
||||||
data-toggle="collapse" data-parent="#tabs" href="#collapseTwo" aria-expanded="true" aria-controls="collapseTwo">
|
<li role="presentation" class="list-group-item active">
|
||||||
<i class="fw fw-policy fw-2x"></i>
|
<a href="#device_details_tab" role="tab" data-toggle="tab"
|
||||||
Policy Compliance
|
aria-controls="device_details_tab">
|
||||||
<i class="caret-updown fw fw-down"></i>
|
<i class="icon fw fw-mobile"></i><span class="hidden-sm">Device Details</span>
|
||||||
</a>
|
</a>
|
||||||
</h4>
|
</li>
|
||||||
|
{{/if}}
|
||||||
|
{{#if deviceView.isNotWindows}}
|
||||||
|
<li role="presentation" class="list-group-item">
|
||||||
|
{{else}}
|
||||||
|
<li role="presentation" class="list-group-item active">
|
||||||
|
{{/if}}
|
||||||
|
<li role="presentation" class="list-group-item">
|
||||||
|
<a href="#policy_compliance_tab" role="tab" data-toggle="tab"
|
||||||
|
aria-controls="policy_compliance_tab">
|
||||||
|
<i class="icon fw fw-policy"></i><span class="hidden-sm">Policy Compliance</span>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
{{#if deviceView.isNotWindows}}
|
||||||
|
<li role="presentation" class="list-group-item">
|
||||||
|
<a href="#device_location_tab" role="tab" data-toggle="tab"
|
||||||
|
data-lat="{{deviceView.location.latitude}}"
|
||||||
|
data-long="{{deviceView.location.longitude}}"
|
||||||
|
aria-controls="device_location_tab">
|
||||||
|
<i class="icon fw fw-map-location"></i><span
|
||||||
|
class="hidden-sm">Device Location</span>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<li role="presentation" class="list-group-item">
|
||||||
|
<a href="#installed_applications_tab" role="tab" data-toggle="tab"
|
||||||
|
aria-controls="installed_applications_tab">
|
||||||
|
<i class="icon fw fw-application"></i><span class="hidden-sm">Installed Applications</span>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
{{/if}}
|
||||||
|
<li role="presentation" class="list-group-item">
|
||||||
|
<a href="#event_log_tab" role="tab" data-toggle="tab" aria-controls="event_log_tab">
|
||||||
|
<i class="icon fw fw-text"></i><span class="hidden-sm">Operations Log</span>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
<div class="panel-heading display-none-xs">
|
{{#defineZone "device-detail-properties"}}
|
||||||
Policy Compliance
|
<div class="media-body add-padding-left-5x remove-padding-xs">
|
||||||
|
<div class="panel-group tab-content remove-padding" id="tabs" role="tablist"
|
||||||
<span>
|
aria-multiselectable="true">
|
||||||
|
<div class="arrow-left hidden-xs"></div>
|
||||||
|
|
||||||
|
{{#if deviceView.isNotWindows}}
|
||||||
|
<div class="panel panel-default" role="tabpanel" id="device_details_tab">
|
||||||
|
<div class="panel-heading visible-xs collapsed" id="device_details">
|
||||||
|
<h4 class="panel-title">
|
||||||
|
<a role="button" data-toggle="collapse" data-parent="#tabs"
|
||||||
|
href="#collapseOne" aria-expanded="true" aria-controls="collapseOne">
|
||||||
|
<i class="fw fw-mobile fw-2x"></i>
|
||||||
|
Device Details
|
||||||
|
<i class="caret-updown fw fw-down"></i>
|
||||||
|
</a>
|
||||||
|
</h4>
|
||||||
|
</div>
|
||||||
|
<div class="panel-heading display-none-xs">Device Details</div>
|
||||||
|
<div id="collapseOne" class="panel-collapse collapse in" role="tabpanel"
|
||||||
|
aria-labelledby="device_details">
|
||||||
|
<div class="panel-body ">
|
||||||
|
<div class="device-detail-body">
|
||||||
|
<!-- device summary -->
|
||||||
|
{{#equal deviceView.deviceType "windows"}}
|
||||||
|
<div class="message message-info">
|
||||||
|
<h4 class="remove-margin"><i class="icon fw fw-info"></i>Not
|
||||||
|
available yet</h4>
|
||||||
|
</div>
|
||||||
|
{{/equal}}
|
||||||
|
{{#if deviceView.deviceInfoAvailable}}
|
||||||
|
{{#if deviceView.BatteryLevel}}
|
||||||
|
<div class="col-xs-12 col-sm-6 col-md-6 col-lg-6">
|
||||||
|
<div class="col-md-12">
|
||||||
|
<div class="wr-stats-board-tile">
|
||||||
|
<div class="tile-name">BATTERY</div>
|
||||||
|
<div>
|
||||||
|
<div class="tile-icon"><i
|
||||||
|
class="fw fw-battery"></i></div>
|
||||||
|
<div class="tile-stats">
|
||||||
|
{{deviceView.BatteryLevel.value}} %
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
{{/if}}
|
||||||
|
<!--{{#if deviceView.cpuUsage}}-->
|
||||||
|
<!--<div class="col-xs-12 col-sm-6 col-md-6 col-lg-6">-->
|
||||||
|
<!--<div class="col-md-12">-->
|
||||||
|
<!--<div class="wr-stats-board-tile">-->
|
||||||
|
<!--<div class="tile-name">CPU Usage</div>-->
|
||||||
|
<!--<div>-->
|
||||||
|
<!--<div class="tile-icon"><i class="fw fw-dashboard"></i></div>-->
|
||||||
|
<!--<div class="tile-stats">-->
|
||||||
|
<!--{{deviceView.cpuUsage.value}} %-->
|
||||||
|
<!--</div>-->
|
||||||
|
<!--</div>-->
|
||||||
|
<!--</div>-->
|
||||||
|
<!--</div>-->
|
||||||
|
<!--</div>-->
|
||||||
|
<!--{{/if}}-->
|
||||||
|
{{#if deviceView.ramUsage}}
|
||||||
|
<div class="col-xs-12 col-sm-6 col-md-6 col-lg-6">
|
||||||
|
<div class="col-md-12">
|
||||||
|
<div class="wr-stats-board-tile">
|
||||||
|
<div class="tile-name">RAM Usage</div>
|
||||||
|
<div>
|
||||||
|
<div class="tile-icon"><i
|
||||||
|
class="fw fw-hardware"></i></div>
|
||||||
|
<div class="tile-stats">
|
||||||
|
{{deviceView.ramUsage.value}} %
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
{{/if}}
|
||||||
|
{{#if deviceView.internalMemory}}
|
||||||
|
<div class="col-xs-12 col-sm-6 col-md-6 col-lg-6">
|
||||||
|
<div class="col-md-12">
|
||||||
|
<div class="wr-stats-board-tile">
|
||||||
|
<div class="tile-name">Local Storage</div>
|
||||||
|
<div>
|
||||||
|
<div class="tile-icon"><i
|
||||||
|
class="fw fw-hdd"></i>
|
||||||
|
</div>
|
||||||
|
<div class="tile-stats">
|
||||||
|
{{deviceView.internalMemory.usage}} %
|
||||||
|
<span class="tile-stats-free">
|
||||||
|
TOTAL OF {{deviceView.internalMemory.total}} GB
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
{{/if}}
|
||||||
|
{{#if deviceView.externalMemory}}
|
||||||
|
<div class="col-xs-12 col-sm-6 col-md-6 col-lg-6">
|
||||||
|
<div class="col-md-12">
|
||||||
|
<div class="wr-stats-board-tile">
|
||||||
|
<div class="tile-name">External Storage</div>
|
||||||
|
<div>
|
||||||
|
<div class="tile-icon"><i
|
||||||
|
class="fw fw-usb-drive"></i></div>
|
||||||
|
<div class="tile-stats">
|
||||||
|
{{deviceView.externalMemory.usage}} %
|
||||||
|
<span class="tile-stats-free">
|
||||||
|
TOTAL OF {{deviceView.externalMemory.total}} GB
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
{{/if}}
|
||||||
|
{{else}}
|
||||||
|
<div class="message message-info">
|
||||||
|
<h4 class="remove-margin">
|
||||||
|
<i class="icon fw fw-info"></i>
|
||||||
|
Battery, RAM and Storage related information are not
|
||||||
|
available yet.
|
||||||
|
</h4>
|
||||||
|
</div>
|
||||||
|
{{/if}}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
{{/if}}
|
||||||
|
|
||||||
|
<div class="panel panel-default visible-xs-block" role="tabpanel"
|
||||||
|
id="policy_compliance_tab">
|
||||||
|
<div class="panel-heading visible-xs collapsed" id="policy_compliance">
|
||||||
|
<h4 class="panel-title">
|
||||||
|
<a role="button"
|
||||||
|
data-toggle="collapse" data-parent="#tabs" href="#collapseTwo"
|
||||||
|
aria-expanded="true" aria-controls="collapseTwo">
|
||||||
|
<i class="fw fw-policy fw-2x"></i>
|
||||||
|
Policy Compliance
|
||||||
|
<i class="caret-updown fw fw-down"></i>
|
||||||
|
</a>
|
||||||
|
</h4>
|
||||||
|
</div>
|
||||||
|
<div class="panel-heading display-none-xs">
|
||||||
|
Policy Compliance
|
||||||
|
|
||||||
|
<span>
|
||||||
<a href="javascript:void(0);" id="refresh-policy">
|
<a href="javascript:void(0);" id="refresh-policy">
|
||||||
<i class="fw fw-refresh"></i>
|
<i class="fw fw-refresh"></i>
|
||||||
</a>
|
</a>
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
<div id="collapseTwo" class="panel-collapse collapse in" role="tabpanel" aria-labelledby="policy_compliance">
|
<div id="collapseTwo" class="panel-collapse collapse in" role="tabpanel"
|
||||||
<div class="panel-body ">
|
aria-labelledby="policy_compliance">
|
||||||
|
<div class="panel-body ">
|
||||||
<span class="visible-xs add-padding-2x text-right">
|
<span class="visible-xs add-padding-2x text-right">
|
||||||
<a href="javascript:void(0);" id="refresh-policy">
|
<a href="javascript:void(0);" id="refresh-policy">
|
||||||
<i class="fw fw-refresh"></i>
|
<i class="fw fw-refresh"></i>
|
||||||
</a>
|
</a>
|
||||||
</span>
|
</span>
|
||||||
<div id="policy-spinner"
|
<div id="policy-spinner"
|
||||||
class="wr-advance-operations-init add-padding-bottom-2x add-padding-bottom-4x hidden">
|
class="wr-advance-operations-init add-padding-bottom-2x add-padding-bottom-4x hidden">
|
||||||
<i class="fw fw-settings fw-spin fw-2x"></i> Loading Policy Compliance...
|
<i class="fw fw-settings fw-spin fw-2x"></i> Loading Policy
|
||||||
</div>
|
Compliance...
|
||||||
<div id="policy-list-container">
|
</div>
|
||||||
</div>
|
<div id="policy-list-container">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="panel panel-default visible-xs-block" role="tabpanel" id="device_location_tab">
|
|
||||||
<div class="panel-heading visible-xs collapsed" id="device_location">
|
|
||||||
<h4 class="panel-title">
|
|
||||||
<a role="button" data-toggle="collapse" data-parent="#tabs" href="#collapseThree" aria-expanded="true" aria-controls="collapseThree">
|
|
||||||
<i class="fw fw-map-location fw-2x"></i>
|
|
||||||
Device Location
|
|
||||||
<i class="caret-updown fw fw-down"></i>
|
|
||||||
</a>
|
|
||||||
</h4>
|
|
||||||
</div>
|
|
||||||
<div class="panel-heading display-none-xs">Device Location</div>
|
|
||||||
<div id="collapseThree" class="panel-collapse collapse in" role="tabpanel" aria-labelledby="device_location">
|
|
||||||
<div class="panel-body">
|
|
||||||
{{#if deviceView.location}}
|
|
||||||
<div id="device-location"
|
|
||||||
data-lat="{{deviceView.location.latitude}}"
|
|
||||||
data-long="{{deviceView.location.longitude}}">
|
|
||||||
</div>
|
</div>
|
||||||
{{else}}
|
<div class="panel panel-default visible-xs-block" role="tabpanel"
|
||||||
<div id="map-error" class="message message-warning">
|
id="device_location_tab">
|
||||||
<h4 class="remove-margin">
|
<div class="panel-heading visible-xs collapsed" id="device_location">
|
||||||
<i class="icon fw fw-warning"></i>
|
<h4 class="panel-title">
|
||||||
Device location information is not available.
|
<a role="button" data-toggle="collapse" data-parent="#tabs"
|
||||||
</h4>
|
href="#collapseThree" aria-expanded="true" aria-controls="collapseThree">
|
||||||
|
<i class="fw fw-map-location fw-2x"></i>
|
||||||
|
Device Location
|
||||||
|
<i class="caret-updown fw fw-down"></i>
|
||||||
|
</a>
|
||||||
|
</h4>
|
||||||
|
</div>
|
||||||
|
<div class="panel-heading display-none-xs">Device Location</div>
|
||||||
|
<div id="collapseThree" class="panel-collapse collapse in" role="tabpanel"
|
||||||
|
aria-labelledby="device_location">
|
||||||
|
<div class="panel-body">
|
||||||
|
{{#if deviceView.location}}
|
||||||
|
<div id="device-location"
|
||||||
|
data-lat="{{deviceView.location.latitude}}"
|
||||||
|
data-long="{{deviceView.location.longitude}}">
|
||||||
|
</div>
|
||||||
|
{{else}}
|
||||||
|
<div id="map-error" class="message message-warning">
|
||||||
|
<h4 class="remove-margin">
|
||||||
|
<i class="icon fw fw-warning"></i>
|
||||||
|
Device location information is not available.
|
||||||
|
</h4>
|
||||||
|
</div>
|
||||||
|
<p class="add-padding-5x"></p>
|
||||||
|
<p class="add-padding-5x"></p>
|
||||||
|
<p class="add-padding-5x"></p>
|
||||||
|
{{/if}}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<p class="add-padding-5x"></p>
|
<div class="panel panel-default visible-xs-block" role="tabpanel"
|
||||||
<p class="add-padding-5x"></p>
|
id="installed_applications_tab">
|
||||||
<p class="add-padding-5x"></p>
|
<div class="panel-heading visible-xs collapsed" id="installed_applications">
|
||||||
{{/if}}
|
<h4 class="panel-title">
|
||||||
</div>
|
<a role="button" data-toggle="collapse" data-parent="#tabs"
|
||||||
</div>
|
href="#collapseFour" aria-expanded="true" aria-controls="collapseFour">
|
||||||
</div>
|
<i class="fw fw-application fw-2x"></i>
|
||||||
<div class="panel panel-default visible-xs-block" role="tabpanel" id="installed_applications_tab">
|
Installed Applications
|
||||||
<div class="panel-heading visible-xs collapsed" id="installed_applications">
|
<i class="caret-updown fw fw-down"></i>
|
||||||
<h4 class="panel-title">
|
</a>
|
||||||
<a role="button" data-toggle="collapse" data-parent="#tabs" href="#collapseFour" aria-expanded="true" aria-controls="collapseFour">
|
</h4>
|
||||||
<i class="fw fw-application fw-2x"></i>
|
</div>
|
||||||
Installed Applications
|
<div class="panel-heading display-none-xs">
|
||||||
<i class="caret-updown fw fw-down"></i>
|
Installed Applications
|
||||||
</a>
|
|
||||||
</h4>
|
<span>
|
||||||
</div>
|
|
||||||
<div class="panel-heading display-none-xs">
|
|
||||||
Installed Applications
|
|
||||||
|
|
||||||
<span>
|
|
||||||
<a href="javascript:void(0);" id="refresh-apps">
|
<a href="javascript:void(0);" id="refresh-apps">
|
||||||
<i class="fw fw-refresh"></i>
|
<i class="fw fw-refresh"></i>
|
||||||
</a>
|
</a>
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
<div id="collapseFour" class="panel-collapse collapse in" role="tabpanel" aria-labelledby="installed_applications">
|
<div id="collapseFour" class="panel-collapse collapse in" role="tabpanel"
|
||||||
<div class="panel-body">
|
aria-labelledby="installed_applications">
|
||||||
|
<div class="panel-body">
|
||||||
<span class="visible-xs add-padding-2x text-right">
|
<span class="visible-xs add-padding-2x text-right">
|
||||||
<a href="javascript:void(0);" id="refresh-apps">
|
<a href="javascript:void(0);" id="refresh-apps">
|
||||||
<i class="fw fw-refresh"></i>
|
<i class="fw fw-refresh"></i>
|
||||||
</a>
|
</a>
|
||||||
</span>
|
</span>
|
||||||
<div id="apps-spinner" class="wr-advance-operations-init hidden">
|
<div id="apps-spinner" class="wr-advance-operations-init hidden">
|
||||||
<i class="fw fw-settings fw-spin fw-2x"></i> Loading Applications List...
|
<i class="fw fw-settings fw-spin fw-2x"></i> Loading Applications
|
||||||
</div>
|
List...
|
||||||
<div id="applications-list-container">
|
</div>
|
||||||
<div class="message message-info">
|
<div id="applications-list-container">
|
||||||
<h4>
|
<div class="message message-info">
|
||||||
<i class="icon fw fw-info"></i>
|
<h4>
|
||||||
No applications found.
|
<i class="icon fw fw-info"></i>
|
||||||
</h4>
|
No applications found.
|
||||||
<p>Please try refreshing in a while.</p>
|
</h4>
|
||||||
|
<p>Please try refreshing in a while.</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
<div class="panel panel-default visible-xs-block" role="tabpanel" id="event_log_tab">
|
||||||
</div>
|
<div class="panel-heading visible-xs collapsed" id="event_log">
|
||||||
</div>
|
<h4 class="panel-title">
|
||||||
</div>
|
<a role="button" data-toggle="collapse" data-parent="#tabs"
|
||||||
<div class="panel panel-default visible-xs-block" role="tabpanel" id="event_log_tab">
|
href="#collapseFive" aria-expanded="true" aria-controls="collapseFive">
|
||||||
<div class="panel-heading visible-xs collapsed" id="event_log">
|
<i class="fw fw-text fw-2x"></i>
|
||||||
<h4 class="panel-title">
|
Operations Log
|
||||||
<a role="button" data-toggle="collapse" data-parent="#tabs" href="#collapseFive" aria-expanded="true" aria-controls="collapseFive">
|
<i class="caret-updown fw fw-down"></i>
|
||||||
<i class="fw fw-text fw-2x"></i>
|
</a>
|
||||||
Operations Log
|
</h4>
|
||||||
<i class="caret-updown fw fw-down"></i>
|
</div>
|
||||||
</a>
|
<div class="panel-heading display-none-xs">
|
||||||
</h4>
|
Operations Log
|
||||||
</div>
|
|
||||||
<div class="panel-heading display-none-xs">
|
<span>
|
||||||
Operations Log
|
|
||||||
|
|
||||||
<span>
|
|
||||||
<a href="javascript:void(0);" id="refresh-operations">
|
<a href="javascript:void(0);" id="refresh-operations">
|
||||||
<i class="fw fw-refresh"></i>
|
<i class="fw fw-refresh"></i>
|
||||||
</a>
|
</a>
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
<div id="collapseFive" class="panel-collapse collapse in" role="tabpanel" aria-labelledby="event_log">
|
<div id="collapseFive" class="panel-collapse collapse in" role="tabpanel"
|
||||||
<div class="panel-body">
|
aria-labelledby="event_log">
|
||||||
|
<div class="panel-body">
|
||||||
<span class="visible-xs add-padding-2x text-right">
|
<span class="visible-xs add-padding-2x text-right">
|
||||||
<a href="javascript:void(0);" id="refresh-operations">
|
<a href="javascript:void(0);" id="refresh-operations">
|
||||||
<i class="fw fw-refresh"></i>
|
<i class="fw fw-refresh"></i>
|
||||||
</a>
|
</a>
|
||||||
</span>
|
</span>
|
||||||
<div id="operations-spinner" class="wr-advance-operations-init hidden">
|
<div id="operations-spinner" class="wr-advance-operations-init hidden">
|
||||||
<i class="fw fw-settings fw-spin fw-2x"></i> Loading Operations Log...
|
<i class="fw fw-settings fw-spin fw-2x"></i> Loading Operations Log...
|
||||||
</div>
|
</div>
|
||||||
<div id="operations-log-container">
|
<div id="operations-log-container">
|
||||||
<div class="message message-info">
|
<div class="message message-info">
|
||||||
<h4 class="remove-margin">
|
<h4 class="remove-margin">
|
||||||
<i class="icon fw fw-info"></i>
|
<i class="icon fw fw-info"></i>
|
||||||
There are no operations, performed yet on this device.
|
There are no operations, performed yet on this device.
|
||||||
</h4>
|
</h4>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<table class="table table-striped table-hover table-bordered display data-table"
|
||||||
|
id="operations-log-table">
|
||||||
|
<thead>
|
||||||
|
<tr class="sort-row">
|
||||||
|
<th>Operation Code</th>
|
||||||
|
<th>Status</th>
|
||||||
|
<th>Request created at</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<table class="table table-striped table-hover table-bordered display data-table" id="operations-log-table">
|
|
||||||
<thead>
|
|
||||||
<tr class="sort-row">
|
|
||||||
<th>Operation Code</th>
|
|
||||||
<th>Status</th>
|
|
||||||
<th>Request created at</th>
|
|
||||||
</tr>
|
|
||||||
</thead>
|
|
||||||
<tbody>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
{{/defineZone}}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
{{/defineZone}}
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
{{else}}
|
{{else}}
|
||||||
<h1 class="page-sub-title">
|
<h1 class="page-sub-title">
|
||||||
|
|||||||
@ -35,6 +35,10 @@ function onRequest(context) {
|
|||||||
var viewModel = {};
|
var viewModel = {};
|
||||||
if (filteredDeviceData["type"]) {
|
if (filteredDeviceData["type"]) {
|
||||||
viewModel["deviceType"] = filteredDeviceData["type"];
|
viewModel["deviceType"] = filteredDeviceData["type"];
|
||||||
|
viewModel.isNotWindows = true;
|
||||||
|
if (viewModel["deviceType"] == "windows") {
|
||||||
|
viewModel.isNotWindows = false;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if (filteredDeviceData["deviceIdentifier"]) {
|
if (filteredDeviceData["deviceIdentifier"]) {
|
||||||
viewModel["deviceIdentifier"] = filteredDeviceData["deviceIdentifier"];
|
viewModel["deviceIdentifier"] = filteredDeviceData["deviceIdentifier"];
|
||||||
@ -45,6 +49,10 @@ function onRequest(context) {
|
|||||||
if (filteredDeviceData["enrolmentInfo"]) {
|
if (filteredDeviceData["enrolmentInfo"]) {
|
||||||
if (filteredDeviceData["enrolmentInfo"]["status"]) {
|
if (filteredDeviceData["enrolmentInfo"]["status"]) {
|
||||||
viewModel["status"] = filteredDeviceData["enrolmentInfo"]["status"];
|
viewModel["status"] = filteredDeviceData["enrolmentInfo"]["status"];
|
||||||
|
viewModel.isActive = false ;
|
||||||
|
if (filteredDeviceData["enrolmentInfo"]["status"]== "ACTIVE") {
|
||||||
|
viewModel.isActive = true ;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if (filteredDeviceData["enrolmentInfo"]["owner"]) {
|
if (filteredDeviceData["enrolmentInfo"]["owner"]) {
|
||||||
viewModel["owner"] = filteredDeviceData["enrolmentInfo"]["owner"];
|
viewModel["owner"] = filteredDeviceData["enrolmentInfo"]["owner"];
|
||||||
@ -139,7 +147,7 @@ function onRequest(context) {
|
|||||||
}
|
}
|
||||||
if (filteredDeviceData["latestDeviceInfo"]["updatedTime"]) {
|
if (filteredDeviceData["latestDeviceInfo"]["updatedTime"]) {
|
||||||
viewModel["lastUpdatedTime"] = filteredDeviceData["latestDeviceInfo"]["updatedTime"].
|
viewModel["lastUpdatedTime"] = filteredDeviceData["latestDeviceInfo"]["updatedTime"].
|
||||||
substr(0, filteredDeviceData["latestDeviceInfo"]["updatedTime"].indexOf("+"));
|
substr(0, filteredDeviceData["latestDeviceInfo"]["updatedTime"].indexOf("+"));
|
||||||
}
|
}
|
||||||
viewModel["BatteryLevel"] = {};
|
viewModel["BatteryLevel"] = {};
|
||||||
viewModel["BatteryLevel"]["value"] = filteredDeviceData["latestDeviceInfo"]["batteryLevel"];
|
viewModel["BatteryLevel"]["value"] = filteredDeviceData["latestDeviceInfo"]["batteryLevel"];
|
||||||
@ -195,6 +203,5 @@ function onRequest(context) {
|
|||||||
} else {
|
} else {
|
||||||
deviceViewData["deviceFound"] = false;
|
deviceViewData["deviceFound"] = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
return deviceViewData;
|
return deviceViewData;
|
||||||
}
|
}
|
||||||
@ -354,7 +354,23 @@ validateStep["policy-profile"] = function () {
|
|||||||
};
|
};
|
||||||
continueToCheckNextInputs = false;
|
continueToCheckNextInputs = false;
|
||||||
}
|
}
|
||||||
|
// For the secure wifi types, it is required to have a password
|
||||||
|
var wifiTypeUIElement = $("#wifi-type");
|
||||||
|
var wifiType = wifiTypeUIElement.find("option:selected").val();
|
||||||
|
if (wifiTypeUIElement.is("input:checkbox")) {
|
||||||
|
wifiType = wifiTypeUIElement.is(":checked").toString();
|
||||||
|
}
|
||||||
|
if (wifiType != "none") {
|
||||||
|
if (!$("#wifi-password").val()) {
|
||||||
|
validationStatus = {
|
||||||
|
"error": true,
|
||||||
|
"subErrorMsg": "Password is required for the wifi security type " + wifiType + ". " +
|
||||||
|
"Please provide a password to proceed.",
|
||||||
|
"erroneousFeature": operation
|
||||||
|
};
|
||||||
|
continueToCheckNextInputs = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
// at-last, if the value of continueToCheckNextInputs is still true
|
// at-last, if the value of continueToCheckNextInputs is still true
|
||||||
// this means that no error is found
|
// this means that no error is found
|
||||||
if (continueToCheckNextInputs) {
|
if (continueToCheckNextInputs) {
|
||||||
|
|||||||
@ -879,7 +879,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="wr-input-control" id="control-wifi-password" style="display:none;">
|
<div class="wr-input-control" id="control-wifi-password" style="display:none;">
|
||||||
<label class="wr-input-label" for="wifi-password">
|
<label class="wr-input-label" for="wifi-password">
|
||||||
Password
|
Password*
|
||||||
<span class="helper" title="Password for the wireless network.">
|
<span class="helper" title="Password for the wireless network.">
|
||||||
<span class="wr-help-tip glyphicon glyphicon-question-sign"></span>
|
<span class="wr-help-tip glyphicon glyphicon-question-sign"></span>
|
||||||
</span>
|
</span>
|
||||||
|
|||||||
@ -382,7 +382,23 @@ validateStep["policy-profile"] = function () {
|
|||||||
};
|
};
|
||||||
continueToCheckNextInputs = false;
|
continueToCheckNextInputs = false;
|
||||||
}
|
}
|
||||||
|
// For the secure wifi types, it is required to have a password
|
||||||
|
var wifiTypeUIElement = $("#wifi-type");
|
||||||
|
var wifiType = wifiTypeUIElement.find("option:selected").val();
|
||||||
|
if (wifiTypeUIElement.is("input:checkbox")) {
|
||||||
|
wifiType = wifiTypeUIElement.is(":checked").toString();
|
||||||
|
}
|
||||||
|
if (wifiType != "none") {
|
||||||
|
if (!$("#wifi-password").val()) {
|
||||||
|
validationStatus = {
|
||||||
|
"error": true,
|
||||||
|
"subErrorMsg": "Password is required for the wifi security type " + wifiType + ". Please " +
|
||||||
|
"provide a password to proceed.",
|
||||||
|
"erroneousFeature": operation
|
||||||
|
};
|
||||||
|
continueToCheckNextInputs = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
// at-last, if the value of continueToCheckNextInputs is still true
|
// at-last, if the value of continueToCheckNextInputs is still true
|
||||||
// this means that no error is found
|
// this means that no error is found
|
||||||
if (continueToCheckNextInputs) {
|
if (continueToCheckNextInputs) {
|
||||||
|
|||||||
@ -903,7 +903,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="wr-input-control" id="control-wifi-password" style="display:none;">
|
<div class="wr-input-control" id="control-wifi-password" style="display:none;">
|
||||||
<label class="wr-input-label" for="wifi-password">
|
<label class="wr-input-label" for="wifi-password">
|
||||||
Password
|
Password*
|
||||||
<span class="helper" title="Password for the wireless network.">
|
<span class="helper" title="Password for the wireless network.">
|
||||||
<span class="wr-help-tip glyphicon glyphicon-question-sign"></span>
|
<span class="wr-help-tip glyphicon glyphicon-question-sign"></span>
|
||||||
</span>
|
</span>
|
||||||
|
|||||||
@ -866,7 +866,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="wr-input-control" id="control-wifi-password" style="display:none;">
|
<div class="wr-input-control" id="control-wifi-password" style="display:none;">
|
||||||
<label class="wr-input-label" for="wifi-password">
|
<label class="wr-input-label" for="wifi-password">
|
||||||
Password
|
Password*
|
||||||
<span class="helper" title="Password for the wireless network.">
|
<span class="helper" title="Password for the wireless network.">
|
||||||
<span class="wr-help-tip glyphicon glyphicon-question-sign"></span>
|
<span class="wr-help-tip glyphicon glyphicon-question-sign"></span>
|
||||||
</span>
|
</span>
|
||||||
|
|||||||
@ -335,7 +335,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="wr-input-control">
|
<div class="wr-input-control">
|
||||||
<label class="wr-input-label" for="wifi-password">
|
<label class="wr-input-label" for="wifi-password">
|
||||||
Password
|
Password*
|
||||||
<span class="helper" title="Password for the wireless network.">
|
<span class="helper" title="Password for the wireless network.">
|
||||||
<span class="wr-help-tip glyphicon glyphicon-question-sign"></span>
|
<span class="wr-help-tip glyphicon glyphicon-question-sign"></span>
|
||||||
</span>
|
</span>
|
||||||
|
|||||||
@ -15,4 +15,5 @@
|
|||||||
specific language governing permissions and limitations
|
specific language governing permissions and limitations
|
||||||
under the License.
|
under the License.
|
||||||
}}
|
}}
|
||||||
{{#zone "productName"}}ENTERPRISE MOBILITY MANAGER{{/zone}}
|
{{#zone "productName"}}ENTERPRISE MOBILITY MANAGER{{/zone}}
|
||||||
|
{{#zone "productNameResponsive"}}EMM{{/zone}}
|
||||||
@ -139,7 +139,7 @@ function loadNewNotifications() {
|
|||||||
$(messageSideBar).html(
|
$(messageSideBar).html(
|
||||||
"<h4 class='text-center'>No New Notifications</h4>" +
|
"<h4 class='text-center'>No New Notifications</h4>" +
|
||||||
"<h5 class='text-center text-muted'>" +
|
"<h5 class='text-center text-muted'>" +
|
||||||
"Check this section for error notifications<br>related to device operations" +
|
"Check this section for error notifications<br>related to device operations" +
|
||||||
"</h5>"
|
"</h5>"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@ -368,16 +368,12 @@ $(document).ready(function () {
|
|||||||
var redirectUrl = $(this).data("url");
|
var redirectUrl = $(this).data("url");
|
||||||
var markAsReadNotificationsEpr = emmAdminBasePath + "/notifications/" + notificationId + "/mark-checked";
|
var markAsReadNotificationsEpr = emmAdminBasePath + "/notifications/" + notificationId + "/mark-checked";
|
||||||
var messageSideBar = ".sidebar-messages";
|
var messageSideBar = ".sidebar-messages";
|
||||||
|
|
||||||
invokerUtil.put(
|
invokerUtil.put(
|
||||||
markAsReadNotificationsEpr,
|
markAsReadNotificationsEpr,
|
||||||
null,
|
null,
|
||||||
// on success
|
// on success
|
||||||
function (data) {
|
function (data) {
|
||||||
data = JSON.parse(data);
|
window.location.href = redirectUrl;
|
||||||
if (data.statusCode == responseCodes["ACCEPTED"]) {
|
|
||||||
location.href = redirectUrl;
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
// on error
|
// on error
|
||||||
function () {
|
function () {
|
||||||
|
|||||||
@ -5,11 +5,10 @@
|
|||||||
<li class="message" data-type="selectable" >
|
<li class="message" data-type="selectable" >
|
||||||
<h4>
|
<h4>
|
||||||
<i class="icon fw fw-mobile text-muted"></i>
|
<i class="icon fw fw-mobile text-muted"></i>
|
||||||
<a href="{{../contextPath}}/device/{{deviceType}}?id={{deviceIdentifier}}"
|
<a data-id="{{id}}"
|
||||||
data-id="{{operationId}}"
|
data-url="{{../contextPath}}/device/{{deviceType}}?id={{deviceIdentifier}}"
|
||||||
data-url="{{../contextPath}}/device/{{deviceType}}?id={{deviceIdentifier}}"
|
class="new-notification text-capitalize" data-click-event="remove-form">
|
||||||
class="new-notification text-capitalize" data-click-event="remove-form">
|
Failure on {{deviceType}} {{deviceName}}
|
||||||
Failure on {{deviceType}} {{deviceName}}
|
|
||||||
</a>
|
</a>
|
||||||
</h4>
|
</h4>
|
||||||
<p>{{description}}</p>
|
<p>{{description}}</p>
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user