### Google Analytics Configuration Source: https://get-started.aps.autodesk.com/ This script initializes and configures Google Analytics tracking for the website. It sets up the data layer and sends an initial configuration event with IP anonymization enabled. ```javascript function gtag() { dataLayer.push(arguments) } window.dataLayer = window.dataLayer || [], gtag("js", new Date), gtag("config", "G-5DQ48W5MB1", { anonymize_ip: !0 }) ``` -------------------------------- ### Developer Resources Links Source: https://aps.autodesk.com/customer-stories/imaginit Links to key developer resources for Autodesk Platform Services, including getting started guides, API documentation, and finding system integrators. ```html Start Building Explore the APIs and Services Find a Systems Integrator ``` -------------------------------- ### Docusaurus Theme Initialization Source: https://get-started.aps.autodesk.com/ This JavaScript code handles the initialization of the Docusaurus theme. It checks for a theme parameter in the URL or retrieves it from local storage, defaulting to 'light' if neither is found, and applies the theme to the document. ```javascript function t(t) { document.documentElement.setAttribute("data-theme", t) } var e = function() { var t = null; try { t = new URLSearchParams(window.location.search).get("docusaurus-theme") } catch (t) {} return t }() || function() { var t = null; try { t = localStorage.getItem("theme") } catch (t) {} return t }(); t(null !== e ? e : "light") ``` -------------------------------- ### Provision Access in Autodesk BIM 360 Source: https://get-started.aps.autodesk.com/ Configures your APS application to access data within a BIM 360 account. This involves creating a custom integration via the BIM 360 Account Admin settings, specifying access permissions and application details. ```APIDOC APIDOC: ProvisionAccess_BIM360: description: "Enables APS application integration with Autodesk BIM 360." steps: - action: "Log in to BIM 360 Account." details: "Navigate to Account Admin." - action: "Navigate to Custom Integrations." details: "On the Account Admin page, go to 'Settings' and select the 'Custom Integrations' tab." - action: "Start Integration Wizard." details: "Use the 'Add Custom Integration' button." - action: "Select Access." details: "Ensure 'BIM 360 Account Administration' and 'Document Management' are checked. Click 'Next'." - action: "Identify Developer Role." details: "Choose 'I'm the developer'. Click 'Next'." - action: "Provide Application Details." parameters: - name: "BIM 360 Account ID" type: "string" description: "Your BIM 360 account ID (obtainable from the current page). required: true - name: "Client ID" type: "string" description: "Your APS application's unique client ID (found on https://aps.autodesk.com/myapps). required: true - name: "App Name" type: "string" description: "The name of your APS application. required: true notes: - "Consider storing the Client ID in the 'App Description' field for future reference, as it won't be visible after creation." - "If the account admin is not the APS app owner, use 'Invite a developer' option." - action: "Save Integration." details: "Scroll down and click the 'Save' button." outcome: description: "Your APS application can now use APS services (e.g., Data Management API, BIM 360 API) to access information from projects under this BIM 360 account without further provisioning." dependencies: - "BIM 360 account with admin access." - "APS application Client ID and App Name." ``` -------------------------------- ### Initialize Pendo SDK Source: https://aps.autodesk.com/developer/overview/maya Initializes the Pendo SDK with visitor data and configuration. It sets the visitor ID, role, and excludes all text from being tracked. This setup is crucial for integrating Pendo analytics into your application. ```javascript pendo.initialize({ visitor: { id: '', role: 'anonymous', }, excludeAllText: true, }); ``` -------------------------------- ### Provision Access in Autodesk Construction Cloud (ACC) Source: https://get-started.aps.autodesk.com/ Enables your APS application to access data within an ACC account. This process involves creating a custom integration within the ACC Account Administration portal, requiring your APS application's Client ID. ```APIDOC APIDOC: ProvisionAccess_ACC: description: "Enables APS application integration with Autodesk Construction Cloud." steps: - action: "Log in to ACC Account Administration." details: "Navigate to Account Administration from your ACC account overview or a specific project." - action: "Navigate to Custom Integrations." details: "On the Account Admin page, select 'Custom Integrations'." - action: "Add Custom Integration." details: "Click the 'Add Custom Integration' button." - action: "Fill Integration Details." parameters: - name: "Client ID" type: "string" description: "Your APS application's unique client ID." required: true - name: "Custom integration name" type: "string" description: "A descriptive name for this integration." required: true - name: "Description" type: "string" description: "Optional description for the integration." required: false - action: "Save Integration." details: "Click the 'Add' button to complete the process." outcome: description: "Your APS application can now use APS services (e.g., Data Management API, ACC API) to access information from projects under this ACC account." dependencies: - "Autodesk Construction Cloud (ACC) account with admin access." - "APS application Client ID." ``` -------------------------------- ### Docusaurus Base URL Banner Script Source: https://get-started.aps.autodesk.com/ This JavaScript code inserts a banner into the Docusaurus site to alert users about potential base URL configuration issues. It checks the current path and suggests a corrected base URL if needed. ```javascript function maybeInsertBanner(){ window.__DOCUSAURUS_INSERT_BASEURL_BANNER && insertBanner() } function insertBanner() { var n = document.getElementById("__docusaurus-base-url-banner-container"); if (n) { n.innerHTML = '\n
\n

