|
|
define(function() {
|
var mo = {};
|
|
mo.declaredClass = 'jimu.shared.basePortalUrlUtils';
|
|
if(typeof String.prototype.trim !== 'function'){
|
String.prototype.trim = function(){
|
return this.replace(/^\s*/gi, '').replace(/\s*$/gi, '');
|
};
|
}
|
|
if(typeof String.prototype.startWith !== 'function'){
|
String.prototype.startWith = function(str) {
|
return this.substr(0, str.length) === str;
|
};
|
}
|
|
if(typeof String.prototype.endWith !== 'function'){
|
String.prototype.endWith = function(str) {
|
return this.substr(this.length - str.length, str.length) === str;
|
};
|
}
|
|
//return the host (with port if possible)
|
//http://www.arcgis.com/sharing => www.arcgis.com
|
mo.getServerByUrl = function(_url){
|
_url = (_url || '').trim();
|
_url = _url.replace(/^(http(s?):?)\/\//gi, '');
|
|
if(_url.indexOf('//') === 0){
|
_url = _url.slice(2);
|
}
|
|
return _url.split('/')[0];
|
};
|
|
//return the host with protocol
|
//http://www.arcgis.com/sharing => http://www.arcgis.com
|
mo.getServerWithProtocol = function(_url){
|
var result = '';
|
_url = (_url || '').trim();
|
|
if(_url){
|
var server = mo.getServerByUrl(_url);
|
|
if(!server){
|
return result;
|
}
|
|
var protocol = mo.getProtocol(_url);
|
|
if(protocol){
|
result = protocol + "://" + server;
|
}
|
else if(_url.indexOf('//') === 0){
|
result = "//" + server;
|
}
|
}
|
|
return result;
|
};
|
|
mo.isSameServer = function(_url1, _url2){
|
_url1 = mo.getServerByUrl(_url1) || "";
|
_url2 = mo.getServerByUrl(_url2) || "";
|
return _url1.toLowerCase() === _url2.toLowerCase();
|
};
|
|
//return host name without port
|
mo.getDomain = function(url) {
|
var serverName, matched, result = '';
|
|
serverName = mo.getServerByUrl(url);
|
if (serverName) {
|
serverName = serverName.replace(/:\d+$/, '');
|
matched = serverName.match(/[^.]\w+\.\w+$/);
|
if (matched !== null) {
|
result = matched[0];
|
// if the url is an IP address, it isn't a valid domain
|
if (/^\d+\.\d+$/.test(result)) {
|
result = '';
|
}
|
}
|
}
|
return result;
|
};
|
|
mo.isSameDomain = function(url1, url2) {
|
var domain1 = mo.getDomain(url1),
|
domain2 = mo.getDomain(url2);
|
|
return domain1 !== '' && domain1 === domain2;
|
};
|
|
mo.isOrgOnline = function(_url){
|
var server = mo.getServerByUrl(_url).toLowerCase();
|
return server.indexOf('.maps.arcgis.com') >= 0;
|
};
|
|
mo.isOnline = function(_url){
|
var server = mo.getServerByUrl(_url).toLowerCase();
|
return server.indexOf('.arcgis.com') >= 0;
|
};
|
|
mo.isArcGIScom = function(_url){
|
var server = mo.getServerByUrl(_url).toLowerCase();
|
return server === 'www.arcgis.com' || server === 'arcgis.com';
|
};
|
|
//get standard portal url without 'sharing'
|
//http://www.arcgis.com/sharing/rest/ => http://www.arcgis.com
|
mo.getStandardPortalUrl = function(_portalUrl){
|
var server = mo.getServerByUrl(_portalUrl);
|
if (server === '') {
|
return '';
|
}
|
if (mo.isOnline(server)) {
|
if(mo.isArcGIScom(server)){
|
server = 'www.arcgis.com';
|
}
|
_portalUrl = mo.addProtocol(_portalUrl);
|
var protocol = mo.getProtocol(_portalUrl);
|
_portalUrl = protocol + '://' + server;
|
} else {
|
_portalUrl = (_portalUrl || '').trim().replace(/sharing(.*)/gi, '').replace(/\/*$/g, '');
|
_portalUrl = mo.addProtocol(_portalUrl);
|
var pattStr = 'http(s?):\/\/' + server;
|
var pattern = new RegExp(pattStr, 'g');
|
var nail = _portalUrl.replace(pattern, '');
|
if (!nail) {
|
_portalUrl = _portalUrl + '/arcgis';
|
}
|
}
|
|
return _portalUrl;
|
};
|
|
mo.isSamePortalUrl = function(_portalUrl1, _portalUrl2){
|
//test: http://www.arcgis.com/sharing/rest === https://www.arcgis.com
|
//test: http://www.arcgis.com/ === https://www.arcgis.com
|
//test: //www.arcgis.com/sharing/rest === https://www.arcgis.com/
|
var patt1 = /^http(s?):\/\//gi;
|
var patt2 = /^\/\//gi;
|
_portalUrl1 = mo.getStandardPortalUrl(_portalUrl1).toLowerCase().replace(patt1, '').replace(patt2, '');
|
_portalUrl2 = mo.getStandardPortalUrl(_portalUrl2).toLowerCase().replace(patt1, '').replace(patt2, '');
|
return _portalUrl1 === _portalUrl2;
|
};
|
|
//add protocol for url if it doesn't have protocol
|
mo.addProtocol = function(url){
|
var noProtocol = url.toLowerCase().indexOf('http://') <= -1 &&
|
url.toLowerCase().indexOf('https://') <= -1;
|
|
if(noProtocol){
|
var defaultProtocol = '';
|
if(typeof window !== 'undefined' && window.location) {
|
//for client side
|
defaultProtocol = window.location.protocol;
|
if (url.startWith('//')) {
|
url = defaultProtocol + url; //http: + //js.arcgis.com
|
} else if (url.startWith('/')) {
|
// http: + // + localhost + /proxy.js
|
url = defaultProtocol + "//" + window.location.host + url;
|
} else {
|
url = defaultProtocol + "//" + url; //http: + // + www.arcgis.com
|
}
|
}
|
else{
|
//for server side
|
defaultProtocol = 'http:';
|
if (url.startWith('//')) {
|
url = defaultProtocol + url; //http: + //js.arcgis.com
|
} else {
|
url = defaultProtocol + "//" + url;
|
}
|
}
|
|
}
|
return url;
|
};
|
|
mo.getProtocol = function(url){
|
//test: http://www.arcgis.com => http
|
//test: https://www.arcgis.com => https
|
//test: //www.arcgis.com => ''
|
var protocol = '';
|
url = url.toLowerCase();
|
if(url.indexOf('https://') === 0){
|
protocol = 'https';
|
}
|
else if(url.indexOf('http://') === 0){
|
protocol = 'http';
|
}
|
return protocol;
|
};
|
|
mo.updateUrlProtocolByOtherUrl = function(url, otherUrl){
|
otherUrl = otherUrl.toLowerCase();
|
if(otherUrl.indexOf('https://') === 0){
|
url = mo.setHttpsProtocol(url);
|
}else if(otherUrl.indexOf('http://') === 0){
|
url = mo.setHttpProtocol(url);
|
}
|
return url;
|
};
|
|
mo.removeProtocol = function(_url){
|
//test: http://www.arcgis.com => //www.arcgis.com
|
//test: https://www.arcgis.com => //www.arcgis.com
|
return _url.replace(/^http(s?):\/\//i, '//');
|
};
|
|
mo.setHttpProtocol = function(_url){
|
_url = mo.addProtocol(_url);
|
var reg = /^https:\/\//;
|
var url = _url.replace(reg, 'http://');
|
return url;
|
};
|
|
mo.setHttpsProtocol = function(_url){
|
_url = mo.addProtocol(_url);
|
var reg = /^http:\/\//;
|
var url = _url.replace(reg, 'https://');
|
return url;
|
};
|
|
mo.setProtocol = function(_url, protocol){
|
if(protocol.indexOf('https') >= 0){
|
return mo.setHttpsProtocol(_url);
|
}else if(protocol.indexOf('http') >= 0){
|
return mo.setHttpProtocol(_url);
|
} else {
|
return _url;
|
}
|
};
|
|
//http://www.arcgis.com => http://www.arcgis.com/sharing/rest
|
mo.getSharingUrl = function(_portalUrl){
|
var sharingUrl = '';
|
var portalUrl = mo.getStandardPortalUrl(_portalUrl);
|
if(portalUrl){
|
sharingUrl = portalUrl + '/sharing/rest';
|
}
|
return sharingUrl;
|
};
|
|
//http://www.arcgis.com => http://www.arcgis.com/sharing/rest/oauth2
|
mo.getOAuth2Url = function(_portalUrl){
|
var oauth2Url = '';
|
var portalUrl = mo.getStandardPortalUrl(_portalUrl);
|
if(portalUrl){
|
oauth2Url = portalUrl + '/sharing/rest/oauth2';
|
}
|
return oauth2Url;
|
};
|
|
//http://www.arcgis.com,a5adfxf3df => http://www.arcgis.com/sharing/rest/oauth2/apps/a5adfxf3df
|
mo.getAppIdUrl = function(_portalUrl, _appId){
|
var appIdUrl = '';
|
var portalUrl = mo.getStandardPortalUrl(_portalUrl);
|
if(portalUrl){
|
appIdUrl = portalUrl + '/sharing/rest/oauth2/apps/' + _appId;
|
}
|
return appIdUrl;
|
};
|
|
//http://www.arcgis.com => http://www.arcgis.com/home/signin.html
|
mo.getSignInUrl = function(_portalUrl){
|
var signInUrl = "";
|
var portalUrl = mo.getStandardPortalUrl(_portalUrl);
|
if(portalUrl){
|
signInUrl = portalUrl + "/home/signin.html";
|
}
|
return signInUrl;
|
};
|
|
//http://www.arcgis.com => http://www.arcgis.com/sharing/rest/search
|
mo.getBaseSearchUrl = function(_portalUrl){
|
var searchUrl = '';
|
var portalUrl = mo.getStandardPortalUrl(_portalUrl);
|
portalUrl = portalUrl.replace(/\/*$/g, '');
|
if(portalUrl){
|
searchUrl = portalUrl + '/sharing/rest/search';
|
}
|
return searchUrl;
|
};
|
|
//http://www.arcgis.com => http://www.arcgis.com/sharing/rest/content/items
|
mo.getBaseItemUrl = function(_portalUrl){
|
var baseItemUrl = '';
|
var portalUrl = mo.getStandardPortalUrl(_portalUrl);
|
if(portalUrl){
|
baseItemUrl = portalUrl + '/sharing/rest/content/items';
|
}
|
return baseItemUrl;
|
};
|
|
//http://www.arcgis.com,dc99396ecacd4873a4e78124db435076 =>
|
//http://www.arcgis.com/sharing/rest/content/items/dc99396ecacd4873a4e78124db435076
|
mo.getItemUrl = function(_portalUrl, _itemId){
|
var itemUrl = '';
|
var baseItemUrl = mo.getBaseItemUrl(_portalUrl);
|
if(baseItemUrl && _itemId){
|
itemUrl = baseItemUrl + '/' + _itemId;
|
}
|
return itemUrl;
|
};
|
|
//http://www.arcgis.com,dc99396ecacd4873a4e78124db435076 =>
|
//http://www.arcgis.com/sharing/rest/content/items/dc99396ecacd4873a4e78124db435076/data
|
mo.getItemDataUrl = function(_portalUrl, _itemId){
|
var itemDataUrl = '';
|
var itemUrl = mo.getItemUrl(_portalUrl, _itemId);
|
if(itemUrl){
|
itemDataUrl = itemUrl + '/data';
|
}
|
return itemDataUrl;
|
};
|
|
//http://www.arcgis.com,dc99396ecacd4873a4e78124db435076 =>
|
//http://www.arcgis.com/sharing/rest/content/items/dc99396ecacd4873a4e78124db435076/groups
|
mo.getItemGroupsUrl = function(_portalUrl, _itemId){
|
var itemDataUrl = '';
|
var itemUrl = mo.getItemUrl(_portalUrl, _itemId);
|
if(itemUrl){
|
itemDataUrl = itemUrl + '/groups';
|
}
|
return itemDataUrl;
|
};
|
|
//http://www.arcgis.com => http://www.arcgis.com/sharing/generateToken
|
mo.getGenerateTokenUrl = function(_portalUrl){
|
var tokenUrl = '';
|
_portalUrl = mo.getStandardPortalUrl(_portalUrl);
|
if(_portalUrl){
|
// tokenUrl = _portalUrl + '/sharing/rest/generateToken';
|
// The url should not include 'rest' because portal 10.3 doesn't support GET method with 'rest' and
|
// get following error
|
// {"error":{"code":405,"messageCode":"GWM_0005","message":"Method not supported.","details":[]}}
|
tokenUrl = _portalUrl + '/sharing/generateToken';
|
}
|
return tokenUrl;
|
};
|
|
//http://www.arcgis.com,dc99396ecacd4873a4e78124db435076 =>
|
//http://www.arcgis.com/home/item.html?id=dc99396ecacd4873a4e78124db435076
|
mo.getItemDetailsPageUrl = function(_portalUrl, _itemId){
|
var url = '';
|
if(_portalUrl && _itemId){
|
_portalUrl = mo.getStandardPortalUrl(_portalUrl);
|
url = _portalUrl + "/home/item.html?id=" + _itemId;
|
}
|
return url;
|
};
|
|
//http://www.arcgis.com,user1 => http://www.arcgis.com/home/user.html?user=user1
|
mo.getUserProfilePageUrl = function(_portalUrl, _user){
|
var url = '';
|
if(_portalUrl && _user){
|
_portalUrl = mo.getStandardPortalUrl(_portalUrl);
|
url = _portalUrl + '/home/user.html?user=' + _user;
|
}
|
return url;
|
};
|
|
//http://www.arcgis.com => http://www.arcgis.com/sharing/rest/community/groups
|
mo.getBaseGroupUrl = function(_portalUrl){
|
var url = '';
|
var thePortalUrl = mo.getStandardPortalUrl(_portalUrl);
|
if(thePortalUrl){
|
url = thePortalUrl + '/sharing/rest/community/groups';
|
}
|
return url;
|
};
|
|
//http://www.arcgis.com => http://www.arcgis.com/sharing/rest/portals/self
|
mo.getPortalSelfInfoUrl = function(_portalUrl){
|
var url = '';
|
var thePortalUrl = _portalUrl || '';
|
thePortalUrl = mo.getStandardPortalUrl(thePortalUrl);
|
if(thePortalUrl){
|
url = thePortalUrl + '/sharing/rest/portals/self';
|
}
|
return url;
|
};
|
|
//http://www.arcgis.com => http://www.arcgis.com/sharing/rest/community/self
|
mo.getCommunitySelfUrl = function(_portalUrl){
|
var url = '';
|
var thePortalUrl = _portalUrl || '';
|
thePortalUrl = mo.getStandardPortalUrl(thePortalUrl);
|
if(thePortalUrl){
|
url = thePortalUrl + '/sharing/rest/community/self';
|
}
|
return url;
|
};
|
|
//http://www.arcgis.com => http://www.arcgis.com/sharing/rest/community/users
|
mo.getBaseUserUrl = function(_portalUrl){
|
var baseUserUrl = '';
|
var portalUrl = mo.getStandardPortalUrl(_portalUrl);
|
if(portalUrl){
|
baseUserUrl = portalUrl + '/sharing/rest/community/users';
|
}
|
return baseUserUrl;
|
};
|
|
//http://www.arcgis.com,user1 => http://www.arcgis.com/sharing/rest/community/users/user1
|
mo.getUserUrl = function(_portalUrl, _userId){
|
var userUrl = '';
|
var baseUserUrl = mo.getBaseUserUrl(_portalUrl);
|
if(_portalUrl && _userId){
|
userUrl = baseUserUrl + '/' + _userId;
|
}
|
return userUrl;
|
};
|
|
//http://www.arcgis.com,user1 => http://www.arcgis.com/sharing/rest/community/users/user1/tags
|
mo.getUserTagsUrl = function(_portalUrl, _userId){
|
var userTagsUrl = '';
|
var userUrl = mo.getUserUrl(_portalUrl, _userId);
|
if(_portalUrl && _userId){
|
userTagsUrl = userUrl + '/tags';
|
}
|
return userTagsUrl;
|
};
|
|
//http://www.arcgis.com,user1,thumbnail1 => http://www.arcgis.com/sharing/rest/community/users/user1/info/thumbnail1
|
mo.getUserThumbnailUrl = function(portalUrl, userId, thumbnail){
|
var thumbnailUrl = "";
|
var userUrl = mo.getUserUrl(portalUrl, userId);
|
if(userUrl && thumbnail){
|
thumbnailUrl = userUrl + '/info/' + thumbnail;
|
}
|
return thumbnailUrl;
|
};
|
|
//http://www.arcgis.com => http://www.arcgis.com/sharing/rest/content
|
mo.getContentUrl = function(_portalUrl){
|
var contentUrl = '';
|
if(_portalUrl) {
|
_portalUrl = mo.getStandardPortalUrl(_portalUrl);
|
contentUrl = _portalUrl + '/sharing/rest/content';
|
}
|
return contentUrl;
|
};
|
|
//http://www.arcgis.com,user1,folder1 => http://www.arcgis.com/sharing/rest/content/users/user1/folder1
|
mo.getUserContentUrl = function(_portalUrl, _user, _folderId){
|
var contentUrl = '', userContentUrl = '';
|
if(_portalUrl && _user) {
|
contentUrl = mo.getContentUrl(_portalUrl);
|
if(_folderId) {
|
userContentUrl = contentUrl + '/users/' + _user + '/' + _folderId;
|
} else {
|
userContentUrl = contentUrl + '/users/' + _user;
|
}
|
}
|
return userContentUrl;
|
};
|
|
//http://www.arcgis.com,user1,dc99396ecacd4873a4e78124db435076 =>
|
//http://www.arcgis.com/sharing/rest/content/users/user1/items/dc99396ecacd4873a4e78124db435076
|
mo.getUserContentItemUrl = function(_portalUrl, _user, _itemId){
|
var userContentUrl = '',userContentItemUrl = '';
|
if(_portalUrl && _user && _itemId) {
|
userContentUrl = mo.getUserContentUrl(_portalUrl, _user);
|
userContentItemUrl = userContentUrl + '/items/' + _itemId;
|
}
|
return userContentItemUrl;
|
};
|
|
mo.getItemResourceUrl = function(_portalUrl, _itemId, _customResUrl){
|
var contentUrl = '',itemResourceUrl = '';
|
if(_portalUrl && _itemId) {
|
contentUrl = mo.getContentUrl(_portalUrl);
|
if(_customResUrl){
|
itemResourceUrl = contentUrl + '/items/' + _itemId + '/resources/' + _customResUrl;
|
}else{
|
itemResourceUrl = contentUrl + '/items/' + _itemId + '/resources';
|
}
|
}
|
return itemResourceUrl;
|
};
|
|
//http://www.arcgis.com,user1,folder1 => http://www.arcgis.com/sharing/rest/content/users/user1/folder1/addItem
|
mo.getAddItemUrl = function(_portalUrl, _user, _folderId){
|
var userContentUrl = '', addItemUrl = '';
|
if(_portalUrl && _user) {
|
userContentUrl = mo.getUserContentUrl(_portalUrl, _user, _folderId);
|
addItemUrl = userContentUrl + '/addItem' ;
|
}
|
return addItemUrl;
|
};
|
|
//http://www.arcgis.com,user1,dc99396ecacd4873a4e78124db435076 =>
|
//http://www.arcgis.com/sharing/rest/content/users/user1/items/dc99396ecacd4873a4e78124db435076/delete
|
mo.getDeleteItemUrl = function(_portalUrl, _user, _itemId){
|
var deleteItemUrl = '';
|
var userItemsUrl = mo.getUserItemsUrl(_portalUrl, _user);
|
if(userItemsUrl){
|
deleteItemUrl = userItemsUrl + '/' + _itemId + '/delete';
|
}
|
return deleteItemUrl;
|
};
|
|
|
//http://www.arcgis.com,user1,folder1 => http://www.arcgis.com/sharing/rest/content/users/user1/folder1/items
|
mo.getUserItemsUrl = function(_portalUrl, _user, _folderId) {
|
var userContentUrl = '', userItemsUrl = '';
|
if(_portalUrl && _user) {
|
userContentUrl = mo.getUserContentUrl(_portalUrl, _user, _folderId);
|
userItemsUrl = userContentUrl + '/items' ;
|
}
|
return userItemsUrl;
|
};
|
|
//http://www.arcgis.com,user1,dc99396ecacd4873a4e78124db435076,folder1 =>
|
//http://www.arcgis.com/sharing/rest/content/users/user1/folder1/items/dc99396ecacd4873a4e78124db435076/update
|
mo.getUpdateItemUrl = function(_portalUrl, _user, _itemId, _folderId) {
|
var userItemsUrl = '', updateItem = '';
|
if(_portalUrl && _user) {
|
userItemsUrl = mo.getUserItemsUrl(_portalUrl, _user, _folderId);
|
updateItem = userItemsUrl + '/' + _itemId + "/update";
|
}
|
return updateItem;
|
};
|
|
//http://www.arcgis.com,user1,dc99396ecacd4873a4e78124db435076,folder1 =>
|
//http://www.arcgis.com/sharing/rest/content/users/user1/folder1/items/dc99396ecacd4873a4e78124db435076/share
|
mo.shareItemUrl = function(_portalUrl, _user, _itemId, _folderId) {
|
var userItemsUrl = '', shareItemUrl = '';
|
if(_portalUrl && _user) {
|
userItemsUrl = mo.getUserItemsUrl(_portalUrl, _user, _folderId);
|
shareItemUrl = userItemsUrl + '/' + _itemId + "/share";
|
}
|
return shareItemUrl;
|
};
|
|
//http://www.arcgis.com => http://www.arcgis.com/home/index.html
|
mo.getHomeIndexUrl = function(_portalUrl){
|
var url = '';
|
var thePortalUrl = mo.getStandardPortalUrl(_portalUrl);
|
if(thePortalUrl){
|
url = thePortalUrl + '/home/index.html';
|
}
|
return url;
|
};
|
|
//http://www.arcgis.com,dc99396ecacd4873a4e78124db435076 =>
|
//http://www.arcgis.com/home/webmap/viewer.html?webmap=dc99396ecacd4873a4e78124db435076
|
mo.getHomeMapViewerUrl = function(_portalUrl, /* optional */ itemId){
|
var url = '';
|
var thePortalUrl = mo.getStandardPortalUrl(_portalUrl);
|
if(thePortalUrl){
|
url = thePortalUrl + '/home/webmap/viewer.html';
|
if(itemId){
|
url += "?webmap=" + itemId;
|
}
|
else{
|
url += "?useExisting=1";
|
}
|
}
|
return url;
|
};
|
|
//http://www.arcgis.com,dc99396ecacd4873a4e78124db435076 =>
|
//http://www.arcgis.com/home/webscene/viewer.html?webscene=dc99396ecacd4873a4e78124db435076
|
mo.getHomeSceneViewerUrl = function(_portalUrl, /* optional */ itemId){
|
var url = '';
|
var thePortalUrl = mo.getStandardPortalUrl(_portalUrl);
|
if(thePortalUrl){
|
url = thePortalUrl + '/home/webscene/viewer.html';
|
if(itemId){
|
url += "?webscene=" + itemId;
|
}
|
}
|
return url;
|
};
|
|
//http://www.arcgis.com => http://www.arcgis.com/home/gallery.html
|
mo.getHomeGalleryUrl = function(_portalUrl){
|
var url = '';
|
var thePortalUrl = mo.getStandardPortalUrl(_portalUrl);
|
if(thePortalUrl){
|
url = thePortalUrl + '/home/gallery.html';
|
}
|
return url;
|
};
|
|
//http://www.arcgis.com => http://www.arcgis.com/home/groups.html
|
mo.getHomeGroupsUrl = function(_portalUrl){
|
var url = '';
|
var thePortalUrl = mo.getStandardPortalUrl(_portalUrl);
|
if(thePortalUrl){
|
url = thePortalUrl + '/home/groups.html';
|
}
|
return url;
|
};
|
|
//http://www.arcgis.com => http://www.arcgis.com/home/content.html
|
mo.getHomeMyContentUrl = function(_portalUrl){
|
var url = '';
|
var thePortalUrl = mo.getStandardPortalUrl(_portalUrl);
|
if(thePortalUrl){
|
url = thePortalUrl + '/home/content.html';
|
}
|
return url;
|
};
|
|
//http://www.arcgis.com => http://www.arcgis.com/home/organization.html
|
mo.getHomeMyOrganizationUrl = function(_portalUrl){
|
var url = '';
|
var thePortalUrl = mo.getStandardPortalUrl(_portalUrl);
|
if(thePortalUrl){
|
url = thePortalUrl + '/home/organization.html';
|
}
|
return url;
|
};
|
|
//http://www.arcgis.com => http://www.arcgis.com/home/user.html
|
mo.getHomeUserUrl = function(_portalUrl){
|
var url = '';
|
var thePortalUrl = mo.getStandardPortalUrl(_portalUrl);
|
if(thePortalUrl){
|
url = thePortalUrl + '/home/user.html';
|
}
|
return url;
|
};
|
|
//locale is optional, default value is 'en'
|
//http://www.arcgis.com,en => http://www.arcgis.com/portalhelp/en/website/help/
|
mo.getPortalHelpUrl = function(_portalUrl, locale){
|
var url = '';
|
var thePortalUrl = mo.getStandardPortalUrl(_portalUrl);
|
if(thePortalUrl){
|
var l = locale || "en";
|
url = thePortalUrl + "/portalhelp/" + l + "/website/help/";
|
}
|
return url;
|
};
|
|
//http://www.arcgis.com,en => http://www.arcgis.com/portalhelp/en/admin/help/
|
mo.getPortalAdminHelpUrl = function(_portalUrl, locale){
|
var url = '';
|
var thePortalUrl = mo.getStandardPortalUrl(_portalUrl);
|
if(thePortalUrl){
|
var l = locale || "en";
|
url = thePortalUrl + '/portalhelp/' + l + "/admin/help/";
|
}
|
return url;
|
};
|
|
//http://www.arcgis.com => http://www.arcgis.com/sharing/proxy
|
mo.getPortalProxyUrl = function(_portalUrl){
|
//examples:
|
//http://esridevbeijing.maps.arcgis.com/sharing/proxy
|
//http://gallery.chn.esri.com/arcgis/sharing/proxy
|
var url = '';
|
var thePortalUrl = mo.getStandardPortalUrl(_portalUrl);
|
if(thePortalUrl){
|
url = thePortalUrl + '/sharing/proxy';
|
}
|
return url;
|
};
|
|
//http://www.arcgis.com => http://www.arcgis.com/sharing/rest/oauth2/signout
|
mo.getOAuth2SignOutUrl = function(_portalUrl){
|
var signOutUrl = "";
|
var portalUrl = mo.getStandardPortalUrl(_portalUrl);
|
if(portalUrl){
|
signOutUrl = portalUrl + '/sharing/rest/oauth2/signout';//?redirect_uri=http://...
|
}
|
return signOutUrl;
|
};
|
|
//http://www.arcgis.com => http://www.arcgis.com/sharing/tools/newPrint
|
mo.getNewPrintUrl = function(_portalUrl){
|
var url = '';
|
var thePortalUrl = mo.getStandardPortalUrl(_portalUrl);
|
if(thePortalUrl){
|
thePortalUrl = mo.setHttpProtocol(thePortalUrl);
|
url = thePortalUrl + '/sharing/tools/newPrint';
|
}
|
return url;
|
};
|
|
//http://www.arcgis.com,axf5d83dfa =>
|
//https://www.arcgis.com/home/pages/Account/manage_accounts.html#client_id=axf5d83dfa
|
mo.getSwitchAccoutnsUrl = function(_portalUrl, client_id, /*optional*/ redirect_uri){
|
var url = '';
|
var portalUrl = mo.getStandardPortalUrl(_portalUrl);
|
if(portalUrl){
|
url = portalUrl + "/home/pages/Account/manage_accounts.html#client_id=" + client_id;
|
if(redirect_uri){
|
url += "&redirect_uri=" + redirect_uri;
|
}
|
}
|
if(url){
|
url = mo.setHttpsProtocol(url);
|
}
|
return url;
|
};
|
|
return mo;
|
});
|