End User License Agreement ( EULA )
diff --git a/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.android.platform.configuration/public/js/platform-configuration.js b/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.android.platform.configuration/public/js/platform-configuration.js
index a179701e5..ec2af9639 100644
--- a/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.android.platform.configuration/public/js/platform-configuration.js
+++ b/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.android.platform.configuration/public/js/platform-configuration.js
@@ -124,8 +124,6 @@ $(document).ready(function () {
$("input#android-config-notifier-frequency").val(config.value / 1000);
} else if (config.name == configParams["GCM_API_KEY"]) {
$("input#android-config-gcm-api-key").val(config.value);
- } else if (config.name == configParams["GCM_SENDER_ID"]) {
- $("input#android-config-gcm-sender-id").val(config.value);
} else if (config.name == configParams["ANDROID_EULA"]) {
$("#android-eula").val(config.value);
}
@@ -159,7 +157,7 @@ $(document).ready(function () {
var notifierType = $("#android-config-notifier").find("option:selected").attr("value");
var notifierFrequency = $("input#android-config-notifier-frequency").val();
var gcmAPIKey = $("input#android-config-gcm-api-key").val();
- var gcmSenderId = $("input#android-config-gcm-sender-id").val();
+ var gcmSenderId = "sender_id";
var androidLicense = tinyMCE.activeEditor.getContent();
var errorMsgWrapper = "#android-config-error-msg";
var errorMsg = "#android-config-error-msg span";
@@ -170,10 +168,7 @@ $(document).ready(function () {
$(errorMsg).text("Provided notifier frequency is invalid. ");
$(errorMsgWrapper).removeClass("hidden");
} else if (notifierType == notifierTypeConstants["GCM"] && !gcmAPIKey) {
- $(errorMsg).text("GCM API Key is a required field. It cannot be empty.");
- $(errorMsgWrapper).removeClass("hidden");
- } else if (notifierType == notifierTypeConstants["GCM"] && !gcmSenderId) {
- $(errorMsg).text("GCM Sender ID is a required field. It cannot be empty.");
+ $(errorMsg).text("FCM API Key is a required field. It cannot be empty.");
$(errorMsgWrapper).removeClass("hidden");
} else {
diff --git a/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.android.policy-edit/public/js/android-policy-edit.js b/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.android.policy-edit/public/js/android-policy-edit.js
index d673b6d6a..78b6e8054 100644
--- a/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.android.policy-edit/public/js/android-policy-edit.js
+++ b/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.android.policy-edit/public/js/android-policy-edit.js
@@ -15,6 +15,9 @@
* specific language governing permissions and limitations
* under the License.
*/
+
+var configuredOperations = [];
+
// Constants to define Android Operation Constants
var androidOperationConstants = {
"PASSCODE_POLICY_OPERATION": "passcode-policy",
@@ -60,21 +63,56 @@ var updateGroupedInputVisibility = function (domElement) {
*
* This method will be invoked from the relevant cdmf unit when the edit page gets loaded.
*
- * @param configuredOperations selected configurations.
+ * @param profileFeatureList saved feature list
*/
-var polulateProfileOperations = function (configuredOperations) {
+var polulateProfileOperations = function (profileFeatureList) {
+ var selectedOperations = androidOperationModule.populateProfile(profileFeatureList);
$(".wr-advance-operations li.grouped-input").each(function () {
updateGroupedInputVisibility(this);
});
- for (var i = 0; i < configuredOperations.length; ++i) {
- var configuredOperation = configuredOperations[i];
- $(".operation-data").filterByData("operation-code", configuredOperation)
+ for (var i = 0; i < selectedOperations.length; ++i) {
+ var selectedOperation = selectedOperations[i];
+ $(".operation-data").filterByData("operation-code", selectedOperation)
.find(".panel-title .wr-input-control.switch input[type=checkbox]").each(function () {
$(this).click();
});
}
};
+/**
+ * Generates policy profile feature list which will be saved with the profile.
+ *
+ * This function will be invoked from the relevant cdmf unit at the time of policy creation.
+ *
+ * @returns {Array} profile payloads
+ */
+var generateProfileFeaturesList = function () {
+ var profilePayloads = [];
+ var key;
+ for (key in policy["profile"]) {
+ if (policy["profile"].hasOwnProperty(key)) {
+ profilePayloads.push({
+ "featureCode": key,
+ "deviceType": policy["platform"],
+ "content": policy["profile"][key]
+ });
+ }
+ }
+
+ return profilePayloads;
+};
+
+/**
+ * Generates policy profile object which will be saved with the profile.
+ *
+ * This function will be invoked from the relevant cdmf unit at the time of policy creation.
+ *
+ * @returns {object} generated profile.
+ */
+var generatePolicyProfile = function () {
+ return androidOperationModule.generateProfile(configuredOperations);
+};
+
/**
* Checks if provided number is valid against a range.
*
@@ -542,30 +580,6 @@ var validatePolicyProfile = function () {
return wizardIsToBeContinued;
};
-/**
- * Generates policy profile object which will be saved with the profile.
- *
- * This function will be invoked from the relevant cdmf unit at the time of policy creation.
- *
- * @returns {Array} profile payloads
- */
-var generatePolicyProfile = function () {
- var profilePayloads = [];
- // traverses key by key in policy["profile"]
- var key;
- for (key in policy["profile"]) {
- if (policy["profile"].hasOwnProperty(key)) {
- profilePayloads.push({
- "featureCode": key,
- "deviceType": policy["platform"],
- "content": policy["profile"][key]
- });
- }
- }
-
- return profilePayloads;
-};
-
// Start of HTML embedded invoke methods
var showAdvanceOperation = function (operation, button) {
$(button).addClass('selected');
@@ -685,6 +699,22 @@ var slideDownPaneAgainstValueSet = function (selectElement, paneID, valueSet) {
);
}
};
+
+var slideDownPaneAgainstValueSetForRadioButtons = function (selectElement, paneID, valueSet) {
+ var selectedValueOnChange = selectElement.value;
+ var slideDownVotes = 0;
+ for (var i = 0; i < valueSet.length; i++) {
+ if (selectedValueOnChange == valueSet[i]) {
+ slideDownVotes++;
+ }
+ }
+ var paneSelector = "#" + paneID;
+ if (slideDownVotes > 0) {
+ $(paneSelector).removeClass("hidden");
+ } else {
+ $(paneSelector).addClass("hidden");
+ }
+};
// End of HTML embedded invoke methods
diff --git a/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.android.policy-view/public/js/android-policy-view.js b/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.android.policy-view/public/js/android-policy-view.js
index 7d6fecf7e..ab4560488 100644
--- a/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.android.policy-view/public/js/android-policy-view.js
+++ b/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.android.policy-view/public/js/android-policy-view.js
@@ -16,8 +16,6 @@
* under the License.
*/
-var configuredOperations = [];
-
/**
* Method to update the visibility (i.e. disabled or enabled view)
* of grouped input according to the values
@@ -47,9 +45,10 @@ var updateGroupedInputVisibility = function (domElement) {
*
* This method will be invoked from the relevant cdmf unit when the edit page gets loaded.
*
- * @param selectedConfigurations selected configurations.
+ * @param profileFeatureList selected configurations.
*/
-var polulateProfileOperations = function (selectedConfigurations) {
+var polulateProfileOperations = function (profileFeatureList) {
+ var selectedConfigurations = androidOperationModule.populateProfile(profileFeatureList);
$(".wr-advance-operations li.grouped-input").each(function () {
updateGroupedInputVisibility(this);
});
@@ -169,35 +168,6 @@ var slideDownPaneAgainstValueSetForRadioButtons = function (selectElement, paneI
};
// End of HTML embedded invoke methods
-
-// Start of functions related to grid-input-view
-
-/**
- * Method to set count id to cloned elements.
- * @param {object} addFormContainer
- */
-var setId = function (addFormContainer) {
- $(addFormContainer).find("[data-add-form-clone]").each(function (i) {
- $(this).attr("id", $(this).attr("data-add-form-clone").slice(1) + "-" + (i + 1));
- if ($(this).find(".index").length > 0) {
- $(this).find(".index").html(i + 1);
- }
- });
-};
-
-/**
- * Method to set count id to cloned elements.
- * @param {object} addFormContainer
- */
-var showHideHelpText = function (addFormContainer) {
- var helpText = "[data-help-text=add-form]";
- if ($(addFormContainer).find("[data-add-form-clone]").length > 0) {
- $(addFormContainer).find(helpText).hide();
- } else {
- $(addFormContainer).find(helpText).show();
- }
-};
-
/**
* This method will display appropriate fields based on wifi type
* @param {object} wifi type select object
@@ -229,148 +199,19 @@ var changeAndroidWifiPolicyEAP = function (select, superSelect) {
};
$(document).ready(function () {
- // Maintains an array of configured features of the profile
var advanceOperations = ".wr-advance-operations";
$(advanceOperations).on("click", ".wr-input-control.switch", function (event) {
- var operationCode = $(this).parents(".operation-data").data("operation-code");
var operation = $(this).parents(".operation-data").data("operation");
- var operationDataWrapper = $(this).data("target");
// prevents event bubbling by figuring out what element it's being called from.
if (event.target.tagName == "INPUT") {
var featureConfiguredIcon;
if ($("input[type='checkbox']", this).is(":checked")) {
- configuredOperations.push(operationCode);
- // when a feature is enabled, if "zero-configured-features" msg is available, hide that.
- var zeroConfiguredOperationsErrorMsg = "#policy-profile-main-error-msg";
- if (!$(zeroConfiguredOperationsErrorMsg).hasClass("hidden")) {
- $(zeroConfiguredOperationsErrorMsg).addClass("hidden");
- }
// add configured-state-icon to the feature
featureConfiguredIcon = "#" + operation + "-configured";
if ($(featureConfiguredIcon).hasClass("hidden")) {
$(featureConfiguredIcon).removeClass("hidden");
}
- } else {
- //splicing the array if operation is present.
- var index = $.inArray(operationCode, configuredOperations);
- if (index != -1) {
- configuredOperations.splice(index, 1);
- }
- // when a feature is disabled, clearing all its current configured, error or success states
- var subErrorMsgWrapper = "#" + operation + "-feature-error-msg";
- var subErrorIcon = "#" + operation + "-error";
- var subOkIcon = "#" + operation + "-ok";
- featureConfiguredIcon = "#" + operation + "-configured";
-
- if (!$(subErrorMsgWrapper).hasClass("hidden")) {
- $(subErrorMsgWrapper).addClass("hidden");
- }
- if (!$(subErrorIcon).hasClass("hidden")) {
- $(subErrorIcon).addClass("hidden");
- }
- if (!$(subOkIcon).hasClass("hidden")) {
- $(subOkIcon).addClass("hidden");
- }
- if (!$(featureConfiguredIcon).hasClass("hidden")) {
- $(featureConfiguredIcon).addClass("hidden");
- }
- // reinitializing input fields into the defaults
- $(operationDataWrapper + " input").each(
- function () {
- if ($(this).is("input:text")) {
- $(this).val($(this).data("default"));
- } else if ($(this).is("input:password")) {
- $(this).val("");
- } else if ($(this).is("input:checkbox")) {
- $(this).prop("checked", $(this).data("default"));
- // if this checkbox is the parent input of a grouped-input
- if ($(this).hasClass("parent-input")) {
- var groupedInput = $(this).parent().parent().parent();
- updateGroupedInputVisibility(groupedInput);
- }
- }
- }
- );
- // reinitializing select fields into the defaults
- $(operationDataWrapper + " select").each(
- function () {
- var defaultOption = $(this).data("default");
- $("option:eq(" + defaultOption + ")", this).prop("selected", "selected");
- }
- );
- // collapsing expanded-panes (upon the selection of html-select-options) if any
- $(operationDataWrapper + " .expanded").each(
- function () {
- if ($(this).hasClass("expanded")) {
- $(this).removeClass("expanded");
- }
- $(this).slideUp();
- }
- );
- // removing all entries of grid-input elements if exist
- $(operationDataWrapper + " .grouped-array-input").each(
- function () {
- var gridInputs = $(this).find("[data-add-form-clone]");
- if (gridInputs.length > 0) {
- gridInputs.remove();
- }
- var helpTexts = $(this).find("[data-help-text=add-form]");
- if (helpTexts.length > 0) {
- helpTexts.show();
- }
- }
- );
}
}
});
-
- // adding support for cloning multiple profiles per feature with cloneable class definitions
- $(advanceOperations).on("click", ".multi-view.add.enabled", function () {
- // get a copy of .cloneable and create new .cloned div element
- var cloned = "