Your Docusaurus site did not load properly.

\n

A very common reason is a wrong site baseUrl configuration.

\n

Current configured baseUrl = / (default value)

\n

We suggest trying baseUrl =

\n
\n'; var e = document.getElementById("__docusaurus-base-url-issue-banner-suggestion-container"), s = window.location.pathname, r = "/" === s.substr(-1) ? s : s + "/"; e.innerHTML = r } } window.__DOCUSAURUS_INSERT_BASEURL_BANNER = !0, document.addEventListener("DOMContentLoaded", maybeInsertBanner) ``` -------------------------------- ### Autodesk Maya SDK HTML Documentation Source: https://aps.autodesk.com/developer/overview/maya Offers downloadable HTML versions of the Software Development Kit (SDK) documentation for various Autodesk Maya releases. These files provide detailed guides, tutorials, and API references for Maya development. ```HTML Maya 2020 Developer Help: - Download HTML: https://www.autodesk.com/content/dam/autodesk/files/maya-2020-developer-help.zip Maya 2019 Developer Help: - View online: https://www.autodesk.com/maya-sdkdoc-2019-enu - Download HTML: http://download.autodesk.com/us/adn/products/maya/maya-2019-developer-help_enu_offline.zip Maya 2018.3 Developer Help: - View online: http://www.autodesk.com/maya-sdkdoc-2018-enu - Download HTML: https://www.autodesk.com/content/dam/autodesk/files/maya-2018.3-update-developer-help-enu.zip Maya 2018.2 Developer Help: - Download HTML: http://images.autodesk.com/adsk/files/maya-2018.2-update-developer-help-enu.zip Maya 2018 Developer Help: - Download HTML: http://images.autodesk.com/adsk/files/maya-2018-developer-help_ENU.zip Maya 2017 Update 4 Developer Help: - View online: https://www.autodesk.com/maya-sdkdoc-2017-enu - Download HTML: http://images.autodesk.com/adsk/files/maya-2017-developer-helpENU.zip Maya 2017 Update 3 Developer Help: - Download HTML: http://images.autodesk.com/adsk/files/maya-2017-update3-developer-help-enu.zip Maya 2017 Update 2 Developer Help: - Download HTML: http://images.autodesk.com/adsk/files/maya-2017-update2-developer-help-enu.zip Maya 2017 Developer Help: - Download HTML: http://images.autodesk.com/adsk/files/maya-2017-developer-help-enu Maya 2016 Extension 2 Developer Help: - View online: https://www.autodesk.com/maya-sdkdoc-2016-enu - Download HTML: https://www.autodesk.com/content/autodesk/global/en/maya-sdkdoc-2016-download-enu/maya-2016-ext2-developer-help.zip Maya 2016 Developer Help: - Download HTML: https://www.autodesk.com/content/autodesk/global/en/maya-sdkdoc-2016-download-enu/maya-2016-developer-help.zip ``` -------------------------------- ### Initialize Pendo Analytics Source: https://aps.autodesk.com/customer-stories/swapp Initializes the Pendo analytics SDK for tracking user behavior and application usage. It sets up visitor properties and excludes text from tracking. ```javascript if (!('pendo' in window)) { window.pendo = { _q: [] }; for (const func_name of ['initialize', 'identify', 'updateOptions', 'pageLoad', 'track']) { pendo[func_name] = function () { if (func_name === 'initialize') { pendo._q.unshift([func_name, ...arguments]) } else { pendo._q.push([func_name, ...arguments]) } } } } pendo.initialize({ visitor: { id: '', role: 'anonymous', }, excludeAllText: true, }) ``` -------------------------------- ### Initialize Pendo SDK Source: https://aps.autodesk.com/ This snippet initializes the Pendo SDK, setting up visitor properties and configuration options. It ensures Pendo is initialized only once and queues commands if Pendo is not yet available. ```javascript if (!('pendo' in window)) { window.pendo = { _q: [] }; for (const func_name of ['initialize', 'identify', 'updateOptions', 'pageLoad', 'track']) { pendo[func_name] = function() { if (func_name === 'initialize') { pendo._q.unshift([func_name, ...arguments]); } else { pendo._q.push([func_name, ...arguments]); } } } } pendo.initialize({ visitor: { id: '', role: 'anonymous', }, excludeAllText: true, }); ``` -------------------------------- ### Pendo Initialization Script Source: https://aps.autodesk.com/customer-stories/roche This JavaScript snippet initializes the Pendo analytics tool. It ensures Pendo is available and sets up basic visitor information if it's not already loaded, preparing it for subsequent tracking or identification calls. ```javascript if (!('pendo' in window)) { window.pendo = { _q: [] }; for (const func_name of ['initialize', 'identify', 'updateOptions', 'pageLoad', 'track']) { pendo[func_name] = function () { if (func_name === 'initialize') { pendo._q.unshift([func_name, ...arguments]) } else { pendo._q.push([func_name, ...arguments]) } } } } pendo.initialize({ visitor: { id: '', role: 'anonymous', }, excludeAllText: true, }) ``` -------------------------------- ### Pendo Initialization Source: https://aps.autodesk.com/customer-stories/earthcam Initializes the Pendo analytics and user feedback tool. It sets up visitor information and excludes text from tracking. ```javascript if (!('pendo' in window)) { window.pendo = {_q: []}; for (const func_name of ['initialize', 'identify', 'updateOptions', 'pageLoad', 'track']) { pendo[func_name] = function () { if (func_name === 'initialize') { pendo._q.unshift([func_name, ...arguments]) } else { pendo._q.push([func_name, ...arguments]) } } } } pendo.initialize({ visitor: { id: '', role: 'anonymous', }, excludeAllText: true, }) ``` -------------------------------- ### Common RF Dual List Selector Empty Table Commentary Source: https://aps.autodesk.com/DevCon Commentary for an empty state in a dual list selector table, guiding users to select attributes for sessions. ```APIDOC common.rfDualListSelector.selectedTable.emptyTable.emptyState.commentary: value: "Choose at least one attribute you want to include about sessions." ``` -------------------------------- ### Analytics and Pendo Initialization Source: https://aps.autodesk.com/customer-stories/limbforge This snippet includes JavaScript code for setting a user language preference and initializing the Pendo analytics tool. It ensures Pendo is configured with visitor information and handles potential script loading. ```javascript window._privacyUserLanguage = "ja"; (function(a,b,c,d){ a='https://tags.tiqcdn.com/utag/autodesk/forge-web/prod/utag.js'; b=document;c='script';d=b.createElement(c);d.src=a;d.type='text/java'+c;d.async=true; a=b.getElementsByTagName(c)[0];a.parentNode.insertBefore(d,a); })(); if (!('pendo' in window)) { window.pendo = {_q: []}; for (const func_name of ['initialize', 'identify', 'updateOptions', 'pageLoad', 'track']) { pendo[func_name] = function () { if (func_name === 'initialize') { pendo._q.unshift([func_name, ...arguments]) } else { pendo._q.push([func_name, ...arguments]) } } } } pendo.initialize({ visitor: { id: '', role: 'anonymous', }, excludeAllText: true, }) ``` -------------------------------- ### Rainfocus Utility Functions Source: https://aps.autodesk.com/DevCon A collection of utility functions for common web development tasks. Includes decoding HTML entities, loading scripts, splitting strings, formatting URL parameters, making GET requests, executing scripts with data, and managing DOM readiness. ```javascript window.Rainfocus.Utils = { decodeEntities: function (encodedString) { var textArea = document.createElement('textarea'); textArea.innerHTML = encodedString; return textArea.value; }, loadInlineScript: function (content, target) { var newScript = document.createElement("script"); var inlineScript = document.createTextNode(content); newScript.appendChild(inlineScript); target.appendChild(newScript); return newScript; }, loadURLScripts: function (urls, callback) { var l = new Loader(); l.require(urls, callback) }, split: function (value, separator) { if (value === null || value === undefined) return [""]; return value.split(separator); }, arrayToParam: function (key, value) { if (value === null && value === undefined && value.length === 0) return ''; return value.map(function (val) { return key + '=' + val; }).join('&') }, doGet: function (url, handler) { if(window.version) { url += (url.includes('?') ? '&' : '?') + "ver=" + window.version } if (window.fetch) { window.fetch( url, { method: 'get', credentials: 'include', headers: { 'Content-Type': 'application/x-www-form-urlencoded' } } ) .then(checkStatus) .then(handler) } else { if (!$ || !$.ajax) console.error("IMPORTANT!!!!!: Please include jquery ajax in branding footer for analytics to work"); else $.ajax({ url: url, method: 'GET', contentType: 'application/x-www-form-urlencoded' }) .done(handler); } }, executeScriptWithData: function (script, data) { if (script === null || script === undefined || script === '' || script.trim() === '') return; return new Function('data', script)(data); }, domReady: function (callback) { document.readyState === 'interactive' || document.readyState === 'complete' ? callback() : document.addEventListener('DOMContentLoaded', callback); }, waitForX: function waitForX(options) { var log = function log() { if (options.enableLogs) console.log.apply(console, arguments) } var logSuffix = options.logIdentifier ? ' -- \[' + options.logIdentifier + '\]' : '' var intervalFrequency = options.intervalFrequency || 100 var maxIterations = options.maxIterations || 100 // Do 1 immediate check before the interval starts. if (options.successCheck()) { log('SUCCESS (immediate), no interval needed' + logSuffix) options.onSuccess() return; } log('every ' + intervalFrequency + 'ms, for ' + intervalFrequency * maxIterations + 'ms' + logSuffix) var iterations = 0 var waitTimer = window.setInterval(function () { if (options.successCheck.apply(options)) { log('SUCCESS, waited: ' + ((iterations + 1) * intervalFrequency) + 'ms (' + (iterations + 1) + ' iterations)' + logSuffix) options.onSuccess.apply(options) window.clearInterval(waitTimer); log('cleared interval' + logSuffix) } if (iterations >= maxIterations) { // Safety net to ensure this interval won't run forever. log('TIMED OUT' + logSuffix) window.clearInterval(waitTimer) log('cleared interval' + logSuffix) if (options.onTimeout) { options.onTimeout.apply(options) } } iterations++ }, options.intervalFrequency) } }; ``` -------------------------------- ### Pendo Initialization Script Source: https://aps.autodesk.com/customer-stories/nbs Configures the Pendo analytics SDK for tracking user behavior. It ensures Pendo is initialized correctly, setting up visitor information and excluding text tracking. ```javascript if (!('pendo' in window)) { window.pendo = { _q: [] }; for (const func_name of ['initialize', 'identify', 'updateOptions', 'pageLoad', 'track']) { pendo[func_name] = function() { if (func_name === 'initialize') { pendo._q.unshift([func_name, ...arguments]); } else { pendo._q.push([func_name, ...arguments]); } }; } } pendo.initialize({ visitor: { id: '', role: 'anonymous' }, excludeAllText: true, }); ``` -------------------------------- ### Autodesk Forge APIs for Visualization and Data Processing Source: https://aps.autodesk.com/customer-stories/swapp This section documents key Autodesk Forge APIs used by SWAPP. It covers the Model Derivative API for file processing and the Viewer API for displaying 2D and 3D models within web applications, enabling interactive visualization and comparison. ```APIDOC API: Autodesk Forge 1. Model Derivative API - Purpose: Upload and translate design files (e.g., AutoCAD, Revit) into formats viewable by the Forge Viewer. It processes complex models into a hierarchical structure and generates different viewables. - Key Functionality: - Translating design files into SVF (Simple Vector Format) for web viewing. - Extracting metadata and geometry from models. - Generating 2D and 3D representations. - Usage Example (Conceptual): POST /modelDerivative/v2/des/jobs Body: { "input": { "urn": "", "compressedUrn": "", "rootFilename": "", "workflow": "... }, "output": { "formats": [ { "type": "svf", "views": ["2d", "3d"] } ] } } 2. Viewer API - Purpose: Embed and interact with 2D and 3D design models directly within a web browser. It allows for custom UI, data visualization, and walkthrough experiences. - Key Functionality: - Rendering 2D and 3D models from translated Forge data. - Enabling navigation, zooming, panning, and sectioning. - Customizing visual elements like lights, materials, and display modes. - Integrating with frontend frameworks (e.g., React Hooks) for seamless embedding. - Supporting side-by-side comparison of multiple models. - Usage Example (Conceptual - React Integration): import { useEffect, useRef } from 'react'; import { Viewer } from 'forge-viewer'; function MyViewerComponent({ urn }) { const viewerRef = useRef(null); const viewerInstanceRef = useRef(null); useEffect(() => { const loadViewer = async () => { const viewerElement = viewerRef.current; const options = { extensions: ['Autodesk.DocumentBrowser'] }; viewerInstanceRef.current = new Viewer(viewerElement, options); await viewerInstanceRef.current.start(urn, { ... }); // Load model }; loadViewer(); return () => { if (viewerInstanceRef.current) { viewerInstanceRef.current.finish(); } }; }, [urn]); return
; } - Related Functionality: - Filtering layers on 2D models. - Customizing walkthrough modes for 3D models. - Displaying different points of view. - Limitations: - Requires proper authentication and authorization for accessing Forge services. - Model translation can take time depending on file size and complexity. - Performance of the Viewer depends on the complexity of the model and the client's hardware. ``` -------------------------------- ### Pendo Analytics Initialization Script Source: https://aps.autodesk.com/manufacturing Initializes the Pendo analytics library for tracking user interactions. It sets up a visitor object and ensures Pendo is ready to receive tracking events. This script is typically embedded in web pages to monitor user engagement. ```javascript if (!('pendo' in window)) { window.pendo = { _q: [] }; for (const func_name of ['initialize', 'identify', 'updateOptions', 'pageLoad', 'track']) { pendo[func_name] = function () { if (func_name === 'initialize') { pendo._q.unshift([func_name, ...arguments]) } else { pendo._q.push([func_name, ...arguments]) } } } } pendo.initialize({ visitor: { id: '', role: 'anonymous', }, excludeAllText: true, }) ``` -------------------------------- ### Initialize Pendo Analytics Source: https://aps.autodesk.com/customer-stories/bamcore Initializes the Pendo analytics SDK for user tracking and product analytics. It sets up visitor information and handles various tracking functions. ```javascript if (!('pendo' in window)) { window.pendo = { _q: [] }; for (const func_name of ['initialize', 'identify', 'updateOptions', 'pageLoad', 'track']) { pendo[func_name] = function () { if (func_name === 'initialize') { pendo._q.unshift([func_name, ...arguments]) } else { pendo._q.push([func_name, ...arguments]) } } } } pendo.initialize({ visitor: { id: '', role: 'anonymous', }, excludeAllText: true, }) ``` -------------------------------- ### Initialize a2a_config for Sharing Widget Source: https://aps.autodesk.com/customer-stories/swapp This JavaScript snippet initializes the configuration object for a sharing widget, likely for social media or content sharing. It ensures the configuration object and its arrays are properly set up before use. ```javascript window.a2a_config=window.a2a_config||{}; a2a_config.callbacks=[]; a2a_config.overlays=[]; a2a_config.templates={}; ``` -------------------------------- ### Pendo Initialization Source: https://aps.autodesk.com/partnerships Initializes the Pendo analytics and user feedback tool. It ensures Pendo is available and configured, setting up visitor properties and excluding text from analysis if needed. This is crucial for product analytics and user onboarding. ```javascript if (!('pendo' in window)) { window.pendo = {_q: []}; for (const func_name of ['initialize', 'identify', 'updateOptions', 'pageLoad', 'track']) { pendo[func_name] = function () { if (func_name === 'initialize') { pendo._q.unshift([func_name, ...arguments]) } else { pendo._q.push([func_name, ...arguments]) } } } } pendo.initialize({ visitor: { id: '', role: 'anonymous', }, excludeAllText: true, }) ``` -------------------------------- ### Pendo Initialization Script Source: https://aps.autodesk.com/customer-stories/intelsys Initializes the Pendo user analytics SDK. It sets up visitor information, including an anonymous ID and role, and configures Pendo to exclude all text from tracking. ```javascript if (!('pendo' in window)) { window.pendo = {_q: []}; for (const func_name of ['initialize', 'identify', 'updateOptions', 'pageLoad', 'track']) { pendo[func_name] = function () { if (func_name === 'initialize') { pendo._q.unshift([func_name, ...arguments]) } else { pendo._q.push([func_name, ...arguments]) } } } } pendo.initialize({ visitor: { id: '', role: 'anonymous', }, excludeAllText: true, }) ``` -------------------------------- ### Tagging and Analytics Initialization Source: https://aps.autodesk.com/partnerships Loads the Tagging and Analytics (tiqcdn) script asynchronously. This snippet is responsible for integrating external analytics services into the web page, often used for tracking user behavior and site performance. ```javascript window._privacyUserLanguage = "ja"; (function(a,b,c,d){ a='https://tags.tiqcdn.com/utag/autodesk/forge-web/prod/utag.js'; b=document;c='script';d=b.createElement(c);d.src=a;d.type='text/java'+c; d.async=true; a=b.getElementsByTagName(c)[0];a.parentNode.insertBefore(d,a); })(); ``` -------------------------------- ### Load Tagging Script Source: https://aps.autodesk.com/customer-stories/swapp Dynamically loads the Utag JavaScript file from a CDN. This is typically used for integrating third-party tag management systems. ```javascript window._privacyUserLanguage = "ja"; (function(a,b,c,d){ a='https://tags.tiqcdn.com/utag/autodesk/forge-web/prod/utag.js'; b=document;c='script';d=b.createElement(c);d.src=a;d.type='text/java'+c;d.async=true; a=b.getElementsByTagName(c)[0];a.parentNode.insertBefore(d,a); })(); ``` -------------------------------- ### Pendo Analytics Initialization Source: https://aps.autodesk.com/customer-stories/imaginit Initializes the Pendo analytics SDK for user behavior tracking and feedback. It sets up default visitor properties and configures the SDK to exclude text from collection. ```javascript if (!('pendo' in window)) { window.pendo = { _q: [] }; for (const func_name of ['initialize', 'identify', 'updateOptions', 'pageLoad', 'track']) { pendo[func_name] = function() { if (func_name === 'initialize') { pendo._q.unshift([func_name, ...arguments]) } else { pendo._q.push([func_name, ...arguments]) } } } } pendo.initialize({ visitor: { id: '', role: 'anonymous', }, excludeAllText: true, }) ``` -------------------------------- ### Pendo Initialization Source: https://aps.autodesk.com/customer-stories/sivar This JavaScript code initializes the Pendo analytics tool. It sets up a queue for Pendo functions and configures the visitor role as 'anonymous', excluding all text for privacy. ```javascript if (!('pendo' in window)) { window.pendo = {_q: []}; for (const func_name of ['initialize', 'identify', 'updateOptions', 'pageLoad', 'track']) { pendo[func_name] = function() { if (func_name === 'initialize') { pendo._q.unshift([func_name, ...arguments]) } else { pendo._q.push([func_name, ...arguments]) } } } } pendo.initialize({ visitor: { id: '', role: 'anonymous', }, excludeAllText: true, }) ``` -------------------------------- ### JavaScript Initial State Configuration Source: https://aps.autodesk.com/DevCon This snippet demonstrates how to initialize the application's state using a JSON string. It includes properties for user login status, currency settings, locale information, and a list of countries with their respective IDs, names, and calling codes. ```javascript var initialState = JSON.parse('{"isAttendeeLoggedIn":false,"currency":"EUR","currencySymbol":"€","locale":{"country":"","language":"en"},"countries":[{"countryId":"US","name":"United States","callingCode":"+1"},{"countryId":"CA","name":"Canada","callingCode":"+1"},{"countryId":"AF","name":"Afghanistan","callingCode":"+93"},{"countryId":"AX","name":"Aland Islands","callingCode":"+358"},{"countryId":"AL","name":"Albania","callingCode":"+355"},{"countryId":"DZ","name":"Algeria","callingCode":"+213"},{"countryId":"AS","name":"American Samoa","callingCode":"+1"},{"countryId":"AD","name":"Andorra","callingCode":"+376"},{"countryId":"AO","name":"Angola","callingCode":"+244"},{"countryId":"AI","name":"Anguilla","callingCode":"+1"},{"countryId":"AQ","name":"Antarctica","callingCode":"+672"},{"countryId":"AG","name":"Antigua and Barbuda","callingCode":"+1"},{"countryId":"AR","name":"Argentina","callingCode":"+54"},{"countryId":"AM","name":"Armenia","callingCode":"+374"},{"countryId":"AW","name":"Aruba","callingCode":"+297"},{"countryId":"AU","name":"Australia","callingCode":"+61"},{"countryId":"AT","name":"Austria","callingCode":"+43"},{"countryId":"AZ","name":"Azerbaijan","callingCode":"+994"},{"countryId":"BS","name":"Bahamas","callingCode":"+1"},{"countryId":"BH","name":"Bahrain","callingCode":"+973"},{"countryId":"BD","name":"Bangladesh","callingCode":"+880"},{"countryId":"BB","name":"Barbados","callingCode":"+1"},{"countryId":"BY","name":"Belarus","callingCode":"+375"},{"countryId":"BE","name":"Belgium","callingCode":"+32"},{"countryId":"BZ","name":"Belize","callingCode":"+501"},{"countryId":"BJ","name":"Benin","callingCode":"+229"},{"countryId":"BM","name":"Bermuda","callingCode":"+1"},{"countryId":"BT","name":"Bhutan","callingCode":"+975"},{"countryId":"BO","name":"Bolivia","callingCode":"+591"},{"countryId":"BQ","name":"Bonaire, Saint Eustatius, Saba","callingCode":"+599"},{"countryId":"BA","name":"Bosnia and Herzegovina","callingCode":"+387"},{"countryId":"BW","name":"Botswana","callingCode":"+267"},{"countryId":"BV","name":"Bouvet Island","callingCode":"+55"},{"countryId":"BR","name":"Brazil","callingCode":"+55"},{"countryId":"IO","name":"British Indian Ocean Territory","callingCode":"+246"},{"countryId":"BN","name":"Brunei Darussalam","callingCode":"+673"},{"countryId":"BG","name":"Bulgaria","callingCode":"+359"},{"countryId":"BF","name":"Burkina Faso","callingCode":"+226"},{"countryId":"BI","name":"Burundi","callingCode":"+257"},{"countryId":"CV","name":"Cabo Verde","callingCode":"+238"},{"countryId":"KH","name":"Cambodia","callingCode":"+855"},{"countryId":"CM","name":"Cameroon","callingCode":"+237"},{"countryId":"KY","name":"Cayman Islands","callingCode":"+1"},{"countryId":"CF","name":"Central African Republic","callingCode":"+236"},{"countryId":"TD","name":"Chad","callingCode":"+235"},{"countryId":"CL","name":"Chile","callingCode":"+56"},{"countryId":"CX","name":"Christmas Island","callingCode":"+61"},{"countryId":"CC","name":"Cocos (Keeling) Islands","callingCode":"+61"},{"countryId":"CO","name":"Colombia","callingCode":"+57"},{"countryId":"KM","name":"Comoros","callingCode":"+269"},{"countryId":"CD","name":"Congo, Democratic Republic","callingCode":"+243"},{"countryId":"CG","name":"Congo, Republic","callingCode":"+242"},{"countryId":"CK","name":"Cook Islands","callingCode":"+682"},{"countryId":"CR","name":"Costa Rica","callingCode":"+506"},{"countryId":"HR","name":"Croatia","callingCode":"+385"},{"countryId":"CW","name":"Curacao","callingCode":"+599"},{"countryId":"CY","name":"Cyprus","callingCode":"+357"},{"countryId":"CZ","name":"Czechia","callingCode":"+420"},{"countryId":"DK","name":"Denmark","callingCode":"+45"},{"countryId":"DJ","name":"Djibouti","callingCode":"+253"},{"countryId":"DM","name":"Dominica","callingCode":"+1"},{"countryId":"DO","name":"Dominican Republic","callingCode":"+1"},{"countryId":"EC","name":"Ecuador","callingCode":"+593"},{"countryId":"EG","name":"Egypt","callingCode":"+20"},{"countryId":"SV","name":"El Salvador","callingCode":"+503"},{"countryId":"GQ","name":"Equatorial Guinea","callingCode":"+240"},{"countryId":"ER","name":"Eritrea","callingCode":"+291"},{"countryId":"EE","name":"Estonia","callingCode":"+372"},{"countryId":"ET","name":"Ethiopia","callingCode":"+251"},{"countryId":"FK","name":"Falkland Islands (Malvinas)","callingCode":"+500"},{"countryId":"FO","name":"Faroe Islands","callingCode":"+298"},{"countryId":"FJ","name":"Fiji","callingCode":"+679"},{"countryId":"FI","name":"Finland","callingCode":"+358"},{"countryId":"FR","name":"France","callingCode":"+33"},{"countryId":"GF","name":"French Guiana","callingCode":"+594"},{"countryId":"PF","name":"French Polynesia","callingCode":"+689"},{"countryId":"TF","name":"French Southern Territories (the)","callingCode":"+262"},{"countryId":"GA","name":"Gabon","callingCode":"+241"},{"countryId":"GM","name":"Gambia","callingCode":"+220"},{"countryId":"GE","name":"Georgia","callingCode":"+995"}]'); ``` -------------------------------- ### Initialize a2a Configuration (JavaScript) Source: https://aps.autodesk.com/customer-stories/bamcore This snippet initializes a global configuration object named `a2a_config` for the a2a service. It ensures the object exists and sets up empty arrays for `callbacks` and `overlays`, along with an empty object for `templates`. This is a common pattern for setting up client-side scripts. ```javascript window.a2a_config=window.a2a_config||{}; a2a_config.callbacks=[]; a2a_config.overlays=[]; a2a_config.templates={}; ``` -------------------------------- ### Google Tag Manager Initialization Source: https://aps.autodesk.com/customer-stories/roche This script loads the Google Tag Manager (GTM) script from a CDN. It dynamically creates a script element and appends it to the document's head, enabling tag management for analytics and marketing purposes. ```javascript window._privacyUserLanguage = "ja"; (function(a,b,c,d){ a='https://tags.tiqcdn.com/utag/autodesk/forge-web/prod/utag.js'; b=document;c='script';d=b.createElement(c);d.src=a;d.type='text/java'+c;d.async=true; a=b.getElementsByTagName(c)[0];a.parentNode.insertBefore(d,a); })(); ``` -------------------------------- ### Initialize AddThis Configuration Source: https://aps.autodesk.com/ This JavaScript snippet initializes the configuration object for the AddThis sharing service. It ensures that the necessary arrays and objects are defined before any potential use by the AddThis library. ```javascript window.a2a_config=window.a2a_config||{};a2a_config.callbacks=[];a2a_config.overlays=[];a2a_config.templates={}; ```