diff --git a/components/apimgt-extensions/org.wso2.carbon.apimgt.annotations/pom.xml b/components/apimgt-extensions/org.wso2.carbon.apimgt.annotations/pom.xml index 0025685f4d..054ffbeef1 100644 --- a/components/apimgt-extensions/org.wso2.carbon.apimgt.annotations/pom.xml +++ b/components/apimgt-extensions/org.wso2.carbon.apimgt.annotations/pom.xml @@ -22,13 +22,13 @@ apimgt-extensions org.wso2.carbon.devicemgt - 2.0.39-SNAPSHOT + 2.0.50-SNAPSHOT ../pom.xml 4.0.0 org.wso2.carbon.apimgt.annotations - 2.0.39-SNAPSHOT + 2.0.50-SNAPSHOT bundle WSO2 Carbon - API Management Annotations WSO2 Carbon - API Management Custom Annotation Module diff --git a/components/apimgt-extensions/org.wso2.carbon.apimgt.application.extension.api/pom.xml b/components/apimgt-extensions/org.wso2.carbon.apimgt.application.extension.api/pom.xml index f0558fd18a..456ad556d8 100644 --- a/components/apimgt-extensions/org.wso2.carbon.apimgt.application.extension.api/pom.xml +++ b/components/apimgt-extensions/org.wso2.carbon.apimgt.application.extension.api/pom.xml @@ -21,12 +21,12 @@ apimgt-extensions org.wso2.carbon.devicemgt - 2.0.39-SNAPSHOT + 2.0.50-SNAPSHOT ../pom.xml 4.0.0 - 2.0.39-SNAPSHOT + 2.0.50-SNAPSHOT org.wso2.carbon.apimgt.application.extension.api war WSO2 Carbon - API Application Management API diff --git a/components/apimgt-extensions/org.wso2.carbon.apimgt.application.extension.api/src/main/webapp/WEB-INF/web.xml b/components/apimgt-extensions/org.wso2.carbon.apimgt.application.extension.api/src/main/webapp/WEB-INF/web.xml index 9850eb5da5..3a900cd914 100644 --- a/components/apimgt-extensions/org.wso2.carbon.apimgt.application.extension.api/src/main/webapp/WEB-INF/web.xml +++ b/components/apimgt-extensions/org.wso2.carbon.apimgt.application.extension.api/src/main/webapp/WEB-INF/web.xml @@ -39,6 +39,11 @@ doAuthentication true + + + basicAuth + true + diff --git a/components/apimgt-extensions/org.wso2.carbon.apimgt.application.extension/pom.xml b/components/apimgt-extensions/org.wso2.carbon.apimgt.application.extension/pom.xml index e89101a88d..12cd534ca5 100644 --- a/components/apimgt-extensions/org.wso2.carbon.apimgt.application.extension/pom.xml +++ b/components/apimgt-extensions/org.wso2.carbon.apimgt.application.extension/pom.xml @@ -22,12 +22,12 @@ apimgt-extensions org.wso2.carbon.devicemgt - 2.0.39-SNAPSHOT + 2.0.50-SNAPSHOT ../pom.xml 4.0.0 - 2.0.39-SNAPSHOT + 2.0.50-SNAPSHOT org.wso2.carbon.apimgt.application.extension bundle WSO2 Carbon - API Application Management diff --git a/components/apimgt-extensions/org.wso2.carbon.apimgt.application.extension/src/main/java/org/wso2/carbon/apimgt/application/extension/APIManagementProviderServiceImpl.java b/components/apimgt-extensions/org.wso2.carbon.apimgt.application.extension/src/main/java/org/wso2/carbon/apimgt/application/extension/APIManagementProviderServiceImpl.java index 070a9f6402..b97146a02d 100644 --- a/components/apimgt-extensions/org.wso2.carbon.apimgt.application.extension/src/main/java/org/wso2/carbon/apimgt/application/extension/APIManagementProviderServiceImpl.java +++ b/components/apimgt-extensions/org.wso2.carbon.apimgt.application.extension/src/main/java/org/wso2/carbon/apimgt/application/extension/APIManagementProviderServiceImpl.java @@ -46,7 +46,7 @@ public class APIManagementProviderServiceImpl implements APIManagementProviderSe private static final int MAX_API_PER_TAG = 200; private static final String APP_TIER_TYPE = "application"; private static final Map tiersMap = new HashMap<>(); - private static final int MAX_ATTEMPTS = 10; + private static final int MAX_ATTEMPTS = 20; @Override public void removeAPIApplication(String applicationName, String username) throws APIManagerException { @@ -76,18 +76,18 @@ public class APIManagementProviderServiceImpl implements APIManagementProviderSe String tenantDomain = PrivilegedCarbonContext.getThreadLocalCarbonContext() .getTenantDomain(); String tiersLoadedForTenant = tiersMap.get(tenantDomain); + if (tiersLoadedForTenant == null) { - int tierStatus = 0; + boolean tierLoaded = false; int attempts = 0; do { try { storeClient.getIndividualTier() .tiersTierLevelTierNameGet(ApiApplicationConstants.DEFAULT_TIER, APP_TIER_TYPE, - tenantDomain, CONTENT_TYPE, null, null); + tenantDomain, CONTENT_TYPE, null, null); tiersMap.put(tenantDomain, "exist"); - tierStatus = 200; + tierLoaded = true; } catch (FeignException e) { - tierStatus = e.status(); attempts++; try { Thread.sleep(500); @@ -95,7 +95,7 @@ public class APIManagementProviderServiceImpl implements APIManagementProviderSe log.warn("Interrupted the waiting for tier availability."); } } - } while (tierStatus == 500 && attempts < MAX_ATTEMPTS); + } while ((!tierLoaded) && attempts < MAX_ATTEMPTS); } ApplicationList applicationList = storeClient.getApplications() diff --git a/components/apimgt-extensions/org.wso2.carbon.apimgt.handlers/pom.xml b/components/apimgt-extensions/org.wso2.carbon.apimgt.handlers/pom.xml index 970b5c20b7..eccb62f890 100644 --- a/components/apimgt-extensions/org.wso2.carbon.apimgt.handlers/pom.xml +++ b/components/apimgt-extensions/org.wso2.carbon.apimgt.handlers/pom.xml @@ -21,13 +21,13 @@ apimgt-extensions org.wso2.carbon.devicemgt - 2.0.39-SNAPSHOT + 2.0.50-SNAPSHOT ../pom.xml 4.0.0 org.wso2.carbon.apimgt.handlers - 2.0.39-SNAPSHOT + 2.0.50-SNAPSHOT bundle WSO2 Carbon - API Security Handler Component WSO2 Carbon - API Management Security Handler Module diff --git a/components/apimgt-extensions/org.wso2.carbon.apimgt.handlers/src/main/java/org/wso2/carbon/apimgt/handlers/beans/DCR.java b/components/apimgt-extensions/org.wso2.carbon.apimgt.handlers/src/main/java/org/wso2/carbon/apimgt/handlers/beans/DCR.java index 4091afcb9e..ae5e42b59a 100644 --- a/components/apimgt-extensions/org.wso2.carbon.apimgt.handlers/src/main/java/org/wso2/carbon/apimgt/handlers/beans/DCR.java +++ b/components/apimgt-extensions/org.wso2.carbon.apimgt.handlers/src/main/java/org/wso2/carbon/apimgt/handlers/beans/DCR.java @@ -24,14 +24,12 @@ package org.wso2.carbon.apimgt.handlers.beans; */ public class DCR { - // Owner of the application + private String callbackUrl; private String owner; - // Client name private String clientName; - // Oauth Grant type private String grantType; - // Scope of the token private String tokenScope; + private boolean isSaasApp; public String getOwner() { return owner; @@ -64,5 +62,27 @@ public class DCR { public void setTokenScope(String tokenScope) { this.tokenScope = tokenScope; } + + public boolean getIsSaasApp() { + return isSaasApp; + } + + public void setIsSaasApp(boolean isSaasApp) { + this.isSaasApp = isSaasApp; + } + + public String getCallbackUrl() { + return callbackUrl; + } + + public void setCallbackUrl(String callbackUrl) { + this.callbackUrl = callbackUrl; + } + + public String toJSON() { + return "{\"callbackUrl\": \"" + callbackUrl + "\",\"clientName\": \"" + clientName + "\", \"tokenScope\": " + + "\"" + tokenScope + "\", \"owner\": \"" + owner + "\"," + "\"grantType\": \"" + grantType + + "\", \"saasApp\" :" + isSaasApp + " }\n"; + } } diff --git a/components/apimgt-extensions/org.wso2.carbon.apimgt.handlers/src/main/java/org/wso2/carbon/apimgt/handlers/utils/AuthConstants.java b/components/apimgt-extensions/org.wso2.carbon.apimgt.handlers/src/main/java/org/wso2/carbon/apimgt/handlers/utils/AuthConstants.java index 531c7c11d5..a1343c312b 100644 --- a/components/apimgt-extensions/org.wso2.carbon.apimgt.handlers/src/main/java/org/wso2/carbon/apimgt/handlers/utils/AuthConstants.java +++ b/components/apimgt-extensions/org.wso2.carbon.apimgt.handlers/src/main/java/org/wso2/carbon/apimgt/handlers/utils/AuthConstants.java @@ -36,4 +36,14 @@ public class AuthConstants { public static final String MDM_SIGNATURE = "mdm-signature"; public static final String PROXY_MUTUAL_AUTH_HEADER = "proxy-mutual-auth-header"; public static final String ENCODED_PEM = "encoded-pem"; + public static final String CALLBACK_URL = ""; + public static final String CLIENT_NAME = "IOT-API-MANAGER"; + public static final String GRANT_TYPE = "refresh_token password client_credentials"; + public static final String TOKEN_SCOPE = "default"; + public static final String CONTENT_TYPE_HEADER = "Content-Type"; + public static final String CONTENT_TYPE = "application/json"; + public static final String AUTHORIZATION_HEADER = "Authorization"; + public static final String BASIC_AUTH_PREFIX = "Basic "; + public static final String CLIENT_ID = "clientId"; + public static final String CLIENT_SECRET = "clientSecret"; } diff --git a/components/apimgt-extensions/org.wso2.carbon.apimgt.handlers/src/main/java/org/wso2/carbon/apimgt/handlers/utils/Utils.java b/components/apimgt-extensions/org.wso2.carbon.apimgt.handlers/src/main/java/org/wso2/carbon/apimgt/handlers/utils/Utils.java index 3e66ed7edd..d3c8ad3a9f 100644 --- a/components/apimgt-extensions/org.wso2.carbon.apimgt.handlers/src/main/java/org/wso2/carbon/apimgt/handlers/utils/Utils.java +++ b/components/apimgt-extensions/org.wso2.carbon.apimgt.handlers/src/main/java/org/wso2/carbon/apimgt/handlers/utils/Utils.java @@ -19,7 +19,6 @@ package org.wso2.carbon.apimgt.handlers.utils; -import com.google.gson.Gson; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.apache.ws.security.util.Base64; @@ -118,8 +117,7 @@ public class Utils { tokenHeaders.put("Content-Type", "application/x-www-form-urlencoded"); RESTInvoker restInvoker = new RESTInvoker(); - RESTResponse response = restInvoker.invokePOST(tokenUrl, tokenHeaders, null, - null, tokenContent); + RESTResponse response = restInvoker.invokePOST(tokenUrl, tokenHeaders, null, null, tokenContent); if(log.isDebugEnabled()) { log.debug("Token response:" + response.getContent()); } @@ -144,31 +142,32 @@ public class Utils { private static void getClientSecretes(IOTServerConfiguration iotServerConfiguration) throws APIMCertificateMGTException { try { + String username = iotServerConfiguration.getUsername(); + String password = iotServerConfiguration.getPassword(); DCR dcr = new DCR(); dcr.setOwner(iotServerConfiguration.getUsername()); - dcr.setClientName("IOT-API-MANAGER"); - dcr.setGrantType("refresh_token password client_credentials"); - dcr.setTokenScope("default"); - Gson gson = new Gson(); - String dcrContent = gson.toJson(dcr); - Map drcHeaders = new HashMap(); - drcHeaders.put("Content-Type", "application/json"); + dcr.setClientName(AuthConstants.CLIENT_NAME); + dcr.setGrantType(AuthConstants.GRANT_TYPE); + dcr.setTokenScope(AuthConstants.TOKEN_SCOPE); + dcr.setCallbackUrl(AuthConstants.CALLBACK_URL); + dcr.setIsSaasApp(true); + String dcrContent = dcr.toJSON(); + Map dcrHeaders = new HashMap(); + String basicAuth = Base64.encode((username + ":" + password).getBytes()); + dcrHeaders.put(AuthConstants.CONTENT_TYPE_HEADER, AuthConstants.CONTENT_TYPE); + dcrHeaders.put(AuthConstants.AUTHORIZATION_HEADER, AuthConstants.BASIC_AUTH_PREFIX + basicAuth); URI dcrUrl = new URI(iotServerConfiguration.getDynamicClientRegistrationEndpoint()); RESTInvoker restInvoker = new RESTInvoker(); - RESTResponse response = restInvoker.invokePOST(dcrUrl, drcHeaders, null, - null, dcrContent); - + RESTResponse response = restInvoker.invokePOST(dcrUrl, dcrHeaders, null, null, dcrContent); if (log.isDebugEnabled()) { log.debug("DCR response :" + response.getContent()); } JSONObject jsonResponse = new JSONObject(response.getContent()); - clientId = jsonResponse.getString("client_id"); - clientSecret = jsonResponse.getString("client_secret"); + clientId = jsonResponse.getString(AuthConstants.CLIENT_ID); + clientSecret = jsonResponse.getString(AuthConstants.CLIENT_SECRET); } catch (JSONException e) { throw new APIMCertificateMGTException("Error occurred while converting the json to object", e); - } catch (IOException e) { - throw new APIMCertificateMGTException("Error occurred while trying to call DCR endpoint", e); - } catch (URISyntaxException e) { + } catch (IOException | URISyntaxException e) { throw new APIMCertificateMGTException("Error occurred while trying to call DCR endpoint", e); } diff --git a/components/apimgt-extensions/org.wso2.carbon.apimgt.integration.client/pom.xml b/components/apimgt-extensions/org.wso2.carbon.apimgt.integration.client/pom.xml index 7f5671d319..3891467581 100644 --- a/components/apimgt-extensions/org.wso2.carbon.apimgt.integration.client/pom.xml +++ b/components/apimgt-extensions/org.wso2.carbon.apimgt.integration.client/pom.xml @@ -13,13 +13,13 @@ apimgt-extensions org.wso2.carbon.devicemgt - 2.0.39-SNAPSHOT + 2.0.50-SNAPSHOT ../pom.xml 4.0.0 org.wso2.carbon.apimgt.integration.client - 2.0.39-SNAPSHOT + 2.0.50-SNAPSHOT bundle WSO2 Carbon - API Management Integration Client WSO2 Carbon - API Management Integration Client diff --git a/components/apimgt-extensions/org.wso2.carbon.apimgt.integration.generated.client/pom.xml b/components/apimgt-extensions/org.wso2.carbon.apimgt.integration.generated.client/pom.xml index c24682bd45..a6dea37157 100644 --- a/components/apimgt-extensions/org.wso2.carbon.apimgt.integration.generated.client/pom.xml +++ b/components/apimgt-extensions/org.wso2.carbon.apimgt.integration.generated.client/pom.xml @@ -13,13 +13,13 @@ apimgt-extensions org.wso2.carbon.devicemgt - 2.0.39-SNAPSHOT + 2.0.50-SNAPSHOT ../pom.xml 4.0.0 org.wso2.carbon.apimgt.integration.generated.client - 2.0.39-SNAPSHOT + 2.0.50-SNAPSHOT bundle WSO2 Carbon - API Management Integration Generated Client WSO2 Carbon - API Management Integration Client diff --git a/components/apimgt-extensions/org.wso2.carbon.apimgt.webapp.publisher/pom.xml b/components/apimgt-extensions/org.wso2.carbon.apimgt.webapp.publisher/pom.xml index cee1ed1aca..fee79f9db8 100644 --- a/components/apimgt-extensions/org.wso2.carbon.apimgt.webapp.publisher/pom.xml +++ b/components/apimgt-extensions/org.wso2.carbon.apimgt.webapp.publisher/pom.xml @@ -22,13 +22,13 @@ apimgt-extensions org.wso2.carbon.devicemgt - 2.0.39-SNAPSHOT + 2.0.50-SNAPSHOT ../pom.xml 4.0.0 org.wso2.carbon.apimgt.webapp.publisher - 2.0.39-SNAPSHOT + 2.0.50-SNAPSHOT bundle WSO2 Carbon - API Management Webapp Publisher WSO2 Carbon - API Management Webapp Publisher diff --git a/components/apimgt-extensions/pom.xml b/components/apimgt-extensions/pom.xml index 604cdaa421..6f2c076780 100644 --- a/components/apimgt-extensions/pom.xml +++ b/components/apimgt-extensions/pom.xml @@ -22,13 +22,13 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 2.0.39-SNAPSHOT + 2.0.50-SNAPSHOT ../../pom.xml 4.0.0 apimgt-extensions - 2.0.39-SNAPSHOT + 2.0.50-SNAPSHOT pom WSO2 Carbon - API Management Extensions Component http://wso2.org diff --git a/components/certificate-mgt/org.wso2.carbon.certificate.mgt.api/pom.xml b/components/certificate-mgt/org.wso2.carbon.certificate.mgt.api/pom.xml index 019839bca5..81fff0034f 100644 --- a/components/certificate-mgt/org.wso2.carbon.certificate.mgt.api/pom.xml +++ b/components/certificate-mgt/org.wso2.carbon.certificate.mgt.api/pom.xml @@ -22,7 +22,7 @@ certificate-mgt org.wso2.carbon.devicemgt - 2.0.39-SNAPSHOT + 2.0.50-SNAPSHOT ../pom.xml diff --git a/components/certificate-mgt/org.wso2.carbon.certificate.mgt.cert.admin.api/pom.xml b/components/certificate-mgt/org.wso2.carbon.certificate.mgt.cert.admin.api/pom.xml index 3914f2cc23..9270bf0b43 100644 --- a/components/certificate-mgt/org.wso2.carbon.certificate.mgt.cert.admin.api/pom.xml +++ b/components/certificate-mgt/org.wso2.carbon.certificate.mgt.cert.admin.api/pom.xml @@ -22,7 +22,7 @@ certificate-mgt org.wso2.carbon.devicemgt - 2.0.39-SNAPSHOT + 2.0.50-SNAPSHOT ../pom.xml diff --git a/components/certificate-mgt/org.wso2.carbon.certificate.mgt.core/pom.xml b/components/certificate-mgt/org.wso2.carbon.certificate.mgt.core/pom.xml index 3436fef93e..0b25690449 100644 --- a/components/certificate-mgt/org.wso2.carbon.certificate.mgt.core/pom.xml +++ b/components/certificate-mgt/org.wso2.carbon.certificate.mgt.core/pom.xml @@ -21,13 +21,13 @@ org.wso2.carbon.devicemgt certificate-mgt - 2.0.39-SNAPSHOT + 2.0.50-SNAPSHOT ../pom.xml 4.0.0 org.wso2.carbon.certificate.mgt.core - 2.0.39-SNAPSHOT + 2.0.50-SNAPSHOT bundle WSO2 Carbon - Certificate Management Core WSO2 Carbon - Certificate Management Core diff --git a/components/certificate-mgt/pom.xml b/components/certificate-mgt/pom.xml index cab3dec96d..d6e7bbbc8d 100644 --- a/components/certificate-mgt/pom.xml +++ b/components/certificate-mgt/pom.xml @@ -22,14 +22,14 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 2.0.39-SNAPSHOT + 2.0.50-SNAPSHOT ../../pom.xml 4.0.0 org.wso2.carbon.devicemgt certificate-mgt - 2.0.39-SNAPSHOT + 2.0.50-SNAPSHOT pom WSO2 Carbon - Certificate Management Component http://wso2.org diff --git a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.device.type.deployer/pom.xml b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.device.type.deployer/pom.xml index 8d5ee35874..6a3289b9a3 100644 --- a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.device.type.deployer/pom.xml +++ b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.device.type.deployer/pom.xml @@ -22,7 +22,7 @@ device-mgt-extensions org.wso2.carbon.devicemgt - 2.0.39-SNAPSHOT + 2.0.50-SNAPSHOT ../pom.xml diff --git a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.device.type.deployer/src/main/java/org/wso2/carbon/device/mgt/extensions/device/type/deployer/template/DeviceTypeManagerService.java b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.device.type.deployer/src/main/java/org/wso2/carbon/device/mgt/extensions/device/type/deployer/template/DeviceTypeManagerService.java index fa1a844211..fc28c446e8 100644 --- a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.device.type.deployer/src/main/java/org/wso2/carbon/device/mgt/extensions/device/type/deployer/template/DeviceTypeManagerService.java +++ b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.device.type.deployer/src/main/java/org/wso2/carbon/device/mgt/extensions/device/type/deployer/template/DeviceTypeManagerService.java @@ -70,8 +70,7 @@ public class DeviceTypeManagerService implements DeviceManagementService { this.operationMonitoringConfigs = new OperationMonitoringTaskConfig(); this.setOperationMonitoringConfig(deviceTypeConfiguration); this.setInitialOperationConfig(deviceTypeConfiguration); - if (deviceTypeConfiguration.getPolicyMonitoring() != null && deviceTypeConfiguration.getPolicyMonitoring() - .isEnabled()) { + if (deviceTypeConfiguration.getPolicyMonitoring() != null ) { this.policyMonitoringManager = new DefaultPolicyMonitoringManager(); } } diff --git a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.fcm/pom.xml b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.fcm/pom.xml index 7e3025edc4..72123619a7 100644 --- a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.fcm/pom.xml +++ b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.fcm/pom.xml @@ -22,7 +22,7 @@ device-mgt-extensions org.wso2.carbon.devicemgt - 2.0.39-SNAPSHOT + 2.0.50-SNAPSHOT ../pom.xml diff --git a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.mqtt/pom.xml b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.mqtt/pom.xml index c9cb1fa61f..8ac4f5478e 100644 --- a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.mqtt/pom.xml +++ b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.mqtt/pom.xml @@ -22,7 +22,7 @@ device-mgt-extensions org.wso2.carbon.devicemgt - 2.0.39-SNAPSHOT + 2.0.50-SNAPSHOT ../pom.xml diff --git a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.xmpp/pom.xml b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.xmpp/pom.xml index d0cf46502d..841080b4ce 100644 --- a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.xmpp/pom.xml +++ b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.xmpp/pom.xml @@ -22,7 +22,7 @@ device-mgt-extensions org.wso2.carbon.devicemgt - 2.0.39-SNAPSHOT + 2.0.50-SNAPSHOT ../pom.xml diff --git a/components/device-mgt-extensions/pom.xml b/components/device-mgt-extensions/pom.xml index 83b52df9ff..3831bed267 100644 --- a/components/device-mgt-extensions/pom.xml +++ b/components/device-mgt-extensions/pom.xml @@ -22,7 +22,7 @@ carbon-devicemgt org.wso2.carbon.devicemgt - 2.0.39-SNAPSHOT + 2.0.50-SNAPSHOT ../../pom.xml diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.analytics.dashboard/pom.xml b/components/device-mgt/org.wso2.carbon.device.mgt.analytics.dashboard/pom.xml index 92686a5552..78c3062c33 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.analytics.dashboard/pom.xml +++ b/components/device-mgt/org.wso2.carbon.device.mgt.analytics.dashboard/pom.xml @@ -3,7 +3,7 @@ org.wso2.carbon.devicemgt device-mgt - 2.0.39-SNAPSHOT + 2.0.50-SNAPSHOT ../pom.xml diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.analytics.data.publisher/pom.xml b/components/device-mgt/org.wso2.carbon.device.mgt.analytics.data.publisher/pom.xml index 5d5b56550f..8b4f10fb7f 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.analytics.data.publisher/pom.xml +++ b/components/device-mgt/org.wso2.carbon.device.mgt.analytics.data.publisher/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt device-mgt - 2.0.39-SNAPSHOT + 2.0.50-SNAPSHOT ../pom.xml diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/pom.xml b/components/device-mgt/org.wso2.carbon.device.mgt.api/pom.xml index 98a0e5ce1f..2094e0914d 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/pom.xml +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/pom.xml @@ -22,7 +22,7 @@ device-mgt org.wso2.carbon.devicemgt - 2.0.39-SNAPSHOT + 2.0.50-SNAPSHOT ../pom.xml @@ -280,6 +280,16 @@ javax.ws.rs javax.ws.rs-api + + + org.wso2.carbon.analytics-common + org.wso2.carbon.event.receiver.stub + provided + + + org.wso2.carbon.analytics-common + org.wso2.carbon.event.stream.stub + provided org.wso2.carbon.commons diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/DeviceManagementServiceImpl.java b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/DeviceManagementServiceImpl.java index 3f3185a30d..c5446035c8 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/DeviceManagementServiceImpl.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/DeviceManagementServiceImpl.java @@ -436,6 +436,7 @@ public class DeviceManagementServiceImpl implements DeviceManagementService { new ErrorResponse.ErrorResponseBuilder().setMessage(msg).build()).build(); } deviceList.setList(devices); + deviceList.setCount(devices.size()); return Response.status(Response.Status.OK).entity(deviceList).build(); } diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/UserManagementServiceImpl.java b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/UserManagementServiceImpl.java index ca1ad45d1d..a90b51d409 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/UserManagementServiceImpl.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/UserManagementServiceImpl.java @@ -40,6 +40,7 @@ import org.wso2.carbon.device.mgt.jaxrs.util.CredentialManagementResponseBuilder import org.wso2.carbon.device.mgt.jaxrs.util.DeviceMgtAPIUtils; import org.wso2.carbon.identity.user.store.count.UserStoreCountRetriever; import org.wso2.carbon.identity.user.store.count.exception.UserStoreCounterException; +import org.wso2.carbon.user.api.Permission; import org.wso2.carbon.user.api.UserStoreException; import org.wso2.carbon.user.api.UserStoreManager; import org.wso2.carbon.utils.CarbonUtils; @@ -82,6 +83,16 @@ public class UserManagementServiceImpl implements UserManagementService { private static final String DEFAULT_DEVICE_USER = "Internal/devicemgt-user"; private static final String DEFAULT_DEVICE_ADMIN = "Internal/devicemgt-admin"; + // Permissions that are given for a normal device user. + private static final Permission[] PERMISSIONS_FOR_DEVICE_USER = { + new Permission("/permission/admin/Login", "ui.execute"), + new Permission("/permission/admin/device-mgt/device/api/subscribe", "ui.execute"), + new Permission("/permission/admin/device-mgt/devices/enroll", "ui.execute"), + new Permission("/permission/admin/device-mgt/devices/disenroll", "ui.execute"), + new Permission("/permission/admin/device-mgt/devices/owning-device/view", "ui.execute"), + new Permission("/permission/admin/manage/portal", "ui.execute") + }; + @POST @Override public Response addUser(UserInfo userInfo) { @@ -114,6 +125,11 @@ public class UserManagementServiceImpl implements UserManagementService { String[] roles = new String[tmpRoles.size()]; tmpRoles.toArray(roles); + // If the normal device user role does not exist, create a new role with the minimal permissions + if (!userStoreManager.isExistingRole(DEFAULT_DEVICE_USER)) { + userStoreManager.addRole(DEFAULT_DEVICE_USER, null, PERMISSIONS_FOR_DEVICE_USER); + } + userStoreManager.addUser(userInfo.getUsername(), initialUserPassword, roles, defaultUserClaims, null); // Outputting debug message upon successful addition of user @@ -238,6 +254,7 @@ public class UserManagementServiceImpl implements UserManagementService { } } rolesToDelete.remove(ROLE_EVERYONE); + rolesToAdd.remove(ROLE_EVERYONE); userStoreManager.updateRoleListOfUser(username, rolesToDelete.toArray(new String[rolesToDelete.size()]), rolesToAdd.toArray(new String[rolesToAdd.size()])); @@ -257,13 +274,10 @@ public class UserManagementServiceImpl implements UserManagementService { } } - private List getFilteredRoles(UserStoreManager userStoreManager, String username) { + private List getFilteredRoles(UserStoreManager userStoreManager, String username) + throws UserStoreException { String[] roleListOfUser = new String[0]; - try { - roleListOfUser = userStoreManager.getRoleListOfUser(username); - } catch (UserStoreException e) { - e.printStackTrace(); - } + roleListOfUser = userStoreManager.getRoleListOfUser(username); List filteredRoles = new ArrayList<>(); for (String role : roleListOfUser) { if (!(role.startsWith("Internal/") || role.startsWith("Authentication/"))) { @@ -379,7 +393,6 @@ public class UserManagementServiceImpl implements UserManagementService { } else { offsetList = new ArrayList<>(); } - BasicUserInfoList result = new BasicUserInfoList(); result.setList(offsetList); result.setCount(users.length); diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/admin/DeviceTypePublisherAdminServiceImpl.java b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/admin/DeviceTypePublisherAdminServiceImpl.java index 0efa036da0..26e552d0e7 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/admin/DeviceTypePublisherAdminServiceImpl.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/admin/DeviceTypePublisherAdminServiceImpl.java @@ -18,6 +18,7 @@ */ package org.wso2.carbon.device.mgt.jaxrs.service.impl.admin; +import org.apache.axis2.AxisFault; import org.apache.axis2.client.Options; import org.apache.axis2.java.security.SSLProtocolSocketFactory; import org.apache.axis2.transport.http.HTTPConstants; @@ -27,6 +28,9 @@ import org.apache.commons.httpclient.protocol.Protocol; import org.apache.commons.httpclient.protocol.ProtocolSocketFactory; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; +import org.json.simple.JSONObject; +import org.json.simple.parser.JSONParser; +import org.json.simple.parser.ParseException; import org.wso2.carbon.application.mgt.stub.upload.CarbonAppUploaderStub; import org.wso2.carbon.application.mgt.stub.upload.types.carbon.UploadedFileItem; import org.wso2.carbon.base.ServerConfiguration; @@ -35,11 +39,16 @@ import org.wso2.carbon.core.util.Utils; import org.wso2.carbon.device.mgt.jaxrs.service.api.admin.DeviceTypePublisherAdminService; import org.wso2.carbon.device.mgt.jaxrs.util.DeviceMgtAPIUtils; import org.wso2.carbon.identity.jwt.client.extension.JWTClient; +import org.wso2.carbon.identity.jwt.client.extension.exception.JWTClientException; import org.wso2.carbon.registry.core.Registry; import org.wso2.carbon.registry.core.Resource; import org.wso2.carbon.registry.core.ResourceImpl; import org.wso2.carbon.registry.core.exceptions.RegistryException; +import org.wso2.carbon.user.api.UserStoreException; import org.wso2.carbon.utils.CarbonUtils; +import org.wso2.carbon.event.receiver.stub.EventReceiverAdminServiceStub; +import org.wso2.carbon.event.stream.stub.EventStreamAdminServiceStub; +import org.wso2.carbon.utils.multitenancy.MultitenantConstants; import javax.activation.DataHandler; import javax.net.ssl.KeyManagerFactory; @@ -51,6 +60,8 @@ import javax.ws.rs.Path; import javax.ws.rs.PathParam; import javax.ws.rs.core.Response; import java.io.*; +import java.nio.file.Files; +import java.rmi.RemoteException; import java.security.KeyManagementException; import java.security.KeyStore; import java.security.KeyStoreException; @@ -89,11 +100,15 @@ public class DeviceTypePublisherAdminServiceImpl implements DeviceTypePublisherA private static final String SSLV3 = "SSLv3"; + + private KeyStore keyStore; private KeyStore trustStore; private char[] keyStorePassword; private SSLContext sslContext; + private String tenantDomain; + private static final Log log = LogFactory.getLog(DeviceTypePublisherAdminServiceImpl.class); private static final String DEFAULT_RESOURCE_LOCATION = "/resources/devicetypes"; private static final String CAR_FILE_LOCATION = CarbonUtils.getCarbonHome() + File.separator + "repository" + @@ -105,10 +120,15 @@ public class DeviceTypePublisherAdminServiceImpl implements DeviceTypePublisherA private static final String IOT_MGT_HOST_NAME = "${iot.manager.host}"; private static final String DAS_URL = DEFAULT_HTTP_PROTOCOL + "://" + DAS_HOST_NAME + ":" + DAS_PORT + "/services/CarbonAppUploader" + "/"; + private static final String DAS_EVENT_RECEIVER_EP = DEFAULT_HTTP_PROTOCOL + "://" + DAS_HOST_NAME + + ":" + DAS_PORT + "/services/EventReceiverAdminService" + "/"; + private static final String IOT_MGT_URL = DEFAULT_HTTP_PROTOCOL + "://" + IOT_MGT_HOST_NAME + ":" + IOT_MGT_PORT + "/services/CarbonAppUploader" + "/"; private static final String MEDIA_TYPE_XML = "application/xml"; private static final String DEVICE_MANAGEMENT_TYPE = "device_management"; + private static final String TENANT_DOMAIN_PROPERTY = "\\$\\{tenant-domain\\}"; + @Override @POST @@ -117,7 +137,7 @@ public class DeviceTypePublisherAdminServiceImpl implements DeviceTypePublisherA try { //Getting the tenant Domain - String tenantDomain = PrivilegedCarbonContext.getThreadLocalCarbonContext().getTenantDomain(); + tenantDomain = PrivilegedCarbonContext.getThreadLocalCarbonContext().getTenantDomain(); String username = PrivilegedCarbonContext.getThreadLocalCarbonContext().getUsername(); String tenantAdminUser = username + "@" + tenantDomain; @@ -187,6 +207,14 @@ public class DeviceTypePublisherAdminServiceImpl implements DeviceTypePublisherA registry.put(DEFAULT_RESOURCE_LOCATION + type + ".exist", resource); } } + + if(!tenantDomain.equals(MultitenantConstants.SUPER_TENANT_DOMAIN_NAME)) { + publishDynamicEventReceivers(type, tenantDomain); + } + publishDynamicEventReceivers(type,MultitenantConstants.SUPER_TENANT_DOMAIN_NAME); + publishDynamicEventStream(type,MultitenantConstants.SUPER_TENANT_DOMAIN_NAME); + + } else { return Response.status(Response.Status.BAD_REQUEST) .entity("\"Error, Artifact does not exist.\"").build(); @@ -222,6 +250,179 @@ public class DeviceTypePublisherAdminServiceImpl implements DeviceTypePublisherA } } + + private void publishDynamicEventReceivers(String deviceType, String tenantDomain){ + + PrivilegedCarbonContext.getThreadLocalCarbonContext().startTenantFlow(); + PrivilegedCarbonContext.getThreadLocalCarbonContext().setTenantDomain(tenantDomain, true); + + try { + + EventReceiverAdminServiceStub receiverAdminServiceStub = new EventReceiverAdminServiceStub(Utils.replaceSystemProperty(DAS_EVENT_RECEIVER_EP)); + Options eventReciverOptions = receiverAdminServiceStub._getServiceClient().getOptions(); + if (eventReciverOptions == null) { + eventReciverOptions = new Options(); + } + String username=null; + if(!tenantDomain.equals(MultitenantConstants.SUPER_TENANT_DOMAIN_NAME)) { + username = PrivilegedCarbonContext.getThreadLocalCarbonContext().getUserRealm() + .getRealmConfiguration().getAdminUserName()+"@"+tenantDomain; + }else { + username = PrivilegedCarbonContext.getThreadLocalCarbonContext().getUserRealm() + .getRealmConfiguration().getAdminUserName(); + } + + + JWTClient jwtClient = DeviceMgtAPIUtils.getJWTClientManagerService().getJWTClient(); + + String authValue = AUTHORIZATION_HEADER_VALUE + " " + new String(Base64.encodeBase64( + jwtClient.getJwtToken(username).getBytes())); + + List
list = new ArrayList
(); + Header httpHeader = new Header(); + httpHeader.setName(AUTHORIZATION_HEADER); + httpHeader.setValue(authValue); + list.add(httpHeader);//"https" + + eventReciverOptions.setProperty(HTTPConstants.HTTP_HEADERS, list); + eventReciverOptions.setProperty(HTTPConstants.CUSTOM_PROTOCOL_HANDLER + , new Protocol(DEFAULT_HTTP_PROTOCOL + , (ProtocolSocketFactory) new SSLProtocolSocketFactory(sslContext) + , Integer.parseInt(Utils.replaceSystemProperty(DAS_PORT)))); + + receiverAdminServiceStub._getServiceClient().setOptions(eventReciverOptions); + + List receiversList = getReceiversList(deviceType); + for (String receiverContent:receiversList) { + receiverAdminServiceStub.deployEventReceiverConfiguration(receiverContent); + } + + } catch (AxisFault e) { + log.error("publishing dynamic event receiver is failed due to " + e.getMessage(), e); + } catch (RemoteException e) { + log.error("publishing dynamic event receiver is failed due to " + e.getMessage(), e); + } catch (IOException e) { + log.error("publishing dynamic event receiver is failed due to " + e.getMessage(), e); + } catch (JWTClientException e) { + log.error("publishing dynamic event receiver is failed due to " + e.getMessage(), e); + } catch (UserStoreException e) { + log.error("publishing dynamic event receiver is failed due to " + e.getMessage(), e); + } finally { + PrivilegedCarbonContext.endTenantFlow(); + } + } + + + private void publishDynamicEventStream(String deviceType, String tenantDomain){ + + PrivilegedCarbonContext.getThreadLocalCarbonContext().startTenantFlow(); + PrivilegedCarbonContext.getThreadLocalCarbonContext().setTenantDomain(tenantDomain, true); + + try { + + EventStreamAdminServiceStub eventStreamAdminServiceStub = new EventStreamAdminServiceStub(Utils.replaceSystemProperty(DAS_EVENT_RECEIVER_EP)); + Options eventReciverOptions = eventStreamAdminServiceStub._getServiceClient().getOptions(); + if (eventReciverOptions == null) { + eventReciverOptions = new Options(); + } + String username; + if(!tenantDomain.equals(MultitenantConstants.SUPER_TENANT_DOMAIN_NAME)) { + username = PrivilegedCarbonContext.getThreadLocalCarbonContext().getUserRealm() + .getRealmConfiguration().getAdminUserName()+"@"+tenantDomain; + }else { + username = PrivilegedCarbonContext.getThreadLocalCarbonContext().getUserRealm() + .getRealmConfiguration().getAdminUserName(); + } + + + JWTClient jwtClient = DeviceMgtAPIUtils.getJWTClientManagerService().getJWTClient(); + + String authValue = AUTHORIZATION_HEADER_VALUE + " " + new String(Base64.encodeBase64( + jwtClient.getJwtToken(username).getBytes())); + + List
list = new ArrayList
(); + Header httpHeader = new Header(); + httpHeader.setName(AUTHORIZATION_HEADER); + httpHeader.setValue(authValue); + list.add(httpHeader);//"https" + + eventReciverOptions.setProperty(HTTPConstants.HTTP_HEADERS, list); + eventReciverOptions.setProperty(HTTPConstants.CUSTOM_PROTOCOL_HANDLER + , new Protocol(DEFAULT_HTTP_PROTOCOL + , (ProtocolSocketFactory) new SSLProtocolSocketFactory(sslContext) + , Integer.parseInt(Utils.replaceSystemProperty(DAS_PORT)))); + + eventStreamAdminServiceStub._getServiceClient().setOptions(eventReciverOptions); + + List streamList = getStreamsList(deviceType); + for (String streamContent:streamList) { + JSONParser jsonParser = new JSONParser(); + JSONObject steamJson = (JSONObject)jsonParser.parse(streamContent); + String name = (String) steamJson.get("name"); + String version = (String) steamJson.get("version"); + String streamId = name +":"+version; + if(eventStreamAdminServiceStub.getStreamDefinitionAsString(streamId)==null) { + + eventStreamAdminServiceStub.addEventStreamDefinitionAsString(streamContent); + } + } + + } catch (AxisFault e) { + log.error("publishing dynamic event receiver is failed due to " + e.getMessage(), e); + } catch (RemoteException e) { + log.error("publishing dynamic event receiver is failed due to " + e.getMessage(), e); + } catch (IOException e) { + log.error("publishing dynamic event receiver is failed due to " + e.getMessage(), e); + } catch (JWTClientException e) { + log.error("publishing dynamic event receiver is failed due to " + e.getMessage(), e); + } catch (UserStoreException e) { + log.error("publishing dynamic event receiver is failed due to " + e.getMessage(), e); + } catch (ParseException e) { + log.error("publishing dynamic event receiver is failed due to " + e.getMessage(), e); + } finally { + PrivilegedCarbonContext.endTenantFlow(); + } + } + + + private List getReceiversList(String deviceType) throws IOException { + + File directory = new File(CAR_FILE_LOCATION + File.separator + deviceType+File.separator+"receiver"); + File[] receiverFiles = directory.listFiles(new FilenameFilter() { + @Override + public boolean accept(File dir, String name) { + return name.toLowerCase().endsWith(".xml"); + } + }); + List receiverList = new ArrayList<>(); + for (File receiverFile:receiverFiles) { + String receiverContent =new String(Files.readAllBytes(receiverFile.toPath())); + receiverContent.replaceAll(TENANT_DOMAIN_PROPERTY,tenantDomain.toLowerCase()); + receiverList.add(receiverContent); + } + + return receiverList; + } + + private List getStreamsList(String deviceType) throws IOException { + + File directory = new File(CAR_FILE_LOCATION + File.separator + deviceType+File.separator+"streams"); + File[] receiverFiles = directory.listFiles(new FilenameFilter() { + @Override + public boolean accept(File dir, String name) { + return name.toLowerCase().endsWith(".json"); + } + }); + List streamList = new ArrayList<>(); + for (File StreamFile:receiverFiles) { + String receiverContent =new String(Files.readAllBytes(StreamFile.toPath())); + receiverContent.replaceAll(TENANT_DOMAIN_PROPERTY,tenantDomain.toLowerCase()); + streamList.add(receiverContent); + } + + return streamList; + } + private UploadedFileItem[] loadCappFromFileSystem(String deviceType) throws IOException { File directory = new File(CAR_FILE_LOCATION + File.separator + deviceType); diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.common/pom.xml b/components/device-mgt/org.wso2.carbon.device.mgt.common/pom.xml index 5164eb809a..7c16273cf7 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.common/pom.xml +++ b/components/device-mgt/org.wso2.carbon.device.mgt.common/pom.xml @@ -21,7 +21,7 @@ device-mgt org.wso2.carbon.devicemgt - 2.0.39-SNAPSHOT + 2.0.50-SNAPSHOT ../pom.xml diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/pom.xml b/components/device-mgt/org.wso2.carbon.device.mgt.core/pom.xml index 63b41841f4..0067fac3f5 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/pom.xml +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt device-mgt - 2.0.39-SNAPSHOT + 2.0.50-SNAPSHOT ../pom.xml diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/dao/impl/AbstractDeviceDAOImpl.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/dao/impl/AbstractDeviceDAOImpl.java index 4e37aca000..29cb889400 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/dao/impl/AbstractDeviceDAOImpl.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/dao/impl/AbstractDeviceDAOImpl.java @@ -165,7 +165,7 @@ public abstract class AbstractDeviceDAOImpl implements DeviceDAO { stmt.setInt(paramIdx, tenantId); rs = stmt.executeQuery(); if (rs.next()) { - device = DeviceManagementDAOUtil.loadMatchingDevice(rs, true); + device = DeviceManagementDAOUtil.loadMatchingDevice(rs, false); } } catch (SQLException e) { throw new DeviceManagementDAOException("Error occurred while listing device for type " + diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/search/mgt/impl/QueryBuilderImpl.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/search/mgt/impl/QueryBuilderImpl.java index 253e95fdd0..936f8f68f1 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/search/mgt/impl/QueryBuilderImpl.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/search/mgt/impl/QueryBuilderImpl.java @@ -145,10 +145,10 @@ public class QueryBuilderImpl implements QueryBuilder { ValueType type = new ValueType(); if (Utils.checkColumnType(con.getKey())) { type.setColumnType(ValueType.columnType.STRING); - type.setStringValue(Utils.getConvertedValue(con.getKey(), con.getValue())); + type.setStringValue(con.getValue()); } else { type.setColumnType(ValueType.columnType.INTEGER); - type.setIntValue(Integer.parseInt(Utils.getConvertedValue(con.getKey(), con.getValue()))); + type.setIntValue(Integer.parseInt(con.getValue())); } valueType[x] = type; x++; @@ -193,10 +193,10 @@ public class QueryBuilderImpl implements QueryBuilder { ValueType type = new ValueType(); if (Utils.checkColumnType(con.getKey())) { type.setColumnType(ValueType.columnType.STRING); - type.setStringValue(Utils.getConvertedValue(con.getKey(), con.getValue())); + type.setStringValue(con.getValue()); } else { type.setColumnType(ValueType.columnType.INTEGER); - type.setIntValue(Integer.parseInt(Utils.getConvertedValue(con.getKey(), con.getValue()))); + type.setIntValue(Integer.parseInt(con.getValue())); } valueType[x] = type; x++; diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/search/mgt/impl/Utils.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/search/mgt/impl/Utils.java index 10e12f24ce..9e0d044e1e 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/search/mgt/impl/Utils.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/search/mgt/impl/Utils.java @@ -103,14 +103,6 @@ public class Utils { return bool; } - public static String getConvertedValue(String column, String value) { - - if (checkColumnType(column)) { - return "\'" + value + "\'"; - } else return value; - - } - public static Map getDeviceDetailsColumnNames() { return genericColumnsMap; } diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.extensions/pom.xml b/components/device-mgt/org.wso2.carbon.device.mgt.extensions/pom.xml index 8aad66834b..a035d04948 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.extensions/pom.xml +++ b/components/device-mgt/org.wso2.carbon.device.mgt.extensions/pom.xml @@ -22,7 +22,7 @@ device-mgt org.wso2.carbon.devicemgt - 2.0.39-SNAPSHOT + 2.0.50-SNAPSHOT ../pom.xml diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.ui/pom.xml b/components/device-mgt/org.wso2.carbon.device.mgt.ui/pom.xml index 9b429ed8bf..5e3a3a6e3a 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.ui/pom.xml +++ b/components/device-mgt/org.wso2.carbon.device.mgt.ui/pom.xml @@ -22,7 +22,7 @@ device-mgt org.wso2.carbon.devicemgt - 2.0.39-SNAPSHOT + 2.0.50-SNAPSHOT ../pom.xml diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/api/data-tables-invoker-api.jag b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/api/data-tables-invoker-api.jag index f8cfa13520..5f34c84699 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/api/data-tables-invoker-api.jag +++ b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/api/data-tables-invoker-api.jag @@ -62,6 +62,7 @@ if (uriMatcher.match("/{context}/api/data-tables/invoker")) { function (backendResponse) { response["status"] = backendResponse["status"]; response["content"] = utility.encodeJson(backendResponse["responseText"]); + response["contentType"] = "application/json"; } ); } diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/conf/toplink-menu.json b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/conf/toplink-menu.json index ae866dd37c..94966cc9f4 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/conf/toplink-menu.json +++ b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/conf/toplink-menu.json @@ -1,7 +1,7 @@ { "Logo": { "name": "Cloud", - "url": "https://<%= @cloudmgt_host %>/cloudmgt", + "url": "https://cloudmgt.cloud.wso2.com/cloudmgt", "target": "_parent" }, "Main": { @@ -12,75 +12,21 @@ "target": "_parent", "dropDown": { "Organization": { - "url": "https://<%= @cloudmgt_host %>/cloudmgt/site/pages/organization.jag", + "url": "https://cloudmgt.cloud.wso2.com/cloudmgt/site/pages/organization.jag", "icon": "fw fw-organization", "dropDown": "false", "target": "_self" }, "Members": { - "url": "https://<%= @cloudmgt_host %>/cloudmgt/site/pages/user.jag", + "url": "https://cloudmgt.cloud.wso2.com/cloudmgt/site/pages/user.jag", "icon": "fa fa-users", "dropDown": "false", "target": "_self" } } }, - "Account": { - "url": "https://<%= @cloudmgt_host %>/cloudmgt/site/pages/account-summary.jag", - "icon": "fw fw-resource", - "isAdminOnly": true, - "target": "_blank", - "dropDown": { - "Upgrade Now": { - "url": "https://<%= @cloudmgt_host %>/cloudmgt/site/pages/payment-plans.jag?cloud-type=api_cloud", - "icon": "fw fw-export", - "target": "_self" - }, - "Monetization": { - "url": "https://<%= @cloudmgt_host %>/cloudmgt/site/pages/monetization-dashboard.jag", - "icon": "fa fa-money fa-lg", - "dropDown": "false", - "target": "_self" - }, - "Request Extension": { - "url": "https://<%= @cloudmgt_host %>/cloudmgt/site/pages/contact-us.jag?cloud-type=api_cloud&request-extension=true", - "icon": "fw fw-mail", - "target": "_blank" - }, - "Usage data": { - "url": "https://<%= @cloudmgt_host %>/cloudmgt/site/pages/tenant-usage.jag?cloud-type=api_cloud", - "icon": "fw fw-bar-chart", - "target": "_self" - } - } - }, - "Configure": { - "url": "none", - "icon": "fw fw-settings", - "isAdminOnly": true, - "dropDown": { - "Admin Dashboard": { - "id": "admin-dashboard", - "url": "https://<%= @apimpublisher_host %>/admin-dashboard/", - "icon": "fw fw-user", - "target": "_self" - }, - "Custom URL": { - "id": "custom-url", - "url": "https://<%= @cloudmgt_host %>/cloudmgt/site/pages/custom_url.jag", - "icon": "fw fw-uri", - "target": "_self" - }, - "API Store Access": { - "id": "custom-url", - "url": "https://<%= @cloudmgt_host %>/cloudmgt/site/pages/selfSignup.jag", - "icon": "fw fw-store", - "target": "_self" - } - } - }, "Support": { - "url": "https://<%= @cloudmgt_host %>/cloudmgt/site/pages/contact-us.jag", + "url": "https://cloudmgt.cloud.wso2.com/cloudmgt/site/pages/contact-us.jag", "icon": "fw fw-mail", "isAdminOnly": false, "target": "_self", @@ -91,29 +37,11 @@ "icon": "fw fw-document", "isAdminOnly": false, "dropDown": { - "API Cloud": { - "id": "api_cloud", - "url": "https://docs.wso2.com/display/APICloud/WSO2+API+Cloud+Documentation", - "icon": "fw fw-api", - "target": "_blank" - }, - "Integration Cloud": { - "id": "integration_cloud", - "url": "https://docs.wso2.com/display/IntegrationCloud/WSO2+Integration+Cloud+Documentation", - "icon": "fw fw-application", - "target": "_blank" - }, "Device Cloud": { "id": "device_cloud", "url": "https://docs.wso2.com/display/DeviceCloud/WSO2+Device+Cloud+Documentation", "icon": "fw fw-mobile", "target": "_self" - }, - "API Cloud Walkthrough": { - "id": "api_cloud_walkthrough", - "url": "https://<%= @apimpublisher_host %>/publisher?interactiveTutorial=true", - "icon": "fw fw-document", - "target": "_self" } } } @@ -123,19 +51,19 @@ "icon": "fw fw-user", "dropDown": { "Profile": { - "url": "https://<%= @cloudmgt_host %>/cloudmgt/site/pages/user-profile.jag", + "url": "https://cloudmgt.cloud.wso2.com/cloudmgt/site/pages/user-profile.jag", "icon": "fw fw-user", "dropDown": "true", "target": "_self" }, "Change Password": { - "url": "https://<%= @cloudmgt_host %>/cloudmgt/site/pages/change-password.jag", + "url": "https://cloudmgt.cloud.wso2.com/cloudmgt/site/pages/change-password.jag", "icon": "fw fw-lock", "dropDown": "true", "target": "_self" }, "Logout": { - "url": "https://<%= @apimpublisher_host %>/publisher/site/pages/logout.jag", + "url": "https://api.cloud.wso2.com/publisher/site/pages/logout.jag", "icon": "fw fw-sign-out", "dropDown": "true", "target": "_self" @@ -146,50 +74,36 @@ "Clouds": { "API Cloud": { "id": "api_cloud", - "url": "https://<%= @apimpublisher_host %>/publisher", + "url": "https://api.cloud.wso2.com/publisher", "icon": "fw fw-api fw-3x", "dropDown": "true", "target": "_self" }, "Integration Cloud": { "id": "integration_cloud", - "url": "https://milestones.appfactory.wso2.com:9443/appmgt", - "icon": "fa fa-cubes fw-3x", + "url": "https://integration.cloud.wso2.com/appmgt", + "icon": "fw fw-service fw-3x", "dropDown": "true", "target": "_self" }, "Identity Cloud": { "id": "integration_cloud", - "url": "https://identity.cloudlocal.wso2.com:9443/admin", + "url": "https://identity.cloud.wso2.com/admin", "icon": "fw fw-security fw-3x", "dropDown": "true", "target": "_self" - }, - "App Cloud": { - "id": "app_cloud", - "url": "https://<%= @appcloud_host %>/appmgt", - "icon": "fw fw-application fw-3x", - "dropDown": "true", - "target": "_self" - }, - "Device Cloud": { - "id": "device_cloud", - "url": "https://<%= @mgt_hostname %>/devicemgt", - "icon": "fw fw-mobile fw-3x", - "dropDown": "true", - "target": "_self" } }, "Actions": { "Organization": { - "url": "https://<%= @cloudmgt_host %>/cloudmgt/site/pages/organization.jag", + "url": "https://cloudmgt.cloud.wso2.com/cloudmgt/site/pages/organization.jag", "icon": "fw fw-organization fw-3x", "dropDown": "true", "target": "_self" }, "Members": { - "url": "https://<%= @cloudmgt_host %>/cloudmgt/site/pages/user.jag", - "icon": "fa fa-users fw-3x", + "url": "https://cloudmgt.cloud.wso2.com/cloudmgt/site/pages/user.jag", + "icon": "fa fa-users fa-3x", "dropDown": "true", "target": "_self" } diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/modules/business-controllers/operation.js b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/modules/business-controllers/operation.js index dd200cdfbe..666b1b571d 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/modules/business-controllers/operation.js +++ b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/modules/business-controllers/operation.js @@ -40,52 +40,66 @@ var operationModule = function () { privateMethods.getOperationsFromFeatures = function (deviceType, operationType) { var url = devicemgtProps["httpsURL"] + devicemgtProps["backendRestEndpoints"]["deviceMgt"] + "/device-types/" + deviceType + "/features"; var featuresList = serviceInvokers.XMLHttp.get(url, function (responsePayload) { - var features = JSON.parse(responsePayload.responseText); - var featureList = []; - var feature; - for (var i = 0; i < features.length; i++) { - feature = {}; - feature["operation"] = features[i].code; - feature["name"] = features[i].name; - feature["description"] = features[i].description; - feature["contentType"] = features[i].contentType; - feature["deviceType"] = deviceType; - feature["params"] = []; - var featuresEntry = utility.getDeviceTypeConfig(deviceType)["deviceType"]["features"]; - if (featuresEntry) { - var featureEntry = featuresEntry[features[i].code]; - if (featureEntry) { - var permissionEntry = featureEntry["permission"]; - if (permissionEntry) { - feature["permission"] = permissionEntry - } - } - } - var metaData = features[i].metadataEntries; - if (metaData) { - for (var j = 0; j < metaData.length; j++) { - feature["params"].push(metaData[j].value); - } - featureList.push(feature); - } - } - return featureList; - }, function (responsePayload) { - var response = {}; - response["status"] = "error"; - return response; - } + var features = JSON.parse(responsePayload.responseText); + var featureList = []; + var feature; + for (var i = 0; i < features.length; i++) { + feature = {}; + feature["operation"] = features[i].code; + feature["name"] = features[i].name; + feature["description"] = features[i].description; + feature["contentType"] = features[i].contentType; + feature["deviceType"] = deviceType; + feature["params"] = []; + var featuresEntry = utility.getDeviceTypeConfig(deviceType)["deviceType"]["features"]; + if (featuresEntry) { + var featureEntry = featuresEntry[features[i].code]; + if (featureEntry) { + var permissionEntry = featureEntry["permission"]; + if (permissionEntry) { + feature["permission"] = permissionEntry + } + } + } + var metaData = features[i].metadataEntries; + if (metaData) { + for (var j = 0; j < metaData.length; j++) { + feature["params"].push(metaData[j].value); + } + featureList.push(feature); + } + } + return featureList; + }, function (responsePayload) { + var response = {}; + response["status"] = "error"; + return response; + } ); return featuresList; }; publicMethods.getControlOperations = function (deviceType) { var operations = privateMethods.getOperationsFromFeatures(deviceType, "operation"); + var features = utility.getDeviceTypeConfig(deviceType).deviceType.features; for (var op in operations) { var iconIdentifier = operations[op].operation; - var icon = utility.getOperationIcon(deviceType, iconIdentifier); - if (icon) { - operations[op]["icon"] = icon; + if (features && features[iconIdentifier]) { + var icon = features[iconIdentifier].icon; + if (icon) { + operations[op]["iconFont"] = icon; + } else if (iconPath) { + var iconPath = utility.getOperationIcon(deviceType, iconIdentifier); + operations[op]["icon"] = iconPath; + } + var formParams = features[iconIdentifier].formParams; + if (formParams) { + operations[op]["uiParams"] = formParams; + } + // var icon = utility.getOperationIcon(deviceType, iconIdentifier); + // if (icon) { + // log.error("icon found : " + icon ); + // operations[op]["icon"] = icon; } } return operations; @@ -99,9 +113,9 @@ var operationModule = function () { var user = session.get(constants.USER_SESSION_KEY); var endPoint = devicemgtProps["httpsURL"] + '/' + deviceType + "/controller/" + operation; var header = '{"owner":"' + user.username + '","deviceId":"' + deviceId + - '","protocol":"mqtt", "sessionId":"' + session.getId() + '", "' + - constants.AUTHORIZATION_HEADER + '":"' + constants.BEARER_PREFIX + - getAccessToken(deviceType, user.username, deviceId) + '"}'; + '","protocol":"mqtt", "sessionId":"' + session.getId() + '", "' + + constants.AUTHORIZATION_HEADER + '":"' + constants.BEARER_PREFIX + + getAccessToken(deviceType, user.username, deviceId) + '"}'; return post(endPoint, params, JSON.parse(header), "json"); }; @@ -109,9 +123,9 @@ var operationModule = function () { var user = session.get(constants.USER_SESSION_KEY); var endPoint = devicemgtProps["httpsURL"] + '/' + deviceType + "/controller/" + operation; var header = '{"owner":"' + user.username + '","deviceId":"' + deviceId + - '","protocol":"mqtt", "' + constants.AUTHORIZATION_HEADER + '":"' + - constants.BEARER_PREFIX + getAccessToken(deviceType, user.username, deviceId) + - '"}'; + '","protocol":"mqtt", "' + constants.AUTHORIZATION_HEADER + '":"' + + constants.BEARER_PREFIX + getAccessToken(deviceType, user.username, deviceId) + + '"}'; var result = get(endPoint, {}, JSON.parse(header), "json"); if (result.data) { var values = result.data.sensorValue.split(','); diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/pages/cdmf.page.device.search/search.hbs b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/pages/cdmf.page.device.search/search.hbs index dbe5d5a86b..d822716f3b 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/pages/cdmf.page.device.search/search.hbs +++ b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/pages/cdmf.page.device.search/search.hbs @@ -153,6 +153,7 @@ + {{/zone}} {{#zone "bottomJs"}} diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/pages/cdmf.page.devices/public/js/listing.js b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/pages/cdmf.page.devices/public/js/listing.js index d74cce8f99..28c0e1f074 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/pages/cdmf.page.devices/public/js/listing.js +++ b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/pages/cdmf.page.devices/public/js/listing.js @@ -288,6 +288,9 @@ function loadDevices(searchType, searchParam) { case 'REMOVED' : html = ' Removed'; break; + case 'UNREACHABLE' : + html = ' Unreachable'; + break; } return html; } @@ -461,11 +464,11 @@ function loadDevices(searchType, searchParam) { attachDeviceEvents(); - if ($('.advance-search').length < 1) { - $(this).closest('.dataTables_wrapper').find('div[id$=_filter] input') - .after('Advance Search'); - } + // if ($('.advance-search').length < 1) { + // $(this).closest('.dataTables_wrapper').find('div[id$=_filter] input') + // .after('Advance Search'); + // } }, { "placeholder": "Search By Device Name", diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/pages/cdmf.page.groups/public/js/listing.js b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/pages/cdmf.page.groups/public/js/listing.js index a48ec46c88..7dfacfb41f 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/pages/cdmf.page.groups/public/js/listing.js +++ b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/pages/cdmf.page.groups/public/js/listing.js @@ -191,15 +191,15 @@ function loadGroups() { '';*/ } if (row.owner != "wso2.system.user") { - // if ($.hasPermission("SHARE_GROUP")) { - // html += - // ''; - // } + if ($.hasPermission("SHARE_GROUP")) { + html += + ''; + } if ($.hasPermission("UPDATE_GROUP")) { html += ' + + diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.operation-mod/public/js/operation-mod.js b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.operation-mod/public/js/operation-mod.js index 0ea06a2ab0..9cde442948 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.operation-mod/public/js/operation-mod.js +++ b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.operation-mod/public/js/operation-mod.js @@ -109,6 +109,7 @@ var operationModule = function () { "APN_OPERATION_CODE": "APN", "CELLULAR_OPERATION_CODE": "CELLULAR", "PER_APP_VPN_OPERATION_CODE": "PER_APP_VPN", + "APPLICATION_OPERATION_CODE": "APP-RESTRICTION", "APP_TO_PER_APP_VPN_MAPPING_OPERATION_CODE": "APP_TO_PER_APP_VPN_MAPPING" }; @@ -288,6 +289,12 @@ var operationModule = function () { } }; break; + case iosOperationConstants["APPLICATION_OPERATION_CODE"]: + payload = { + "restrictionType": operationPayload["restriction-type"], + "restrictedApplications": operationPayload["restricted-applications"] + }; + break; case iosOperationConstants["WIFI_OPERATION_CODE"]: payload = { "wifiHiddenNetwork": operationPayload["hiddenNetwork"], @@ -579,6 +586,14 @@ var operationModule = function () { } }; break; + case iosOperationConstants["APPLICATION_OPERATION_CODE"]: + payload = { + "operation": { + "restriction-type": operationData["restrictionType"], + "restricted-applications": operationData["restrictedApplications"] + } + }; + break; case iosOperationConstants["RESTRICTIONS_OPERATION_CODE"]: operationType = operationTypeConstants["PROFILE"]; payload = { diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.policy.create/create.hbs b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.policy.create/create.hbs index e1d7585a38..95b7f33c54 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.policy.create/create.hbs +++ b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.policy.create/create.hbs @@ -1,7 +1,7 @@ {{#zone "content"}} {{#if isAuthorized}} + data-tenant-id="{{user.tenantId}}" data-iscloud="{{isCloud}}">
@@ -284,8 +284,8 @@
{{#unless types}} -

No compatible device types have been installed. - Install device types to add policies.

+

No compatible device types have been installed. + Install device types to add policies.

{{/unless}}
diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.policy.create/create.js b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.policy.create/create.js index 1b945e5e7c..a5d7846d54 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.policy.create/create.js +++ b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.policy.create/create.js @@ -50,17 +50,17 @@ function onRequest(context) { var policyOperationsTemplateSrc = policyWizardSrc + "/public/templates/" + deviceType + "-policy-operations.hbs"; if (new File(policyOperationsTemplateSrc).isExists()) { content["template"] = "/public/cdmf.unit.device.type." + deviceType + - ".policy-wizard/templates/" + deviceType + "-policy-operations.hbs"; + ".policy-wizard/templates/" + deviceType + "-policy-operations.hbs"; } var policyOperationsScriptSrc = policyWizardSrc + "/public/js/" + deviceType + "-policy-operations.js"; if (new File(policyOperationsScriptSrc).isExists()) { content["script"] = "/public/cdmf.unit.device.type." + deviceType + - ".policy-wizard/js/" + deviceType + "-policy-operations.js";; + ".policy-wizard/js/" + deviceType + "-policy-operations.js";; } var policyOperationsStylesSrc = policyWizardSrc + "/public/css/" + deviceType + "-policy-operations.css"; if (new File(policyOperationsStylesSrc).isExists()) { content["style"] = "/public/cdmf.unit.device.type." + deviceType + - ".policy-wizard/css/" + deviceType + "-policy-operations.css";; + ".policy-wizard/css/" + deviceType + "-policy-operations.css";; } types["types"].push(content); } @@ -74,6 +74,8 @@ function onRequest(context) { types["roles"] = roles["content"]; } types["groups"] = groupModule.getGroups(); - + var devicemgtProps = require("/app/modules/conf-reader/main.js")["conf"]; + types["isCloud"] = devicemgtProps.isCloud; + return types; } diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.policy.create/public/js/policy-create.js b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.policy.create/public/js/policy-create.js index 14d08a9969..303f338140 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.policy.create/public/js/policy-create.js +++ b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.policy.create/public/js/policy-create.js @@ -146,7 +146,7 @@ stepForwardFrom["policy-platform"] = function (actionButton) { if (policyOperationsTemplateSrc) { $.template(policyOperationsTemplateCacheKey, context + policyOperationsTemplateSrc, function (template) { - var content = template(); + var content = template({"iscloud" : $("#logged-in-user").data("iscloud")}); $("#device-type-policy-operations").html(content).removeClass("hidden"); $(".policy-platform").addClass("hidden"); }); diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.ui.theme/public/css/custom-desktop.css b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.ui.theme/public/css/custom-desktop.css index e38dc27929..4d04a5bdf2 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.ui.theme/public/css/custom-desktop.css +++ b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.ui.theme/public/css/custom-desktop.css @@ -17,2044 +17,2125 @@ */ .icon-success { - color: #5cb85c; + color: #5cb85c; } .icon-info { - color: #009DA7; + color: #009DA7; } .icon-warning { - color: #f0ad4e; + color: #f0ad4e; } .icon-danger { - color: #d9534f; + color: #d9534f; } [aria-expanded='true'] > .icon.fw-stack > .toggle-icon-up:before, [aria-expanded='true'] > .icon.toggle-icon-up:before { - content: '\e684'; + content: '\e684'; } [aria-expanded='true'] > .icon.fw-stack > .toggle-icon-down:before, [aria-expanded='true'] > .icon.toggle-icon-down:before { - content: '\e685'; + content: '\e685'; } [aria-expanded='true'] > .icon.fw-stack > .toggle-icon-left:before, [aria-expanded='true'] > .icon.toggle-icon-left:before { - content: '\e686'; + content: '\e686'; } [aria-expanded='true'] > .icon.fw-stack > .toggle-icon-right:before, [aria-expanded='true'] > .icon.toggle-icon-right:before { - content: '\e687'; + content: '\e687'; } [aria-expanded='true'] > .icon.fw-stack > .toggle-icon-up-arrow:before, [aria-expanded='true'] > .icon.toggle-icon-up-arrow:before { - content: '\e688'; + content: '\e688'; } [aria-expanded='true'] > .icon.fw-stack > .toggle-icon-down-arrow:before, [aria-expanded='true'] > .icon.toggle-icon-down-arrow:before { - content: '\e689'; + content: '\e689'; } [aria-expanded='true'] > .icon.fw-stack > .toggle-icon-left-arrow:before, [aria-expanded='true'] > .icon.toggle-icon-left-arrow:before { - content: '\e68a'; + content: '\e68a'; } [aria-expanded='true'] > .icon.fw-stack > .toggle-icon-right-arrow:before, [aria-expanded='true'] > .icon.toggle-icon-right-arrow:before { - content: '\e68b'; + content: '\e68b'; } /* ======================================================================== * document styles * ======================================================================== */ * { - outline: none !important; + outline: none !important; } html { - position: relative; - min-height: 100%; - overflow-y: auto; - overflow-x: hidden; - width: 100%; + position: relative; + min-height: 100%; + overflow-y: auto; + overflow-x: hidden; + width: 100%; } body { - color: #222; - margin-bottom: 40px; - font-family: "Roboto", Arial, Helvetica, sans-serif; - font-weight: 300; - width: 100%; - overflow-x: hidden; + color: #222; + margin-bottom: 40px; + font-family: "Roboto", Arial, Helvetica, sans-serif; + font-weight: 300; + width: 100%; + overflow-x: hidden; } body > .page-content-wrapper > .container, body > .page-content-wrapper > .container-fluid { - padding: 10px 10px 30px; - margin: 0; + padding: 10px 10px 30px; + margin: 0; } @media only screen and (min-width: 768px) { - body > .page-content-wrapper > .container, - body > .page-content-wrapper > .container-fluid { - margin: 0; - } + body > .page-content-wrapper > .container, + body > .page-content-wrapper > .container-fluid { + margin: 0; + } } body.inverse { - background: #2c313b; - color: #ffffff; + background: #2c313b; + color: #ffffff; } a, a:hover, a:focus, a:active { - text-decoration: none; - color: inherit; - cursor: pointer; + text-decoration: none; + color: inherit; + cursor: pointer; } .h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 { - font-weight: 300; + font-weight: 300; } br.spacer { - display: block; - line-height: 30px; + display: block; + line-height: 30px; } pre { - -webkit-border-radius: 0; - -moz-border-radius: 0; - border-radius: 0; - border: none; + -webkit-border-radius: 0; + -moz-border-radius: 0; + border-radius: 0; + border: none; } .well { - -webkit-border-radius: 0; - -moz-border-radius: 0; - border-radius: 0; - -webkit-box-shadow: none; - -moz-box-shadow: none; - box-shadow: none; - border: none; + -webkit-border-radius: 0; + -moz-border-radius: 0; + border-radius: 0; + -webkit-box-shadow: none; + -moz-box-shadow: none; + box-shadow: none; + border: none; } .badge { - margin-bottom: 5px; - padding: 4px 7px; + margin-bottom: 5px; + padding: 4px 7px; } .no-wrap { - white-space: nowrap; + white-space: nowrap; } .fade-edge:after { - content: ""; - background-image: -webkit-gradient(linear, left top, right top, color-stop(0%, fade(#ffffff, 0%)), color-stop(100%, fade(#ffffff, 100%))); - background-image: -webkit-linear-gradient(left, fade(#ffffff, 0%), fade(#ffffff, 100%)); - background: linear-gradient(to right, fade(#ffffff, 0%), fade(#ffffff, 100%)); - filter: progid:DXImageTransform.Microsoft.gradient(GradientType=1, StartColorStr='#00$color', EndColorStr='$color'); - bottom: 0; - max-height: 100%; - position: absolute; - right: 0; - height: 10000px; - width: 20px; + content: ""; + background-image: -webkit-gradient(linear, left top, right top, color-stop(0%, fade(#ffffff, 0%)), color-stop(100%, fade(#ffffff, 100%))); + background-image: -webkit-linear-gradient(left, fade(#ffffff, 0%), fade(#ffffff, 100%)); + background: linear-gradient(to right, fade(#ffffff, 0%), fade(#ffffff, 100%)); + filter: progid:DXImageTransform.Microsoft.gradient(GradientType=1, StartColorStr='#00$color', EndColorStr='$color'); + bottom: 0; + max-height: 100%; + position: absolute; + right: 0; + height: 10000px; + width: 20px; } body.inverse .fade-edge:after { - content: ""; - background-image: -webkit-gradient(linear, left top, right top, color-stop(0%, fade(#2c313b, 0%)), color-stop(100%, fade(#2c313b, 100%))); - background-image: -webkit-linear-gradient(left, fade(#2c313b, 0%), fade(#2c313b, 100%)); - background: linear-gradient(to right, fade(#2c313b, 0%), fade(#2c313b, 100%)); - filter: progid:DXImageTransform.Microsoft.gradient(GradientType=1, StartColorStr='#00$color', EndColorStr='$color'); - bottom: 0; - max-height: 100%; - position: absolute; - right: 0; - height: 10000px; - width: 20px; + content: ""; + background-image: -webkit-gradient(linear, left top, right top, color-stop(0%, fade(#2c313b, 0%)), color-stop(100%, fade(#2c313b, 100%))); + background-image: -webkit-linear-gradient(left, fade(#2c313b, 0%), fade(#2c313b, 100%)); + background: linear-gradient(to right, fade(#2c313b, 0%), fade(#2c313b, 100%)); + filter: progid:DXImageTransform.Microsoft.gradient(GradientType=1, StartColorStr='#00$color', EndColorStr='$color'); + bottom: 0; + max-height: 100%; + position: absolute; + right: 0; + height: 10000px; + width: 20px; } .visible-block { - display: block !important; + display: block !important; } .visible-inline { - display: inline !important; + display: inline !important; } .visible-inline-block { - display: inline-block !important; + display: inline-block !important; } /* generating padding and margin classes */ .add-padding-1x { - padding: 5px !important; + padding: 5px !important; } .add-padding-top-1x { - padding-top: 5px !important; + padding-top: 5px !important; } .add-padding-bottom-1x { - padding-bottom: 5px !important; + padding-bottom: 5px !important; } .add-padding-left-1x { - padding-left: 5px !important; + padding-left: 5px !important; } .add-padding-right-1x { - padding-right: 5px !important; + padding-right: 5px !important; } .add-margin-1x { - margin: 5px !important; + margin: 5px !important; } .add-margin-top-1x { - margin-top: 5px !important; + margin-top: 5px !important; } .add-margin-bottom-1x { - margin-bottom: 5px !important; + margin-bottom: 5px !important; } .add-margin-left-1x { - margin-left: 5px !important; + margin-left: 5px !important; } .add-margin-right-1x { - margin-right: 5px !important; + margin-right: 5px !important; } .add-padding-2x { - padding: 10px !important; + padding: 10px !important; } .add-padding-top-2x { - padding-top: 10px !important; + padding-top: 10px !important; } .add-padding-bottom-2x { - padding-bottom: 10px !important; + padding-bottom: 10px !important; } .add-padding-left-2x { - padding-left: 10px !important; + padding-left: 10px !important; } .add-padding-right-2x { - padding-right: 10px !important; + padding-right: 10px !important; } .add-margin-2x { - margin: 10px !important; + margin: 10px !important; } .add-margin-top-2x { - margin-top: 10px !important; + margin-top: 10px !important; } .add-margin-bottom-2x { - margin-bottom: 10px !important; + margin-bottom: 10px !important; } .add-margin-left-2x { - margin-left: 10px !important; + margin-left: 10px !important; } .add-margin-right-2x { - margin-right: 10px !important; + margin-right: 10px !important; } .add-padding-3x { - padding: 15px !important; + padding: 15px !important; } .add-padding-top-3x { - padding-top: 15px !important; + padding-top: 15px !important; } .add-padding-bottom-3x { - padding-bottom: 15px !important; + padding-bottom: 15px !important; } .add-padding-left-3x { - padding-left: 15px !important; + padding-left: 15px !important; } .add-padding-right-3x { - padding-right: 15px !important; + padding-right: 15px !important; } .add-margin-3x { - margin: 15px !important; + margin: 15px !important; } .add-margin-top-3x { - margin-top: 15px !important; + margin-top: 15px !important; } .add-margin-bottom-3x { - margin-bottom: 15px !important; + margin-bottom: 15px !important; } .add-margin-left-3x { - margin-left: 15px !important; + margin-left: 15px !important; } .add-margin-right-3x { - margin-right: 15px !important; + margin-right: 15px !important; } .add-padding-4x { - padding: 20px !important; + padding: 20px !important; } .add-padding-top-4x { - padding-top: 20px !important; + padding-top: 20px !important; } .add-padding-bottom-4x { - padding-bottom: 20px !important; + padding-bottom: 20px !important; } .add-padding-left-4x { - padding-left: 20px !important; + padding-left: 20px !important; } .add-padding-right-4x { - padding-right: 20px !important; + padding-right: 20px !important; } .add-margin-4x { - margin: 20px !important; + margin: 20px !important; } .add-margin-top-4x { - margin-top: 20px !important; + margin-top: 20px !important; } .add-margin-bottom-4x { - margin-bottom: 20px !important; + margin-bottom: 20px !important; } .add-margin-left-4x { - margin-left: 20px !important; + margin-left: 20px !important; } .add-margin-right-4x { - margin-right: 20px !important; + margin-right: 20px !important; } .add-padding-5x { - padding: 25px !important; + padding: 25px !important; } .add-padding-top-5x { - padding-top: 25px !important; + padding-top: 25px !important; } .add-padding-bottom-5x { - padding-bottom: 25px !important; + padding-bottom: 25px !important; } .add-padding-left-5x { - padding-left: 25px !important; + padding-left: 25px !important; } .add-padding-right-5x { - padding-right: 25px !important; + padding-right: 25px !important; } .add-margin-5x { - margin: 25px !important; + margin: 25px !important; } .add-margin-top-5x { - margin-top: 25px !important; + margin-top: 25px !important; } .add-margin-bottom-5x { - margin-bottom: 25px !important; + margin-bottom: 25px !important; } .add-margin-left-5x { - margin-left: 25px !important; + margin-left: 25px !important; } .add-margin-right-5x { - margin-right: 25px !important; + margin-right: 25px !important; } .remove-padding { - padding: 0 !important; + padding: 0 !important; } .remove-padding-top { - padding-top: 0 !important; + padding-top: 0 !important; } .remove-padding-bottom { - padding-bottom: 0 !important; + padding-bottom: 0 !important; } .remove-padding-left { - padding-left: 0 !important; + padding-left: 0 !important; } .remove-padding-right { - padding-right: 0 !important; + padding-right: 0 !important; } .remove-margin { - margin: 0 !important; + margin: 0 !important; } .remove-margin-top { - margin-top: 0 !important; + margin-top: 0 !important; } .remove-margin-bottom { - margin-bottom: 0 !important; + margin-bottom: 0 !important; } .remove-margin-left { - margin-left: 0 !important; + margin-left: 0 !important; } .remove-margin-right { - margin-right: 0 !important; + margin-right: 0 !important; } @media (max-width: 767px) { - .remove-max-width-xs { - max-width: none !important; - } - .remove-max-height-xs { - max-width: none !important; - } - .pull-left-xs { - float: left !important; - } - .pull-right-xs { - float: right !important; - } - .float-remove-xs { - float: none !important; - } - .text-center-xs { - text-align: center !important; - } - .position-static-xs { - position: static !important; - } - .remove-padding-xs { - padding: 0 !important; - } - .remove-margin-xs { - margin: 0 !important; - } - .fade-in-xs { - opacity: 1 !important; - } - .fade-out-xs { - opacity: 0 !important; - } - .display-none-xs { - display: none !important; - } - .display-block-xs { - display: block !important; - } - .display-inline-xs { - display: inline !important; - } - .display-inline-block-xs { - display: inline-block !important; - } -} + .remove-max-width-xs { + max-width: none !important; + } -@media (min-width: 768px) and (max-width: 991px) { - .remove-max-width-sm { - max-width: none !important; - } - .remove-max-height-sm { - max-width: none !important; - } - .pull-left-sm { - float: left !important; - } - .pull-right-sm { - float: right !important; - } - .float-remove-sm { - float: none !important; - } - .text-center-sm { - text-align: center !important; - } - .position-static-sm { - position: static !important; - } - .remove-padding-sm { - padding: 0 !important; - } - .remove-margin-sm { - margin: 0 !important; - } - .fade-in-sm { - opacity: 1 !important; - } - .fade-out-sm { - opacity: 0 !important; - } - .display-none-sm { - display: none !important; - } - .display-block-sm { - display: block !important; - } - .display-inline-sm { - display: inline !important; - } - .display-inline-block-sm { - display: inline-block !important; - } -} + .remove-max-height-xs { + max-width: none !important; + } -@media (min-width: 992px) and (max-width: 1199px) { - .remove-max-width-md { - max-width: none !important; - } - .remove-max-height-md { - max-width: none !important; - } - .pull-left-md { - float: left !important; - } - .pull-right-md { - float: right !important; - } - .float-remove-md { - float: none !important; - } - .text-center-md { - text-align: center !important; - } - .position-static-md { - position: static !important; - } - .remove-padding-md { - padding: 0 !important; - } - .remove-margin-md { - margin: 0 !important; - } - .fade-in-md { - opacity: 1 !important; - } - .fade-out-md { - opacity: 0 !important; - } - .display-none-md { - display: none !important; - } - .display-block-md { - display: block !important; - } - .display-inline-md { - display: inline !important; - } - .display-inline-block-md { - display: inline-block !important; - } -} + .pull-left-xs { + float: left !important; + } -@media (min-width: 1200px) { - .remove-max-width-lg { - max-width: none !important; - } - .remove-max-height-lg { - max-width: none !important; - } - .pull-left-lg { - float: left !important; - } - .pull-right-lg { - float: right !important; - } - .float-remove-lg { - float: none !important; - } - .text-center-lg { - text-align: center !important; - } - .position-static-lg { - position: static !important; - } - .remove-padding-lg { - padding: 0 !important; - } - .remove-margin-lg { - margin: 0 !important; - } - .fade-in-lg { - opacity: 1 !important; - } - .fade-out-lg { - opacity: 0 !important; - } - .display-none-lg { - display: none !important; - } - .display-block-lg { - display: block !important; - } - .display-inline-lg { - display: inline !important; - } - .display-inline-block-lg { - display: inline-block !important; - } -} + .pull-right-xs { + float: right !important; + } -/* ======================================================================== - * row/col styles - * ======================================================================== */ -.row.no-gutter { - margin-right: 0; - margin-left: 0; -} + .float-remove-xs { + float: none !important; + } -.row.no-gutter [class*='col-']:not(:first-child), -.row.no-gutter [class*='col-']:not(:last-child) { - padding-right: 0; - padding-left: 0; -} + .text-center-xs { + text-align: center !important; + } -.col-fixed-fill { - overflow: hidden; -} + .position-static-xs { + position: static !important; + } -.col-fixed-left { - float: left; -} + .remove-padding-xs { + padding: 0 !important; + } -.col-fixed-right { - float: right; -} + .remove-margin-xs { + margin: 0 !important; + } -.col-fixed-1x { - width: 50px; -} + .fade-in-xs { + opacity: 1 !important; + } -.col-fixed-2x { - width: 100px; -} + .fade-out-xs { + opacity: 0 !important; + } -.col-fixed-3x { - width: 200px; -} + .display-none-xs { + display: none !important; + } -.col-fixed-4x { - width: 300px; -} + .display-block-xs { + display: block !important; + } -@media only screen and (max-width: 768px) { - .col-fixed-1x { - width: 25px; - } - .col-fixed-2x { - width: 50px; - } - .col-fixed-3x { - width: 100px; - } - .col-fixed-4x { - width: 150px; - } -} + .display-inline-xs { + display: inline !important; + } -@media only screen and (max-width: 480px) { - .col-fixed-1x { - width: 12px; - } - .col-fixed-2x { - width: 25px; - } - .col-fixed-3x { - width: 50px; - } - .col-fixed-4x { - width: 75px; - } + .display-inline-block-xs { + display: inline-block !important; + } } -/* ======================================================================== - * header styles - * ======================================================================== */ -header { - background: #11375B; - min-height: 50px; - position: relative; -} +@media (min-width: 768px) and (max-width: 991px) { + .remove-max-width-sm { + max-width: none !important; + } -header .brand { - padding: 10px 0; -} + .remove-max-height-sm { + max-width: none !important; + } -header .brand img.logo { - height: 24px; -} + .pull-left-sm { + float: left !important; + } -header .brand a { - min-height: 24px; -} + .pull-right-sm { + float: right !important; + } -header .brand h1 { - display: inline-block; - line-height: 1; - font-weight: 300; - font-size: 17px; - margin: 0 0 0 5px; - color: #ffffff; - padding: 6px 0 0 0; - font-style: normal; - text-transform: uppercase; -} + .float-remove-sm { + float: none !important; + } -header .dropdown { - display: inline-block; - color: #ffffff; - padding: 6px 0; - min-height: 50px; -} + .text-center-sm { + text-align: center !important; + } -header .dropdown[aria-expanded=true], header .dropdown:hover { - background: #072038; -} + .position-static-sm { + position: static !important; + } -@media only screen and (max-width: 768px) { - header .brand img.logo { - margin-top: 15px; - } - header .brand h1 { - display: block; - line-height: 0.6; - } -} + .remove-padding-sm { + padding: 0 !important; + } -/* ======================================================================== - * navbar styles - * ======================================================================== */ -.navbar-wrapper { - min-height: 50px; -} + .remove-margin-sm { + margin: 0 !important; + } -.navbar.affix, .navbar.affix-bottom { - top: 0 !important; - width: 100%; - z-index: 100000000; -} + .fade-in-sm { + opacity: 1 !important; + } -@media (max-width: 767px) { - .navbar.affix, .navbar.affix-bottom { - position: static; - } -} + .fade-out-sm { + opacity: 0 !important; + } -.loading .navbar.affix { - z-index: 1000000; -} + .display-none-sm { + display: none !important; + } + + .display-block-sm { + display: block !important; + } + + .display-inline-sm { + display: inline !important; + } + + .display-inline-block-sm { + display: inline-block !important; + } +} + +@media (min-width: 992px) and (max-width: 1199px) { + .remove-max-width-md { + max-width: none !important; + } + + .remove-max-height-md { + max-width: none !important; + } + + .pull-left-md { + float: left !important; + } + + .pull-right-md { + float: right !important; + } + + .float-remove-md { + float: none !important; + } + + .text-center-md { + text-align: center !important; + } + + .position-static-md { + position: static !important; + } + + .remove-padding-md { + padding: 0 !important; + } + + .remove-margin-md { + margin: 0 !important; + } + + .fade-in-md { + opacity: 1 !important; + } + + .fade-out-md { + opacity: 0 !important; + } + + .display-none-md { + display: none !important; + } + + .display-block-md { + display: block !important; + } + + .display-inline-md { + display: inline !important; + } + + .display-inline-block-md { + display: inline-block !important; + } +} + +@media (min-width: 1200px) { + .remove-max-width-lg { + max-width: none !important; + } + + .remove-max-height-lg { + max-width: none !important; + } + + .pull-left-lg { + float: left !important; + } + + .pull-right-lg { + float: right !important; + } + + .float-remove-lg { + float: none !important; + } + + .text-center-lg { + text-align: center !important; + } + + .position-static-lg { + position: static !important; + } + + .remove-padding-lg { + padding: 0 !important; + } + + .remove-margin-lg { + margin: 0 !important; + } + + .fade-in-lg { + opacity: 1 !important; + } + + .fade-out-lg { + opacity: 0 !important; + } + + .display-none-lg { + display: none !important; + } + + .display-block-lg { + display: block !important; + } + + .display-inline-lg { + display: inline !important; + } + + .display-inline-block-lg { + display: inline-block !important; + } +} + +/* ======================================================================== + * row/col styles + * ======================================================================== */ +.row.no-gutter { + margin-right: 0; + margin-left: 0; +} + +.row.no-gutter [class*='col-']:not(:first-child), +.row.no-gutter [class*='col-']:not(:last-child) { + padding-right: 0; + padding-left: 0; +} + +.col-fixed-fill { + overflow: hidden; +} + +.col-fixed-left { + float: left; +} + +.col-fixed-right { + float: right; +} + +.col-fixed-1x { + width: 50px; +} + +.col-fixed-2x { + width: 100px; +} + +.col-fixed-3x { + width: 200px; +} + +.col-fixed-4x { + width: 300px; +} + +@media only screen and (max-width: 768px) { + .col-fixed-1x { + width: 25px; + } + + .col-fixed-2x { + width: 50px; + } + + .col-fixed-3x { + width: 100px; + } + + .col-fixed-4x { + width: 150px; + } +} + +@media only screen and (max-width: 480px) { + .col-fixed-1x { + width: 12px; + } + + .col-fixed-2x { + width: 25px; + } + + .col-fixed-3x { + width: 50px; + } + + .col-fixed-4x { + width: 75px; + } +} + +/* ======================================================================== + * header styles + * ======================================================================== */ +header { + background: #11375B; + min-height: 50px; + position: relative; +} + +header .brand { + padding: 10px 0; +} + +header .brand img.logo { + height: 24px; +} + +header .brand a { + min-height: 24px; +} + +header .brand h1 { + display: inline-block; + line-height: 1; + font-weight: 300; + font-size: 17px; + margin: 0 0 0 5px; + color: #ffffff; + padding: 6px 0 0 0; + font-style: normal; + text-transform: uppercase; +} + +header .dropdown { + display: inline-block; + color: #ffffff; + padding: 6px 0; + min-height: 50px; +} + +header .dropdown[aria-expanded=true], header .dropdown:hover { + background: #072038; +} + +@media only screen and (max-width: 768px) { + header .brand img.logo { + margin-top: 15px; + } + + header .brand h1 { + display: block; + line-height: 0.6; + } +} + +/* ======================================================================== + * navbar styles + * ======================================================================== */ +.navbar-wrapper { + min-height: 50px; +} + +.navbar.affix, .navbar.affix-bottom { + top: 0 !important; + width: 100%; + z-index: 100000000; +} + +@media (max-width: 767px) { + .navbar.affix, .navbar.affix-bottom { + position: static; + } +} + +.loading .navbar.affix { + z-index: 1000000; +} .navbar { - background: #526A84; - border: none; - margin-bottom: 0; - min-height: 50px; - -webkit-border-radius: 0; - -moz-border-radius: 0; - border-radius: 0; + background: #526A84; + border: none; + margin-bottom: 0; + min-height: 50px; + -webkit-border-radius: 0; + -moz-border-radius: 0; + border-radius: 0; } .navbar .container-fluid { - padding: 0; + padding: 0; } .navbar .container-fluid > .navbar-collapse, .navbar .container-fluid > .navbar-header, .navbar .container > .navbar-collapse, .navbar .container > .navbar-header { - padding: 0; - margin: 0; + padding: 0; + margin: 0; } .navbar .container-fluid > .navbar-collapse .icon, .navbar .container-fluid > .navbar-header .icon, .navbar .container > .navbar-collapse .icon, .navbar .container > .navbar-header .icon { - margin-bottom: 0px !important; + margin-bottom: 0px !important; } .navbar-nav { - margin: 7.5px 0; + margin: 7.5px 0; } @media (min-width: 768px) { - .navbar-nav { - margin: 0 0; - } + .navbar-nav { + margin: 0 0; + } } .navbar-nav.nav-stacked > li { - float: none !important; + float: none !important; } .navbar-menu-toggle { - float: left; - height: 50px; - padding: 0 8px; - line-height: 50px; - font-size: 18px; - background: #F47415; - color: #ffffff; + float: left; + height: 50px; + padding: 0 8px; + line-height: 50px; + font-size: 18px; + background: #F47415; + color: #ffffff; } .navbar-menu-toggle:hover, .navbar-menu-toggle:focus, .navbar-menu-toggle:active { - color: #ffffff; - background: #D56613; + color: #ffffff; + background: #D56613; } .navbar-menu-toggle[aria-expanded=true] { - background: #D56613; + background: #D56613; } .navbar-toggle { - border: none; - -webkit-border-radius: 0; - -moz-border-radius: 0; - border-radius: 0; + border: none; + -webkit-border-radius: 0; + -moz-border-radius: 0; + border-radius: 0; } .navbar > .container .navbar-brand, .navbar > .container-fluid .navbar-brand { - color: #ffffff; - margin-left: 0; - padding: 0 15px; - line-height: 50px; - text-transform: uppercase; - background: #010F1F; - height: 40px; - font-size: 14px; + color: #ffffff; + margin-left: 0; + padding: 0 15px; + line-height: 50px; + text-transform: uppercase; + background: #010F1F; + height: 40px; + font-size: 14px; } .navbar > .container .navbar-brand a, .navbar > .container-fluid .navbar-brand a { - color: #ffffff; - font-size: 16px; + color: #ffffff; + font-size: 16px; } .navbar-default .navbar-collapse, .navbar-default .navbar-form { - border-top: none; - -webkit-box-shadow: none; - -moz-box-shadow: none; - box-shadow: none; + border-top: none; + -webkit-box-shadow: none; + -moz-box-shadow: none; + box-shadow: none; } .navbar-default .navbar-nav > li a { - color: #ffffff; - text-transform: uppercase; - padding: 0 15px; - line-height: 50px; - position: relative; + color: #ffffff; + text-transform: uppercase; + padding: 0 15px; + line-height: 50px; + position: relative; } .navbar-default .navbar-nav > li a:hover, .navbar-default .navbar-nav > li a:focus, .navbar-default .navbar-nav > li a:active { - background: #798EA5; - color: #ffffff; + background: #798EA5; + color: #ffffff; } .navbar-default .navbar-nav > li a:hover { - background: #798EA5; + background: #798EA5; } .navbar-default .navbar-nav > .active > a, .navbar-default .navbar-nav > .active > a:hover, .navbar-default .navbar-nav > .active > a:focus, .navbar-default .navbar-nav > .active > a:active { - background: #798EA5; - color: #ffffff; + background: #798EA5; + color: #ffffff; } .navbar-default .navbar-nav > .active > a:hover { - background: #424958; + background: #424958; } .navbar-collapse.dropdown { - background: #132D45; - margin-right: -10px; - margin-left: -10px; - padding-bottom: 0; - display: none !important; - overflow: hidden !important; + background: #132D45; + margin-right: -10px; + margin-left: -10px; + padding-bottom: 0; + display: none !important; + overflow: hidden !important; } .navbar-collapse.dropdown.collapsing { - display: block !important; + display: block !important; } .navbar-collapse.dropdown.in { - display: block !important; - overflow: visible !important; + display: block !important; + overflow: visible !important; } .navbar-collapse.tiles ul.nav { - height: 140px; + height: 140px; } .navbar-collapse.tiles ul.nav li { - display: inline-block; - text-align: center; - margin: 10px 5px; + display: inline-block; + text-align: center; + margin: 10px 5px; } .navbar-collapse.tiles ul.nav li a { - text-decoration: none; - width: 150px; - height: 120px; - padding: 15px; - background: #11375B; - display: block; - overflow: hidden; - line-height: 1.4em; + text-decoration: none; + width: 150px; + height: 120px; + padding: 15px; + background: #11375B; + display: block; + overflow: hidden; + line-height: 1.4em; } .navbar-collapse.tiles ul.nav li li a { - background: #526A84; + background: #526A84; } .navbar-collapse.tiles ul.nav li a:hover { - background: #133e67; + background: #133e67; } .navbar-collapse.tiles ul.nav li li a:hover { - background: #5d7896; + background: #5d7896; } .navbar-collapse.tiles ul.nav li a i { - font-size: 46px; - display: block; - margin-bottom: 10px; + font-size: 46px; + display: block; + margin-bottom: 10px; } .navbar-collapse.tiles ul.nav li ul { - padding-left: 160px; - margin-top: -130px; - display: none; + padding-left: 160px; + margin-top: -130px; + display: none; } .navbar-collapse.tiles ul.nav li.has-sub > a:after { - width: 7px; - height: 120px; - background: #526a84; - display: inline-block; - content: " "; - top: 0; - right: 0; - z-index: 100000; - position: absolute; + width: 7px; + height: 120px; + background: #526a84; + display: inline-block; + content: " "; + top: 0; + right: 0; + z-index: 100000; + position: absolute; } .navbar-collapse.tiles ul.nav li.has-sub[aria-expanded=true] > a:after { - right: auto; - left: 0; + right: auto; + left: 0; } .navbar-collapse.tiles ul.nav li.has-sub > a:before { - display: inline-block; - width: 0; - height: 0; - top: 45%; - right: 1px; - position: absolute; - z-index: 1000000; - content: " "; - vertical-align: middle; - border-left: 4px dashed; - border-top: 4px solid\9; - border-top: 4px solid transparent; - border-bottom: 4px solid transparent; - color: #dadada; + display: inline-block; + width: 0; + height: 0; + top: 45%; + right: 1px; + position: absolute; + z-index: 1000000; + content: " "; + vertical-align: middle; + border-left: 4px dashed; + border-top: 4px solid \9; + border-top: 4px solid transparent; + border-bottom: 4px solid transparent; + color: #dadada; } .navbar-collapse.tiles ul.nav li.has-sub[aria-expanded=true] > a:before { - right: auto; - left: -3px; - border-right: 4px dashed; - border-left: 4px dashed transparent; + right: auto; + left: -3px; + border-right: 4px dashed; + border-left: 4px dashed transparent; } .nav-pills > li.active > a, .nav-pills > li.active > a:focus, .nav-pills > li.active > a:hover { - color: #ffffff; - background: #11375B; - border-color: #11375B; + color: #ffffff; + background: #11375B; + border-color: #11375B; } /* ======================================================================== * sidebar styles * ======================================================================== */ .page-content-wrapper, .page-content-wrapper[data-container-behaviour=static] { - position: relative; - left: 0; - margin-left: 0; - min-height: calc(100% - 130px); - -webkit-transition: all 0.5s ease; - -moz-transition: all 0.5s ease; - -ms-transition: all 0.5s ease; - -o-transition: all 0.5s ease; - transition: all 0.5s ease; + position: relative; + left: 0; + margin-left: 0; + min-height: calc(100% - 130px); + -webkit-transition: all 0.5s ease; + -moz-transition: all 0.5s ease; + -ms-transition: all 0.5s ease; + -o-transition: all 0.5s ease; + transition: all 0.5s ease; } .page-content-wrapper.fixed, .page-content-wrapper.fixed > div, .page-content-wrapper.fixed > .sidebar-wrapper { - max-height: calc(100% - 130px); - overflow-y: auto; - overflow-x: hidden; + max-height: calc(100% - 130px); + overflow-y: auto; + overflow-x: hidden; } .page-content-wrapper.fixed, .page-content-wrapper.fixed > .sidebar-wrapper { - max-height: 100%; + max-height: 100%; } @media (max-width: 767px) { - .page-content-wrapper { - min-height: calc(100% - 205px); - } - .page-content-wrapper.fixed, - .page-content-wrapper.fixed > div { - max-height: calc(100% - 205px); - } - .page-content-wrapper.fixed > .sidebar-wrapper { - max-height: 100%; - } + .page-content-wrapper { + min-height: calc(100% - 205px); + } + + .page-content-wrapper.fixed, + .page-content-wrapper.fixed > div { + max-height: calc(100% - 205px); + } + + .page-content-wrapper.fixed > .sidebar-wrapper { + max-height: 100%; + } } .page-content-wrapper[data-container-push=true] { - left: 350px; + left: 350px; } .page-content-wrapper[data-push-side=right][data-container-push=true] { - left: auto; - right: 350px; + left: auto; + right: 350px; } .page-content-wrapper[data-container-divide=true] { - margin-left: 350px; + margin-left: 350px; } .page-content-wrapper[data-divide-side=right][data-container-divide=true] { - margin-left: auto; - padding-right: 350px; + margin-left: auto; + padding-right: 350px; } .sidebar-wrapper { - z-index: 1000; - position: absolute; - left: -350px; - width: 350px; - height: 100%; - overflow-y: auto; - background: #222; - color: #ffffff; - -webkit-transition: all 0.5s ease; - -moz-transition: all 0.5s ease; - -ms-transition: all 0.5s ease; - -o-transition: all 0.5s ease; - transition: all 0.5s ease; + z-index: 1000; + position: absolute; + left: -350px; + width: 350px; + height: 100%; + overflow-y: auto; + background: #222; + color: #ffffff; + -webkit-transition: all 0.5s ease; + -moz-transition: all 0.5s ease; + -ms-transition: all 0.5s ease; + -o-transition: all 0.5s ease; + transition: all 0.5s ease; } .sidebar-wrapper.affix { - position: fixed; - top: 50px; + position: fixed; + top: 50px; } .sidebar-wrapper.inverse { - background: #ffffff; - color: #222; + background: #ffffff; + color: #222; } .sidebar-wrapper[data-side=right] { - left: auto; - right: -350px; + left: auto; + right: -350px; } .sidebar-wrapper.toggled { - left: 0; - right: auto; + left: 0; + right: auto; } .sidebar-wrapper[data-side=right].toggled { - left: auto; - right: 0; + left: auto; + right: 0; } -.sidebar-wrapper-animation-fix{ - -webkit-transition: left 0.5s ease, right 0.5s ease !important; - -moz-transition: left 0.5s ease, right 0.5s ease !important; - -ms-transition: left 0.5s ease, right 0.5s ease !important; - -o-transition: left 0.5s ease, right 0.5s ease !important; - transition: left 0.5s ease, right 0.5s ease !important; +.sidebar-wrapper-animation-fix { + -webkit-transition: left 0.5s ease, right 0.5s ease !important; + -moz-transition: left 0.5s ease, right 0.5s ease !important; + -ms-transition: left 0.5s ease, right 0.5s ease !important; + -o-transition: left 0.5s ease, right 0.5s ease !important; + transition: left 0.5s ease, right 0.5s ease !important; } ul.sidebar-messages { - padding: 0; - margin: 0; - list-style: none; - padding: 10px; + padding: 0; + margin: 0; + list-style: none; + padding: 10px; } ul.sidebar-messages > li { - margin: 15px 0; + margin: 15px 0; } .sidebar-messages .message { - background: none; - padding: 5px 10px; + background: none; + padding: 5px 10px; } .sidebar-nav { - position: absolute; - top: 0; - width: 350px; - margin: 0; - padding: 0; - list-style: none; + position: absolute; + top: 0; + width: 350px; + margin: 0; + padding: 0; + list-style: none; } .sidebar-nav li { - text-indent: 20px; - line-height: 40px; + text-indent: 20px; + line-height: 40px; } .sidebar-nav li a { - display: block; - text-decoration: none; - color: #999999; + display: block; + text-decoration: none; + color: #999999; } .sidebar-nav li a:hover { - text-decoration: none; - color: #ffffff; - background: rgba(255, 255, 255, 0.2); + text-decoration: none; + color: #ffffff; + background: rgba(255, 255, 255, 0.2); } .sidebar-nav li a:active, .sidebar-nav li a:focus { - text-decoration: none; + text-decoration: none; } .sidebar-nav > .sidebar-brand { - height: 65px; - font-size: 18px; - line-height: 60px; + height: 65px; + font-size: 18px; + line-height: 60px; } .sidebar-nav > .sidebar-brand a { - color: #999999; + color: #999999; } .sidebar-nav > .sidebar-brand a:hover { - color: #ffffff; - background: none; + color: #ffffff; + background: none; } @media (min-width: 768px) { - #wrapper { - padding-left: 250px; - } - #wrapper.toggled { - padding-left: 0; - } - #sidebar-wrapper { - width: 350px; - } - #wrapper.toggled #sidebar-wrapper { - width: 0; - } - #page-content-wrapper { - position: relative; - } - #wrapper.toggled #page-content-wrapper { - position: relative; - margin-right: 0; - } + #wrapper { + padding-left: 250px; + } + + #wrapper.toggled { + padding-left: 0; + } + + #sidebar-wrapper { + width: 350px; + } + + #wrapper.toggled #sidebar-wrapper { + width: 0; + } + + #page-content-wrapper { + position: relative; + } + + #wrapper.toggled #page-content-wrapper { + position: relative; + margin-right: 0; + } } /* ======================================================================== * breadcrumb styles * ======================================================================== */ .breadcrumb { - margin: 0; - overflow: hidden; - text-transform: uppercase; - background: #282828; - color: #ffffff; - min-height: 30px; - padding: 5px 15px; - -webkit-border-radius: 0; - -moz-border-radius: 0; - border-radius: 0; + margin: 0; + overflow: hidden; + text-transform: uppercase; + background: #282828; + color: #ffffff; + min-height: 30px; + padding: 5px 15px; + -webkit-border-radius: 0; + -moz-border-radius: 0; + border-radius: 0; } .breadcrumb > li + li:before { - padding: 0 1px; + padding: 0 1px; } .breadcrumb > li > a > .icon { - padding-bottom: 3px; + padding-bottom: 3px; } /* ======================================================================== * footer styles * ======================================================================== */ footer { - position: absolute; - bottom: 0; - width: 100%; - min-height: 40px; - overflow: hidden; - color: #cbcbcb; - background: #222; - z-index: 1000; + position: absolute; + bottom: 0; + width: 100%; + min-height: 40px; + overflow: hidden; + color: #cbcbcb; + background: #222; + z-index: 1000; } footer > .container, footer > .container-fluid { - padding-right: 15px; - padding-left: 15px; + padding-right: 15px; + padding-left: 15px; } footer > .container p, footer > .container-fluid p { - line-height: 40px; - margin-bottom: 0; + line-height: 40px; + margin-bottom: 0; } footer .icon { - font-size: 21px; - vertical-align: middle; - color: #cbcbcb; + font-size: 21px; + vertical-align: middle; + color: #cbcbcb; } footer a, footer a:hover { - color: #cbcbcb; + color: #cbcbcb; } /* ======================================================================== * body styles * ======================================================================== */ .body-wrapper a:hover { - text-decoration: underline; + text-decoration: underline; } .page-header { - margin: 0 0 20px; + margin: 0 0 20px; } .page-header > h1 { - margin-top: 0; + margin-top: 0; } .lead { - margin-bottom: 0; + margin-bottom: 0; } /* ======================================================================== * alert styles * ======================================================================== */ .alert { - -webkit-border-radius: 0; - -moz-border-radius: 0; - border-radius: 0; - border: none; - position: relative; - padding: 15px 50px 15px 15px; + -webkit-border-radius: 0; + -moz-border-radius: 0; + border-radius: 0; + border: none; + position: relative; + padding: 15px 50px 15px 15px; } .alert .icon { - padding-bottom: 3px; - margin-right: 6px; + padding-bottom: 3px; + margin-right: 6px; } .alert .close { - position: absolute; - top: 0; - right: 0; - height: 50px; - width: 50px; - line-height: 1; - padding: 0 10px; - font-size: 12px; - background: #222; - color: #ffffff; + position: absolute; + top: 0; + right: 0; + height: 50px; + width: 50px; + line-height: 1; + padding: 0 10px; + font-size: 12px; + background: #222; + color: #ffffff; } .alert.alert-success { - color: #ffffff; - background: #5cb85c; + color: #ffffff; + background: #5cb85c; } .alert.alert-success .close { - background: #060f06; + background: #060f06; } .alert.alert-info { - color: #ffffff; - background: #009DA7; + color: #ffffff; + background: #009DA7; } .alert.alert-info .close { - background: black; + background: black; } .alert.alert-warning { - color: #ffffff; - background: #f0ad4e; + color: #ffffff; + background: #f0ad4e; } .alert.alert-warning .close { - background: #3a2405; + background: #3a2405; } .alert.alert-danger { - color: #ffffff; - background: #d9534f; + color: #ffffff; + background: #d9534f; } .alert.alert-danger .close { - background: #220807; + background: #220807; } /* ======================================================================== * message styles * ======================================================================== */ .message { - padding: 20px; - margin: 20px 0; - border-left: 5px solid transparent; - background: #f9f9f9; - -webkit-border-radius: 0; - -moz-border-radius: 0; - border-radius: 0; + padding: 20px; + margin: 20px 0; + border-left: 5px solid transparent; + background: #f9f9f9; + -webkit-border-radius: 0; + -moz-border-radius: 0; + border-radius: 0; } .message h4 { - margin-top: 0; - margin-bottom: 5px; + margin-top: 0; + margin-bottom: 5px; } .message h4 .icon { - padding-bottom: 3px; - margin-right: 5px; + padding-bottom: 3px; + margin-right: 5px; } .message p:last-child { - margin-bottom: 0; + margin-bottom: 0; } .message code { - border-radius: 3px; + border-radius: 3px; } .message + .message { - margin-top: -5px; + margin-top: -5px; } .message-success { - border-left-color: #5cb85c; + border-left-color: #5cb85c; } .message-success h4 { - color: #5cb85c; + color: #5cb85c; } .message-info { - border-left-color: #009DA7; + border-left-color: #009DA7; } .message-info h4 { - color: #009DA7; + color: #009DA7; } .message-warning { - border-left-color: #f0ad4e; + border-left-color: #f0ad4e; } .message-warning h4 { - color: #f0ad4e; + color: #f0ad4e; } .message-danger { - border-left-color: #d9534f; + border-left-color: #d9534f; } .message-danger h4 { - color: #d9534f; + color: #d9534f; } /* ======================================================================== * dropdown menu styles * ======================================================================== */ .dropdown-menu { - border: none; - background: #e4e4e4; - -webkit-border-radius: 0; - -moz-border-radius: 0; - border-radius: 0; - -webkit-box-shadow: none; - -moz-box-shadow: none; - box-shadow: none; + border: none; + background: #e4e4e4; + -webkit-border-radius: 0; + -moz-border-radius: 0; + border-radius: 0; + -webkit-box-shadow: none; + -moz-box-shadow: none; + box-shadow: none; } .dropdown-menu:after { - content: " "; - display: block; - font-size: 0; - height: 0; - clear: both; - visibility: hidden; + content: " "; + display: block; + font-size: 0; + height: 0; + clear: both; + visibility: hidden; } .dropdown-menu.arrow:before, .dropdown-menu.arrow.arrow-top-left:before { - position: absolute; - top: -5px; - left: 15px; - right: auto; - display: inline-block; - border-right: 6px solid transparent; - border-bottom: 6px solid #e4e4e4; - border-left: 6px solid transparent; - content: ''; + position: absolute; + top: -5px; + left: 15px; + right: auto; + display: inline-block; + border-right: 6px solid transparent; + border-bottom: 6px solid #e4e4e4; + border-left: 6px solid transparent; + content: ''; } .dropdown-menu.arrow.arrow-top-right:before { - left: auto; - right: 15px; + left: auto; + right: 15px; } .dropdown-menu.dark { - background: #222; - color: #ffffff; - -webkit-border-radius: 0; - -moz-border-radius: 0; - border-radius: 0; - -webkit-box-shadow: none; - -moz-box-shadow: none; - box-shadow: none; + background: #222; + color: #ffffff; + -webkit-border-radius: 0; + -moz-border-radius: 0; + border-radius: 0; + -webkit-box-shadow: none; + -moz-box-shadow: none; + box-shadow: none; } .dropdown-menu.dark a { - color: #ffffff; + color: #ffffff; } .dropdown-menu.dark.arrow:before { - border-bottom-color: #222; + border-bottom-color: #222; } .dropdown-menu.tiles { - padding: 4px; - max-width: 385px; + padding: 4px; + max-width: 385px; } .dropdown-menu.tiles > li { - padding: 0; - list-style: none; - display: inline-block; - float: left; + padding: 0; + list-style: none; + display: inline-block; + float: left; } .dropdown-menu.tiles li a { - display: block; - margin: 4px; - padding: 5px; - list-style: none; - width: 85px; - height: 85px; - text-align: center; - vertical-align: text-bottom; - color: #ffffff; - text-decoration: none; - background: #444; + display: block; + margin: 4px; + padding: 5px; + list-style: none; + width: 85px; + height: 85px; + text-align: center; + vertical-align: text-bottom; + color: #ffffff; + text-decoration: none; + background: #444; } .dropdown-menu.tiles li a:hover { - background: #555; + background: #555; } .dropdown-menu.tiles li a .icon { - display: block; - font-size: 35px; - margin: 3px 0 7px; - height: 35px; + display: block; + font-size: 35px; + margin: 3px 0 7px; + height: 35px; } .dropdown-menu.tiles li a .name { - display: block; - line-height: 14px; - font-size: 12px; - height: 28px; - overflow: hidden; + display: block; + line-height: 14px; + font-size: 12px; + height: 28px; + overflow: hidden; } .dropdown-submenu { - position: relative; + position: relative; } .dropdown-submenu > .dropdown-menu { - top: 0; - left: 100%; - margin-top: -6px; - margin-left: -1px; + top: 0; + left: 100%; + margin-top: -6px; + margin-left: -1px; } .dropdown-submenu:hover > .dropdown-menu { - display: block; + display: block; } .dropdown-submenu > a:after { - display: block; - content: " "; - float: right; - width: 0; - height: 0; - border-color: transparent; - border-style: solid; - border-width: 5px 0 5px 5px; - border-left-color: #cccccc; - margin-top: 5px; - margin-right: -10px; + display: block; + content: " "; + float: right; + width: 0; + height: 0; + border-color: transparent; + border-style: solid; + border-width: 5px 0 5px 5px; + border-left-color: #cccccc; + margin-top: 5px; + margin-right: -10px; } .dropdown-submenu:hover > a:after { - border-left-color: #ffffff; + border-left-color: #ffffff; } .dropdown-submenu.pull-left { - float: none; + float: none; } .dropdown-submenu.pull-left > .dropdown-menu { - left: -100%; - margin-left: 10px; + left: -100%; + margin-left: 10px; } /* ======================================================================== * loading styles * ======================================================================== */ .loading { - position: relative; + position: relative; } .loading[data-loading-style=overlay] .loading-bg { - background: #222; - position: absolute; - height: 100%; - width: 100%; - z-index: 10000000; - opacity: 0.6; - filter: "alpha(opacity=60)"; + background: #222; + position: absolute; + height: 100%; + width: 100%; + z-index: 10000000; + opacity: 0.6; + filter: "alpha(opacity=60)"; } .loading[data-loading-style=icon-only] .loading-bg { - display: none; + display: none; } .loading[data-loading-inverse=true] .loading-bg { - background: #ffffff; + background: #ffffff; } .loading .loading-animation { - position: absolute; - z-index: 10000001; - top: 50%; - left: 50%; - width: 100px; - height: 75px; - text-align: center; - -webkit-transform: translate(-50%, -50%); - -moz-transform: translate(-50%, -50%); - -ms-transform: translate(-50%, -50%); - -o-transform: translate(-50%, -50%); - transform: translate(-50%, -50%); + position: absolute; + z-index: 10000001; + top: 50%; + left: 50%; + width: 100px; + height: 75px; + text-align: center; + -webkit-transform: translate(-50%, -50%); + -moz-transform: translate(-50%, -50%); + -ms-transform: translate(-50%, -50%); + -o-transform: translate(-50%, -50%); + transform: translate(-50%, -50%); } .loading .loading-animation .logo img { - max-width: 50px; + max-width: 50px; } .loading .loading-animation .logo { - position: relative; - width: 50px; - margin: 0 auto; + position: relative; + width: 50px; + margin: 0 auto; } .loading .loading-animation .logo .pulse-line, .loading .loading-animation .logo .circle { - fill: none; - stroke: #ffffff; + fill: none; + stroke: #ffffff; } .loading[data-loading-inverse=true] .loading-animation .logo .pulse-line, .loading[data-loading-inverse=true] .loading-animation .logo .circle { - stroke: #222; + stroke: #222; } .loading .loading-animation .logo .circle { - stroke-dasharray: 100; - opacity: 0.5; - filter: "alpha(opacity=50)"; + stroke-dasharray: 100; + opacity: 0.5; + filter: "alpha(opacity=50)"; } .loading .loading-animation .logo .pulse-line { - stroke-dasharray: 200; - stroke-dashoffset: 200; - animation: dash 4s linear infinite; - opacity: 0; - filter: "alpha(opacity=0)"; -} - -@keyframes dash { - 0% { - opacity: 0.9; - filter: "alpha(opacity=90)"; - } - 10% { + stroke-dasharray: 200; stroke-dashoffset: 200; - opacity: 0.9; - filter: "alpha(opacity=90)"; - } - 70% { - stroke-dashoffset: 500; - opacity: 0.9; - filter: "alpha(opacity=90)"; - } - 80% { - opacity: 0; - filter: "alpha(opacity=0)"; - } - 100% { + animation: dash 4s linear infinite; opacity: 0; filter: "alpha(opacity=0)"; - } } -.loading .loading-animation .logo .signal { - border: 5px solid #ffffff; - border-radius: 50px; - height: 50px; - width: 50px; - opacity: 0; - filter: "alpha(opacity=0)"; - position: absolute; - top: 0; - animation: pulsate 4s ease-out infinite; - animation-delay: 1.5s; - -webkit-transform: translate(-50%, -50%); - -moz-transform: translate(-50%, -50%); - -ms-transform: translate(-50%, -50%); - -o-transform: translate(-50%, -50%); - transform: translate(-50%, -50%); +@keyframes dash { + 0% { + opacity: 0.9; + filter: "alpha(opacity=90)"; + } + 10% { + stroke-dashoffset: 200; + opacity: 0.9; + filter: "alpha(opacity=90)"; + } + 70% { + stroke-dashoffset: 500; + opacity: 0.9; + filter: "alpha(opacity=90)"; + } + 80% { + opacity: 0; + filter: "alpha(opacity=0)"; + } + 100% { + opacity: 0; + filter: "alpha(opacity=0)"; + } } -@keyframes pulsate { - 0%, 30% { - opacity: 0; - filter: "alpha(opacity=0)"; - -webkit-transform: scale(0.9); - -moz-transform: scale(0.9); - -ms-transform: scale(0.9); - -o-transform: scale(0.9); - transform: scale(0.9); - } - 40% { - opacity: 1; - filter: "alpha(opacity=100)"; - } - 60% { +.loading .loading-animation .logo .signal { + border: 5px solid #ffffff; + border-radius: 50px; + height: 50px; + width: 50px; opacity: 0; filter: "alpha(opacity=0)"; - -webkit-transform: scale(1.2); - -moz-transform: scale(1.2); - -ms-transform: scale(1.2); - -o-transform: scale(1.2); - transform: scale(1.2); - } + position: absolute; + top: 0; + animation: pulsate 4s ease-out infinite; + animation-delay: 1.5s; + -webkit-transform: translate(-50%, -50%); + -moz-transform: translate(-50%, -50%); + -ms-transform: translate(-50%, -50%); + -o-transform: translate(-50%, -50%); + transform: translate(-50%, -50%); +} + +@keyframes pulsate { + 0%, 30% { + opacity: 0; + filter: "alpha(opacity=0)"; + -webkit-transform: scale(0.9); + -moz-transform: scale(0.9); + -ms-transform: scale(0.9); + -o-transform: scale(0.9); + transform: scale(0.9); + } + 40% { + opacity: 1; + filter: "alpha(opacity=100)"; + } + 60% { + opacity: 0; + filter: "alpha(opacity=0)"; + -webkit-transform: scale(1.2); + -moz-transform: scale(1.2); + -ms-transform: scale(1.2); + -o-transform: scale(1.2); + transform: scale(1.2); + } } .loading .loading-animation p { - color: #ffffff; - text-align: center; - font-size: 11px; - margin-top: 4px; - text-transform: uppercase; + color: #ffffff; + text-align: center; + font-size: 11px; + margin-top: 4px; + text-transform: uppercase; } .loading[data-loading-inverse=true] .loading-animation p { - color: #222; + color: #222; } /* ui fixes */ #dp_swf_engine { - display: none; + display: none; } /* ======================================================================== * form styles * ======================================================================== */ .form-horizontal { - max-width: 750px; + max-width: 750px; } .control-label { - font-weight: 400; + font-weight: 400; } .input-group-btn .control-label { - font-size: 14px; - padding-top: 0; - margin: 0 5px; + font-size: 14px; + padding-top: 0; + margin: 0 5px; } .input-group-btn .btn, .input-group-btn .btn:hover, .input-group-btn .btn:focus { - border-color: #ccc; + border-color: #ccc; } .form-control, .btn { - -webkit-border-radius: 0; - -moz-border-radius: 0; - border-radius: 0; - -webkit-box-shadow: none; - -moz-box-shadow: none; - box-shadow: none; + -webkit-border-radius: 0; + -moz-border-radius: 0; + border-radius: 0; + -webkit-box-shadow: none; + -moz-box-shadow: none; + box-shadow: none; } a.btn, .btn { - text-decoration: none; + text-decoration: none; } a.btn .icon-caret, .btn .icon-caret { - padding: 0 0 0 8px; - margin-left: 5px; - border-left: 1px solid #e4e4e4; + padding: 0 0 0 8px; + margin-left: 5px; + border-left: 1px solid #e4e4e4; } a.btn.active, a.btn:active, .btn.active, .btn:active { - -webkit-box-shadow: none; - -moz-box-shadow: none; - box-shadow: none; + -webkit-box-shadow: none; + -moz-box-shadow: none; + box-shadow: none; } a.btn:hover, .btn:hover { - text-decoration: none; - background: #eee; + text-decoration: none; + background: #eee; } .btn-default, .btn-default:focus { - color: #222; - background-color: #ffffff; - border-color: #ffffff; + color: #222; + background-color: #ffffff; + border-color: #ffffff; } .btn-default:hover { - background-color: #e6e6e6; - border-color: #ffffff; + background-color: #e6e6e6; + border-color: #ffffff; } .btn-primary, .btn-primary:focus { - color: #ffffff; - background-color: #2c313b; - border-color: #2c313b; + color: #ffffff; + background-color: #2c313b; + border-color: #2c313b; } .btn-primary:hover { - background-color: #424958; - border-color: #2c313b; + background-color: #424958; + border-color: #2c313b; } .btn-bordered, .btn-bordered:focus, .btn-bordered:hover { - border: 1px solid #ccc; + border: 1px solid #ccc; } .btn-group > .btn-label { - position: relative; - float: left; - color: #222; - background-color: transparent; - display: inline-block; - padding: 6px 12px; - margin-bottom: 0; - font-size: 14px; - font-weight: 400; - line-height: 1.42857143; - text-align: center; - white-space: nowrap; - vertical-align: middle; - background-image: none; - border: 1px solid transparent; + position: relative; + float: left; + color: #222; + background-color: transparent; + display: inline-block; + padding: 6px 12px; + margin-bottom: 0; + font-size: 14px; + font-weight: 400; + line-height: 1.42857143; + text-align: center; + white-space: nowrap; + vertical-align: middle; + background-image: none; + border: 1px solid transparent; } .btn-group > .btn-label.btn-bordered { - border-color: #e4e4e4; - margin-left: -1px; - margin-right: -1px; + border-color: #e4e4e4; + margin-left: -1px; + margin-right: -1px; } .remove-icon-ring-on-hover:hover .fw-circle-outline { - display: none; + display: none; } .has-form-control-btn { - position: relative; + position: relative; } .form-control-btn, .form-control-btn:focus, .form-control-btn:active, .form-control-btn:hover { - position: absolute; - top: 0; - right: 0; - display: block; - width: 34px; - height: 34px; - line-height: 34px; - text-align: center; - background: transparent; - border: none; - z-index: 5; - opacity: 0.7; - font-size: 14px; + position: absolute; + top: 0; + right: 0; + display: block; + width: 34px; + height: 34px; + line-height: 34px; + text-align: center; + background: transparent; + border: none; + z-index: 5; + opacity: 0.7; + font-size: 14px; } .form-control-btn:hover { - opacity: 1; + opacity: 1; } .form-control { - width: 100%; + width: 100%; } .form-control-xs { - min-width: calc(750px/12); + min-width: calc(750px / 12); } .form-control-sm { - min-width: calc(750px/9); + min-width: calc(750px / 9); } .form-control-md { - min-width: calc(750px/6); + min-width: calc(750px / 6); } .form-control-lg { - min-width: calc(750px/2); + min-width: calc(750px / 2); } input[type=number].form-control { - padding: 0 0 0 12px; + padding: 0 0 0 12px; } .input-wrap { - width: 100%; + width: 100%; } .form-control:focus { - -webkit-box-shadow: none; - -moz-box-shadow: none; - box-shadow: none; + -webkit-box-shadow: none; + -moz-box-shadow: none; + box-shadow: none; } .input-wrap .btn.wrap-input-right { - border-left: none; + border-left: none; } .input-group-addon { - -webkit-border-radius: 0; - -moz-border-radius: 0; - border-radius: 0; + -webkit-border-radius: 0; + -moz-border-radius: 0; + border-radius: 0; } .file-upload-control input[type=file] { - display: none; + display: none; } .file-upload-control input[readonly] { - background-color: white !important; - cursor: text !important; + background-color: white !important; + cursor: text !important; } @media only screen and (max-width: 768px) { - .input-group.res-wrap, - .input-group.res-wrap .form-control, - .input-group.res-wrap .control-label, - .input-group.res-wrap .input-group-btn { - min-width: 100%; - display: block; - float: none; - } - .input-group.res-wrap .control-label { - line-height: 34px; - margin: 5px 0 0 0; - } - .form-control-xs { - min-width: calc(750px/24); - } - .form-control-sm { - min-width: calc(750px/18); - } - .form-control-md { - min-width: calc(750px/12); - } - .form-control-lg { - min-width: calc(750px/4); - } + .input-group.res-wrap, + .input-group.res-wrap .form-control, + .input-group.res-wrap .control-label, + .input-group.res-wrap .input-group-btn { + min-width: 100%; + display: block; + float: none; + } + + .input-group.res-wrap .control-label { + line-height: 34px; + margin: 5px 0 0 0; + } + + .form-control-xs { + min-width: calc(750px / 24); + } + + .form-control-sm { + min-width: calc(750px / 18); + } + + .form-control-md { + min-width: calc(750px / 12); + } + + .form-control-lg { + min-width: calc(750px / 4); + } } /* ======================================================================== * table styles * ======================================================================== */ .table thead th { - font-weight: 300; + font-weight: 300; } .table .form-control { - min-width: 100%; + min-width: 100%; } @media only screen and (max-width: 767px) { - .table-responsive table, - .table-responsive thead, - .table-responsive tbody, - .table-responsive th, - .table-responsive td, - .table-responsive tr { - display: block; - } - .table-responsive thead tr { - position: absolute; - top: -9999px; - left: -9999px; - } - .table-responsive tr { - border: 1px solid #ccc; - } - .table-responsive.table-striped { - border: none; - } - .table-responsive tbody > tr > td { - border: none; - border-bottom: 1px solid #eee; - position: relative; - padding-left: 50%; - white-space: normal; - text-align: left; - } - .table-responsive tr > td:before { - position: absolute; - top: 6px; - left: 6px; - width: 45%; - padding-right: 10px; - white-space: nowrap; - text-align: left; - font-weight: bold; - } - .table-responsive tbody > tr > td:before { - content: attr(data-title); - } + .table-responsive table, + .table-responsive thead, + .table-responsive tbody, + .table-responsive th, + .table-responsive td, + .table-responsive tr { + display: block; + } + + .table-responsive thead tr { + position: absolute; + top: -9999px; + left: -9999px; + } + + .table-responsive tr { + border: 1px solid #ccc; + } + + .table-responsive.table-striped { + border: none; + } + + .table-responsive tbody > tr > td { + border: none; + border-bottom: 1px solid #eee; + position: relative; + padding-left: 50%; + white-space: normal; + text-align: left; + } + + .table-responsive tr > td:before { + position: absolute; + top: 6px; + left: 6px; + width: 45%; + padding-right: 10px; + white-space: nowrap; + text-align: left; + font-weight: bold; + } + + .table-responsive tbody > tr > td:before { + content: attr(data-title); + } } /* ======================================================================== * thumbnail styles * ======================================================================== */ .thumbnail { - -webkit-border-radius: 0; - -moz-border-radius: 0; - border-radius: 0; + -webkit-border-radius: 0; + -moz-border-radius: 0; + border-radius: 0; } .thumbnail.icon { - border: none; - margin: 0; - background: #2c313b; - color: #fff; - text-align: center; - overflow: hidden; - position: relative; + border: none; + margin: 0; + background: #2c313b; + color: #fff; + text-align: center; + overflow: hidden; + position: relative; } .thumbnail.icon:before { - display: block; - content: ""; - width: 100%; - padding-top: 100%; + display: block; + content: ""; + width: 100%; + padding-top: 100%; } .thumbnail.icon > .square-element { - position: absolute; - top: 0; - left: 0; - right: 0; - bottom: 0; + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 0; } .thumbnail.icon .square-element:before { - position: absolute; - top: 50%; - left: 50%; - -webkit-transform: translate(-50%, -50%); - -moz-transform: translate(-50%, -50%); - -ms-transform: translate(-50%, -50%); - -o-transform: translate(-50%, -50%); - transform: translate(-50%, -50%); + position: absolute; + top: 50%; + left: 50%; + -webkit-transform: translate(-50%, -50%); + -moz-transform: translate(-50%, -50%); + -ms-transform: translate(-50%, -50%); + -o-transform: translate(-50%, -50%); + transform: translate(-50%, -50%); } .thumbnail.icon img { - width: 100%; - padding: 10px; + width: 100%; + padding: 10px; } -.table .icon-only{ - cursor: pointer; +.table .icon-only { + cursor: pointer; } /* ======================================================================== * thumbnail list styles * ======================================================================== */ .thumbnail-list { - padding: 0; - margin: 0; - list-style: none; + padding: 0; + margin: 0; + list-style: none; } .thumbnail-list:after { - content: " "; - display: block; - font-size: 0; - height: 0; - clear: both; - visibility: hidden; + content: " "; + display: block; + font-size: 0; + height: 0; + clear: both; + visibility: hidden; } .thumbnail-list li { - float: left; + float: left; } /* ======================================================================== @@ -2064,9 +2145,9 @@ input[type=number].form-control { .pagination > li:first-child > span, .pagination > li:last-child > a, .pagination > li:last-child > span { - -webkit-border-radius: 0; - -moz-border-radius: 0; - border-radius: 0; + -webkit-border-radius: 0; + -moz-border-radius: 0; + border-radius: 0; } .pagination > li > a, @@ -2074,8 +2155,8 @@ input[type=number].form-control { .pagination > li > a:hover, .pagination > li > span, .pagination > li > span:hover { - text-decoration: none; - color: #2c313b; + text-decoration: none; + color: #2c313b; } .pagination > .active > a, @@ -2084,8 +2165,8 @@ input[type=number].form-control { .pagination > .active > span, .pagination > .active > span:focus, .pagination > .active > span:hover { - background: #2c313b; - border-color: #2c313b; + background: #2c313b; + border-color: #2c313b; } .pagination > .disabled > a, @@ -2094,174 +2175,173 @@ input[type=number].form-control { .pagination > .disabled > span, .pagination > .disabled > span:focus, .pagination > .disabled > span:hover { - display: none; + display: none; } /* ======================================================================== * panel styles * ======================================================================== */ .panel-group .panel, .panel-heading, .panel-footer, .panel-body { - -webkit-border-radius: 0; - -moz-border-radius: 0; - border-radius: 0; - padding: 0; + -webkit-border-radius: 0; + -moz-border-radius: 0; + border-radius: 0; + padding: 0; } .panel { - -webkit-box-shadow: none; - -moz-box-shadow: none; - box-shadow: none; - border: none; + -webkit-box-shadow: none; + -moz-box-shadow: none; + box-shadow: none; + border: none; } .panel-default > .panel-heading { - background: transparent; - font-size: 24px; - font-weight: 300; - border-bottom: 1px solid #e4e4e4; - padding-bottom: 10px; - margin-bottom: 20px; + background: transparent; + font-size: 24px; + font-weight: 300; + border-bottom: 1px solid #e4e4e4; + padding-bottom: 10px; + margin-bottom: 20px; } /* ======================================================================== * noty styles * ======================================================================== */ #noty_topRight_layout_container { - position: absolute !important; + position: absolute !important; } #noty_topRight_layout_container, #noty_topLeft_layout_container { - margin-top: 100px !important; + margin-top: 100px !important; } .noty_bar { - height: auto; - border: none; - padding: 10px 20px; + height: auto; + border: none; + padding: 10px 20px; } .noty_container_type_notification { - background-color: #222; - color: #ffffff; + background-color: #222; + color: #ffffff; } .noty_container_type_warning { - background-color: #ffeaa8; - color: #826200; + background-color: #ffeaa8; + color: #826200; } .noty_container_type_error { - background-color: #e74c3c; - color: #ffffff; + background-color: #e74c3c; + color: #ffffff; } .noty_container_type_information { - background-color: #78c5e7; - color: #ffffff; + background-color: #78c5e7; + color: #ffffff; } .noty_container_type_success { - background-color: #40d47e; - color: #ffffff; + background-color: #40d47e; + color: #ffffff; } @media only screen and (max-width: 768px) { - #noty_topRight_layout_container, .noty_container_type_information, #noty_topLeft_layout_container, .noty_bar { - width: 100% !important; - left: 0; - right: 0; - } + #noty_topRight_layout_container, .noty_container_type_information, #noty_topLeft_layout_container, .noty_bar { + width: 100% !important; + left: 0; + right: 0; + } } /* ======================================================================== * tiles styles * ======================================================================== */ ul.tiles { - padding: 0; - margin: 0; - list-style: none; + padding: 0; + margin: 0; + list-style: none; } ul.tiles li { - display: inline-block; + display: inline-block; } ul.tiles li.square { - min-width: 80px; - position: relative; + min-width: 80px; + position: relative; } ul.tiles li.square:before { - display: block; - content: ""; - width: 100%; - padding-top: 100%; + display: block; + content: ""; + width: 100%; + padding-top: 100%; } ul.tiles li.square > .square-element { - position: absolute; - top: 0; - left: 0; - right: 0; - bottom: 0; + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 0; } ul.tiles li a { - text-decoration: none; - padding: 5px; - background: #f3f3f3; - color: #222; - display: block; - overflow: hidden; - line-height: 1.2em; - white-space: normal; - text-transform: capitalize; + text-decoration: none; + padding: 5px; + background: #f3f3f3; + color: #222; + display: block; + overflow: hidden; + line-height: 1.2em; + white-space: normal; + text-transform: capitalize; } ul.tiles .icon { - display: block; - font-size: 15px; - margin: 0 auto 5px; + display: block; + font-size: 15px; + margin: 0 auto 5px; } /* ======================================================================== * modal popup styles * ======================================================================== */ - /* ======================================================================== * list group styles * ======================================================================== */ .list-group-item:first-child, .list-group-item:last-child { - -webkit-border-radius: 0; - -moz-border-radius: 0; - border-radius: 0; + -webkit-border-radius: 0; + -moz-border-radius: 0; + border-radius: 0; } a.list-group-item:hover { - text-decoration: none; + text-decoration: none; } .list-group-item.active, .list-group-item.active:focus, .list-group-item.active:hover, .active > .list-group-item, .active > .list-group-item:focus, .active > .list-group-item:hover { - color: #ffffff; - background: #11375B; - border-color: #11375B; + color: #ffffff; + background: #11375B; + border-color: #11375B; } .list-group-item.active a { - color: #fff; - text-decoration: none; + color: #fff; + text-decoration: none; } .list-group-item .icon { - font-size: 25px; - margin-right: 10px; - margin-bottom: 5px; + font-size: 25px; + margin-right: 10px; + margin-bottom: 5px; } .list-group.nav > .list-group-item { - padding: 0; + padding: 0; } /* ======================================================================== @@ -2269,365 +2349,364 @@ a.list-group-item:hover { * ======================================================================== */ .tree-view, .tree-view ul { - padding: 0; - margin: 0; - list-style: none; + padding: 0; + margin: 0; + list-style: none; } .tree-view ul { - margin-left: 0.7em; - position: relative; + margin-left: 0.7em; + position: relative; } .tree-view ul li { - display: none; + display: none; } .tree-view li[aria-expanded=true] > ul > li { - display: list-item; + display: list-item; } .tree-view li { - margin: 0; - padding: 0 2em; - line-height: 2em; - position: relative; + margin: 0; + padding: 0 2em; + line-height: 2em; + position: relative; } .tree-view .branch { - cursor: pointer; + cursor: pointer; } .tree-view li > .icon { - font-family: "font-wso2"; - font-style: normal; - background: #2c313b; - color: #ffffff; - height: 20px; - width: 20px; - text-align: center; - line-height: 20px; - font-size: 10px; - display: inline-block; - margin-right: 10px; + font-family: "font-wso2"; + font-style: normal; + background: #2c313b; + color: #ffffff; + height: 20px; + width: 20px; + text-align: center; + line-height: 20px; + font-size: 10px; + display: inline-block; + margin-right: 10px; } .tree-view li > .icon:before { - content: "\e687"; + content: "\e687"; } .tree-view li[aria-expanded=true] > .icon:before { - content: "\e685"; + content: "\e685"; } .tree-view li a, .tree-view li a:hover { - text-decoration: none; + text-decoration: none; } .tree-view li button:active, .tree-view li button:focus { - cursor: pointer; - text-decoration: none; - border: none; - background: transparent; - padding: 0; - margin: 0; - list-style: none; + cursor: pointer; + text-decoration: none; + border: none; + background: transparent; + padding: 0; + margin: 0; + list-style: none; } .tree-view.tree-view-lines ul:before { - content: ""; - display: block; - width: 0; - position: absolute; - top: 0; - bottom: 15px; - left: 0; - border-left: 1px solid; + content: ""; + display: block; + width: 0; + position: absolute; + top: 0; + bottom: 15px; + left: 0; + border-left: 1px solid; } .tree-view.tree-view-lines ul li:before { - content: ""; - display: block; - width: 20px; - height: 0; - border-top: 1px solid; - margin-top: -1px; - position: absolute; - top: 1em; - left: 0; + content: ""; + display: block; + width: 20px; + height: 0; + border-top: 1px solid; + margin-top: -1px; + position: absolute; + top: 1em; + left: 0; } .tree-view .checkbox, .tree-view .radio { - margin: 0; - display: inline-block; + margin: 0; + display: inline-block; } .tree-view .checkbox input[type=checkbox], .tree-view .checkbox-inline input[type=checkbox], .tree-view .radio input[type=radio], .tree-view .radio-inline input[type=radio] { - margin-top: 6px; + margin-top: 6px; } /* ======================================================================== * asset details styles * ======================================================================== */ .asset-image { - max-width: 150px; - background: #2c313b; - float: none; + max-width: 150px; + background: #2c313b; + float: none; } .asset-desc .asset-name { - font-size: 24px; - margin-bottom: 0; + font-size: 24px; + margin-bottom: 0; } .asset-desc .asset-publisher { - font-size: 14px; - margin-bottom: 20px; + font-size: 14px; + margin-bottom: 20px; } /* ======================================================================== * switch styles * ======================================================================== */ .switch { - display: inline-block; - width: 40px; - cursor: pointer; - position: relative; - margin-top: -4px; + display: inline-block; + width: 40px; + cursor: pointer; + position: relative; + margin-top: -4px; } .switch > input[type=checkbox] { - position: absolute; - opacity: 0; + position: absolute; + opacity: 0; } .switch > input[type=checkbox]:checked + .helper + .text { - display: inline-block; + display: inline-block; } .switch > input[type=checkbox] + .helper:after { - position: absolute; - left: 18px; - top: -2px; - display: block; - content: ""; - width: 24px; - height: 24px; - cursor: pointer; - background: #237bd5; - z-index: 2; - border-radius: 12px; - -webkit-transition: left 0.2s ease-in-out; - -moz-transition: left 0.2s ease-in-out; - -o-transition: left 0.2s ease-in-out; - transition: left 0.2s ease-in-out; + position: absolute; + left: 18px; + top: -2px; + display: block; + content: ""; + width: 24px; + height: 24px; + cursor: pointer; + background: #237bd5; + z-index: 2; + border-radius: 12px; + -webkit-transition: left 0.2s ease-in-out; + -moz-transition: left 0.2s ease-in-out; + -o-transition: left 0.2s ease-in-out; + transition: left 0.2s ease-in-out; } .switch > input[type=checkbox]:not(:checked) + .helper:after { - left: 1px !important; - background: #eaeaea; + left: 1px !important; + background: #eaeaea; } .switch > input[type=checkbox]:not(:checked) + .helper:before { - background: #a6a6a6 !important; + background: #a6a6a6 !important; } .switch > input[type=checkbox]:disabled + .helper:after { - cursor: default !important; - background: #484e52 !important; + cursor: default !important; + background: #484e52 !important; } .switch > input[type=checkbox]:disabled + .helper:before { - cursor: default !important; - background: #6f7579 !important; + cursor: default !important; + background: #6f7579 !important; } .switch .helper { - padding-left: 52px; - position: relative; + padding-left: 52px; + position: relative; } .switch .helper:before { - position: absolute; - left: 0; - top: 2px; - display: block; - content: ""; - width: 40px; - height: 16px; - cursor: pointer; - background: #25262b; - margin-left: 2px; - z-index: 1; - border-radius: 8px; + position: absolute; + left: 0; + top: 2px; + display: block; + content: ""; + width: 40px; + height: 16px; + cursor: pointer; + background: #25262b; + margin-left: 2px; + z-index: 1; + border-radius: 8px; } .switch .text { - display: none; - margin-left: 5px; - font-weight: 100; + display: none; + margin-left: 5px; + font-weight: 100; } /* ======================================================================== * radio button styles * ======================================================================== */ .radio { - display: inline-block; - margin-right: 10px; - margin-bottom: 0; - margin-top: 0; - cursor: pointer; - font-weight: 300; + display: inline-block; + margin-right: 10px; + margin-bottom: 0; + margin-top: 0; + cursor: pointer; + font-weight: 300; } .radio > input[type=radio] { - position: absolute; - opacity: 0; + position: absolute; + opacity: 0; } .radio > input[type=radio]:checked + .helper:after { - position: absolute; - display: block; - content: ""; - color: #2c313b; - z-index: 2; - font-size: 16px; - font-weight: bold; - left: 5px; - margin-left: 0; - top: 50%; - margin-top: -5px; - background-color: #2c313b; - width: 10px; - height: 10px; - border-radius: 100%; + position: absolute; + display: block; + content: ""; + color: #2c313b; + z-index: 2; + font-size: 16px; + font-weight: bold; + left: 5px; + margin-left: 0; + top: 50%; + margin-top: -5px; + background-color: #2c313b; + width: 10px; + height: 10px; + border-radius: 100%; } .radio > input[type=radio]:checked + .helper:before { - border: 2px #2c313b solid; + border: 2px #2c313b solid; } .radio > input[type=radio]:disabled + .helper:before { - cursor: default; - background: #e6e6e6; + cursor: default; + background: #e6e6e6; } .radio > input[type=radio]:disabled + .helper:after { - background-color: #8a8a8a; + background-color: #8a8a8a; } .radio > input[type=radio]:not(:disabled) + .helper:before { - border-color: #919191; + border-color: #919191; } .radio > input[type=radio]:not(:disabled) + .helper:before { - border-color: #919191; + border-color: #919191; } .radio .helper { - padding-left: 26px; - padding-top: 1px; - position: relative; + padding-left: 26px; + padding-top: 1px; + position: relative; } .radio .helper:before { - position: absolute; - display: block; - height: 20px; - width: 20px; - content: ""; - text-indent: -9999px; - border: 2px #d9d9d9 solid; - z-index: 1; - opacity: 1; - top: -1px; - left: 0; - border-radius: 100%; + position: absolute; + display: block; + height: 20px; + width: 20px; + content: ""; + text-indent: -9999px; + border: 2px #d9d9d9 solid; + z-index: 1; + opacity: 1; + top: -1px; + left: 0; + border-radius: 100%; } /* ======================================================================== * checkbox styles * ======================================================================== */ .checkbox { - display: inline-block; - margin: 0 10px 0 0; - cursor: pointer; - font-weight: 300; + display: inline-block; + margin: 0 10px 0 0; + cursor: pointer; + font-weight: 300; } .checkbox > input[type=checkbox] { - position: absolute; - opacity: 0; + position: absolute; + opacity: 0; } .checkbox > input[type=checkbox]:checked + .helper:before { - border: 2px #2c313b solid; + border: 2px #2c313b solid; } .checkbox > input[type=checkbox]:checked + .helper:after { - position: absolute; - display: block; - content: "\e617"; - font-size: 7pt; - height: 16px; - width: 16px; - line-height: 16px; - z-index: 2; - top: 2px; - margin-top: 0; - left: 2px; - margin-left: 0; - text-align: center; - background: #2c313b; - color: #fff; - font-family: font-wso2; + position: absolute; + display: block; + content: "\e617"; + font-size: 7pt; + height: 16px; + width: 16px; + line-height: 16px; + z-index: 2; + top: 2px; + margin-top: 0; + left: 2px; + margin-left: 0; + text-align: center; + background: #2c313b; + color: #fff; + font-family: font-wso2; } .checkbox > input[type=checkbox]:not(:checked) + .helper:after { - display: none; + display: none; } .checkbox > input[type=checkbox]:disabled + .helper:before { - cursor: default; - background: #e6e6e6; + cursor: default; + background: #e6e6e6; } .checkbox > input[type=checkbox]:disabled + .helper:after { - color: #8a8a8a; + color: #8a8a8a; } .checkbox > input[type=checkbox]:not(:disabled) + .helper:before { - border-color: #526A84; + border-color: #526A84; } .checkbox > input[type=checkbox] :not(:disabled) + .helper:before { - border-color: #526A84; + border-color: #526A84; } .checkbox .helper { - padding-left: 23px; - position: relative; + padding-left: 23px; + position: relative; } .checkbox .helper:before { - position: absolute; - display: block; - height: 20px; - width: 20px; - content: ""; - text-indent: -9999px; - border: 2px #eaf0f1 solid; - z-index: 1; - opacity: 1; - top: 0; - left: 0; + position: absolute; + display: block; + height: 20px; + width: 20px; + content: ""; + text-indent: -9999px; + border: 2px #eaf0f1 solid; + z-index: 1; + opacity: 1; + top: 0; + left: 0; } - .wr-content { padding-top: 10px; } @@ -2638,75 +2717,75 @@ a.list-group-item:hover { font-size: 26px; } -@media (max-width:500px){ +@media (max-width: 500px) { .wr-content { padding: 20px 0 0 0; } } .wr-asset-type-switcher { - float:left; - height:54px; + float: left; + height: 54px; } a.ctrl-asset-type-switcher { - display:inline-block; - padding:0; - font-size:18px; - color:#fff; - text-decoration: none; - font-weight:100; + display: inline-block; + padding: 0; + font-size: 18px; + color: #fff; + text-decoration: none; + font-weight: 100; } a.ctrl-asset-type-switcher:hover { - color:#fff; + color: #fff; } .wr-asset-type-switcher span { - float:left; + float: left; } .wr-asset-type-switcher span.btn-asset { - width:54px; - height:54px; - margin-right:0; - display:inline-block; + width: 54px; + height: 54px; + margin-right: 0; + display: inline-block; text-align: center; - background: #11375B; + background: #11375B; line-height: 49px; } .wr-asset-type-switcher span.btn-asset:hover { - background-color: #16436D; + background-color: #16436D; } .wr-asset-type-switcher span.btn-text { - padding-top:14px; + padding-top: 14px; } a.ast-type-item { - width:77px; - height:77px; - background:#696969; - display:block; - margin:5px; - float:left; - text-align: center; - color:#e4e4e4; - text-decoration: none; + width: 77px; + height: 77px; + background: #696969; + display: block; + margin: 5px; + float: left; + text-align: center; + color: #e4e4e4; + text-decoration: none; } a.ast-type-item:hover { - background:#526A84; - cursor: pointer; + background: #526A84; + cursor: pointer; } .wr-action-container { - padding-left:0; + padding-left: 0; } .wr-action-btn-bar { - padding-top:0; + padding-top: 0; } .wr-action-btn-bar .page-title { @@ -2740,109 +2819,125 @@ a.ast-type-item:hover { /* device board */ .wr-device-board { - background:#fafafa; - padding:10px 0; - font-size:20px; - margin-bottom:10px; + background: #fafafa; + padding: 10px 0; + font-size: 20px; + margin-bottom: 10px; } .wr-device-board label { - font-weight:100; + font-weight: 100; } .lbl-device { - font-size:14px; - color:#777; + font-size: 14px; + color: #777; } /* operations panel/board */ .wr-operations-board { - background:#fafafa; - margin-bottom:10px; + background: #fafafa; + margin-bottom: 10px; } .wr-operations-board:hover { - background:#f0f0f0; + background: #f0f0f0; } - /* operations */ .wr-operations { - clear:both; - /*margin-left:17px;*/ - margin-bottom:15px; - /*border-bottom:1px solid #f0f0f0;*/ + clear: both; + /*margin-left:17px;*/ + margin-bottom: 15px; + /*border-bottom:1px solid #f0f0f0;*/ } .wr-operations a { - display:inline-block; - float: left; - text-align: center; - font-size:12px; - text-decoration: none; - margin-right:10px; - color:#526A84; - min-width:70px; - background:#fafafa; - padding:2px 10px 10px 10px; - margin-bottom:10px; + display: inline-block; + float: left; + text-align: center; + font-size: 12px; + text-decoration: none; + margin-right: 10px; + color: #526A84; + min-width: 70px; + background: #fafafa; + padding: 2px 10px 10px 10px; + margin-bottom: 10px; } .wr-operations a:hover { - background:#e4e4e4; + background: #e4e4e4; } .wr-operations .fw { - margin:10px; + margin: 10px; font-size: 28px; } .wr-operations span { - display:block; + display: block; } -@media (max-width:768px){ - .wr-operations a { padding:0; min-width: inherit; margin-right:5px; } - .wr-operations img { width: 50px; } - .wr-operations span { display:none; } - .wr-operations .fw { font-size: 25px; } +@media (max-width: 768px) { + .wr-operations a { + padding: 0; + min-width: inherit; + margin-right: 5px; + } + + .wr-operations img { + width: 50px; + } + + .wr-operations span { + display: none; + } + + .wr-operations .fw { + font-size: 25px; + } } /* assets */ .wr-select-all { - clear:both; - margin-bottom:10px; -} - -.wr-btn, a.wr-btn { - font-weight: normal; - font-size: 13px; - color: #fff; - background:#11375B; - padding: 10px 24px; - display: inline-block; - margin-right: 5px; + clear: both; + margin-bottom: 10px; +} + +.wr-btn, a.wr-btn { + font-weight: normal; + font-size: 13px; + color: #fff; + background: #11375B; + padding: 10px 24px; + display: inline-block; + margin-right: 5px; border: none; text-decoration: none; } -@media all and (max-width:480px) { - .wr-btn, a.wr-btn { - width: 100%; display:block; - margin:0px; - margin-bottom:4px; - } + +@media all and (max-width: 480px) { + .wr-btn, a.wr-btn { + width: 100%; + display: block; + margin: 0px; + margin-bottom: 4px; + } } + .wr-btn:disabled, a.wr-btn:disabled { - opacity: 0.5; + opacity: 0.5; } -.wr-btn:hover,a.wr-btn:hover { - color:#b3e7ff; - background-color: #16436D; +.wr-btn:hover, a.wr-btn:hover { + color: #b3e7ff; + background-color: #16436D; } -.wr-btn:active,a.wr-btn:active,.wr-btn:focus,a.wr-btn:focus { - color:#b3e7ff; + +.wr-btn:active, a.wr-btn:active, .wr-btn:focus, a.wr-btn:focus { + color: #b3e7ff; } .wr-btn-grp { @@ -2854,9 +2949,8 @@ a.ast-type-item:hover { text-transform: uppercase; } - .ast-container { - clear:both; + clear: both; } .ast-device-desc { @@ -2864,64 +2958,76 @@ a.ast-type-item:hover { } .ctrl-wr-asset { - position:relative; - width:100%; - min-height:280px; - float:left; - margin: 0.5%; - padding:10px; - background:#fbfbfb; - border-bottom:4px solid #fff; + position: relative; + width: 100%; + min-height: 280px; + float: left; + margin: 0.5%; + padding: 10px; + background: #fbfbfb; + border-bottom: 4px solid #fff; } -@media (min-width: 500px){ - .ctrl-wr-asset { width: 49%; } +@media (min-width: 500px) { + .ctrl-wr-asset { + width: 49%; + } } -@media (min-width: 768px){ - .ctrl-wr-asset { width: 24%; } +@media (min-width: 768px) { + .ctrl-wr-asset { + width: 24%; + } } -@media (min-width: 992px){ - .ctrl-wr-asset { width: 19%; } +@media (min-width: 992px) { + .ctrl-wr-asset { + width: 19%; + } } -@media (min-width:1300px){ - .ctrl-wr-asset { width: 13%; } +@media (min-width: 1300px) { + .ctrl-wr-asset { + width: 13%; + } } -@media (min-width:1500px){ - .ctrl-wr-asset { width: 11.5%; } +@media (min-width: 1500px) { + .ctrl-wr-asset { + width: 11.5%; + } } -@media (min-width:1800px){ - .ctrl-wr-asset { width: 9%; } +@media (min-width: 1800px) { + .ctrl-wr-asset { + width: 9%; + } } .ctrl-wr-asset.selected { - background: #E4E4E4; - border-bottom:4px solid #526A84; + background: #E4E4E4; + border-bottom: 4px solid #526A84; } .ctrl-wr-asset:hover { - background: #E4E4E4; + background: #E4E4E4; } .itm-select { - position:absolute; - right:10px; - background:#fafafa; - width:20px; - height:20px; + position: absolute; + right: 10px; + background: #fafafa; + width: 20px; + height: 20px; } .itm-ast { - display:block; - cursor: pointer; - padding:0; - margin-bottom:0; - width:100%; - border:0 solid #ff0000; + display: block; + cursor: pointer; + padding: 0; + margin-bottom: 0; + width: 100%; + border: 0 solid #ff0000; } .itm-ast a { @@ -2929,7 +3035,7 @@ a.ast-type-item:hover { } .itm-ast:hover h3, .itm-ast:hover .ast-auth { - color:#526A84; + color: #526A84; } .ast-img { @@ -2940,14 +3046,14 @@ a.ast-type-item:hover { } .ast-img img { - width:100%; + width: 100%; height: auto; } .ast-desc { - /*float:left;*/ - margin-left:0; - overflow:hidden; + /*float:left;*/ + margin-left: 0; + overflow: hidden; position: relative; } @@ -2968,24 +3074,24 @@ a.ast-type-item:hover { top: 0; right: 0; - background: -moz-linear-gradient(left, rgba(251,251,251,0) 0%, rgba(251,251,251,1) 100%); /* FF3.6+ */ - background: -webkit-gradient(linear, left top, right top, color-stop(0%,rgba(251,251,251,0)), color-stop(100%,rgba(251,251,251,1))); /* Chrome,Safari4+ */ - background: -webkit-linear-gradient(left, rgba(251,251,251,0) 0%,rgba(251,251,251,1) 100%); /* Chrome10+,Safari5.1+ */ - background: -o-linear-gradient(left, rgba(251,251,251,0) 0%,rgba(251,251,251,1) 100%); /* Opera 11.10+ */ - background: -ms-linear-gradient(left, rgba(251,251,251,0) 0%,rgba(251,251,251,1) 100%); /* IE10+ */ - background: linear-gradient(to right, rgba(251,251,251,0) 0%,rgba(251,251,251,1) 100%); /* W3C */ - filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00fbfbfb', endColorstr='#fbfbfb',GradientType=1 ); /* IE6-9 */ + background: -moz-linear-gradient(left, rgba(251, 251, 251, 0) 0%, rgba(251, 251, 251, 1) 100%); /* FF3.6+ */ + background: -webkit-gradient(linear, left top, right top, color-stop(0%, rgba(251, 251, 251, 0)), color-stop(100%, rgba(251, 251, 251, 1))); /* Chrome,Safari4+ */ + background: -webkit-linear-gradient(left, rgba(251, 251, 251, 0) 0%, rgba(251, 251, 251, 1) 100%); /* Chrome10+,Safari5.1+ */ + background: -o-linear-gradient(left, rgba(251, 251, 251, 0) 0%, rgba(251, 251, 251, 1) 100%); /* Opera 11.10+ */ + background: -ms-linear-gradient(left, rgba(251, 251, 251, 0) 0%, rgba(251, 251, 251, 1) 100%); /* IE10+ */ + background: linear-gradient(to right, rgba(251, 251, 251, 0) 0%, rgba(251, 251, 251, 1) 100%); /* W3C */ + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00fbfbfb', endColorstr='#fbfbfb', GradientType=1); /* IE6-9 */ } .ctrl-wr-asset.selected .ast-desc span:before, .ctrl-wr-asset:hover .ast-desc span:before { background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIxMDAlIiB5Mj0iMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2U0ZTRlNCIgc3RvcC1vcGFjaXR5PSIwIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNlNGU0ZTQiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+); - background: -moz-linear-gradient(left, rgba(228,228,228,0) 0%, rgba(228,228,228,1) 100%); /* FF3.6+ */ - background: -webkit-gradient(linear, left top, right top, color-stop(0%,rgba(228,228,228,0)), color-stop(100%,rgba(228,228,228,1))); /* Chrome,Safari4+ */ - background: -webkit-linear-gradient(left, rgba(228,228,228,0) 0%,rgba(228,228,228,1) 100%); /* Chrome10+,Safari5.1+ */ - background: -o-linear-gradient(left, rgba(228,228,228,0) 0%,rgba(228,228,228,1) 100%); /* Opera 11.10+ */ - background: -ms-linear-gradient(left, rgba(228,228,228,0) 0%,rgba(228,228,228,1) 100%); /* IE10+ */ - background: linear-gradient(to right, rgba(228,228,228,0) 0%,rgba(228,228,228,1) 100%); /* W3C */ - filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00e4e4e4', endColorstr='#e4e4e4',GradientType=1 ); /* IE6-8 */ + background: -moz-linear-gradient(left, rgba(228, 228, 228, 0) 0%, rgba(228, 228, 228, 1) 100%); /* FF3.6+ */ + background: -webkit-gradient(linear, left top, right top, color-stop(0%, rgba(228, 228, 228, 0)), color-stop(100%, rgba(228, 228, 228, 1))); /* Chrome,Safari4+ */ + background: -webkit-linear-gradient(left, rgba(228, 228, 228, 0) 0%, rgba(228, 228, 228, 1) 100%); /* Chrome10+,Safari5.1+ */ + background: -o-linear-gradient(left, rgba(228, 228, 228, 0) 0%, rgba(228, 228, 228, 1) 100%); /* Opera 11.10+ */ + background: -ms-linear-gradient(left, rgba(228, 228, 228, 0) 0%, rgba(228, 228, 228, 1) 100%); /* IE10+ */ + background: linear-gradient(to right, rgba(228, 228, 228, 0) 0%, rgba(228, 228, 228, 1) 100%); /* W3C */ + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00e4e4e4', endColorstr='#e4e4e4', GradientType=1); /* IE6-8 */ } .ast-title { @@ -2994,37 +3100,37 @@ a.ast-type-item:hover { } h3.ast-name { - font-weight:300; - font-size:20px; - color:#555; - margin-bottom:3px; + font-weight: 300; + font-size: 20px; + color: #555; + margin-bottom: 3px; height: 23px; overflow: hidden; } .ast-ver { - font-weight:300; - font-size:13px; + font-weight: 300; + font-size: 13px; white-space: nowrap; word-break: keep-all; } .ast-auth { - font-weight:300; - font-size:13px; - color:#526A84; - display:block; - margin-bottom:12px; + font-weight: 300; + font-size: 13px; + color: #526A84; + display: block; + margin-bottom: 12px; white-space: nowrap; word-break: keep-all; } .ast-published { - font-weight:300; - font-size:12px; - display:block; - text-align: left; - color:#aaa; + font-weight: 300; + font-size: 12px; + display: block; + text-align: left; + color: #aaa; white-space: nowrap; word-break: keep-all; @@ -3036,7 +3142,6 @@ h3.ast-name { float: left; } - .ast-container.list-view .ctrl-wr-asset { width: 100%; min-height: 50px; @@ -3054,7 +3159,7 @@ h3.ast-name { height: auto; display: inline-block; float: left; - margin-left:20px; + margin-left: 20px; } .ast-container.list-view .ast-desc span:before { @@ -3079,59 +3184,58 @@ h3.ast-name { /* tooltip */ .tooltip { - opacity: 1; - filter: alpha(opacity=100); + opacity: 1; + filter: alpha(opacity=100); } .tooltip.top .tooltip-arrow { - bottom: 0; - left: 50%; - margin-left: -5px; - border-top-color: #333; - border-width: 5px 5px 0; + bottom: 0; + left: 50%; + margin-left: -5px; + border-top-color: #333; + border-width: 5px 5px 0; } .tooltip-inner { - color: #fff; - background: #333; - border: solid 1px #333; - border-radius: 0px; + color: #fff; + background: #333; + border: solid 1px #333; + border-radius: 0px; } /* filter */ a.filter-item { - color:#e4e4e4; - text-transform: uppercase; - text-decoration: none; - display:block; - font-size:12px; - padding:3px 0px; - font-weight: 100; - cursor: pointer; + color: #e4e4e4; + text-transform: uppercase; + text-decoration: none; + display: block; + font-size: 12px; + padding: 3px 0px; + font-weight: 100; + cursor: pointer; } a.filter-item:hover { - text-decoration: none; - color:#fff; + text-decoration: none; + color: #fff; } - /* action buttons */ .btn-col { padding-left: 0; } a.cu-btn, a.cu-btn-inner { - color:#fff; - text-decoration: none; - font-weight:400; - display: inline-block; - text-transform: uppercase; + color: #fff; + text-decoration: none; + font-weight: 400; + display: inline-block; + text-transform: uppercase; padding: 13px 10px; } a.cu-btn:hover { - background-color: #132D45; + background-color: #132D45; } a.cu-btn-inner { @@ -3139,46 +3243,47 @@ a.cu-btn-inner { padding: 5px 10px; height: 35px; } + a.cu-btn-inner:hover { - background-color:#e4e4e4; + background-color: #e4e4e4; } /* filter */ .wr-filters { - padding:14px; + padding: 14px; } .wr-filters-right { - padding:22px 14px 22px 0; + padding: 22px 14px 22px 0; } -@media (max-width:1100px) { +@media (max-width: 1100px) { .wr-filters-right { padding: 0 14px 22px 14px; } } .wr-secondary-bar { - border-bottom:0 solid #f0f0f0; - padding-right:0; + border-bottom: 0 solid #f0f0f0; + padding-right: 0; } -@media (max-width:500px) { +@media (max-width: 500px) { .wr-secondary-bar { - padding-left:0; + padding-left: 0; } } .wr-filter-sort a.ico-filter { - display:inline-block; - width:40px; - height:40px; - padding:5px; + display: inline-block; + width: 40px; + height: 40px; + padding: 5px; } .wr-filter-sort a.ico-filter .fw { - width:30px; - height:30px; + width: 30px; + height: 30px; line-height: 30px; text-align: center; color: #333; @@ -3189,63 +3294,62 @@ a.cu-btn-inner:hover { font-size: 23px; } -@media (max-width:1100px) { +@media (max-width: 1100px) { .wr-filters, .wr-filter-sort.pull-right { float: none !important; } } .wr-filter-sort a.ico-filter:hover, .wr-filter-sort a.ico-filter.selected { - background:#e4e4e4; + background: #e4e4e4; } .sort-title, .sort-options { - padding:0 15px; + padding: 0 15px; } .sort-title { - color:#e4e4e4; - font-size:11px; - padding-bottom:5px; - padding-top:5px; - margin-bottom:5px; + color: #e4e4e4; + font-size: 11px; + padding-bottom: 5px; + padding-top: 5px; + margin-bottom: 5px; } .sort-options > a { - display:block; - text-decoration: none; - color:#cecece; - text-transform: uppercase; - font-size:12px; - padding:4px 0; - font-weight: 100; + display: block; + text-decoration: none; + color: #cecece; + text-transform: uppercase; + font-size: 12px; + padding: 4px 0; + font-weight: 100; } span.ico-sort-asc { - display:inline-block; - padding-right:20px; - width:15px; - height:15px; - padding-top:2px; + display: inline-block; + padding-right: 20px; + width: 15px; + height: 15px; + padding-top: 2px; } span.ico-sort-desc { - display:inline-block; - padding-right:20px; - width:15px; - height:15px; - padding-top:2px; + display: inline-block; + padding-right: 20px; + width: 15px; + height: 15px; + padding-top: 2px; } - /* asset filter window styles */ .wr-asset-type-switcher .popover.menu { - display:none; + display: none; top: 70px; left: 14px !important; min-width: 290px; color: #ffffff; - padding-bottom:0; + padding-bottom: 0; z-index: 100000; } @@ -3256,7 +3360,7 @@ span.ico-sort-desc { .wr-asset-type-switcher .popover.menu .popover-content .title { font-family: 'Open Sans'; font-size: 16px; - color:#ffffff; + color: #ffffff; font-weight: 100; margin: 0 4px 4px 4px; } @@ -3280,48 +3384,51 @@ span.ico-sort-desc { margin: 4px; padding: 6px 4px; list-style: none; - width:85px; - height:85px; + width: 85px; + height: 85px; text-align: center; vertical-align: text-bottom; - color:#e4e4e4; + color: #e4e4e4; text-decoration: none; } .wr-asset-type-switcher ul a { cursor: pointer; - width:30px; - height:40px; - margin:30px 0 0 10px; + width: 30px; + height: 40px; + margin: 30px 0 0 10px; line-height: 40px; text-align: center; } + .wr-asset-type-switcher ul a:hover { background-color: transparent; opacity: 0.6; } -.wr-asset-type-switcher ul ul { display: none; } +.wr-asset-type-switcher ul ul { + display: none; +} .wr-asset-type-switcher ul.options { border-top: 1px solid #333; - margin-top:5px; - padding:5px 0 0 0; + margin-top: 5px; + padding: 5px 0 0 0; } .wr-asset-type-switcher ul li:hover { - background:#526A84; + background: #526A84; cursor: pointer; } #advance-filter-options { - background:#444444; + background: #444444; margin: 5px 4px; padding: 10px; } #advance-filter-options input { - margin:0 5px 0 5px; + margin: 0 5px 0 5px; } #device-filter-options li i.fw { @@ -3343,7 +3450,7 @@ span.ico-sort-desc { } #asset-selected .selected { - padding:0 0; + padding: 0 0; } #asset-selected .selected li { @@ -3352,21 +3459,21 @@ span.ico-sort-desc { } #asset-selected .options li { - background:#444; + background: #444; } #asset-select li { - background:#444; + background: #444; } #asset-select li:hover, #asset-selected .options li:hover { - background:#555; + background: #555; } /* login page styles */ .wr-login { - padding-top:100px; + padding-top: 100px; } /* form styles */ @@ -3382,9 +3489,9 @@ span.ico-sort-desc { } .wr-input-label { - font-weight:300; - font-size:14px; - color:#555; + font-weight: 300; + font-size: 14px; + color: #555; } .wr-input-control { @@ -3402,16 +3509,16 @@ span.ico-sort-desc { /* asset filter tags on search field styles */ .wr-search-tags { - display:block; + display: block; float: left; min-height: 54px; - padding:13px 5px; + padding: 13px 5px; max-width: 350px; } /* search field styles */ .wr-search-tags:empty { - padding:0; + padding: 0; } .wr-search-tags span { @@ -3436,38 +3543,40 @@ span.ico-sort-desc { /* search */ .wr-search { - margin-left:0; - border:none; - background:#bbb; + margin-left: 0; + border: none; + background: #bbb; min-height: 54px; - max-width:750px !important; + max-width: 750px !important; width: 100%; } -@media (max-width:1100px) { +@media (max-width: 1100px) { .wr-search-tags:not(:empty) { /*float: none;*/ /*padding-left:60px;*/ max-width: 100%; } + .wr-search { max-width: 100% !important; } + .wr-filters.col-sm-7, .wr-filters.col-sm-7.col-md-8 { width: 100%; } } .wr-search .input { - background:#bbb; + background: #bbb; height: 54px; - border:none; - color:#fff; - font-weight: 100; - line-height: 54px; - padding:0 20px; + border: none; + color: #fff; + font-weight: 100; + line-height: 54px; + padding: 0 20px; overflow: hidden; - font-size:18px; + font-size: 18px; white-space: nowrap; word-break: keep-all; min-width: 200px; @@ -3477,53 +3586,55 @@ span.ico-sort-desc { outline: 0; } -[contentEditable=true]:empty:not(:focus):before{ - content:attr(data-placeholder) +[contentEditable=true]:empty:not(:focus):before { + content: attr(data-placeholder) } .btn-search { - display:block; - font-size:21px; - font-weight:500; - color:#fff; - background:#bbb; - padding:10px 12px; + display: block; + font-size: 21px; + font-weight: 500; + color: #fff; + background: #bbb; + padding: 10px 12px; height: 54px; float: right; } -@media (max-width:500px) { - .btn-search { display: none; } +@media (max-width: 500px) { + .btn-search { + display: none; + } } .wr-search:hover .fw { - color:#fff; + color: #fff; } .wr-filters div.wr-filter-category { - float:left; + float: left; } .wr-filters .col-md-1, .col-md-11 { - padding:0; + padding: 0; margin: 0; - height:54px; + height: 54px; } ::-webkit-input-placeholder { - color: #fff; + color: #fff; } :-moz-placeholder { /* Firefox 18- */ - color: #fff; + color: #fff; } -::-moz-placeholder { /* Firefox 19+ */ - color: #fff; +::-moz-placeholder { /* Firefox 19+ */ + color: #fff; } :-ms-input-placeholder { - color: #fff; + color: #fff; } .wr-operations, .wr-operations .operation { @@ -3539,7 +3650,7 @@ a.btn-operations { display: inline-block; margin-right: 2px; text-decoration: none; - margin-right:10px; + margin-right: 10px; } /* modal pop-up styles */ @@ -3570,12 +3681,15 @@ a.btn-operations { padding: 0 5px; cursor: all-scroll; } + .wr-notification-bar::-webkit-scrollbar-thumb { background: #e4e4e4; } + .wr-notification-bar::-webkit-scrollbar-thumb:hover { background: #e4e4e4; } + .wr-notification-bar::-webkit-scrollbar-thumb:active { background: #e4e4e4; } @@ -3583,9 +3697,11 @@ a.btn-operations { .wr-side-panel::-webkit-scrollbar-thumb { background: #526A84; } + .wr-side-panel::-webkit-scrollbar-thumb:hover { background: #526A84; } + .wr-side-panel::-webkit-scrollbar-thumb:active { background: #526A84; } @@ -3726,7 +3842,6 @@ a.wr-side-panel-toggle-btn.selected { position: relative; } - .wr-panel-msg .dropdown-menu { background: #526A84; color: #fff; @@ -3809,10 +3924,9 @@ a.wr-side-panel-toggle-btn.selected { margin-bottom: 8px; } - /* filter type switcher */ #content-filter-types { - position:absolute; + position: absolute; right: -300px !important; float: right; } @@ -3825,7 +3939,7 @@ a.wr-side-panel-toggle-btn.selected { display: none; width: 200px; padding: 1px 1px 8px 1px; - font-family: "Helvetica Neue",Helvetica,Arial,sans-serif; + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 14px; font-weight: 400; line-height: 1.42857143; @@ -3835,14 +3949,14 @@ a.wr-side-panel-toggle-btn.selected { -webkit-background-clip: padding-box; background-clip: padding-box; /*border: 0px solid #232323;*/ - border: 0 solid rgba(0,0,0,.2); + border: 0 solid rgba(0, 0, 0, .2); border-radius: 0; - -webkit-box-shadow: 0 0 0 rgba(0,0,0,.2); - box-shadow: 0 0 0 rgba(0,0,0,.2); + -webkit-box-shadow: 0 0 0 rgba(0, 0, 0, .2); + box-shadow: 0 0 0 rgba(0, 0, 0, .2); margin-right: -400px !important; } -.wr-filter-type-switcher .popover.bottom>.arrow { +.wr-filter-type-switcher .popover.bottom > .arrow { top: -11px; left: 50%; margin-left: 130px; @@ -3850,11 +3964,11 @@ a.wr-side-panel-toggle-btn.selected { border-bottom-color: #232323; } -.wr-filter-type-switcher .popover>.arrow { +.wr-filter-type-switcher .popover > .arrow { border-width: 11px; } -.wr-filter-type-switcher .popover.bottom>.arrow:after { +.wr-filter-type-switcher .popover.bottom > .arrow:after { top: 1px; margin-left: -10px; content: " "; @@ -3862,7 +3976,7 @@ a.wr-side-panel-toggle-btn.selected { border-bottom-color: #232323; } -.wr-filter-type-switcher .popover>.arrow, .popover>.arrow:after { +.wr-filter-type-switcher .popover > .arrow, .popover > .arrow:after { position: absolute; display: block; width: 0; @@ -3880,7 +3994,7 @@ a.wr-side-panel-toggle-btn.selected { } .wr-filter-type-switcher .arrow { - left:25px !important; + left: 25px !important; } .wr-filter-type-switcher .popover { @@ -3895,6 +4009,7 @@ a.wr-side-panel-toggle-btn.selected { height: 110px; margin-bottom: 10px; } + .device-detail-body .wr-stats-board-tile { background: #e2e2e2; color: #333; @@ -3927,48 +4042,49 @@ a.wr-side-panel-toggle-btn.selected { } .wr-stats-board-tile.lg .tile-graph { - width:100px; + width: 100px; max-width: 100%; - float:right; + float: right; text-align: right; margin: 0 auto; } .wr-stats-board-tile.lg .tile-graph img { - width:80px; + width: 80px; max-width: 100%; } .tile-bg { - background:#11375B; - color:#fff; + background: #11375B; + color: #fff; } .tile-name { - font-size:16px; + font-size: 16px; font-weight: 400; text-transform: uppercase; } .tile-stats { - width:75%; - float:right; - font-size:25px; + width: 75%; + float: right; + font-size: 25px; font-weight: 400; text-align: right; } -.tile-stats a:hover{ - text-decoration:none; + +.tile-stats a:hover { + text-decoration: none; } .tile-stats-sm { - font-size:17px; + font-size: 17px; font-weight: 700; } .tile-stats-free { - font-size:13px; - display:block; + font-size: 13px; + display: block; text-align: right; } @@ -3986,18 +4102,18 @@ a.wr-side-panel-toggle-btn.selected { } .tile-stats-type { - font-size:12px; - display:block; + font-size: 12px; + display: block; } .tile-icon { - width:25%; - float:left; + width: 25%; + float: left; margin-top: 10px; } .tile-icon .fw { - font-size:40px; + font-size: 40px; } .tile-sup-lbl { @@ -4005,9 +4121,8 @@ a.wr-side-panel-toggle-btn.selected { font-size: 12px; } - .sub-title { - font-weight:100; + font-weight: 100; font-size: 20px; } @@ -4016,12 +4131,12 @@ a.wr-side-panel-toggle-btn.selected { } .wr-app-listing > div { - margin-right:10px; - margin-bottom:10px; + margin-right: 10px; + margin-bottom: 10px; } .wr-app-listing > div > img { - width:60px; + width: 60px; } .wr-form { @@ -4052,7 +4167,6 @@ a.wr-side-panel-toggle-btn.selected { background-color: #444; } - /* enabled/disabled switch styles */ .wr-input-control.switch { display: inline-block; @@ -4061,10 +4175,12 @@ a.wr-side-panel-toggle-btn.selected { position: relative; margin-bottom: 5px; } -.wr-input-control.switch > input[type=checkbox] { + +.wr-input-control.switch > input[type=checkbox] { position: absolute; opacity: 0; } + .wr-input-control.switch .helper { padding-left: 45px; position: relative; @@ -4097,6 +4213,7 @@ a.wr-side-panel-toggle-btn.selected { z-index: 1; border-radius: 8px; } + .wr-input-control.switch input[type="checkbox"] + .helper:after { position: absolute; left: 22px; @@ -4118,6 +4235,7 @@ a.wr-side-panel-toggle-btn.selected { -o-transition: left 0.2s ease-in-out; transition: left 0.2s ease-in-out; } + .wr-input-control.switch input[type="checkbox"]:not(:checked) + .helper:after { left: 0 !important; background: #eaeaea; @@ -4127,11 +4245,13 @@ a.wr-side-panel-toggle-btn.selected { .wr-input-control.switch input[type="checkbox"]:not(:checked) + .helper:before { background: #a6a6a6 !important; } + .wr-input-control.switch input[type="checkbox"]:disabled + .helper:after { background: #a6a6a6 !important; outline: 2px #a6a6a6 solid !important; border: 1px #a6a6a6 solid !important; } + .wr-input-control.switch input[type="checkbox"]:disabled + .helper:before { cursor: default !important; background: #e0e0e0 !important; @@ -4146,14 +4266,17 @@ a.wr-side-panel-toggle-btn.selected { cursor: pointer; font-weight: 100; } -.wr-input-control.radio > input[type=radio] { + +.wr-input-control.radio > input[type=radio] { position: absolute; opacity: 0; } + .wr-input-control.radio .helper { padding-left: 23px; position: relative; } + .wr-input-control.radio .helper:before { position: absolute; display: block; @@ -4168,6 +4291,7 @@ a.wr-side-panel-toggle-btn.selected { left: 0; border-radius: 100%; } + .wr-input-control.radio input[type="radio"]:checked + .helper:after { position: absolute; display: block; @@ -4185,20 +4309,25 @@ a.wr-side-panel-toggle-btn.selected { height: 10px; border-radius: 100%; } + .wr-input-control.radio.light input[type="radio"]:checked + .helper:after { color: #fff; background-color: #fff; } + .wr-input-control.radio input[type="radio"]:disabled + .helper:before { cursor: default; background: #e6e6e6; } + .wr-input-control.radio input[type="radio"]:disabled + .helper:after { background-color: #8a8a8a; } + .wr-input-control.radio:hover input:not(:disabled) + .helper:before { border-color: #919191; } + .wr-input-control.radio:active input:not(:disabled) + .helper:before { border-color: #919191; } @@ -4209,14 +4338,17 @@ a.wr-side-panel-toggle-btn.selected { margin: 0 10px 0 0; cursor: pointer; } -.wr-input-control.checkbox > input[type=checkbox] { + +.wr-input-control.checkbox > input[type=checkbox] { position: absolute; opacity: 0; } + .wr-input-control.checkbox .helper { padding-left: 23px; position: relative; } + .wr-input-control.checkbox .helper:before { position: absolute; display: block; @@ -4230,9 +4362,11 @@ a.wr-side-panel-toggle-btn.selected { top: 0; left: 0; } + .wr-input-control.checkbox input[type="checkbox"]:checked + .helper:before { border: 2px #526A84 solid; } + .wr-input-control.checkbox input[type="checkbox"]:checked + .helper:after { position: absolute; display: block; @@ -4251,19 +4385,24 @@ a.wr-side-panel-toggle-btn.selected { color: #fff; font-family: font-wso2; } + .wr-input-control.checkbox input[type="checkbox"]:not(:checked) + .helper:after { display: none; } + .wr-input-control.checkbox input[type="checkbox"]:disabled + .helper:before { cursor: default; background: #e6e6e6; } + .wr-input-control.checkbox input[type=checkbox]:disabled + .helper:after { color: #8a8a8a; } + .wr-input-control.checkbox:hover input:not(:disabled) + .helper:before { border-color: #526A84; } + .wr-input-control.checkbox:active input:not(:disabled) + .helper:before { border-color: #526A84; } @@ -4287,13 +4426,14 @@ a.wr-side-panel-toggle-btn.selected { padding: 8px 0; } -@media (max-width:500px) { +@media (max-width: 500px) { .wr-list-group .list-group-item-actions:before { clear: both; content: " "; height: 10px; display: block; } + .wr-list-group .list-group-item-actions { float: left; } @@ -4398,7 +4538,7 @@ a.wr-side-panel-toggle-btn.selected { height: 100%; padding: 14px; text-align: center; - margin:0px; + margin: 0px; -webkit-border-radius: 0; -moz-border-radius: 0; border-radius: 0; @@ -4446,8 +4586,6 @@ a.wr-side-panel-toggle-btn.selected { font-size: 21px; } - - /* .wr-hidden-nav { background: #132D45; @@ -4512,7 +4650,7 @@ a.wr-side-panel-toggle-btn.selected { height: 100%; background: #ffffff; border: 1px solid #e8e8e8; - margin-bottom:40px; + margin-bottom: 40px; } .wr-advance-operations .row:first-child { @@ -4565,15 +4703,18 @@ a.wr-side-panel-toggle-btn.selected { background: #f4f4f4; } -.wr-advance-operations .wr-hidden-operations-nav a.selected span span > i{ +.wr-advance-operations .wr-hidden-operations-nav a.selected span span > i { color: #526A84; } -.wr-advance-operations .wr-hidden-operations-nav a.selected span span > i.fw.fw-circle.fw-stack-2x{ + +.wr-advance-operations .wr-hidden-operations-nav a.selected span span > i.fw.fw-circle.fw-stack-2x { color: #526A84; } -.wr-advance-operations .wr-hidden-operations-nav a.selected span span > i.fw.fw-circle.fw-stack-2x.fw-stroke.fw-inverse{ + +.wr-advance-operations .wr-hidden-operations-nav a.selected span span > i.fw.fw-circle.fw-stack-2x.fw-stroke.fw-inverse { color: #526A84; } + .wr-advance-operations .wr-hidden-operations-nav a.selected, .wr-hidden-operations .wr-hidden-operations-nav a.selected:hover { color: #ffffff; background: #526A84; @@ -4617,12 +4758,15 @@ a.wr-side-panel-toggle-btn.selected { padding: 0 5px; cursor: all-scroll; } + .wr-hidden-operations-content::-webkit-scrollbar-thumb { background: #f5f5f5; } + .wr-hidden-operations-content::-webkit-scrollbar-thumb:hover { background: #f5f5f5; } + .wr-hidden-operations-content::-webkit-scrollbar-thumb:active { background: #f5f5f5; } @@ -4631,10 +4775,12 @@ a.wr-side-panel-toggle-btn.selected { padding: 0px 20px 20px; background: #ffffff; } -.wr-hidden-operations-content .panel-body hr{ - margin:0px; - margin-bottom:20px; + +.wr-hidden-operations-content .panel-body hr { + margin: 0px; + margin-bottom: 20px; } + .wr-advance-operations.wizard-content .panel-title .fw-stack { width: 5px; } @@ -4647,21 +4793,21 @@ a.wr-side-panel-toggle-btn.selected { padding: 20px; background: #ffffff; color: #555; - font-weight:400; + font-weight: 400; } -.panel-title hr{ +.panel-title hr { margin-top: 0px; } .wr-hidden-operations-content .panel-title-description { font-size: 16px; - padding:0px 20px; + padding: 0px 20px; background: #ffffff; color: #555; line-height: 140%; - font-weight:300; - text-align:justify; + font-weight: 300; + text-align: justify; } .wr-hidden-operations-content .panel-title a { @@ -4749,8 +4895,6 @@ a.show-operations-btn .btn-text:before { left: 900px; } - - /* resource select box specific styles */ .select2-results .item, .select2-selection .item { padding: 5px; @@ -4771,7 +4915,7 @@ a.show-operations-btn .btn-text:before { font-size: 16px; font-weight: 400; line-height: normal; - } +} .select2-results .item .text .resource-type, .select2-selection .item .text .resource-type { font-size: 13px; @@ -4850,11 +4994,11 @@ a.show-operations-btn .btn-text:before { text-align: center; } -.tile-buttons li a.selected,.tile-buttons li a.selected:hover { +.tile-buttons li a.selected, .tile-buttons li a.selected:hover { background: #132D45; } -.tile-buttons li a.disabled,.tile-buttons li a.disabled:hover { +.tile-buttons li a.disabled, .tile-buttons li a.disabled:hover { opacity: 0.1; background: #132D45; cursor: default; @@ -4936,7 +5080,7 @@ a.show-operations-btn .btn-text:before { } .wr-configurations-table td { - padding:5px 2px; + padding: 5px 2px; vertical-align: text-top; } @@ -4944,40 +5088,11 @@ a.show-operations-btn .btn-text:before { position: relative; } -.loading { - position: relative; -} - -.loading:before { - content: ""; - display: block; - position: absolute; - top: 0; - left: 0; - height: 100%; - width: 100%; - z-index: 10; - background-color: #fff; - opacity: 0.8; -} - -.loading:after { - content: "Background operation is running ..."; - z-index: 11; - background: #fe8; - color: #333; - width: 250px; - opacity: 0.8; - bottom: 25px; - display: block; - padding: 5px 10px; - position: absolute; -} - a.cu-btn-inner.inverse { background: #11375B; color: #fff; } + a.cu-btn-inner.inverse:hover { background: #526A84; } @@ -5035,7 +5150,7 @@ a.cu-btn-inner.inverse:hover { .wizard-head .wizard-home-icon { font-size: 30px; color: #11375b; - margin-top:-6px; + margin-top: -6px; margin-right: 20px; } @@ -5142,7 +5257,7 @@ a.cu-btn-inner.inverse:hover { } .multi-view .content .panel-body { - padding: 30px 0; + padding: 30px 0; } .multi-view .content .panel-body .well fieldset legend a { @@ -5164,7 +5279,7 @@ a.cu-btn-inner.inverse:hover { .multi-view .content .panel-heading { padding: 6px 0 12px; margin-bottom: 10px; - border-bottom:1px solid #e4e4e4; + border-bottom: 1px solid #e4e4e4; } .multi-view .content .panel-heading .panel-title { @@ -5193,16 +5308,16 @@ a:hover.multi-view.remove.enabled { } a.grid-input-add { - margin-top:10px; - margin-bottom:10px; + margin-top: 10px; + margin-bottom: 10px; font-size: 14px; - border:1px solid #526A84; -} -a.grid-input-add:hover, a.grid-input-add:active,a.grid-input-add:focus { - color:#333; - border:1px solid #fff; + border: 1px solid #526A84; } +a.grid-input-add:hover, a.grid-input-add:active, a.grid-input-add:focus { + color: #333; + border: 1px solid #fff; +} a.grid-input-remove { padding-top: 4px; @@ -5265,257 +5380,339 @@ ul.listing li.grouped-input ul.grouped-child-input.disabled { .visible-block { display: block !important; } + .visible-inline { display: inline !important; } + .visible-inline-block { display: inline-block !important; } + /* generating padding and margin classes */ .add-padding-1x { padding: 5px !important; } + .add-padding-top-1x { padding-top: 5px !important; } + .add-padding-bottom-1x { padding-bottom: 5px !important; } + .add-padding-left-1x { padding-left: 5px !important; } + .add-padding-right-1x { padding-right: 5px !important; } + .add-margin-1x { margin: 5px !important; } + .add-margin-top-1x { margin-top: 5px !important; } + .add-margin-bottom-1x { margin-bottom: 5px !important; } + .add-margin-left-1x { margin-left: 5px !important; } + .add-margin-right-1x { margin-right: 5px !important; } + .add-padding-2x { padding: 10px !important; } + .add-padding-top-2x { padding-top: 10px !important; } + .add-padding-bottom-2x { padding-bottom: 10px !important; } + .add-padding-left-2x { padding-left: 10px !important; } + .add-padding-right-2x { padding-right: 10px !important; } + .add-margin-2x { margin: 10px !important; } + .add-margin-top-2x { margin-top: 10px !important; } + .add-margin-bottom-2x { margin-bottom: 10px !important; } + .add-margin-left-2x { margin-left: 10px !important; } + .add-margin-right-2x { margin-right: 10px !important; } + .add-padding-3x { padding: 15px !important; } + .add-padding-top-3x { padding-top: 15px !important; } + .add-padding-bottom-3x { padding-bottom: 15px !important; } + .add-padding-left-3x { padding-left: 15px !important; } + .add-padding-right-3x { padding-right: 15px !important; } + .add-margin-3x { margin: 15px !important; } + .add-margin-top-3x { margin-top: 15px !important; } + .add-margin-bottom-3x { margin-bottom: 15px !important; } + .add-margin-left-3x { margin-left: 15px !important; } + .add-margin-right-3x { margin-right: 15px !important; } + .add-padding-4x { padding: 20px !important; } + .add-padding-top-4x { padding-top: 20px !important; } + .add-padding-bottom-4x { padding-bottom: 20px !important; } + .add-padding-left-4x { padding-left: 20px !important; } + .add-padding-right-4x { padding-right: 20px !important; } + .add-margin-4x { margin: 20px !important; } + .add-margin-top-4x { margin-top: 20px !important; } + .add-margin-bottom-4x { margin-bottom: 20px !important; } + .add-margin-left-4x { margin-left: 20px !important; } + .add-margin-right-4x { margin-right: 20px !important; } + .add-padding-5x { padding: 25px !important; } + .add-padding-top-5x { padding-top: 25px !important; } + .add-padding-bottom-5x { padding-bottom: 25px !important; } + .add-padding-left-5x { padding-left: 25px !important; } + .add-padding-right-5x { padding-right: 25px !important; } + .add-margin-5x { margin: 25px !important; } + .add-margin-top-5x { margin-top: 25px !important; } + .add-margin-bottom-5x { margin-bottom: 25px !important; } + .add-margin-left-5x { margin-left: 25px !important; } + .add-margin-right-5x { margin-right: 25px !important; } + .remove-padding { padding: 0 !important; } + .remove-padding-top { padding-top: 0 !important; } + .remove-padding-bottom { padding-bottom: 0 !important; } + .remove-padding-left { padding-left: 0 !important; } + .remove-padding-right { padding-right: 0 !important; } + .remove-margin { margin: 0 !important; } + .remove-margin-top { margin-top: 0 !important; } + .remove-margin-bottom { margin-bottom: 0 !important; } + .remove-margin-left { margin-left: 0 !important; } + .remove-margin-right { margin-right: 0 !important; } + @media (max-width: 767px) { .float-remove-xs { float: none !important; } + .text-center-xs { text-align: center !important; } + .position-static-xs { position: static !important; } + .remove-padding-xs { padding: 0 !important; } + .remove-margin-xs { margin: 0 !important; } } + @media (min-width: 768px) and (max-width: 991px) { .float-remove-sm { float: none !important; } + .text-center-sm { text-align: center !important; } + .position-static-sm { position: static !important; } + .remove-padding-sm { padding: 0 !important; } + .remove-margin-sm { margin: 0 !important; } } + @media (min-width: 992px) and (max-width: 1199px) { .float-remove-md { float: none !important; } + .text-center-md { text-align: center !important; } + .position-static-md { position: static !important; } + .remove-padding-md { padding: 0 !important; } + .remove-margin-md { margin: 0 !important; } } + @media (min-width: 1200px) { .float-remove-lg { float: none !important; } + .text-center-lg { text-align: center !important; } + .position-static-lg { position: static !important; } + .remove-padding-lg { padding: 0 !important; } + .remove-margin-lg { margin: 0 !important; } @@ -5538,6 +5735,7 @@ ul.listing li.grouped-input ul.grouped-child-input.disabled { height: 10000px; width: 20px; } + body.inverse .fade-edge:after { content: ""; background-image: -webkit-gradient(linear, left top, right top, color-stop(0%, rgba(44, 49, 59, 0)), color-stop(100%, #2c313b)); @@ -5565,6 +5763,7 @@ body.inverse .fade-edge:after { -moz-box-shadow: none; box-shadow: none; } + .dropdown-menu:after { content: " "; display: block; @@ -5573,6 +5772,7 @@ body.inverse .fade-edge:after { clear: both; visibility: hidden; } + .dropdown-menu.arrow:before, .dropdown-menu.arrow.arrow-top-left:before { position: absolute; @@ -5585,10 +5785,12 @@ body.inverse .fade-edge:after { border-left: 6px solid transparent; content: ''; } + .dropdown-menu.arrow.arrow-top-right:before { left: auto; right: 15px; } + .dropdown-menu.dark { background: #222222; color: #ffffff; @@ -5599,22 +5801,27 @@ body.inverse .fade-edge:after { -moz-box-shadow: none; box-shadow: none; } + .dropdown-menu.dark a { color: #ffffff; } + .dropdown-menu.dark.arrow:before { border-bottom-color: #222222; } + .dropdown-menu.tiles { padding: 4px; max-width: 385px; } + .dropdown-menu.tiles > li { padding: 0; list-style: none; display: inline-block; float: left; } + .dropdown-menu.tiles li a { display: block; margin: 4px; @@ -5628,15 +5835,18 @@ body.inverse .fade-edge:after { text-decoration: none; background: #444444; } + .dropdown-menu.tiles li a:hover { background: #555555; } + .dropdown-menu.tiles li a .icon { display: block; font-size: 35px; margin: 3px 0 7px; height: 35px; } + .dropdown-menu.tiles li a .name { display: block; line-height: 14px; @@ -5652,9 +5862,11 @@ body.inverse .fade-edge:after { font-weight: 500; text-transform: uppercase; } + .table .form-control { min-width: 100%; } + @media only screen and (max-width: 768px) { .table-responsive table, .table-responsive thead, @@ -5664,17 +5876,21 @@ body.inverse .fade-edge:after { .table-responsive tr { display: block; } + .table-responsive thead tr { position: absolute; top: -9999px; left: -9999px; } + .table-responsive tr { border: 1px solid #ccc; } + .table-responsive.table-striped { border: none; } + .table-responsive tbody > tr > td { border: none; border-bottom: 1px solid #eee; @@ -5683,6 +5899,7 @@ body.inverse .fade-edge:after { white-space: normal; text-align: left; } + .table-responsive tr > td:before { position: absolute; top: 6px; @@ -5693,6 +5910,7 @@ body.inverse .fade-edge:after { text-align: left; font-weight: bold; } + .table-responsive tbody > tr > td:before { content: attr(data-title); } @@ -5715,9 +5933,11 @@ body.inverse .fade-edge:after { .table.list-table:not(.grid-view) tbody { margin: 0; } + .table.list-table thead { display: block; } + .table.list-table > tbody > tr > td, .table.list-table > tbody > tr > th, .table.list-table > tfoot > tr > td, @@ -5730,6 +5950,7 @@ body.inverse .fade-edge:after { overflow: hidden; position: relative; } + .table.list-table .h1, .table.list-table .h2, .table.list-table .h3, @@ -5744,24 +5965,30 @@ body.inverse .fade-edge:after { .table.list-table h6 { margin: 0; } + .table.list-table tr { border-bottom: 5px solid transparent; } + .table.list-table > thead > tr.sort-row { display: none; } + .table.list-table > tbody > tr:nth-of-type(odd), .table.list-table > tbody > tr:nth-of-type(even) { background-color: transparent; } + .table.list-table > tbody > tr.child ul { text-align: left; display: block; } + .table.table-hover > tbody > tr:hover td:not(.dataTables_empty) { background: #e4e4e4 !important; } + .table.table-hover > tbody > tr:hover td.fade-edge:after { content: ""; background-image: -webkit-gradient(linear, left top, right top, color-stop(0%, rgba(228, 228, 228, 0)), color-stop(100%, #e4e4e4)); @@ -5775,9 +6002,11 @@ body.inverse .fade-edge:after { height: 10000px; width: 20px; } + .table.table-selectable > tbody > tr:hover { cursor: pointer; } + .table.table-selectable > tbody > tr:hover td:not(.dataTables_empty):first-child:before, .table.table-selectable > tbody > tr.DTTT_selected td:not(.dataTables_empty):first-child:before { position: absolute; @@ -5794,12 +6023,15 @@ body.inverse .fade-edge:after { right: 0.3rem; top: 0.3rem; } + .table.table-selectable.grid-view > tbody > tr.DTTT_selected td:not(.dataTables_empty):first-child { border: 5px solid #F47415; } + .table.table-selectable:not(.grid-view) > tbody > tr.DTTT_selected td:not(.dataTables_empty) { background: #e4e4e4 !important; } + .table.table-selectable > tbody > tr:hover td:not(.dataTables_empty):first-child:after, .table.table-selectable > tbody > tr.DTTT_selected td:not(.dataTables_empty):first-child:after { position: absolute; @@ -5811,14 +6043,17 @@ body.inverse .fade-edge:after { top: 0; z-index: 101; } + .table.list-table thead tr.bulk-action-row { display: block; padding: 10px 0px; } + .table.list-table thead tr.bulk-action-row > th, .table.list-table thead tr.bulk-action-row > td { display: block !important; } + .table.list-table .bulk-action-row > th > div, .table.list-table .bulk-action-row > td > div, .table.list-table .bulk-action-row > th > span, @@ -5827,30 +6062,37 @@ body.inverse .fade-edge:after { .table.list-table .bulk-action-row > td > ul { margin: 0 -8px; } + .table.list-table:not(.grid-view) .content-fill { width: 1%; } + .table.list-table:not(.grid-view) > tbody > tr > td, .table.list-table:not(.grid-view) > tbody > tr > th { background: #f5f5f5; } + .table.list-table:not(.grid-view) > tbody > tr > td.fade-edge:after, .table.list-table:not(.grid-view) > tbody > tr > th.fade-edge:after { display: none; } + .table.list-table:not(.grid-view) .thumbnail { max-width: 60px; min-width: 60px; } + .table.list-table.grid-view > thead > tr { width: auto; } + .table.list-table .table.list-table > thead, .table.list-table > tbody, .table.list-table > tfoot { display: block; } + .table.list-table.grid-view > tbody > tr > td, .table.list-table.grid-view > tbody > tr > th, .table.list-table.grid-view > tfoot > tr > td, @@ -5859,97 +6101,116 @@ body.inverse .fade-edge:after { white-space: nowrap; padding: 10px 0; } + .table.list-table > tbody > tr > td[data-grid-label]:before, .table.list-table > tbody > tr > th[data-grid-label]:before { content: attr(data-grid-label) ':'; font-weight: 600; margin-right: 8px; } + .table.list-table.grid-view > thead > tr > td, .table.list-table.grid-view > thead > tr > th { display: inline-block; } + .table.list-table.grid-view > thead > tr > td:not(:empty):before, .table.list-table.grid-view > thead > tr > th:not(:empty):before, .table.list-table > thead > tr.filter-box > td:not(:empty):before, .table.list-table > thead > tr.filter-box > th:not(:empty):before { content: attr(data-for); } + .table.list-table.grid-view .hidden-on-grid-view { display: none; } + .table.list-table.grid-view .padding-reduce-on-grid-view { padding: 1px; } + .table.list-table.grid-view .text-left-on-grid-view { text-align: left; } + .table.list-table.grid-view .text-right-on-grid-view { text-align: right; } + .table.list-table.grid-view .text-center-on-grid-view { text-align: center; } + .table.list-table.grid-view tr, .table.list-table > thead > tr { display: inline-block; padding: 15px; } + .table.list-table.grid-view .filter-row, .table.list-table .filter-row.filter-box { background: #e4e4e4; margin: 0; display: block; } + .table.list-table .filter-row.filter-box tr { width: auto; padding: 15px; } + .table.list-table.grid-view .filter-row th:empty, .table.list-table .filter-row.filter-box th:empty { display: none; } + .table.list-table.grid-view tr td { padding: 0; } + @media (max-width: 767px) { .table.list-table.grid-view > thead > tr, .table.list-table.grid-view > thead > tr > td, .table.list-table.grid-view > thead > tr > th { /*display: block;*/ } + .table.list-table > thead > tr.filter-row > td, .table.list-table > thead > tr.filter-row > th { display: block; } } + @media (min-width: 320px) and (max-width: 479px) { .table.list-table.grid-view tr { width: 100%; } } + @media (min-width: 480px) and (max-width: 767px) { .table.list-table.grid-view tr { width: 50%; } } + @media (min-width: 768px) and (max-width: 991px) { .table.list-table.grid-view tr { width: 33.3%; } } + @media (min-width: 992px) and (max-width: 1199px) { .table.list-table.grid-view tr { width: 20%; } } + @media (min-width: 1200px) { .table.list-table.grid-view tr { width: 12%; } } - /* ======================================================================== * thumbnail styles * ======================================================================== */ @@ -5958,6 +6219,7 @@ body.inverse .fade-edge:after { -moz-border-radius: 0; border-radius: 0; } + .thumbnail.icon { border: none; margin: 0; @@ -5966,12 +6228,14 @@ body.inverse .fade-edge:after { text-align: center; position: relative; } + .thumbnail.icon:before { display: block; content: ""; width: 100%; padding-top: 100%; } + .thumbnail.icon > .square-element { position: absolute; top: 0; @@ -5979,6 +6243,7 @@ body.inverse .fade-edge:after { right: 0; bottom: 0; } + .thumbnail.icon .square-element:before { position: absolute; top: 50%; @@ -5989,23 +6254,23 @@ body.inverse .fade-edge:after { -o-transform: translate(-50%, -50%); transform: translate(-50%, -50%); } + .thumbnail.icon img { width: 100%; } -.status-active{ +.status-active { color: #A4C639; } -.status-inactive{ +.status-inactive { color: #a94442; } -.status-removed{ +.status-removed { color: #a99d2f; } - /* ======================================================================== * pagination styles * ======================================================================== */ @@ -6017,6 +6282,7 @@ body.inverse .fade-edge:after { text-decoration: none; color: #2c313b; } + .pagination > li:first-child > a, .pagination > li:first-child > span, .pagination > li:last-child > a, @@ -6025,6 +6291,7 @@ body.inverse .fade-edge:after { -moz-border-radius: 0; border-radius: 0; } + .pagination > .active > a, .pagination > .active > a:focus, .pagination > .active > a:hover, @@ -6034,6 +6301,7 @@ body.inverse .fade-edge:after { background: #11375B; border-color: #11375B; } + .pagination > .disabled > a, .pagination > .disabled > a:focus, .pagination > .disabled > a:hover, @@ -6051,19 +6319,23 @@ ul.tiles { margin: 0; padding: 0; } + ul.tiles li { display: inline-block; } + ul.tiles li.square { min-width: 80px; position: relative; } + ul.tiles li.square:before { display: block; content: ""; width: 100%; padding-top: 100%; } + ul.tiles li.square > .square-element { position: absolute; top: 0; @@ -6071,6 +6343,7 @@ ul.tiles li.square > .square-element { right: 0; bottom: 0; } + ul.tiles li a { text-decoration: none; padding: 5px; @@ -6083,6 +6356,7 @@ ul.tiles li a { text-transform: capitalize; font-size: 14px; } + ul.tiles .icon { display: block; font-size: 15px; @@ -6093,7 +6367,6 @@ ul.tiles .icon { * modal popup styles * ======================================================================== */ - /* ======================================================================== * asset details styles * ======================================================================== */ @@ -6102,10 +6375,12 @@ ul.tiles .icon { background: #11375B; float: none !important; } + .asset-desc .asset-name { font-size: 24px; margin-bottom: 0; } + .asset-desc .asset-publisher { font-size: 14px; margin-bottom: 20px; @@ -6132,18 +6407,21 @@ ul.tiles .icon { -moz-border-radius: 0; border-radius: 0; } + .list-group-item:hover a { text-decoration: none; } + .list-group-item.active, .list-group-item.active:focus, .list-group-item.active:hover { background: #11375B; border-color: #11375B; - color:#fff; + color: #fff; } + .list-group-item.active a { - color:#fff; + color: #fff; text-decoration: none; } @@ -6159,12 +6437,14 @@ ul.tiles .icon { border-radius: 0; padding: 0; } + .panel { -webkit-box-shadow: none; -moz-box-shadow: none; box-shadow: none; border: none; } + .panel-default > .panel-heading { background: transparent; font-size: 24px; @@ -6179,23 +6459,26 @@ ul.tiles .icon { .icon-success { color: #A4C639; } + .icon-info { color: #009da7; } + .icon-warning { color: #f0ad4e; } + .icon-danger { color: #d9534f; } .wr-applist-board { - background:#fafafa; - margin-bottom:10px; + background: #fafafa; + margin-bottom: 10px; } .wr-applist-board:hover { - background:#f0f0f0; + background: #f0f0f0; } /* ======================================================================== @@ -6203,46 +6486,58 @@ ul.tiles .icon { * ======================================================================== */ .wr-applist { - margin-bottom:15px; - border-bottom:1px solid #f0f0f0; + margin-bottom: 15px; + border-bottom: 1px solid #f0f0f0; } .wr-applist:after { - clear: both; - content: " "; - display: block; - height: 0; + clear: both; + content: " "; + display: block; + height: 0; } .wr-applist a { float: left; text-align: center; - font-size:12px; + font-size: 12px; text-decoration: none; - margin-right:10px; - color:#526A84; - width:100px; - background:#fafafa; - padding:2px 10px 10px 10px; - margin-bottom:10px; + margin-right: 10px; + color: #526A84; + width: 100px; + background: #fafafa; + padding: 2px 10px 10px 10px; + margin-bottom: 10px; } .wr-applist .fw { - margin:10px; + margin: 10px; font-size: 28px; } .wr-applist span { - display:block; + display: block; } -@media (max-width:768px){ - .wr-applist a { padding:0; min-width: inherit; margin-right:5px; } - .wr-applist img { width: 50px; } - .wr-applist span { display:none; } - .wr-applist .fw { font-size: 25px; } -} +@media (max-width: 768px) { + .wr-applist a { + padding: 0; + min-width: inherit; + margin-right: 5px; + } + + .wr-applist img { + width: 50px; + } + .wr-applist span { + display: none; + } + + .wr-applist .fw { + font-size: 25px; + } +} /* ======================================================================== * tree styles @@ -6253,25 +6548,31 @@ ul.tiles .icon { margin: 0; list-style: none; } + .tree-view ul { margin-left: 0.7em; position: relative; } + .tree-view ul li { display: none; } + .tree-view li[aria-expanded=true] > ul > li { display: list-item; } + .tree-view li { margin: 0; padding: 0 2em; line-height: 2em; position: relative; } + .tree-view .branch { cursor: pointer; } + .tree-view li > .icon { font-family: 'font-wso2'; font-style: normal; @@ -6285,16 +6586,20 @@ ul.tiles .icon { display: inline-block; margin-right: 10px; } + .tree-view li > .icon:before { content: "\e687"; } + .tree-view li[aria-expanded=true] > .icon:before { content: "\e685"; } + .tree-view li a, .tree-view li a:hover { text-decoration: none; } + .tree-view li button:active, .tree-view li button:focus { cursor: pointer; @@ -6305,6 +6610,7 @@ ul.tiles .icon { margin: 0; list-style: none; } + .tree-view.tree-view-lines ul:before { content: ""; display: block; @@ -6315,6 +6621,7 @@ ul.tiles .icon { left: 0; border-left: 1px solid; } + .tree-view.tree-view-lines ul li:before { content: ""; display: block; @@ -6326,11 +6633,13 @@ ul.tiles .icon { top: 1em; left: 0; } + .tree-view .checkbox, .tree-view .radio { margin: 0; display: inline-block; } + .tree-view .checkbox input[type=checkbox], .tree-view .checkbox-inline input[type=checkbox], .tree-view .radio input[type=radio], @@ -6341,12 +6650,15 @@ ul.tiles .icon { .navbar-default .navbar-nav > li a > .fw-stack > .fw-stack > .fw-circle:not(.fw-stroke) { color: #526A84; } + .navbar-default .navbar-nav > li:hover a > .fw-stack > .fw-stack > .fw-circle:not(.fw-stroke) { color: #798EA5; } + .notifications.badge { background-color: #F47415; } + .inline-warning { color: red; opacity: 0.6; @@ -6354,172 +6666,195 @@ ul.tiles .icon { font-weight: bold; } -.row.wr-tile-buttons-list .tile-buttons a{ - margin-bottom: 10px; +.row.wr-tile-buttons-list .tile-buttons a { + margin-bottom: 10px; } -#device-location{ - height:450px; - width: 100%; - margin-bottom:0px; +#device-location { + height: 450px; + width: 100%; + margin-bottom: 0px; } -#device-location .leaflet-popup-content-wrapper{ - -webkit-border-radius: 0; - -moz-border-radius: 0; - border-radius: 0; + +#device-location .leaflet-popup-content-wrapper { + -webkit-border-radius: 0; + -moz-border-radius: 0; + border-radius: 0; } -.media .panel-group.tab-content{ - position: relative; - border: none; - margin-bottom:0px; - } - .media .panel-group .panel-heading{ - padding:0px; - margin-bottom:0px; - } - .media .panel-group .panel-heading.display-none-xs{ - padding:10px; - margin-bottom:0px; - } - .media .panel.active .panel-heading.visible-xs{ - background:#11375b; - color:#fff; - } - .media .panel-heading{ - font-size:14px; - } - .media .panel-group .panel-body{ - padding:10px; - } - .arrow-left { - position: absolute; - right: 100%; - top: 20px; - width: 0px; - height: 0px; - border-top: 10px solid transparent; - border-bottom: 10px solid transparent; - border-right: 10px solid #ddd; - } +.media .panel-group.tab-content { + position: relative; + border: none; + margin-bottom: 0px; +} + +.media .panel-group .panel-heading { + padding: 0px; + margin-bottom: 0px; +} + +.media .panel-group .panel-heading.display-none-xs { + padding: 10px; + margin-bottom: 0px; +} + +.media .panel.active .panel-heading.visible-xs { + background: #11375b; + color: #fff; +} + +.media .panel-heading { + font-size: 14px; +} + +.media .panel-group .panel-body { + padding: 10px; +} + +.arrow-left { + position: absolute; + right: 100%; + top: 20px; + width: 0px; + height: 0px; + border-top: 10px solid transparent; + border-bottom: 10px solid transparent; + border-right: 10px solid #ddd; +} + +.media .panel-group.tab-content .panel { + background: #f4f4f4; + border: 1px solid #ddd; + margin-bottom: 10px; + padding: 15px; +} + +.media .list-group-item a, .media .list-group-item a { + background: #f4f4f4; +} + +.media .list-group-item a:focus, .media .list-group-item a:hover { + color: #333; + background: #f6f6f6; +} + +.media .panel-group .panel + .panel { + margin-top: 0px; +} + +.media .panel-group .panel-body { + /*margin-bottom:40px;*/ +} + +.media .panel-group .panel-body .thumbnail.icon { + margin-bottom: 10px; +} + +.media .panel-body .switch-container { + text-align: right; + margin-bottom: 10px; +} + +.media .panel-body .switch-container > label { + font-weight: normal; +} + +.media .panel .panel-heading .caret-updown { + color: #2c313b; + margin-top: 10px; + float: right; +} + +.media .panel.active .panel-heading .caret-updown { + color: #fff; +} - .media .panel-group.tab-content .panel{ - background: #f4f4f4; - border:1px solid #ddd; - margin-bottom:10px; - padding: 15px; - } - .media .list-group-item a, .media .list-group-item a{ - background:#f4f4f4; - } - .media .list-group-item a:focus, .media .list-group-item a:hover{ - color:#333; - background:#f6f6f6; - } - .media .panel-group .panel+.panel{ - margin-top:0px; - } - .media .panel-group .panel-body{ - /*margin-bottom:40px;*/ - } - .media .panel-group .panel-body .thumbnail.icon{ - margin-bottom:10px; - } - .media .panel-body .switch-container{ - text-align:right; - margin-bottom:10px; - } - .media .panel-body .switch-container > label{ - font-weight:normal; - } - .media .panel .panel-heading .caret-updown{ - color:#2c313b; - margin-top:10px; - float:right; - } - .media .panel.active .panel-heading .caret-updown{ - color:#fff; - } .alert { - -webkit-border-radius: 0; - -moz-border-radius: 0; - border-radius: 0; - border: none; - position: relative; - padding: 15px 50px 15px 15px; + -webkit-border-radius: 0; + -moz-border-radius: 0; + border-radius: 0; + border: none; + position: relative; + padding: 15px 50px 15px 15px; } + .alert.alert-danger { - color: #ffffff; - background: #d9534f; + color: #ffffff; + background: #d9534f; } -.wr-form button.close{ - margin-right:0px; + +.wr-form button.close { + margin-right: 0px; } + .alert .close { - position: absolute; - top: 0; - right: 0; - height: 50px; - width: 50px; - line-height: 1; - padding: 0 10px; - font-size: 12px; - background: #222222; - color: #ffffff; + position: absolute; + top: 0; + right: 0; + height: 50px; + width: 50px; + line-height: 1; + padding: 0 10px; + font-size: 12px; + background: #222222; + color: #ffffff; } + .alert.alert-danger .close { - background: #220807; + background: #220807; } -.has-error .form-control:focus{ - border-color:#F44336; - -webkit-box-shadow: 0px 0px 0px 0px rgba(0,0,0,0); - -moz-box-shadow: 0px 0px 0px 0px rgba(0,0,0,0); - box-shadow: 0px 0px 0px 0px rgba(0,0,0,0); + +.has-error .form-control:focus { + border-color: #F44336; + -webkit-box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0); + -moz-box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0); + box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0); } -.has-success .form-control:focus{ - border-color:#4CAF50; - -webkit-box-shadow: 0px 0px 0px 0px rgba(0,0,0,0); - -moz-box-shadow: 0px 0px 0px 0px rgba(0,0,0,0); - box-shadow: 0px 0px 0px 0px rgba(0,0,0,0); + +.has-success .form-control:focus { + border-color: #4CAF50; + -webkit-box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0); + -moz-box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0); + box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0); } -.form-group>label.error { - line-height: 1.5em; - color: rgb(255, 255, 255); - background-color: #e74c3c; - width: 100%; - padding: 5px 10px; - border-left: 5px solid #942F25; - font-weight: 500; +.form-group > label.error { + line-height: 1.5em; + color: rgb(255, 255, 255); + background-color: #e74c3c; + width: 100%; + padding: 5px 10px; + border-left: 5px solid #942F25; + font-weight: 500; } -.form-group label>.required { - color: #E74C3C; - font-weight: 400; + +.form-group label > .required { + color: #E74C3C; + font-weight: 400; } select > option:hover { - color: #1B517E; - cursor: pointer; + color: #1B517E; + cursor: pointer; } .dynamic-search-param { - background-color: lightgrey; - padding: 25px; - border: 5px solid navy; - margin: 25px; + background-color: lightgrey; + padding: 25px; + border: 5px solid navy; + margin: 25px; } -.close-button-div -{ - display:block; - float:right; - width:27px; - height:27px; - /*background:url('http://cdn-sg1.pgimgs.com/images/pg/close-button.png') no-repeat center center;*/ +.close-button-div { + display: block; + float: right; + width: 27px; + height: 27px; + /*background:url('http://cdn-sg1.pgimgs.com/images/pg/close-button.png') no-repeat center center;*/ } -.label-bold{ - font-weight:400; +.label-bold { + font-weight: 400; } .header .fw:before { @@ -6528,7 +6863,7 @@ select > option:hover { /* Adding style for required fields */ .required:before { - content: "*"; + content: "*"; } .device-type-img.fw { @@ -6537,22 +6872,25 @@ select > option:hover { background: #11375b; padding: 35px; } -.table.list-table:not(.grid-view){ - margin: 0px !important; + +.table.list-table:not(.grid-view) { + margin: 0px !important; } -.table.list-table:not(.grid-view) > thead, .table.list-table:not(.grid-view) > tbody, .table.list-table:not(.grid-view) > tfoot{ - margin-bottom: 10px !important; + +.table.list-table:not(.grid-view) > thead, .table.list-table:not(.grid-view) > tbody, .table.list-table:not(.grid-view) > tfoot { + margin-bottom: 10px !important; } -.table.list-table:not(.grid-view) tbody{ - margin: 0px !important; + +.table.list-table:not(.grid-view) tbody { + margin: 0px !important; } #user-grid td i { - padding-right: 5px; + padding-right: 5px; } .btn-operations:hover, .btn-operations:focus, .btn-operations:active { - color : #C7C7C7; + color: #C7C7C7; } /** @@ -6562,16 +6900,16 @@ select > option:hover { */ header.header-default { - background: #181e22 !important; - height: 50px; + background: #181e22 !important; + height: 50px; } .navbar-collapse { - background: #37474F; + background: #37474F; } .dropdown-menu > li { - width: 100%; + width: 100%; } /** End **/ @@ -6582,39 +6920,42 @@ header.header-default { * Todo : Move responsive style to theme.less file * **/ -@media (max-width: 1199px) and (min-width: 992px){ - .table .fw-stack{ - font-size: 12px; - } +@media (max-width: 1199px) and (min-width: 992px) { + .table .fw-stack { + font-size: 12px; + } } -@media (min-width: 1200px){ +@media (min-width: 1200px) { table tbody tr { width: 14% !important; } - .table .fw-stack{ + + .table .fw-stack { font-size: 1.2vw; } } -@media (min-width: 1500px){ +@media (min-width: 1500px) { table tbody tr { width: 10% !important; } - .table .fw-stack{ + + .table .fw-stack { font-size: 0.8vw; } } /** End **/ -.tooltip-overflow-fix{ - overflow: visible !important; +.tooltip-overflow-fix { + overflow: visible !important; -.editable-input select{ - height: 35px !important; +.editable-input select { + height: 35px !important; } -.editable-submit, .editable-cancel{ - padding: 8px 15px !important; - line-height: 0px !important; + +.editable-submit, .editable-cancel { + padding: 8px 15px !important; + line-height: 0px !important; } diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.ui.title/title.hbs b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.ui.title/title.hbs index 5fbe77d385..f3f413e962 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.ui.title/title.hbs +++ b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.ui.title/title.hbs @@ -17,5 +17,9 @@ }} {{#zone "title"}} - {{@unit.params.pageTitle}} | {{@app.conf.appName}} + {{#if isCloud}} + {{@unit.params.pageTitle}} | WSO2 Device Cloud + {{else}} + {{@unit.params.pageTitle}} | {{@app.conf.appName}} + {{/if}} {{/zone}} \ No newline at end of file diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.ui.title/title.js b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.ui.title/title.js new file mode 100644 index 0000000000..76da4c18f0 --- /dev/null +++ b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.ui.title/title.js @@ -0,0 +1,8 @@ +function onRequest(context) { + + var deviceMgtProps = require("/app/modules/conf-reader/main.js")["conf"]; + var viewModel = {}; + viewModel.isCloud = deviceMgtProps.isCloud; + return viewModel; + +} \ No newline at end of file diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/uuf-template-app/app/units/uuf.unit.favicon/favicon.hbs b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/uuf-template-app/app/units/uuf.unit.favicon/favicon.hbs index 8274b5e66f..4e56417553 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/uuf-template-app/app/units/uuf.unit.favicon/favicon.hbs +++ b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/uuf-template-app/app/units/uuf.unit.favicon/favicon.hbs @@ -16,5 +16,9 @@ under the License. }} {{#zone "favicon"}} - + {{#if isCloud}} + + {{else}} + + {{/if}} {{/zone}} \ No newline at end of file diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/uuf-template-app/app/units/uuf.unit.favicon/favicon.js b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/uuf-template-app/app/units/uuf.unit.favicon/favicon.js new file mode 100644 index 0000000000..76da4c18f0 --- /dev/null +++ b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/uuf-template-app/app/units/uuf.unit.favicon/favicon.js @@ -0,0 +1,8 @@ +function onRequest(context) { + + var deviceMgtProps = require("/app/modules/conf-reader/main.js")["conf"]; + var viewModel = {}; + viewModel.isCloud = deviceMgtProps.isCloud; + return viewModel; + +} \ No newline at end of file diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/uuf-template-app/app/units/uuf.unit.favicon/public/img/cloud-favicon.png b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/uuf-template-app/app/units/uuf.unit.favicon/public/img/cloud-favicon.png new file mode 100644 index 0000000000..e9d327e613 Binary files /dev/null and b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/uuf-template-app/app/units/uuf.unit.favicon/public/img/cloud-favicon.png differ diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.url.printer/pom.xml b/components/device-mgt/org.wso2.carbon.device.mgt.url.printer/pom.xml index 45b79aa499..77dadff7c2 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.url.printer/pom.xml +++ b/components/device-mgt/org.wso2.carbon.device.mgt.url.printer/pom.xml @@ -23,7 +23,7 @@ device-mgt org.wso2.carbon.devicemgt - 2.0.39-SNAPSHOT + 2.0.50-SNAPSHOT ../pom.xml diff --git a/components/device-mgt/pom.xml b/components/device-mgt/pom.xml index 356df5501e..75ef2fe4b3 100644 --- a/components/device-mgt/pom.xml +++ b/components/device-mgt/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 2.0.39-SNAPSHOT + 2.0.50-SNAPSHOT ../../pom.xml diff --git a/components/email-sender/org.wso2.carbon.email.sender.core/pom.xml b/components/email-sender/org.wso2.carbon.email.sender.core/pom.xml index e5936521ac..c23f40672f 100644 --- a/components/email-sender/org.wso2.carbon.email.sender.core/pom.xml +++ b/components/email-sender/org.wso2.carbon.email.sender.core/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt email-sender - 2.0.39-SNAPSHOT + 2.0.50-SNAPSHOT ../pom.xml diff --git a/components/email-sender/pom.xml b/components/email-sender/pom.xml index 70f2a13182..50e4b09d23 100644 --- a/components/email-sender/pom.xml +++ b/components/email-sender/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 2.0.39-SNAPSHOT + 2.0.50-SNAPSHOT ../../pom.xml diff --git a/components/identity-extensions/dynamic-client-registration/dynamic-client-web-proxy/pom.xml b/components/identity-extensions/dynamic-client-registration/dynamic-client-web-proxy/pom.xml index bb6e2f74d4..eb68f4153c 100644 --- a/components/identity-extensions/dynamic-client-registration/dynamic-client-web-proxy/pom.xml +++ b/components/identity-extensions/dynamic-client-registration/dynamic-client-web-proxy/pom.xml @@ -21,7 +21,7 @@ dynamic-client-registration org.wso2.carbon.devicemgt - 2.0.39-SNAPSHOT + 2.0.50-SNAPSHOT ../pom.xml diff --git a/components/identity-extensions/dynamic-client-registration/dynamic-client-web/pom.xml b/components/identity-extensions/dynamic-client-registration/dynamic-client-web/pom.xml index 39b754aa32..8eda19a275 100644 --- a/components/identity-extensions/dynamic-client-registration/dynamic-client-web/pom.xml +++ b/components/identity-extensions/dynamic-client-registration/dynamic-client-web/pom.xml @@ -21,7 +21,7 @@ dynamic-client-registration org.wso2.carbon.devicemgt - 2.0.39-SNAPSHOT + 2.0.50-SNAPSHOT ../pom.xml diff --git a/components/identity-extensions/dynamic-client-registration/org.wso2.carbon.dynamic.client.registration/pom.xml b/components/identity-extensions/dynamic-client-registration/org.wso2.carbon.dynamic.client.registration/pom.xml index 553a3270f5..e619039fa2 100644 --- a/components/identity-extensions/dynamic-client-registration/org.wso2.carbon.dynamic.client.registration/pom.xml +++ b/components/identity-extensions/dynamic-client-registration/org.wso2.carbon.dynamic.client.registration/pom.xml @@ -21,13 +21,13 @@ dynamic-client-registration org.wso2.carbon.devicemgt - 2.0.39-SNAPSHOT + 2.0.50-SNAPSHOT ../pom.xml 4.0.0 org.wso2.carbon.dynamic.client.registration - 2.0.39-SNAPSHOT + 2.0.50-SNAPSHOT bundle WSO2 Carbon - Dynamic client registration service WSO2 Carbon - Dynamic Client Registration Service diff --git a/components/identity-extensions/dynamic-client-registration/org.wso2.carbon.dynamic.client.web.app.registration/pom.xml b/components/identity-extensions/dynamic-client-registration/org.wso2.carbon.dynamic.client.web.app.registration/pom.xml index 97ec2aefab..4019fdbf19 100644 --- a/components/identity-extensions/dynamic-client-registration/org.wso2.carbon.dynamic.client.web.app.registration/pom.xml +++ b/components/identity-extensions/dynamic-client-registration/org.wso2.carbon.dynamic.client.web.app.registration/pom.xml @@ -21,13 +21,13 @@ dynamic-client-registration org.wso2.carbon.devicemgt - 2.0.39-SNAPSHOT + 2.0.50-SNAPSHOT ../pom.xml 4.0.0 org.wso2.carbon.dynamic.client.web.app.registration - 2.0.39-SNAPSHOT + 2.0.50-SNAPSHOT bundle WSO2 Carbon - Dynamic client web app registration WSO2 Carbon - Dynamic Client Web-app Registration Service diff --git a/components/identity-extensions/dynamic-client-registration/pom.xml b/components/identity-extensions/dynamic-client-registration/pom.xml index 79a0c797a0..565fff4b79 100644 --- a/components/identity-extensions/dynamic-client-registration/pom.xml +++ b/components/identity-extensions/dynamic-client-registration/pom.xml @@ -22,14 +22,14 @@ org.wso2.carbon.devicemgt identity-extensions - 2.0.39-SNAPSHOT + 2.0.50-SNAPSHOT ../pom.xml 4.0.0 org.wso2.carbon.devicemgt dynamic-client-registration - 2.0.39-SNAPSHOT + 2.0.50-SNAPSHOT pom WSO2 Carbon - Dynamic client registration http://wso2.org diff --git a/components/identity-extensions/org.wso2.carbon.device.mgt.oauth.extensions/pom.xml b/components/identity-extensions/org.wso2.carbon.device.mgt.oauth.extensions/pom.xml index 2e54a5e65f..e6bcc0d9d3 100644 --- a/components/identity-extensions/org.wso2.carbon.device.mgt.oauth.extensions/pom.xml +++ b/components/identity-extensions/org.wso2.carbon.device.mgt.oauth.extensions/pom.xml @@ -22,13 +22,13 @@ org.wso2.carbon.devicemgt identity-extensions - 2.0.39-SNAPSHOT + 2.0.50-SNAPSHOT ../pom.xml 4.0.0 org.wso2.carbon.device.mgt.oauth.extensions - 2.0.39-SNAPSHOT + 2.0.50-SNAPSHOT bundle WSO2 Carbon - OAuth Extensions http://wso2.org diff --git a/components/identity-extensions/org.wso2.carbon.identity.authenticator.backend.oauth/pom.xml b/components/identity-extensions/org.wso2.carbon.identity.authenticator.backend.oauth/pom.xml index 1a6606cf12..ee9721a5d4 100644 --- a/components/identity-extensions/org.wso2.carbon.identity.authenticator.backend.oauth/pom.xml +++ b/components/identity-extensions/org.wso2.carbon.identity.authenticator.backend.oauth/pom.xml @@ -21,7 +21,7 @@ identity-extensions org.wso2.carbon.devicemgt - 2.0.39-SNAPSHOT + 2.0.50-SNAPSHOT 4.0.0 diff --git a/components/identity-extensions/org.wso2.carbon.identity.jwt.client.extension/pom.xml b/components/identity-extensions/org.wso2.carbon.identity.jwt.client.extension/pom.xml index 8b0f6dba76..83c2193a5d 100644 --- a/components/identity-extensions/org.wso2.carbon.identity.jwt.client.extension/pom.xml +++ b/components/identity-extensions/org.wso2.carbon.identity.jwt.client.extension/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt identity-extensions - 2.0.39-SNAPSHOT + 2.0.50-SNAPSHOT ../pom.xml diff --git a/components/identity-extensions/pom.xml b/components/identity-extensions/pom.xml index d73cd04530..cc3aa06463 100644 --- a/components/identity-extensions/pom.xml +++ b/components/identity-extensions/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 2.0.39-SNAPSHOT + 2.0.50-SNAPSHOT ../../pom.xml diff --git a/components/policy-mgt/org.wso2.carbon.complex.policy.decision.point/pom.xml b/components/policy-mgt/org.wso2.carbon.complex.policy.decision.point/pom.xml index cc0475077c..c4ce113cc2 100644 --- a/components/policy-mgt/org.wso2.carbon.complex.policy.decision.point/pom.xml +++ b/components/policy-mgt/org.wso2.carbon.complex.policy.decision.point/pom.xml @@ -22,14 +22,14 @@ org.wso2.carbon.devicemgt policy-mgt - 2.0.39-SNAPSHOT + 2.0.50-SNAPSHOT ../pom.xml 4.0.0 org.wso2.carbon.devicemgt org.wso2.carbon.complex.policy.decision.point - 2.0.39-SNAPSHOT + 2.0.50-SNAPSHOT bundle WSO2 Carbon - Policy Decision Point WSO2 Carbon - Policy Decision Point diff --git a/components/policy-mgt/org.wso2.carbon.policy.decision.point/pom.xml b/components/policy-mgt/org.wso2.carbon.policy.decision.point/pom.xml index 751a1533b3..3b2fb14136 100644 --- a/components/policy-mgt/org.wso2.carbon.policy.decision.point/pom.xml +++ b/components/policy-mgt/org.wso2.carbon.policy.decision.point/pom.xml @@ -3,14 +3,14 @@ org.wso2.carbon.devicemgt policy-mgt - 2.0.39-SNAPSHOT + 2.0.50-SNAPSHOT ../pom.xml 4.0.0 org.wso2.carbon.devicemgt org.wso2.carbon.policy.decision.point - 2.0.39-SNAPSHOT + 2.0.50-SNAPSHOT bundle WSO2 Carbon - Policy Decision Point WSO2 Carbon - Policy Decision Point diff --git a/components/policy-mgt/org.wso2.carbon.policy.information.point/pom.xml b/components/policy-mgt/org.wso2.carbon.policy.information.point/pom.xml index 91658da082..b0f57e9691 100644 --- a/components/policy-mgt/org.wso2.carbon.policy.information.point/pom.xml +++ b/components/policy-mgt/org.wso2.carbon.policy.information.point/pom.xml @@ -3,7 +3,7 @@ org.wso2.carbon.devicemgt policy-mgt - 2.0.39-SNAPSHOT + 2.0.50-SNAPSHOT ../pom.xml @@ -11,7 +11,7 @@ 4.0.0 org.wso2.carbon.devicemgt org.wso2.carbon.policy.information.point - 2.0.39-SNAPSHOT + 2.0.50-SNAPSHOT bundle WSO2 Carbon - Policy Information Point WSO2 Carbon - Policy Information Point diff --git a/components/policy-mgt/org.wso2.carbon.policy.mgt.common/pom.xml b/components/policy-mgt/org.wso2.carbon.policy.mgt.common/pom.xml index 10d4ce41c8..4baa36879c 100644 --- a/components/policy-mgt/org.wso2.carbon.policy.mgt.common/pom.xml +++ b/components/policy-mgt/org.wso2.carbon.policy.mgt.common/pom.xml @@ -22,14 +22,14 @@ org.wso2.carbon.devicemgt policy-mgt - 2.0.39-SNAPSHOT + 2.0.50-SNAPSHOT ../pom.xml 4.0.0 org.wso2.carbon.devicemgt org.wso2.carbon.policy.mgt.common - 2.0.39-SNAPSHOT + 2.0.50-SNAPSHOT bundle WSO2 Carbon - Policy Management Common WSO2 Carbon - Policy Management Common diff --git a/components/policy-mgt/org.wso2.carbon.policy.mgt.core/pom.xml b/components/policy-mgt/org.wso2.carbon.policy.mgt.core/pom.xml index 494268a1d7..3cfacfd0b5 100644 --- a/components/policy-mgt/org.wso2.carbon.policy.mgt.core/pom.xml +++ b/components/policy-mgt/org.wso2.carbon.policy.mgt.core/pom.xml @@ -22,14 +22,14 @@ org.wso2.carbon.devicemgt policy-mgt - 2.0.39-SNAPSHOT + 2.0.50-SNAPSHOT ../pom.xml 4.0.0 org.wso2.carbon.devicemgt org.wso2.carbon.policy.mgt.core - 2.0.39-SNAPSHOT + 2.0.50-SNAPSHOT bundle WSO2 Carbon - Policy Management Core WSO2 Carbon - Policy Management Core diff --git a/components/policy-mgt/org.wso2.carbon.policy.mgt.core/src/main/java/org/wso2/carbon/policy/mgt/core/impl/PolicyAdministratorPointImpl.java b/components/policy-mgt/org.wso2.carbon.policy.mgt.core/src/main/java/org/wso2/carbon/policy/mgt/core/impl/PolicyAdministratorPointImpl.java index 73e21e0303..50d58c3bf4 100644 --- a/components/policy-mgt/org.wso2.carbon.policy.mgt.core/src/main/java/org/wso2/carbon/policy/mgt/core/impl/PolicyAdministratorPointImpl.java +++ b/components/policy-mgt/org.wso2.carbon.policy.mgt.core/src/main/java/org/wso2/carbon/policy/mgt/core/impl/PolicyAdministratorPointImpl.java @@ -144,33 +144,35 @@ public class PolicyAdministratorPointImpl implements PolicyAdministratorPoint { //Check whether the TaskType is already registered. If not we'll register it here. if (!registeredTaskTypes.contains(PolicyManagementConstants.DELEGATION_TASK_TYPE)) { taskService.registerTaskType(PolicyManagementConstants.DELEGATION_TASK_TYPE); - TaskInfo registeredTaskInfo = null; - // getTask method will throw a TaskException if the task is not registered. Hence we'll handle the - // exception and register the task. - try { - registeredTaskInfo = taskManager.getTask(taskName); - } catch (TaskException e) { + } + + TaskInfo registeredTaskInfo = null; + // getTask method will throw a TaskException if the task is not registered. Hence we'll handle the + // exception and register the task. + try { + registeredTaskInfo = taskManager.getTask(taskName); + } catch (TaskException e) { // No need of any specific logic to handle this exception as it is thrown if the task is not registered. - } finally { - // If registeredTaskInfo is null that means there's no registered delegation-task. - if (registeredTaskInfo == null) { - TaskInfo taskInfo = new TaskInfo(taskName, PolicyManagementConstants.DELEGATION_TASK_CLAZZ, - properties, triggerInfo); - taskManager.registerTask(taskInfo); - taskManager.scheduleTask(taskInfo.getName()); - } - } - } else { - if (!taskManager.isTaskScheduled(taskName)) { + } finally { + // If registeredTaskInfo is null that means there's no registered delegation-task. + if (registeredTaskInfo == null) { TaskInfo taskInfo = new TaskInfo(taskName, PolicyManagementConstants.DELEGATION_TASK_CLAZZ, - properties, triggerInfo); + properties, triggerInfo); + taskManager.registerTask(taskInfo); taskManager.scheduleTask(taskInfo.getName()); } else { - throw new PolicyManagementException("There is a task already running for policy changes. Please try " + - "to apply " + - "changes after few minutes."); + if (!taskManager.isTaskScheduled(taskName)) { + TaskInfo taskInfo = new TaskInfo(taskName, PolicyManagementConstants.DELEGATION_TASK_CLAZZ, + properties, triggerInfo); + taskManager.scheduleTask(taskInfo.getName()); + } else { + throw new PolicyManagementException("There is a task already running for policy changes. Please try " + + "to apply " + + "changes after few minutes."); + } } } + } catch (TaskException e) { String msg = "Error occurred while creating the policy delegation task for tenant " + PrivilegedCarbonContext. diff --git a/components/policy-mgt/pom.xml b/components/policy-mgt/pom.xml index 691f533830..e1a7c6b661 100644 --- a/components/policy-mgt/pom.xml +++ b/components/policy-mgt/pom.xml @@ -23,13 +23,13 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 2.0.39-SNAPSHOT + 2.0.50-SNAPSHOT ../../pom.xml 4.0.0 policy-mgt - 2.0.39-SNAPSHOT + 2.0.50-SNAPSHOT pom WSO2 Carbon - Policy Management Component http://wso2.org diff --git a/components/webapp-authenticator-framework/org.wso2.carbon.webapp.authenticator.framework/pom.xml b/components/webapp-authenticator-framework/org.wso2.carbon.webapp.authenticator.framework/pom.xml index 9b456bc3ac..4d89520df4 100644 --- a/components/webapp-authenticator-framework/org.wso2.carbon.webapp.authenticator.framework/pom.xml +++ b/components/webapp-authenticator-framework/org.wso2.carbon.webapp.authenticator.framework/pom.xml @@ -21,14 +21,14 @@ org.wso2.carbon.devicemgt webapp-authenticator-framework - 2.0.39-SNAPSHOT + 2.0.50-SNAPSHOT ../pom.xml 4.0.0 org.wso2.carbon.devicemgt org.wso2.carbon.webapp.authenticator.framework - 2.0.39-SNAPSHOT + 2.0.50-SNAPSHOT bundle WSO2 Carbon - Web Application Authenticator Framework Bundle WSO2 Carbon - Web Application Authenticator Framework Bundle diff --git a/components/webapp-authenticator-framework/org.wso2.carbon.webapp.authenticator.framework/src/main/java/org/wso2/carbon/webapp/authenticator/framework/authenticator/BasicAuthAuthenticator.java b/components/webapp-authenticator-framework/org.wso2.carbon.webapp.authenticator.framework/src/main/java/org/wso2/carbon/webapp/authenticator/framework/authenticator/BasicAuthAuthenticator.java index c4d2da95b6..f384efe6f5 100644 --- a/components/webapp-authenticator-framework/org.wso2.carbon.webapp.authenticator.framework/src/main/java/org/wso2/carbon/webapp/authenticator/framework/authenticator/BasicAuthAuthenticator.java +++ b/components/webapp-authenticator-framework/org.wso2.carbon.webapp.authenticator.framework/src/main/java/org/wso2/carbon/webapp/authenticator/framework/authenticator/BasicAuthAuthenticator.java @@ -49,6 +49,9 @@ public class BasicAuthAuthenticator implements WebappAuthenticator { @Override public boolean canHandle(Request request) { + if (!isAuthenticationSupported(request)) { + return false; + } MessageBytes authorization = request.getCoyoteRequest().getMimeHeaders().getValue(Constants.HTTPHeaders.HEADER_HTTP_AUTHORIZATION); if (authorization != null) { @@ -156,4 +159,9 @@ public class BasicAuthAuthenticator implements WebappAuthenticator { } } + private boolean isAuthenticationSupported(Request request) { + String param = request.getContext().findParameter("basicAuth"); + return (param == null || !Boolean.parseBoolean(param)); + } + } diff --git a/components/webapp-authenticator-framework/pom.xml b/components/webapp-authenticator-framework/pom.xml index 3bbc61dba6..2fd678cb23 100644 --- a/components/webapp-authenticator-framework/pom.xml +++ b/components/webapp-authenticator-framework/pom.xml @@ -22,14 +22,14 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 2.0.39-SNAPSHOT + 2.0.50-SNAPSHOT ../../pom.xml 4.0.0 org.wso2.carbon.devicemgt webapp-authenticator-framework - 2.0.39-SNAPSHOT + 2.0.50-SNAPSHOT pom WSO2 Carbon - Webapp Authenticator Framework http://wso2.org diff --git a/features/apimgt-extensions/org.wso2.carbon.apimgt.application.extension.feature/pom.xml b/features/apimgt-extensions/org.wso2.carbon.apimgt.application.extension.feature/pom.xml index 0e5e238d1c..faecaecf85 100644 --- a/features/apimgt-extensions/org.wso2.carbon.apimgt.application.extension.feature/pom.xml +++ b/features/apimgt-extensions/org.wso2.carbon.apimgt.application.extension.feature/pom.xml @@ -21,14 +21,14 @@ org.wso2.carbon.devicemgt apimgt-extensions-feature - 2.0.39-SNAPSHOT + 2.0.50-SNAPSHOT ../pom.xml 4.0.0 org.wso2.carbon.apimgt.application.extension.feature pom - 2.0.39-SNAPSHOT + 2.0.50-SNAPSHOT WSO2 Carbon - API Management Application Extension Feature http://wso2.org This feature contains an implementation of a api application registration, which takes care of subscription diff --git a/features/apimgt-extensions/org.wso2.carbon.apimgt.handler.server.feature/pom.xml b/features/apimgt-extensions/org.wso2.carbon.apimgt.handler.server.feature/pom.xml index dc422acbdb..82505500ad 100644 --- a/features/apimgt-extensions/org.wso2.carbon.apimgt.handler.server.feature/pom.xml +++ b/features/apimgt-extensions/org.wso2.carbon.apimgt.handler.server.feature/pom.xml @@ -22,14 +22,14 @@ org.wso2.carbon.devicemgt apimgt-extensions-feature - 2.0.39-SNAPSHOT + 2.0.50-SNAPSHOT ../pom.xml 4.0.0 org.wso2.carbon.apimgt.handler.server.feature pom - 2.0.39-SNAPSHOT + 2.0.50-SNAPSHOT WSO2 Carbon - Device Management - APIM handler Server Feature http://wso2.org This feature contains the handler for the api authentications diff --git a/features/apimgt-extensions/org.wso2.carbon.apimgt.integration.client.feature/pom.xml b/features/apimgt-extensions/org.wso2.carbon.apimgt.integration.client.feature/pom.xml index e5b4a4ece2..d9f76e211a 100644 --- a/features/apimgt-extensions/org.wso2.carbon.apimgt.integration.client.feature/pom.xml +++ b/features/apimgt-extensions/org.wso2.carbon.apimgt.integration.client.feature/pom.xml @@ -21,13 +21,13 @@ org.wso2.carbon.devicemgt apimgt-extensions-feature - 2.0.39-SNAPSHOT + 2.0.50-SNAPSHOT ../pom.xml 4.0.0 org.wso2.carbon.apimgt.integration.client.feature - 2.0.39-SNAPSHOT + 2.0.50-SNAPSHOT pom WSO2 Carbon - APIM Integration Client Feature http://wso2.org diff --git a/features/apimgt-extensions/org.wso2.carbon.apimgt.webapp.publisher.feature/pom.xml b/features/apimgt-extensions/org.wso2.carbon.apimgt.webapp.publisher.feature/pom.xml index 9d7fa41f1d..dd41df6641 100644 --- a/features/apimgt-extensions/org.wso2.carbon.apimgt.webapp.publisher.feature/pom.xml +++ b/features/apimgt-extensions/org.wso2.carbon.apimgt.webapp.publisher.feature/pom.xml @@ -21,14 +21,14 @@ org.wso2.carbon.devicemgt apimgt-extensions-feature - 2.0.39-SNAPSHOT + 2.0.50-SNAPSHOT ../pom.xml 4.0.0 org.wso2.carbon.apimgt.webapp.publisher.feature pom - 2.0.39-SNAPSHOT + 2.0.50-SNAPSHOT WSO2 Carbon - API Management Webapp Publisher Feature http://wso2.org This feature contains an implementation of a Tomcat lifecycle listener, which takes care of publishing diff --git a/features/apimgt-extensions/pom.xml b/features/apimgt-extensions/pom.xml index a7cb030f9c..771d8ecf9b 100644 --- a/features/apimgt-extensions/pom.xml +++ b/features/apimgt-extensions/pom.xml @@ -22,14 +22,14 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 2.0.39-SNAPSHOT + 2.0.50-SNAPSHOT ../../pom.xml 4.0.0 org.wso2.carbon.devicemgt apimgt-extensions-feature - 2.0.39-SNAPSHOT + 2.0.50-SNAPSHOT pom WSO2 Carbon - API Management Extensions Feature http://wso2.org diff --git a/features/certificate-mgt/org.wso2.carbon.certificate.mgt.api.feature/pom.xml b/features/certificate-mgt/org.wso2.carbon.certificate.mgt.api.feature/pom.xml index 124c6c0888..e8dcd0d3d6 100644 --- a/features/certificate-mgt/org.wso2.carbon.certificate.mgt.api.feature/pom.xml +++ b/features/certificate-mgt/org.wso2.carbon.certificate.mgt.api.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt certificate-mgt-feature - 2.0.39-SNAPSHOT + 2.0.50-SNAPSHOT ../pom.xml diff --git a/features/certificate-mgt/org.wso2.carbon.certificate.mgt.cert.admin.api.feature/pom.xml b/features/certificate-mgt/org.wso2.carbon.certificate.mgt.cert.admin.api.feature/pom.xml index 03b8428c23..1fdf26f4e1 100644 --- a/features/certificate-mgt/org.wso2.carbon.certificate.mgt.cert.admin.api.feature/pom.xml +++ b/features/certificate-mgt/org.wso2.carbon.certificate.mgt.cert.admin.api.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt certificate-mgt-feature - 2.0.39-SNAPSHOT + 2.0.50-SNAPSHOT ../pom.xml diff --git a/features/certificate-mgt/org.wso2.carbon.certificate.mgt.server.feature/pom.xml b/features/certificate-mgt/org.wso2.carbon.certificate.mgt.server.feature/pom.xml index 049f172a7f..39900e7de4 100644 --- a/features/certificate-mgt/org.wso2.carbon.certificate.mgt.server.feature/pom.xml +++ b/features/certificate-mgt/org.wso2.carbon.certificate.mgt.server.feature/pom.xml @@ -22,14 +22,14 @@ org.wso2.carbon.devicemgt certificate-mgt-feature - 2.0.39-SNAPSHOT + 2.0.50-SNAPSHOT ../pom.xml 4.0.0 org.wso2.carbon.certificate.mgt.server.feature pom - 2.0.39-SNAPSHOT + 2.0.50-SNAPSHOT WSO2 Carbon - Certificate Management Server Feature http://wso2.org This feature contains the core bundles required for back-end Certificate Management functionality diff --git a/features/certificate-mgt/pom.xml b/features/certificate-mgt/pom.xml index 2635e33e18..2b6a3c6f34 100644 --- a/features/certificate-mgt/pom.xml +++ b/features/certificate-mgt/pom.xml @@ -22,14 +22,14 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 2.0.39-SNAPSHOT + 2.0.50-SNAPSHOT ../../pom.xml 4.0.0 org.wso2.carbon.devicemgt certificate-mgt-feature - 2.0.39-SNAPSHOT + 2.0.50-SNAPSHOT pom WSO2 Carbon - Certificate Management Feature http://wso2.org diff --git a/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.device.type.deployer.feature/pom.xml b/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.device.type.deployer.feature/pom.xml index 3533844a64..7de684e951 100644 --- a/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.device.type.deployer.feature/pom.xml +++ b/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.device.type.deployer.feature/pom.xml @@ -22,14 +22,14 @@ org.wso2.carbon.devicemgt device-mgt-extensions-feature - 2.0.39-SNAPSHOT + 2.0.50-SNAPSHOT ../pom.xml 4.0.0 org.wso2.carbon.device.mgt.extensions.device.type.deployer.feature pom - 2.0.39-SNAPSHOT + 2.0.50-SNAPSHOT WSO2 Carbon - Device Type Deployer Feature http://wso2.org WSO2 Carbon - Device Type Deployer Feature diff --git a/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.fcm.feature/pom.xml b/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.fcm.feature/pom.xml index 8fccc51f77..1092bf8959 100644 --- a/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.fcm.feature/pom.xml +++ b/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.fcm.feature/pom.xml @@ -22,14 +22,14 @@ org.wso2.carbon.devicemgt device-mgt-extensions-feature - 2.0.39-SNAPSHOT + 2.0.50-SNAPSHOT ../pom.xml 4.0.0 org.wso2.carbon.device.mgt.extensions.push.notification.provider.fcm.feature pom - 2.0.39-SNAPSHOT + 2.0.50-SNAPSHOT WSO2 Carbon - FCM Based Push Notification Provider Feature http://wso2.org WSO2 Carbon - MQTT Based Push Notification Provider Feature diff --git a/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.mqtt.feature/pom.xml b/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.mqtt.feature/pom.xml index 2e29615818..1f4df6c8ba 100644 --- a/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.mqtt.feature/pom.xml +++ b/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.mqtt.feature/pom.xml @@ -22,14 +22,14 @@ org.wso2.carbon.devicemgt device-mgt-extensions-feature - 2.0.39-SNAPSHOT + 2.0.50-SNAPSHOT ../pom.xml 4.0.0 org.wso2.carbon.device.mgt.extensions.push.notification.provider.mqtt.feature pom - 2.0.39-SNAPSHOT + 2.0.50-SNAPSHOT WSO2 Carbon - MQTT Based Push Notification Provider Feature http://wso2.org WSO2 Carbon - MQTT Based Push Notification Provider Feature diff --git a/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.xmpp.feature/pom.xml b/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.xmpp.feature/pom.xml index 2008690c44..bf1e0f3c44 100644 --- a/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.xmpp.feature/pom.xml +++ b/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.xmpp.feature/pom.xml @@ -22,14 +22,14 @@ org.wso2.carbon.devicemgt device-mgt-extensions-feature - 2.0.39-SNAPSHOT + 2.0.50-SNAPSHOT ../pom.xml 4.0.0 org.wso2.carbon.device.mgt.extensions.push.notification.provider.xmpp.feature pom - 2.0.39-SNAPSHOT + 2.0.50-SNAPSHOT WSO2 Carbon - XMPP Based Push Notification Provider Feature http://wso2.org WSO2 Carbon - XMPP Based Push Notification Provider Feature diff --git a/features/device-mgt-extensions/pom.xml b/features/device-mgt-extensions/pom.xml index f4650475ce..1e252ba1cf 100644 --- a/features/device-mgt-extensions/pom.xml +++ b/features/device-mgt-extensions/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 2.0.39-SNAPSHOT + 2.0.50-SNAPSHOT ../../pom.xml diff --git a/features/device-mgt/org.wso2.carbon.device.mgt.analytics.dashboard.feature/pom.xml b/features/device-mgt/org.wso2.carbon.device.mgt.analytics.dashboard.feature/pom.xml index 6798dcb807..7540559991 100644 --- a/features/device-mgt/org.wso2.carbon.device.mgt.analytics.dashboard.feature/pom.xml +++ b/features/device-mgt/org.wso2.carbon.device.mgt.analytics.dashboard.feature/pom.xml @@ -3,13 +3,13 @@ org.wso2.carbon.devicemgt device-mgt-feature - 2.0.39-SNAPSHOT + 2.0.50-SNAPSHOT ../pom.xml 4.0.0 org.wso2.carbon.device.mgt.analytics.dashboard.feature - 2.0.39-SNAPSHOT + 2.0.50-SNAPSHOT pom WSO2 Carbon - Device Management Dashboard Analytics Feature WSO2 Carbon - Device Management Dashboard Analytics Feature diff --git a/features/device-mgt/org.wso2.carbon.device.mgt.analytics.data.publisher.feature/pom.xml b/features/device-mgt/org.wso2.carbon.device.mgt.analytics.data.publisher.feature/pom.xml index 2f97fcf6ba..42a55b63db 100644 --- a/features/device-mgt/org.wso2.carbon.device.mgt.analytics.data.publisher.feature/pom.xml +++ b/features/device-mgt/org.wso2.carbon.device.mgt.analytics.data.publisher.feature/pom.xml @@ -22,14 +22,14 @@ org.wso2.carbon.devicemgt device-mgt-feature - 2.0.39-SNAPSHOT + 2.0.50-SNAPSHOT ../pom.xml 4.0.0 org.wso2.carbon.device.mgt.analytics.data.publisher.feature pom - 2.0.39-SNAPSHOT + 2.0.50-SNAPSHOT WSO2 Carbon - Device Management Server Feature http://wso2.org This feature contains bundles related to device analytics data publisher diff --git a/features/device-mgt/org.wso2.carbon.device.mgt.api.feature/pom.xml b/features/device-mgt/org.wso2.carbon.device.mgt.api.feature/pom.xml index 36d446c18d..8ef1625b26 100644 --- a/features/device-mgt/org.wso2.carbon.device.mgt.api.feature/pom.xml +++ b/features/device-mgt/org.wso2.carbon.device.mgt.api.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt device-mgt-feature - 2.0.39-SNAPSHOT + 2.0.50-SNAPSHOT ../pom.xml diff --git a/features/device-mgt/org.wso2.carbon.device.mgt.extensions.feature/pom.xml b/features/device-mgt/org.wso2.carbon.device.mgt.extensions.feature/pom.xml index fd83873f8b..26e86bdace 100644 --- a/features/device-mgt/org.wso2.carbon.device.mgt.extensions.feature/pom.xml +++ b/features/device-mgt/org.wso2.carbon.device.mgt.extensions.feature/pom.xml @@ -4,14 +4,14 @@ org.wso2.carbon.devicemgt device-mgt-feature - 2.0.39-SNAPSHOT + 2.0.50-SNAPSHOT ../pom.xml 4.0.0 org.wso2.carbon.device.mgt.extensions.feature pom - 2.0.39-SNAPSHOT + 2.0.50-SNAPSHOT WSO2 Carbon - Device Management Extensions Feature http://wso2.org This feature contains common extensions used by key device management functionalities diff --git a/features/device-mgt/org.wso2.carbon.device.mgt.feature/pom.xml b/features/device-mgt/org.wso2.carbon.device.mgt.feature/pom.xml index 87cbd336f5..853d5d8e9b 100644 --- a/features/device-mgt/org.wso2.carbon.device.mgt.feature/pom.xml +++ b/features/device-mgt/org.wso2.carbon.device.mgt.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt device-mgt-feature - 2.0.39-SNAPSHOT + 2.0.50-SNAPSHOT ../pom.xml diff --git a/features/device-mgt/org.wso2.carbon.device.mgt.server.feature/pom.xml b/features/device-mgt/org.wso2.carbon.device.mgt.server.feature/pom.xml index b7c4206dd7..dfd7a0f65e 100644 --- a/features/device-mgt/org.wso2.carbon.device.mgt.server.feature/pom.xml +++ b/features/device-mgt/org.wso2.carbon.device.mgt.server.feature/pom.xml @@ -22,14 +22,14 @@ org.wso2.carbon.devicemgt device-mgt-feature - 2.0.39-SNAPSHOT + 2.0.50-SNAPSHOT ../pom.xml 4.0.0 org.wso2.carbon.device.mgt.server.feature pom - 2.0.39-SNAPSHOT + 2.0.50-SNAPSHOT WSO2 Carbon - Device Management Server Feature http://wso2.org This feature contains the core bundles required for Back-end Device Management functionality @@ -61,6 +61,10 @@ org.wso2.carbon.registry org.wso2.carbon.registry.indexing + + org.wso2.carbon.analytics-common + org.wso2.carbon.event.receiver.stub + @@ -134,6 +138,9 @@ org.wso2.orbit.com.fasterxml.jackson.core:jackson-annotations:${jackson-annotations.version} + + org.wso2.carbon.analytics-common:org.wso2.carbon.event.receiver.stub:${carbon.analytics.common.version} + diff --git a/features/device-mgt/org.wso2.carbon.device.mgt.ui.feature/pom.xml b/features/device-mgt/org.wso2.carbon.device.mgt.ui.feature/pom.xml index 89c3438e9d..1f4a8d5a11 100644 --- a/features/device-mgt/org.wso2.carbon.device.mgt.ui.feature/pom.xml +++ b/features/device-mgt/org.wso2.carbon.device.mgt.ui.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt device-mgt-feature - 2.0.39-SNAPSHOT + 2.0.50-SNAPSHOT ../pom.xml diff --git a/features/device-mgt/pom.xml b/features/device-mgt/pom.xml index e6928961d1..de2ea013ea 100644 --- a/features/device-mgt/pom.xml +++ b/features/device-mgt/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 2.0.39-SNAPSHOT + 2.0.50-SNAPSHOT ../../pom.xml diff --git a/features/dynamic-client-registration/org.wso2.carbon.dynamic.client.registration.server.feature/pom.xml b/features/dynamic-client-registration/org.wso2.carbon.dynamic.client.registration.server.feature/pom.xml index 7715c53d09..36d87630dc 100644 --- a/features/dynamic-client-registration/org.wso2.carbon.dynamic.client.registration.server.feature/pom.xml +++ b/features/dynamic-client-registration/org.wso2.carbon.dynamic.client.registration.server.feature/pom.xml @@ -23,14 +23,14 @@ org.wso2.carbon.devicemgt dynamic-client-registration-feature - 2.0.39-SNAPSHOT + 2.0.50-SNAPSHOT ../pom.xml 4.0.0 org.wso2.carbon.dynamic.client.registration.server.feature pom - 2.0.39-SNAPSHOT + 2.0.50-SNAPSHOT WSO2 Carbon - Dynamic Client Registration Server Feature http://wso2.org This feature contains dynamic client registration features diff --git a/features/dynamic-client-registration/pom.xml b/features/dynamic-client-registration/pom.xml index b2b76dddf6..d3c702803b 100644 --- a/features/dynamic-client-registration/pom.xml +++ b/features/dynamic-client-registration/pom.xml @@ -23,14 +23,14 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 2.0.39-SNAPSHOT + 2.0.50-SNAPSHOT ../../pom.xml 4.0.0 org.wso2.carbon.devicemgt dynamic-client-registration-feature - 2.0.39-SNAPSHOT + 2.0.50-SNAPSHOT pom WSO2 Carbon - Dynamic Client Registration Feature http://wso2.org diff --git a/features/email-sender/org.wso2.carbon.email.sender.feature/pom.xml b/features/email-sender/org.wso2.carbon.email.sender.feature/pom.xml index 8bc73ea232..9a675fd648 100644 --- a/features/email-sender/org.wso2.carbon.email.sender.feature/pom.xml +++ b/features/email-sender/org.wso2.carbon.email.sender.feature/pom.xml @@ -22,14 +22,14 @@ org.wso2.carbon.devicemgt email-sender-feature - 2.0.39-SNAPSHOT + 2.0.50-SNAPSHOT ../pom.xml 4.0.0 org.wso2.carbon.email.sender.feature pom - 2.0.39-SNAPSHOT + 2.0.50-SNAPSHOT WSO2 Carbon - Email Sender Feature http://wso2.org This feature contains the core bundles required for email sender related functionality diff --git a/features/email-sender/pom.xml b/features/email-sender/pom.xml index 31d6156cc3..314eeb5249 100644 --- a/features/email-sender/pom.xml +++ b/features/email-sender/pom.xml @@ -22,14 +22,14 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 2.0.39-SNAPSHOT + 2.0.50-SNAPSHOT ../../pom.xml 4.0.0 org.wso2.carbon.devicemgt email-sender-feature - 2.0.39-SNAPSHOT + 2.0.50-SNAPSHOT pom WSO2 Carbon - Email Sender Feature http://wso2.org diff --git a/features/jwt-client/org.wso2.carbon.identity.jwt.client.extension.feature/pom.xml b/features/jwt-client/org.wso2.carbon.identity.jwt.client.extension.feature/pom.xml index f10aa6a9b0..ec22188854 100644 --- a/features/jwt-client/org.wso2.carbon.identity.jwt.client.extension.feature/pom.xml +++ b/features/jwt-client/org.wso2.carbon.identity.jwt.client.extension.feature/pom.xml @@ -23,14 +23,14 @@ org.wso2.carbon.devicemgt jwt-client-feature - 2.0.39-SNAPSHOT + 2.0.50-SNAPSHOT ../pom.xml 4.0.0 org.wso2.carbon.identity.jwt.client.extension.feature pom - 2.0.39-SNAPSHOT + 2.0.50-SNAPSHOT WSO2 Carbon - JWT Client Feature http://wso2.org This feature contains jwt client implementation from which we can get a access token using the jwt @@ -92,7 +92,7 @@ org.wso2.carbon.p2.category.type:server - org.eclipse.equinox.p2.type.group:false + org.eclipse.equinox.p2.type.group:true diff --git a/features/jwt-client/pom.xml b/features/jwt-client/pom.xml index d96a43fd8d..acdf62938f 100644 --- a/features/jwt-client/pom.xml +++ b/features/jwt-client/pom.xml @@ -23,13 +23,13 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 2.0.39-SNAPSHOT + 2.0.50-SNAPSHOT ../../pom.xml 4.0.0 jwt-client-feature - 2.0.39-SNAPSHOT + 2.0.50-SNAPSHOT pom WSO2 Carbon - Dynamic Client Registration Feature http://wso2.org diff --git a/features/oauth-extensions/org.wso2.carbon.device.mgt.oauth.extensions.feature/pom.xml b/features/oauth-extensions/org.wso2.carbon.device.mgt.oauth.extensions.feature/pom.xml index 0f305f7a20..cd268b0658 100644 --- a/features/oauth-extensions/org.wso2.carbon.device.mgt.oauth.extensions.feature/pom.xml +++ b/features/oauth-extensions/org.wso2.carbon.device.mgt.oauth.extensions.feature/pom.xml @@ -23,14 +23,14 @@ org.wso2.carbon.devicemgt oauth-extensions-feature - 2.0.39-SNAPSHOT + 2.0.50-SNAPSHOT ../pom.xml 4.0.0 org.wso2.carbon.device.mgt.oauth.extensions.feature pom - 2.0.39-SNAPSHOT + 2.0.50-SNAPSHOT WSO2 Carbon - Device Mgt OAuth Extensions Feature http://wso2.org This feature contains devicemgt related OAuth extensions diff --git a/features/oauth-extensions/pom.xml b/features/oauth-extensions/pom.xml index 688f82629e..481a45114d 100644 --- a/features/oauth-extensions/pom.xml +++ b/features/oauth-extensions/pom.xml @@ -22,14 +22,14 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 2.0.39-SNAPSHOT + 2.0.50-SNAPSHOT ../../pom.xml 4.0.0 org.wso2.carbon.devicemgt oauth-extensions-feature - 2.0.39-SNAPSHOT + 2.0.50-SNAPSHOT pom WSO2 Carbon - Device Management OAuth Extensions Feature http://wso2.org diff --git a/features/policy-mgt/org.wso2.carbon.policy.mgt.server.feature/pom.xml b/features/policy-mgt/org.wso2.carbon.policy.mgt.server.feature/pom.xml index a2613369c0..97ca0dd762 100644 --- a/features/policy-mgt/org.wso2.carbon.policy.mgt.server.feature/pom.xml +++ b/features/policy-mgt/org.wso2.carbon.policy.mgt.server.feature/pom.xml @@ -23,14 +23,14 @@ org.wso2.carbon.devicemgt policy-mgt-feature - 2.0.39-SNAPSHOT + 2.0.50-SNAPSHOT ../pom.xml 4.0.0 org.wso2.carbon.policy.mgt.server.feature pom - 2.0.39-SNAPSHOT + 2.0.50-SNAPSHOT WSO2 Carbon - Policy Management Server Feature http://wso2.org This feature contains the core bundles required for Back-end Device Management functionality diff --git a/features/policy-mgt/pom.xml b/features/policy-mgt/pom.xml index 1f46050dce..22ae58c38f 100644 --- a/features/policy-mgt/pom.xml +++ b/features/policy-mgt/pom.xml @@ -23,14 +23,14 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 2.0.39-SNAPSHOT + 2.0.50-SNAPSHOT ../../pom.xml 4.0.0 org.wso2.carbon.devicemgt policy-mgt-feature - 2.0.39-SNAPSHOT + 2.0.50-SNAPSHOT pom WSO2 Carbon - Policy Management Feature http://wso2.org diff --git a/features/webapp-authenticator-framework/org.wso2.carbon.webapp.authenticator.framework.server.feature/pom.xml b/features/webapp-authenticator-framework/org.wso2.carbon.webapp.authenticator.framework.server.feature/pom.xml index cf1e0197dc..565a7aff93 100644 --- a/features/webapp-authenticator-framework/org.wso2.carbon.webapp.authenticator.framework.server.feature/pom.xml +++ b/features/webapp-authenticator-framework/org.wso2.carbon.webapp.authenticator.framework.server.feature/pom.xml @@ -22,14 +22,14 @@ org.wso2.carbon.devicemgt webapp-authenticator-framework-feature - 2.0.39-SNAPSHOT + 2.0.50-SNAPSHOT ../pom.xml 4.0.0 org.wso2.carbon.webapp.authenticator.framework.server.feature pom - 2.0.39-SNAPSHOT + 2.0.50-SNAPSHOT WSO2 Carbon - Webapp Authenticator Framework Server Feature http://wso2.org This feature contains the core bundles required for Back-end Device Management functionality diff --git a/features/webapp-authenticator-framework/pom.xml b/features/webapp-authenticator-framework/pom.xml index f76c9823f0..bc39883faf 100644 --- a/features/webapp-authenticator-framework/pom.xml +++ b/features/webapp-authenticator-framework/pom.xml @@ -22,14 +22,14 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 2.0.39-SNAPSHOT + 2.0.50-SNAPSHOT ../../pom.xml 4.0.0 org.wso2.carbon.devicemgt webapp-authenticator-framework-feature - 2.0.39-SNAPSHOT + 2.0.50-SNAPSHOT pom WSO2 Carbon - Webapp Authenticator Framework Feature http://wso2.org diff --git a/pom.xml b/pom.xml index b090e9956a..c5affe3362 100644 --- a/pom.xml +++ b/pom.xml @@ -23,7 +23,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt pom - 2.0.39-SNAPSHOT + 2.0.50-SNAPSHOT WSO2 Carbon - Device Management - Parent http://wso2.org WSO2 Connected Device Manager Components @@ -1513,6 +1513,16 @@ javassist ${javassist.version} + + org.wso2.carbon.analytics-common + org.wso2.carbon.event.receiver.stub + ${carbon.analytics.common.version} + + + org.wso2.carbon.analytics-common + org.wso2.carbon.event.stream.stub + ${carbon.analytics.common.version} + @@ -1803,7 +1813,7 @@ 1.2.11.wso2v10 - 2.0.39-SNAPSHOT + 2.0.50-SNAPSHOT 4.4.8 @@ -1821,6 +1831,7 @@ 5.1.3 [5.1.3,6.0.0) + 4.6.0 [4.4.8, 5.0.0)