您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Interface enhancements for DSA
// ==UserScript== // @name DSA Interface // @namespace COMDSPDSA // @version 20.7 // @description Interface enhancements for DSA // @author Dan Overlander // @include http://sales.dell.com/* // @include *preol.dell.com* // @include *http://localhost:36865* // @include *http://localhost:36158* // @include *localhost.dell.com:5000* // @include *dell.com/salesapp* // @include *online-sales-ux-* // @exclude */swagger/* // @require https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js // @require https://greasyfork.org/scripts/23115-tampermonkey-support-library/code/Tampermonkey%20Support%20Library.js?version=730858 // @require https://greasyfork.org/scripts/383641-aria-favlets/code/ARIA%20Favlets.js?version=702363 // @require https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.5.2/underscore-min.js // @grant GM_setValue // @grant GM_getValue // ==/UserScript== // Since v20.6: Extracting DOM Assistant as a separate script // Since v20.5: Minor tweaks to Partners link generator // Since v20.4: Bugfix: Updated config link // Since v20.3: Tweaking UI compression. Removes Tamper Global script dependency // Since v20.2: Fixed VERIFY link for partnerUX. Added United States to country data - missing orgId, of course? Another new version of TM library. Revamped accessibility scanning, adding img altTag scan. // Since v20.1: Updated PartnerUX homepage shortcuts for quotes to use updated route. Merged partner offer- and quote- data. moved some style generation to a one-time area. Allowing .versions to be pasted into quickLink number field. // Since v20.0: Updated required support library version // Since v19.5: Tweaks for Partner app. Added global scan to log multiple (identical) IDs and missing ARIA properties on some elements. Favorites for PartnerUX saved as string-objects. Updated accessibility icon. // Since v19.4: Added ARIA check button. May move it out to a separate script. // Since v19.3: Merged the functionality of the DSA-Menu "DSA Plugin" choice with that of the now-global battery icon. // Since v19.2: Removing errant console.log. Moving setTamperIcon to tamperLibrary // Since v19.1: Enhanced homepage link algorhythm // Since v19: Bug Fixes. Colored favorites in partner favorites. // Since v18: Renamed Import "Emailed Cart" to Import "eQuote" in main navigation. Added Partner UI homepage tweaks. // Sinve v17: Tweaked app-controls to make them appear more centered. // Since v16: Included the customer bar resizing css within the preferences-regulated gate. Tweaked it. // Since v15: added hiding the walkme stuff to the options panel (apparently I did not know it was controlled via profile, first). Reduced timeout; feels more pleasant, but must test in case it kills performance. Adjusted config page title compressed Y value // Since v14: bugfix: Adjusted customer-ribbon button y-position on orderReview and orderDetails. Created localStorage prefs // Since v13: Fixed a smry-ctnr CSS bug // Since v12: Modernized trigger elements. fixed the customer ribbon compression // Since v11: Hid the walkme stuff // Since v10: Re-added group alternating background colors // Since v09: activates compression on scroll // Since v08: Renamed // Since v07: Includes G1, Prod // Since v06: Tweaks to homepage // Since v05: Fixes (again) the create-quote icon // Adds customer-dashboard icon // Since v04: Added more of my own customers to the highlight-in-red list // Since v03: Tweaking homepage column title area // Since v02: updating tm support library. Changing the elements the script waits for on initialization // Since v01: homepage search fields right-aligned in title rows // : doesn't swap col-4 for col-6 except on homepage // : COMMENTED OUT : customer ribbon compressed /* * tm is an object included via @require from DorkForce's Tampermonkey Assist script */ (function() { 'use strict'; var TIMEOUT = 250, global = { scriptName: 'DSA Interface', prefsName: 'uiPrefs', prefs: {}, mems: global != null ? global.mems : {}, // memsName: 'uiMems', // currently no need to actually save these ?? triggerElements: ['.icon-ui-dell', '.dds__container'], isMouseMoved: false, areClassesAdded: false, partnerClassesAdded: false, areAlertsAdded: false, isResetting: undefined, hpCompressed: false }, page = { initialize: function () { setTimeout(function () { page.setPrefs(); //page.setMems(); // currently no need to actually save these ?? page.addClasses(); tm.addClasses(); tm.setTamperIcon(global); tm.checkNotes(global); page.addHighlights(); page.compression(); page.alternatingColors(); page.adjustPartnerUI(); }, TIMEOUT); }, setPrefs: function () { var currentPrefs = GM_getValue(global.prefsName); if (currentPrefs == null || _.isEmpty(JSON.parse(currentPrefs))) { global.prefs = { debugMode: 'false', partnerOffers: [ { "user": "[email protected]", "invoices": [ { "gEnv": "g2", "offerNum": "50125456.0", "orgId": "374" } ] }, { "user": "[email protected]", "invoices": [ { "gEnv": "g2", "offerNum": "13045689.0", "orgId": "328" } ] }, { "user": "[email protected]", "invoices": [ { "gEnv": "g2", "solutionNum": "104804", "offerNum": "12009268.0", "orgId": "370", "quoteNum": "3000000739319.1" } ] }, { "user": "[email protected]", "invoices": [ { "gEnv": "g2", "orgId": "302" } ] }, { "user": "[email protected]", "invoices": [ { "gEnv": "g2", "orgId": "8", "quoteNum": "3000000812572.1" } ] } ], hiliteInYourCustomers: '[04], [08], RETAIL', hiliteColor: 'red', compressUi: 'false', hideWalkme: 'false' }; global.prefs.partnerOffers = JSON.stringify(global.prefs.partnerOffers);//.replace(/(\r\n\t|\n|\r\t)/gm,'');//.replace(/"/gm, '\''); tm.savePreferences(global.prefsName, global.prefs); } else { global.prefs = JSON.parse(currentPrefs); } }, // setMems: function () { // currently no need to actually save these ?? // var currentMems = GM_getValue(global.memsName); // if (currentMems == null || _.isEmpty(JSON.parse(currentMems))) { // global.mems = { // dupedIds: [] // }; // tm.savePreferences(global.memsName, global.mems); // } else { // global.prefs = JSON.parse(currentMems); // } // }, addClasses: function () { if (!global.areClassesAdded) { global.areClassesAdded = true; tm.addGlobalStyle('.cust-list-blk:hover {background-color: cornsilk}'); tm.addGlobalStyle('.home-sections .dotted {margin-top:3px; margin-bottom:3px;'); tm.addGlobalStyle('.home-sections .actv-block {padding-bottom:0;'); tm.addGlobalStyle('.singleActivity:hover {background-color: cornsilk;}'); tm.addGlobalStyle('.usertag {background-color: greenyellow;}'); // homepage column headers tm.addGlobalStyle('.home-col-hdr h3 { font-size:1.3em; font-weight:bold; padding-top:3px; }'); // homepage search section tm.addGlobalStyle('#home_search_container { margin-bottom: 0px; }'); tm.addGlobalStyle('#home_search_value { height: 30px; }'); tm.addGlobalStyle('#duplicate-po h3 { float: left; width: 200px; }'); tm.addGlobalStyle('#search_type_label { float: left; width: 110px; position: relative; top: 5px !important; }'); tm.addGlobalStyle('#search { float: left; width: 480px; padding: 0px !important; margin: 0px !important; }'); tm.addGlobalStyle('#search .input-search { position: initial !important; width: 100% !important; }'); // customer ribbon if (global.prefs.compressUi === 'true') { tm.addGlobalStyle('.app-nav {margin-top: 0;}'); tm.addGlobalStyle('.app-nav .app-title { padding-top:0; font-size:16px; line-height:1.1; }'); tm.addGlobalStyle('.current-business-unit { position:relative; top:-7px; }'); } // hide Walk Me Through crap if (global.prefs.hideWalkme === 'true') { tm.addGlobalStyle('#walkme-player, .walkme-custom-icon-outer-div { display: none !important; }'); } // ARIA button tm.addGlobalStyle('.ariaButton {position:fixed; z-index:999999999; bottom:0px; right:40px; left:unset; content: url("https://www.dorkforce.com/dsa/preferences-desktop-accessibility-icon.png"); width:16px; height:16px;}'); // PartnerUX homepage links tm.addGlobalStyle('#DSAHomePage h4 { margin:0; font-weight:bold !important; } '); tm.addGlobalStyle('.inline {float:left; padding:5px 3px;} '); tm.addGlobalStyle('.aFavoriteQuote { clear:both; min-height:27px; cursor:default; }' + '.aFavoriteQuote:hover { background-color:cornsilk; font-weight:bold; }' + '.favoritesEnd { clear:both; }'); tm.addGlobalStyle('.fixedWidth {width:200px; overflow:hidden; margin-right:10px; }'); tm.addGlobalStyle('#quickLink input, #quickLink select, #quickLink button, #quickLink radio {height:25px; margin-left:20px;}'); tm.addGlobalStyle('#quickLink { margin: 0 0 20px 0;}'); tm.addGlobalStyle('.gEnv { background:LightCyan; }'); tm.addGlobalStyle('.dEnv { background:powderBlue; }'); tm.addGlobalStyle('.lEnv { background:lightSteelBlue; }'); tm.addGlobalStyle('.unlinked { opacity:0.3; }'); } }, adjustPartnerUI: function () { if (global.prefs.debugMode === 'true') { if($('.tamperlabel').length > 0 && $('.ariaButton').length === 0) { $('.tamperlabel').before('<span class="ariaButton"></span>'); } tm.getContainer({ 'el': '.ariaButton' }).then(function($container){ $('.ariaButton').css('cursor', 'pointer').unbind('click').on('click', function () { ariaCheck.start(document); // TODO: finish as it doesn't seem to walk the entire dom }); }); } var verboseEnv = function(env) { switch(env) { case('g4'): return 'ge4-sit'; case('g3'): return 'ge3-sit'; case('g2'): return 'ge2-sit'; default: return 'ge1-sit'; } } if ($('.channel-header').length > 0 && !global.partnerClassesAdded) { global.partnerClassesAdded = true; tm.addGlobalStyle('.popupDetailWindow { position:fixed !important; }'); } // hide the default popup Close because for some weird reason it's not working $('.popupDetailContent.fingery').hide(); // localize vars var partners = global.prefs.partnerOffers != null ? JSON.parse(global.prefs.partnerOffers.replace(/'/gm, '"')) : []; partners = partners.sort(function(a, b){ if(a.name < b.name) { return -1; } if(a.name > b.name) { return 1; } return 0; }) // modify logo var getUrl = window.location; var baseUrl = getUrl.protocol + "//" + getUrl.host + "/" + getUrl.pathname.split('/')[1]; if (baseUrl.indexOf('online-sales') < 0) { baseUrl = 'https://localhost.dell.com:5000/'; } $('.dds__msthd-dell-icon').prop('href', baseUrl).css('color', 'yellow').attr('aria-label', 'Tampermonkey Homepage Link'); if ($('#myQuotes').length === 0 && $('#DSAHomePage').length > 0) { var countries = countryData(); // add quickLink form $('#DSAHomePage').append('<H4 aria-label="Generate the URL for an offer or quote">QuickLink Generator</H4>'); var formString = '<div id="quickLink">[NUMBER][REGION][TYPE][SUBMIT]</div>'; var regionString = '<select id="regionInfo">[OPTIONS]</select>'; var regionOptions = ''; var numberString = '<input id="numberInfo" aria-label="Quick Link Generator Input Field"></input>'; var typeString = '<input type="radio" name="typeInfo" value="offer" id="typeInfo1" /> <label for="typeInfo1">Offer</label>' + '<input type="radio" name="typeInfo" value="quote" id="typeInfo2" checked="checked" /> <label for="typeInfo2">Quote</label>'; var submitString = '<button aria-label="Generate a Partner UX offer or quote URL and navigate to it" id="submitQuickLink">Go</button>'; regionOptions += '<option value="us/en/" orgId="8">UNITED STATES</option>'; // hack to force US at top _.each(countries, (country) => { regionOptions += '<option value="' + country.url.toLowerCase() + '" orgId="' + country.orgId + '">' + country.name + '</option>'; }); regionString = regionString.replace('[OPTIONS]', regionOptions); formString = formString.replace('[REGION]', regionString); formString = formString.replace('[NUMBER]', numberString); formString = formString.replace('[TYPE]', typeString); formString = formString.replace('[SUBMIT]', submitString); $('#DSAHomePage').append(formString); $('#submitQuickLink').on('click', () => { var targetUrl = '/salesapp/'; var typeInfo = $('input[name=typeInfo]:checked').val(); var leNum = $('#numberInfo').val(); var leVer = leNum.split('.')[1] != null ? leNum.split('.')[1] : '1'; targetUrl += typeInfo === 'offer' ? $('#regionInfo').val() : 'us/en/'; targetUrl += typeInfo === 'offer' ? 'offer/' : 'quote/'; targetUrl += Math.trunc(Number(leNum)) + '/' + leVer + '/'; targetUrl += typeInfo === 'offer' ? $('#regionInfo option:selected').attr('orgId') : ''; window.location = (targetUrl); return false; }); // add favorites $('#DSAHomePage').append('<H4 id="myQuotes" aria-label="My Favorite Quotes">My Favorite Quotes</H4>'); _.each(partners, function(partner) { _.each(partner.invoices, function(invoice) { var country = _.find(countries, function (country) { return country.orgId === Number(invoice.orgId); }); var region = country.region.toLowerCase() === 'emea' ? 'EURO' : country.region.toLowerCase() === 'amer' ? 'AMER' : 'ASIA'; var cPart = country.url.substr(0, 2); var lPart = country.url.substr(3, 2); var offerNum = invoice.offerNum != null && invoice.offerNum.split('.')[0] != null ? invoice.offerNum.split('.')[0] : invoice.offerNum; var offerVer = invoice.offerNum != null && invoice.offerNum.split('.')[1] != null ? invoice.offerNum.split('.')[1] : '1'; var quoteNum = invoice.quoteNum != null && invoice.quoteNum.split('.')[0] != null ? invoice.quoteNum.split('.')[0] : invoice.quoteNum; var quoteVer = invoice.quoteNum != null && invoice.quoteNum.split('.')[1] != null ? invoice.quoteNum.split('.')[1] : '1'; var appendString = '<div class="aFavoriteQuote">[COUNTRY][USER][VERIFY][BREAK][CONFIG][BREAK][G-ENV-PARTNER-OFFER][G-ENV-PARTNER-QUOTE][BREAK][DEV-ENV-OFFER][DEV-ENV-QUOTE][BREAK][LOCALOFFER][LOCALQUOTE][BREAK][G-ENV-DSA][BREAK][PCFDSALINK]</div>'; var countryLabel = '<div class="fixedWidth">' + country.name + '</div>'; var userLabel = '<div class="fixedWidth">' + partner.user + '</div>'; var verifyLink = offerNum == null ? '<span class="unlinked">Verify</span>' : '<a href="http://' + invoice.gEnv + 'vmoscux01.olqa.preol.dell.com/solutions/Configurator/api/QuoteCheckout/v1/' + region + '/CheckUserHasQuoteCheckoutAccess/' + offerNum + '/' + offerVer + '/' + partner.user + '">Verify</a>'; var configLink = '<a href="https://www.dell.com/Identity/global/Login/a1e7fd82-03de-4731-8899-878cb868b8fa?c=' + cPart + '&l=' + lPart + '&redirecturl=' + 'http://www.dell.com/solutions/configurator/' + country.url + 'q_' + country.catalog + '/' + region + '/osc/your-solutions">Config</a>' var gEnvPOffer = offerNum == null ? '<span class="unlinked">' + invoice.gEnv + 'Offer</span>' : '<a href="https://online-sales-ux-' + verboseEnv(invoice.gEnv) + '.ausvdc02.pcf.dell.com/salesapp/' + country.url + 'offer/' + offerNum + '/' + offerVer + '/' + invoice.orgId + '">' + invoice.gEnv + 'Offer</a>'; var gEnvPQuote = quoteNum == null ? '<span class="unlinked">' + invoice.gEnv + 'Quote</span>' : '<a href="https://online-sales-ux-' + verboseEnv(invoice.gEnv) + '.ausvdc02.pcf.dell.com/salesapp/' + country.url + 'quote/' + quoteNum + '/' + quoteVer + '">' + invoice.gEnv + 'Quote</a>'; var devOffer = offerNum == null ? '<span class="unlinked">devOffer</span>' : '<a href="https://online-sales-ux-dev.ausvdc02.pcf.dell.com/salesapp/' + country.url + 'offer/' + offerNum + '/' + offerVer + '/' + invoice.orgId + '">devOffer</a>'; var devQuote = quoteNum == null ? '<span class="unlinked">devQuote</span>' : '<a href="https://online-sales-ux-dev.ausvdc02.pcf.dell.com/salesapp/' + country.url + 'quote/' + quoteNum + '/' + quoteVer + '">devQuote</a>'; var gEnvDsa = quoteNum == null ? '<span class="unlinked">SalesApp ' + invoice.gEnv + '</span>' : '<a href="http://' + invoice.gEnv + 'vmcomux01.olqa.preol.dell.com/#/quote/details/QuoteNumber/' + quoteNum + '">SalesApp ' + invoice.gEnv + '</a>'; var localOffer = offerNum == null ? '<span class="unlinked">localOffer</span>' : '<a href="https://localhost.dell.com:5000/salesapp/' + country.url + 'offer/' + offerNum + '/' + offerVer + '/' + invoice.orgId + '">localOffer</a>'; var localQuote = quoteNum == null ? '<span class="unlinked">localQuote</span>' : '<a href="https://localhost.dell.com:5000/us/en/quote/' + quoteNum + '/' + quoteVer + '">localQuote</a>'; var pcfDsaLink = quoteNum == null ? '<span class="unlinked">PCFDSA</span>' : '<a href="https://dsa-sales-ux-ge4-sit.ausvdc02.pcf.dell.com/#/us/en/quote/' + quoteNum + '/' + quoteVer + '">PCFDSA</a>'; appendString = appendString.replace('[COUNTRY]', '<span class="inline">' + countryLabel + '</span>'); appendString = appendString.replace('[USER]', '<span class="inline">' + userLabel + '</span>'); appendString = appendString.replace('[VERIFY]', '<span class="inline">' + verifyLink + '</span>'); appendString = appendString.replace('[CONFIG]', '<span class="inline">' + configLink + '</span>'); appendString = appendString.replace('[G-ENV-PARTNER-OFFER]', '<span class="inline gEnv">(' + gEnvPOffer + '</span>'); appendString = appendString.replace('[G-ENV-PARTNER-QUOTE]', '<span class="inline gEnv">' + gEnvPQuote + ')</span>'); appendString = appendString.replace('[DEV-ENV-OFFER]', '<span class="inline dEnv">(' + devOffer + '</span>'); appendString = appendString.replace('[DEV-ENV-QUOTE]', '<span class="inline dEnv">' + devQuote + ')</span>'); appendString = appendString.replace('[G-ENV-DSA]', '<span class="inline gEnv">' + gEnvDsa + '</span>'); appendString = appendString.replace('[LOCALOFFER]', '<span class="inline lEnv">(' + localOffer + '</span>'); appendString = appendString.replace('[LOCALQUOTE]', '<span class="inline lEnv">' + localQuote + ')</span>'); appendString = appendString.replace('[PCFDSALINK]', '<span class="inline lEnv">' + pcfDsaLink + ')</span>'); appendString = appendString.replace(/\[BREAK\]/g, '<div class="inline" style="width:5px;"></div>'); $('#DSAHomePage').append(appendString); }); }); $('#DSAHomePage').append('<div class="favoritesEnd"></div>'); } }, addHighlights: function () { var hiArray = global.prefs.hiliteInYourCustomers != null ? global.prefs.hiliteInYourCustomers.replace(/ */g, '').split(','): []; _.each(hiArray, function(hilite) { $('.cust-list-blk a:contains("' + hilite + '")').css('color', global.prefs.hiliteColor); $('.aFavoriteQuote a:contains("' + hilite + '")').css('color', global.prefs.hiliteColor); }); }, compression: function () { if (!global.hpCompressed && global.prefs.compressUi === 'true') { //global.hpCompressed = true; // config page floating title $('.fixed-position-container').css({'top': '106px'}); // Column: Your Customers $('.cust-list-blk').css({'height': '22px', 'font-size': '.8em', 'overflow': 'hidden'}); $('.icon-small-favorite-100').css({'height': '9px', 'width': '9px', 'background-position': '-287px -46px'}); $('.icon-small-favorite-0').css({'height': '9px', 'width': '9px', 'background-position': '-286px -137px'}); $('.remove-record').css({'top': '-3px', 'position': 'relative', 'height': '20px'}); $('.cust-list-blk a:contains(Create Quote)').css({'position': 'relative', 'float': 'right', 'top': '-13px'}).html('<span class="remove-record leQuote" style="background-position:-46px -144px;"> </span>'); $('.cust-list-blk a:contains(View Dashboard)').css({'position': 'relative', 'float': 'right', 'top': '-13px'}).html('<span class="remove-record leDashboard" style="background-position:-47px -288px;"> </span>'); $('.input-search').prev().hide(); $('.input-search').css({'position': 'absolute', 'top': '0', 'left': '56%', 'width': '40%'}); $('#yourCustomersSection a').eq(0).prop('innerText', 'All'); // recent activity $('#homepageController_recentActivity_h').prop('innerText', 'Recent Activity'); $('#homepageController_recentActivity_h').parent().find('a').eq(0).prop('innerText', 'All'); $('.actv-type span:first-child').css('display', 'none'); $('.actv-type span:nth-child(2)').css('float', 'right'); $('#recentActivity_sortBy').parent().css({'position': 'absolute', 'top': '0', 'left': '57%', 'width': '40%'}); // hide last col if($('.remove-record').length > 0) { if ($('#main .col-md-4:nth-child(5)').length > 0) { $('#main .col-md-4:nth-child(5)').remove(); $('#main .col-md-4').toggleClass("col-md-4").toggleClass("col-md-6"); } } // hide title $('#home_recentActivity').parent().parent().hide(); // compress title bar $('.top-nav').css({'padding': '3px 0 0 0'}); $('#dellBrandLogo_goHomePage').css({'font-size': '35px', 'height': '35px'}); $('.main-nav').css({'min-height': '40px', 'margin-bottom': '10px', 'height': '40px'}); if ($('#welcomeMessage').length === 0) { $('.view-nav-withoutribbon').css({'margin-top': '30px'}); } else { $('.app-nav-withoutribbon').css({'margin-top': '0'}); } $('.brand-title').css({'line-height': '35px'}); $('.content-shell .view-nav').css({'top': '40px'}); $('.brand').next().next().css({'position': 'relative', 'top': '-8px'}); if($('.remove-record').length === 0) { if($('.view-nav-withoutribbon').length > 0) { $('.content-area').css({'margin-top': '10px'}); } else { $('.content-area').css({'margin-top': '80px'}); // customer ribbon = 60px } } // customer ribbon $('.top-nav .container').css({'height': '37px'}); $('.content-shell .view-nav').css({'height': '40px', 'min-height': '40px'}); if ($('#orderReview_createOrder').length === 0 && $('#orderDetails_moreActions').length === 0) { $('.app-controls').parent().css({'top': '-5px'}); } else { $('.app-controls').parent().css({'top': '5px'}); } if ($('h2:contains("Service Tag")').length > 0) { $('.app-controls').css({'padding-top': '5px'}); if ($('h2:contains("Service Tag Groups")').length > 0) { //whyyyyy $('.app-controls').css({'padding-top': '10px'}); } } } }, alternatingColors: function () { $('.line-group:odd').css('background-color', 'rgba(0, 0, 0, 0.1)'); } }; /* * Global functions */ function initScript () { _.each(global.triggerElements, function (trigger) { tm.getContainer({ 'el': trigger, 'max': 100, 'spd': 1000 }).then(function($container){ page.initialize(); }); }); } initScript(); $(document).mousemove(function(e) { if (!global.isMouseMoved) { global.isMouseMoved = true; setTimeout(function() { global.isMouseMoved = false; }, TIMEOUT * 2); initScript(); } }); window.onresize = function(event) { initScript(); }; // TODO: verify that this isn't doubling efforts $(document).scroll(function() { page.compression(); page.alternatingColors(); }); function countryData() { var countryArray = [ { "name": "AUSTRIA", "region": "EMEA", "countryCode": "AT", "catalog": 383839, "buId": 3838, "orgId": 334, "url": "at/de/" }, { "name": "BELGIUM", "region": "EMEA", "countryCode": "BE", "catalog": 282823, "buId": 2828, "orgId": 322, "url": "be/nl/" }, // { // "name": "BELGIUM", // "region": "EMEA", // "countryCode": "BE", // "catalog": 282823, // "buId": 2828, // "orgId": 322, // "url": "be/fr/" // }, { "name": "CZECH REPUBLIC", "region": "EMEA", "countryCode": "CZ", "catalog": 343419, "buId": 3434, "orgId": 363, "url": "cz/en/" }, { "name": "DENMARK", "region": "EMEA", "countryCode": "DK", "catalog": 122455, "buId": 1224, "orgId": 330, "url": "dk/en/" }, { "name": "EGYPT", "region": "EMEA", "countryCode": "EG", "catalog": 545523, "buId": 5455, "orgId": 324, "url": "eg/en/" }, { "name": "FINLAND", "region": "EMEA", "countryCode": "FI", "catalog": 122271, "buId": 1222, "orgId": 331, "url": "fi/en/" }, { "name": "FRANCE", "region": "EMEA", "countryCode": "FR", "catalog": 90917, "buId": 909, "orgId": 328, "url": "fr/fr/" }, { "name": "GERMANY", "region": "EMEA", "countryCode": "DE", "catalog": 80852, "buId": 808, "orgId": 323, "url": "de/de/" }, { "name": "GREECE", "region": "EMEA", "countryCode": "GR", "catalog": 500092, "buId": 5000, "orgId": 342, "url": "gr/en/" }, { "name": "HUNGARY", "region": "EMEA", "countryCode": "HU", "catalog": 545523, "buId": 552, "orgId": 324, "url": "hu/en/" }, { "name": "IRELAND", "region": "EMEA", "countryCode": "IE", "catalog": 510293, "buId": 5102, "orgId": 301, "url": "ie/en/" }, { "name": "ISRAEL", "region": "EMEA", "countryCode": "IL", "catalog": 545523, "buId": 572, "orgId": 369, "url": "il/en/" }, { "name": "ITALY", "region": "EMEA", "countryCode": "IT", "catalog": 616177, "buId": 6161, "orgId": 329, "url": "it/en/" }, { "name": "KAZAKHSTAN", "region": "EMEA", "countryCode": "KZ", "catalog": 545523, "buId": 5455, "orgId": 324, "url": "kz/en/" }, { "name": "KENYA", "region": "EMEA", "countryCode": "KE", "catalog": 545523, "buId": 5455, "orgId": 324, "url": "ke/en/" }, { "name": "LITHUANIA", "region": "EMEA", "countryCode": "LT", "catalog": 545523, "buId": 5455, "orgId": 324, "url": "lt/en/" }, { "name": "LUXEMBOURG", "region": "EMEA", "countryCode": "LU", "catalog": 53102, "buId": 531, "orgId": 366, "url": "lu/fr/" }, { "name": "MOROCCO", "region": "EMEA", "countryCode": "MA", "catalog": 545523, "buId": 5455, "orgId": 324, "url": "ma/en/" }, { "name": "NETHERLANDS", "region": "EMEA", "countryCode": "NL", "catalog": 212129, "buId": 2121, "orgId": 325, "url": "nl/en/" }, { "name": "NIGERIA", "region": "EMEA", "countryCode": "NG", "catalog": 545523, "buId": 5455, "orgId": 324, "url": "ng/en/" }, { "name": "NORWAY", "region": "EMEA", "countryCode": "NO", "catalog": 232380, "buId": 2323, "orgId": 326, "url": "no/en/" }, { "name": "POLAND", "region": "EMEA", "countryCode": "PL", "catalog": 313118, "buId": 3131, "orgId": 362, "url": "pl/pl/" }, { "name": "PORTUGAL", "region": "EMEA", "countryCode": "PT", "catalog": 292924, "buId": 2929, "orgId": 364, "url": "pt/en/" }, { "name": "QATAR", "region": "EMEA", "countryCode": "QA", "catalog": 545523, "buId": 5455, "orgId": 324, "url": "qa/en/" }, { "name": "ROMANIA", "region": "EMEA", "countryCode": "RO", "catalog": 545523, "buId": 5455, "orgId": 324, "url": "ro/en/" }, { "name": "RUSSIA", "region": "EMEA", "countryCode": "RU", "catalog": 54652, "buId": 546, "orgId": 370, "url": "ru/ru/" }, { "name": "SAUDI ARABIA", "region": "EMEA", "countryCode": "SA", "catalog": 545523, "buId": 584, "orgId": 324, "url": "sa/en/" }, { "name": "SLOVAKIA", "region": "EMEA", "countryCode": "SK", "catalog": 59202, "buId": 592, "orgId": 365, "url": "sk/en/" }, { "name": "SLOVENIA", "region": "EMEA", "countryCode": "SI", "catalog": 545523, "buId": 5455, "orgId": 324, "url": "si/en/" }, { "name": "SOUTH AFRICA", "region": "EMEA", "countryCode": "ZA", "catalog": 696926, "buId": 6969, "orgId": 337, "url": "za/en/" }, { "name": "SPAIN", "region": "EMEA", "countryCode": "ES", "catalog": 191965, "buId": 1919, "orgId": 327, "url": "es/es/" }, { "name": "SWEDEN", "region": "EMEA", "countryCode": "SE", "catalog": 121285, "buId": 1212, "orgId": 332, "url": "se/en/" }, { "name": "SWITZERLAND", "region": "EMEA", "countryCode": "CH", "catalog": 272742, "buId": 2727, "orgId": 335, "url": "ch/de/" }, // { // "name": "SWITZERLAND", // "region": "EMEA", // "countryCode": "CH", // "catalog": 272742, // "buId": 2727, // "orgId": 335, // "url": "ch/fr/" // }, { "name": "TURKEY", "region": "EMEA", "countryCode": "TR", "catalog": 55152, "buId": 551, "orgId": 371, "url": "tr/tr/" }, { "name": "UKRAINE", "region": "EMEA", "countryCode": "UA", "catalog": 545523, "buId": 547, "orgId": 324, "url": "ua/en/" }, { "name": "UNITED ARAB EMIRATES", "region": "EMEA", "countryCode": "AE", "catalog": 545523, "buId": 5959, "orgId": 324, "url": "ae/en/" }, { "name": "United Kingdom", "region": "EMEA", "countryCode": "UK", "catalog": 20204, "buId": 202, "orgId": 302, "url": "uk/en/" }, { "name": "United States", "region": "AMER", "countryCode": "US", "catalog": 8, "buId": 11, "orgId": 8, "url": "us/en/" }, { "name": "AFGHANISTAN", "region": "APJ", "countryCode": "AF", "catalog": 34003, "buId": 4075, "orgId": 380, "url": "af/en/" }, { "name": "AUSTRALIA", "region": "APJ", "countryCode": "AU", "catalog": 39101, "buId": 1401, "orgId": 376, "url": "au/en/" }, { "name": "CAMBODIA", "region": "APJ", "countryCode": "KH", "catalog": 34003, "buId": 4075, "orgId": 380, "url": "kh/en/" }, { "name": "CHINA", "region": "APJ", "countryCode": "CN", "catalog": 46003, "buId": 8270, "orgId": 374, "url": "cn/zh/" }, { "name": "FIJI", "region": "APJ", "countryCode": "FJ", "catalog": 34003, "buId": 4075, "orgId": 380, "url": "fj/en/" }, { "name": "HONG KONG", "region": "APJ", "countryCode": "HK", "catalog": 76003, "buId": 4042, "orgId": 377, "url": "hk/en/" }, { "name": "INDIA", "region": "APJ", "countryCode": "IN", "catalog": 79003, "buId": 1717, "orgId": 384, "url": "in/en/" }, { "name": "INDONESIA", "region": "APJ", "countryCode": "ID", "catalog": 43903, "buId": 439, "orgId": 390, "url": "id/en/" }, { "name": "JAPAN", "region": "APJ", "countryCode": "JP", "catalog": 353504, "buId": 3535, "orgId": 389, "url": "jp/ja/" }, { "name": "LAOS", "region": "APJ", "countryCode": "LA", "catalog": 34003, "buId": 4075, "orgId": 380, "url": "la/en/" }, { "name": "MALAYSIA", "region": "APJ", "countryCode": "MY", "catalog": 30003, "buId": 4046, "orgId": 375, "url": "my/en/" }, { "name": "MONGOLIA", "region": "APJ", "countryCode": "MN", "catalog": 34003, "buId": 4075, "orgId": 380, "url": "mn/en/" }, { "name": "MYANMAR", "region": "APJ", "countryCode": "MM", "catalog": 34003, "buId": 4075, "orgId": 380, "url": "mm/en/" }, { "name": "NEPAL", "region": "APJ", "countryCode": "NP", "catalog": 34003, "buId": 4075, "orgId": 380, "url": "np/en/" }, { "name": "NEW ZEALAND", "region": "APJ", "countryCode": "NZ", "catalog": 36103, "buId": 4065, "orgId": 378, "url": "nz/en/" }, { "name": "PAKISTAN", "region": "APJ", "countryCode": "PK", "catalog": 34003, "buId": 4075, "orgId": 380, "url": "pk/en/" }, { "name": "PAPUA NEW GUINEA", "region": "APJ", "countryCode": "PG", "catalog": 34003, "buId": 4075, "orgId": 380, "url": "pg/en/" }, { "name": "PHILIPPINES", "region": "APJ", "countryCode": "PH", "catalog": 34003, "buId": 4075, "orgId": 380, "url": "ph/en/" }, { "name": "SAMOA", "region": "APJ", "countryCode": "WS", "catalog": 34003, "buId": 4075, "orgId": 380, "url": "ws/en/" }, { "name": "SINGAPORE", "region": "APJ", "countryCode": "SG", "catalog": 32003, "buId": 1313, "orgId": 385, "url": "sg/en/" }, // { // "name": "SOUTH KOREA", // "region": "APJ", // "countryCode": "KR", // "catalog": 35003, // "buId": 4545, // "orgId": 386, // "url": "kr/fr/" // }, { "name": "SOUTH KOREA", "region": "APJ", "countryCode": "KR", "catalog": 35003, "buId": 4545, "orgId": 386, "url": "kr/ko/" }, { "name": "SRI LANKA", "region": "APJ", "countryCode": "LK", "catalog": 34003, "buId": 4075, "orgId": 380, "url": "lk/en/" }, { "name": "TAIWAN", "region": "APJ", "countryCode": "TW", "catalog": 37003, "buId": 1841, "orgId": 387, "url": "tw/zh/" }, { "name": "THAILAND", "region": "APJ", "countryCode": "TH", "catalog": 38003, "buId": 4444, "orgId": 388, "url": "th/en/" }, { "name": "VIET NAM", "region": "APJ", "countryCode": "VN", "catalog": 34003, "buId": 4075, "orgId": 380, "url": "vn/en/" } ]; return countryArray.sort(function(a, b){ if(a.name < b.name) { return -1; } if(a.name > b.name) { return 1; } return 0; }) } })();