Merge pull request #641 from wso2/cloud-3.1.0

Cloud related fixes
revert-70aa11f8
Kamidu Sachith Punchihewa 8 years ago committed by GitHub
commit 14d517e89d

@ -342,13 +342,13 @@ function loadDevices(searchType, searchParam) {
'<span class="hidden-xs hidden-on-grid-view">Group</span></a>'; '<span class="hidden-xs hidden-on-grid-view">Group</span></a>';
} }
// html += html +=
// '<a href="#" data-click-event="remove-form" class="btn padding-reduce-on-grid-view edit-device-link" ' '<a href="#" data-click-event="remove-form" class="btn padding-reduce-on-grid-view edit-device-link" '
// + 'data-deviceid="' + deviceIdentifier + '" data-devicetype="' + deviceType + 'data-deviceid="' + deviceIdentifier + '" data-devicetype="' + deviceType
// + '" data-devicename="' + row.name + '" data-placement="top" data-toggle="tooltip" data-original-title="Edit">' + '" data-devicename="' + row.name + '" data-placement="top" data-toggle="tooltip" data-original-title="Edit">'
// + '<span class="fw-stack"><i class="fw fw-circle-outline fw-stack-2x"></i>' + '<span class="fw-stack"><i class="fw fw-circle-outline fw-stack-2x"></i>'
// + '<i class="fw fw-edit fw-stack-1x"></i></span>' + '<i class="fw fw-edit fw-stack-1x"></i></span>'
// + '<span class="hidden-xs hidden-on-grid-view">Edit</span></a>'; + '<span class="hidden-xs hidden-on-grid-view">Edit</span></a>';
var groupOwner = $('#group_owner').text(); var groupOwner = $('#group_owner').text();
if (groupId && groupOwner != "wso2.system.user") { if (groupId && groupOwner != "wso2.system.user") {
html += html +=
@ -417,7 +417,7 @@ function loadDevices(searchType, searchParam) {
}); });
}; };
function htmlspecialchars(text){ function htmlspecialchars(text) {
return jQuery('<div/>').text(text).html(); return jQuery('<div/>').text(text).html();
} }
@ -461,9 +461,9 @@ function loadDevices(searchType, searchParam) {
attachDeviceEvents(); attachDeviceEvents();
if($('.advance-search').length < 1){ if ($('.advance-search').length < 1) {
$(this).closest('.dataTables_wrapper').find('div[id$=_filter] input') $(this).closest('.dataTables_wrapper').find('div[id$=_filter] input')
.after('<a href="'+context+'/devices/search"' + .after('<a href="' + context + '/devices/search"' +
' class="advance-search add-padding-3x">Advance Search</a>'); ' class="advance-search add-padding-3x">Advance Search</a>');
} }

@ -43,10 +43,11 @@
<div class="row"> <div class="row">
<div class="col-md-12"> <div class="col-md-12">
<!-- content --> <!-- content -->
<div id="role-create-form" class="container col-centered wr-content"> <div id="role-create-form" data-cloud={{isCloud}} class="container col-centered wr-content
">
<div class="wr-form"> <div class="wr-form">
<p class="page-sub-title">Add Role</p> <p class="page-sub-title">Add Role</p>
<hr /> <hr/>
<div class="row"> <div class="row">
<div class="col-lg-8"> <div class="col-lg-8">
<div class="wr-steps"> <div class="wr-steps">
@ -62,10 +63,10 @@
<div class="wiz-lbl hidden-xs"><span>Assign permissions</span></div> <div class="wiz-lbl hidden-xs"><span>Assign permissions</span></div>
</div> </div>
</div> </div>
<br class="c-both" /> <br class="c-both"/>
</div> </div>
<br /><br /> <br/><br/>
<hr /> <hr/>
<div id="role-create-error-msg" class="alert alert-danger hidden" role="alert"> <div id="role-create-error-msg" class="alert alert-danger hidden" role="alert">
<i class="icon fw fw-error"></i><span></span> <i class="icon fw fw-error"></i><span></span>
</div> </div>
@ -87,11 +88,19 @@
<label class="wr-input-label"> <label class="wr-input-label">
( {{roleNameHelpText}} ) ( {{roleNameHelpText}} )
</label> </label>
{{#if isCloud}}
<div id="roleNameField" class="form-group wr-input-control input-group">
<!--suppress HtmlFormInputWithoutLabel -->
<span class="input-group-addon" id="basic-addon1">devicemgt</span>
<input aria-describedby="basic-addon1" type="text" id="roleName"
data-regex="{{roleNameJSRegEx}}"
data-error-msg="{{roleNameRegExViolationErrorMsg}}" class="form-control"/>
{{else}}
<div id="roleNameField" class="form-group wr-input-control"> <div id="roleNameField" class="form-group wr-input-control">
<!--suppress HtmlFormInputWithoutLabel --> <!--suppress HtmlFormInputWithoutLabel -->
<input type="text" id="roleName" data-regex="{{roleNameJSRegEx}}" <input type="text" id="roleName" data-regex="{{roleNameJSRegEx}}"
data-error-msg="{{roleNameRegExViolationErrorMsg}}" class="form-control" /> data-error-msg="{{roleNameRegExViolationErrorMsg}}" class="form-control"/>
{{/if}}
<span class="roleNameError hidden glyphicon glyphicon-remove form-control-feedback"></span> <span class="roleNameError hidden glyphicon glyphicon-remove form-control-feedback"></span>
<label class="error roleNameEmpty hidden" for="summary"> <label class="error roleNameEmpty hidden" for="summary">
Role name is required, should be in minimum 3 characters long and not include any Role name is required, should be in minimum 3 characters long and not include any
@ -119,7 +128,7 @@
<p class="page-sub-title">Role was added successfully.</p> <p class="page-sub-title">Role was added successfully.</p>
<br>Please click <b>"Add Another Role"</b>, if you wish to add another role or click <br>Please click <b>"Add Another Role"</b>, if you wish to add another role or click
<b>"View Role List"</b> to complete the process and go back to the role list. <b>"View Role List"</b> to complete the process and go back to the role list.
<hr /> <hr/>
<button class="wr-btn" onclick="window.location.href='{{@app.context}}/roles'"> <button class="wr-btn" onclick="window.location.href='{{@app.context}}/roles'">
View Role List View Role List
</button> </button>

@ -38,6 +38,7 @@ function onRequest(context) {
if (userModule.isAuthorized("/permission/admin/device-mgt/users/view")) { if (userModule.isAuthorized("/permission/admin/device-mgt/users/view")) {
displayData.canViewUsers = true; displayData.canViewUsers = true;
} }
displayData.isCloud = deviceMgtProps.isCloud;
return displayData; return displayData;
} }

@ -33,6 +33,8 @@ var clearInline = {};
var apiBasePath = "/api/device-mgt/v1.0"; var apiBasePath = "/api/device-mgt/v1.0";
var domain = $("#domain").val(); var domain = $("#domain").val();
var isCloud = $("#role-create-form").data("cloud");
var enableInlineError = function (inputField, errorMsg, errorSign) { var enableInlineError = function (inputField, errorMsg, errorSign) {
var fieldIdentifier = "#" + inputField; var fieldIdentifier = "#" + inputField;
@ -84,18 +86,18 @@ clearInline["role-name"] = function () {
validateInline["role-name"] = function () { validateInline["role-name"] = function () {
var roleNameInput = $("input#roleName"); var roleNameInput = $("input#roleName");
var roleName = roleNameInput.val(); var roleName = roleNameInput.val();
if (inputIsValid( roleNameInput.data("regex"), roleName) && roleName.indexOf("@") < 0 && roleName.indexOf("/") < 0) { if (inputIsValid(roleNameInput.data("regex"), roleName) && roleName.indexOf("@") < 0 && roleName.indexOf("/") < 0) {
disableInlineError("roleNameField", "roleNameEmpty", "roleNameError"); disableInlineError("roleNameField", "roleNameEmpty", "roleNameError");
} else { } else {
enableInlineError("roleNameField", "roleNameEmpty", "roleNameError"); enableInlineError("roleNameField", "roleNameEmpty", "roleNameError");
} }
}; };
function formatRepo (user) { function formatRepo(user) {
if (user.loading) { if (user.loading) {
return user.text return user.text
} }
if (!user.username){ if (!user.username) {
return; return;
} }
var markup = '<div class="clearfix">' + var markup = '<div class="clearfix">' +
@ -109,14 +111,16 @@ function formatRepo (user) {
return markup; return markup;
} }
function formatRepoSelection (user) { function formatRepoSelection(user) {
return user.username || user.text; return user.username || user.text;
} }
$(document).ready(function () { $(document).ready(function () {
isCloud = $("#role-create-form").data("cloud");
var appContext = $("#app-context").data("app-context"); var appContext = $("#app-context").data("app-context");
$("#users").select2({ $("#users").select2({
multiple:true, multiple: true,
tags: false, tags: false,
ajax: { ajax: {
url: appContext + "/api/invoker/execute/", url: appContext + "/api/invoker/execute/",
@ -140,7 +144,7 @@ $(document).ready(function () {
var user = {}; var user = {};
user.id = value.username; user.id = value.username;
user.username = value.username; user.username = value.username;
if(value.firstname && value.lastname) { if (value.firstname && value.lastname) {
user.name = value.firstname + " " + value.lastname; user.name = value.firstname + " " + value.lastname;
} }
newData.push(user); newData.push(user);
@ -151,7 +155,9 @@ $(document).ready(function () {
}, },
cache: true cache: true
}, },
escapeMarkup: function (markup) { return markup; }, // let our custom formatter work escapeMarkup: function (markup) {
return markup;
}, // let our custom formatter work
minimumInputLength: 1, minimumInputLength: 1,
templateResult: formatRepo, // omitted for brevity, see the source of this page templateResult: formatRepo, // omitted for brevity, see the source of this page
templateSelection: formatRepoSelection // omitted for brevity, see the source of this page templateSelection: formatRepoSelection // omitted for brevity, see the source of this page
@ -163,6 +169,7 @@ $(document).ready(function () {
* on Add Role page in WSO2 MDM Console. * on Add Role page in WSO2 MDM Console.
*/ */
$("button#add-role-btn").click(function () { $("button#add-role-btn").click(function () {
var domain = $("#domain").val(); var domain = $("#domain").val();
var roleNameInput = $("input#roleName"); var roleNameInput = $("input#roleName");
var roleName = roleNameInput.val(); var roleName = roleNameInput.val();
@ -185,8 +192,12 @@ $(document).ready(function () {
$(errorMsgWrapper).removeClass("hidden"); $(errorMsgWrapper).removeClass("hidden");
} else { } else {
var addRoleFormData = {}; var addRoleFormData = {};
if (isCloud) {
addRoleFormData.roleName = "devicemgt" + roleName;
} else {
addRoleFormData.roleName = roleName; addRoleFormData.roleName = roleName;
if (domain != "PRIMARY"){ }
if (domain != "PRIMARY") {
addRoleFormData.roleName = domain + "/" + roleName; addRoleFormData.roleName = domain + "/" + roleName;
} }
if (users == null) { if (users == null) {
@ -220,11 +231,11 @@ $(document).ready(function () {
}); });
var roleNameInputElement = "#roleName"; var roleNameInputElement = "#roleName";
$(roleNameInputElement).focus(function() { $(roleNameInputElement).focus(function () {
clearInline["role-name"](); clearInline["role-name"]();
}); });
$(roleNameInputElement).blur(function() { $(roleNameInputElement).blur(function () {
validateInline["role-name"](); validateInline["role-name"]();
}); });

@ -37,6 +37,7 @@ var modalPopupContainer = modalPopup + " .modal-content";
var modalPopupContent = modalPopup + " .modal-content"; var modalPopupContent = modalPopup + " .modal-content";
var body = "body"; var body = "body";
var isInit = true; var isInit = true;
var isCloud = false;
/** /**
@ -72,7 +73,7 @@ function showPopup() {
function hidePopup() { function hidePopup() {
$(modalPopupContent).html(''); $(modalPopupContent).html('');
$(modalPopup).modal('hide'); $(modalPopup).modal('hide');
$('body').removeClass('modal-open').css('padding-right','0px'); $('body').removeClass('modal-open').css('padding-right', '0px');
$('.modal-backdrop').remove(); $('.modal-backdrop').remove();
} }
@ -86,11 +87,12 @@ function InitiateViewOption() {
// $(location).attr('href', $(this).data("url")); // $(location).attr('href', $(this).data("url"));
} }
function htmlspecialchars(text){ function htmlspecialchars(text) {
return jQuery('<div/>').text(text).html(); return jQuery('<div/>').text(text).html();
} }
function loadRoles() { function loadRoles() {
isCloud = $("#role-table").data("cloud");
var loadingContent = $("#loading-content"); var loadingContent = $("#loading-content");
loadingContent.show(); loadingContent.show();
@ -98,21 +100,40 @@ function loadRoles() {
data = JSON.parse(data); data = JSON.parse(data);
var objects = []; var objects = [];
var count = 0;
$(data.roles).each(function (index) { $(data.roles).each(function (index) {
if (isCloud && data.roles[index].startsWith("devicemgt")) {
count++;
objects.push( objects.push(
{ {
name: htmlspecialchars(data.roles[index]), name: htmlspecialchars(data.roles[index]),
DT_RowId: "role-" + htmlspecialchars(data.roles[index]) DT_RowId: "role-" + htmlspecialchars(data.roles[index])
} }
) )
} else if (!isCloud) {
objects.push(
{
name: htmlspecialchars(data.roles[index]),
DT_RowId: "role-" + htmlspecialchars(data.roles[index])
}
)
}
}); });
var json = { var json = {};
if (isCloud) {
json = {
"recordsTotal": count,
"recordsFiltered": count,
"data": objects
};
} else {
json = {
"recordsTotal": data.count, "recordsTotal": data.count,
"recordsFiltered": data.count, "recordsFiltered": data.count,
"data": objects "data": objects
}; };
}
return JSON.stringify(json); return JSON.stringify(json);
}; };
@ -143,7 +164,7 @@ function loadRoles() {
data: null, data: null,
render: function (data, type, row, meta) { render: function (data, type, row, meta) {
var isCloud = false; var isCloud = false;
if ($('#is-cloud').length > 0){ if ($('#is-cloud').length > 0) {
isCloud = true; isCloud = true;
} }

@ -53,22 +53,23 @@
<div id="loading-content" class="col-centered"> <div id="loading-content" class="col-centered">
{{#unless isCloud}} {{#unless isCloud}}
{{#if removePermitted}} {{#if removePermitted}}
<input type="hidden" id="can-remove" value="true" /> <input type="hidden" id="can-remove" value="true"/>
{{/if}} {{/if}}
{{#if editPermitted}} {{#if editPermitted}}
<input type="hidden" id="can-edit" value="true" /> <input type="hidden" id="can-edit" value="true"/>
{{/if}} {{/if}}
{{/unless}} {{/unless}}
{{#if isCloud}} {{#if isCloud}}
<input type="hidden" id="is-cloud" value="true" /> <input type="hidden" id="is-cloud" value="true"/>
{{/if}} {{/if}}
<i class="fw fw-settings fw-spin fw-2x"></i> <i class="fw fw-settings fw-spin fw-2x"></i>
Loading roles . . . Loading roles . . .
<br> <br>
</div> </div>
<div id="role-table" data-role={{adminRole}}> <div id="role-table" data-cloud={{isCloud}} data-role={{adminRole}}>
<table class="table table-striped table-hover list-table display responsive nowrap data-table grid-view" id="role-grid"> <table class="table table-striped table-hover list-table display responsive nowrap data-table grid-view"
id="role-grid">
<thead> <thead>
<tr class="sort-row"> <tr class="sort-row">
<th>By Role Name</th> <th>By Role Name</th>

@ -19,11 +19,11 @@
<div class="row"> <div class="row">
<div class="col-md-12"> <div class="col-md-12">
<!-- content --> <!-- content -->
<div id="role-create-form" class="container col-centered wr-content"> <div id="role-create-form" data-cloud={{isCloud}} class="container col-centered wr-content">
<div class="wr-form"> <div class="wr-form">
<p class="page-sub-title">Edit Role</p> <p class="page-sub-title">Edit Role</p>
<p>Please note that * sign represents required fields of data.</p> <p>Please note that * sign represents required fields of data.</p>
<hr /> <hr/>
<div class="row"> <div class="row">
<div class="col-lg-8"> <div class="col-lg-8">
<div id="role-create-error-msg" class="alert alert-danger hidden" role="alert"> <div id="role-create-error-msg" class="alert alert-danger hidden" role="alert">
@ -42,11 +42,23 @@
<label class="wr-input-label" id="roleNameValidationText"> <label class="wr-input-label" id="roleNameValidationText">
( {{roleNameHelpText}} ) ( {{roleNameHelpText}} )
</label> </label>
{{#if isCloud}}
<div id="roleNameField" class="form-group wr-input-control input-group">
<!--suppress HtmlFormInputWithoutLabel -->
<span class="input-group-addon" id="basic-addon1">devicemgt</span>
<input aria-describedby="basic-addon1" type="text" id="rolename"
data-regex="{{roleNameJSRegEx}}"
data-errormsg="{{roleNameRegExViolationErrorMsg}}" class="form-control"
data-currentrole="{{role.roleName}}"
value="{{role.roleName}}"/>
{{else}}
<div id="roleNameField" class="form-group wr-input-control"> <div id="roleNameField" class="form-group wr-input-control">
<input type="text" id="rolename" data-regex="{{roleNameJSRegEx}}" <input type="text" id="rolename" data-regex="{{roleNameJSRegEx}}"
data-errormsg="{{roleNameRegExViolationErrorMsg}}" class="form-control" data-errormsg="{{roleNameRegExViolationErrorMsg}}" class="form-control"
data-currentrole="{{role.roleName}}" data-currentrole="{{role.roleName}}"
value="{{role.roleName}}" /> value="{{role.roleName}}"/>
{{/if}}
<span class=" rolenameError hidden glyphicon glyphicon-remove form-control-feedback"></span> <span class=" rolenameError hidden glyphicon glyphicon-remove form-control-feedback"></span>
<label class="error rolenameEmpty hidden" for="summary">Role name is required & Should be in <label class="error rolenameEmpty hidden" for="summary">Role name is required & Should be in
minimum 3 characters long and do not minimum 3 characters long and do not
@ -63,7 +75,7 @@
<p class="page-sub-title">Role was updated successfully.</p> <p class="page-sub-title">Role was updated successfully.</p>
<br>Please click <b>"View Updated Role"</b>, if you wish to view the updated role or click <br>Please click <b>"View Updated Role"</b>, if you wish to view the updated role or click
<b>"View Role List"</b> to complete the process and go back to the role list. <b>"View Role List"</b> to complete the process and go back to the role list.
<hr /> <hr/>
<button class="wr-btn" onclick="window.location.href='{{@app.context}}/roles'"> <button class="wr-btn" onclick="window.location.href='{{@app.context}}/roles'">
View Role List View Role List
</button> </button>
@ -80,8 +92,8 @@
<!-- /content --> <!-- /content -->
<div id="app-context" data-app-context="{{@app.context}}" class="hidden"></div> <div id="app-context" data-app-context="{{@app.context}}" class="hidden"></div>
</div> </div>
</div> </div>
<!-- /content/body --> <!-- /content/body -->
{{#zone "bottomJs"}} {{#zone "bottomJs"}}
{{js "js/bottomJs.js"}} {{js "js/bottomJs.js"}}
{{/zone}} {{/zone}}

@ -29,6 +29,7 @@ function onRequest(context) {
var roleName = request.getParameter("rolename"); var roleName = request.getParameter("rolename");
var response; var response;
var userStore; var userStore;
context.isCloud = deviceMgtProps.isCloud;
if (roleName) { if (roleName) {
if (roleName.indexOf("/") > -1) { if (roleName.indexOf("/") > -1) {

@ -83,18 +83,18 @@ clearInline["role-name"] = function () {
*/ */
validateInline["role-name"] = function () { validateInline["role-name"] = function () {
var rolenameinput = $("input#rolename"); var rolenameinput = $("input#rolename");
if (inputIsValid( rolenameinput.data("regex"), rolenameinput.val())) { if (inputIsValid(rolenameinput.data("regex"), rolenameinput.val())) {
disableInlineError("roleNameField", "rolenameEmpty", "rolenameError"); disableInlineError("roleNameField", "rolenameEmpty", "rolenameError");
} else { } else {
enableInlineError("roleNameField", "rolenameEmpty", "rolenameError"); enableInlineError("roleNameField", "rolenameEmpty", "rolenameError");
} }
}; };
function formatRepo (user) { function formatRepo(user) {
if (user.loading) { if (user.loading) {
return user.text return user.text
} }
if (!user.username){ if (!user.username) {
return; return;
} }
var markup = '<div class="clearfix">' + var markup = '<div class="clearfix">' +
@ -111,14 +111,14 @@ function formatRepo (user) {
return markup; return markup;
} }
function formatRepoSelection (user) { function formatRepoSelection(user) {
return user.username || user.text; return user.username || user.text;
} }
$(document).ready(function () { $(document).ready(function () {
var appContext = $("#app-context").data("app-context"); var appContext = $("#app-context").data("app-context");
$("#users").select2({ $("#users").select2({
multiple:true, multiple: true,
tags: false, tags: false,
ajax: { ajax: {
url: appContext + "/api/invoker/execute/", url: appContext + "/api/invoker/execute/",
@ -148,23 +148,29 @@ $(document).ready(function () {
}, },
cache: true cache: true
}, },
escapeMarkup: function (markup) { return markup; }, // let our custom formatter work escapeMarkup: function (markup) {
return markup;
}, // let our custom formatter work
minimumInputLength: 1, minimumInputLength: 1,
templateResult: formatRepo, // omitted for brevity, see the source of this page templateResult: formatRepo, // omitted for brevity, see the source of this page
templateSelection: formatRepoSelection // omitted for brevity, see the source of this page templateSelection: formatRepoSelection // omitted for brevity, see the source of this page
}); });
/** /**
* Following click function would execute * Following click function would execute
* when a user clicks on "Add Role" button * when a user clicks on "Add Role" button
* on Add Role page in WSO2 MDM Console. * on Add Role page in WSO2 MDM Console.
*/ */
$("button#add-role-btn").click(function() { $("button#add-role-btn").click(function () {
var isCloud = $("#role-create-form").data("cloud");
var rolenameInput = $("input#rolename"); var rolenameInput = $("input#rolename");
var roleName = rolenameInput.val(); var roleName = rolenameInput.val();
var currentRoleName = $("input#rolename").data("currentrole"); var currentRoleName = $("input#rolename").data("currentrole");
if (isCloud) {
currentRoleName = "devicemgt" + currentRoleName;
}
var domain = $("#domain").val(); var domain = $("#domain").val();
var errorMsgWrapper = "#role-create-error-msg"; var errorMsgWrapper = "#role-create-error-msg";
var errorMsg = "#role-create-error-msg span"; var errorMsg = "#role-create-error-msg span";
@ -182,12 +188,17 @@ $(document).ready(function () {
$(errorMsgWrapper).removeClass("hidden"); $(errorMsgWrapper).removeClass("hidden");
} else { } else {
var addRoleFormData = {}; var addRoleFormData = {};
if (isCloud) {
addRoleFormData.roleName = "devicemgt" + roleName;
} else {
addRoleFormData.roleName = roleName; addRoleFormData.roleName = roleName;
}
var addRoleAPI = apiBasePath + "/roles/" + encodeURIComponent(currentRoleName); var addRoleAPI = apiBasePath + "/roles/" + encodeURIComponent(currentRoleName);
if (domain != "PRIMARY"){ if (domain != "PRIMARY") {
addRoleFormData.roleName = domain + "/" + roleName; addRoleFormData.roleName = domain + "/" + roleName;
addRoleAPI = addRoleAPI + "?user-store=" + encodeURIComponent(domain); addRoleAPI = addRoleAPI + "?user-store=" + encodeURIComponent(domain);
} }
invokerUtil.put( invokerUtil.put(
addRoleAPI, addRoleAPI,
addRoleFormData, addRoleFormData,
@ -201,6 +212,7 @@ $(document).ready(function () {
$("#role-created-msg").removeClass("hidden"); $("#role-created-msg").removeClass("hidden");
} }
}, function (data) { }, function (data) {
var payload = JSON.parse(data.responseText); var payload = JSON.parse(data.responseText);
$(errorMsg).text(payload.message); $(errorMsg).text(payload.message);
$(errorMsgWrapper).removeClass("hidden"); $(errorMsgWrapper).removeClass("hidden");
@ -209,11 +221,11 @@ $(document).ready(function () {
} }
}); });
$("#rolename").focus(function() { $("#rolename").focus(function () {
clearInline["role-name"](); clearInline["role-name"]();
}); });
$("#rolename").blur(function() { $("#rolename").blur(function () {
validateInline["role-name"](); validateInline["role-name"]();
}); });

@ -18,11 +18,11 @@
$(document).ready(function () { $(document).ready(function () {
$('#cloud-menu-popover i.fw-tiles').popover({ $('#cloud-menu-popover i.fw-tiles').popover({
html: true, html: true,
trigger:'click', trigger: 'click',
title: function() { title: function () {
return $("#popover-head").html(); return $("#popover-head").html();
}, },
content: function() { content: function () {
return $("#popover-content").html(); return $("#popover-content").html();
} }
}); });

@ -22,7 +22,7 @@
{{#if this.dropDownVisible}} {{#if this.dropDownVisible}}
class="dropdown" data-toggle="dropdown" class="dropdown" data-toggle="dropdown"
{{/if}} {{/if}}
title = " title="
{{#if this.isDomain }} {{#if this.isDomain }}
{{@user.domain}} {{@user.domain}}
{{else}} {{else}}

Loading…
Cancel
Save