{"version":3,"file":"apiExplorerCompression.js","mappings":"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","sources":["webpack://build/../dataAPIScripts.js","webpack://build/../es6/TemplatesForAll.js","webpack://build/../es6/Actions/ApiExplorer/AccessTokenGenerator.js","webpack://build/../es6/Utility/GetTemplate.js","webpack://build/../es6/Components/Toaster/ToastersContainer.js","webpack://build/../es6/Components/Toaster/Toaster.js","webpack://build/../es6/Constants/HttpConstants.js","webpack://build/../es6/Constants/Mime.js","webpack://build/../es6/Utility/AjaxRequest.js","webpack://build/../es6/Module/ModuleLoader.js","webpack://build/../es6/Utility/BentoMenuForPortalPage.js","webpack://build/../es6/Utility/SvgIconUtility.js","webpack://build/../es6/Actions/ApiExplorer/ApiActionsConfiguration.js","webpack://build/../es6/Actions/ApiExplorer/ApiActionsInteractor.js","webpack://build/../es6/Actions/ApiExplorer/FieldTypeConstantDom.js","webpack://build/../es6/Actions/ApiExplorer/Option.js","webpack://build/../es6/Actions/ApiExplorer/Param.js","webpack://build/../es6/Actions/ApiExplorer/ParamDom.js","webpack://build/../es6/Actions/ApiExplorer/Scope.js","webpack://build/../es6/Actions/ApiExplorer/ApiExplorer.js","webpack://build/../es6/Actions/ApiExplorer/UserProfile.js","webpack://build/../es6/Actions/ApiExplorer/MainForApiExplorer.js","webpack://build/../es6/Actions/ApiExplorer/WindowListener.js"],"sourcesContent":["const accessTokenUrl    = document.getElementById(\"accessTokenUrl\").getAttribute('data-value');\nconst redirectUri       = document.getElementById(\"redirectUri\").getAttribute('data-value');\nconst imageUrl          = document.getElementById(\"IMAGE_URL\").getAttribute('data-value');\nconst accountServerUrl  = document.getElementById(\"ACCOUNT_SERVER_URL\").getAttribute('data-value');\nconst userName          = document.getElementById(\"userName\").getAttribute('data-value');\nconst userId            = document.getElementById(\"userId\").getAttribute('data-value');\nconst userEmailId       = document.getElementById(\"userEmailId\").getAttribute('data-value');\nconst signInUrl         = document.getElementById(\"signInUrl\").getAttribute('data-value');\n\nglobalThis.Table || (globalThis.Table = {}) \n\nlet ApiExplorerConstants      = globalThis.ApiExplorerConstants || (globalThis.ApiExplorerConstants = {});\nlet AccessTokenUrl   = ApiExplorerConstants.AccessTokenUrl || (ApiExplorerConstants.AccessTokenUrl = accessTokenUrl);\n\nlet RedirectURI      = ApiExplorerConstants.RedirectURI || (ApiExplorerConstants.RedirectURI = redirectUri);\n\nApiExplorerConstants.AppURLS = {\n    ImageURL : imageUrl,\n    AccountURL : accountServerUrl,\n    SignInUrl : signInUrl\n};\n\nApiExplorerConstants.UserProfile = {\n    userName: userName,\n    userId: userId,\n    userEmailId: userEmailId\n}\n\nApiExplorerConstants.AppURLS.MakeURL = function(userID){\n    return this.ImageURL+\"/file?t=user&fs=thumb&ID=\"+userID;\t//No I18N\n}\n\nfunction getTemplate(templateID) {\n    var template = document.getElementById(templateID);\n    template     = template.content.cloneNode(true);\n    return template;\n}\nglobalThis.getTemplate = getTemplate;","\nconst templates = document.getElementById(\"templates\");\n\nexport function getTemplate(templateID) {\n\t// var template = templates.querySelector('#'+templateID);\n\tlet template = document.getElementById(templateID);\n\ttemplate = template.content.cloneNode(true);\n\treturn template;\n}\n\nexport function getTemplateByID(templateID, selectorID) {\n\tconst template = document.querySelector(`#${templateID}`);\n\tconst element = template.content.cloneNode(true);\n\treturn element.querySelector(`#${selectorID}`);\n}\n\nexport function getTemplateByClassName(templateID, selectorClassName) {\n\tconst template = document.querySelector(`#${templateID}`);\n\tconst element = template.content.cloneNode(true);\n\treturn element.querySelector(`.${selectorClassName}`);\n}\n","/*$Id$*/\nconst ApiExplorerConstants    = globalThis.ApiExplorerConstants;\nconst AccessTokenUrl          = ApiExplorerConstants.AccessTokenUrl;\n\nimport { getTemplate } from \"../../TemplatesForAll.js\";\n\nexport class AccessTokenGenerator {\n    constructor(){\n        this.template                   = getTemplate('dataApiExplorerTemplate'); //No I18N\n        this.dom                        = this.template.querySelector('#dataApiExplorerDom'); //No I18N\n        this.atGeneratorDom             = this.dom.querySelector('#API-generatetokenPanel'); //No I18N\n        this.generateTokenBtn           = this.atGeneratorDom.querySelector('#generate-token'); //No I18N\n        this.headerImg                  = this.dom.querySelector('.headerImg'); //No I18N\n        this.dropdownUserImg            = this.dom.querySelector('.ZTUP-imgTag'); //No I18N\n        this.profileWrapper             = this.dom.querySelector('#LPH-profileImgWrap'); // No I18N\n        this.signInWrap                 = this.dom.querySelector('#LPH-accountLogSec'); // No I18N\n        this.signInButton               = this.dom.querySelector('#LPH-loginLink'); // No I18N\n        this.profileName                = this.dom.querySelector('.ZTUP-name'); //No I18N\n        this.profileEmail               = this.dom.querySelector('.ZTUP-email'); //No I18N           \n        this.myAccount                  = this.dom.querySelector('.myAccount'); //No I18N\n        this.signOut                    = this.dom.querySelector('.signOut'); //No I18N\n        this.accessToken                = ApiExplorerConstants.accessToken;\n\n        init.call(this);\n        generateTokenActionListener.call(this);\n    }\n\n    getDom(){\n        return this.dom;\n    }\n\n    hideATGenerator(){\n        !this.atGeneratorDom.classList.contains('hide') && this.atGeneratorDom.classList.add('hide'); //No I18N\n    }\n\n    initiateATGenerator(){\n        this.atGeneratorDom.classList.contains('hide') && this.atGeneratorDom.classList.remove('hide');   //No I18N\n    }\n\n    setUserDetails(user){    \n        this.headerImg.src = user.getImgSrc();\n        this.dropdownUserImg.src =  user.getImgSrc();\n        this.profileName.textContent = user.getUserName();\n        this.profileEmail.textContent = user.getEmailId();  \n    }\n\n    toggleSignInButton(isSignedInUser){\n        this.signInButton.setAttribute(\"href\", ApiExplorerConstants.AppURLS.SignInUrl);\n        this.profileWrapper.classList.toggle(\"hide\", !isSignedInUser); // No I18N\n        this.signInWrap.classList.toggle(\"hide\", isSignedInUser); // No I18N\n    }\n\n}\n\nfunction init(){\n    const accountUrl = ApiExplorerConstants.AppURLS.AccountURL;\n    this.myAccount.setAttribute('href', accountUrl);\n    this.myAccount.setAttribute('target', '_blank');   // No I18N\n    this.signOut.setAttribute('href', '/logout');   // No I18N   \n}\n\nfunction generateTokenActionListener(){\n    this.generateTokenBtn.addEventListener('click', () => {\n        ApiExplorerConstants.CurrentHashValue = window.location.hash;\n        window.open(AccessTokenUrl, '_self');\n    });\n}","export function getTemplate(templateID) {\n    let template = document.getElementById(templateID);\n    template     = template.content.cloneNode(true);\n    return template;\n}\n","import { getTemplate } from \"../../Utility/GetTemplate.js\";\n\nclass ToastersContainerClass {\n    constructor() {\n        const template             = getTemplate(\"toasterMsgContainer_template\"); // No I18N\n        this.toasterMsgContainer = template.querySelector(\"#toasterMsgContainer\");  // No I18N\n        this.toastersMap         = new Map(); // Map()<toastId, new Toaster()>;\n        this.isOpened            = false;\n        this.toastCount          = 0;\n    }\n\n    append(toasterDom) {\n\t\tthis.toasterMsgContainer.appendChild(toasterDom);\n\t}\n\n    prepend(toasterDom) {\n\t\tthis.toasterMsgContainer.prepend(toasterDom);\n\t}\n\n    getDom() {\n\t\treturn this.toasterMsgContainer;\n\t}\n\n    show() {\n\t\tthis.isOpened = true;\n\t\tdocument.body.append(this.toasterMsgContainer);\n\t}\n\n    remove() {\n\t\tthis.isOpened = false;\n\t\tthis.toasterMsgContainer.remove();\n\t}\n\n    addToasterToMap(toaster) {\n\t\tthis.toastersMap.has(this.toastCount) && this.toastersMap.get(this.toastCount).remove();\n\t\tconst self = this;\n\t\tconst timeOut = setTimeout(() => {\n\t\t\tself.append(toaster.getDom());\n\t\t\tself.toastCount++;\n\t\t\ttoaster.setToasterId(self.toastCount);\n\t\t\tself.toastersMap.set(self.toastCount, toaster);\n\t\t\t!self.isOpened && self.show();\n\t\t\tclearTimeout(timeOut);\n\t\t}, 300);\n\t}\n\n    deleteToasterFromMap(toastId) {\n\t\tthis.toastersMap.delete(toastId);\n\t\tif(this.toastersMap.size === 0){\n\t\t\tthis.remove();\n\t\t}\n\t}\n\n    getToasters() {\n\t\treturn this.toastersMap;\n\t}\n}\n\nexport const ToastersMsgContainer = new ToastersContainerClass();\n","import { getTemplate } from \"../../Utility/GetTemplate.js\";\nimport { ToastersMsgContainer as ToastersContainer } from \"./ToastersContainer.js\";\n\n\n// export const TOASTER_TYPES = { // TODO: master_proxy_performance - unused lines: Remove these lines after some months of release\n// \tTIMER : 0,\n// \tPERCENTAGE : 1\n// } \n\nfunction addListerner(){\n\n\tconst self = this;\n\tthis.closeBtn.addEventListener(\"mousedown\", () => {\n\t\t// self.remove();\n\t\tself.removeImmediately();\n\t});\n\n}\n\nexport class Toaster {\n\tconstructor(time) {\n\n\t\tconst template      = getTemplate(\"toaster_Wrapper_template\"); // No I18N\n\t\tthis.dom          = template.querySelector(\"#toaster_wrapper\");  // No I18N\n\t\tthis.msgContainer = this.dom.querySelector(\"#msgContainer\");     // No I18N\n\t\tthis.closeBtn     = this.dom.querySelector(\"#closeBtn\");         // No I18N\n\t\tthis.toastId      = null;\n\t\tthis.time         = (time == null) ? 10 : time;\n\t\tthis.timerWarp    = this.dom.querySelector(\".timerWarp\"); // No I18N\n\t\tthis.timeOut      = null;\n\t\tthis.showCloseBtn = false;\n\t\tthis.minimumTime  = 0;\n\t\tthis.showedTime   = NaN;\n\t\taddListerner.call(this);\n\t}\n\n\tshow(callBack) {\n\t\tthis.showedTime = Date.now()\n\t\tconst self = this;\n\t\tToastersContainer.addToasterToMap(this); // dom added inside in this method\n\t\tthis.dom.style.animationName = \"slideIn\"; // No I18N\n\t\tconst count = this.time * 1000;\n\t\tif(this.time === Infinity){\n\t\t\tthis.timerWarp.classList.add(\"hide\"); // No I18N\n\t\t\tif(this.showCloseBtn){\n\t\t\t\tthis.closeBtn.classList.remove(\"hide\"); // No I18N\n\t\t\t}\n\t\t} else if(this.time > 0){\n\t\t\tthis.timerWarp.querySelector(\".spinner\").style.animationDuration = `${this.time}s`; // No I18N\n\t\t\tthis.timerWarp.querySelector(\".filler\").style.animationDuration = `${this.time}s`; // No I18N\n\t\t\tthis.timerWarp.querySelector(\".timerMask\").style.animationDuration = `${this.time}s`; // No I18N\n\t\t\tclearTimeout(this.timeOut);\n\t\t\tthis.timeOut = setTimeout(() => {\n\t\t\t\tself.remove();\n\t\t\t\tcallBack && callBack();\n\t\t\t}, count);\n\t\t} else if(this.time == 0){ // clock aimation infinite times util the toaster remove\n\t\t\tthis.timerWarp.querySelector(\".spinner\").style.animationDuration = `3s`; // No I18N\n\t\t\tthis.timerWarp.querySelector(\".filler\").style.animationDuration = `3s`; // No I18N\n\t\t\tthis.timerWarp.querySelector(\".timerMask\").style.animationDuration = `3s`; // No I18N\n\t\t}\n\t\telse if(this.showCloseBtn){\n\t\t\tthis.closeBtn.classList.remove(\"hide\"); // No I18N\n\t\t}else {\n\t\t\tthis.timerWarp.classList.add(\"hide\"); // No I18N\n\t\t\tthis.closeBtn.classList.add(\"hide\"); // No I18N\n\t\t}\n\t}\n\tsetShowCloseBtn(bool){\n\t\tthis.showCloseBtn = bool;\n\t\tif(this.showCloseBtn){\n\t\t\tthis.closeBtn.classList.remove(\"hide\"); // No I18N\n\t\t}else {\n\t\t\tthis.closeBtn.classList.add(\"hide\"); // No I18N\n\t\t}\n\t}\n\tgetShowCloseBtn(){\n\t\treturn this.showCloseBtn;\n\t}\n\tremove() {\n\t\tconst elapsedTime   = Date.now() - this.showedTime\n\t\tconst remainingTime = Math.max(this.minimumTime - elapsedTime, 0)\n\t\t// console.log(this.showedTime, elapsedTime, this.minimumTime, remainingTime)\n\n\t\tsetTimeout(() => {\n\n\t\t\tthis.dom.addEventListener('animationend', ev => {\n\t\t\t\tclearTimeout(this.timeOut);\n\n\t\t\t\tthis.dom.remove();\n\t\t\t\tToastersContainer.deleteToasterFromMap(this.toastId);\n\t\t\t}, {once: true})\n\n\t\t\tthis.dom.style.animationName = \"slideOut\"; // No I18N\n\n\t\t}, remainingTime)\n\t}\n\n\tremoveImmediately() {\n\t\tclearTimeout(this.timeOut);\n\t\tthis.dom.remove();\n\t\tToastersContainer.deleteToasterFromMap(this.toastId);\n\t\tthis.dom.style.animationName = \"slideOut\"; // No I18N\n\t}\n\n\tsetMinimumTime(minimumTime) {\n\t\tthis.minimumTime = minimumTime * 1000\n\t}\n\n\thideTimer() {\n\t\tthis.timerWarp.classList.add(\"hide\"); // No I18N\n\t}\n\n\tshowTimer() {\n\t\tthis.timerWarp.classList.remove(\"hide\"); // No I18N\n\t}\n\n\tgetDom() {\n\t\treturn this.dom;\n\t}\n\n\tsetToasterId(id) {\n\t\tthis.toastId = id;\n\t}\n\n\tsetMessage(fragment) {\n\t\tthis.msgContainer.innerText = null;\n\t\tthis.msgContainer.appendChild(fragment);\n\t}\n\t\n\tsetMessageAsText(message) {\n\t\tconst span = document.createElement('span')\n\t\tspan.textContent = message\n\t\tthis.msgContainer.appendChild(span)\n\t\t// this.msgContainer.appendChild(span)\n\t}\n\n\t\n\taddClassList(cls) {\n\t\tthis.dom.classList.add(cls)\n\t}\n\n\tsetPercentage(percentage) {\n\t\tconst rotate = 3.6 * percentage;\n\t\tif(rotate <= 180 ) {\n\t\t\tthis.timerWarp.querySelector(\".filler\").style.opacity    = 1;   // No I18N\n\t\t\tthis.timerWarp.querySelector(\".timerMask\").style.opacity = 0;\t // No I18N\n\t\t\tthis.timerWarp.querySelector(\".spinner\").style.transform = `rotate(${rotate}deg)`; // No I18N\n\t\t}\n\t\telse {\n\t\t\tthis.timerWarp.querySelector(\".filler\").style.opacity    = 0;   // No I18N\n\t\t\tthis.timerWarp.querySelector(\".timerMask\").style.opacity = 1;\t // No I18N\n\t\t\tthis.timerWarp.querySelector(\".spinner\").style.transform = `rotate(${rotate}deg)`; // No I18N\n\t\t}\n\t}\n}\n","export const CONTENT_TYPE = 'Content-Type'; // No I18N\n","export const TEXT                = 'text/plain';                        // No I18N\nexport const HTML                = 'text/html';                         // No I18N\nexport const JAVASCRIPT          = 'application/javascript';            // No I18N\nexport const JSON                = 'application/json';                  // No I18N\nexport const OCTET_STREAM        = 'application/octet-stream';          // No I18N\nexport const MULTIPART_FORM_DATA = 'multipart/form-data';               // No I18N\nexport const GIF                 = 'image/gif';                         // No I18N\nexport const JPEG                = 'image/jpeg';                        // No I18N\nexport const PNG                 = 'image/png';                         // No I18N\nexport const SVG                 = 'image/svg+xml';                     // No I18N\nexport const WEBP                = 'image/webp';                        // No I18N\nexport const URL_ENCODED_FORM    = 'application/x-www-form-urlencoded'; // No I18N\n","const RESPONSE_HEADER_SPLITTER = /[\\r\\n]+/;\nconst DEFAULT_RETRY_COUNT = 3;\nconst RETRY_HEADERS = [400, 503];\nexport class AjaxRequest {\n    constructor() {\n        this.xmlHttpRequest = null;\n        this.eventListeners = {};\n        this.progressEventListeners = {};\n        this.isAsync = true;\n        this.method = METHOD.GET;\n        this.url = null;\n        this.headers = {};\n        this.formData = {}; // TODO: Try to remove this in favour for URLEncodedFormData & this.payload.\n        this.pureFormData = new FormData();\n        this.responseType = undefined;\n        this.responseHeaders = null; // This will be filled only after the response receives.\n        this.payload = null;\n        this.retryCount = DEFAULT_RETRY_COUNT;\n        this.withCredentials = false;\n    }\n\n    addEventListener(eventName, callback) {\n        switch (eventName) {\n            // case EVENTS.PROGRESS: \n            // case EVENTS.FINALLY : \n            case EVENTS.UPLOAD_PROGRESS: {\n                const progressEventList = this.progressEventListeners[eventName] || (this.progressEventListeners[eventName] = []);\n                progressEventList.push(callback);\n                break;\n            }\n            case EVENTS.SUCCESS:\n            case EVENTS.FAILURE:\n            case EVENTS.STATUS_OK:\n            case EVENTS.STATUS_ACCEPTED:\n            case EVENTS.COMPLETE: {\n                const eventList = this.eventListeners[eventName] || (this.eventListeners[eventName] = []);\n                eventList.push(callback);\n                break;\n            }\n            default:\n                throw ('Unknown Event'); // No I18N\n        }\n\n    }\n\n    abort() {\n        this.xmlHttpRequest.abort();\n    }\n\n    setAsync(value) {\n        this.isAsync = value;\n    }\n\n    setMethod(method) {\n        switch (method) {\n            case METHOD.GET:\n            case METHOD.POST:\n            case METHOD.HEAD:\n            case METHOD.PUT:\n            case METHOD.DELETE:\n                this.method = method;\n                break;\n            default:\n                throw ('Unknown HTTP method'); // No I18N\n        }\n    }\n\n    setUrl(url) {\n        this.url = url;\n    }\n\n    setPureFormData(key, value) {\n        this.pureFormData.append(key, value);\n    }\n\n    setPureFormDataAsPaylod() {\n        this.setPayload(this.pureFormData);\n    }\n\n    setFormData(param, value) {\n        this.formData[param] = value; // TODO: Create an instance of URLEncodedFormData and try to remove this.formData altogether.\n    }\n\n    send() {\n        const self = this;\n        this.xmlHttpRequest && (this.xmlHttpRequest.onreadystatechange = null)\n        globalThis.Table && globalThis.Table.Worker && globalThis.Table.Worker.Server && globalThis.Table.Worker.Server.X_PRESTIGE_CONNECTION_ID && this.setRequestHeader('X-PRESTIGE-CONNECTION-ID', globalThis.Table.Worker.Server.X_PRESTIGE_CONNECTION_ID);  // No I18N\n        this.xmlHttpRequest = new XMLHttpRequest();\n        this.xmlHttpRequest.open(this.method, this.url, this.isAsync);\n        this.xmlHttpRequest.withCredentials = this.withCredentials;\n        this.responseType && this.isAsync && (this.xmlHttpRequest.responseType = this.responseType);\n        this.progressEventListeners && loadProgressEventListeners(this);\n\n        this.isTransportErrorDispatched = false;\n        this.xmlHttpRequest.onreadystatechange = function (ev) { onReadyStateChange.call(self, this, ev); };\n        this.xmlHttpRequest.onerror   = function (ev) { onTransportError.call(self, this, ev); };\n        this.xmlHttpRequest.ontimeout = function (ev) { onTransportError.call(self, this, ev); };\n        loadRequestHeadersToXmlHttpRequest(this);\n        const encodedData = getEncodedFormData(this);\n        (this.method === METHOD.GET) ? this.xmlHttpRequest.send() : this.xmlHttpRequest.send(encodedData);\n    }\n\n    setRequestHeader(name, value) {\n        this.headers[name] = value;\n    }\n\n    setRetryCount(count){\n        this.retryCount = count;\n    }\n    \n    setCredentials(){\n        this.withCredentials = true;\n    }\n\n    setResponseType(value) {\n        switch (value) {\n            case 'arraybuffer':\n            case 'blob':\n            case 'document':\n            case 'json':\n            case 'text':\n            case '':\n                this.responseType = value;\n                break;\n            default:\n                throw ('UnknownXMLHttpRequestResponseType'); // No I18N\n        }\n    }\n\n    getAllResponseHeaders() {\n        if (this.responseHeaders === null) {\n            const headers = this.xmlHttpRequest.getAllResponseHeaders();\n            const arr = headers.trim().split(RESPONSE_HEADER_SPLITTER);\n\n            const headerMap = {};\n            for (let i = 0; i < arr.length; i++) {\n                const parts = arr[i].split(': ');\n                const header = parts.shift();\n                const value = parts.join(': ');\n                headerMap[header.toLowerCase()] = value; // Edge doesn't return header names in all lowercase.\n            }\n            this.responseHeaders = headerMap;\n        }\n        return this.responseHeaders;\n    }\n\n    setPayload(payload) {\n        this.payload = payload;\n    }\n}\n\nexport const METHOD = {\n    GET: 'GET',    // No I18N\n    POST: 'POST',   // No I18N\n    HEAD: 'HEAD',   // No I18N\n    PUT: 'PUT',    // No I18N\n    DELETE: 'DELETE'  // No I18N\n}\n\nAjaxRequest.METHOD = METHOD;\n\nexport const EVENTS = {\n    SUCCESS: 'success',         // No I18N\n    FAILURE: 'failure',         // No I18N\n    COMPLETE: 'complete',        // No I18N\n    FINALLY: 'finally',         // No I18N\n    PROGRESS: 'progress',        // No I18N\n    UPLOAD_PROGRESS: 'upload_progress', // No I18N\n    STATUS_OK: 'status_ok',       // No I18N\n    STATUS_ACCEPTED: 'status_accepted'  // No I18N\n}\n\nAjaxRequest.EVENTS = EVENTS;\n\nfunction onReadyStateChange(context, ev) {\n    const xmlHttpRequest = ev.target || this.xmlHttpRequest;\n    const readystate = xmlHttpRequest.readyState;\n    const status = xmlHttpRequest.status;\n    const isSuccess = (status < 399);\n\n    const shouldRetry = RETRY_HEADERS.includes(xmlHttpRequest.status) && (this.retryCount > 0);\n\n    if (shouldRetry) {\n        this.retryCount--;\n        this.send();\n        return\n    }\n\n    switch (readystate) {\n        case XMLHttpRequest.OPENED:\n            break;\n        case XMLHttpRequest.HEADERS_RECEIVED:\n            break;\n        case XMLHttpRequest.LOADING:\n            break;\n        case XMLHttpRequest.DONE: {\n            const response = xmlHttpRequest.response;\n            // TODO: Remove ev from dispatchEventList passing arguments once ev usage removed from all the callback func and made to use only AjaxRequestCompleteEvent object\n            this.eventListeners[EVENTS.SUCCESS] && status >= 200 && status <= 299 && dispatchEventList(this.eventListeners[EVENTS.SUCCESS], context, ev, new AjaxRequestCompleteEvent(isSuccess, status, xmlHttpRequest, response));\n            this.eventListeners[EVENTS.STATUS_OK] && status === 200 && dispatchEventList(this.eventListeners[EVENTS.STATUS_OK], context, ev, new AjaxRequestCompleteEvent(isSuccess, status, xmlHttpRequest, response));\n            this.eventListeners[EVENTS.STATUS_ACCEPTED] && status === 202 && dispatchEventList(this.eventListeners[EVENTS.STATUS_ACCEPTED], context, ev, new AjaxRequestCompleteEvent(isSuccess, status, xmlHttpRequest, response));\n            this.eventListeners[EVENTS.FAILURE] && status >= 400 && status <= 599 && dispatchEventList(this.eventListeners[EVENTS.FAILURE], context, ev, new AjaxRequestCompleteEvent(isSuccess, status, xmlHttpRequest, response));\n            this.eventListeners[EVENTS.COMPLETE] && dispatchEventList(this.eventListeners[EVENTS.COMPLETE], context, ev, new AjaxRequestCompleteEvent(isSuccess, status, xmlHttpRequest, response));\n            break;\n        }\n    }\n}\n\nfunction onTransportError(context, ev) {\n    const xmlHttpRequest = ev.target || this.xmlHttpRequest;\n    const status = xmlHttpRequest.status; \n    if (this.isTransportErrorDispatched) { return; }\n    this.isTransportErrorDispatched = true;\n    this.eventListeners[EVENTS.FAILURE] && dispatchEventList(this.eventListeners[EVENTS.FAILURE], context, ev, new AjaxRequestCompleteEvent(false, status, xmlHttpRequest, xmlHttpRequest.response));\n}\n\nfunction dispatchEventList(eventList, context, ev, ajaxRequestCompleteEvent) {\n    for (let i = 0; i < eventList.length; i++) {\n        eventList[i].call(context, ev, ajaxRequestCompleteEvent);\n    }\n}\n\nfunction loadProgressEventListeners({progressEventListeners, xmlHttpRequest}) {\n    for (const eventName in progressEventListeners) {\n        const eventList = progressEventListeners[eventName];\n        for (let i = 0; i < eventList.length; i++) {\n            xmlHttpRequest.upload.addEventListener('progress', eventList[i]); //No I18N\n        }\n    }\n}\n\nfunction loadRequestHeadersToXmlHttpRequest({headers, xmlHttpRequest}) {\n    for (const headerName in headers) {\n        const headerValue = headers[headerName];\n        xmlHttpRequest.setRequestHeader(headerName, headerValue);\n    }\n}\n\nfunction getEncodedFormData({payload, formData}) {\n    var encodedFormData = '';\n    if (payload instanceof FormData) {\n        encodedFormData = payload;\n    } else if (payload instanceof URLEncodedFormData) {\n        const urlEncodedFormData = payload;\n        var encodedFormData = '';\n        const keys = urlEncodedFormData.keys();\n\n        for (let i = 0; i < keys.length; i++) {\n            const key = keys[i];\n            var value = urlEncodedFormData.get(key);\n            var encodedFormPair = encodeURIComponent(key).concat('=').concat(encodeURIComponent(value));\n            encodedFormData = (!encodedFormData.length) ? encodedFormPair : encodedFormData.concat('&').concat(encodedFormPair);\n        }\n        return encodedFormData;\n    }\n    for (const param in formData) {\n        var value = formData[param];\n        var encodedFormPair = encodeURIComponent(param).concat('=').concat(encodeURIComponent(value));\n        encodedFormData = (!encodedFormData.length) ? encodedFormPair : encodedFormData.concat('&').concat(encodedFormPair);\n    }\n    return encodedFormData;\n}\n\nexport class URLEncodedFormData {\n    constructor() {\n        this.params = {};\n    }\n\n    append(key, value) {\n        this.params[key] = value; // TODO: Print waring here for duplicate keys and remove them.\n    }\n\n    keys() { // TODO: It should an iterator.\n        return Object.keys(this.params);\n    }\n\n    get(key) {\n        const result = this.params[key];\n        return (result === undefined) ? null : result;\n    }\n}\n\nfunction AjaxRequestCompleteEvent(isSuccess, responseCode, xmlHttpRequest, response) {\n    this.isSuccess = isSuccess\n    this.responseCode = responseCode;\n    this.xmlHttpRequest = xmlHttpRequest;\n    this.response = response;\n    Object.freeze(this);\n}\n","\n/**\n * let loader = new ModuleLoader();\n * loader.loadJS(jslistURLs, ?callback);\n * loader.loadCSS(csslistURLs, ?callback);\n */\n\nexport class ModuleLoader {\n\t\n\tconstructor(){\n\t\tthis.async = document.createElement('script').async || false;\t//NO I18N\n\t}\n\t\n\tloadJS(urls, callback){\n\t\tthis.load(urls, 'script', callback);\n\t}\n\t\n\tloadCSS(urls, callback){\n\t\tthis.load(urls, 'link', callback);\n\t}\n\t\n\tload(urls, type, callback){\n\t\n\t\tvar len = urls.length;\n\t\tif(len){\n\t\t\tfor(var j = 0; j < urls.length; j++) {\n\t\t\t\tvar url = urls[j];\n\t\t\t\tif(url != null && url != \"null\"){\n\t\t\t\t\tvar fragment = document.createDocumentFragment();\n\t\t\t\t\tvar node = createNode(type, urls[j], this.async);\t//NO I18N\n\t\t\t\t\tfragment.appendChild(node);\n\t\t\t\t\tif(j == len-1) {\n\t\t\t\t\t\tbindOnLoad(node, callback);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tdocument.body.appendChild(fragment);\n\t\t\t}\n\t\t}\n\t\telse {\n\t\t\tcallback && callback();\n\t\t}\n\t}\n}\n\nfunction bindOnLoad(node, fn){\n\tnode.onload = function(){\n\t\tfn && fn();\n\t}\n}\n\nfunction createNode(type, src, async){\n\t\n\tvar node = document.createElement(type);\n\t\n\tif (type === \"link\") {\n\t\tnode.href = src;\n\t\tnode.rel = 'stylesheet';\t//NO I18N\n\t\tnode.type = 'text/css';\t//NO I18N\n\t} else {\n\t\tnode.src = src;\n\t}\n\t\n\tif (async) {\n\t\tnode.async = false;\n\t}\n\treturn node;\n}\n","import { CONTENT_TYPE } from \"../../es6/Constants/HttpConstants.js\";\nimport { URL_ENCODED_FORM } from \"../../es6/Constants/Mime.js\";\nimport { AjaxRequest, EVENTS, METHOD } from \"../../es6/Utility/AjaxRequest.js\";\nimport { ModuleLoader } from \"../Module/ModuleLoader.js\";\n\nconst GET_METHOD        = METHOD.GET;\nconst UTF_8_URL_ENCODED = `${URL_ENCODED_FORM};charset=UTF-8`;\nconst zohomailDomain    = document.getElementById('zohomailDomain')?.getAttribute('data-value');\n\nexport class BentoMenu {\n\t\n\t#rightSection\n\n\tconstructor(rightSectionID) {\n\t\tthis.#rightSection = rightSectionID\n\t\tthis.BENTO_MENU_URL = zohomailDomain+\"/biz/getHamburgerMenu.do?version=stable\"; // No I18N\n\t\t// console.log(\"bento Menu calling : \",this.BENTO_MENU_URL);\n\t}\n\t\n\trenderMenu(){\n\t\tthis.fetchMenuDetails();\n\t\t// const response = [1, {\"promotionalJSON\": \"{\\\"title\\\":\\\"Featured app\\\",\\\"logo\\\":\\\"https://static.zohocdn.com/zmail-public/static/hamburger/zmh-marketing-plus.svg\\\",\\\"appName\\\":\\\"Marketing Plus\\\",\\\"description\\\":\\\"Manage all your marketing efforts in one place. Sign up for a 15-day free trial.\\\", \\\"KnowMoreLink\\\":\\\"https://www.zoho.com/marketingplus/?src=wp\\\",\\\"knowMoreText\\\":\\\"Get Started Today!\\\"}\",\"initialJS\": \"https://static.localzohocdn.com/zmail/hm/assets/js/main.29.1.js\",\"blogsWebinarJSON\": \"[     {     \\\"type\\\": \\\"blog\\\",     \\\"title\\\": \\\"Use case blog\\\",     \\\"description\\\": \\\"Manage your business operations better with Zoho Mail's extensions.\\\",     \\\"knowMoreLink\\\": \\\"https://www.zoho.com/blog/mail/extensions-for-business-wordpress-and-mail-merge.html?src=ham\\\",     \\\"knowMoreLinkText\\\": \\\"Learn more\\\",     \\\"tillDate\\\":\\\"23/02/2021\\\" }, {     \\\"type\\\": \\\"blog\\\",     \\\"title\\\": \\\"Use case blog\\\",     \\\"description\\\": \\\"Introducing the modern way to manage work with Zoho Tables.\\\",     \\\"knowMoreLink\\\": \\\"https://zoho.to/bl_feature_workplace\\\",     \\\"knowMoreLinkText\\\": \\\"Learn more\\\",     \\\"tillDate\\\":\\\"09/06/2025\\\" }, {     \\\"type\\\": \\\"blog\\\",     \\\"title\\\": \\\"Article\\\",     \\\"description\\\": \\\"Control your time and conquer your day with time blocking.\\\",     \\\"knowMoreLink\\\": \\\"https://www.zoho.com/workplace/articles/time-blocking.html?src=ham\\\",     \\\"knowMoreLinkText\\\": \\\"Read more\\\" }, {     \\\"type\\\": \\\"blog\\\",     \\\"title\\\": \\\"Comparison\\\",     \\\"description\\\": \\\"Explore the benefits of Zoho Workplace's flexible plans.\\\",     \\\"knowMoreLink\\\": \\\"https://www.zoho.com/workplace/articles/pricing-comparison-zoho-workplace-and-google-workspace.html?src=ham\\\",     \\\"knowMoreLinkText\\\": \\\"Learn more\\\" } ]\",\"countryCode\": \"in\",\"zohoHomeDomain\": \"home.localzoho.com\",\"cssPath\": \"https://static.localzohocdn.com/zmail/hm/assets/css\",\"zOneJS\": \"null\",\"language\": \"en\",\"publicPath\": \"https://static.localzohocdn.com/zmail/hm/assets\"}]\n\t\t// this.parseMenuDetails(response);\n\t}\n\n\tfetchMenuDetails() {\n\t\tlet ajaxRequest = new AjaxRequest();\n\t\tajaxRequest.setUrl(this.BENTO_MENU_URL);\n\t\tajaxRequest.setRequestHeader(CONTENT_TYPE, UTF_8_URL_ENCODED);\n\t\tajaxRequest.setMethod(GET_METHOD);\n\t\tajaxRequest.setCredentials(true);\n\n\t\tajaxRequest.addEventListener(EVENTS.SUCCESS, (event, { xmlHttpRequest }) => {\n\t\t\tconst response = JSON.parse(xmlHttpRequest.responseText);\n\t\t\tthis.parseMenuDetails(response);\n\t\t} );\n\n\t\tajaxRequest.addEventListener(EVENTS.FAILURE, (event) => { });\n\n\t\tajaxRequest.send();\n\t}\n\n\tparseMenuDetails(response) {\n\t\n\t\tconst iconParent = document.querySelector(`#${this.#rightSection}`)\n\n\t\tthis.bentoMenuResponse = response[1];\n\t\tglobalThis.zmwpHMConfig = {\n\t\t\tcssBasePath: this.bentoMenuResponse.cssPath,\n\t\t\tpublicPath: this.bentoMenuResponse.publicPath, // required by internal library to load rest of the files\n\t\t\tzohoHomeDomain: this.bentoMenuResponse.zohoHomeDomain, //zohoHomeDomain to fetch all apps detail\n\t\t\tzIconTheme: \"dark\",\n\t\t\tzIconClassnames:\"ZTUI-bentoIcon\",\n\t\t\tzIconParent: document.querySelector(`#${this.#rightSection}`), // No i18N\n\t\t\thamburgerMenuParent: document.body, // parent dom element, in which hamburger menu will be appended\n\t\t\tsuite: false, // set this is to true, to show the suite apps section in hamburger menu\n\t\t\tallApps: true, // set this is to true,to show the, all apps section in hamburger menu //No I18N\n\t\t\tpromotionalJSON: JSON.parse(this.bentoMenuResponse.promotionalJSON),\n\t\t\tblogsWebinarJSON: JSON.parse(this.bentoMenuResponse.blogsWebinarJSON),\n\t\t\t// one zoho launcher specific\n\t\t\tisOneZohoBundle: false, // default is false, set to true to show one zoho launcher and not suite hamburger\n\t\t\tzOneJS: this.bentoMenuResponse.zOneJS\n\t\t};\n\t\t!iconParent.querySelector('.ZTUI-bentoIcon') &&\tthis.loadInitialJs(); //TODO: remove this hotfix, once the listing page isrevamped\n\t}\n\t\n\tloadInitialJs(){\n\t\n\t\tlet jsURL = this.bentoMenuResponse.initialJS;\n\t\tlet loader = new ModuleLoader();\n\t\tloader.loadJS([jsURL]);\n\t}\n}\n","const currentScript = document.currentScript\n\nexport function getSVGIconPath(iconID) {\n        return \"/images/sprite.svg\" + iconID\n\n    // const staticPath = currentScript.dataset.imagepath\n    // if (staticPath.trim() === \"\") {\n    //     return \"/images/sprite.svg\" + iconID\n    // } else {\n    //     return staticPath + Table.Constants.STATIC_JSON[\"images/sprite.svg\"] + iconID\n    // }\n}\nexport function getGalleryPrintSVGIconPath(iconID) {\n    return \"/images/print-sprite.svg\" + iconID\n\n// const staticPath = currentScript.dataset.imagepath\n// if (staticPath.trim() === \"\") {\n//     return \"/images/sprite.svg\" + iconID\n// } else {\n//     return staticPath + Table.Constants.STATIC_JSON[\"images/print-sprite.svg\"] + iconID\n// }\n}","/*$Id$*/\nexport const SCOPES = [\n\n    {\n        \"domName\":\"UI.explorer.scope.gettingStarted\",\"imgSrc\":\"/images/Api/getStarted.svg\",\"scopeName\":\"startedPage\",\"documentID\":\"explorer_getting_started\", \"submenu\": false,//No I18N\n        \"actions_keys\":[],\n        \"actions\":[], //No I18N\n        \"data\":[ //No I18N\n            {\"URLHash\": \"INTRO-GettingStarted\", \"action\":\"GettingStarted\",\"apiName\":\"\",\"method\":\"\",\"params\":[]} //No I18N\n        ]\n    },\n    \n    {\n        \"domName\":\"UI.explorer.scope.oauth\",\"imgSrc\":\"/images/Api/oAuth.svg\",\"scopeName\":\"oauth\", \"submenu\": true,//No I18N\n        \"actions_keys\":[\"UI.explorer.actions.oauth.overview\",\"UI.explorer.actions.oauth.scopes\",\"UI.explorer.actions.oauth.registerYourApplication\", \"UI.explorer.actions.oauth.generateAccessAndRefreshToken\", \"UI.explorer.actions.oauth.regenerateAccessToken\", \"UI.explorer.actions.oauth.revokeRefreshToken\", \"UI.explorer.actions.oauth.tokenValidity\"],\n        \"actions\":[\"explorer_actions_oauth_overview\", \"explorer_actions_oauth_scopes\",\"explorer_actions_oauth_registerYourApplication\", \"explorer_actions_oauth_generateAccessAndRefreshToken\", \"explorer_actions_oauth_regenerateAccessToken\", \"explorer_actions_oauth_revokeRefreshToken\", \"explorer_actions_oauth_tokenValidity\"], //No I18N\n        \"data\":[ //No I18N\n            {\"URLHash\": \"OAUTH-overview\", \"action\":\"overview\",\"apiName\":\"oauth\",\"method\":\"\",\"params\":[]}, //No I18N\n            {\"URLHash\": \"OAUTH-scopes\", \"action\":\"scopes\",\"apiName\":\"oauth\",\"method\":\"\",\"params\":[]}, //No I18N\n            {\"URLHash\": \"OAUTH-registerYourApplication\", \"action\":\"registerYourApplication\",\"apiName\":\"oauth\",\"method\":\"\",\"params\":[]}, //No I18N\n            {\"URLHash\": \"OAUTH-generateAccessAndRefreshToken\", \"action\":\"generateAccessAndRefreshToken\",\"apiName\":\"oauth\",\"method\":\"\",\"params\":[]}, //No I18N\n            {\"URLHash\": \"OAUTH-regenerateAccessToken\", \"action\":\"regenerateAccessToken\",\"apiName\":\"oauth\",\"method\":\"\",\"params\":[]}, //No I18N\n            {\"URLHash\": \"OAUTH-revokeRefreshToken\", \"action\":\"revokeRefreshToken\",\"apiName\":\"oauth\",\"method\":\"\",\"params\":[]}, //No I18N\n            {\"URLHash\": \"OAUTH-tokenValidity\", \"action\":\"tokenValidity\",\"apiName\":\"oauth\",\"method\":\"\",\"params\":[]} //No I18N\n        ]\n    },\n    \n    {\n        \"domName\":\"UI.explorer.scope.portals\",\"imgSrc\":\"/images/Api/portals.svg\",\"scopeName\":\"portals\", \"submenu\": true,//No I18N  \n        \"actions_keys\":[\"UI.explorer.portals.actions.list\" ], //No I18N  \n        \"actions\":[\"explorer_portals_actions_list\"], //No I18N  \n        \"data\":[ //No I18N  \n            {\"URLHash\": \"PORTALS-List-Portals\", \"action\":\"List-Portals\",\"apiName\":\"portals\",\"method\":\"GET\",\"params\":[]} // No I18N\n        ]\n    },      \n    {\n        \"domName\":\"UI.explorer.scope.workspaces\",\"imgSrc\":\"/images/Api/workshape.svg\",\"scopeName\":\"workspaces\", \"submenu\": true,//No I18N\n        \"actions_keys\":[\"UI.explorer.workspaces.actions.list\",\"UI.explorer.workspaces.actions.create\",\"UI.explorer.workspaces.actions.update\",\"UI.explorer.workspaces.actions.delete\",\"UI.explorer.workspaces.actions.list_workspace_member\",\"UI.explorer.workspaces.actions.add_workspace_member\",\"UI.explorer.workspaces.actions.delete_workspace_member\"], //No I18N\n        \"actions\":[\"explorer_workspaces_actions_list\",\"explorer_workspaces_actions_create\",\"explorer_workspaces_actions_update\",\"explorer_workspaces_actions_delete\",\"explorer_workspaces_actions_list_workspace_member\",\"explorer_workspaces_actions_add_workspace_member\",\"explorer_workspaces_actions_delete_workspace_member\"], //No I18N\n        \"data\":[ //No I18N\n            {\"URLHash\": \"WORKSPACES-List-Workspaces\", \"action\":\"List-Workspaces\",\"apiName\":\"workspaces\",\"method\":\"GET\",\"params\":[{\"name\":\"portal_id\",\"sampleValue\":65428242,\"isMandatory\":true,\"inputType\":\"number\"}]}, //No I18N\n            {\"URLHash\": \"WORKSPACES-Create-Workspace\", \"action\":\"Create-Workspace\",\"apiName\":\"workspaces\",\"method\":\"POST\",\"params\":[{\"name\":\"portal_id\",\"sampleValue\":65428242,\"isMandatory\":true,\"inputType\":\"number\"},{\"name\":\"workspace_name\",\"sampleValue\":\"Workspace1\",\"isMandatory\":false,\"inputType\":\"text\"}]}, //No I18N\n            {\"URLHash\": \"WORKSPACES-Update-Workspace\", \"action\":\"Update-Workspace\",\"apiName\":\"workspaces\",\"method\":\"PUT\",\"params\":[{\"name\":\"portal_id\",\"sampleValue\":65428242,\"isMandatory\":true,\"inputType\":\"number\"},{\"name\":\"workspace_id\",\"sampleValue\":\"qfkby8bc9d5111aa341a1a4298bc239a46721\",\"isMandatory\":true,\"inputType\":\"text\"},{\"name\":\"workspace_name\",\"sampleValue\":\"Workspace1\",\"isMandatory\":true,\"inputType\":\"text\"}]}, //No I18N\n            {\"URLHash\": \"WORKSPACES-Delete-Workspace\", \"action\":\"Delete-Workspace\",\"apiName\":\"workspaces\",\"method\":\"DELETE\",\"params\":[{\"name\":\"portal_id\",\"sampleValue\":65428242,\"isMandatory\":true,\"inputType\":\"number\"},{\"name\":\"workspace_id\",\"sampleValue\":\"qfkby8bc9d5111aa341a1a4298bc239a46721\",\"isMandatory\":true,\"inputType\":\"text\"}]}, //No I18N\n            {\"URLHash\": \"WORKSPACES-List-Workspace-Members\", \"action\":\"List-Workspace-Members\",\"apiName\":\"workspaceMembers\",\"method\":\"GET\",\"params\":[{\"name\":\"portal_id\",\"sampleValue\":65428242,\"isMandatory\":true,\"inputType\":\"number\"},{\"name\":\"workspace_id\",\"sampleValue\":\"qfkby8bc9d5111aa341a1a4298bc239a46721\",\"isMandatory\":true,\"inputType\":\"text\"}]}, //No I18N\n            {\"URLHash\": \"WORKSPACES-Add-Workspace-Member\", \"action\":\"Add-Workspace-Member\",\"apiName\":\"workspaceMembers\",\"method\":\"POST\",\"params\":[{\"name\":\"portal_id\",\"sampleValue\":65428242,\"isMandatory\":true,\"inputType\":\"number\"},{\"name\":\"workspace_id\",\"sampleValue\":\"qfkby8bc9d5111aa341a1a4298bc239a46721\",\"isMandatory\":true,\"inputType\":\"text\"},{\"name\":\"email_id\",\"sampleValue\":\"sasirekha.n@zohocorp.com\",\"isMandatory\":true,\"inputType\":\"text\"},{\"name\":\"role\",\"sampleValue\":1,\"isMandatory\":true,\"inputType\":\"number\"}]}, //No I18N\n            {\"URLHash\": \"WORKSPACES-Delete-Workspace-Member\", \"action\":\"Delete-Workspace-Member\",\"apiName\":\"workspaceMembers\",\"method\":\"DELETE\",\"params\":[{\"name\":\"portal_id\",\"sampleValue\":65428242,\"isMandatory\":true,\"inputType\":\"number\"},{\"name\":\"workspace_id\",\"sampleValue\":\"qfkby8bc9d5111aa341a1a4298bc239a46721\",\"isMandatory\":true,\"inputType\":\"text\"},{\"name\":\"email_id\",\"sampleValue\":\"sasirekha.n@zohocorp.com\",\"isMandatory\":true,\"inputType\":\"text\"}]} //No I18N\n        ]\n    },\n    {\n        \"domName\":\"UI.explorer.scope.bases\",\"imgSrc\":\"/images/Api/bases.svg\",\"scopeName\":\"bases\", \"submenu\": true,//No I18N\n        \"actions_keys\":[\"UI.explorer.bases.actions.list\",\"UI.tables.common.createbase\",\"UI.explorer.bases.actions.duplicate\",\"UI.explorer.bases.actions.update\",\"UI.explorer.bases.actions.delete\", \"UI.explorer.bases.actions.search\"], //No I18N\n        \"actions\":[\"explorer_bases_actions_list\",\"explorer_bases_actions_create\",\"explorer_bases_actions_duplicate\",\"explorer_bases_actions_update\",\"explorer_bases_actions_delete\", \"explorer_bases_actions_search\"], //No I18N\n        \"data\":[ //No I18N\n            {\"URLHash\": \"BASES-List-Bases\", \"action\":\"List-Bases\",\"apiName\":\"bases\",\"method\":\"GET\",\"params\":[{\"name\":\"portal_id\",\"sampleValue\":65428242,\"isMandatory\":true,\"inputType\":\"number\"},{\"name\":\"workspace_id\",\"sampleValue\":\"qfkby8bc9d5111aa341a1a4298bc239a46721\",\"isMandatory\":true,\"inputType\":\"text\"}]}, //No I18N\n            {\"URLHash\": \"BASES-Create-Base\", \"action\":\"Create-Base\",\"apiName\":\"bases\",\"method\":\"POST\",\"params\":[{\"name\":\"portal_id\",\"sampleValue\":65428242,\"isMandatory\":true,\"inputType\":\"number\"},{\"name\":\"workspace_id\",\"sampleValue\":\"qfkby8bc9d5111aa341a1a4298bc239a46721\",\"isMandatory\":true,\"inputType\":\"text\"},{\"name\":\"base_name\",\"sampleValue\":\"Base1\",\"isMandatory\":false,\"inputType\":\"text\"},{\"name\":\"base_icon\",\"sampleValue\":19,\"isMandatory\":false,\"inputType\":\"number\"},{\"name\":\"base_color\",\"sampleValue\":\"5565ce\",\"isMandatory\":false,\"inputType\":\"text\"}]}, //No I18N\n            {\"URLHash\": \"BASES-Duplicate-Base\", \"action\":\"Duplicate-Base\",\"apiName\":\"bases\",\"method\":\"POST\",\"params\":[{\"name\":\"portal_id\",\"sampleValue\":65428242,\"isMandatory\":true,\"inputType\":\"number\"},{\"name\":\"workspace_id\",\"sampleValue\":\"qfkby8bc9d5111aa341a1a4298bc239a46721\",\"isMandatory\":true,\"inputType\":\"text\"},{\"name\":\"base_id\",\"sampleValue\":\"qfkby575d14d48f1645f19a366acbb6cf2c84\",\"isMandatory\":true,\"inputType\":\"text\"},{\"name\":\"base_name\",\"sampleValue\":\"Base1\",\"isMandatory\":false,\"inputType\":\"text\"},{\"name\":\"base_icon\",\"sampleValue\":19,\"isMandatory\":false,\"inputType\":\"number\"},{\"name\":\"base_color\",\"sampleValue\":\"5565ce\",\"isMandatory\":false,\"inputType\":\"text\"},{\"name\":\"is_data_needed\",\"sampleValue\":\"true\",\"isMandatory\":false,\"inputType\":\"boolean\",\"isChecked\":true}]}, //No I18N\n            {\"URLHash\": \"BASES-Update-Base\", \"action\":\"Update-Base\",\"apiName\":\"bases\",\"method\":\"PUT\",\"params\":[{\"name\":\"portal_id\",\"sampleValue\":65428242,\"isMandatory\":true,\"inputType\":\"number\"},{\"name\":\"base_id\",\"sampleValue\":\"qfkby575d14d48f1645f19a366acbb6cf2c84\",\"isMandatory\":true,\"inputType\":\"text\"},{\"name\":\"base_name\",\"sampleValue\":\"Base1\",\"isMandatory\":false,\"inputType\":\"text\"},{\"name\":\"base_icon\",\"sampleValue\":19,\"isMandatory\":false,\"inputType\":\"number\"},{\"name\":\"base_color\",\"sampleValue\":\"5565ce\",\"isMandatory\":false,\"inputType\":\"text\"}]}, //No I18N\n            {\"URLHash\": \"BASES-Delete-Base\", \"action\":\"Delete-Base\",\"apiName\":\"bases\",\"method\":\"DELETE\",\"params\":[{\"name\":\"portal_id\",\"sampleValue\":65428242,\"isMandatory\":true,\"inputType\":\"number\"},{\"name\":\"base_id\",\"sampleValue\":\"qfkby575d14d48f1645f19a366acbb6cf2c84\",\"isMandatory\":true,\"inputType\":\"text\"}]}, //No I18N\n            {\"URLHash\": \"BASES-Search-Bases\", \"action\":\"Search-Bases\",\"apiName\":\"searchBases\",\"method\":\"GET\",\"params\":[{\"name\":\"search_string\",\"sampleValue\":\"base1\",\"isMandatory\":true,\"inputType\":\"text\"},{\"name\":\"portal_id\",\"sampleValue\":\"1\",\"isMandatory\":true,\"inputType\":\"number\"},{\"name\":\"workspace_id\",\"sampleValue\":\"base1\",\"isMandatory\":false,\"inputType\":\"text\"}]} //No I18N\n        ]\n    },\n    {\n        \"domName\":\"UI.tables.common.tables\",\"imgSrc\":\"/images/Api/tables.svg\",\"scopeName\":\"tables\", \"submenu\": true,//No I18N\n        \"actions_keys\":[\"UI.explorer.tables.actions.list\",\"UI.explorer.tables.actions.create\",\"UI.explorer.tables.actions.duplicate\",\"UI.explorer.tables.actions.update\",\"UI.explorer.tables.actions.delete\"], //No I18N\n        \"actions\":[\"explorer_tables_actions_list\",\"explorer_tables_actions_create\",\"explorer_tables_actions_duplicate\",\"explorer_tables_actions_update\",\"explorer_tables_actions_delete\"], //No I18N\n        \"data\":[ //No I18N\n            {\"URLHash\": \"TABLES-List-Tables\", \"action\":\"List-Tables\",\"apiName\":\"tables\",\"method\":\"GET\",\"params\":[{\"name\":\"base_id\",\"sampleValue\":\"qfkby575d14d48f1645f19a366acbb6cf2c84\",\"isMandatory\":true,\"inputType\":\"text\"}]}, //No I18N\n            {\"URLHash\": \"TABLES-Create-Table\", \"action\":\"Create-Table\",\"apiName\":\"tables\",\"method\":\"POST\",\"params\":[{\"name\":\"base_id\",\"sampleValue\":\"qfkby575d14d48f1645f19a366acbb6cf2c84\",\"isMandatory\":true,\"inputType\":\"text\"},{\"name\":\"table_name\",\"sampleValue\":\"Table1\",\"isMandatory\":false,\"inputType\":\"text\"}]}, //No I18N\n            {\"URLHash\": \"TABLES-Duplicate-Table\", \"action\":\"Duplicate-Table\",\"apiName\":\"tables\",\"method\":\"POST\",\"params\":[{\"name\":\"base_id\",\"sampleValue\":\"qfkby575d14d48f1645f19a366acbb6cf2c84\",\"isMandatory\":true,\"inputType\":\"text\"},{\"name\":\"table_id\",\"sampleValue\":\"1\",\"isMandatory\":true,\"inputType\":\"text\"},{\"name\":\"table_name\",\"sampleValue\":\"Table1\",\"isMandatory\":false,\"inputType\":\"text\"},{\"name\":\"is_duplicate_with_records\",\"sampleValue\":\"\",\"isMandatory\":false,\"inputType\":\"boolean\",\"isChecked\":true}]}, //No I18N\n            {\"URLHash\": \"TABLES-Update-Table\", \"action\":\"Update-Table\",\"apiName\":\"tables\",\"method\":\"PUT\",\"params\":[{\"name\":\"base_id\",\"sampleValue\":\"qfkby575d14d48f1645f19a366acbb6cf2c84\",\"isMandatory\":true,\"inputType\":\"text\"},{\"name\":\"table_id\",\"sampleValue\":\"1\",\"isMandatory\":true,\"inputType\":\"text\"},{\"name\":\"table_name\",\"sampleValue\":\"Table1\",\"isMandatory\":false,\"inputType\":\"text\"}]}, //No I18N\n            {\"URLHash\": \"TABLES-Delete-Table\", \"action\":\"Delete-Table\",\"apiName\":\"tables\",\"method\":\"DELETE\",\"params\":[{\"name\":\"base_id\",\"sampleValue\":\"qfkby575d14d48f1645f19a366acbb6cf2c84\",\"isMandatory\":true,\"inputType\":\"text\"},{\"name\":\"table_id\",\"sampleValue\":\"1\",\"isMandatory\":true,\"inputType\":\"text\"}]} //No I18N\n        ]\n    },\n    {\n        \"domName\":\"UI.tables.common.views\",\"imgSrc\":\"/images/Api/view.svg\",\"scopeName\":\"views\", \"submenu\": true, //No I18N\n        \"actions_keys\":[\"UI.explorer.views.action.list\"], //No I18N\n        \"actions\":[\"explorer_views_action_list\"], //No I18N\n        \"data\":[{\"URLHash\": \"VIEWS-List-Views\", \"action\":\"List-Views\",\"apiName\":\"views\",\"method\":\"GET\",\"params\":[{\"name\":\"base_id\",\"sampleValue\":\"qfkby575d14d48f1645f19a366acbb6cf2c84\",\"isMandatory\":true,\"inputType\":\"text\"},{\"name\":\"table_id\",\"sampleValue\":\"1\",\"isMandatory\":true,\"inputType\":\"text\"}]}] //No I18N\n    },\n    {\n        \"domName\":\"UI.Tables.Common.Records\",\"imgSrc\":\"/images/Api/records.svg\",\"scopeName\":\"records\", \"submenu\": true,//No I18N\n        \"actions_keys\":[\"UI.explorer.records.actions.create\",\"UI.explorer.records.actions.create_with_data\",\"UI.explorer.records.actions.delete\", \"UI.explorer.records.actions.Update_Records_With_Criteria\", \"UI.explorer.records.actions.Fetch_Records_With_Criteria\"], //No I18N\n        \"actions\":[\"explorer_records_actions_create\",\"explorer_records_actions_create_with_data\",\"explorer_records_actions_delete\", \"explorer_records_actions_update_record_with_criteria\", \"explorer_records_actions_fetch_record_with_criteria\"], //No I18N\n        \"data\":[ //No I18N\n            {\"URLHash\": \"RECORDS-Create-Record\", \"action\":\"Create-Record\",\"apiName\":\"records\",\"method\":\"POST\",\"params\":[{\"name\":\"base_id\",\"sampleValue\":\"qfkby575d14d48f1645f19a366acbb6cf2c84\",\"isMandatory\":true,\"inputType\":\"text\"},{\"name\":\"table_id\",\"sampleValue\":\"1\",\"isMandatory\":true,\"inputType\":\"text\"},{\"name\":\"view_id\",\"sampleValue\":\"g34dlj\",\"isMandatory\":false,\"inputType\":\"text\"}]}, //No I18N\n            {\"URLHash\": \"RECORDS-Create-Record-with-Data\", \"action\":\"Create-Record-with-Data\",\"apiName\":\"records\",\"method\":\"POST\",\"params\":[{\"name\":\"base_id\",\"sampleValue\":\"qfkby575d14d48f1645f19a366acbb6cf2c84\",\"isMandatory\":true,\"inputType\":\"text\"},{\"name\":\"table_id\",\"sampleValue\":\"1\",\"isMandatory\":true,\"inputType\":\"text\"},{\"name\":\"view_id\",\"sampleValue\":\"g34dlj\",\"isMandatory\":false,\"inputType\":\"text\"},{\"name\":\"field_ids_with_values\",\"sampleValue\":\"\",\"isMandatory\":false,\"inputType\":\"text\"},{\"name\":\"field_ids\",\"sampleValue\":\"\",\"isMandatory\":false,\"inputType\":\"text\"},{\"name\":\"values\",\"sampleValue\":\"\",\"isMandatory\":false,\"inputType\":\"text\"}]}, //No I18N\n            {\"URLHash\": \"RECORDS-Delete-Record\", \"action\":\"Delete-Record\",\"apiName\":\"records\",\"method\":\"DELETE\",\"params\":[{\"name\":\"base_id\",\"sampleValue\":\"qfkby575d14d48f1645f19a366acbb6cf2c84\",\"isMandatory\":true,\"inputType\":\"text\"},{\"name\":\"table_id\",\"sampleValue\":\"1\",\"isMandatory\":true,\"inputType\":\"text\"},{\"name\":\"view_id\",\"sampleValue\":\"g34dlj\",\"isMandatory\":false,\"inputType\":\"text\"},{\"name\":\"record_id\",\"sampleValue\":\"1\",\"isMandatory\":true,\"inputType\":\"text\"}]}, //No I18N\n            {\"URLHash\": \"RECORDS-Update-Record-with-Criteria\", \"action\":\"Update-Record-with-Criteria\",\"apiName\":\"records\",\"method\":\"PUT\",\"params\":[{\"name\":\"base_id\",\"sampleValue\":\"qfkby575d14d48f1645f19a366acbb6cf2c84\",\"isMandatory\":true,\"inputType\":\"text\"},{\"name\":\"table_id\",\"sampleValue\":\"1\",\"isMandatory\":true,\"inputType\":\"text\"},{\"name\":\"view_id\",\"sampleValue\":\"g34dlj\",\"isMandatory\":false,\"inputType\":\"text\"},{\"name\":\"data\",\"sampleValue\":\"\",\"isMandatory\":true,\"inputType\":\"text\"},{\"name\":\"is_ids_used_in_data\",\"sampleValue\":\"\",\"isMandatory\":false,\"inputType\":\"boolean\"},{\"name\":\"criteria\",\"sampleValue\":\"\",\"isMandatory\":false,\"inputType\":\"text\"},{\"name\":\"is_ids_used_in_params\",\"sampleValue\":\"\",\"isMandatory\":false,\"inputType\":\"boolean\"},{\"name\":\"first_match_only\",\"sampleValue\":\"\",\"isMandatory\":false,\"inputType\":\"boolean\"},{\"name\":\"is_case_sensitive\",\"sampleValue\":\"\",\"isMandatory\":false,\"inputType\":\"boolean\",\"isChecked\":true},{\"name\":\"is_upsert_needed\",\"sampleValue\":\"\",\"isMandatory\":false,\"inputType\":\"boolean\"},{\"name\":\"record_ids\",\"sampleValue\":\"\",\"isMandatory\":false,\"inputType\":\"text\"}]}, // No I18N\n            {\"URLHash\": \"RECORDS-Fetch-Record-with-Criteria\", \"action\":\"Fetch-Record-with-Criteria\",\"apiName\":\"fetchRecordsWithCriteria\",\"method\":\"POST\",\"params\":[{\"name\":\"base_id\",\"sampleValue\":\"\",\"isMandatory\":true,\"inputType\":\"text\"},{\"name\":\"table_id\",\"sampleValue\":\"\",\"isMandatory\":true,\"inputType\":\"text\"},{\"name\":\"view_id\",\"sampleValue\":\"1\",\"isMandatory\":false,\"inputType\":\"text\"},{\"name\":\"criteria\",\"sampleValue\":\"\",\"isMandatory\":false,\"inputType\":\"text\"},{\"name\":\"first_match_only\",\"sampleValue\":\"\",\"isMandatory\":false,\"inputType\":\"boolean\"},{\"name\":\"is_case_sensitive\",\"sampleValue\":\"\",\"isMandatory\":false,\"inputType\":\"boolean\",\"isChecked\":true},{\"name\":\"is_ids_used_in_params\",\"sampleValue\":\"\",\"isMandatory\":false,\"inputType\":\"boolean\"},{\"name\":\"reference_record_id\",\"sampleValue\":\"\",\"isMandatory\":false,\"inputType\":\"text\"},{\"name\":\"count\",\"sampleValue\":\"\",\"isMandatory\":false,\"inputType\":\"number\"},{\"name\":\"record_ids\",\"sampleValue\":\"\",\"isMandatory\":false,\"inputType\":\"text\"}]} // No I18N\n        ]\n    },\n    {\n        \"domName\":\"UI.tables.common.fields\",\"imgSrc\":\"/images/Api/fields.svg\",\"scopeName\":\"fields\", \"submenu\": true,//No I18N\n        \"actions_keys\":[\"UI.explorer.fields.actions.list\",\"UI.explorer.fields.actions.create\",\"UI.explorer.fields.actions.update\",\"UI.explorer.fields.actions.delete\",\"UI.explorer.fields.type.constants\",\"UI.explorer.fields.actions.create_selected_options\",\"UI.explorer.fields.actions.delete_selected_options\",\"UI.explorer.fields.actions.update_selected_options\"], //No I18N\n        \"actions\":[\"explorer_fields_actions_list\",\"explorer_fields_actions_create\",\"explorer_fields_actions_update\",\"explorer_fields_actions_delete\",\"explorer_fields_type_constants\",\"explorer_fields_actions_create_selected_options\",\"explorer_fields_actions_delete_selected_options\",\"explorer_fields_actions_update_selected_options\"], //No I18N\n        \"data\":[ //No I18N\n            {\"URLHash\": \"FIELDS-List-Fields\", \"action\":\"List-Fields\",\"apiName\":\"fields\",\"method\":\"GET\",\"params\":[{\"name\":\"base_id\",\"sampleValue\":\"qfkby575d14d48f1645f19a366acbb6cf2c84\",\"isMandatory\":true,\"inputType\":\"text\"},{\"name\":\"table_id\",\"sampleValue\":\"1\",\"isMandatory\":true,\"inputType\":\"text\"},{\"name\":\"view_id\",\"sampleValue\":\"1\",\"isMandatory\":false,\"inputType\":\"text\"}]}, //No I18N\n            {\"URLHash\": \"FIELDS-Create-Field\", \"action\":\"Create-Field\",\"apiName\":\"fields\",\"method\":\"POST\",\"params\":[{\"name\":\"base_id\",\"sampleValue\":\"qfkby575d14d48f1645f19a366acbb6cf2c84\",\"isMandatory\":true,\"inputType\":\"text\"},{\"name\":\"table_id\",\"sampleValue\":\"1\",\"isMandatory\":true,\"inputType\":\"text\"},{\"name\":\"type\",\"sampleValue\":19,\"isMandatory\":false,\"inputType\":\"number\"}]}, //No I18N\n            {\"URLHash\": \"FIELDS-Update-Field\", \"action\":\"Update-Field\",\"apiName\":\"fields\",\"method\":\"PUT\",\"params\":[{\"name\":\"base_id\",\"sampleValue\":\"qfkby575d14d48f1645f19a366acbb6cf2c84\",\"isMandatory\":true,\"inputType\":\"text\"},{\"name\":\"table_id\",\"sampleValue\":\"1\",\"isMandatory\":true,\"inputType\":\"text\"},{\"name\":\"field_id\",\"sampleValue\":\"f0\",\"isMandatory\":true,\"inputType\":\"text\"},{\"name\":\"field_name\",\"sampleValue\":\"field1\",\"isMandatory\":false,\"inputType\":\"text\"},{\"name\":\"type\",\"sampleValue\":19,\"isMandatory\":true,\"inputType\":\"number\"}]}, //No I18N\n            {\"URLHash\": \"FIELDS-Delete-Field\", \"action\":\"Delete-Field\",\"apiName\":\"fields\",\"method\":\"DELETE\",\"params\":[{\"name\":\"base_id\",\"sampleValue\":\"qfkby575d14d48f1645f19a366acbb6cf2c84\",\"isMandatory\":true,\"inputType\":\"text\"},{\"name\":\"table_id\",\"sampleValue\":\"1\",\"isMandatory\":true,\"inputType\":\"text\"},{\"name\":\"field_id\",\"sampleValue\":\"f0\",\"isMandatory\":true,\"inputType\":\"text\"}]}, //No I18N\n            {\"URLHash\": \"FIELDS-View-Type-Constants\", \"action\":\"View-Type-Constants\", \"apiName\":\"\", \"method\": \"\", \"params\": []},\n            {\"URLHash\": \"FIELDS-Create-Selection-Options\", \"action\":\"Create-Selection-Options\",\"apiName\":\"selectionOptions\",\"method\":\"POST\",\"params\":[{\"name\":\"base_id\",\"sampleValue\":\"qfkby575d14d48f1645f19a366acbb6cf2c84\",\"isMandatory\":true,\"inputType\":\"text\"},{\"name\":\"table_id\",\"sampleValue\":\"1\",\"isMandatory\":true,\"inputType\":\"text\"},{\"name\":\"field_id\",\"sampleValue\":\"f0\",\"isMandatory\":true,\"inputType\":\"text\"},{\"name\":\"selection_option_name\",\"sampleValue\":\"Testing\",\"isMandatory\":false,\"inputType\":\"text\"},{\"name\":\"selection_option_color\",\"sampleValue\":\"a36b0a\",\"isMandatory\":false,\"inputType\":\"text\"}]}, //No I18N\n            {\"URLHash\": \"FIELDS-Delete-Selection-Options\", \"action\":\"Delete-Selection-Options\",\"apiName\":\"selectionOptions\",\"method\":\"DELETE\",\"params\":[{\"name\":\"base_id\",\"sampleValue\":\"qfkby575d14d48f1645f19a366acbb6cf2c84\",\"isMandatory\":true,\"inputType\":\"text\"},{\"name\":\"table_id\",\"sampleValue\":\"1\",\"isMandatory\":true,\"inputType\":\"text\"},{\"name\":\"field_id\",\"sampleValue\":\"f0\",\"isMandatory\":true,\"inputType\":\"text\"},{\"name\":\"selection_option_id\",\"sampleValue\":\"5\",\"isMandatory\":true,\"inputType\":\"text\"}]}, //No I18N\n            {\"URLHash\": \"FIELDS-Update-Selection-Options\", \"action\":\"Update-Selection-Options\",\"apiName\":\"selectionOptions\",\"method\":\"PUT\",\"params\":[{\"name\":\"base_id\",\"sampleValue\":\"qfkby575d14d48f1645f19a366acbb6cf2c84\",\"isMandatory\":true,\"inputType\":\"text\"},{\"name\":\"table_id\",\"sampleValue\":\"1\",\"isMandatory\":true,\"inputType\":\"text\"},{\"name\":\"field_id\",\"sampleValue\":\"f0\",\"isMandatory\":true,\"inputType\":\"text\"},{\"name\":\"selection_option_id\",\"sampleValue\":\"5\",\"isMandatory\":true,\"inputType\":\"text\"},{\"name\":\"selection_option_name\",\"sampleValue\":\"Testing\",\"isMandatory\":false,\"inputType\":\"text\"},{\"name\":\"selection_option_color\",\"sampleValue\":\"a36b0a\",\"isMandatory\":false,\"inputType\":\"text\"}]} //No I18N\n        ]\n    },\n    {\n        \"domName\":\"UI.explorer.scope.data\",\"imgSrc\":\"/images/Api/data.svg\",\"scopeName\":\"data\", \"submenu\": true,//No I18N\n        \"actions_keys\":[\"UI.explorer.data.actions.list\",\"UI.explorer.data.actions.update\"], //No I18N\n        \"actions\":[\"explorer_data_actions_list\",\"explorer_data_actions_update\"], //No I18N\n        \"data\":[ //No I18N\n            {\"URLHash\": \"DATA-List-Data\", \"action\":\"List-Data\",\"apiName\":\"records\",\"method\":\"GET\",\"params\":[{\"name\":\"base_id\",\"sampleValue\":\"qfkby575d14d48f1645f19a366acbb6cf2c84\",\"isMandatory\":true,\"inputType\":\"text\"},{\"name\":\"table_id\",\"sampleValue\":\"1\",\"isMandatory\":true,\"inputType\":\"text\"},{\"name\":\"view_id\",\"sampleValue\":\"1\",\"isMandatory\":false,\"inputType\":\"text\"},{\"name\":\"record_id\",\"sampleValue\":\"1\",\"isMandatory\":false,\"inputType\":\"text\"},{\"name\":\"count\",\"sampleValue\":\"1\",\"isMandatory\":false,\"inputType\":\"number\"}]}, //No I18N\n            {\"URLHash\": \"DATA-Update-Data\", \"action\":\"Update-Data\",\"apiName\":\"data\",\"method\":\"PUT\",\"params\":[{\"name\":\"base_id\",\"sampleValue\":\"qfkby575d14d48f1645f19a366acbb6cf2c84\",\"isMandatory\":true,\"inputType\":\"text\"},{\"name\":\"table_id\",\"sampleValue\":\"1\",\"isMandatory\":true,\"inputType\":\"text\"},{\"name\":\"view_id\",\"sampleValue\":\"g34dlj\",\"isMandatory\":false,\"inputType\":\"text\"},{\"name\":\"record_id\",\"sampleValue\":\"1\",\"isMandatory\":true,\"inputType\":\"text\"},{\"name\":\"field_id\",\"sampleValue\":\"f0\",\"isMandatory\":true,\"inputType\":\"text\"},{\"name\":\"data\",\"sampleValue\":\"Zoho\",\"isMandatory\":true,\"inputType\":\"text\"}]} //No I18N\n        ]\n    },\n    {\n        \"domName\":\"UI.tables.common.export\",\"imgSrc\":\"/images/Api/download.svg\",\"scopeName\":\"export\", \"submenu\": true,//No I18N\n        \"actions_keys\":[\"UI.tables.common.export\"], //No I18N\n        \"actions\":[\"explorer_export_actions_export\"], //No I18N\n        \"data\":[ //No I18N\n            {\"URLHash\": \"Export-Export\", \"action\":\"Export\",\"apiName\":\"exports\",\"method\":\"GET\",\"params\":[{\"name\":\"base_id\",\"sampleValue\":\"qfkby575d14d48f1645f19a366acbb6cf2c84\",\"isMandatory\":true,\"inputType\":\"text\"},{\"name\":\"table_id\",\"sampleValue\":\"\",\"isMandatory\":false,\"inputType\":\"text\"},{\"name\":\"view_id\",\"sampleValue\":\"\",\"isMandatory\":false,\"inputType\":\"text\"},{\"name\":\"scope\",\"sampleValue\":\"\",\"isMandatory\":true,\"inputType\":\"text\"},{\"name\":\"file_type\",\"sampleValue\":\"\",\"isMandatory\":true,\"inputType\":\"text\"},{\"name\":\"password\",\"sampleValue\":\"\",\"isMandatory\":false,\"inputType\":\"text\"}]} //No I18N\n        ]\n    },\n    {\n        \"domName\":\"UI.tables.common.import\",\"imgSrc\":\"/images/Api/import.svg\",\"scopeName\":\"import\", \"submenu\": true,//No I18N\n        \"actions_keys\":[\"UI.tables.common.import\"], //No I18N\n        \"actions\":[\"explorer_import_actions_import\"], //No I18N\n        \"data\":[ //No I18N\n            {\"URLHash\": \"Import-Import\", \"action\":\"Import\",\"apiName\":\"import\",\"method\":\"POST\",\"params\":[{\"name\":\"import_scope\",\"sampleValue\":\"\",\"isMandatory\":true,\"inputType\":\"text\"},{\"name\":\"portal_id\",\"sampleValue\":\"\",\"isMandatory\":true,\"inputType\":\"number\"},{\"name\":\"workspace_id\",\"sampleValue\":\"\",\"isMandatory\":true,\"inputType\":\"text\"},{\"name\":\"base_id\",\"sampleValue\":\"\",\"isMandatory\":true,\"inputType\":\"text\"},{\"name\":\"import_file\",\"sampleValue\":\"\",\"isMandatory\":true,\"inputType\":\"file\",\"accept\":\".xls,.xlsx,.xlsm,.ods,.csv,.tsv,.ics,.vcf,.json,.accdb,.mdb\"}]} //No I18N\n        ]\n    },\n    {\n        \"domName\":\"UI.explorer.scope.apiLimits\",\"imgSrc\":\"/images/Api/APILimit.svg\",\"scopeName\":\"api\",\"documentID\":\"explorer_api_limits\", \"submenu\": false,//No I18N\n        \"actions_keys\":[],\n        \"actions\":[], //No I18N\n        \"data\":[ //No I18N\n            {\"URLHash\": \"API-APILimits\", \"action\":\"APILimits\", \"apiName\":\"\",\"method\":\"\",\"params\":[]} //No I18N\n        ]\n    },\n    {\n        \"domName\":\"UI.explorer.scope.errors\",\"imgSrc\":\"/images/Api/errors.svg\",\"scopeName\":\"errors\",\"documentID\":\"explorer_possible_errors\", \"submenu\":false,     //No I18N\n        \"actions_keys\":[],\n        \"actions\":[], //No I18N\n        \"data\":[ //No I18N\n            {\"URLHash\": \"ERRORS-Possible-Errors\", \"action\":\"Possible-Errors\",\"apiName\":\"\",\"method\":\"\",\"params\":[]} //No I18N\n        ]\n    }\n];\n\nexport const FIELD_TYPE_CONSTANTS = {\n    // Format : {\n    //     field_type_constant : { \n    //         field_type_name: type, field_type_icon: icon_name,\n    //         params : [{\"name\":\"initial_value\",\"sampleValue\":\"TestPortal1\",\"inputType\":\"text\"}]\n    //     }\n    // }\n    \"2\" : {\n        \"field_icon_name\": \"AttachmentIcon\" ,\"field_name\": \"Attachments\",\n        \"field_type_constants\": []\n    },\n    \"3\" : {\n        \"field_icon_name\": \"AutoNumberIcon\" ,\"field_name\": \"Auto-Number\",\n        \"field_type_constants\": [{\"name\":\"initial_value\",\"sampleValue\":\"0\",\"isMandatory\":false,\"inputType\":\"number\"},\n        {\"name\":\"step_size\",\"sampleValue\":\"3\",\"isMandatory\":false,\"inputType\":\"number\"},\n        {\"name\":\"prefix\",\"sampleValue\":\"Record\",\"isMandatory\":false,\"inputType\":\"text\"},\n        {\"name\":\"suffix\",\"sampleValue\":\"-\",\"isMandatory\":false,\"inputType\":\"text\"}]\n    },\n    \"4\" : {\n        \"field_icon_name\": \"CheckboxIcon\" ,\"field_name\": \"CheckBox\",\n        \"field_type_constants\": [{\"name\":\"style\",\"sampleValue\":\"\",\"isMandatory\":false,\"inputType\":\"number\"},\n        {\"name\":\"color\",\"sampleValue\":\"\",\"isMandatory\":false,\"inputType\":\"text\"},\n        {\"name\":\"default_value\",\"sampleValue\":\"\",\"isMandatory\":false,\"inputType\":\"checkbox\"}]\n    },\n    \"5\" : {\n        \"field_icon_name\": \"CreatedTimeIcon\" ,\"field_name\": \"Created-Time\",\n        \"field_type_constants\": [{\"name\":\"date_format\",\"sampleValue\":\"\",\"isMandatory\":false,\"inputType\":\"number\"},\n        {\"name\":\"time_format\",\"sampleValue\":\"\",\"isMandatory\":false,\"inputType\":\"number\"}]\n    },\n    \"6\" : {\n        \"field_icon_name\": \"CurrencyIcon\" ,\"field_name\": \"Currency\",\n        \"field_type_constants\": [{\"name\":\"precision\",\"sampleValue\":\"\",\"isMandatory\":false,\"inputType\":\"number\"},\n        {\"name\":\"thousand_separator\",\"sampleValue\":\"\",\"isMandatory\":false,\"inputType\":\"number\"},\n        {\"name\":\"symbol\",\"sampleValue\":\"\",\"isMandatory\":false,\"inputType\":\"number\"},\n        {\"name\":\"symbol_position\",\"sampleValue\":\"\",\"isMandatory\":false,\"inputType\":\"number\"},\n        {\"name\":\"default_value\",\"sampleValue\":\"\",\"isMandatory\":false,\"inputType\":\"number\"}]\n    },\n    \"7\" : {\n        \"field_icon_name\": \"CreatedDateIcon\" ,\"field_name\": \"Date-Time\",\n        \"field_type_constants\": [{\"name\":\"date_format\",\"sampleValue\":\"\",\"isMandatory\":false,\"inputType\":\"number\"},\n        {\"name\":\"time_format\",\"sampleValue\":\"\",\"isMandatory\":false,\"inputType\":\"number\"}]\n    },\n    \"9\" : {\n        \"field_icon_name\": \"FieldEmailIcon\" ,\"field_name\": \"Email\",\n        \"field_type_constants\": []\n    },\n    \"10\" : {\n        \"field_icon_name\": \"FormulaIcon\" ,\"field_name\": \"Formula\",\n        \"field_type_constants\": [{\"name\":\"formula_string\",\"sampleValue\":\"\",\"isMandatory\":false,\"inputType\":\"text\"},\n        {\"name\":\"return_formats\",\"sampleValue\":\"\",\"isMandatory\":false,\"inputType\":\"text\"}]\n    },\n    \"12\" : {\n        \"field_icon_name\": \"ModifiedTimeIcon\" ,\"field_name\": \"Modified-Time\",\n        \"field_type_constants\": [{\"name\":\"date_format\",\"sampleValue\":\"\",\"isMandatory\":false,\"inputType\":\"number\"},\n        {\"name\":\"time_format\",\"sampleValue\":\"\",\"isMandatory\":false,\"inputType\":\"number\"}]\n    },\n    \"13\" : {\n        \"field_icon_name\": \"MultiSelectIcon\" ,\"field_name\": \"MultipleSelection\",\n        \"field_type_constants\": [{\"name\":\"show_theme\",\"sampleValue\":\"\",\"isMandatory\":false,\"inputType\":\"number\"}]\n    },\n    \"15\" : {\n        \"field_icon_name\": \"NumberIcon\" ,\"field_name\": \"Number\",\n        \"field_type_constants\": [{\"name\":\"precision\",\"sampleValue\":\"\",\"isMandatory\":false,\"inputType\":\"number\"},\n        {\"name\":\"thousand_separator\",\"sampleValue\":\"\",\"isMandatory\":false,\"inputType\":\"number\"},\n        {\"name\":\"default_value\",\"sampleValue\":\"\",\"isMandatory\":false,\"inputType\":\"number\"}]\n    },\n    \"16\" : {\n        \"field_icon_name\": \"PercentageIcon\" ,\"field_name\": \"Percent\",\n        \"field_type_constants\": [{\"name\":\"precision\",\"sampleValue\":\"\",\"isMandatory\":false,\"inputType\":\"number\"},\n        {\"name\":\"thousand_separator\",\"sampleValue\":\"\",\"isMandatory\":false,\"inputType\":\"number\"},\n        {\"name\":\"show_theme\",\"sampleValue\":\"\",\"isMandatory\":false,\"inputType\":\"number\"},\n        {\"name\":\"default_value\",\"sampleValue\":\"\",\"isMandatory\":false,\"inputType\":\"number\"}]\n    },\n    \"17\" : {\n        \"field_icon_name\": \"PhoneNumberIcon\" ,\"field_name\": \"Phone-Number\",\n        \"field_type_constants\": [{\"name\":\"phone_number_format\",\"sampleValue\":\"\",\"isMandatory\":false,\"inputType\":\"text\"}]\n    },\n    \"18\" : {\n        \"field_icon_name\": \"UserFieldIcon\" ,\"field_name\": \"Collaborator\",\n        \"field_type_constants\": [{\"name\":\"multiple_value_support\",\"sampleValue\":\"\",\"isMandatory\":false,\"inputType\":\"number\"},\n        {\"name\":\"notify_members\",\"sampleValue\":\"\",\"isMandatory\":false,\"inputType\":\"number\"}]\n    },\n    \"19\" : {\n        \"field_icon_name\": \"RatingIcon\" ,\"field_name\": \"Rating\",\n        \"field_type_constants\": [{\"name\":\"style\",\"sampleValue\":\"\",\"isMandatory\":false,\"inputType\":\"number\"},\n        {\"name\":\"color\",\"sampleValue\":\"\",\"isMandatory\":false,\"inputType\":\"text\"},\n        {\"name\":\"max_limit\",\"sampleValue\":\"\",\"isMandatory\":false,\"inputType\":\"number\"}]\n    },\n    \"21\" : {\n        \"field_icon_name\": \"SingleSelectIcon\" ,\"field_name\": \"SingleSelection\",\n        \"field_type_constants\": [{\"name\":\"show_theme\",\"sampleValue\":\"\",\"isMandatory\":false,\"inputType\":\"number\"},\n        {\"name\":\"default_value\",\"sampleValue\":\"\",\"isMandatory\":false,\"inputType\":\"text\"}]\n    },\n    \"23\" : {\n        \"field_icon_name\": \"TextIcon\" ,\"field_name\": \"Text\",\n        \"field_type_constants\": [{\"name\":\"text_case\",\"sampleValue\":\"\",\"isMandatory\":false,\"inputType\":\"number\"},\n        {\"name\":\"default_value\",\"sampleValue\":\"\",\"isMandatory\":false,\"inputType\":\"text\"}]\n    },\n    \"24\" : {\n        \"field_icon_name\": \"UrlIcon\" ,\"field_name\": \"Url\",\n        \"field_type_constants\": []\n    },\n    \"25\" : {\n        \"field_icon_name\": \"CreatedByIcon\" ,\"field_name\": \"Created-By\",\n        \"field_type_constants\": []\n    },\n    \"26\" : {\n        \"field_icon_name\": \"ModifiedByIcon\" ,\"field_name\": \"Modified-By\",\n        \"field_type_constants\": []\n    },\n    \"27\" : {\n        \"field_icon_name\": \"LookupIcon\" ,\"field_name\": \"Lookup\",\n        \"field_type_constants\": [{\"name\":\"link_field_id\",\"sampleValue\":\"\",\"isMandatory\":false,\"inputType\":\"text\"},\n        {\"name\":\"mirror_field_id\",\"sampleValue\":\"\",\"isMandatory\":false,\"inputType\":\"text\"}]\n    },\n    \"30\" : {\n        \"field_icon_name\": \"SharebyLink\" ,\"field_name\": \"Link\",\n        \"field_type_constants\": [{\"name\":\"mirror_field_id\",\"sampleValue\":\"\",\"isMandatory\":false,\"inputType\":\"text\"},\n        {\"name\":\"restricted_to_view_id\",\"sampleValue\":\"\",\"isMandatory\":false,\"inputType\":\"text\"},\n        {\"name\":\"relationship_direction\",\"sampleValue\":\"\",\"isMandatory\":false,\"inputType\":\"number\"},\n        {\"name\":\"source_table_id\",\"sampleValue\":\"\",\"isMandatory\":false,\"inputType\":\"text\"},\n        {\"name\":\"destination_table_id\",\"sampleValue\":\"\",\"isMandatory\":false,\"inputType\":\"text\"},\n        {\"name\":\"allow_duplicate_linked_records\",\"sampleValue\":\"\",\"isMandatory\":false,\"inputType\":\"number\"}]\n    },\n    \"31\" : {\n        \"field_icon_name\": \"RollupIcon\" ,\"field_name\": \"Rollup\",\n        \"field_type_constants\": [{\"name\":\"link_field_id\",\"sampleValue\":\"\",\"isMandatory\":false,\"inputType\":\"text\"},\n        {\"name\":\"mirror_field_id\",\"sampleValue\":\"\",\"isMandatory\":false,\"inputType\":\"text\"},\n        {\"name\":\"formula_constant\",\"sampleValue\":\"\",\"isMandatory\":false,\"inputType\":\"number\"}]\n    },\n    \"32\" : {\n        \"field_icon_name\": \"SentimentalAnalysisIcon\" ,\"field_name\": \"Sentimental Analysis\",\n        \"field_type_constants\": [{\"name\":\"source_field_id\",\"sampleValue\":\"\",\"isMandatory\":false,\"inputType\":\"text\"}, {\"name\":\"angry_emotion_meta\",\"sampleValue\":\"\",\"isMandatory\":false,\"inputType\":\"text\"}, {\"name\":\"disappointed_emotion_meta\",\"sampleValue\":\"\",\"isMandatory\":false,\"inputType\":\"text\"}, {\"name\":\"sarcastic_emotion_meta\",\"sampleValue\":\"\",\"isMandatory\":false,\"inputType\":\"text\"}, {\"name\":\"neutral_emotion_meta\",\"sampleValue\":\"\",\"isMandatory\":false,\"inputType\":\"text\"}, {\"name\":\"happy_emotion_meta\",\"sampleValue\":\"\",\"isMandatory\":false,\"inputType\":\"text\"}, {\"name\":\"extremely_happy_emotion_meta\",\"sampleValue\":\"\",\"isMandatory\":false,\"inputType\":\"text\"}]\n    },\n    \"33\" : {\n        \"field_icon_name\": \"LanguageDetectionIcon\" ,\"field_name\": \"Language Detector\",\n        \"field_type_constants\": [{\"name\":\"source_field_id\",\"sampleValue\":\"\",\"isMandatory\":false,\"inputType\":\"text\"}]\n    },\n    \"34\" : {\n        \"field_icon_name\": \"KeywordExtractionIcon\" ,\"field_name\": \"Keyword Extraction\",\n        \"field_type_constants\": [{\"name\":\"source_field_id\",\"sampleValue\":\"\",\"isMandatory\":false,\"inputType\":\"text\"},\n        {\"name\":\"max_number_of_keywords\",\"sampleValue\":\"\",\"isMandatory\":false,\"inputType\":\"number\"},\n        {\"name\":\"restricted_keywords\",\"sampleValue\":\"\",\"isMandatory\":false,\"inputType\":\"text\"}]\n    }\n};\n\nexport const IMPORT_SCOPES = [\"base\", \"table\"];\n\n","/*$Id$*/\nimport { FIELD_TYPE_CONSTANTS, IMPORT_SCOPES, SCOPES, SCOPES as Scopes } from \"./ApiActionsConfiguration.js\";\n\nexport class ApiActionsInteractor {\n    getScopeTitle(scopeIndex){\n        const i18nKey = Scopes[scopeIndex].domName;\n        const title  = Table.Constants.JSMsg[i18nKey];\n        return title;\n    }\n\n    getScopeImgSrc(scopeIndex){\n        return Scopes[scopeIndex].imgSrc;\n    }\n\n    getScopeCount(){\n        return Scopes.length;\n    }\n\n    getScopeName(scopeIndex){\n        return Scopes[scopeIndex].scopeName;\n    }\n\n    getPurposeCount(scopeIndex){\n        return Scopes[scopeIndex].actions.length;\n    }\n\n    getScopeSubmenu(scopeIndex){\n        return Scopes[scopeIndex].submenu;\n    }\n    \n    getPurposeDoc(scopeIndex, purposeIndex){\n        const key = Scopes[scopeIndex].actions[purposeIndex];\n        //checking documentID for scopes without purposes/actions\n        const title  = (key ? key : Scopes[scopeIndex].documentID) + '_doc'; //No I18N \n        return title;\n    }\n\n    getPurposeAction(scopeIndex, purposeIndex){\n        const i18nKey = Scopes[scopeIndex].actions_keys[purposeIndex];\n        const action  = Table.Constants.JSMsg[i18nKey];\n        return action;\n    }\n\n    getApiName(scopeIndex, purposeIndex){\n        return Scopes[scopeIndex].data[purposeIndex].apiName;\n    }\n\n    getURLHash(scopeIndex, purposeIndex){\n        return Scopes[scopeIndex].data[purposeIndex].URLHash;\n    }\n\n    getIndicesFromURLHash(hash){\n        let scopeIndex = 0, purposeIndex = 0;\n        const scopeName = hash.split('-')[0];\n        for(let i = 0 ; i < SCOPES.length ; i++){\n            if(SCOPES[i].scopeName === scopeName.toLowerCase()){\n                scopeIndex = i;\n                const data = SCOPES[i].data;\n                for(let j = 0 ; j < data.length ; j++){\n                    const purposeName = hash.substring(hash.indexOf(\"-\") + 1);\n                    if(data[j].action === purposeName){\n                        purposeIndex = j;\n                    }\n                }\n            }\n        }\n        return {scopeIndex, purposeIndex};\n    }\n\n    getApiMethod(scopeIndex, purposeIndex){\n        return Scopes[scopeIndex].data[purposeIndex].method;\n    }\n\n    getParamsCount(scopeIndex, purposeIndex){\n        return Scopes[scopeIndex].data[purposeIndex].params.length;\n    }\n\n    getParamKey(scopeIndex, purposeIndex, paramIndex){\n        return Scopes[scopeIndex].data[purposeIndex].params[paramIndex].name;\n    }\n\n    getParamMandatoryState(scopeIndex, purposeIndex, paramIndex){\n        return Scopes[scopeIndex].data[purposeIndex].params[paramIndex].isMandatory;\n    }\n\n    getParamInputType(scopeIndex, purposeIndex, paramIndex){\n        return Scopes[scopeIndex].data[purposeIndex].params[paramIndex].inputType;\n    }\n\n    getCheckBoxStatus(scopeIndex, purposeIndex, paramIndex){\n        return Scopes[scopeIndex].data[purposeIndex].params[paramIndex].isChecked;\n    }\n\n    getFieldName(fieldType){\n        return FIELD_TYPE_CONSTANTS[fieldType] && FIELD_TYPE_CONSTANTS[fieldType].field_name;\n    }\n\n    getFieldIcon(fieldType){\n        return FIELD_TYPE_CONSTANTS[fieldType] && `#${FIELD_TYPE_CONSTANTS[fieldType].field_icon_name}`;\n    }\n\n    getFieldTypeConstants(fieldType){\n        return FIELD_TYPE_CONSTANTS[fieldType] && FIELD_TYPE_CONSTANTS[fieldType].field_type_constants;\n    }\n\n    getFieldTypeConstantsMandatoryState(fieldType, index){\n        return FIELD_TYPE_CONSTANTS[fieldType] && FIELD_TYPE_CONSTANTS[fieldType].field_type_constants[index].isMandatory;\n    }\n\n    getFieldTypeConstantsInputType(fieldType, index){\n        return FIELD_TYPE_CONSTANTS[fieldType] && FIELD_TYPE_CONSTANTS[fieldType].field_type_constants[index].inputType;\n    }\n\n    getAllFieldTypesList(){\n        return Object.keys(FIELD_TYPE_CONSTANTS);\n    }\n\n    getAllImportScopesList(){\n        return IMPORT_SCOPES;\n    }\n    \n    getContentType(scopeIndex, purposeIndex){\n        let apiName = Scopes[scopeIndex].data[purposeIndex].apiName;\n        if(apiName == \"exports\"){\n            return \"blob\"\n        } else if (apiName == \"import\"){\n            return \"file\";\n        }\n        return \"json\";\n    }\n\n    getAllowedFileTypes(scopeIndex, purposeIndex, paramIndex){\n        return Scopes[scopeIndex].data[purposeIndex].params[paramIndex].accept;\n    }\n\n}\n","export class FieldTypeConstantDom{\n    constructor(key, type){\n        this.template               = getTemplate('fieldTypeConstantKeyValueTemplate');  //No I18N\n\t\tthis.keyValuePanel          = this.template.querySelector('#fieldTypeConstantsCtr');  //No I18N\n\t\tthis.keyPanel               = this.keyValuePanel.querySelector('#fieldTypeConstantKey');  //No I18N\n\t\tthis.valuePanel             = this.keyValuePanel.querySelector('#fieldTypeConstantValue');  //No I18N\n\n\t\tthis.key                    = key;\n\t\tthis.type       \t\t    = type;\n\n\t\tinit.call(this);\n    }\n\n\tgetKey(){\n\t\treturn this.key;\n\t}\n\n\tgetValue(){\n\t\treturn this.type == \"checkbox\" ? this.valuePanel.checked : this.valuePanel.value; // No I18N\n\t}\n\n\tgetIsMandatory(){\n\t\treturn this.isMandatory;\n\t}\n\n\tgetInputType(){\n\t\treturn this.type;\n\t}\n\t\n\tgetDom(){\n\t\treturn this.keyValuePanel;\n\t}\n}\n\nfunction init(){\n\tthis.keyPanel.textContent = this.key;\n\tthis.valuePanel.type      = this.type;\n}\n","import { getTemplate } from \"../../TemplatesForAll.js\";\n\n/*$Id$*/\nexport class Option{\n\tconstructor(index, value, purposesClickCallback){\n\t\tthis.template               = getTemplate('optionTemplate');  //No I18N\n\t\tthis.optionsDom             = this.template.querySelector('#option');  //No I18N\n\n\t\tthis.index = index;\n\t\tthis.value = value;\n\n\t\tthis.init();\n\t\taddListener.call(this, purposesClickCallback);\n\t}\n\n\tinit(){\n\t\tthis.optionsDom.textContent = this.value;\n\t}\n\n\tgetDom(){\n\t\treturn this.optionsDom;\n\t}\n\n\tmakeActive(){\n\t\t!this.optionsDom.classList.contains('active') && this.optionsDom.classList.add('active');\t//No I18N\n\t}\n\n\tremoveActive(){\n\t\tthis.optionsDom.classList.contains('active') && this.optionsDom.classList.remove('active');\t//No I18N\n\t}\n}\n\nfunction addListener(purposesClickCallback){\n    this.optionsDom.addEventListener('click', (event) => {\n\t\tevent.stopPropagation();\n        purposesClickCallback(this);\n    });\n}\n","/*$Id$*/\nexport class Param{\n\tconstructor(key, value){\n\t\tthis.key         = key;\n\t\tthis.value       = value;\n\t}\n\t\n\tgetKey(){\n\t\treturn this.key;\n\t}\n\n\tgetValue(){\n\t\treturn this.value;\n\t}\n}\n","\n/*$Id$*/\nconst FIELD_TYPE_CONSTANTS_PARAM_KEY_TYPE = 'type';\t//No I18N\nconst BOOLEAN_INPUT_TYPE_KEY              = 'boolean';\t//No I18N\nconst IMPORT_SCOPE_PARAM_KEY   = \"import_scope\";\nconst IMPORT_HIDDEN_PARAM_KEYS = [\"portal_id\", \"workspace_id\", \"base_id\"];\n\nexport class ParamDom{\n\tconstructor(key, type, isMandatory, validateAllFieldsCallback, constructFieldTypesDropdown, isFieldType, checkboxStatus, constructImportScopeDropdown, isImport, allowedFileTypes){\n\n\t\tthis.template               = getTemplate('keyValueTemplate');  //No I18N\n\t\tthis.paramsDom              = this.template.querySelector('#keyValueParamsCtr');  //No I18N\n\t\tthis.KeyValuePanel          = this.paramsDom.querySelector('.KeyValuePanel');  //No I18N\n\t\tthis.keyPanel               = this.KeyValuePanel.querySelector('.keyPanel');  //No I18N\n\t\tthis.valuePanel             = this.KeyValuePanel.querySelector('.valuePanel');  //No I18N\n\t\tthis.checkBox               = this.KeyValuePanel.querySelector('.API-checkBox');  //No I18N\n\t\tthis.dropdownPanel\t\t\t= this.KeyValuePanel.querySelector('.API-dropdownPanel');\t//No I18N\n\t\tthis.mandatoryField         = this.paramsDom.querySelector('.mandatoryField');  //No I18N\n\t\tthis.errorText              = this.paramsDom.querySelector('.errorText'); //No I18N\n\n\t\tthis.key                    = key;\n\t\tthis.type       \t\t    = type;\n\t\tthis.isMandatory \t\t\t= isMandatory;\n\t\tthis.isError     \t\t\t= false; \n\t\tthis.isEmptyValue           = true;\n\t\tthis.isFieldType\t\t\t= isFieldType;\n\t\tthis.checkboxStatus         = checkboxStatus;\n\t\tthis.isImport               = isImport;\n\t\tthis.allowedFileTypes       = allowedFileTypes;\n\t\tthis.filesList              = [];\n\n\t\tinit.call(this);\n\t\taddListener.call(this, validateAllFieldsCallback, constructFieldTypesDropdown, constructImportScopeDropdown);\n\t}\n\n\tgetKey(){\n\t\treturn this.key;\n\t}\n\n\tclearValue(){\n\t\tthis.valuePanel.value = null;\n\t\tthis.isEmptyValue = true;\n\t}\n\n\tshow(){\n\t\tthis.KeyValuePanel.classList.remove(\"hide\");\n\t}\n\n\thide(){\n\t\tthis.KeyValuePanel.classList.add(\"hide\");\n\t}\n\n\tgetValue(){\n\t\treturn ((this.isFieldType && this.key === FIELD_TYPE_CONSTANTS_PARAM_KEY_TYPE) || (this.isImport && this.key === IMPORT_SCOPE_PARAM_KEY)) ? this.dropdownPanel.value : this.filesList.length != 0 ? this.filesList : (this.type === BOOLEAN_INPUT_TYPE_KEY) ? this.checkBox.checked : this.valuePanel.value;\n\t}\n\n\tgetIsMandatory(){\n\t\treturn this.isMandatory;\n\t}\n\n\tgetInputType(){\n\t\treturn this.type;\n\t}\n\n\tgetFilesList(){\n\t\treturn this.filesList;\n\t}\n\n\thandleErrorState(){\n\t\tif(this.isEmptyValue && !this.valuePanel.classList.contains('error')){\n\t\t\t//Add error classes and text for empty state\n\t\t\tthis.toggleErrorState(true);\n\n\t\t\t//Remove Error state background color if value is focused\n\t\t\tthis.valuePanel.addEventListener('focus', ()=>{\n\t\t\t\tif(this.valuePanel.classList.contains('errorColor')) {\n\t\t\t\t\tthis.valuePanel.classList.remove('errorColor'); //No I18N\n\t\t\t\t}\n\t\t\t});\n\t\t} else {\n\t\t\tthis.isError && !this.isEmptyValue && this.toggleErrorState(false);\n\t\t}\n\t}\n\n\ttoggleErrorState(addError){\n\t\tthis.valuePanel.classList.toggle('error', addError); //No I18N\n\t\tthis.valuePanel.classList.toggle('errorColor', addError); //No I18N\n\t\tthis.isError = addError;\n\t\taddError ? this.KeyValuePanel.appendChild(this.errorText) : this.KeyValuePanel.removeChild(this.errorText);\n\t}\n\n\tgetDom(){\n\t\treturn this.KeyValuePanel;\n\t}\n}\n\n\nfunction addListener(validateAllFieldsCallback, constructFieldTypesDropdown, constructImportScopeDropdown){\n\tif(this.isMandatory){\n\t\t//Handling Empty/Error state on blur event trigger\n\t\tthis.valuePanel.addEventListener('blur', ()=>{\n\t\t\tthis.isEmptyValue = !this.valuePanel.value;\n\t\t\tthis.handleErrorState();\n\t\t});\n\n\t\t//If value is inputted, Error state is removed. Else Error state is added\n\t\tthis.valuePanel.addEventListener('input', (ev)=>{\n\t\t\tthis.isEmptyValue = !this.valuePanel.value;\n\t\t\tif(ev.target.files != null){\n\t\t\t\tthis.filesList = []; // this is to provide one file to upload\n\t\t\t\tthis.filesList.push({file : ev.target.files[0]});\n\t\t\t}\n\t\t\tthis.handleErrorState();\n\t\t\tvalidateAllFieldsCallback();\n\t\t});\n\t}\n\tif(this.isFieldType && this.key === FIELD_TYPE_CONSTANTS_PARAM_KEY_TYPE){\n\t\tthis.dropdownPanel.addEventListener('click', (event)=>{\n\t\t\tevent.stopPropagation();\n\t\t\t//TODO: construct dropdown only once since it will be static and show/hide when needed\n\t\t\tconstructFieldTypesDropdown(eventHandlers(this));\n\t\t\tvalidateAllFieldsCallback();\n\t\t});\n\t}\n\tif(this.isImport && this.key == IMPORT_SCOPE_PARAM_KEY){\n\t\tthis.dropdownPanel.addEventListener(\"click\", (event)=>{\n\t\t\tevent.stopPropagation();\n\t\t\tconstructImportScopeDropdown(eventHandlers(this));\n\t\t\tvalidateAllFieldsCallback();\n\t\t});\n\t}\n}\n\nfunction init(){\n\tthis.keyPanel.textContent = this.key;\n\tif(this.isMandatory){\n\t\tthis.keyPanel.appendChild(this.mandatoryField);\n\t} else {\n\t\tthis.isEmptyValue = false;\n\t}\n\t//TODO: Append either valuePanel or dropdownPanel\n\tif((this.isFieldType && this.key === FIELD_TYPE_CONSTANTS_PARAM_KEY_TYPE) || (this.isImport && this.key == IMPORT_SCOPE_PARAM_KEY)){\n\t\tthis.dropdownPanel.classList.remove('hide');\t//No I18N\n\t\tthis.valuePanel.classList.add('hide');\t//No I18N\n\t\tthis.checkBox.classList.add(\"hide\"); //No I18N\n\t} else if (this.type === BOOLEAN_INPUT_TYPE_KEY) {\n\t\tthis.dropdownPanel.classList.add('hide');\t//No I18N\n\t\tthis.valuePanel.classList.add('hide');\t//No I18N\n\t\tthis.checkBox.classList.remove(\"hide\"); //No I18N\n\t\tthis.checkBox.checked = (!!this.checkboxStatus) ? true : false;\n\t} else {\n\t\tthis.dropdownPanel.classList.add('hide');\t//No I18N\n\t\tthis.valuePanel.classList.remove('hide');\t//No I18N\n\t\tthis.checkBox.classList.add(\"hide\"); //No I18N\n\t\tthis.valuePanel.type = this.type;\n\t}\n\n\tthis.isImport && IMPORT_HIDDEN_PARAM_KEYS.includes(this.key) && this.hide(); // to hide the params on the initial state\n\n\tif(this.type === \"file\"){ // No I18N\n\t\tthis.valuePanel.accept = this.allowedFileTypes;\n\t}\n}\n\nfunction eventHandlers(context) {\n\treturn {\n\t\tappendToDropDownPanel(dom){\n\t\t\tcontext.dropdownPanel.appendChild(dom);\n\t\t},\n\t\n\t\tsetDropDownSpanValue(displayValue, inputValue){\n\t\t\tcontext.dropdownPanel.textContent = displayValue;\n\t\t\tcontext.dropdownPanel.value = inputValue;\n\t\t\tcontext.isEmptyValue = false;\n\t\t}\n\t}\n}\n","import { getTemplate } from \"../../TemplatesForAll.js\";\n\n/*$Id$*/\nexport class Scope{\n    constructor(title, id, imgSrc, submenu, activateCurrentScopeCallback){\n\t\tthis.scopeTemplate   \t\t= getTemplate('scopeTemplate'); //No I18N\n\t\tthis.scopeDOM               = this.scopeTemplate.querySelector('.scope'); //No I18N\n\t\tthis.choosePurposeDropdown  = this.scopeDOM.querySelector('#choose-purpose');  //No I18N\n        this.scopeImg               = this.scopeDOM.querySelector('.scopeImg');  //No I18N\n        this.scopeTitle             = this.scopeDOM.querySelector('.scopeTitle');  //No I18N\n\n        this.title                  = title;\n        this.id                     = id;\n        this.imgSrc                 = imgSrc;\n        this.submenu                = submenu;\n        \n        this.init();\n        addListener.call(this, activateCurrentScopeCallback);\n    }\n\n    init(){\n        this.scopeImg.src  = this.imgSrc;\n        this.scopeTitle.textContent    = this.title;\n        if(!this.submenu){\n            this.scopeDOM.querySelector('.API-accordianArrow').style.display = 'none';\n        }\n    }\n    \n    getIndex(){\n        return this.id;\n    }\n\n    getDom(){\n        return this.scopeDOM;\n    }\n}\n\nfunction addListener(activateCurrentScopeCallback){\n    this.scopeDOM.addEventListener('click', () => {\n        activateCurrentScopeCallback(this, 0);\n    });\n}\n","/*$Id$*/\nimport { Toaster } from \"../../Components/Toaster/Toaster.js\";\nimport { getTemplate } from \"../../TemplatesForAll.js\";\nimport { BentoMenu } from \"../../Utility/BentoMenuForPortalPage.js\";\nimport { getSVGIconPath } from \"../../Utility/SvgIconUtility.js\";\nimport { CONTENT_TYPE as HTTP_CONTENT_TYPE } from \"./../../Constants/HttpConstants.js\";\nimport { URL_ENCODED_FORM } from \"./../../Constants/Mime.js\";\nimport { AjaxRequest } from \"./../../Utility/AjaxRequest.js\";\nimport { ApiActionsInteractor } from \"./ApiActionsInteractor.js\";\nimport { FieldTypeConstantDom } from \"./FieldTypeConstantDom.js\";\nimport { Option } from \"./Option.js\";\nimport { Param } from \"./Param.js\";\nimport { ParamDom } from \"./ParamDom.js\";\nimport { Scope } from \"./Scope.js\";\n\nconst ApiExplorerConstants          = globalThis.ApiExplorerConstants;\nconst RedirectURI                   = ApiExplorerConstants.RedirectURI;\n\nconst URL_ENCODED_FORM_UTF8         = `${URL_ENCODED_FORM};charset=UTF-8`;\nconst CONTENT_TYPE \t\t\t\t\t= HTTP_CONTENT_TYPE;\nconst ACCESS_TOKEN_VALID_FOR        = 3600000;\nconst ACCESS_TOKEN_THRESHOLD_VALUE  = 2000;\nconst ERROR_LABEL\t\t\t\t\t= 'Error';\t//No I18N\nconst ERROR_DESC_LABEL\t\t\t\t= 'Unknown Error';\t//No I18N\nconst DOWNLOAD_SUCCESS_MSG          = \"File downloaded Successfully...\"; // NO I18N\nconst FIELD_TYPE_CONSTANTS\t\t\t= ['Create Field', 'Update Field'];\nconst IMPORT_CONSTANTS\t\t     \t= ['Import'];\nconst JSON_RESPONSE_TYPE            = \"json\"; // No I18N\nconst BLOB_RESPONSE_TYPE            = \"blob\"; // No I18N\n\nexport class ApiExplorer {\n\tconstructor(dom, hash){\n\t\tthis.dom                    = dom;\n\t\tthis.showExpiryTimeDom      = this.dom.querySelector('#API-tokenExpirePanel'); //No I18N\n\t\tthis.explorerScreen         = this.dom.querySelector('#API-inner'); //No I18N\n\t\tthis.executeBtn             = this.dom.querySelector('#executeBtn');  //No I18N\n\t\tthis.scopeListDom           = this.dom.querySelector('#API-scopeList'); //No I18N\n\t\tthis.apiPlayground\t\t\t= this.dom.querySelector('#API-playground');\t//No I18N\n\t\tthis.keyValueListPanel      = this.dom.querySelector('#keyValueListPanel');  //No I18N\n\t\tthis.fieldTypeConstantsPanel = this.dom.querySelector('#fieldTypeConstantsPanel');\t//No I18N\n\t\tthis.fieldTypeParamsPanel   = this.dom.querySelector('#fieldTypeParamsPanel');\t//No I18N\n\t\tthis.fieldTypeLabel\t\t\t= this.dom.querySelector('#fieldTypeName');\t//No I18N\n\t\tthis.fieldTypeIcon\t\t\t= this.dom.querySelector('#fieldTypeIcon');\t//No I18N\n\t\tthis.playgroundCtr\t\t\t= this.dom.querySelector('#API-responseCtr');\t//No I18N\n\t\tthis.responsePanel\t\t\t= this.dom.querySelector('#responsePanel'); //No I18N\n\t\tthis.responseErrorMsg\t\t= this.dom.querySelector('#responseErrorMsg');\t//No I18N\n\t\tthis.responseCopyIcon\t\t= this.dom.querySelector('#responseCopyIcon');\t//No I18N\n\t\tthis.responseDom            = this.dom.querySelector('#responseCode');  //No I18N\n\t\tthis.copyResponseTooltip\t= this.dom.querySelector('#copyResponseTooltip');\t//No I18N\n\t\tthis.showApiDom             = this.dom.querySelector('#apiCalled');  //No I18N\n\t\tthis.copyBtn                = this.dom.querySelector('#copyBtn');  //No I18N\n\t\tthis.copyAPITooltip\t\t\t= this.dom.querySelector('#copyAPITooltip');\t//No I18N\n\t\tthis.expiryTimeDom          = this.dom.querySelector('#expiry-time'); //No I18N\n\t\tthis.toastTemplate          = getTemplate('apiExplorer_toast_template'); // No I18N\n\t\tthis.toastDom               = this.toastTemplate.querySelector('#API-toaster'); //No I18N\n\t\tthis.toastStatus            = this.toastTemplate.querySelector('#status'); //No I18N\n\t\tthis.toastMessage           = this.toastTemplate.querySelector('#msgCtr'); //No I18N\n\t\tthis.showMethodDom          = this.dom.querySelector('#API-urlMethod');  //No I18N\n\t\tthis.keyValueHdrs           = this.dom.querySelectorAll('.KV-Headers'); //No I18N\n\t\tthis.fieldTypesCtr\t\t\t= getTemplate('fieldTypesULDropDownTemplate').querySelector('#fieldTypesDropdownCtr');\t//No I18N\n\t\tthis.fieldTypesUL\t\t\t= this.fieldTypesCtr.querySelector('#fieldTypesUL');\t//No I18N\n\t\tthis.fieldTypesLI\t\t\t= getTemplate('fieldTypesLIDropDownTemplate').querySelector('#fieldTypesLI');\t//No I18N\n\n\n\t\tthis.currentScope           = null;\n\t\tthis.currentScopeIndex      = 0;\n\t\tthis.currentPurposeIndex    = 0;\n\t\tthis.apiInteractor          = new ApiActionsInteractor();\n\t\tthis.queryParams            = null;\n\t\tthis.apiCalled              = null;\n\t\tthis.responseJson           = null;\n\t\tthis.scopeList              = [];\n\t\tthis.paramDomList           = [];\n\t\tthis.fieldTypeConstantsList  = [];\n\t\t\n\t\tthis.bentoMenu         = new BentoMenu('LpTopBar_Right');\n\t\t\n\t\tinit.call(this, hash);\n\t\tattachListeners.call(this);\n\t}\n\n\tgetDom(){\n\t\treturn this.dom;\n\t}\n\n\tshowExplorerPlayground(){\n\t\tthis.showExpiryTimeDom.classList.contains('hide') && this.showExpiryTimeDom.classList.remove('hide'); //No I18N\n\t\tthis.playgroundCtr.classList.contains('hide') && this.playgroundCtr.classList.remove('hide'); //No I18N\n\t\tthis.showExpiryTime();\n\t}\n\n\thideExplorerPlayground(){\n\t\t!this.showExpiryTimeDom.classList.contains('hide') && this.showExpiryTimeDom.classList.add('hide'); //No I18N\n\t\t!this.playgroundCtr.classList.contains('hide') && this.playgroundCtr.classList.add('hide'); //No I18N\n\t}\n\t\n\trenderBentoMenu(){\n\t\tthis.bentoMenu.renderMenu();\n\t}\n\n\tshowExpiryTime(){\n\t\tconst tokenGeneratedTimeMs   = ApiExplorerConstants.tokenGeneratedTime;\n\t\tfunction repeatOften() {\n\t\t\tconst currentTimeMillis = new Date().getTime();\n\t\t\t//3600000 = 1hr. In order to make reverse timing, it is subtracted\n\t\t\tconst expireTime = ACCESS_TOKEN_VALID_FOR - (currentTimeMillis - tokenGeneratedTimeMs);\n\t\t\tif(expireTime <= ACCESS_TOKEN_THRESHOLD_VALUE){\n\t\t\t\twindow.open(RedirectURI, '_self');\n\t\t\t}\n\t\t\tthis.expiryTimeDom.textContent = millisToMinutesAndSeconds.call(this, expireTime);\n\t\t\trequestAnimationFrame(() => repeatOften.call(this));\n\t\t}\n\t\trequestAnimationFrame(() => repeatOften.call(this));\n\t}\n}\n\nfunction init(hash){\n\tconst currentIndices = hash !== '' ? this.apiInteractor.getIndicesFromURLHash(hash) : {scopeIndex: 0, purposeIndex: 0};\n\tconstructScope.call(this, currentIndices);\n}\n\n/**\n * Constructing all scopes and 1st scope is selected by default\n */\nfunction constructScope(currentIndices){\n\tconst count = this.apiInteractor.getScopeCount();\t\n\tfor(let i = 0; i < count ; i++){\n\t\tconst title = this.apiInteractor.getScopeTitle(i);\n\t\tconst imgSrc = this.apiInteractor.getScopeImgSrc(i);\n\t\tconst submenu = this.apiInteractor.getScopeSubmenu(i);\n\t\t\n\t\tconst scope = new Scope(title, i, imgSrc, submenu, activateCurrentScope.bind(this));\n\t\tconst dom = scope.getDom();\n\t\tthis.scopeList.push(scope);\n\t\tthis.scopeListDom.appendChild(dom);\n\t\tconstructPurposes.call(this, this.scopeList[i], i === currentIndices.scopeIndex);\n\t}\n\tthis.currentScope = this.scopeListDom.children[currentIndices.scopeIndex];\n\tactivateCurrentScope.call(this, this.scopeList[currentIndices.scopeIndex], currentIndices.purposeIndex);\n}\n\n/**\n * Clearing previous actions\n * Constructing all scope based purposes/actions and 1st purpose/action is selected by default\n */\nfunction constructPurposes(scope, isCurrentScope){\n\n\t//removing all previously added options from selection\n\twhile(scope.choosePurposeDropdown.childElementCount > 0){\n\t\tscope.choosePurposeDropdown.textContent = '';\n\t}\n\n\t//adding purpose based options for selection\n\tconst purposeLength = this.apiInteractor.getPurposeCount(this.currentScopeIndex);\n\tfor(let i = 0; i < purposeLength ; i++){\n\t\tconst purpose = this.apiInteractor.getPurposeAction(this.currentScopeIndex, i);\n\t\tconst option = new Option(i, purpose, purposesClickCallback.bind(this));\n\t\tconst dom = option.getDom();\n\t\tisCurrentScope && i === this.currentPurposeIndex && updateCurrentOption.call(this, option);\n\t\tscope.choosePurposeDropdown.appendChild(dom);\n\t}\n\n\tconstructParams.call(this);\n}\n\n/**\n * Clearing previously added parameters, api & response from UI\n * Constructing all purpose based document and parameters with Key - Value pairs\n */\nfunction constructParams(){\n\t\n\t//clearing all previous values from UI\n\tthis.paramDomList = [];\n\tthis.keyValueListPanel.textContent = '';\n\tthis.fieldTypeParamsPanel.textContent = '';\n\tthis.showApiDom.textContent = '';\n\tthis.responseDom.textContent = '';\n\tthis.responsePanel.classList.contains('API-responseError') && this.responsePanel.classList.remove('API-responseError');\n\ttoggleResponsePanel.call(this, true);\n\n\t//document updation based on option selected\n\tthis.documentDoc && this.documentDoc.classList.remove('active') //No I18N\n\tconst paramsLength  = this.apiInteractor.getParamsCount(this.currentScopeIndex, this.currentPurposeIndex);\n\tlet docId\t\t\t= this.apiInteractor.getPurposeDoc(this.currentScopeIndex, this.currentPurposeIndex);\n\tthis.documentDoc \t= this.dom.querySelector('#'+docId);\n\tthis.documentDoc && this.documentDoc.classList.add('active') //No I18N\n\twindow.location.hash = this.apiInteractor.getURLHash(this.currentScopeIndex, this.currentPurposeIndex);\n\n\t//method is checked for empty string to know whether it has playground or not\n\tconst method = this.apiInteractor.getApiMethod(this.currentScopeIndex, this.currentPurposeIndex);\n\tif(method === ''){\n\t\t!this.explorerScreen.classList.contains('API-documentFullWidth') && this.explorerScreen.classList.add('API-documentFullWidth');\t//No I18N\n\t} else {\n\t\tthis.explorerScreen.classList.contains('API-documentFullWidth') && this.explorerScreen.classList.remove('API-documentFullWidth');\t//No I18N\n\t\t//api method is shown in method dom\n\t\tthis.showMethodDom.textContent = method;\n\n\t\t//entire api is constructed and shown in api dom\n\t\tconst apiName = this.apiInteractor.getApiName(this.currentScopeIndex, this.currentPurposeIndex);\n\t\tthis.apiCalled = window.location.protocol + '//' + window.location.host + '/api/v1/' + apiName;  //No I18N\n\t\tthis.showApiDom.textContent = this.apiCalled;\n\n\t\t//Hiding Key Value Headers if there are no params\n\t\tconst hdrsLength    = this.keyValueHdrs.length;\n\t\tfor(let i = 0; i < hdrsLength ; i++){\n\t\t\tthis.keyValueHdrs[i].classList.toggle('hide', paramsLength === 0); //No I18N\n\t\t}\n\t\ttoggleFieldTypeConstantsPanel.call(this, true);\n\n\t\t//fetching param info from interactor and constructing params\n\t\tfor(let i = 0 ; i < paramsLength ; i++){\n\t\t\tconst name      = this.apiInteractor.getParamKey(this.currentScopeIndex, this.currentPurposeIndex, i);\n\t\t\tconst isMandatory = this.apiInteractor.getParamMandatoryState(this.currentScopeIndex, this.currentPurposeIndex, i);\n\t\t\tconst inputType = this.apiInteractor.getParamInputType(this.currentScopeIndex, this.currentPurposeIndex, i);\n\t\t\tconst checkboxStatus = this.apiInteractor.getCheckBoxStatus(this.currentScopeIndex, this.currentPurposeIndex, i);\n\t\t\tconst allowedFileTypes = this.apiInteractor.getAllowedFileTypes(this.currentScopeIndex, this.currentPurposeIndex, i);\n\t\t\tconst actionName = this.apiInteractor.getPurposeAction(this.currentScopeIndex, this.currentPurposeIndex);\n\t\t\tconst isFieldType = FIELD_TYPE_CONSTANTS.includes(actionName);\n\t\t\tconst isImport = IMPORT_CONSTANTS.includes(actionName)\n\t\t\t\n\t\t\tconst param = new ParamDom(name, inputType, isMandatory, validateAllFields.bind(this), constructFieldTypesDropdown.bind(this), isFieldType, checkboxStatus, constructImportScopeDropdown.bind(this), isImport, allowedFileTypes);\n\n\t\t\tconst paramDom = param.getDom();\n\t\t\tthis.paramDomList.push(param);\n\t\t\tthis.keyValueListPanel.appendChild(paramDom);\n\t\t}\n\t\tvalidateAllFields.call(this);\n\t}\n}\n\n/**\n * Builds and display Tables API with queryparams \n * AjaxRequest is made using the above constructed api & display its response\n * Render Toaster with response status & messsage \t\t\t\t\t\t\t\t\n */\nfunction constructTablesAPI(){\n\n\tlet isEmptyValue = validateQueryParams.call(this);\n\n\tif(!isEmptyValue){\n\t\t//constructing queryparams for including it in api call\n\t\tlet param = '';\n\t\tconst length = this.queryParams.length;\n\t\t// for(let idx = 0; idx < length ; idx++){\n\t\t// \tparam += (idx !== 0 && idx !== this.queryParams.length) ? '&' : '';  //No I18N\n\t\t// \tparam += this.queryParams[idx].key + '=' + encodeURIComponent(this.queryParams[idx].value);\n\t\t// }\n\t\t// const qp = (param !== '') ? ('?' + param) : '';  //No I18N\n\t\t// this.showApiDom.textContent = this.apiCalled + qp;\n\n\t\t//ajaxRequest is made using the above constructed api and response is shown with success/error messsage in toaster\n\t\tconst authToken = 'Zoho-oauthtoken ' + ApiExplorerConstants.accessToken;  //No I18N\n\t\tconst method = this.apiInteractor.getApiMethod(this.currentScopeIndex, this.currentPurposeIndex);\n\n\t\tconst ajaxRequest = new AjaxRequest();\n\t\tajaxRequest.setRequestHeader('Authorization', authToken);  //No I18N\n\t\tajaxRequest.setMethod(method);\n\t\t// ajaxRequest.setUrl(this.apiCalled + qp);\n\t\t\n\t\tlet queryUrl = this.apiCalled;\n\t\t\n\t\tif(method == \"GET\"){ // No I18N\n\t\t\tfor(let idx = 0; idx < length ; idx++){\n\t\t\t\tparam += (idx !== 0 && idx !== this.queryParams.length) ? '&' : '';  //No I18N\n\t\t\t\tparam += this.queryParams[idx].key + '=' + encodeURIComponent(this.queryParams[idx].value);\n\t\t\t}\n\t\t\tconst qp = (param !== '') ? ('?' + param) : '';  //No I18N\n\t\t\tqueryUrl += qp; // to add queryParam in requestUrl\n\t\t} else if (this.apiInteractor.getContentType(this.currentScopeIndex, this.currentPurposeIndex) != \"file\") {\n\t\t\t// import API is only not passing through this elseIf, otherwise all post/put/delete will pass this elseIf. \n\t\t\t// bcz import related formdata addition happens in below if else part\n\t\t\tfor(let idx = 0; idx < length ; idx++){\n\t\t\t\tajaxRequest.setFormData(this.queryParams[idx].key, this.queryParams[idx].value);\n\t\t\t}\n\t\t}\n\t\tajaxRequest.setUrl(queryUrl);\n\t\tthis.showApiDom.textContent = queryUrl;\n\n\t\tlet contentType = null;\n\t\tlet responseType = JSON_RESPONSE_TYPE;\n\t\tif(this.apiInteractor.getContentType(this.currentScopeIndex, this.currentPurposeIndex) == \"blob\"){\n\t\t\tcontentType = URL_ENCODED_FORM_UTF8;\n\t\t\tresponseType = BLOB_RESPONSE_TYPE;\n\t\t} else if (this.apiInteractor.getContentType(this.currentScopeIndex, this.currentPurposeIndex) == \"file\") {\n\t\t\t// ajaxRequest.setUrl(this.apiCalled); // to provide request url only (without queryParam)\n\t\t\tlet fileParam = this.queryParams[length - 1]; // len - 1 is for to get the import_file keyValue\n\t\t\tconst formData = new FormData();\n\t\t\tfor(let i = 0; i < length - 1; i++){ // len - 1 is for to block the import_file keyValue\n\t\t\t\tformData.append(this.queryParams[i].key, this.queryParams[i].value);\n\t\t\t}\n\t\t\tformData.append(fileParam.key, fileParam.value[0].file);\n\t\t\tajaxRequest.setPayload(formData);\n\t\t} else {\n\t\t\tcontentType = URL_ENCODED_FORM_UTF8;\n\t\t}\n\n\t\tif(contentType != null){ // when content not set it sets multiformdata for import\n\t\t\tajaxRequest.setRequestHeader(CONTENT_TYPE, contentType);\n\t\t}\n\t\tajaxRequest.setResponseType(responseType);\n\n\t\tajaxRequest.addEventListener('success', (event, ajaxRequestCompleteEvent) => {  //No I18N\n\t\t\tthis.responsePanel.classList.contains('API-responseError') && this.responsePanel.classList.remove('API-responseError');\n\t\t\t\n\t\t\tif (ajaxRequestCompleteEvent.xmlHttpRequest && this.apiInteractor.getContentType(this.currentScopeIndex, this.currentPurposeIndex) == \"blob\") {\n\t\t\t\n\t\t\t\thandleDownload.call(this, ajaxRequestCompleteEvent.xmlHttpRequest);\n\t\t\t\t\n\t\t\t} else {\n\t\t\t\t\n\t\t\t\tthis.responseJson = ajaxRequestCompleteEvent.xmlHttpRequest.response;\t\n\t\t\t\tthis.responseDom.textContent = JSON.stringify(this.responseJson, undefined, 4);\n\t\t\t\tif(this.responseJson.error){\n\t\t\t\t\tconst errorResponse = this.responseJson.error;\n\t\t\t\t\tthis.responseErrorMsg.textContent = errorResponse.message ? errorResponse.message : ERROR_DESC_LABEL;\n\t\t\t\t\t!this.responsePanel.classList.contains('API-responseError') && this.responsePanel.classList.add('API-responseError');\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tshowToaster.call(this);\n\t\t\t}\n\t\t\tshowLoader.call(this, false);\n\t\t});\n\n\t\tajaxRequest.addEventListener('failure', (event, ajaxRequestCompleteEvent) => { //NO I18N\n\t\t\t\n\t\t\tif(this.apiInteractor.getContentType(this.currentScopeIndex, this.currentPurposeIndex) == \"blob\"){\n\t\t\t\tthis.responseJson = {\n\t\t\t\t\terror: {\n\t\t\t\t\t\tstatus: \"FAILURE\"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tthis.responseJson = ajaxRequestCompleteEvent.xmlHttpRequest.response;\n\t\t\t}\n\t\t\t\n\t\t\tthis.responseDom.textContent = JSON.stringify(this.responseJson, undefined, 4);\n\t\t\tthis.responseErrorMsg.textContent = (this.responseJson && this.responseJson.error) ? this.responseJson.error.message : ERROR_DESC_LABEL;\n\t\t\t!this.responsePanel.classList.contains('API-responseError') && this.responsePanel.classList.add('API-responseError');\n\t\t\tshowLoader.call(this, false);\n\t\t\tshowToaster.call(this);\n\t\t});\n\t\t\n\t\tajaxRequest.send();\t\n\t} else {\n\t\tshowLoader.call(this, false);\n\t\ttoggleResponsePanel.call(this, false);\n\t}\n}\n\nfunction handleDownload(request){\n\t\n\tvar filename = \"\";\n\tvar disposition = request.getResponseHeader('Content-Disposition');\n\t\n\tif (disposition && disposition.indexOf('attachment') !== -1) {\n\n\t\tvar index = disposition.indexOf(\"=\");\n\t\tfilename = disposition.substring(index + 8, disposition.length); \n\t}\n\tfilename=decodeURIComponent(filename.replace(/\\+/g, ' '));\n\t\n\tvar type = request.getResponseHeader('Content-Type');\n\t\n\tvar blob = new Blob([request.response], {\n\t\ttype: type\n\t});\n\t\n\tvar URL = window.URL || window.webkitURL;\n\tconst downloadUrl = URL.createObjectURL(blob);\n\tconst a = document.createElement('a');\n\ta.href = downloadUrl;\n\ta.download = filename;\n\ta.addEventListener('click', function (ev) {\n\t\tev.stopPropagation();\n\t\tthis.remove();\n\t});\n\tdocument.body.appendChild(a);\n\ta.click();\n\tthis.responseDom.textContent = DOWNLOAD_SUCCESS_MSG;\n}\n\nfunction validateQueryParams(){\n\t//fetching query params key values from dom\n\tthis.queryParams = [];\n\tconst domList = this.paramDomList;\n\tconst fieldConstantsList = this.fieldTypeConstantsList;\n\n\tconst paramList = domList.concat(fieldConstantsList);\n\tlet isEmptyValue = false;\n\tfor(let i = 0; i < paramList.length ; i++) {\n\t\tconst dom         = paramList[i];\n\t\tconst key         = dom.getKey();\n\t\tconst value       = dom.getValue();\n\t\tconst isMandatory = dom.getIsMandatory();\n\n\t\t/**\n\t\t * Input Value Validation on Empty string\n\t\t * If Mandatory , error class will be added and no api call will be made\n\t\t * Else, that field key and value will be omitted in queryparams while making api call\n\t\t */\n\t\tif(value === ''){\n\t\t\tif(isMandatory){\n\t\t\t\tlet import_scope = this.queryParams[0] && this.queryParams[0].getValue();\n\t\t\t\tif((import_scope == \"base\" && key == \"base_id\") || (import_scope == \"table\" && key == \"portal_id\" || key == \"workspace_id\")){ // No I18N\n\t\t\t\t\tcontinue; // when import happens mandatory params will be used based on the importScope.\n\t\t\t\t} else {\n\t\t\t\t\tdom.handleErrorState();\n\t\t\t\t\tisEmptyValue = true;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\t\n\t\t} else {\n\t\t\tconst param   = new Param(key, value);\n\t\t\tthis.queryParams.push(param);\n\t\t}\n\t}\n\treturn isEmptyValue;\n}\n\n/**\n * Validating if any empty mandatory exists and toggle Execute buttons accordingly\n */\nfunction validateAllFields(){\n\tthis.queryParams = [];\n\tconst paramLength = this.paramDomList.length;\n\tconst domList = this.paramDomList;\n\tlet isEmptyValueExists = false;\n\tfor(let i = 0; i < paramLength ; i++) {\n\t\tif(this.apiInteractor.getContentType(this.currentScopeIndex, this.currentPurposeIndex) == \"file\"){\n\t\t\tlet scopeValue = domList[0].getValue(); // import_scope value\n\t\t\tlet key   = domList[i].key;\n\t\t\tif(((((key == \"portal_id\" || key == \"workspace_id\") && scopeValue == \"base\") || (key == \"base_id\" && scopeValue == \"table\")) && !domList[i].isEmptyValue) || (domList[i].isEmptyValue && ((key == \"base_id\" && scopeValue == \"base\") || ((key == \"portal_id\" || key == \"workspace_id\") && scopeValue == \"table\")))){ // No I18N\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t}\n\t\tif(domList[i].isEmptyValue){\n\t\t\tisEmptyValueExists = true;\n\t\t\tbreak;\n\t\t}\n\t}\n\ttoggleExecuteButtons.call(this, !isEmptyValueExists);\n}\n\nfunction constructFieldTypeConstants(fieldType){\n\t//clear field type constants array and DOM\n\tthis.fieldTypeConstantsList = [];\n\tthis.fieldTypeParamsPanel.textContent = '';\n\tthis.fieldTypeLabel.textContent = '';\n\tthis.fieldTypeIcon.setAttribute(\"xlink:href\", ''); //No I18N\n\tconst fieldTypeConstants  = this.apiInteractor.getFieldTypeConstants(fieldType);\n\n\t//checking if type param is not empty\n\tif(fieldTypeConstants.length > 0){\n\t\ttoggleFieldTypeConstantsPanel.call(this, false);\n\t\tthis.fieldTypeIcon.setAttribute(\"xlink:href\", getSVGIconPath(this.apiInteractor.getFieldIcon(fieldType))); //No I18N\n\t\tthis.fieldTypeLabel.textContent = this.apiInteractor.getFieldName(fieldType); //No I18N\n\n\t\t//fetching constants info from interactor and constructing params\n\t\tfor(let i = 0 ; i < fieldTypeConstants.length ; i++){\n\t\t\tconst name        = fieldTypeConstants[i].name;\n\t\t\tconst inputType   = this.apiInteractor.getFieldTypeConstantsInputType(fieldType, i);\n\t\n\t\t\tconst param       = new FieldTypeConstantDom(name, inputType);\n\t\t\tconst paramDom    = param.getDom();\n\t\t\tthis.fieldTypeConstantsList.push(param);\n\t\t\tthis.fieldTypeParamsPanel.appendChild(paramDom);\n\t\t}\n\t} else {\n\t\ttoggleFieldTypeConstantsPanel.call(this, true);\n\t}\n\tvalidateAllFields.call(this);\n}\n\nfunction toggleFieldTypeConstantsPanel(tohide){\n\tthis.fieldTypeConstantsPanel.classList.toggle('hide', tohide);\t//No I18N\n}\n\nfunction toggleExecuteButtons(enable){\n\tthis.executeBtn.classList.toggle('API-enableExecuteBtn', enable); //No I18N\n}\n\nfunction toggleResponsePanel(enable){\n\tthis.responsePanel.classList.toggle('hide', enable); //No I18N\n\tthis.apiPlayground.classList.toggle('API-responseExecuting', !enable);\t//No I18N\n}\n\nfunction showToaster(){\n\tconst toaster = new Toaster(10);\n\tif(this.responseJson) {\n\t\tthis.toastStatus.textContent = this.responseJson.error ? ERROR_LABEL : this.responseJson.status;\n\t\tthis.toastMessage.textContent = this.responseJson.error ? this.responseJson.error.message : this.responseJson.message;\n\t} else {\n\t\tthis.toastStatus.textContent = ERROR_LABEL;\n\t\tthis.toastMessage.textContent = ERROR_DESC_LABEL;\n\t}\n\tthis.toastDom.appendChild(this.toastStatus);\n\tthis.toastDom.appendChild(this.toastMessage);\n\tthis.toastTemplate.appendChild(this.toastDom);\n\t\n\ttoaster.setMessage(this.toastTemplate);\n\ttoaster.showCloseBtn = true;\n\ttoaster.show();\n}\n\nfunction purposesClickCallback(option){\n\tupdateCurrentOption.call(this, option);\n\tconstructParams.call(this);\n}\n\nfunction updateCurrentOption(option){\n\tthis.activePurposeOption && this.activePurposeOption.removeActive();\n\tthis.activePurposeOption = option;\n\tthis.currentPurposeIndex = option.index;\n\toption.makeActive();\n}\n\nfunction showLoader(toShowLoader){\n\tif(toShowLoader){\n\t\tthis.executeBtn.classList.contains('API-enableExecuteBtn') && !this.executeBtn.classList.contains('API-excutingOnProcess') && this.executeBtn.classList.add('API-excutingOnProcess');\t//No I18N\n\t} else {\n\t\tthis.executeBtn.classList.contains('API-excutingOnProcess') && this.executeBtn.classList.remove('API-excutingOnProcess');\t//No I18N\n\t}\n}\n\nfunction attachListeners(){\n\tthis.executeBtn.addEventListener('click', () => {\n\t\tconstructTablesAPI.call(this);\n\t\tshowLoader.call(this, true);\n\t\ttoggleResponsePanel.call(this, false);\n\t});\n\n\tthis.copyBtn.addEventListener('click', () => {\n\t\tnavigator.clipboard.writeText(this.showApiDom.textContent);\n\t\tthis.copyAPITooltip.classList.contains('hide') && this.copyAPITooltip.classList.remove('hide');\t//No I18N\n\t\tsetTimeout(()=>{\n\t\t\t!this.copyAPITooltip.classList.contains('hide') && this.copyAPITooltip.classList.add('hide');\t//No I18N\n\t\t}, 1000);\n\t});\n\n\tthis.responseCopyIcon.addEventListener('click', ()=>{\n\t\tnavigator.clipboard.writeText(this.responseDom.textContent);\n\t\tthis.copyResponseTooltip.classList.contains('hide') && this.copyResponseTooltip.classList.remove('hide');\t//No I18N\n\t\tsetTimeout(()=>{\n\t\t\t!this.copyResponseTooltip.classList.contains('hide') && this.copyResponseTooltip.classList.add('hide');\t//No I18N\n\t\t}, 1000);\n\t})\n\n\tdocument.addEventListener('keydown', (event) => {\t//No I18N\n        if (event.key === 'Escape') {\t//No I18N\n\t\t\tthis.fieldTypesCtr.remove();\n\t\t}\n    });\n}\n\nfunction activateCurrentScope(selected, purposeIndex){\n\tif(this.currentScopeIndex !== 0 && this.currentScopeIndex === selected.id) {return};\n\tif(this.currentScope){\n\t\tthis.currentScope.classList.remove('active'); //No I18N\n\t}\n\tthis.currentScopeIndex = selected.id;\n\tthis.currentScope = selected.getDom();\n\tthis.currentPurposeIndex = purposeIndex;\n\tthis.currentScope.classList.add('active'); //No I18N\n\tconstructPurposes.call(this, selected, true);\n}\n\nfunction millisToMinutesAndSeconds(millis) {\n\tconst minutes = Math.floor(millis / 60000);\n\tconst seconds = ((millis % 60000) / 1000).toFixed(0);\n\treturn (minutes < 10 ? '0' : '') + minutes + ':' + (seconds < 10 ? '0' : '') + seconds;\n}\n\nfunction constructFieldTypesDropdown(eventHandlers){\n\t//clearing field type dropdown \n\tthis.fieldTypesUL.textContent = '';\n\t\n\tconst fieldTypesList = this.apiInteractor.getAllFieldTypesList();\n\tfor(let i = 0 ; i < fieldTypesList.length ; i++){\n\t\tconst li = this.fieldTypesLI.cloneNode(true);\n\t\tli.textContent = this.apiInteractor.getFieldName(fieldTypesList[i]);\n\t\tli.addEventListener('click', (event) => {\n\t\t\tevent.stopPropagation();\n\t\t\teventHandlers.setDropDownSpanValue(this.apiInteractor.getFieldName(fieldTypesList[i]), fieldTypesList[i]);\n\t\t\tconstructFieldTypeConstants.call(this, fieldTypesList[i]);\n\t\t});\n\t\tthis.fieldTypesUL.appendChild(li);\n\t}\n\teventHandlers.appendToDropDownPanel(this.fieldTypesCtr);\n}\n\nfunction constructImportScopeDropdown(eventHandlers){\n\tthis.fieldTypesUL.textContent = '';\n\tconst importScopesList = this.apiInteractor.getAllImportScopesList();\n\tfor(let i = 0 ; i < importScopesList.length ; i++){\n\t\tconst li = this.fieldTypesLI.cloneNode(true);\n\t\tli.textContent = importScopesList[i];\n\t\tli.addEventListener('click', (event) => {\n\t\t\tevent.stopPropagation();\n\t\t\teventHandlers.setDropDownSpanValue(importScopesList[i], importScopesList[i]);\n\t\t\tconstructImportParams.call(this, importScopesList[i]);\n\t\t});\n\t\tthis.fieldTypesUL.appendChild(li);\n\t}\n\teventHandlers.appendToDropDownPanel(this.fieldTypesCtr);\n}\n\nfunction constructImportParams(scopeName){\n\tif(scopeName == \"base\"){\n\t\tthis.paramDomList[1].show();\n\t\tthis.paramDomList[2].show();\n\t\tthis.paramDomList[3].hide();\n\t\tthis.paramDomList[3].clearValue();\n\t} else {\n\t\tthis.paramDomList[3].show();\n\t\tthis.paramDomList[1].hide();\n\t\tthis.paramDomList[2].hide();\n\t\tthis.paramDomList[1].clearValue();\n\t\tthis.paramDomList[2].clearValue();\n\t}\n\tvalidateAllFields.call(this);\n}\n","/*$Id$*/\nexport class UserProfile{\n    constructor(){\n        this.activeUserId = null;\n        this.emailId      = null;\n        this.userName     = null;\n        this.imgSrc       = null;\n    }\n\n    setActiveUserId(activeUserId) {\n        this.activeUserId = activeUserId;\n    }\n    \n    getActiveUserId() {\n        return this.activeUserId;\n    }\n    \n    setEmailId(emailId) {\n        this.emailId = emailId;\n    }\n    \n    getEmailId() {\n        return this.emailId;\n    }\n    \n    setUserName(userName){\n        this.userName = userName;\n    }\n    \n    getUserName() {\n        return this.userName;\n    }\n\n    setImgSrc(imgSrc){\n        this.imgSrc = imgSrc;\n    }\n    \n    getImgSrc(){\n        return this.imgSrc;\n    }\n}\n","/*$Id$*/\n\nimport { AccessTokenGenerator } from \"./AccessTokenGenerator.js\";\nimport { ApiExplorer } from \"./ApiExplorer.js\";\nimport { UserProfile } from \"./UserProfile.js\";\n\nconst ApiExplorerConstants    = globalThis.ApiExplorerConstants;\n\nexport class MainForApiExplorer{\n    constructor(hash){\n        this.generator  = null;\n        this.explorer   = null;\n\n        init.call(this, hash);\n    }\n\n    initiator(hash){\n        const urlSearchParams = new URLSearchParams(hash);\n        const params = Object.fromEntries(urlSearchParams.entries());\n        if(params.access_token){\n            //show API explorer playground\n            ApiExplorerConstants.accessToken = params.access_token;\n            ApiExplorerConstants.tokenGeneratedTime = new Date().getTime();\n            //replacing current url without hash\n            if(window.location.hash === hash){\n                window.history.replaceState({}, document.title, window.location.href.split('#')[0]); //No I18N\n            }\n            this.generator.hideATGenerator();\n            this.explorer.showExplorerPlayground();\n        } else {\n            //show Generate AT page\n            this.explorer.hideExplorerPlayground();\n            this.generator.initiateATGenerator();\n        }\n        this.explorer.renderBentoMenu();\n    }\n\n    updateUsersDetails(){\n        const user   = new UserProfile();\n        const userId = ApiExplorerConstants.UserProfile.userId;\n        user.setActiveUserId(userId);\n\n        const userName    = ApiExplorerConstants.UserProfile.userName;\n        const userEmailId = ApiExplorerConstants.UserProfile.userEmailId;\n        user.setUserName(userName);\n        user.setEmailId(userEmailId);\n\n        let imgScr = ApiExplorerConstants.AppURLS.MakeURL(userId);\n        user.setImgSrc(imgScr);\n\n        const isSignedInUser = userId != null && userId != \"null\" && userEmailId != \"\"; // No I18N\n        isSignedInUser && this.generator.setUserDetails(user);\n        this.generator.toggleSignInButton(isSignedInUser);\n    }\n\n}\n\nfunction init(hash){\n    this.generator = new AccessTokenGenerator();\n    const dom  = this.generator.getDom();\n    document.body.appendChild(dom);\n    this.explorer = new ApiExplorer(dom, hash);\n}\n","/*$Id$*/\nimport { MainForApiExplorer } from \"./MainForApiExplorer.js\";\n\nglobalThis.Table || (globalThis.Table = {}) \nwindow.onload = function() {\n    const hash = window.location.hash ? window.location.hash.substring(1) : '';\n    const apiExplorer = new MainForApiExplorer(hash);\n    apiExplorer.initiator(hash);\n    apiExplorer.updateUsersDetails();\n}\n"],"names":["accessTokenUrl","redirectUri","imageUrl","accountServerUrl","userName","userId","userEmailId","signInUrl","ApiExplorerConstants","AccessTokenUrl","RedirectURI","userID","templateID","template","templates","getTemplateByID","selectorID","getTemplateByClassName","selectorClassName","AccessTokenGenerator","init","generateTokenActionListener","user","isSignedInUser","accountUrl","ToastersContainerClass","toasterDom","toaster","self","timeOut","toastId","ToastersMsgContainer","addListerner","Toaster","time","callBack","count","bool","elapsedTime","remainingTime","ev","minimumTime","id","fragment","message","span","cls","percentage","rotate","CONTENT_TYPE","TEXT","HTML","JAVASCRIPT","OCTET_STREAM","MULTIPART_FORM_DATA","GIF","JPEG","PNG","SVG","WEBP","URL_ENCODED_FORM","RESPONSE_HEADER_SPLITTER","DEFAULT_RETRY_COUNT","RETRY_HEADERS","AjaxRequest","METHOD","eventName","callback","EVENTS","value","method","url","key","param","loadProgressEventListeners","onReadyStateChange","onTransportError","loadRequestHeadersToXmlHttpRequest","encodedData","getEncodedFormData","name","arr","headerMap","i","parts","header","payload","context","xmlHttpRequest","readystate","status","isSuccess","response","dispatchEventList","AjaxRequestCompleteEvent","eventList","ajaxRequestCompleteEvent","progressEventListeners","headers","headerName","headerValue","formData","encodedFormData","URLEncodedFormData","urlEncodedFormData","keys","encodedFormPair","result","responseCode","ModuleLoader","urls","type","len","j","node","createNode","bindOnLoad","fn","src","async","GET_METHOD","UTF_8_URL_ENCODED","zohomailDomain","BentoMenu","rightSectionID","ajaxRequest","event","iconParent","jsURL","currentScript","getSVGIconPath","iconID","getGalleryPrintSVGIconPath","SCOPES","FIELD_TYPE_CONSTANTS","IMPORT_SCOPES","ApiActionsInteractor","scopeIndex","i18nKey","purposeIndex","hash","scopeName","data","purposeName","paramIndex","fieldType","index","apiName","FieldTypeConstantDom","Option","purposesClickCallback","addListener","Param","FIELD_TYPE_CONSTANTS_PARAM_KEY_TYPE","BOOLEAN_INPUT_TYPE_KEY","IMPORT_SCOPE_PARAM_KEY","IMPORT_HIDDEN_PARAM_KEYS","ParamDom","isMandatory","validateAllFieldsCallback","constructFieldTypesDropdown","isFieldType","checkboxStatus","constructImportScopeDropdown","isImport","allowedFileTypes","addError","eventHandlers","dom","displayValue","inputValue","Scope","title","imgSrc","submenu","activateCurrentScopeCallback","URL_ENCODED_FORM_UTF8","ACCESS_TOKEN_VALID_FOR","ACCESS_TOKEN_THRESHOLD_VALUE","ERROR_LABEL","ERROR_DESC_LABEL","DOWNLOAD_SUCCESS_MSG","IMPORT_CONSTANTS","JSON_RESPONSE_TYPE","BLOB_RESPONSE_TYPE","ApiExplorer","attachListeners","tokenGeneratedTimeMs","repeatOften","currentTimeMillis","expireTime","millisToMinutesAndSeconds","currentIndices","constructScope","scope","activateCurrentScope","constructPurposes","isCurrentScope","purposeLength","purpose","option","updateCurrentOption","constructParams","toggleResponsePanel","paramsLength","docId","hdrsLength","toggleFieldTypeConstantsPanel","inputType","actionName","validateAllFields","paramDom","constructTablesAPI","validateQueryParams","showLoader","length","authToken","queryUrl","idx","qp","contentType","responseType","fileParam","handleDownload","errorResponse","showToaster","request","filename","disposition","blob","URL","downloadUrl","a","domList","fieldConstantsList","paramList","isEmptyValue","import_scope","paramLength","isEmptyValueExists","scopeValue","toggleExecuteButtons","constructFieldTypeConstants","fieldTypeConstants","tohide","enable","toShowLoader","selected","millis","minutes","seconds","fieldTypesList","li","importScopesList","constructImportParams","UserProfile","activeUserId","emailId","MainForApiExplorer","urlSearchParams","params","imgScr","apiExplorer"],"sourceRoot":""}