diff --git a/modules/distribution/src/repository/jaggeryapps/iotserver/api/group-api.jag b/modules/distribution/src/repository/jaggeryapps/iotserver/api/group-api.jag index fb9535c1..6014b482 100644 --- a/modules/distribution/src/repository/jaggeryapps/iotserver/api/group-api.jag +++ b/modules/distribution/src/repository/jaggeryapps/iotserver/api/group-api.jag @@ -42,47 +42,48 @@ var groupId; if (uriMatcher.match("/{context}/api/group/add")) { - var name = request.getParameter("name"); - var description = request.getParameter("description"); - - //URL: POST https://localhost:9443/devicecloud/group_manager/group/add - endPoint = deviceCloudService + "/group/add"; + var group = request.getContent(); + var name = group["name"]; + var description = group["description"]; + //URL: POST https://localhost:9443/devicecloud/group_manager/group + endPoint = deviceCloudService + "/group"; data = {"name": name, "username": user.username, "description": description}; result = post(endPoint, data, "json"); } else if (uriMatcher.match("/{context}/api/group/id/{groupId}/update")) { groupId = uriMatcher.elements().groupId; - name = request.getParameter("name"); - description = request.getParameter("description"); + group = request.getContent(); + name = group["name"]; + description = group["description"]; //URL: PUT https://localhost:9443/devicecloud/group_manager/group/id/{groupId} - endPoint = deviceCloudService + "id/" + groupId; + endPoint = deviceCloudService + "/group/id/" + groupId; data = {"name": name, "username": user.username, "description": description}; result = put(endPoint, data, "json"); } else if (uriMatcher.match("/{context}/api/group/id/{groupId}/remove")) { groupId = uriMatcher.elements().groupId; - + //URL: DELETE https://localhost:9443/devicecloud/group_manager/group/id/{groupId} - endPoint = deviceCloudService + "id/" + groupId; + endPoint = deviceCloudService + "/group/id/" + groupId; data = {"username": user.username}; result = del(endPoint, data, "json"); } else if (uriMatcher.match("/{context}/api/group/id/{groupId}")) { - groupId = uriMatcher.elements().groupId; - + //URL: GET https://localhost:9443/devicecloud/group_manager/group/id/{groupId} - endPoint = deviceCloudService + "id/" + groupId; + endPoint = deviceCloudService + "/group/id/" + groupId; + log.info(endPoint); data = {"username": user.username}; result = get(endPoint, data, "json"); } else if (uriMatcher.match("/{context}/api/group/name/{groupName}")) { //URL: GET https://localhost:9443/devicecloud/group_manager/group/name/{name} - endPoint = deviceCloudService + "name/" + uriMatcher.elements().groupName; + endPoint = deviceCloudService + "/group/name/" + uriMatcher.elements().groupName; data = {"username": user.username}; result = get(endPoint, data, "json"); @@ -103,8 +104,8 @@ if (uriMatcher.match("/{context}/api/group/add")) { } else if (uriMatcher.match("/{context}/api/group/id/{groupId}/share")) { groupId = uriMatcher.elements().groupId; - var shareUser = request.getParameter("shareUser"); - role = request.getParameter("role"); + var shareUser = request.getContent()["shareUser"]; + role = request.getContent()["role"]; //URL: PUT https://localhost:9443/devicecloud/group_manager/group/id/{groupId}/share endPoint = deviceCloudService + "/group/id/" + groupId + "/share"; @@ -114,8 +115,8 @@ if (uriMatcher.match("/{context}/api/group/add")) { } else if (uriMatcher.match("/{context}/api/group/id/{groupId}/share")) { groupId = uriMatcher.elements().groupId; - var unShareUser = request.getParameter("unShareUser"); - role = request.getParameter("role"); + var unShareUser = request.getContent()["unShareUser"]; + role = request.getContent()["role"]; //URL: DELETE https://localhost:9443/devicecloud/group_manager/group/id/{groupId}/share endPoint = deviceCloudService + "/group/id/" + groupId + "/share"; @@ -125,8 +126,8 @@ if (uriMatcher.match("/{context}/api/group/add")) { } else if (uriMatcher.match("/{context}/api/group/id/{groupId}/role/add")) { groupId = uriMatcher.elements().groupId; - var permissions = request.getParameter("permissions"); - role = request.getParameter("role"); + var permissions = request.getContent()["permissions"]; + role = request.getContent()["role"]; //URL: POST https://localhost:9443/devicecloud/group_manager/group/id/{groupId}/role endPoint = deviceCloudService + "/group/id/" + groupId + "/role"; @@ -136,7 +137,7 @@ if (uriMatcher.match("/{context}/api/group/add")) { } else if (uriMatcher.match("/{context}/api/group/id/{groupId}/role/delete")) { groupId = uriMatcher.elements().groupId; - role = request.getParameter("role"); + role = request.getContent()["role"]; //URL: DELETE https://localhost:9443/devicecloud/group_manager/group/id/{groupId}/role endPoint = deviceCloudService + "/group/id/" + groupId + "/role"; @@ -146,7 +147,7 @@ if (uriMatcher.match("/{context}/api/group/add")) { } else if (uriMatcher.match("/{context}/api/group/id/{groupId}/role/all")) { groupId = uriMatcher.elements().groupId; - + //URL: GET https://localhost:9443/devicecloud/group_manager/group/id/{groupId}/role/all endPoint = deviceCloudService + "/group/id/" + groupId + "/role/all"; data = {"username": user.username}; @@ -183,8 +184,8 @@ if (uriMatcher.match("/{context}/api/group/add")) { } else if (uriMatcher.match("/{context}/api/group/id/{groupId}/device/assign")) { groupId = uriMatcher.elements().groupId; - var deviceId = request.getParameter("deviceId"); - var deviceType = request.getParameter("deviceType"); + var deviceId = request.getContent()["deviceId"]; + var deviceType = request.getContent()["deviceType"]; //URL: GET https://localhost:9443/devicecloud/group_manager/group/id/{groupId}/device/assign endPoint = deviceCloudService + "/group/id/" + groupId + "/device/assign"; @@ -195,6 +196,7 @@ if (uriMatcher.match("/{context}/api/group/add")) { // returning the result. if (result) { - print(result); + response.status = result.xhr.status; + print(false); } %> diff --git a/modules/distribution/src/repository/jaggeryapps/iotserver/api/user-api.jag b/modules/distribution/src/repository/jaggeryapps/iotserver/api/user-api.jag index 39f046cc..7a16d385 100644 --- a/modules/distribution/src/repository/jaggeryapps/iotserver/api/user-api.jag +++ b/modules/distribution/src/repository/jaggeryapps/iotserver/api/user-api.jag @@ -79,7 +79,7 @@ if (uriMatcher.match("/{context}/api/user/login/")) { } else { userRoles = String(addUserFormData.userRoles).split(","); } - userRoles="deviceRole, deviceUser" + try { result = userModule.registerUser(username, firstname, lastname, emailAddress, password, userRoles); diff --git a/modules/distribution/src/repository/jaggeryapps/iotserver/pages/group.hbs b/modules/distribution/src/repository/jaggeryapps/iotserver/pages/group.hbs index 3246f4c5..77007027 100644 --- a/modules/distribution/src/repository/jaggeryapps/iotserver/pages/group.hbs +++ b/modules/distribution/src/repository/jaggeryapps/iotserver/pages/group.hbs @@ -1,23 +1,12 @@ {{authorized}} {{layout "fluid"}} {{#zone "title"}} - Groups + Group Management {{/zone}} {{#zone "body"}} - {{unit "appbar" link="group-mgt" title="My Groups"}} - {{unit "extended-search-box" item="Group"}} {{unit "operation-mod"}} -
-
+ {{unit "appbar" enableBack=true title="Group"}} + + {{unit "group-detail"}} -
-
- -
- {{unit "operation-bar"}} - {{unit "group-listing"}} -
- -
-
{{/zone}} \ No newline at end of file diff --git a/modules/distribution/src/repository/jaggeryapps/iotserver/pages/groups/index.hbs b/modules/distribution/src/repository/jaggeryapps/iotserver/pages/groups/index.hbs new file mode 100644 index 00000000..3246f4c5 --- /dev/null +++ b/modules/distribution/src/repository/jaggeryapps/iotserver/pages/groups/index.hbs @@ -0,0 +1,23 @@ +{{authorized}} +{{layout "fluid"}} +{{#zone "title"}} + Groups +{{/zone}} +{{#zone "body"}} + {{unit "appbar" link="group-mgt" title="My Groups"}} + {{unit "extended-search-box" item="Group"}} + {{unit "operation-mod"}} +
+
+ +
+
+ +
+ {{unit "operation-bar"}} + {{unit "group-listing"}} +
+ +
+
+{{/zone}} \ No newline at end of file diff --git a/modules/distribution/src/repository/jaggeryapps/iotserver/units/appbar/appbar.hbs b/modules/distribution/src/repository/jaggeryapps/iotserver/units/appbar/appbar.hbs index 20489738..20b965e6 100644 --- a/modules/distribution/src/repository/jaggeryapps/iotserver/units/appbar/appbar.hbs +++ b/modules/distribution/src/repository/jaggeryapps/iotserver/units/appbar/appbar.hbs @@ -12,7 +12,7 @@ {{title}} - {{#each currentActions}} + {{#each currentActions}} @@ -41,7 +41,8 @@
@@ -107,7 +109,7 @@
- Show Statistics + Show Statistics
diff --git a/modules/distribution/src/repository/jaggeryapps/iotserver/units/group-detail/group-detail.js b/modules/distribution/src/repository/jaggeryapps/iotserver/units/group-detail/group-detail.js index ac6935bd..9b3738ee 100644 --- a/modules/distribution/src/repository/jaggeryapps/iotserver/units/group-detail/group-detail.js +++ b/modules/distribution/src/repository/jaggeryapps/iotserver/units/group-detail/group-detail.js @@ -1,53 +1,23 @@ +var log = new Log("modules/group-detail.js"); + function onRequest(context) { var uri = request.getRequestURI(); var uriMatcher = new URIMatcher(String(uri)); - var isMatched = uriMatcher.match("/{context}/group/id/{groupId}"); + var isMatched = uriMatcher.match("/{context}/group/{groupId}"); if (isMatched) { + var carbon = require('carbon'); + var carbonHttpsServletTransport = carbon.server.address('https'); + var matchedElements = uriMatcher.elements(); var groupId = matchedElements.groupId; - context.groupId = groupId; - //var group = deviceModule.viewDevice(deviceType, deviceId); - //if (device){ - // var viewModel = {}; - // var deviceInfo = device.properties.DEVICE_INFO; - // if (deviceInfo != undefined && String(deviceInfo.toString()).length > 0){ - // deviceInfo = JSON.parse(deviceInfo); - // if (device.type == "ios"){ - // viewModel.imei = device.properties.IMEI; - // viewModel.phoneNumber = deviceInfo.PhoneNumber; - // viewModel.udid = deviceInfo.UDID; - // viewModel.BatteryLevel = Math.round(deviceInfo.BatteryLevel * 100); - // viewModel.DeviceCapacity = Math.round(deviceInfo.DeviceCapacity * 100) / 100; - // viewModel.AvailableDeviceCapacity = Math.round(deviceInfo.AvailableDeviceCapacity * 100) / 100; - // viewModel.DeviceCapacityUsed = Math.round((viewModel.DeviceCapacity - // - viewModel.AvailableDeviceCapacity) * 100) / 100; - // viewModel.DeviceCapacityPercentage = Math.round(viewModel.DeviceCapacityUsed - // / viewModel.DeviceCapacity * 10000) /100; - // }else if(device.type == "android"){ - // viewModel.imei = device.properties.IMEI; - // viewModel.model = device.properties.DEVICE_MODEL; - // viewModel.vendor = device.properties.VENDOR; - // viewModel.internal_memory = {}; - // viewModel.external_memory = {}; - // viewModel.location = { - // latitude: device.properties.LATITUDE, - // longitude: device.properties.LONGITUDE - // }; - // viewModel.BatteryLevel = deviceInfo.BATTERY_LEVEL; - // viewModel.internal_memory.FreeCapacity = Math.round((deviceInfo.INTERNAL_TOTAL_MEMORY - - // deviceInfo.INTERNAL_AVAILABLE_MEMORY) * 100) / 100; - // viewModel.internal_memory.DeviceCapacityPercentage = Math.round(deviceInfo.INTERNAL_AVAILABLE_MEMORY - // / deviceInfo.INTERNAL_TOTAL_MEMORY * 10000) / 100; - // viewModel.external_memory.FreeCapacity = Math.round((deviceInfo.EXTERNAL_TOTAL_MEMORY - - // deviceInfo.EXTERNAL_AVAILABLE_MEMORY) * 100) / 100; - // viewModel.external_memory.DeviceCapacityPercentage = Math.round(deviceInfo.EXTERNAL_AVAILABLE_MEMORY - // /deviceInfo.EXTERNAL_TOTAL_MEMORY * 10000) /100; - // } - // viewModel.enrollment = device.enrollment; - // device.viewModel = viewModel; - // } + var endpoint = carbonHttpsServletTransport + "/" + matchedElements.context + "/api/group/id/" + groupId; + log.info(endpoint); + //var result = get(endpoint, {}, "json"); + //if (result){ + // context.group = result.data; + //}else{ + // response.sendError(503); //} - context.group = groupId; } else { response.sendError(404); } diff --git a/modules/distribution/src/repository/jaggeryapps/iotserver/units/group-detail/public/js/group-detail.js b/modules/distribution/src/repository/jaggeryapps/iotserver/units/group-detail/public/js/group-detail.js index c453c889..18462e9d 100644 --- a/modules/distribution/src/repository/jaggeryapps/iotserver/units/group-detail/public/js/group-detail.js +++ b/modules/distribution/src/repository/jaggeryapps/iotserver/units/group-detail/public/js/group-detail.js @@ -24,46 +24,7 @@ function formatDates(){ } (function () { - var deviceId = $(".device-id"); - var deviceIdentifier = deviceId.data("deviceid"); - var deviceType = deviceId.data("type"); - var payload = [deviceIdentifier]; - if (deviceType == "ios") { - var serviceUrl = "/ios/operation/deviceinfo"; - } else if (deviceType == "android") { - var serviceUrl = "/mdm-android-agent/operation/device-info"; - } - invokerUtil.post(serviceUrl, payload, - function(message){ - console.log(message); - }, function (message) { - console.log(message); - }); $(document).ready(function(){ - loadOperationBar(deviceType); - loadMap(); formatDates(); }); - function loadMap(){ - var map; - function initialize() { - var mapOptions = { - zoom: 18 - }; - var lat = 6.9098591; - var long = 79.8523753; - map = new google.maps.Map(document.getElementById('device-location'), - mapOptions); - - var pos = new google.maps.LatLng(lat, - long); - var marker = new google.maps.Marker({ - position: pos, - map: map - }); - - map.setCenter(pos); - } - google.maps.event.addDomListener(window, 'load', initialize); - } }()); diff --git a/modules/distribution/src/repository/jaggeryapps/iotserver/units/group-listing/group-listing.hbs b/modules/distribution/src/repository/jaggeryapps/iotserver/units/group-listing/group-listing.hbs index 18d3f6a3..54bcd732 100644 --- a/modules/distribution/src/repository/jaggeryapps/iotserver/units/group-listing/group-listing.hbs +++ b/modules/distribution/src/repository/jaggeryapps/iotserver/units/group-listing/group-listing.hbs @@ -12,22 +12,22 @@
- +

You don't have any Groups registered at the moment.

- + - Add New Group - + Add New Group +

- +
@@ -35,6 +35,7 @@

Do you really want to remove this group from your Group List?

+
    Yes     @@ -54,6 +55,7 @@
+ + +
+
+
+
+

Group successfully added.

+ + +
+
+
+
+
-

Please enter new name for the group?

+

Please enter new name and description for the group

+
+ +
+ +

+
- +
-     Rename     +     Update        @@ -92,6 +149,7 @@

Group was successfully updated.

+
    Ok     @@ -107,8 +165,9 @@

Exception at backend. Try Later.

+
@@ -122,8 +181,9 @@

Action not permitted.

+ @@ -137,8 +197,9 @@

Group does not exist.

+ @@ -152,8 +213,9 @@

Group does not exist.

+ @@ -163,6 +225,7 @@
{{/zone}} {{#zone "bottomJs"}} - + {{/zone}} \ No newline at end of file diff --git a/modules/distribution/src/repository/jaggeryapps/iotserver/units/group-listing/public/js/group-listing.js b/modules/distribution/src/repository/jaggeryapps/iotserver/units/group-listing/public/js/group-listing.js index bcf97385..d6e7ba65 100644 --- a/modules/distribution/src/repository/jaggeryapps/iotserver/units/group-listing/public/js/group-listing.js +++ b/modules/distribution/src/repository/jaggeryapps/iotserver/units/group-listing/public/js/group-listing.js @@ -144,9 +144,9 @@ function loadGroups(searchType, searchParam) { var successCallback = function (data) { data = JSON.parse(data); var viewModel = {}; - viewModel.groups = data.data; + viewModel.groups = data; viewModel.imageLocation = imageResource; - if(!data.data || data.data.length <= 0){ + if (!data || data.length <= 0) { $("#ast-container").html($("#no-groups-div-content").html()); } else { var content = template(viewModel); @@ -160,6 +160,7 @@ function loadGroups(searchType, searchParam) { attachEvents(); formatDates(); } + attachGroupAdding(); }; invokerUtil.get(serviceURL, successCallback, function (message) { @@ -171,8 +172,8 @@ $(document).ready(function () { loadGroups(); }); -function formatDates(){ - $(".formatDate").each(function(){ +function formatDates() { + $(".formatDate").each(function () { var timeStamp = $(this).html(); $(this).html(new Date(parseInt(timeStamp)).toUTCString()); }); @@ -222,6 +223,71 @@ function hidePopup() { $(modalPopup).hide(); } +function attachGroupAdding() { + /** + * Following click function would execute + * when a user clicks on "Remove" link + * on Group Management page in WSO2 IoT Server Console. + */ + $("a.add-group-link").click(function () { + var addGroupApi = "/iotserver/api/group/add"; + $(modalPopupContent).html($('#add-group-modal-content').html()); + showPopup(); + + $("a#add-group-yes-link").click(function () { + var newGroupName = $('#add-group-name').val(); + var newGroupDescription = $('#add-group-description').val(); + var group = {"name": newGroupName, "description": newGroupDescription}; + invokerUtil.post( + addGroupApi, + group, + function (data, txtStatus, jqxhr) { + var status = jqxhr.status; + if (status == 200) { + if (data != "false") { + $(modalPopupContent).html($('#add-group-200-content').html()); + $("a#add-group-200-link").click(function () { + hidePopup(); + location.reload(); + }); + } else { + $(modalPopupContent).html($('#group-400-content').html()); + $("a#group-400-link").click(function () { + hidePopup(); + }); + } + } else if (status == 400) { + $(modalPopupContent).html($('#group-400-content').html()); + $("a#group-400-link").click(function () { + hidePopup(); + }); + } else if (status == 403) { + $(modalPopupContent).html($('#agroup-403-content').html()); + $("a#group-403-link").click(function () { + hidePopup(); + }); + } else if (status == 409) { + $(modalPopupContent).html($('#group-409-content').html()); + $("a#group-409-link").click(function () { + hidePopup(); + }); + } + }, + function () { + $(modalPopupContent).html($('#add-group-unexpected-error-content').html()); + $("a#group-unexpected-error-link").click(function () { + hidePopup(); + }); + } + ); + }); + + $("a#add-group-cancel-link").click(function () { + hidePopup(); + }); + + }); +} /** * Following functions should be triggered after AJAX request is made. @@ -230,7 +296,7 @@ function attachEvents() { /** * Following click function would execute * when a user clicks on "Remove" link - * on Device Management page in WSO2 MDM Console. + * on Group Management page in WSO2 IoT Server Console. */ $("a.remove-group-link").click(function () { var groupId = $(this).data("groupid"); @@ -240,35 +306,43 @@ function attachEvents() { showPopup(); $("a#remove-group-yes-link").click(function () { - invokerUtil.get( + invokerUtil.delete( removeGroupApi, - function (data,txtStatus,jqxhr) { + function (data, txtStatus, jqxhr) { var status = jqxhr.status; if (status == 200) { - $(modalPopupContent).html($('#remove-group-200-content').html()); - $('div[data-group="' + groupId + '"]').remove(); - $("a#remove-group-200-link").click(function () { - hidePopup(); - }); + if (data != "false") { + $(modalPopupContent).html($('#remove-group-200-content').html()); + $('div[data-group="' + groupId + '"]').remove(); + $("a#remove-group-200-link").click(function () { + hidePopup(); + location.reload(); + }); + } else { + $(modalPopupContent).html($('#group-409-content').html()); + $("a#group-409-link").click(function () { + hidePopup(); + }); + } } else if (status == 400) { - $(modalPopupContent).html($('#remove-group-400-content').html()); + $(modalPopupContent).html($('#group-400-content').html()); $("a#remove-group-400-link").click(function () { hidePopup(); }); } else if (status == 403) { - $(modalPopupContent).html($('#remove-group-403-content').html()); + $(modalPopupContent).html($('#group-403-content').html()); $("a#remove-group-403-link").click(function () { hidePopup(); }); } else if (status == 409) { - $(modalPopupContent).html($('#remove-group-409-content').html()); + $(modalPopupContent).html($('#group-409-content').html()); $("a#remove-group-409-link").click(function () { hidePopup(); }); } }, function () { - $(modalPopupContent).html($('#remove-group-unexpected-error-content').html()); + $(modalPopupContent).html($('#group-unexpected-error-content').html()); $("a#remove-group-unexpected-error-link").click(function () { hidePopup(); }); @@ -290,46 +364,57 @@ function attachEvents() { $("a.edit-group-link").click(function () { var groupId = $(this).data("groupid"); var groupName = $(this).data("groupname"); + var groupDescription = $(this).data("groupdescription"); var editGroupApi = "/iotserver/api/group/id/" + groupId + "/update"; $(modalPopupContent).html($('#edit-group-modal-content').html()); $('#edit-group-name').val(groupName); + $('#edit-group-description').val(groupDescription); showPopup(); $("a#edit-group-yes-link").click(function () { var newGroupName = $('#edit-group-name').val(); - var group={"group":{"name" : newGroupName}}; + var newGroupDescription = $('#edit-group-description').val(); + var group = {"name": newGroupName, "description": newGroupDescription}; invokerUtil.post( editGroupApi, group, - function (data,txtStatus,jqxhr) { + function (data, txtStatus, jqxhr) { var status = jqxhr.status; if (status == 200) { - $(modalPopupContent).html($('#edit-group-200-content').html()); - $("div[data-groupid='"+groupId+"'] .ast-name").html(newGroupName); - $("a#edit-group-200-link").click(function () { - hidePopup(); - }); + if (data != "false") { + $(modalPopupContent).html($('#edit-group-200-content').html()); + $("div[data-groupid='" + groupId + "'] .ast-name").html(newGroupName); + $("a#edit-group-200-link").click(function () { + hidePopup(); + location.reload(); + }); + } else { + $(modalPopupContent).html($('#group-409-content').html()); + $("a#group-409-link").click(function () { + hidePopup(); + }); + } } else if (status == 400) { - $(modalPopupContent).html($('#edit-group-400-content').html()); - $("a#edit-group-400-link").click(function () { + $(modalPopupContent).html($('#group-400-content').html()); + $("a#group-400-link").click(function () { hidePopup(); }); } else if (status == 403) { - $(modalPopupContent).html($('#edit-group-403-content').html()); - $("a#edit-group-403-link").click(function () { + $(modalPopupContent).html($('#group-403-content').html()); + $("a#group-403-link").click(function () { hidePopup(); }); } else if (status == 409) { - $(modalPopupContent).html($('#edit-group-409-content').html()); - $("a#edit-group-409-link").click(function () { + $(modalPopupContent).html($('#group-409-content').html()); + $("a#group-409-link").click(function () { hidePopup(); }); } }, function () { - $(modalPopupContent).html($('#edit-group-unexpected-error-content').html()); - $("a#edit-group-unexpected-error-link").click(function () { + $(modalPopupContent).html($('#group-unexpected-error-content').html()); + $("a#group-unexpected-error-link").click(function () { hidePopup(); }); } diff --git a/modules/distribution/src/repository/jaggeryapps/iotserver/units/group-listing/public/templates/group-listing.hbs b/modules/distribution/src/repository/jaggeryapps/iotserver/units/group-listing/public/templates/group-listing.hbs index 9bba907c..14080028 100644 --- a/modules/distribution/src/repository/jaggeryapps/iotserver/units/group-listing/public/templates/group-listing.hbs +++ b/modules/distribution/src/repository/jaggeryapps/iotserver/units/group-listing/public/templates/group-listing.hbs @@ -1,6 +1,6 @@ {{#each groups}} {{groupMap this}} -
+
- +
@@ -20,21 +20,28 @@ Shared with: {{users}}
- + View - + + Edit - + diff --git a/modules/distribution/src/repository/jaggeryapps/iotserver/units/operation-bar/operation-bar.js b/modules/distribution/src/repository/jaggeryapps/iotserver/units/operation-bar/operation-bar.js index f063bc0a..e99497b9 100644 --- a/modules/distribution/src/repository/jaggeryapps/iotserver/units/operation-bar/operation-bar.js +++ b/modules/distribution/src/repository/jaggeryapps/iotserver/units/operation-bar/operation-bar.js @@ -1,4 +1,3 @@ function onRequest(context){ - var log = new Log(); return context; } \ No newline at end of file diff --git a/modules/distribution/src/repository/jaggeryapps/iotserver/units/operation-mod/operation-mod.js b/modules/distribution/src/repository/jaggeryapps/iotserver/units/operation-mod/operation-mod.js index e69de29b..e99497b9 100644 --- a/modules/distribution/src/repository/jaggeryapps/iotserver/units/operation-mod/operation-mod.js +++ b/modules/distribution/src/repository/jaggeryapps/iotserver/units/operation-mod/operation-mod.js @@ -0,0 +1,3 @@ +function onRequest(context){ + return context; +} \ No newline at end of file diff --git a/modules/distribution/src/repository/jaggeryapps/iotserver/units/theme/public/css/custom-desktop.css b/modules/distribution/src/repository/jaggeryapps/iotserver/units/theme/public/css/custom-desktop.css index beed45c6..102e5041 100644 --- a/modules/distribution/src/repository/jaggeryapps/iotserver/units/theme/public/css/custom-desktop.css +++ b/modules/distribution/src/repository/jaggeryapps/iotserver/units/theme/public/css/custom-desktop.css @@ -358,7 +358,7 @@ a.ast-type-item:hover { } .ast-title { - height: 70px; + /*height: 70px;*/ overflow: hidden; } diff --git a/modules/distribution/src/repository/jaggeryapps/iotserver/units/theme/public/css/fontwso2.css b/modules/distribution/src/repository/jaggeryapps/iotserver/units/theme/public/css/fontwso2.css index 463b22ec..8451e883 100644 --- a/modules/distribution/src/repository/jaggeryapps/iotserver/units/theme/public/css/fontwso2.css +++ b/modules/distribution/src/repository/jaggeryapps/iotserver/units/theme/public/css/fontwso2.css @@ -67,6 +67,10 @@ content: "\e656"; } +.fw-group:before { + content: "\e611"; +} + .fw-dots:before { content: "\e615"; } diff --git a/modules/distribution/src/repository/jaggeryapps/iotserver/units/theme/public/css/main.css b/modules/distribution/src/repository/jaggeryapps/iotserver/units/theme/public/css/main.css index a1a5c3aa..23f3461e 100644 --- a/modules/distribution/src/repository/jaggeryapps/iotserver/units/theme/public/css/main.css +++ b/modules/distribution/src/repository/jaggeryapps/iotserver/units/theme/public/css/main.css @@ -595,4 +595,20 @@ header{background-color: #2a2a2a;} .wiz-lbl > span { padding-top:0px; display:inline-block; +} + +::-webkit-input-placeholder { /* WebKit browsers */ + color: #b2b2b2; +} +:-moz-placeholder { /* Mozilla Firefox 4 to 18 */ + color: #b2b2b2; + opacity: 1; +} + +::-moz-placeholder { /* Mozilla Firefox 19+ */ + color: #b2b2b2; + opacity: 1; +} +:-ms-input-placeholder { /* Internet Explorer 10+ */ + color: #b2b2b2; } \ No newline at end of file