{"version":3,"sources":["components/SamplesLayout/components/PublicSamples/PublicSamples.module.scss","shared/components/InfoTooltip/InfoTooltip.module.scss","components/Button/Button.module.scss","components/Checkbox/Checkbox.module.scss","pages/Help/Help.module.scss","shared/components/Panel/Panel.module.scss","components/Tabs/Tabs/Tab.module.scss","shared/components/EmbedCode/EmbedCode.module.scss","shared/components/EmbedOptions/EmbedOptions.module.scss","components/RemixIcons/generated/remixIcons.jsx","static/icons/interactivity.svg","shared/components/BannerContent/BannerContent.jsx","static/icons/coding.svg","components/Banners/InteractivityBanner/InteractivityBanner.jsx","static/icons/paint-brush.svg","components/Banners/EmbedOptionsBanner/EmbedOptionsBanner.jsx","static/icons/selective.svg","components/Banners/ThemesBanner/ThemesBanner.jsx","static/icons/api.svg","components/Banners/CrossVisualFilteringBanner/CrossVisualFilteringBanner.jsx","static/icons/headphones.svg","components/Banners/EmbedApiBanner/EmbedApiBanner.jsx","components/Banners/EventListenersBanner/EventListenersBanner.jsx","shared/constants/navigationConstants.jsx","hooks/useNotificationBanners.js","components/SocialShare/images/share.svg","components/SocialShare/SocialShare.jsx","components/ReachOut/ReachOut.jsx","components/HeaderActions/HeaderActions.jsx","pages/Help/Help.jsx","components/Modal/Modal.jsx","components/ModalContainer/modalsSlice.js","components/ModalContainer/ModalContainer.jsx","components/NotificationBanner/NotificationBanner.jsx","components/NavigationItem/NavigationItem.jsx","components/NavigationMenu/NavigationMenu.jsx","shared/constants/liveCodeScripts/commonCode.js","shared/constants/embedComponentTypes.js","shared/constants/liveCodeScripts/dashboardBuilderScripts.js","shared/constants/liveCodeScripts/visualBuilderScripts.js","shared/constants/liveCodeScripts/dashboardEventListenerScripts.js","shared/constants/liveCodeScripts/visualEventListenerScripts.js","shared/constants/liveCodeScripts/visualBuilderEventListenerScripts.js","shared/constants/liveCodeScripts/dundasScripts.js","shared/constants/liveCodeScripts/composerScripts.js","shared/utils/codeBuilderHelpers.js","shared/constants/liveCodeScripts/embedViewerScripts.js","shared/constants/liveCodeScripts/adHocEditorScripts.js","shared/constants/liveCodeScripts/metricSetScripts.js","shared/constants/liveCodeScripts/dashboardScripts.js","shared/constants/liveCodeScripts/inventoryScripts.js","shared/constants/liveCodeScripts/sourceEditorScripts.js","shared/constants/liveCodeScripts/interactivityProfileScripts.js","shared/constants/liveCodeScripts/eventListenerScripts.js","shared/constants/liveCodeScripts/pubSubScripts.js","shared/store/embedSelectors.js","shared/constants/defaultEmbedSettings.js","helpers/embedOptionHelpers.js","shared/store/embedSlice.js","components/PlatformSidebar/PlatformSidebar.jsx","components/Layout/Layout.jsx","pages/MainEmbedOptions/constatnts/mainEmbedOptionsOptions.js","shared/components/Panel/Panel.jsx","shared/constants/liveCodeTabs.js","shared/components/EmbedCode/EmbedCode.jsx","shared/components/ConnectedEmbedCode/ConnectedEmbedCode.jsx","components/Tabs/Tabs/Tabs.jsx","components/Tabs/Tabs/Tab.jsx","static/icons/document.svg","static/icons/angle-small-down.svg","shared/components/InfoTooltip/InfoTooltip.jsx","shared/components/DocumentationHelperPopup/DocumentationHelperPopup.jsx","shared/constants/documentationConstants.jsx","shared/components/DocumentationHelper/DocumentationHelper.jsx","components/Button/Button.jsx","static/icons/exclamation.svg","shared/components/EditModeWarningModalContent/EditModeWarningModalContent.jsx","shared/components/AdvancedEmbed/AdvancedEmbed.jsx","shared/hooks/useQueryParamEmbedSettings.js","components/Checkbox/Checkbox.jsx","shared/components/EmbedOption/EmbedOption.jsx","shared/constants/embedOptionConstatns.jsx","shared/components/EmbedOptions/EmbedOptions.jsx","shared/components/EmbedPreview/EmbedPreview.jsx","shared/components/EmbedPage/EmbedPage.jsx","pages/MainEmbedOptions/MainEmbedOptions.jsx","pages/UxInteractivity/constants/uxInteractivityOptions.js","pages/UxInteractivity/UxInteractivity.jsx","pages/UiThemes/constants/uiThemesOptions.js","pages/UiThemes/UiThemes.jsx","pages/CrossVisualFiltering/constants/crossVisualFilteringOptions.js","pages/CrossVisualFiltering/CrossVisualFiltering.jsx","pages/EmbedApi/constants/embedApiOptions.js","pages/EmbedApi/EmbedApi.jsx","pages/EventListeners/constants/eventListenerOptions.js","pages/EventListeners/EventListeners.jsx","pages/DundasMainEmbedOptions/constants/mainEmbedOptionsOptions.js","pages/DundasMainEmbedOptions/DundasMainEmbedOptions.jsx","config/api.js","helpers/auth.js","api/httpClient.js","pages/NewAccount/NewAccount.jsx","api/user.js","pages/Landing/images/flyover-video-bg.svg","pages/Landing/images/playgroundimage.png","pages/Landing/Landing.jsx","api/publicHttpClient.js","api/samples.js","samplesRedux/thunks.js","pages/MySamples/redux/thunks.js","pages/MySamples/redux/mySamplesSlice.js","redux/thunks.js","redux/userSlice.js","hooks/useAuth.js","components/SamplesLayout/components/LayoutHeader/LayoutHeader.jsx","static/icons/delete.svg","components/SamplesList/SamplesList.jsx","components/SamplesLayout/components/PublicSamples/PublicSamples.jsx","components/SamplesLayout/SamplesLayout.jsx","pages/MySamples/MySamples.jsx","pages/Sample/redux/thunks.js","pages/Sample/redux/samplesSlice.js","static/icons/checkmark.svg","static/icons/fork.svg","static/icons/save.svg","pages/Sample/Sample.jsx","App.jsx","redux/playgroundUserSlice.js","samplesRedux/publicSamplesSlice.js","store.js","dundasContext.jsx","index.js","pages/Sample/Sample.module.scss","shared/components/DocumentationHelperPopup/DocumentationHelperPopup.module.scss","shared/components/EditModeWarningModalContent/EditModeWarningModalContent.module.scss","components/Layout/Layout.module.scss","pages/NewAccount/NewAccount.module.scss","components/HeaderActions/HeaderActions.module.scss","components/SocialShare/SocialShare.module.scss","components/ReachOut/ReachOut.module.scss","shared/components/EmbedOption/EmbedOption.module.scss","components/SamplesList/SamplesList.module.scss","components/Modal/Modal.module.scss","components/NotificationBanner/NotificationBanner.module.scss","components/Tabs/Tabs/Tabs.module.scss","shared/components/DocumentationHelper/DocumentationHelper.module.scss","pages/Landing/Landing.module.scss","components/SamplesLayout/SamplesLayout.module.scss","shared/components/AdvancedEmbed/AdvancedEmbed.module.scss","shared/components/EmbedPreview/EmbedPreview.module.scss","pages/MySamples/MySamples.module.scss","components/SamplesLayout/components/LayoutHeader/LayoutHeader.module.scss","shared/components/BannerContent/BannerContent.module.scss","components/NavigationMenu/NavigationMenu.module.scss"],"names":["module","exports","APIIcon","forwardRef","props","ref","_jsx","SvgIcon","children","d","ArrowLeftSLineIcon","ArrowRightSLineIcon","CodeBlockIcon","EmbedIcon","EventListenersIcon","FiltersIcon","HomeIcon","MDRIcon","SamplesIcon","UIThemeIcon","UXInteractivityIcon","VDDIcon","_g","_g2","_g3","_g4","_g5","_g6","_g7","_g8","_g9","_g10","_g11","_g12","_g13","_g14","_g15","_g16","BannerContent","_ref","icon","_jsxs","className","styles","root","iconHolder","textHolder","_extends","Object","assign","bind","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","this","SvgInteractivity","svgRef","title","titleId","id","xmlns","xmlnsXlink","x","y","viewBox","style","enableBackground","xmlSpace","ForwardRef","_g17","_g18","InteractivityBanner","InteractivityIcon","SvgCoding","_circle","_path","EmbedOptionsBanner","CodingIcon","SvgPaintBrush","height","width","cx","cy","r","_g19","_g20","_g21","_g22","_g23","ThemesBanner","ThemesIcon","SvgSelective","CrossVisualFilteringBanner","FilterIcon","SvgApi","EmbedApiBanner","ApiIcon","SvgHeadphones","EventListenersBanner","COMMON_NAV_MENU_ITEMS","path","name","pageTitle","headerTitle","category","bannerComponent","bannerText","VDD_NAV_MENU_ITEMS","params","MDR_NAV_MENU_ITEMS","NAV_MENU_ITEMS","useNotificationBanners","history","useHistory","currentBanner","setCurrentBanner","useState","isBannerShown","setIsBannerShown","timeoutRef","useRef","handleLocationChange","pathname","clearTimeout","current","timeout","setTimeout","getIsBannerAvailable","bannerInfo","find","window","localStorage","getItem","some","_ref2","useEffect","location","listen","hideBanner","setItem","SocialShare","url","contentHolder","contentLeft","text","shareButtonsContainer","copyLinkBtton","onClick","navigator","clipboard","writeText","EmailShareButton","EmailIcon","size","round","FacebookShareButton","FacebookIcon","LinkedinShareButton","LinkedinIcon","TwitterShareButton","TwitterIcon","contentRight","src","ShareImage","shareImg","ReachOut","href","HeaderActions","isSharePopoverOpen","setIsSharePopoverOpen","isReachOutPopoverOpen","setIsReachOutPopoverOpen","rootRef","documentClickHandler","e","contains","document","addEventListener","removeEventListener","openPopover","useCallback","preventDefault","stopPropagation","closePopover","openReachOutPopover","closeReachOutPopover","classNames","button","shareButton","scheduleCallButton","sectionId","section","getElementById","scrollIntoView","behavior","block","inputElement","querySelector","focus","scrollToSection","sharePopoverHolder","closePopoverButton","Help","link","Modal","contentLink","onCloseClick","position","setPosition","isDragged","setIsDragged","mouseDragOffset","setMouseDragOffset","innerWidth","innerHeight","rootHeight","offsetHeight","rootWidth","getBoundingClientRect","handleMouseMove","clientX","Math","max","clientY","handleMouseUp","left","top","header","dragArea","onMouseDown","offsetX","offsetY","close","content","modalsSlice","createSlice","initialState","modals","reducers","showModal","state","payload","push","hideModal","filter","m","actions","ModalContainer","useSelector","dispatch","useDispatch","map","NotificationBanner","headerText","isVisible","onClose","hidden","dismissText","SidebarButton","styled","Button","shouldForwardProp","prop","active","theme","overflow","whiteSpace","boxSizing","color","fontSize","minWidth","borderRadius","padding","justifyContent","border","fontFamily","backgroundColor","alpha","concat","buttonClasses","focusVisible","outline","boxShadow","palette","common","white","startIcon","marginLeft","display","flexShrink","alignItems","svgIconClasses","undefined","RouteButton","expanded","isActive","rest","Tooltip","placement","arrow","disableFocusListener","disableHoverListener","disableTouchListener","NavigationMenu","currentPath","setCurrentPath","currentProduct","slice","groupedMenuItems","reduce","acc","item","keys","React","Fragment","categoryTitle","categoryTitleText","Stack","fontWeight","COMMON_EMBED_CSS_CODE","COMMON_EMBED_HTML_CODE","COMMON_EMBED_JS_CODE","EMBED_COMPONENT_TYPES","NAME_OF_DEFAULT_DASHBOARD","DASHBOARD_LISTING_JS_CODE","process","VISUAL_LISTING_JS_CODE","DASHBOARD_EVENT_LISTENERS_CODE","DASHBOARD_EVENT_LISTENER_READY_CODE","DASHBOARD_EVENT_LISTENER_CHANGED_CODE","DASHBOARD_EVENT_LISTENER_DELETED_CODE","DASHBOARD_EVENT_LISTENER_FAILED_CODE","DASHBOARD_EVENT_LISTENER_SAVE_CODE","DASHBOARD_EVENT_LISTENER_DOC_FAIL_CODE","DASHBOARD_EVENT_LISTENER_DOC_UNAUTHORIZED_CODE","DASHBOARD_EVENT_LISTENER_VISUAL_ADDED_CODE","DASHBOARD_EVENT_LISTENER_VISUAL_REMOVED_CODE","DASHBOARD_EVENT_LISTENER_VISUAL_FAIL_CODE","DASHBOARD_EVENT_LISTENER_VISUAL_LOAD_CODE","DASHBOARD_EVENT_LISTENER_VISUAL_RENDERED_CODE","DASHBOARD_EVENT_LISTENER_VISUAL_SAVE_CODE","DASHBOARD_EVENT_LISTENER_VISUAL_BUILDER_CHANGE_CODE","DASHBOARD_EVENT_LISTENER_VISUAL_BUILDER_FAILED_CODE","DASHBOARD_EVENT_LISTENER_VISUAL_BUILDER_LOAD_CODE","DASHBOARD_EVENT_LISTENER_VISUAL_BUILDER_READY_CODE","CSS_DUNDAS","HTML_DUNDAS","JS_DUNDAS","CSS_COMPOSER","HTML_COMPOSER","JS_COMPOSER","applySettingsToJsCode","template","settings","embedComponentType","dashboardId","originId","firstDashboardId","sourceId","defaultUserSessionId","replaceAll","ViewType","doubleDashboards","toolbarHidden","toolbarAddMetricsSetHidden","toolbarAddDashboardHidden","toolbarAddReportHidden","dockablesHidden","openExistingHidden","reportId","scorecardId","metricSetId","listVisuals","listDashboards","showTitle","showHeader","inventoryItem","showActions","ip","themeComposer","dashboardIpOverrides","dashboardBuilderIpOverrides","visualIpOverrides","sourceEditorIpOverrides","inventoryIpOverrides","editorPlacement","breadcrumbs","dashboardEventListeners","sourceEditorEventListeners","dbEventListener","visualEventListener","dashboardReadyEventListener","dashboardChangedEventListener","dashboardDeleteEventListener","dashboardLoadFailEventListener","dashboardSaveEventListener","dashboardVisualAddEventListener","dashboardVisualRemoveEventListener","dashboardBuilderReadyEventListener","dashboardBuilderChangedEventListener","dashboardBuilderDeleteEventListener","dashboardBuilderLoadFailEventListener","dashboardBuilderSaveEventListener","dashboardBuilderVisualAddEventListener","dashboardBuilderVisualRemoveEventListener","visualLoadEventListener","visualLoadFailEventListener","visualRenderEventListener","visualSaveEventListener","dashboardBuilderVisualLoadEventListener","dashboardBuilderVisualLoadFailEventListener","dashboardBuilderVisualRenderEventListener","dashboardBuilderVisualSaveEventListener","documentFailed","dashboardBuilderDocumentFailed","visualBuilderChange","visualBuilderFail","visualBuilderLoad","visualBuilderReady","dbVisualBuilderChange","dbVisualBuilderFail","dbVisualBuilderLoad","dbVisualBuilderReady","unauthorized","dashboardBuilderUnauthorized","vbVisualLoadEventListener","vbVisualLoadFailEventListener","vbVisualRenderEventListener","vbVisualSaveEventListener","vbVisualBuilderChange","vbVisualBuilderFail","vbVisualBuilderReady","inventoryEventListeners","inventoryReadyEventListener","inventoryFailEventListener","inventoryDeleteEventListener","embedSource","embedInLiteMode","crossVisualFiltersSubscribe","crossVisualFiltersPublish","refresh","changeLayout","rename","shareFilterSets","dashboardInteractions","addToFavourites","delete","manageTags","manageAlerts","shareDashboard","scheduleReports","textSnippet","filterSnippet","widgetSettings","comments","exportPngPdf","addVisuals","exportConfiguration","dashboardLinks","save","actionsAction","rulers","zoomAction","filterAction","colors","metrics","trendAction","visualStyle","keysetAction","keyset","copy","export","timebarPanel","detailsAction","maximize","linkAction","remove","grouping","sort","timebarField","saveAs","conditionalFormatting","info","addNew","import","permissions","description","tags","share","multiSelect","rowSecurity","columnSecurity","clearCache","availableVisualTypes","schedule","favorites","sourceEditorActiveTab","showCreateTab","showFieldsTab","showCacheTab","showSettingsTab","addFromConnection","addFromFileUpload","selectFileUpload","uploadnewFile","createJoins","filterValuesEntities","exportSource","copySource","addDerivedField","addHierarchyField","addCustomMetric","visibility","fieldCapabilities","filterValueOverrides","manageTranslations","setUniqueKey","dataCache","scheduleRefresh","statisticsCache","fieldSettings","customizeActionButtons","customizeSearchControllers","customizeFilterButtons","customizeInventoryTable","applySettingsToHtmlCode","applySettingsToCssCode","getPreviewSettings","embed","previewSettings","getIsCodeTouched","isCodeTouched","getEmbedComponentType","isCodeRun","isEmbedReady","isReady","getDashboardList","dashboardList","getReportList","reportList","getScorecardList","scorecardList","getThemesList","themesList","getMetricSetList","metricSetList","getEmbedDashboardId","getDashboardListComposer","dashboardListComposer","getFirstDashboardId","getEmbedSourceId","getSourceList","sourceList","getSidebarExpanded","sidebarExpanded","getJsCode","createSelector","code","js","jsCode","embedDashboardId","embedOriginId","getHtmlCode","html","htmlCode","getCssCode","css","cssCode","DEFAULT_SETTINGS","visualEditorPlacement","dashboardShowTitle","visualShowTitle","dashboardBuilderEventListeners","DEFAULT_INTERACTIVE_SETTINGS","DEFAULT_READONLY_SETTINGS","getDefaultSettings","interactivityProfileName","editorCode","md","dashboardAuthoringSlice","setHtml","action","setJs","setCss","setEditorHtml","setEditorJs","setEditorMd","setEditorCss","setIsCodeTouched","setIsCodeRun","setEmbedSetting","value","setEmbedComponentType","setEmbedDashboardId","_ref3","setEmbedDundasDefaultIds","_ref4","setEmbedOriginId","_ref5","synchronizePreviewSettings","setEmbedSettings","_ref6","updatedSettings","setIsEmbedReady","_ref7","setDashboardList","_ref8","setReportList","_ref9","setScorecardList","_ref10","setThemesList","_ref11","setDashboardListComposer","_ref12","setSourceList","_ref13","setEmbedSourceId","_ref14","setMetricSetList","_ref15","setDefaultUserSessionId","_ref16","setSidebarExpanded","_ref17","resetDefaults","defaultDashboard","ExpandButton","sx","IconButton","black","Array","isArray","PlatformSidebar","Box","component","background","flexDirection","transition","right","Layout","setPageTitle","setHeaderTitle","setTitle","_NAV_MENU_ITEMS$find","_NAV_MENU_ITEMS$find2","navExpanded","navigationDelimiter","navigationTitle","alt","logo","navMenu","_Fragment","OPTIONS","dashboard","basicOptions","defaultValue","advancedOptions","inventory","Panel","TABS","EmbedCode","onRunClick","mdCode","onHtmlCodeChange","onJsCodeChange","onCssCodeChange","onMdCodeChange","selectedFile","setSelectedFile","showReadme","readmeEditable","ace","config","set","editorOptions","setOptions","useWorker","enableBasicAutocompletion","enableLiveAutocompletion","editor","codeBlock","values","tab","tabButton","controls","panelButton","copyCode","panel","tabHolder","AceEditor","mode","onChange","mdHolder","mdPreview","mdContent","dangerouslySetInnerHTML","__html","micromark","replace","ConnectedEmbedCode","defaultSliderParameters","Tabs","selectedIndex","onSelect","adjustedSelectedIndex","displayedTab","buttonRefs","setButtonRefs","sliderParameters","setSliderParameters","containerRef","elRefs","_","createRef","currentTabButton","containerLeft","tabHeaders","tabDefault","disabled","slider","tabContent","Tab","SvgDocument","SvgAngleSmallDown","InfoTooltip","tooltipCoordinates","settooltipCoordinates","tooltipRef","resetTooltipPosition","tooltipWidth","onMouseOver","tooltiptext","componentOptions","DocumentationHelperPopup","topicGroups","selectedGroup","groupExpanded","setGroupExpanded","res","groupName","docLinkClickHandler","modalTitle","nanoid","heading","entries","topicArticles","ArrowDownIcon","inverted","highlighted","articleName","articleNameText","tooltipText","tooltipHeader","documentationLink","DOCUMENTATION_PATH","origin","DOCUMENTATION_LINKS","PLAYGROUND_PUBLISH","PLAYGROUND_SUBSCRIBE","EMBED_JS_EMBEDMANAGER_PROP_DASH","EMBED_JS_EMBEDMANAGER_PROP_INVENTORY","EMBED_JS_EXAMPLE_VB","EMBED_JS_EVENTLISTENERS","EMBED_JS_EVENTLISTENERS_DASHBOARD_BUILDER","EMBED_JS_EMBEDMANAGER_PROP_SOURCE_EDITOR","EMBED_JS_EVENTLISTENERS_INVENTORY","EMBED_JS_EVENTLISTENERS_VISUALS","EMBED_JS_MODES","EMBED_JS_EMBEDMANAGER_INTERACTIVITY_PROP","EMBED_JS_EMBEDMANAGER_INTERACTIVITY_PROP_DASH","EMBED_JS_EMBEDMANAGER_INTERACTIVITY_PROP_VIS","EMBED_JS_EMBEDMANAGER_MULTIPLE_DASHBOARDS","THEMES","BREADCRUMBS","DEFAULT_SOURCE","LIST_VISUALS","LIST_DASHBOARDS","VIEW_TYPE","THEMES_DUNDAS","AD_HOC_EDITOR","EMBED_OPTIONS","EMBED_VIEWER","METRIC_SET","DOCUMENTATION_ITEMS","EmbedOptions","embedViewerEmbedOptions","metricSetEmbedOptions","adHocEditorEmbedOptions","Theme","Dashboard","Report","Scorecard","MetricSet","dashboardEmbedOptions","inventoryEmbedOptions","visualEmbedOptions","publish","subscribe","dashboardEditorPlacement","themes","dashboardShowHeader","visualShowHeader","dashboardShowActions","visualShowActions","dashboardLite","sourceEditorEmbedOptions","sourceEditorShowHeader","sourceEditorShowTitle","EMBEDDED_DASHBOARD_DOCUMENTATION_POPUP_ITEMS","VISUAL_AUTHORING_DOCUMENTATION_POPUP_ITEMS","DASHBOARD_AUTHORING_DOCUMENTATION_POPUP_ITEMS","INVENTORY_DOCUMENTATION_POPUP_ITEMS","SOURCE_EDITOR_DOCUMENTATION_POPUP_ITEMS","EMBED_VIEWER_POPUP_ITEMS","METRIC_SET_POPUP_ITEMS","AD_HOC_EDITOR_POPUP_ITEMS","DocumentationHelper","productSelected","isPopupDisplayed","setIsPopupDisplayed","documentationTopics","popupTrigger","DocumentIcon","documentIcon","arrowDownIcon","overlay","popup","to","Link","SvgExclamation","EditModeWarningModalContent","onConfirm","onCancel","ExclamationIcon","exclamationIcon","controlsContainer","cancel","confirm","resizerVerticalStyles","cursor","margin","backgroundClip","AdvancedEmbed","onModalConfirm","onModalCancel","onTabSelect","isWarningModalShown","selectedTabIndex","advancedEmbedOptions","advancedEmbedCode","advancedEmbedDashboardPreview","showWarningModal","setNavigationUrl","navigationUrl","componentType","maxWidth","setMaxWidth","setMaxSizes","Prompt","message","SplitPane","split","minSize","maxSize","defaultSize","resizerStyle","previewSection","documentationHelperHolder","useQueryParamEmbedSettings","setSelectedTabIndex","refreshSettingsAndCodeValues","defaultSettings","embedComponentTypeOptions","options","k","v","defaultDashboardId","modeTabIndex","selectedFileName","newSearch","queryString","stringify","isQueryEmpty","replaceState","parse","search","parsedSettings","Number","isNaN","fileFromParams","o","Checkbox","checked","switch","type","EmbedOption","fieldKey","defaultMappings","selectElement","mapping","list","defaultFriendlyName","handleDefaultId","defaultId","friendlyName","optionsSelect","label","checkboxElement","htmlFor","report","scorecard","inventoryEmbedListeners","dundasComponentOptions","composerComponentOptions","componentTypes","interactivityOptions","eventListenerOptions","defaultOptions","tabIndex","setTabIndex","currentSettings","dashboards","sources","handleFieldChange","filteredComponentOptions","ac","panelContent","row","componentTypeSelect","option","dashboardSelect","selectedOriginId","getAttribute","data-origin-id","sourceName","bottomControls","resetBtn","applyBtn","memo","prevPros","nextProps","isEqual","getSrcDoc","EmbedPreview","srcDoc","setSrcDoc","isIframeMouseBlocked","setisIframeMouseBlocked","handleMouseDown","iframe","disableMouseEvents","EmbedPage","defaultDashboardName","prevComponentType","setPrevComponentType","setIsWarningModalShown","embedOptionsProps","opt","advancedIpSettings","fetch","then","json","data","defaultSource","s","MainEmbedOptions","commonInteractivitySettings","defaultvalue","Visuals","DashboardLibrary","VisualLibrary","SourceLibrary","Create","Fields","Caching","UxInteractivity","_OPTIONS$inventory$in","_OPTIONS$inventory$in2","_OPTIONS$inventory$in3","selectedInteractivityOptions","UiThemes","CrossVisualFiltering","EmbedApi","Visual","Document","VisualAuthoring","EventListeners","DundasMainEmbedOptions","apiUrl","ACCESS_TOKEN_KEY","REFRESH_TOKEN_KEY","getAccessToken","setAccessToken","token","getRefreshToken","httpClient","axios","create","baseURL","headers","Accept","interceptors","request","use","accessToken","Authorization","logout","removeItem","response","async","error","originalRequest","status","_retry","refreshToken","post","refreshAccessToken","Promise","reject","EMPTY_ACCOUNT","accountName","password","customerName","prospectName","notes","formControls","property","helpText","NewAccount","account","setAccount","setMessage","isPasswordInvalid","match","onSubmit","method","body","JSON","catch","err","details","form","control","inputWrap","input_error","btns","submit","Landing","email","setEmail","emailError","setEmailError","validateAndSetError","trim","validateEmail","input","test","emailParam","URLSearchParams","get","decodeURIComponent","mainContainer","leftContainer","ContentTitle","TextRegular","buttonsContainer","buttonProduct","headerHeight","offset","offsetTop","scrollTo","learnMoreLink","rightContainer","bgImg","previewImg1","PreviewImage1","containerProductHeader","productHeaderTitle","productHeaderContent","containerProduct","leftProductContainer","productContent","innerProductContent","fill","productTitle","productTextRegular","rightProductContainer","footer","inputBox","hasEmail","event","inputEmail","autoComplete","errorMessage","encodeURIComponent","publicHttpClient","createAsyncThunk","require","getPublicSamples","sample","getMySamples","deleteSample","deleteSampleById","setSamplePublicValue","sampleId","isPublic","put","updateSamplePublicValue","createNewSample","samples","isLoading","newSampleId","setSamples","setIsLoading","setNewSampleId","setSamplePublicValueLocal","extraReducers","builder","addCase","fulfilled","signIn","signInUser","getUser","loginPlaygroundUser","formData","REACT_APP_API_LOGIN_URL","Error","loginPlaygroundUserAPI","logoutPlaygroundUser","REACT_APP_API_LOGOUT_URL","reload","getCurrentPlaygroundUser","user","isFailed","setIsFailed","rejected","useAuth","isUserLoading","LayoutHeaderComponent","subHeading","LayoutHeader","SvgDelete","SamplesList","mdrSamples","vddSamples","onDeleteSampleClick","enablePublicControls","onPublicChange","renderSamples","listItem","deleteButton","DeleteIcon","deleteIcon","PublicSamplesComponent","publicSamples","PublicSamples","SamplesLayoutComponent","headerHolder","publicSamplesHolder","SamplesLayout","MySamples","mySamplesData","createSample","spinner","isAdmin","createNewSampleButton","getSample","fetchSample","updateSample","getState","putSample","isUpdating","setSample","setIsUpdating","updateSampleTitle","SvgCheckmark","SvgFork","fillRule","SvgSave","isTitleFocused","setIsTitleFocused","isUpdateSuccessful","setIsUpdateSuccessful","useParams","isLoaded","setSampleTitle","sampleTitle","handleTitleBlur","saveSample","forkSample","handleKeyDown","blur","spinnerHolder","ownerId","classnames","titleInput","focused","onBlur","onFocus","onKeyDown","saveButton","small","CheckmarkIcon","SaveIcon","ForkIcon","splitPane","App","historyInstance","createBrowserHistory","Router","Switch","Route","exact","Sample","isLoggedIn","setIsLoggedIn","rootReducer","combineReducers","embedReducer","modalsReducer","samplesReducer","sampleReducer","publicSamplesReducer","userReducer","playgroundUser","persistConfig","storage","whitelist","pReducer","persistReducer","store","configureStore","reducer","middleware","thunk","persistor","persistStore","DundasContext","createContext","DundasProvider","fetchContent","loginResponse","credentials","sessionId","dashboardData","themeData","reportData","scorecardData","metricSetData","all","unshift","Provider","setupDundasEmbedded","ReactDOM","render","StrictMode","PersistGate","loading"],"mappings":"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","file":"static/js/main.54652445.chunk.js","sourcesContent":["// extracted by mini-css-extract-plugin\nmodule.exports = {\"root\":\"PublicSamples_root__2qtya\",\"heading\":\"PublicSamples_heading__1kBL2\",\"text\":\"PublicSamples_text__2oFVd\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"root\":\"InfoTooltip_root__2_aIg\",\"tooltiptext\":\"InfoTooltip_tooltiptext__3fvJI\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"root\":\"Button_root__3ros1\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"switch\":\"Checkbox_switch__2AvBq\",\"slider\":\"Checkbox_slider__rU0_3\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"root\":\"Help_root__32W1I\",\"img\":\"Help_img__HDx8i\",\"imgRight\":\"Help_imgRight__DGkVn\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"root\":\"Panel_root__qBlnE\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"root\":\"Tab_root__84T49\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"root\":\"EmbedCode_root__3KrT3\",\"panelButton\":\"EmbedCode_panelButton__1zWie\",\"codeBlock\":\"EmbedCode_codeBlock__3rI0r\",\"panel\":\"EmbedCode_panel__1lCI2\",\"code\":\"EmbedCode_code__22pHS\",\"tabButton\":\"EmbedCode_tabButton__165oJ\",\"active\":\"EmbedCode_active__2SXzo\",\"header\":\"EmbedCode_header__2V6QC\",\"controls\":\"EmbedCode_controls__PXfR8\",\"tabHolder\":\"EmbedCode_tabHolder__3pxJ5\",\"editor\":\"EmbedCode_editor__1nv1S\",\"mdHolder\":\"EmbedCode_mdHolder__1ryUi\",\"mdPreview\":\"EmbedCode_mdPreview__2AXL3\",\"mdContent\":\"EmbedCode_mdContent__2Ar-1\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"root\":\"EmbedOptions_root__3POX7\",\"panelContent\":\"EmbedOptions_panelContent__Vg3d_\",\"row\":\"EmbedOptions_row__pLFxY\",\"componentTypeSelect\":\"EmbedOptions_componentTypeSelect__hYHLS\",\"dashboardSelect\":\"EmbedOptions_dashboardSelect__1jrBk\",\"interactivityOptions\":\"EmbedOptions_interactivityOptions__bMWsO\",\"eventListenerOptions\":\"EmbedOptions_eventListenerOptions__2I5_k\",\"bottomControls\":\"EmbedOptions_bottomControls__1dYAH\",\"applyBtn\":\"EmbedOptions_applyBtn__3p0GM\",\"resetBtn\":\"EmbedOptions_resetBtn__uOmlj\"};","/********\n * This file is generated by client/app/scripts/processRemixIcons.js. Do not modify it directly\n * For instructions on how to add new icons, see\n * client/src/components/RemixIcons/README.md\n ********/\nimport React, { forwardRef } from 'react';\nimport { SvgIcon } from '@mui/material';\n\nexport const APIIcon = forwardRef((props, ref) => (\n \n \n \n));\nexport const ArrowLeftSLineIcon = forwardRef((props, ref) => (\n \n \n \n));\nexport const ArrowRightSLineIcon = forwardRef((props, ref) => (\n \n \n \n));\nexport const CodeBlockIcon = forwardRef((props, ref) => (\n \n \n \n));\nexport const CodingIcon = forwardRef((props, ref) => (\n \n \n \n));\nexport const EmbedIcon = forwardRef((props, ref) => (\n \n \n \n));\nexport const EventListenersIcon = forwardRef((props, ref) => (\n \n \n \n));\nexport const FiltersIcon = forwardRef((props, ref) => (\n \n \n \n));\nexport const HomeIcon = forwardRef((props, ref) => (\n \n \n \n));\nexport const LibraryIcon = forwardRef((props, ref) => (\n \n \n \n));\nexport const MDRIcon = forwardRef((props, ref) => (\n \n \n \n));\nexport const SamplesIcon = forwardRef((props, ref) => (\n \n \n \n));\nexport const UIThemeIcon = forwardRef((props, ref) => (\n \n \n \n));\nexport const UXInteractivityIcon = forwardRef((props, ref) => (\n \n \n \n));\nexport const VDDIcon = forwardRef((props, ref) => (\n \n \n \n));\n","var _g, _g2, _g3, _g4, _g5, _g6, _g7, _g8, _g9, _g10, _g11, _g12, _g13, _g14, _g15, _g16;\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport * as React from \"react\";\nfunction SvgInteractivity(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Capa_1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 471.429 471.429\",\n style: {\n enableBackground: \"new 0 0 471.429 471.429\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M375.192,227.051c-12.921,0-24.394,6.316-31.493,16.024c-7.099-9.708-18.571-16.024-31.492-16.024 s-24.394,6.316-31.493,16.024c-7.099-9.708-18.571-16.024-31.492-16.024c-9.041,0-17.372,3.092-23.993,8.275V128.993 c0-21.5-17.492-38.993-38.992-38.993s-38.993,17.492-38.993,38.993v274.936c0,37.22,30.28,67.5,67.5,67.5h131.939 c37.22,0,67.5-30.28,67.5-67.5V266.043C414.184,244.542,396.692,227.051,375.192,227.051z M399.184,403.929 c0,28.949-23.551,52.5-52.5,52.5H214.745c-28.949,0-52.5-23.551-52.5-52.5V128.993c0-13.229,10.763-23.993,23.993-23.993 s23.992,10.763,23.992,23.993v152.05c0,4.142,3.358,7.5,7.5,7.5s7.5-3.358,7.5-7.5v-15c0-13.229,10.763-23.992,23.993-23.992 s23.992,10.763,23.992,23.992v15c0,4.142,3.358,7.5,7.5,7.5s7.5-3.358,7.5-7.5v-15c0-13.229,10.763-23.992,23.993-23.992 s23.992,10.763,23.992,23.992v15c0,4.142,3.358,7.5,7.5,7.5s7.5-3.358,7.5-7.5v-15c0-13.229,10.763-23.992,23.993-23.992 s23.992,10.763,23.992,23.992V403.929z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M255.229,128.993c0,14.897-4.677,29.083-13.525,41.024c-2.466,3.328-1.768,8.025,1.561,10.491 c3.327,2.465,8.025,1.767,10.491-1.561c10.777-14.544,16.474-31.818,16.474-49.955c0-46.313-37.679-83.993-83.992-83.993 s-83.993,37.679-83.993,83.993c0,18.137,5.697,35.411,16.474,49.956c1.472,1.986,3.736,3.035,6.032,3.035 c1.552,0,3.117-0.48,4.459-1.475c3.328-2.466,4.027-7.163,1.561-10.491c-8.849-11.941-13.526-26.127-13.526-41.025 c0-38.042,30.95-68.993,68.993-68.993S255.229,90.95,255.229,128.993z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M128.546,227.322c-34.728-20.423-56.302-58.101-56.302-98.329c0-25.641,8.316-49.858,24.048-70.033 c2.547-3.266,1.964-7.979-1.302-10.526c-3.266-2.548-7.979-1.965-10.526,1.302c-17.807,22.835-27.22,50.242-27.22,79.257 c0,22.883,6.073,45.364,17.563,65.013c11.146,19.06,27.099,35.051,46.135,46.246c1.194,0.703,2.503,1.036,3.795,1.036 c2.571,0,5.074-1.323,6.472-3.699C133.309,234.018,132.117,229.421,128.546,227.322z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M116.204,39.048C136.379,23.316,160.596,15,186.237,15c62.855,0,113.992,51.137,113.992,113.993 c0,28.448-10.538,55.69-29.673,76.71c-2.788,3.063-2.565,7.807,0.498,10.595c1.438,1.309,3.245,1.954,5.047,1.954 c2.038,0,4.068-0.826,5.548-2.451c21.654-23.788,33.58-54.617,33.58-86.808C315.229,57.866,257.364,0,186.237,0 c-29.015,0-56.421,9.413-79.257,27.22c-3.267,2.547-3.85,7.26-1.303,10.526C108.225,41.013,112.938,41.597,116.204,39.048z\"\n }))), _g2 || (_g2 = /*#__PURE__*/React.createElement(\"g\", null)), _g3 || (_g3 = /*#__PURE__*/React.createElement(\"g\", null)), _g4 || (_g4 = /*#__PURE__*/React.createElement(\"g\", null)), _g5 || (_g5 = /*#__PURE__*/React.createElement(\"g\", null)), _g6 || (_g6 = /*#__PURE__*/React.createElement(\"g\", null)), _g7 || (_g7 = /*#__PURE__*/React.createElement(\"g\", null)), _g8 || (_g8 = /*#__PURE__*/React.createElement(\"g\", null)), _g9 || (_g9 = /*#__PURE__*/React.createElement(\"g\", null)), _g10 || (_g10 = /*#__PURE__*/React.createElement(\"g\", null)), _g11 || (_g11 = /*#__PURE__*/React.createElement(\"g\", null)), _g12 || (_g12 = /*#__PURE__*/React.createElement(\"g\", null)), _g13 || (_g13 = /*#__PURE__*/React.createElement(\"g\", null)), _g14 || (_g14 = /*#__PURE__*/React.createElement(\"g\", null)), _g15 || (_g15 = /*#__PURE__*/React.createElement(\"g\", null)), _g16 || (_g16 = /*#__PURE__*/React.createElement(\"g\", null)));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgInteractivity);\nexport default __webpack_public_path__ + \"static/media/interactivity.f2d6aec4.svg\";\nexport { ForwardRef as ReactComponent };","import React from 'react';\nimport styles from './BannerContent.module.scss';\n\nexport default function BannerContent({ icon, children }) {\n return (\n
\n
{icon}
\n
{children}
\n
\n );\n}\n","var _g, _g2, _g3, _g4, _g5, _g6, _g7, _g8, _g9, _g10, _g11, _g12, _g13, _g14, _g15, _g16, _g17, _g18;\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport * as React from \"react\";\nfunction SvgCoding(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Capa_1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 511.997 511.997\",\n style: {\n enableBackground: \"new 0 0 511.997 511.997\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M506.76,242.828l-118.4-125.44c-7.277-7.718-19.424-8.07-27.142-0.787c-7.706,7.277-8.064,19.43-0.781,27.142 l105.965,112.256L360.437,368.268c-7.283,7.712-6.925,19.859,0.781,27.142c3.712,3.501,8.454,5.235,13.178,5.235 c5.101,0,10.195-2.022,13.965-6.01l118.4-125.446C513.742,261.785,513.742,250.226,506.76,242.828z\"\n })))), _g2 || (_g2 = /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M151.566,368.262L45.608,255.999l105.958-112.262c7.277-7.712,6.925-19.866-0.787-27.142 c-7.706-7.277-19.866-6.925-27.142,0.787l-118.4,125.44c-6.982,7.398-6.982,18.963,0,26.362L123.643,394.63 c3.776,4,8.864,6.016,13.965,6.016c4.723,0,9.466-1.741,13.171-5.242C158.498,388.127,158.843,375.974,151.566,368.262z\"\n })))), _g3 || (_g3 = /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M287.061,52.697c-10.477-1.587-20.282,5.606-21.882,16.083l-56.32,368.64c-1.6,10.483,5.6,20.282,16.083,21.882 c0.986,0.147,1.958,0.218,2.925,0.218c9.325,0,17.504-6.803,18.957-16.301l56.32-368.64 C304.744,64.095,297.544,54.297,287.061,52.697z\"\n })))), _g4 || (_g4 = /*#__PURE__*/React.createElement(\"g\", null)), _g5 || (_g5 = /*#__PURE__*/React.createElement(\"g\", null)), _g6 || (_g6 = /*#__PURE__*/React.createElement(\"g\", null)), _g7 || (_g7 = /*#__PURE__*/React.createElement(\"g\", null)), _g8 || (_g8 = /*#__PURE__*/React.createElement(\"g\", null)), _g9 || (_g9 = /*#__PURE__*/React.createElement(\"g\", null)), _g10 || (_g10 = /*#__PURE__*/React.createElement(\"g\", null)), _g11 || (_g11 = /*#__PURE__*/React.createElement(\"g\", null)), _g12 || (_g12 = /*#__PURE__*/React.createElement(\"g\", null)), _g13 || (_g13 = /*#__PURE__*/React.createElement(\"g\", null)), _g14 || (_g14 = /*#__PURE__*/React.createElement(\"g\", null)), _g15 || (_g15 = /*#__PURE__*/React.createElement(\"g\", null)), _g16 || (_g16 = /*#__PURE__*/React.createElement(\"g\", null)), _g17 || (_g17 = /*#__PURE__*/React.createElement(\"g\", null)), _g18 || (_g18 = /*#__PURE__*/React.createElement(\"g\", null)));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgCoding);\nexport default __webpack_public_path__ + \"static/media/coding.6f97b965.svg\";\nexport { ForwardRef as ReactComponent };","import React from 'react';\nimport BannerContent from 'src/shared/components/BannerContent/BannerContent';\nimport { ReactComponent as InteractivityIcon } from 'src/static/icons/interactivity.svg';\n\nexport default function InteractivityBanner() {\n return (\n }>\n Configure a personalized self-service experience to match the skill level of your end-users.\n \n );\n}\n","var _circle, _path;\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport * as React from \"react\";\nfunction SvgPaintBrush(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Capa_1\",\n enableBackground: \"new 0 0 512 512\",\n height: 512,\n viewBox: \"0 0 512 512\",\n width: 512,\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _circle || (_circle = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 75.967,\n cy: 436.033,\n r: 15.001\n })), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"m507.606 199.409-120.009-120.009c-4.242-4.244-10.607-5.549-16.178-3.321l-42.507 17.003 17.003-42.507c2.229-5.572.922-11.935-3.321-16.178l-30.003-30.003c-5.858-5.859-15.357-5.859-21.215 0l-138.58 138.58c-29.247 29.247-29.247 76.834 0 106.081l7.826 7.826c6.546 6.547 5.684 17.358-1.839 22.779-53.108 38.273-119.961 87.442-136.86 104.334-29.233 29.245-29.233 76.831.004 106.081 29.248 29.235 76.833 29.231 106.082-.004 16.893-16.901 66.059-83.751 104.329-136.855 5.414-7.511 16.222-8.396 22.78-1.84l7.826 7.826c29.246 29.247 76.835 29.247 106.081 0l52.967-52.967v68.185c0 24.578 19.71 45.033 43.938 45.598 25.386.587 46.07-19.788 46.07-44.99v-165.012c0-3.978-1.581-7.794-4.394-10.607zm-223.447 138.58-7.826-7.826c-19.618-19.619-52.133-16.966-68.334 5.513-52.415 72.732-89.304 121.277-101.203 133.181-17.55 17.542-46.107 17.543-63.652.004-17.542-17.55-17.542-46.106-.004-63.652 11.904-11.899 60.449-48.788 133.186-101.208 22.507-16.221 25.105-48.741 5.512-68.334l-7.826-7.826c-17.549-17.549-17.549-46.103 0-63.652l1.964-1.964 173.8 173.8-1.964 1.964c-17.55 17.548-46.104 17.548-63.653 0zm86.83-23.178-173.8-173.8 104.795-104.795 12.4 12.4-26.329 65.821c-4.879 12.196 7.261 24.396 19.5 19.5l65.821-26.329 28.152 28.152-6.963 6.964c-29.315 29.314-29.319 76.763 0 106.081l21.214 21.215zm111.009 60.217c0 8.337-6.841 15.2-15.367 14.997-8.07-.188-14.635-7.188-14.635-15.604v-104.401c0-3.978-1.581-7.794-4.394-10.607l-31.822-31.822c-17.549-17.549-17.549-46.103 0-63.652l6.964-6.963 59.254 59.254z\"\n })));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgPaintBrush);\nexport default __webpack_public_path__ + \"static/media/paint-brush.9a58c1c2.svg\";\nexport { ForwardRef as ReactComponent };","import React from 'react';\nimport BannerContent from 'src/shared/components/BannerContent/BannerContent';\nimport { ReactComponent as CodingIcon } from 'src/static/icons/coding.svg';\n\nexport default function EmbedOptionsBanner() {\n return (\n }>\n With granular control over the analytics experience with embed options, themes and dashboard interactivity. Edit\n and copy the embed code to add embed content to your application.\n \n );\n}\n","var _g, _g2, _g3, _g4, _g5, _g6, _g7, _g8, _g9, _g10, _g11, _g12, _g13, _g14, _g15, _g16, _g17, _g18, _g19, _g20, _g21, _g22, _g23;\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport * as React from \"react\";\nfunction SvgSelective(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Capa_1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 512 512\",\n style: {\n enableBackground: \"new 0 0 512 512\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M451.449,168.599C447.967,162.061,441.204,158,433.797,158h-56.81c-4.743-26.675-28.087-47-56.104-47 c-28.017,0-51.361,20.325-56.104,47h-57.555c4.514-6.908,7.15-15.15,7.15-24c0-24.262-19.738-44-44-44c-24.262,0-44,19.738-44,44 c0,8.85,2.636,17.092,7.15,24H86.598c-7.407,0-14.17,4.061-17.652,10.599c-3.481,6.537-3.077,14.416,1.056,20.562l134.196,199.556 V502c0,3.372,1.699,6.517,4.52,8.364c1.653,1.083,3.562,1.636,5.481,1.636c1.354,0,2.713-0.275,3.992-0.832l92-40.063 c3.648-1.589,6.007-5.189,6.007-9.168v-73.221L450.393,189.16C454.526,183.015,454.931,175.136,451.449,168.599z M320.883,131 c16.937,0,31.241,11.443,35.616,27h-71.231C289.642,142.443,303.947,131,320.883,131z M170.375,110c13.233,0,24,10.767,24,24 c0,13.233-10.767,24-24,24c-13.233,0-24-10.767-24-24C146.375,120.767,157.142,110,170.375,110z M297.899,380.086 c-1.109,1.649-1.702,3.592-1.702,5.58v69.719l-72,31.353v-91.072h36.127c5.523,0,10-4.477,10-10s-4.477-10-10-10h-40.801 L118.88,226h202.003c5.523,0,10-4.477,10-10s-4.477-10-10-10H105.431l-18.829-28h347.194L297.899,380.086z\"\n })))), _g2 || (_g2 = /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M294.324,0c-24.262,0-44,19.738-44,44s19.739,44,44,44c24.262,0,44-19.738,44-44S318.586,0,294.324,0z M294.324,68 c-13.233,0-24-10.767-24-24c0-13.233,10.767-24,24-24c13.233,0,24,10.767,24,24S307.557,68,294.324,68z\"\n })))), _g3 || (_g3 = /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M401.197,48.333c-5.523,0-10,4.477-10,10v56.834c0,5.524,4.477,10.001,10,10.001s10-4.477,10-10V58.333 C411.197,52.81,406.72,48.333,401.197,48.333z\"\n })))), _g4 || (_g4 = /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M408.267,18.43c-1.86-1.86-4.44-2.93-7.07-2.93s-5.21,1.07-7.07,2.93s-2.93,4.44-2.93,7.07s1.07,5.21,2.93,7.07 s4.44,2.93,7.07,2.93s5.21-1.07,7.07-2.93c1.86-1.86,2.93-4.44,2.93-7.07S410.127,20.29,408.267,18.43z\"\n })))), _g5 || (_g5 = /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M204.375,12.755c-5.523,0-10,4.477-10,10v41c0,5.523,4.477,10,10,10s10-4.477,10-10v-41 C214.375,17.232,209.898,12.755,204.375,12.755z\"\n })))), _g6 || (_g6 = /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M68.197,0c-5.523,0-10,4.477-10,10v65.168c0,5.523,4.477,10,10,10s10-4.477,10-10V10C78.197,4.477,73.72,0,68.197,0z\"\n })))), _g7 || (_g7 = /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M75.267,105.6c-1.86-1.87-4.44-2.93-7.07-2.93s-5.21,1.06-7.07,2.93c-1.86,1.86-2.93,4.43-2.93,7.07 c0,2.63,1.07,5.21,2.93,7.07s4.44,2.93,7.07,2.93s5.21-1.07,7.07-2.93c1.86-1.86,2.93-4.44,2.93-7.07 C78.197,110.03,77.127,107.46,75.267,105.6z\"\n })))), _g8 || (_g8 = /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M372.417,208.93c-1.86-1.86-4.44-2.93-7.07-2.93c-2.64,0-5.22,1.07-7.07,2.93c-1.87,1.86-2.93,4.44-2.93,7.07 s1.06,5.21,2.93,7.07c1.86,1.86,4.43,2.93,7.07,2.93c2.63,0,5.2-1.07,7.07-2.93c1.86-1.86,2.93-4.44,2.93-7.07 S374.277,210.79,372.417,208.93z\"\n })))), _g9 || (_g9 = /*#__PURE__*/React.createElement(\"g\", null)), _g10 || (_g10 = /*#__PURE__*/React.createElement(\"g\", null)), _g11 || (_g11 = /*#__PURE__*/React.createElement(\"g\", null)), _g12 || (_g12 = /*#__PURE__*/React.createElement(\"g\", null)), _g13 || (_g13 = /*#__PURE__*/React.createElement(\"g\", null)), _g14 || (_g14 = /*#__PURE__*/React.createElement(\"g\", null)), _g15 || (_g15 = /*#__PURE__*/React.createElement(\"g\", null)), _g16 || (_g16 = /*#__PURE__*/React.createElement(\"g\", null)), _g17 || (_g17 = /*#__PURE__*/React.createElement(\"g\", null)), _g18 || (_g18 = /*#__PURE__*/React.createElement(\"g\", null)), _g19 || (_g19 = /*#__PURE__*/React.createElement(\"g\", null)), _g20 || (_g20 = /*#__PURE__*/React.createElement(\"g\", null)), _g21 || (_g21 = /*#__PURE__*/React.createElement(\"g\", null)), _g22 || (_g22 = /*#__PURE__*/React.createElement(\"g\", null)), _g23 || (_g23 = /*#__PURE__*/React.createElement(\"g\", null)));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgSelective);\nexport default __webpack_public_path__ + \"static/media/selective.6e26916f.svg\";\nexport { ForwardRef as ReactComponent };","import React from 'react';\nimport BannerContent from 'src/shared/components/BannerContent/BannerContent';\nimport { ReactComponent as ThemesIcon } from 'src/static/icons/paint-brush.svg';\n\nexport default function ThemesBanner() {\n return (\n }>\n Create a branded analytics experience for your application with custom themes and white labeling options.\n \n );\n}\n","var _g, _g2, _g3, _g4, _g5, _g6, _g7, _g8, _g9, _g10, _g11, _g12, _g13, _g14, _g15, _g16;\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport * as React from \"react\";\nfunction SvgApi(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Capa_1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 511 511\",\n style: {\n enableBackground: \"new 0 0 511 511\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M492.168,309.579l-17.626-10.177c2.96-14.723,4.458-29.466,4.458-43.902c0-14.646-1.474-29.403-4.384-43.946l17.552-10.134 c5.436-3.138,9.325-8.206,10.949-14.269s0.791-12.396-2.348-17.832l-48-83.139c-3.139-5.436-8.206-9.325-14.269-10.949 c-6.064-1.624-12.396-0.791-17.833,2.348l-17.566,10.142C380.912,68.2,354.798,53.092,327,43.692V23.5 C327,10.542,316.458,0,303.5,0h-96C194.542,0,184,10.542,184,23.5v20.193c-27.65,9.362-53.728,24.49-75.999,44.088L90.332,77.579 c-5.437-3.139-11.77-3.973-17.833-2.348c-6.063,1.625-11.13,5.513-14.269,10.949l-48,83.139 c-3.139,5.436-3.972,11.769-2.348,17.832s5.513,11.131,10.949,14.269l17.626,10.177C33.499,226.32,32,241.063,32,255.5 c0,14.644,1.474,29.401,4.384,43.945l-17.552,10.134c-11.222,6.479-15.08,20.879-8.602,32.102l48,83.139 c6.479,11.221,20.879,15.08,32.102,8.601l17.565-10.142c22.19,19.521,48.303,34.629,76.103,44.03V487.5 c0,12.958,10.542,23.5,23.5,23.5h96c12.958,0,23.5-10.542,23.5-23.5v-20.193c27.651-9.362,53.729-24.49,76-44.087l17.668,10.201 c11.221,6.479,25.623,2.62,32.102-8.601l48-83.139C507.248,330.458,503.39,316.058,492.168,309.579z M487.779,334.181l-48,83.138 c-2.343,4.06-7.552,5.455-11.611,3.111l-22.392-12.928c-2.845-1.643-6.43-1.242-8.842,0.989 c-22.893,21.173-50.437,37.148-79.653,46.199c-3.14,0.973-5.281,3.877-5.281,7.164V487.5c0,4.687-3.813,8.5-8.5,8.5h-96 c-4.687,0-8.5-3.813-8.5-8.5v-25.645c0-3.287-2.141-6.191-5.28-7.164c-29.396-9.107-56.974-25.062-79.755-46.139 c-1.421-1.315-3.25-1.995-5.095-1.995c-1.286,0-2.579,0.33-3.748,1.005L82.832,420.43c-4.06,2.343-9.268,0.948-11.611-3.111 l-48-83.138c-2.343-4.059-0.947-9.268,3.111-11.612l22.272-12.859c2.844-1.642,4.289-4.942,3.566-8.146 C48.739,286.357,47,270.858,47,255.5c0-15.1,1.765-30.584,5.247-46.022c0.722-3.203-0.723-6.504-3.566-8.145L26.332,188.43 c-1.966-1.135-3.372-2.968-3.96-5.161c-0.587-2.193-0.286-4.484,0.849-6.45l48-83.139c1.135-1.966,2.968-3.373,5.162-3.96 c2.192-0.588,4.484-0.286,6.45,0.849l22.392,12.928c2.846,1.644,6.43,1.242,8.842-0.989c22.894-21.173,50.437-37.148,79.653-46.199 c3.14-0.973,5.281-3.877,5.281-7.164V23.5c0-4.687,3.813-8.5,8.5-8.5h96c4.687,0,8.5,3.813,8.5,8.5v25.645 c0,3.287,2.141,6.191,5.28,7.164c29.395,9.106,56.973,25.061,79.755,46.139c2.412,2.232,5.997,2.633,8.843,0.99l22.29-12.869 c1.967-1.135,4.258-1.437,6.45-0.849c2.193,0.588,4.026,1.994,5.162,3.96l48,83.139c1.135,1.966,1.437,4.257,0.849,6.45 c-0.588,2.193-1.994,4.026-3.96,5.161l-22.272,12.859c-2.844,1.642-4.289,4.943-3.566,8.146c3.431,15.206,5.17,30.704,5.17,46.065 c0,15.1-1.765,30.584-5.247,46.021c-0.722,3.203,0.723,6.503,3.566,8.145l22.349,12.903 C488.727,324.913,490.123,330.122,487.779,334.181z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M255.5,104C171.962,104,104,171.963,104,255.5S171.962,407,255.5,407S407,339.037,407,255.5S339.038,104,255.5,104z M255.5,392C180.234,392,119,330.766,119,255.5S180.234,119,255.5,119S392,180.234,392,255.5S330.766,392,255.5,392z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M283.5,216h-28c-4.142,0-7.5,3.358-7.5,7.5v64c0,4.142,3.358,7.5,7.5,7.5s7.5-3.358,7.5-7.5V271h20.5 c15.164,0,27.5-12.336,27.5-27.5S298.664,216,283.5,216z M283.5,256H263v-25h20.5c6.893,0,12.5,5.607,12.5,12.5 S290.393,256,283.5,256z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M214.522,220.867c-1.098-2.927-3.896-4.867-7.022-4.867h-8c-3.126,0-5.925,1.939-7.022,4.867l-24,64 c-1.455,3.878,0.511,8.201,4.389,9.656c3.878,1.455,8.201-0.511,9.656-4.389L186.697,279h33.605l4.175,11.133 c1.129,3.011,3.987,4.869,7.023,4.869c0.875,0,1.765-0.154,2.632-0.479c3.878-1.454,5.844-5.778,4.389-9.656L214.522,220.867z M192.322,264l11.178-29.807L214.678,264H192.322z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M327.5,216c-4.142,0-7.5,3.358-7.5,7.5v64c0,4.142,3.358,7.5,7.5,7.5s7.5-3.358,7.5-7.5v-64 C335,219.358,331.642,216,327.5,216z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M309.152,87.3c5.205,1.659,10.394,3.586,15.421,5.726c0.958,0.408,1.954,0.601,2.934,0.601c2.916,0,5.69-1.712,6.904-4.564 c1.622-3.811-0.152-8.216-3.963-9.838c-5.458-2.323-11.09-4.415-16.742-6.216c-3.945-1.258-8.165,0.922-9.423,4.868 C303.026,81.823,305.206,86.042,309.152,87.3z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M100.45,339.904c-1.984-3.636-6.541-4.976-10.176-2.992c-3.636,1.984-4.976,6.54-2.992,10.176 c3.112,5.704,6.557,11.315,10.239,16.677c1.454,2.117,3.801,3.255,6.189,3.255c1.463,0,2.941-0.427,4.239-1.318 c3.415-2.345,4.282-7.014,1.937-10.428C106.493,350.332,103.318,345.161,100.45,339.904z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M240.14,431.341c-40.189-3.463-78.337-20.879-107.416-49.041c-2.976-2.882-7.724-2.805-10.605,0.17 c-2.881,2.976-2.806,7.724,0.17,10.605c31.55,30.555,72.947,49.452,116.563,53.21c0.219,0.019,0.436,0.028,0.652,0.028 c3.851,0,7.127-2.949,7.464-6.856C247.323,435.331,244.266,431.697,240.14,431.341z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M363.425,97.287c-3.42-2.337-8.087-1.459-10.424,1.96c-2.337,3.42-1.459,8.087,1.96,10.424 c34.844,23.813,60.049,59.248,70.972,99.776c0.902,3.346,3.93,5.55,7.237,5.55c0.646,0,1.303-0.084,1.956-0.26 c4-1.078,6.368-5.194,5.29-9.193C428.564,161.564,401.221,123.118,363.425,97.287z\"\n }))), _g2 || (_g2 = /*#__PURE__*/React.createElement(\"g\", null)), _g3 || (_g3 = /*#__PURE__*/React.createElement(\"g\", null)), _g4 || (_g4 = /*#__PURE__*/React.createElement(\"g\", null)), _g5 || (_g5 = /*#__PURE__*/React.createElement(\"g\", null)), _g6 || (_g6 = /*#__PURE__*/React.createElement(\"g\", null)), _g7 || (_g7 = /*#__PURE__*/React.createElement(\"g\", null)), _g8 || (_g8 = /*#__PURE__*/React.createElement(\"g\", null)), _g9 || (_g9 = /*#__PURE__*/React.createElement(\"g\", null)), _g10 || (_g10 = /*#__PURE__*/React.createElement(\"g\", null)), _g11 || (_g11 = /*#__PURE__*/React.createElement(\"g\", null)), _g12 || (_g12 = /*#__PURE__*/React.createElement(\"g\", null)), _g13 || (_g13 = /*#__PURE__*/React.createElement(\"g\", null)), _g14 || (_g14 = /*#__PURE__*/React.createElement(\"g\", null)), _g15 || (_g15 = /*#__PURE__*/React.createElement(\"g\", null)), _g16 || (_g16 = /*#__PURE__*/React.createElement(\"g\", null)));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgApi);\nexport default __webpack_public_path__ + \"static/media/api.b4fbc1e9.svg\";\nexport { ForwardRef as ReactComponent };","import React from 'react';\nimport BannerContent from 'src/shared/components/BannerContent/BannerContent';\nimport { ReactComponent as FilterIcon } from 'src/static/icons/selective.svg';\n\nexport default function CrossVisualFilteringBanner() {\n return (\n }>\n Bring more flexibility to data exploration and ad hoc analysis with advanced filtering options for embedded\n dashboards.\n \n );\n}\n","var _g, _g2, _g3, _g4, _g5, _g6, _g7, _g8, _g9, _g10, _g11, _g12, _g13, _g14, _g15, _g16;\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport * as React from \"react\";\nfunction SvgHeadphones(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Capa_1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 480.058 480.058\",\n style: {\n enableBackground: \"new 0 0 480.058 480.058\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M458.509,140.744v-0.016C403.651,20.065,261.362-33.28,140.699,21.579c-52.812,24.01-95.139,66.338-119.15,119.15 c-14.238,31.172-21.578,65.05-21.52,99.32v75.152c-0.038,14.859,5.87,29.116,16.408,39.592l32.336,32.344l4.392,12.112 c13.553,35.926,48.233,59.448,86.624,58.752c1.68,0,3.384-0.208,5.08-0.288l0.4,1.104c6.048,16.714,24.501,25.361,41.215,19.313 c0,0,0.001,0,0.001,0l1.312-0.472c16.709-6.024,25.37-24.453,19.346-41.161c-0.001-0.002-0.002-0.005-0.002-0.007l-63.368-175.2 c-6.094-16.681-24.516-25.31-41.232-19.312l-1.296,0.472c-14.203,5.077-22.933,19.383-20.952,34.336 c-13.759,10.017-24.596,23.525-31.392,39.128c-0.548-1.074-0.846-2.258-0.872-3.464v-72.4c0-106.039,85.961-192,192-192 s192,85.961,192,192v72.4c-0.048,0.568-0.161,1.129-0.336,1.672c-6.853-14.858-17.392-27.716-30.616-37.352 c1.975-14.943-6.745-29.238-20.936-34.32l-1.328-0.48c-16.703-5.99-35.107,2.64-41.184,19.312l-63.376,175.2 c-6.03,16.705,2.623,35.136,19.328,41.168l1.312,0.48c16.716,6.029,35.157-2.615,41.216-19.32l0.4-1.104 c1.688,0.08,3.4,0.288,5.08,0.288c38.389,0.697,73.069-22.821,86.624-58.744l5.128-14.176l30.28-30.288 c10.536-10.474,16.444-24.728,16.408-39.584v-75.152C480.085,205.784,472.745,171.912,458.509,140.744z M97.525,265.825 c1.81-3.896,5.111-6.9,9.16-8.336l1.296-0.472c8.41-3.044,17.696,1.303,20.744,9.712l63.368,175.2 c3.026,8.382-1.316,17.63-9.698,20.656c-0.007,0.003-0.014,0.005-0.022,0.008l-1.312,0.472 c-8.407,3.029-17.681-1.314-20.736-9.712l-2.4-6.696L96.965,278.12C95.505,274.111,95.706,269.685,97.525,265.825z M85.317,293.057v-0.032L139.229,442c-28.981,0.335-55.588-15.974-68.44-41.952c0.2,0,0.408,0,0.608,0c0.2,0,0.424,0,0.632,0 c0.8,0,1.52-0.152,2.28-0.224c0.76-0.072,1.312-0.072,1.968-0.184c1.048-0.2,2.082-0.467,3.096-0.8 c0.576-0.176,1.152-0.288,1.712-0.504c1.073-0.443,2.113-0.962,3.112-1.552c0.472-0.264,0.968-0.456,1.424-0.752 c11.558-7.456,14.884-22.869,7.429-34.427c-0.969-1.502-2.097-2.896-3.365-4.157L61.021,328.76 C65.632,314.827,74.048,302.46,85.317,293.057z M32.029,240.049v72.4c-0.018,6.369,2.514,12.479,7.032,16.968l39.312,39.32 c3.504,3.504,3.504,9.184,0,12.688c-3.504,3.504-9.184,3.504-12.688,0l-37.936-37.952c-7.527-7.48-11.747-17.661-11.72-28.272 v-75.152c-0.052-30.254,6.078-60.2,18.016-88h17.488C38.694,179.609,32.037,209.644,32.029,240.049z M240.029,32.049 c-74.312,0.016-142.976,39.656-180.152,104H41.629C99.06,26.475,234.444-15.795,344.017,41.636 c40.336,21.142,73.271,54.076,94.412,94.412h-18.248C383.005,71.704,314.341,32.065,240.029,32.049z M332.165,422.672l-8.68,24 l-2.4,6.696c-3.044,8.413-12.332,12.766-20.745,9.723c-0.002-0.001-0.005-0.002-0.007-0.003l-1.312-0.48 c-8.392-3.021-12.747-12.272-9.728-20.664l63.376-175.2c3.035-8.402,12.307-12.754,20.709-9.719 c0.006,0.002,0.013,0.005,0.019,0.007l1.328,0.48c8.386,3.014,12.742,12.256,9.728,20.642c-0.003,0.007-0.005,0.014-0.008,0.022 L332.165,422.672z M342.189,442l35.352-97.752l18.52-51.2c11.002,9.182,19.298,21.184,24,34.72l-29.648,29.656 c-9.734,9.758-9.734,25.554,0,35.312c1.284,1.271,2.703,2.398,4.232,3.36c0.504,0.32,1.032,0.536,1.552,0.8 c1.03,0.577,2.099,1.079,3.2,1.504c0.624,0.232,1.256,0.384,1.896,0.56c1.029,0.304,2.076,0.542,3.136,0.712 c0.68,0.096,1.352,0.144,2.032,0.192c0.552,0,1.088,0.16,1.6,0.16c0.512,0,0.968-0.112,1.456-0.144c0.488-0.032,0.8,0.048,1.16,0 C397.869,425.942,371.226,442.327,342.189,442z M464.029,315.201c0.026,10.613-4.194,20.796-11.72,28.28l-31.528,31.536l-6.4,6.4 c-3.504,3.504-9.184,3.504-12.688,0c-3.504-3.504-3.504-9.184,0-12.688l39.312-39.32c4.51-4.49,7.039-10.596,7.024-16.96v-72.4 c-0.008-30.405-6.664-60.44-19.504-88h17.488c11.938,27.8,18.068,57.746,18.016,88V315.201z\"\n })))), _g2 || (_g2 = /*#__PURE__*/React.createElement(\"g\", null)), _g3 || (_g3 = /*#__PURE__*/React.createElement(\"g\", null)), _g4 || (_g4 = /*#__PURE__*/React.createElement(\"g\", null)), _g5 || (_g5 = /*#__PURE__*/React.createElement(\"g\", null)), _g6 || (_g6 = /*#__PURE__*/React.createElement(\"g\", null)), _g7 || (_g7 = /*#__PURE__*/React.createElement(\"g\", null)), _g8 || (_g8 = /*#__PURE__*/React.createElement(\"g\", null)), _g9 || (_g9 = /*#__PURE__*/React.createElement(\"g\", null)), _g10 || (_g10 = /*#__PURE__*/React.createElement(\"g\", null)), _g11 || (_g11 = /*#__PURE__*/React.createElement(\"g\", null)), _g12 || (_g12 = /*#__PURE__*/React.createElement(\"g\", null)), _g13 || (_g13 = /*#__PURE__*/React.createElement(\"g\", null)), _g14 || (_g14 = /*#__PURE__*/React.createElement(\"g\", null)), _g15 || (_g15 = /*#__PURE__*/React.createElement(\"g\", null)), _g16 || (_g16 = /*#__PURE__*/React.createElement(\"g\", null)));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgHeadphones);\nexport default __webpack_public_path__ + \"static/media/headphones.e2c36b16.svg\";\nexport { ForwardRef as ReactComponent };","import React from 'react';\nimport BannerContent from 'src/shared/components/BannerContent/BannerContent';\nimport { ReactComponent as ApiIcon } from 'src/static/icons/api.svg';\n\nexport default function EmbedApiBanner() {\n return (\n }>\n Up-level the self-service experience for power users with embedded visual and dashboard builder that lets users\n create their own dashboards for analysis.\n \n );\n}\n","import React from 'react';\nimport BannerContent from 'src/shared/components/BannerContent/BannerContent';\nimport { ReactComponent as EventListenersIcon } from 'src/static/icons/headphones.svg';\n\nexport default function EventListenersBanner() {\n return (\n }>\n Composer’s framework of event listeners enables two-way communication between your application content and the\n embedded analytics for a consistent experience.\n \n );\n}\n","import {\n HomeIcon,\n EmbedIcon,\n EventListenersIcon,\n FiltersIcon,\n SamplesIcon,\n UIThemeIcon,\n UXInteractivityIcon,\n APIIcon,\n CodeBlockIcon,\n MDRIcon,\n VDDIcon,\n} from 'src/components/RemixIcons/generated/remixIcons';\nimport InteractivityBanner from 'src/components/Banners/InteractivityBanner/InteractivityBanner';\nimport EmbedOptionsBanner from 'src/components/Banners/EmbedOptionsBanner/EmbedOptionsBanner';\nimport ThemesBanner from 'src/components/Banners/ThemesBanner/ThemesBanner';\nimport CrossVisualFilteringBanner from 'src/components/Banners/CrossVisualFilteringBanner/CrossVisualFilteringBanner';\nimport EmbedApiBanner from 'src/components/Banners/EmbedApiBanner/EmbedApiBanner';\nimport EventListenersBanner from 'src/components/Banners/EventListenersBanner/EventListenersBanner';\n\nexport var COMMON_NAV_MENU_ITEMS = [\n {\n path: '/',\n name: 'Home',\n pageTitle: 'Welcome',\n headerTitle: 'Symphony Playground',\n category: 'Home',\n icon: ,\n },\n {\n path: '/managed/embed-options',\n name: 'Managed Dashboards & Reports',\n pageTitle: 'Embed',\n headerTitle: 'Managed Dashboards',\n category: 'Home',\n icon: ,\n bannerComponent: ,\n bannerText: 'You Have Ultimate Control',\n },\n {\n path: '/discovery/embed-options',\n name: 'Visual data discovery',\n pageTitle: 'Embed',\n headerTitle: 'Visual Data Discovery',\n category: 'Home',\n icon: ,\n bannerComponent: ,\n bannerText: 'You Have Ultimate Control',\n },\n {\n path: '/my-samples',\n name: 'My Collection',\n category: 'Samples',\n pageTitle: 'My Collection',\n headerTitle: 'Samples',\n icon: ,\n },\n];\n\nexport const VDD_NAV_MENU_ITEMS = [\n {\n path: '/',\n name: 'Home',\n pageTitle: 'Home',\n headerTitle: 'Symphony Playground',\n category: 'Home',\n icon: ,\n },\n {\n path: '/discovery/embed-options',\n name: 'Embed Options',\n pageTitle: 'Embed',\n headerTitle: 'Visual Data Discovery',\n category: 'Embed',\n icon: ,\n bannerComponent: ,\n bannerText: 'You Have Ultimate Control',\n },\n {\n path: '/discovery/ux-interactivity',\n params: '?dashboardIpOverrides=true&embedComponentType=dashboard',\n name: 'UX Interactivity',\n pageTitle: 'Interactivity',\n headerTitle: 'Visual Data Discovery',\n category: 'UI/UX customization',\n icon: ,\n bannerComponent: ,\n bannerText: 'Self-service for Any Users',\n },\n {\n path: '/discovery/ui-themes',\n name: 'UI Theme',\n pageTitle: 'Themes',\n headerTitle: 'Visual Data Discovery',\n category: 'UI/UX customization',\n icon: ,\n bannerComponent: ,\n bannerText: 'Limitless Customization',\n },\n {\n path: '/discovery/cross-visual-filtering',\n params: '?crossVisualFiltersPublish=true&embedComponentType=dashboard',\n name: 'Cross-Visual Filtering',\n pageTitle: 'Cross-Visual Filtering',\n headerTitle: 'Visual Data Discovery',\n category: 'Advanced features',\n icon: ,\n bannerComponent: ,\n bannerText: 'Faster Time to Insights',\n },\n {\n path: '/discovery/embed-api',\n params: '?embedComponentType=visual-builder&listVisuals=true',\n name: 'Embed API',\n pageTitle: 'Embed API',\n headerTitle: 'Visual Data Discovery',\n category: 'Advanced features',\n icon: ,\n bannerComponent: ,\n bannerText: 'Power to the Power User',\n },\n {\n path: '/discovery/event-listeners',\n name: 'Event Listeners',\n params: '?embedComponentType=dashboard&eventListeners=true',\n pageTitle: 'Event Listeners',\n headerTitle: 'Visual Data Discovery',\n category: 'Advanced features',\n icon: ,\n bannerComponent: ,\n bannerText: 'A Cohesive Analytics Experience',\n },\n];\n\nexport const MDR_NAV_MENU_ITEMS = [\n {\n path: '/',\n name: 'Home',\n pageTitle: 'Home',\n headerTitle: 'Symphony Playground',\n category: 'Home',\n icon: ,\n },\n {\n path: '/managed/embed-options',\n name: 'Embed Options',\n pageTitle: 'Embed',\n headerTitle: 'Managed Dashboards',\n category: 'Embed',\n icon: ,\n bannerComponent: ,\n bannerText: 'You Have Ultimate Control',\n },\n];\n","import { useEffect, useRef, useState } from 'react';\nimport { useHistory } from 'react-router-dom';\nimport {\n COMMON_NAV_MENU_ITEMS,\n VDD_NAV_MENU_ITEMS,\n MDR_NAV_MENU_ITEMS,\n} from 'src/shared/constants/navigationConstants';\n\nconst BANNER_DELAY_MS = 3000;\nconst NAV_MENU_ITEMS = [...COMMON_NAV_MENU_ITEMS, ...VDD_NAV_MENU_ITEMS, ...MDR_NAV_MENU_ITEMS];\n\nconst useNotificationBanners = () => {\n const history = useHistory();\n const [currentBanner, setCurrentBanner] = useState(null);\n const [isBannerShown, setIsBannerShown] = useState(false);\n const timeoutRef = useRef(null);\n\n const hideBanner = () => {\n setIsBannerShown(false);\n window.localStorage.setItem(history.location.pathname, 'false');\n };\n\n const handleLocationChange = (pathname) => {\n setIsBannerShown(false);\n clearTimeout(timeoutRef.current);\n const timeout = setTimeout(() => {\n setIsBannerShown(getIsBannerAvailable(pathname));\n const bannerInfo = NAV_MENU_ITEMS.find(({ path }) => path === pathname);\n if (!bannerInfo) {\n return;\n }\n const { bannerComponent, bannerText } = bannerInfo;\n setCurrentBanner({ bannerComponent, bannerText });\n }, BANNER_DELAY_MS);\n timeoutRef.current = timeout;\n };\n\n const getIsBannerAvailable = (key) =>\n !window.localStorage.getItem(key) &&\n NAV_MENU_ITEMS.some(({ path, bannerComponent }) => path === key && !!bannerComponent);\n\n useEffect(() => {\n handleLocationChange(history.location.pathname);\n history.listen((location) => {\n handleLocationChange(location.pathname);\n });\n }, []);\n\n return { currentBanner, isBannerShown, hideBanner };\n};\n\nexport default useNotificationBanners;\n","export default __webpack_public_path__ + \"static/media/share.f7edc613.svg\";","import React from 'react';\nimport styles from './SocialShare.module.scss';\nimport ShareImage from './images/share.svg';\nimport {\n EmailShareButton,\n FacebookShareButton,\n LinkedinShareButton,\n TwitterShareButton,\n FacebookIcon,\n TwitterIcon,\n LinkedinIcon,\n EmailIcon,\n} from 'react-share';\n\nexport default function SocialShare() {\n const url = 'https://insightsoftware.com/logi-symphony/';\n\n return (\n
\n

Know someone who would love Logi Symphony?

\n
\n
\n

Tell them or share on social media!

\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n
\n
\n \n
\n
\n
\n );\n}\n","import styles from './ReachOut.module.scss';\n\nexport default function ReachOut() {\n return (\n
\n

Want to learn more about the product?

\n
\n
\n

Get a Demo or Pricing

\n
\n {\n window.location.href = 'https://insightsoftware.com/demo/logi-symphony';\n }}\n >\n Get a Demo\n \n {\n window.location.href = 'https://insightsoftware.com/request-a-price';\n }}\n >\n Get Pricing\n \n
\n
\n {/*
\n \n
*/}\n
\n
\n );\n}\n","import React, { useCallback, useEffect, useRef, useState } from 'react';\nimport classNames from 'classnames';\nimport styles from './HeaderActions.module.scss';\nimport SocialShare from '../SocialShare/SocialShare';\nimport ReachOut from '../ReachOut/ReachOut';\n\nexport default function HeaderActions() {\n const [isSharePopoverOpen, setIsSharePopoverOpen] = useState(false);\n const [isReachOutPopoverOpen, setIsReachOutPopoverOpen] = useState(false);\n const rootRef = useRef(null);\n\n const documentClickHandler = (e) => {\n if (rootRef.current.contains(e.target)) {\n return;\n }\n setIsSharePopoverOpen(false);\n setIsReachOutPopoverOpen(false);\n };\n\n function scrollToSection(sectionId) {\n const section = document.getElementById(sectionId);\n if (section) {\n section.scrollIntoView({ behavior: 'smooth', block: 'start' });\n \n // Delay the focus on the input element\n setTimeout(() => {\n const inputElement = section.querySelector('input[type=\"email\"]');\n if (inputElement) {\n // Set focus to the input element after a small delay\n inputElement.focus();\n }\n }, 500); // Adjust the delay duration as needed (500ms in this example)\n }\n }\n\n useEffect(() => {\n window.document.addEventListener('click', documentClickHandler);\n return () => {\n window.document.removeEventListener('click', documentClickHandler);\n };\n }, []);\n\n const openPopover = useCallback(\n (e) => {\n setIsSharePopoverOpen(true);\n setIsReachOutPopoverOpen(false);\n e.preventDefault();\n e.stopPropagation();\n },\n [setIsSharePopoverOpen]\n );\n\n const closePopover = useCallback(() => {\n setIsSharePopoverOpen(false);\n }, [setIsSharePopoverOpen]);\n\n const openReachOutPopover = useCallback(\n (e) => {\n setIsSharePopoverOpen(false);\n setIsReachOutPopoverOpen(true);\n e.preventDefault();\n e.stopPropagation();\n },\n [setIsReachOutPopoverOpen]\n );\n\n const closeReachOutPopover = useCallback(() => {\n setIsReachOutPopoverOpen(false);\n }, [setIsReachOutPopoverOpen]);\n\n const reachOutToUsClickHandler = (e) => {\n if (location.pathname !== '/') {\n openReachOutPopover(e); // Call the function to open the Reach Out popover\n } else {\n scrollToSection('reachOutToUs');\n }\n };\n\n return (\n
\n \n \n {isSharePopoverOpen && (\n
\n
\n x\n
\n {/* This SocialShare is for the Share button */}\n \n
\n )}\n {isReachOutPopoverOpen && (\n
\n
\n x\n
\n {/* You might need a separate component or modify this one for Reach Out */}\n \n
\n )}\n
\n);\n}","import React from 'react';\nimport styles from './Help.module.scss';\n\nexport default function Help({ link }) {\n return ;\n}\n","import React, { useCallback, useEffect, useRef, useState } from 'react';\nimport Help from 'src/pages/Help/Help';\nimport styles from './Modal.module.scss';\n\nexport default function Modal({ name, contentLink, onCloseClick }) {\n const [position, setPosition] = useState([0, 0]);\n const [isDragged, setIsDragged] = useState(false);\n const [mouseDragOffset, setMouseDragOffset] = useState([0, 0]);\n\n const rootRef = useRef(null);\n\n useEffect(() => {\n const width = window.innerWidth;\n const height = window.innerHeight;\n const rootHeight = rootRef.current.offsetHeight;\n const { width: rootWidth } = rootRef.current.getBoundingClientRect();\n\n setPosition([(width - rootWidth) / 2, (height - rootHeight) / 3]);\n }, []);\n\n const handleMouseMove = useCallback(\n (e) => {\n setPosition([e.clientX - mouseDragOffset[0], Math.max(e.clientY - mouseDragOffset[1], 0)]);\n },\n [mouseDragOffset]\n );\n\n const handleMouseUp = useCallback(() => setIsDragged(false), []);\n\n useEffect(() => {\n if (isDragged) {\n document.addEventListener('mousemove', handleMouseMove);\n document.addEventListener('mouseup', handleMouseUp);\n }\n return () => {\n document.removeEventListener('mousemove', handleMouseMove);\n document.removeEventListener('mouseup', handleMouseUp);\n };\n }, [isDragged, handleMouseMove, handleMouseUp]);\n\n return (\n
\n
\n {\n const { x, y } = e.target.getBoundingClientRect();\n const offsetX = e.clientX - x;\n const offsetY = e.clientY - y;\n setMouseDragOffset([offsetX, offsetY]);\n setIsDragged(true);\n }}\n >\n
{name}
\n
\n
\n X\n
\n
\n
\n \n
\n \n );\n}\n","import { createSlice } from '@reduxjs/toolkit';\n\nconst initialState = {\n modals: [],\n};\n\nexport const modalsSlice = createSlice({\n name: 'embeddedDashboards',\n initialState,\n reducers: {\n showModal(state, { payload: { name, contentLink, id } }) {\n state.modals.push({ name, contentLink, id });\n },\n hideModal(state, { payload }) {\n state.modals = state.modals.filter((m) => m.id !== payload);\n },\n },\n});\n\nexport const { showModal, hideModal } = modalsSlice.actions;\n\nexport default modalsSlice.reducer;\n","import React from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport Modal from '../Modal/Modal';\nimport { hideModal } from './modalsSlice';\n\nexport default function ModalContainer() {\n const modals = useSelector((state) => state.modals.modals);\n const dispatch = useDispatch();\n return modals.map(({ name, contentLink, id }) => (\n dispatch(hideModal(id))} contentLink={contentLink}>\n ));\n}\n","import classNames from 'classnames';\nimport React from 'react';\nimport styles from './NotificationBanner.module.scss';\n\nexport default function NotificationBanner({ headerText, children, isVisible, onClose }) {\n return (\n
\n
\n {headerText}\n \n Dismiss\n \n
\n
{children}
\n
\n );\n}\n","import { useHistory } from 'react-router';\nimport { Tooltip, Button, svgIconClasses, buttonClasses, alpha } from '@mui/material';\nimport { styled } from '@mui/material/styles';\n\nconst SidebarButton = styled(Button, {\n shouldForwardProp: (prop) => prop !== 'active',\n})(({ active, theme }) => ({\n overflow: 'hidden',\n whiteSpace: 'normal',\n boxSizing: 'border-box',\n color: '#FFFFFF',\n height: '45px',\n fontSize: '2px',\n width: '100%',\n minWidth: '0',\n borderRadius: '0',\n padding: '0',\n justifyContent: 'flex-start',\n border: '1px solid transparent',\n fontFamily:\n \"font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif;\",\n\n '&&:hover': {\n color: '#FFFFFF',\n backgroundColor: alpha('#001737', 0.2),\n },\n '&&:active': {\n backgroundColor: alpha('#001737', 0.4),\n },\n [`&.${buttonClasses.focusVisible}`]: {\n outline: 'none',\n boxShadow: 'none',\n backgroundColor: alpha('#001737', 0.4),\n border: `1px solid ${theme.palette.common.white}`,\n },\n [`& .${buttonClasses.startIcon}`]: {\n marginLeft: '0',\n width: '58px',\n height: '58px',\n display: 'flex',\n flexShrink: '0',\n alignItems: 'center',\n justifyContent: 'center',\n [`& .${svgIconClasses.root}`]: {\n fontSize: '24px',\n },\n },\n backgroundColor: active ? alpha('#001737', 0.4) : undefined,\n}));\n\nexport const RouteButton = ({ title, expanded, isActive, onClick, path, params = '', ...rest }) => {\n const history = useHistory();\n return (\n \n {\n if (history.location.pathname === path) {\n return;\n }\n onClick(path + params);\n }}\n active={isActive}\n {...rest}\n />\n \n );\n};\n","import React, { useCallback, useEffect, useState } from 'react';\nimport styles from './NavigationMenu.module.scss';\nimport { useHistory } from 'react-router-dom';\nimport {\n COMMON_NAV_MENU_ITEMS,\n VDD_NAV_MENU_ITEMS,\n MDR_NAV_MENU_ITEMS,\n} from 'src/shared/constants/navigationConstants';\nimport { RouteButton } from '../NavigationItem/NavigationItem';\nimport { Stack } from '@mui/material';\n\nexport default function NavigationMenu({ expanded }) {\n const history = useHistory();\n const [currentPath, setCurrentPath] = useState(history.location.pathname);\n // const currentUser = useSelector((state) => state.playgroundUser.user);\n const onClick = useCallback(\n (path) => {\n history.push(path);\n },\n [history]\n );\n\n history.listen((location) => {\n setCurrentPath(location.pathname);\n });\n\n useEffect(() => {\n setCurrentPath(history.location.pathname);\n }, []);\n\n // const filterMenuItems = ({ path }) => {\n // if (currentUser) {\n // if (path === '/new-account') {\n // return currentUser.roles.includes('SALES');\n // }\n // return path !== '/my-samples';\n // } else {\n // return path !== '/new-account';\n // }\n // };\n\n const currentProduct = currentPath.slice(0, 8);\n const NAV_MENU_ITEMS =\n currentProduct === '/discove'\n ? VDD_NAV_MENU_ITEMS\n : currentProduct === '/managed'\n ? MDR_NAV_MENU_ITEMS\n : COMMON_NAV_MENU_ITEMS;\n\n const groupedMenuItems = NAV_MENU_ITEMS.reduce((acc, item) => {\n const { category } = item;\n if (!acc[category]) {\n acc[category] = [];\n }\n acc[category].push(item);\n return acc;\n }, {});\n\n return (\n
\n {/* Render other items grouped by category */}\n {Object.keys(groupedMenuItems).map((category) => (\n \n {expanded && category != 'Home' && (\n
\n {category}\n
\n )}\n {groupedMenuItems[category].map((item) => (\n \n \n \n {item.name}\n \n \n \n ))}\n
\n ))}\n
\n );\n}\n","export const COMMON_EMBED_CSS_CODE = '%cssCode%';\n\nexport const COMMON_EMBED_HTML_CODE = '%htmlCode%';\n\nexport const COMMON_EMBED_JS_CODE = '%jsCode%';\n\nexport const THEMES_CODE = `\n let getThemePromise = window?.dundas.context.getService('ThemeService').getThemeById('%embedThemeId%');\n getThemePromise.done((theme) => {\n // Apply it.\n window?.dundas.context.activeEmbeddedViewService.currentView.applyTheme(theme);\n });\n`;\n\nexport const CREATE_COMPONENT_JS_CODE = `\nembedManagerPromise.then(%createSecondDashboardAsync%embedManager => {\n %createSecondDashboardAwait%createEmbedComponent(embedManager, componentConfig, 'widget-holder');%createSecondDashboard%\n});`;\n\nexport const CREATE_SECOND_DASHBOARD_ASYNC = 'async ';\nexport const CREATE_SECOND_DASHBOARD_AWAIT = 'await ';\n\nexport const EMBED_COMPONENT_CLEANUP_JS_CODE_1 = `\nlet componentInstanceId;\n`;\n\nexport const EMBED_COMPONENT_CLEANUP_JS_CODE_2 = `\n if (componentInstanceId) {\n embedManager.removeComponent(componentInstanceId);\n }\n componentInstanceId = component.componentInstanceId;\n`;\n","export const EMBED_COMPONENT_TYPES = {\n embedViewer: 'embed-viewer',\n metricSet: 'metric-set',\n adHocEditor: 'adhoc-editor',\n dashboard: 'dashboard',\n visualBuilder: 'visual-builder',\n dashboardBuilder: 'dashboard-builder',\n inventory: 'inventory',\n sourceEditor: 'source-editor',\n};\n\nexport const NAME_OF_DEFAULT_DASHBOARD = 'Kickstarter';\nexport const NAME_OF_DEFAULT_FILTER_DASHBOARD = 'Kickstarter By Country';\nexport const DEFAULT_SOURCE = '659803cb9eb0df6d67a9c1f0';\n","export const DASHBOARD_LISTING_HTML_CODE = `\n\n \n
\n
\n
Name
\n
\n
\n \n `;\n\nexport const DASHBOARD_LISTING_JS_CODE = `\n\nlet initialDashboardId;\n\nconst replaceDashboard = (dashboardId, e) => {\n embedManagerPromise.then(embedManager => {\n const options = Array.from(document.getElementsByClassName('option'));\n \n if(e) {\n options.forEach(o => {\n o.classList.remove('selected');\n o.removeAttribute('disabled');\n });\n e.currentTarget.classList.add('selected');\n e.currentTarget.setAttribute('disabled', 'disabled');\n }\n createEmbedComponent(embedManager, { ...componentConfig, dashboardId });\n });\n}\n \nconst getListOfDashboards = async () => {\n const dashboardsListUrl = '${process.env.REACT_APP_COMPOSER_URL}/api/dashboards';\n const { access_token } = await getToken();\n const headers = {\n 'Accept': 'application/vnd.composer.v3+json',\n 'Content-Type': 'application/vnd.composer.v3+json',\n 'Authorization': 'Bearer ' + access_token\n }\n const response = await fetch(dashboardsListUrl, {headers});\n return response.json().then(({content}) => content);\n}\n \nconst addDashboardOption = (({id, name}) => {\n const optionsContainer = document.getElementsByClassName('options-container')[0];\n const dashboardButton = document.createElement('button');\n const dashboardNameDiv = document.createElement('div');\n const nameTextNode = document.createTextNode(name);\n \n dashboardButton.classList.add('option');\n dashboardNameDiv.classList.add('dashboard-name');\n \n dashboardNameDiv.append(nameTextNode);\n dashboardButton.append(dashboardNameDiv);\n \n\tif (id === initialDashboardId) {\n \tdashboardButton.classList.add('selected'); \n dashboardButton.setAttribute('disabled', 'disabled');\n }\n \n dashboardButton.onclick = (e) => replaceDashboard(id, e);\n optionsContainer.append(dashboardButton);\n})\n \nconst buildListOfDashboardsUi = async () => {\n const dashboardsList = await getListOfDashboards();\n initialDashboardId = dashboardsList[0].id;\n replaceDashboard(initialDashboardId);\n dashboardsList.forEach(v => addDashboardOption(v));\n}\n \nbuildListOfDashboardsUi();\n`;\n\nexport const DASHBOARDS_LISTING_CSS_CODE = `\n\n.options-container {\n width: 200px;\n padding-top: 28px;\n display: flex;\n flex-direction: column;\n overflow: auto;\n}\n \n.option, .header {\n width: 100%;\n padding: 5px 16px;\n display: flex;\n align-items: center;\n}\n \n.header {\n background: #f5f5f5;\n font-weight: 600;\n position: fixed;\n top: 0;\n font-size: 13px;\n color: #885a90;\n}\n \n.header-col {\n margin-right: 12px;\n}\n \n.option {\n width: 97%;\n padding: 5px 16px;\n background: #ffffff;\n border: none;\n cursor: pointer;\n margin: 3px 3px 0px 3px;\n border-radius: 5px;\n}\n \n.selected {\n background: #e8e8e8;\n cursor: default;\n}\n \n.option:not(.selected):hover {\n background: #f5f5f5;\n}\n\n.dashboard-name {\n color: #4682B4;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n`;\n\nexport const DASHBOARD_BUILDER_COMPONENT_CONFIG = `const componentConfig = {\n \"theme\":\"%themeComposer%\",%ipOverrides%\n \"editor\": { \"placement\": \"%editorPlacement%\" },\n \"header\": { \n \"showTitle\": %showTitle%,\n }\n}`;\n","export const VISUAL_LISTING_HTML_CODE = `\n\n \n
\n
\n
Type
\n
Name
\n
\n
\n \n `;\n\nexport const VISUAL_LISTING_JS_CODE = `\n\nlet initialVisualId = '';\n\nconst replaceComponent = (visualId, e) => {\n embedManagerPromise.then(embedManager => {\n const options = Array.from(document.getElementsByClassName('option'));\n if (e) {\n options.forEach(o => {\n o.classList.remove('selected');\n o.removeAttribute('disabled');\n });\n e.currentTarget.classList.add('selected');\n e.currentTarget.setAttribute('disabled', 'disabled');\n }\n createEmbedComponent(embedManager, { ...componentConfig, visualId });\n });\n }\n \nconst getListOfVisuals = async () => {\n const visualsListUrl = '${process.env.REACT_APP_COMPOSER_URL}/api/visuals';\n const { access_token } = await getToken();\n const headers = {\n 'Content-Type': 'application/vnd.composer.v3+json',\n 'Authorization': 'Bearer ' + access_token\n }\n const response = await fetch(visualsListUrl, {headers});\n return response.json().then(({content}) => content);\n}\n \nconst addVisualOption = (({id, type, visualName}) => {\n const optionsContainer = document.getElementsByClassName('options-container')[0];\n const visualButton = document.createElement('button');\n const visualNameDiv = document.createElement('div');\n const visualIcon = document.createElement('img');\n const nameTextNode = document.createTextNode(visualName);\n \n visualButton.classList.add('option');\n visualIcon.classList.add('visual-icon');\n visualNameDiv.classList.add('visual-name');\n \n visualNameDiv.append(nameTextNode);\n visualButton.append(visualIcon);\n visualButton.append(visualNameDiv);\n \n if (id === initialVisualId) {\n visualButton.classList.add('selected'); \n visualButton.setAttribute('disabled', 'disabled');\n }\n \n visualIcon.src = \\`/icons/$\\{type\\}.svg\\`;\n visualIcon.width = 20;\n visualIcon.height = 20;\n \n visualButton.onclick = (e) => replaceComponent(id, e);\n \n optionsContainer.append(visualButton);\n})\n\nconst buildListOfVisualsUi = async () => {\n const visualsList = await getListOfVisuals();\n initialVisualId = visualsList[0].id;\n replaceComponent(initialVisualId);\n visualsList.forEach(v => addVisualOption(v));\n}\n\nbuildListOfVisualsUi();\n`;\n\nexport const VISUAL_LISTING_CSS_CODE = `\n\n.options-container {\n width: 200px;\n padding-top: 28px;\n display: flex;\n flex-direction: column;\n overflow: auto;\n}\n \n.option, .header {\n width: 100%;\n padding: 5px 16px;\n display: flex;\n align-items: center;\n}\n \n.header {\n background: #f5f5f5;\n font-weight: 600;\n position: fixed;\n top: 0;\n font-size: 13px;\n color: #885a90;\n}\n \n.header-col {\n margin-right: 12px;\n}\n \n.option {\n width: 97%;\n padding: 5px 16px;\n background: #ffffff;\n border: none;\n cursor: pointer;\n margin: 3px 3px 0px 3px;\n border-radius: 5px;\n}\n \n.selected {\n background: #e8e8e8;\n cursor: default;\n}\n \n.option:not(.selected):hover {\n background: #f5f5f5;\n}\n \n.visual-icon {\n padding: 0 20px 0 5px;\n}\n \n.visual-name {\n color: #4682B4;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n`;\n\nexport const VISUAL_BUILDER_COMPONENT_CONFIG = `const componentConfig = {\n \"theme\":\"%themeComposer%\",\n \"header\": { \n \"showTitle\": %showTitle%,\n \"visible\": %showHeader%,\n },%breadcrumbs%%ipOverrides%%embedSource%\n}`;\n\nexport const EMBED_SOURCE_JS_CODE = `\n \"source\": {\n \"visualId\": \"89200c26c2cef4b697c30664dc7bd88c\", // ID of visual template that belongs to a source, used for creating a new visual.\n }`;\n\nexport const VISUAL_AUTHORING_BREADCRUMBS_CODE = `\n \"breadcrumbs\": { // optional configuration of the breadcrumbs\n \"title\": \"Visuals\",\n \"onClick\": () => {alert(\"Clicked !!!\")},\n \"href\": \"#\",\n \"target\": \"_blank\"\n },`;\n","export const DASHBOARD_EVENT_LISTENERS_CODE = `\n\n // START: Event Listeners\n // When the event is triggered in this example, a message pop-up\n // launches. Please read the Documentation Helper for a description\n // of other available event listeners.\n component.addEventListener(\"composer-dashboard-loaded\", (e) => {\n alert(\"Dashboard has been loaded !!!\");\n });\n /* END: Event Listeners */`;\n\nexport const DASHBOARD_EVENT_LISTENER_READY_CODE = `\n\n // START: Event Listeners\n // When the event is triggered in this example, a message pop-up\n // launches. Please read the Documentation Helper for a description\n // of other available event listeners.\n component.addEventListener(\"composer-dashboard-ready\", (e) => {\n alert(\"Dashboard is ready !!!\");\n });\n /* END: Event Listeners */`;\n\nexport const DASHBOARD_EVENT_LISTENER_CHANGED_CODE = `\n\n // START: Event Listeners\n // When the event is triggered in this example, a message pop-up\n // launches. Please read the Documentation Helper for a description\n // of other available event listeners.\n component.addEventListener(\"composer-dashboard-changed\", (e) => {\n alert(\"Dashboard is changed !!!\");\n });\n /* END: Event Listeners */`;\n\nexport const DASHBOARD_EVENT_LISTENER_DELETED_CODE = `\n\n // START: Event Listeners\n // When the event is triggered in this example, a message pop-up\n // launches. Please read the Documentation Helper for a description\n // of other available event listeners.\n component.addEventListener(\"composer-dashboard-deleted\", (e) => {\n alert(\"Dashboard deleted !!!\");\n });\n /* END: Event Listeners */`;\n\nexport const DASHBOARD_EVENT_LISTENER_FAILED_CODE = `\n\n // START: Event Listeners\n // When the event is triggered in this example, a message pop-up\n // launches. Please read the Documentation Helper for a description\n // of other available event listeners.\n component.addEventListener(\"composer-dashboard-failed\", (e) => {\n alert(\"Dashboard load failed !!!\");\n });\n /* END: Event Listeners */`;\n\nexport const DASHBOARD_EVENT_LISTENER_SAVE_CODE = `\n\n // START: Event Listeners\n // When the event is triggered in this example, a message pop-up\n // launches. Please read the Documentation Helper for a description\n // of other available event listeners.\n component.addEventListener(\"composer-dashboard-saved\", (e) => {\n alert(\"Dashboard saved !!!\");\n });\n /* END: Event Listeners */`;\n\nexport const DASHBOARD_EVENT_LISTENER_DOC_FAIL_CODE = `\n\n // START: Event Listeners\n // When the event is triggered in this example, a message pop-up\n // launches. Please read the Documentation Helper for a description\n // of other available event listeners.\n component.addEventListener(\"composer-init-failed\", (e) => {\n alert(\"Initialization failed !!!\");\n });\n /* END: Event Listeners */`;\n\nexport const DASHBOARD_EVENT_LISTENER_DOC_UNAUTHORIZED_CODE = `\n\n // START: Event Listeners\n // When the event is triggered in this example, a message pop-up\n // launches. Please read the Documentation Helper for a description\n // of other available event listeners.\n component.addEventListener(\"composer-unauthorized\", (e) => {\n alert(\"composer-unauthorized !!!\");\n });\n /* END: Event Listeners */`;\n","export const DASHBOARD_EVENT_LISTENER_VISUAL_ADDED_CODE = `\n\n // START: Event Listeners\n // When the event is triggered in this example, a message pop-up\n // launches. Please read the Documentation Helper for a description\n // of other available event listeners.\n component.addEventListener(\"composer-dashboard-widget-added\", (e) => {\n alert(\"Visual added to dashboard !!!\");\n });\n /* END: Event Listeners */`;\n\nexport const DASHBOARD_EVENT_LISTENER_VISUAL_REMOVED_CODE = `\n\n // START: Event Listeners\n // When the event is triggered in this example, a message pop-up\n // launches. Please read the Documentation Helper for a description\n // of other available event listeners.\n component.addEventListener(\"composer-dashboard-widget-removed\", (e) => {\n alert(\"Visual removed from dashboard !!!\");\n });\n /* END: Event Listeners */`;\n\nexport const DASHBOARD_EVENT_LISTENER_VISUAL_FAIL_CODE = `\n\n // START: Event Listeners\n // When the event is triggered in this example, a message pop-up\n // launches. Please read the Documentation Helper for a description\n // of other available event listeners.\n component.addEventListener(\"composer-visual-failed\", (e) => {\n alert(\"Visual load failed !!!\");\n });\n /* END: Event Listeners */`;\n\nexport const DASHBOARD_EVENT_LISTENER_VISUAL_LOAD_CODE = `\n\n // START: Event Listeners\n // When the event is triggered in this example, a message pop-up\n // launches. Please read the Documentation Helper for a description\n // of other available event listeners.\n component.addEventListener(\"composer-visual-loaded\", (e) => {\n alert(\"Visual is loaded !!!\");\n });\n /* END: Event Listeners */`;\n\nexport const DASHBOARD_EVENT_LISTENER_VISUAL_RENDERED_CODE = `\n\n // START: Event Listeners\n // When the event is triggered in this example, a message pop-up\n // launches. Please read the Documentation Helper for a description\n // of other available event listeners.\n component.addEventListener(\"composer-visual-rendered\", (e) => {\n alert(\"Visual rendered !!!\");\n });\n /* END: Event Listeners */`;\n\nexport const DASHBOARD_EVENT_LISTENER_VISUAL_SAVE_CODE = `\n\n // START: Event Listeners\n // When the event is triggered in this example, a message pop-up\n // launches. Please read the Documentation Helper for a description\n // of other available event listeners.\n component.addEventListener(\"composer-visual-saved\", (e) => {\n alert(\"Visual authoring saved !!!\");\n });\n /* END: Event Listeners */`;\n\nexport const VISUAL_EVENT_LISTENERS_CODE = `\n\n // START: Event Listeners\n // When the event is triggered in this example, a message pop-up\n // launches. Please read the Documentation Helper for a description\n // of other available event listeners.\n component.addEventListener(\"composer-visual-builder-loaded\", (e) => {\n alert(\"Visual has been loaded !!!\");\n });\n /* END: Event Listeners */`;\n","export const DASHBOARD_EVENT_LISTENER_VISUAL_BUILDER_CHANGE_CODE = `\n\n // START: Event Listeners\n // When the event is triggered in this example, a message pop-up\n // launches. Please read the Documentation Helper for a description\n // of other available event listeners.\n component.addEventListener(\"composer-visual-builder-changed\", (e) => {\n alert(\"Visual Builder Changed !!!\");\n });\n /* END: Event Listeners */`;\n\nexport const DASHBOARD_EVENT_LISTENER_VISUAL_BUILDER_FAILED_CODE = `\n\n // START: Event Listeners\n // When the event is triggered in this example, a message pop-up\n // launches. Please read the Documentation Helper for a description\n // of other available event listeners.\n component.addEventListener(\"composer-visual-builder-failed\", (e) => {\n alert(\"Visual Builder Failed !!!\");\n });\n /* END: Event Listeners */`;\n\nexport const DASHBOARD_EVENT_LISTENER_VISUAL_BUILDER_LOAD_CODE = `\n\n // START: Event Listeners\n // When the event is triggered in this example, a message pop-up\n // launches. Please read the Documentation Helper for a description\n // of other available event listeners.\n component.addEventListener(\"composer-visual-builder-loaded\", (e) => {\n alert(\"Visual Authoring Loaded !!!\");\n });\n /* END: Event Listeners */`;\n\nexport const DASHBOARD_EVENT_LISTENER_VISUAL_BUILDER_READY_CODE = `\n\n // START: Event Listeners\n // When the event is triggered in this example, a message pop-up\n // launches. Please read the Documentation Helper for a description\n // of other available event listeners.\n component.addEventListener(\"composer-visual-builder-ready\", (e) => {\n alert(\"Visual Authoring Ready !!!\");\n });\n /* END: Event Listeners */`;\n","export const CSS_DUNDAS = `html, body {\n width: 100%;\n height: 100%;\n margin: 0;\n padding: 10px;\n border-top: none;\n touch-action: none;\n overflow: hidden;\n}\n\n#container {\n width: calc(100% - 40px);\n height: calc(100% - 40px);\n background-color: white;\n}`;\n\nexport const HTML_DUNDAS = `\n\n\n\n`;\n\nexport const JS_DUNDAS = `let promise = window.setupDundasEmbedded('${process.env.REACT_APP_DUNDAS_INSTANCE}/');\n%embedComponentType%`;\n","export const CSS_COMPOSER = `.root {\n display: flex;\n flex-direction: %mainFlexDirection%;\n width: 100vw;\n height: 100vh;\n font-family: Arial, sans-serif;\n}\n\n.widget-holder {\n position: relative;\n flex-grow: 1;\n}\n%publishStyles%%subscribeStyles%%listVisuals%%listDashboards%%customizeActionButtons%`;\n\nexport const HTML_COMPOSER = `\n\n
%publishCode%%subscribeCode%%listVisuals%%listDashboards%\n
%createSecondDashboard%%customizeActionButtons%\n\n`;\n\nexport const JS_COMPOSER = `const getToken = async () => {\n const response = await fetch('${process.env.REACT_APP_API_TOKEN_URL}', {\n method: 'GET',\n credentials: 'same-origin'\n });\n return response.json().then((result) => {\n return {\n access_token: result.dataDiscoveryToken,\n expires_in: result.expiresIn,\n };\n });\n};\n\n%customCellRenderer%\n\nconst embedManagerPromise = window.initComposerEmbedManager({ getToken: getToken });\n\n%componentConfig%\n%componentCleanup1%\nconst createEmbedComponent = (embedManager, config, containerElementId = 'widget-holder') => {\n return embedManager.createComponent(%componentType%, config).then(component => {%componentCleanup2%\n component.render(document.getElementById(containerElementId), { width:\"100%\", height: \"100%\" });%dbEventListener%%visualEventListener%%dbVisualBuilderReady%%dbVisualBuilderLoad%%dbVisualBuilderFail%%dbVisualBuilderChange%%dashboardBuilderUnauthorized%%dashboardBuilderDocumentFailed%%dashboardBuilderVisualSaveEventListener%%dashboardBuilderVisualRenderEventListener%%dashboardBuilderVisualLoadFailEventListener%%dashboardBuilderVisualLoadEventListener%%dashboardBuilderVisualRemoveEventListener%%dashboardBuilderVisualAddEventListener%%dashboardBuilderSaveEventListener%%dashboardBuilderLoadFailEventListener%%dashboardBuilderDeleteEventListener%%dashboardBuilderChangedEventListener%%dashboardBuilderReadyEventListener%%inventoryDeleteEventListener%%inventoryFailEventListener%%inventoryReadyEventListener%%inventoryEventListeners%%vbVisualBuilderReady%%vbVisualBuilderFail%%vbVisualBuilderChange%%vbVisualSaveEventListener%%vbVisualRenderEventListener%%vbVisualLoadFailEventListener%%vbVisualLoadEventListener%%dashboardEventListeners%%dashboardChangedEventListener%%dashboardDeleteEventListener%%dashboardLoadFailEventListener%%dashboardSaveEventListener%%dashboardVisualAddEventListener%%dashboardVisualRemoveEventListener%%visualLoadFailEventListener%%visualRenderEventListener%%visualSaveEventListener%%dashboardReadyEventListener%%unauthorized%%visualLoadEventListener%%documentFailed%%visualBuilderChange%%visualBuilderFail%%visualBuilderLoad%%visualBuilderReady%%pubSubCommonJsCode%%subscribeCode%%publishCode%%sourceEditorEventListeners%\n })\n}\n%listVisuals%%listDashboards%%createComponent%%customizeActionButtonsHelpers%`;\n","import { EMBED_COMPONENT_TYPES } from '../constants/embedComponentTypes';\nimport { ADHOC_EDITOR_CODE } from '../constants/liveCodeScripts/adHocEditorScripts';\nimport { METRIC_SET_CODE } from '../constants/liveCodeScripts/metricSetScripts';\nimport {\n EMBED_VIEWER_DASHBOARD_JS_CODE,\n EMBED_VIEWER_REPORT_JS_CODE,\n EMBED_VIEWER_SCORECARD_JS_CODE,\n} from '../constants/liveCodeScripts/embedViewerScripts';\n\nimport {\n CREATE_COMPONENT_JS_CODE,\n CREATE_SECOND_DASHBOARD_ASYNC,\n CREATE_SECOND_DASHBOARD_AWAIT,\n EMBED_COMPONENT_CLEANUP_JS_CODE_1,\n EMBED_COMPONENT_CLEANUP_JS_CODE_2,\n} from '../constants/liveCodeScripts/commonCode';\nimport {\n DASHBOARDS_LISTING_CSS_CODE,\n DASHBOARD_BUILDER_COMPONENT_CONFIG,\n DASHBOARD_LISTING_HTML_CODE,\n DASHBOARD_LISTING_JS_CODE,\n} from '../constants/liveCodeScripts/dashboardBuilderScripts';\nimport {\n CREATE_SECOND_DASHBOARD_JS_CODE,\n DASHBOARD_COMPONENT_CONFIG_JS_CODE,\n DOUBLE_DASHBOARDS_FIRST_DASHBOARD_CONFIG_JS_CODE,\n SECOND_DASHBOARD_HTML_CODE,\n} from '../constants/liveCodeScripts/dashboardScripts';\nimport {\n DASHBOARD_IP_OVERRIDES_SETTING,\n VISUAL_BUILDER_IP_OVERRIDES_SETTING,\n DASHBOARD_BUILDER_IP_OVERRIDES_SETTING,\n getInventoryIpOverridesSetting,\n SOURCE_EDITOR_IP_OVERRIDES_SETTING,\n} from '../constants/liveCodeScripts/interactivityProfileScripts';\nimport {\n PUBLISH_HTML_CODE,\n PUBLISH_JS_CODE,\n PUBLISH_STYLES,\n PUB_SUB_COMMON_CODE,\n SUBSCRIBE_JS_CODE,\n SUBSCRIBE_HTML_CODE,\n SUBSCRIBE_STYLES,\n PUB_SUB_TOGGLE_STYLE,\n} from '../constants/liveCodeScripts/pubSubScripts';\nimport {\n COMPONENTS_CONFIG,\n CUSTOM_CELL_RENDERER,\n CUSTOMIZE_ACTION_BUTTONS,\n CUSTOMIZE_ACTION_BUTTONS_CSS_CODE,\n CUSTOMIZE_ACTION_BUTTONS_HELPERS,\n CUSTOMIZE_ACTION_BUTTONS_HTML_CODE,\n CUSTOMIZE_FILTER_BUTTONS,\n CUSTOMIZE_INVENTORY_TABLE,\n CUSTOMIZE_SEARCH_CONTROLLERS,\n INVENTORY_CONFIG,\n} from '../constants/liveCodeScripts/inventoryScripts';\nimport {\n EMBED_SOURCE_JS_CODE,\n VISUAL_AUTHORING_BREADCRUMBS_CODE,\n VISUAL_BUILDER_COMPONENT_CONFIG,\n VISUAL_LISTING_CSS_CODE,\n VISUAL_LISTING_HTML_CODE,\n VISUAL_LISTING_JS_CODE,\n} from '../constants/liveCodeScripts/visualBuilderScripts';\nimport {\n INVENTORY_EVENT_LISTENERS_CODE,\n INVENTORY_EVENT_LISTENERS_DELETE_CODE,\n INVENTORY_EVENT_LISTENERS_FAIL_CODE,\n INVENTORY_EVENT_LISTENERS_READY_CODE,\n} from '../constants/liveCodeScripts/eventListenerScripts';\nimport {\n DASHBOARD_EVENT_LISTENER_CHANGED_CODE,\n DASHBOARD_EVENT_LISTENER_DELETED_CODE,\n DASHBOARD_EVENT_LISTENER_DOC_FAIL_CODE,\n DASHBOARD_EVENT_LISTENER_DOC_UNAUTHORIZED_CODE,\n DASHBOARD_EVENT_LISTENER_FAILED_CODE,\n DASHBOARD_EVENT_LISTENER_READY_CODE,\n DASHBOARD_EVENT_LISTENER_SAVE_CODE,\n DASHBOARD_EVENT_LISTENERS_CODE,\n} from '../constants/liveCodeScripts/dashboardEventListenerScripts';\nimport {\n DASHBOARD_EVENT_LISTENER_VISUAL_ADDED_CODE,\n DASHBOARD_EVENT_LISTENER_VISUAL_FAIL_CODE,\n DASHBOARD_EVENT_LISTENER_VISUAL_LOAD_CODE,\n DASHBOARD_EVENT_LISTENER_VISUAL_REMOVED_CODE,\n DASHBOARD_EVENT_LISTENER_VISUAL_RENDERED_CODE,\n DASHBOARD_EVENT_LISTENER_VISUAL_SAVE_CODE,\n VISUAL_EVENT_LISTENERS_CODE,\n} from '../constants/liveCodeScripts/visualEventListenerScripts';\nimport {\n DASHBOARD_EVENT_LISTENER_VISUAL_BUILDER_CHANGE_CODE,\n DASHBOARD_EVENT_LISTENER_VISUAL_BUILDER_FAILED_CODE,\n DASHBOARD_EVENT_LISTENER_VISUAL_BUILDER_LOAD_CODE,\n DASHBOARD_EVENT_LISTENER_VISUAL_BUILDER_READY_CODE,\n} from '../constants/liveCodeScripts/visualBuilderEventListenerScripts';\nimport {\n SOURCE_EDITOR_COMPONENT_CONFIG,\n SOURCE_EDITOR_EVENT_LISTENERS_CODE,\n} from '../constants/liveCodeScripts/sourceEditorScripts';\nimport { CSS_DUNDAS, HTML_DUNDAS, JS_DUNDAS } from '../constants/liveCodeScripts/dundasScripts';\n\nimport { CSS_COMPOSER, HTML_COMPOSER, JS_COMPOSER } from '../constants/liveCodeScripts/composerScripts';\n\nimport { THEMES_CODE } from '../constants/liveCodeScripts/commonCode';\n\nexport const applySettingsToJsCode = (\n template,\n settings,\n embedComponentType,\n dashboardId,\n originId,\n firstDashboardId,\n sourceId,\n defaultUserSessionId\n) => {\n return (\n template\n .replaceAll(\n '%jsCode%',\n embedComponentType === EMBED_COMPONENT_TYPES.adHocEditor ||\n embedComponentType === EMBED_COMPONENT_TYPES.embedViewer ||\n embedComponentType === EMBED_COMPONENT_TYPES.metricSet\n ? JS_DUNDAS\n : JS_COMPOSER\n )\n .replaceAll(\n '%htmlCode%',\n embedComponentType === EMBED_COMPONENT_TYPES.adHocEditor ||\n embedComponentType === EMBED_COMPONENT_TYPES.embedViewer ||\n embedComponentType === EMBED_COMPONENT_TYPES.metricSet\n ? HTML_DUNDAS\n : HTML_COMPOSER\n )\n .replaceAll(\n '%cssCode%',\n embedComponentType === EMBED_COMPONENT_TYPES.adHocEditor ||\n embedComponentType === EMBED_COMPONENT_TYPES.embedViewer ||\n embedComponentType === EMBED_COMPONENT_TYPES.metricSet\n ? CSS_DUNDAS\n : CSS_COMPOSER\n )\n .replaceAll(\n '%embedComponentType%',\n embedComponentType === EMBED_COMPONENT_TYPES.embedViewer\n ? settings.ViewType === 'dashboard'\n ? EMBED_VIEWER_DASHBOARD_JS_CODE\n : settings.ViewType === 'report'\n ? EMBED_VIEWER_REPORT_JS_CODE\n : EMBED_VIEWER_SCORECARD_JS_CODE\n : embedComponentType === EMBED_COMPONENT_TYPES.adHocEditor\n ? ADHOC_EDITOR_CODE\n : embedComponentType == EMBED_COMPONENT_TYPES.metricSet\n ? METRIC_SET_CODE\n : ''\n )\n .replaceAll(\n '%componentConfig%',\n embedComponentType === EMBED_COMPONENT_TYPES.dashboard\n ? settings.doubleDashboards\n ? DOUBLE_DASHBOARDS_FIRST_DASHBOARD_CONFIG_JS_CODE\n : DASHBOARD_COMPONENT_CONFIG_JS_CODE\n : embedComponentType === EMBED_COMPONENT_TYPES.visualBuilder\n ? VISUAL_BUILDER_COMPONENT_CONFIG\n : embedComponentType === EMBED_COMPONENT_TYPES.dashboardBuilder\n ? DASHBOARD_BUILDER_COMPONENT_CONFIG\n : embedComponentType === EMBED_COMPONENT_TYPES.inventory\n ? INVENTORY_CONFIG\n : SOURCE_EDITOR_COMPONENT_CONFIG\n )\n .replaceAll('%themesCode%', THEMES_CODE)\n .replaceAll('%embedThemeId%', settings.theme)\n .replaceAll('%sessionId%', defaultUserSessionId)\n .replaceAll('%toolbarHidden%', settings.toolbarHidden)\n .replaceAll('%toolbarAddMetricsSetHidden%', settings.toolbarAddMetricsSetHidden)\n .replaceAll('%toolbarAddDashboardHidden%', settings.toolbarAddDashboardHidden)\n .replaceAll('%toolbarAddReportHidden%', settings.toolbarAddReportHidden)\n .replaceAll('%dockablesHidden%', settings.dockablesHidden)\n .replaceAll('%openExistingHidden%', settings.openExistingHidden)\n .replaceAll('%theme%', settings.theme)\n .replaceAll('%embedDashboardId%', settings.dashboardId)\n .replaceAll('%embedReportId%', settings.reportId)\n .replaceAll('%embedScorecardId%', settings.scorecardId)\n .replaceAll('%embedMetricSetId%', settings.metricSetId)\n\n // Composer Variables\n .replaceAll(\n '%createComponent%',\n !settings.listVisuals && !settings.listDashboards ? CREATE_COMPONENT_JS_CODE : ''\n )\n .replaceAll('%createSecondDashboard%', settings.doubleDashboards ? CREATE_SECOND_DASHBOARD_JS_CODE : '')\n .replaceAll('%createSecondDashboardAsync%', settings.doubleDashboards ? CREATE_SECOND_DASHBOARD_ASYNC : '')\n .replaceAll('%createSecondDashboardAwait%', settings.doubleDashboards ? CREATE_SECOND_DASHBOARD_AWAIT : '')\n .replaceAll('%showTitle%', settings.showTitle)\n .replaceAll('%showHeader%', settings.showHeader)\n .replaceAll('%inventoryItem%', settings.inventoryItem)\n .replaceAll('%showActions%', settings.showActions)\n .replaceAll('%ip%', settings.ip)\n .replaceAll('%themeComposer%', settings.themeComposer)\n .replaceAll('%dashboardId%', dashboardId)\n .replaceAll('%originId%', originId)\n .replaceAll('%dashboardId2%', firstDashboardId)\n .replaceAll('%sourceId%', sourceId)\n .replaceAll(\n '%ipOverrides%',\n settings.dashboardIpOverrides && embedComponentType === EMBED_COMPONENT_TYPES.dashboard\n ? DASHBOARD_IP_OVERRIDES_SETTING\n : settings.dashboardBuilderIpOverrides && embedComponentType === EMBED_COMPONENT_TYPES.dashboardBuilder\n ? DASHBOARD_BUILDER_IP_OVERRIDES_SETTING\n : settings.visualIpOverrides && embedComponentType === EMBED_COMPONENT_TYPES.visualBuilder\n ? VISUAL_BUILDER_IP_OVERRIDES_SETTING\n : settings.sourceEditorIpOverrides && embedComponentType === EMBED_COMPONENT_TYPES.sourceEditor\n ? SOURCE_EDITOR_IP_OVERRIDES_SETTING\n : settings.inventoryIpOverrides\n ? getInventoryIpOverridesSetting(settings.inventoryItem)\n : ''\n )\n .replaceAll('%editorPlacement%', settings.editorPlacement)\n .replaceAll('%breadcrumbs%', settings.breadcrumbs ? VISUAL_AUTHORING_BREADCRUMBS_CODE : '')\n .replaceAll('%dashboardEventListeners%', settings.dashboardEventListeners ? DASHBOARD_EVENT_LISTENERS_CODE : '')\n .replaceAll(\n '%sourceEditorEventListeners%',\n settings.sourceEditorEventListeners ? SOURCE_EDITOR_EVENT_LISTENERS_CODE : ''\n )\n .replaceAll('%dbEventListener%', settings.dbEventListener ? DASHBOARD_EVENT_LISTENERS_CODE : '')\n .replaceAll('%visualEventListener%', settings.visualEventListener ? VISUAL_EVENT_LISTENERS_CODE : '')\n .replaceAll(\n '%dashboardReadyEventListener%',\n settings.dashboardReadyEventListener ? DASHBOARD_EVENT_LISTENER_READY_CODE : ''\n )\n .replaceAll(\n '%dashboardChangedEventListener%',\n settings.dashboardChangedEventListener ? DASHBOARD_EVENT_LISTENER_CHANGED_CODE : ''\n )\n .replaceAll(\n '%dashboardDeleteEventListener%',\n settings.dashboardDeleteEventListener ? DASHBOARD_EVENT_LISTENER_DELETED_CODE : ''\n )\n .replaceAll(\n '%dashboardLoadFailEventListener%',\n settings.dashboardLoadFailEventListener ? DASHBOARD_EVENT_LISTENER_FAILED_CODE : ''\n )\n .replaceAll(\n '%dashboardSaveEventListener%',\n settings.dashboardSaveEventListener ? DASHBOARD_EVENT_LISTENER_SAVE_CODE : ''\n )\n .replaceAll(\n '%dashboardVisualAddEventListener%',\n settings.dashboardVisualAddEventListener ? DASHBOARD_EVENT_LISTENER_VISUAL_ADDED_CODE : ''\n )\n .replaceAll(\n '%dashboardVisualRemoveEventListener%',\n settings.dashboardVisualRemoveEventListener ? DASHBOARD_EVENT_LISTENER_VISUAL_REMOVED_CODE : ''\n )\n .replaceAll(\n '%dashboardBuilderReadyEventListener%',\n settings.dashboardBuilderReadyEventListener ? DASHBOARD_EVENT_LISTENER_READY_CODE : ''\n )\n .replaceAll(\n '%dashboardBuilderChangedEventListener%',\n settings.dashboardBuilderChangedEventListener ? DASHBOARD_EVENT_LISTENER_CHANGED_CODE : ''\n )\n .replaceAll(\n '%dashboardBuilderDeleteEventListener%',\n settings.dashboardBuilderDeleteEventListener ? DASHBOARD_EVENT_LISTENER_DELETED_CODE : ''\n )\n .replaceAll(\n '%dashboardBuilderLoadFailEventListener%',\n settings.dashboardBuilderLoadFailEventListener ? DASHBOARD_EVENT_LISTENER_FAILED_CODE : ''\n )\n .replaceAll(\n '%dashboardBuilderSaveEventListener%',\n settings.dashboardBuilderSaveEventListener ? DASHBOARD_EVENT_LISTENER_SAVE_CODE : ''\n )\n .replaceAll(\n '%dashboardBuilderVisualAddEventListener%',\n settings.dashboardBuilderVisualAddEventListener ? DASHBOARD_EVENT_LISTENER_VISUAL_ADDED_CODE : ''\n )\n .replaceAll(\n '%dashboardBuilderVisualRemoveEventListener%',\n settings.dashboardBuilderVisualRemoveEventListener ? DASHBOARD_EVENT_LISTENER_VISUAL_REMOVED_CODE : ''\n )\n .replaceAll(\n '%visualLoadEventListener%',\n settings.visualLoadEventListener ? DASHBOARD_EVENT_LISTENER_VISUAL_LOAD_CODE : ''\n )\n .replaceAll(\n '%visualLoadFailEventListener%',\n settings.visualLoadFailEventListener ? DASHBOARD_EVENT_LISTENER_VISUAL_FAIL_CODE : ''\n )\n .replaceAll(\n '%visualRenderEventListener%',\n settings.visualRenderEventListener ? DASHBOARD_EVENT_LISTENER_VISUAL_RENDERED_CODE : ''\n )\n .replaceAll(\n '%visualSaveEventListener%',\n settings.visualSaveEventListener ? DASHBOARD_EVENT_LISTENER_VISUAL_SAVE_CODE : ''\n )\n .replaceAll(\n '%dashboardBuilderVisualLoadEventListener%',\n settings.dashboardBuilderVisualLoadEventListener ? DASHBOARD_EVENT_LISTENER_VISUAL_LOAD_CODE : ''\n )\n .replaceAll(\n '%dashboardBuilderVisualLoadFailEventListener%',\n settings.dashboardBuilderVisualLoadFailEventListener ? DASHBOARD_EVENT_LISTENER_VISUAL_FAIL_CODE : ''\n )\n .replaceAll(\n '%dashboardBuilderVisualRenderEventListener%',\n settings.dashboardBuilderVisualRenderEventListener ? DASHBOARD_EVENT_LISTENER_VISUAL_RENDERED_CODE : ''\n )\n .replaceAll(\n '%dashboardBuilderVisualSaveEventListener%',\n settings.dashboardBuilderVisualSaveEventListener ? DASHBOARD_EVENT_LISTENER_VISUAL_SAVE_CODE : ''\n )\n .replaceAll('%documentFailed%', settings.documentFailed ? DASHBOARD_EVENT_LISTENER_DOC_FAIL_CODE : '')\n .replaceAll(\n '%dashboardBuilderDocumentFailed%',\n settings.dashboardBuilderDocumentFailed ? DASHBOARD_EVENT_LISTENER_DOC_FAIL_CODE : ''\n )\n .replaceAll(\n '%visualBuilderChange%',\n settings.visualBuilderChange ? DASHBOARD_EVENT_LISTENER_VISUAL_BUILDER_CHANGE_CODE : ''\n )\n .replaceAll(\n '%visualBuilderFail%',\n settings.visualBuilderFail ? DASHBOARD_EVENT_LISTENER_VISUAL_BUILDER_FAILED_CODE : ''\n )\n .replaceAll(\n '%visualBuilderLoad%',\n settings.visualBuilderLoad ? DASHBOARD_EVENT_LISTENER_VISUAL_BUILDER_LOAD_CODE : ''\n )\n .replaceAll(\n '%visualBuilderReady%',\n settings.visualBuilderReady ? DASHBOARD_EVENT_LISTENER_VISUAL_BUILDER_READY_CODE : ''\n )\n\n .replaceAll(\n '%dbVisualBuilderChange%',\n settings.dbVisualBuilderChange ? DASHBOARD_EVENT_LISTENER_VISUAL_BUILDER_CHANGE_CODE : ''\n )\n .replaceAll(\n '%dbVisualBuilderFail%',\n settings.dbVisualBuilderFail ? DASHBOARD_EVENT_LISTENER_VISUAL_BUILDER_FAILED_CODE : ''\n )\n .replaceAll(\n '%dbVisualBuilderLoad%',\n settings.dbVisualBuilderLoad ? DASHBOARD_EVENT_LISTENER_VISUAL_BUILDER_LOAD_CODE : ''\n )\n .replaceAll(\n '%dbVisualBuilderReady%',\n settings.dbVisualBuilderReady ? DASHBOARD_EVENT_LISTENER_VISUAL_BUILDER_READY_CODE : ''\n )\n\n .replaceAll('%unauthorized%', settings.unauthorized ? DASHBOARD_EVENT_LISTENER_DOC_UNAUTHORIZED_CODE : '')\n .replaceAll(\n '%dashboardBuilderUnauthorized%',\n settings.dashboardBuilderUnauthorized ? DASHBOARD_EVENT_LISTENER_DOC_UNAUTHORIZED_CODE : ''\n )\n .replaceAll(\n '%vbVisualLoadEventListener%',\n settings.vbVisualLoadEventListener ? DASHBOARD_EVENT_LISTENER_VISUAL_LOAD_CODE : ''\n )\n .replaceAll(\n '%vbVisualLoadFailEventListener%',\n settings.vbVisualLoadFailEventListener ? DASHBOARD_EVENT_LISTENER_VISUAL_FAIL_CODE : ''\n )\n .replaceAll(\n '%vbVisualRenderEventListener%',\n settings.vbVisualRenderEventListener ? DASHBOARD_EVENT_LISTENER_VISUAL_RENDERED_CODE : ''\n )\n .replaceAll(\n '%vbVisualSaveEventListener%',\n settings.vbVisualSaveEventListener ? DASHBOARD_EVENT_LISTENER_VISUAL_SAVE_CODE : ''\n )\n .replaceAll(\n '%vbVisualBuilderChange%',\n settings.vbVisualBuilderChange ? DASHBOARD_EVENT_LISTENER_VISUAL_BUILDER_CHANGE_CODE : ''\n )\n .replaceAll(\n '%vbVisualBuilderFail%',\n settings.vbVisualBuilderFail ? DASHBOARD_EVENT_LISTENER_VISUAL_BUILDER_FAILED_CODE : ''\n )\n .replaceAll(\n '%vbVisualBuilderReady%',\n settings.vbVisualBuilderReady ? DASHBOARD_EVENT_LISTENER_VISUAL_BUILDER_READY_CODE : ''\n )\n .replaceAll('%inventoryEventListeners%', settings.inventoryEventListeners ? INVENTORY_EVENT_LISTENERS_CODE : '')\n .replaceAll(\n '%inventoryReadyEventListener%',\n settings.inventoryReadyEventListener ? INVENTORY_EVENT_LISTENERS_READY_CODE : ''\n )\n .replaceAll(\n '%inventoryFailEventListener%',\n settings.inventoryFailEventListener ? INVENTORY_EVENT_LISTENERS_FAIL_CODE : ''\n )\n .replaceAll(\n '%inventoryDeleteEventListener%',\n settings.inventoryDeleteEventListener ? INVENTORY_EVENT_LISTENERS_DELETE_CODE : ''\n )\n .replaceAll('%embedSource%', settings.embedSource ? EMBED_SOURCE_JS_CODE : '')\n .replaceAll(\n '%componentType%',\n embedComponentType === EMBED_COMPONENT_TYPES.visualBuilder\n ? '\"visual-builder\"'\n : embedComponentType === EMBED_COMPONENT_TYPES.inventory\n ? '\"inventory\"'\n : embedComponentType === EMBED_COMPONENT_TYPES.sourceEditor\n ? '\"source-editor\"'\n : settings.embedInLiteMode\n ? '\"lite-dashboard\"'\n : '\"dashboard\"'\n )\n .replaceAll('%listVisuals%', settings.listVisuals ? VISUAL_LISTING_JS_CODE : '')\n .replaceAll('%listDashboards%', settings.listDashboards ? DASHBOARD_LISTING_JS_CODE : '')\n .replaceAll(\n '%componentCleanup1%',\n settings.listVisuals || settings.listDashboards ? EMBED_COMPONENT_CLEANUP_JS_CODE_1 : ''\n )\n .replaceAll(\n '%pubSubCommonJsCode%',\n settings.crossVisualFiltersSubscribe || settings.crossVisualFiltersPublish ? PUB_SUB_COMMON_CODE : ''\n )\n .replaceAll('%subscribeCode%', settings.crossVisualFiltersSubscribe ? SUBSCRIBE_JS_CODE : '')\n .replaceAll('%publishCode%', settings.crossVisualFiltersPublish ? PUBLISH_JS_CODE : '')\n .replaceAll(\n '%componentCleanup2%',\n settings.listVisuals || settings.listDashboards ? EMBED_COMPONENT_CLEANUP_JS_CODE_2 : ''\n )\n\n .replaceAll('%refresh%', settings.refresh)\n .replaceAll('%changeLayout%', settings.changeLayout)\n .replaceAll('%rename%', settings.rename)\n .replaceAll('%shareFilterSets%', settings.shareFilterSets)\n .replaceAll('%dashboardInteractions%', settings.dashboardInteractions)\n .replaceAll('%addToFavourites%', settings.addToFavourites)\n .replaceAll('%delete%', settings.delete)\n .replaceAll('%filter%', settings.filter)\n .replaceAll('%manageTags%', settings.manageTags)\n .replaceAll('%manageAlerts%', settings.manageAlerts)\n .replaceAll('%shareDashboard%', settings.shareDashboard)\n .replaceAll('%scheduleReports%', settings.scheduleReports)\n .replaceAll('%textSnippet%', settings.textSnippet)\n .replaceAll('%filterSnippet%', settings.filterSnippet)\n .replaceAll('%widgetSettings%', settings.widgetSettings)\n .replaceAll('%comments%', settings.comments)\n .replaceAll('%exportPngPdf%', settings.exportPngPdf)\n .replaceAll('%addVisuals%', settings.addVisuals)\n .replaceAll('%exportConfiguration%', settings.exportConfiguration)\n .replaceAll('%dashboardLinks%', settings.dashboardLinks)\n .replaceAll('%save%', settings.save)\n .replaceAll('%actionsAction%', settings.actionsAction)\n .replaceAll('%rulers%', settings.rulers)\n .replaceAll('%zoomAction%', settings.zoomAction)\n .replaceAll('%filterAction%', settings.filterAction)\n .replaceAll('%colors%', settings.colors)\n .replaceAll('%metrics%', settings.metrics)\n .replaceAll('%actions%', settings.actions)\n .replaceAll('%trendAction%', settings.trendAction)\n .replaceAll('%visualStyle%', settings.visualStyle)\n .replaceAll('%keysetAction%', settings.keysetAction)\n .replaceAll('%keyset%', settings.keyset)\n .replaceAll('%copy%', settings.copy)\n .replaceAll('%settings%', settings.settings)\n .replaceAll('%export%', settings.export)\n .replaceAll('%timebarPanel%', settings.timebarPanel)\n .replaceAll('%detailsAction%', settings.detailsAction)\n .replaceAll('%maximize%', settings.maximize)\n .replaceAll('%linkAction%', settings.linkAction)\n .replaceAll('%filter%', settings.filter)\n .replaceAll('%remove%', settings.remove)\n .replaceAll('%grouping%', settings.grouping)\n .replaceAll('%rename%', settings.rename)\n .replaceAll('%sort%', settings.sort)\n .replaceAll('%timebarField%', settings.timebarField)\n .replaceAll('%saveAs%', settings.saveAs)\n .replaceAll('%conditionalFormatting%', settings.conditionalFormatting)\n .replaceAll('%info%', settings.info)\n .replaceAll('%addNew%', settings.addNew)\n .replaceAll('%import%', settings.import)\n .replaceAll('%permissions%', settings.permissions)\n .replaceAll('%description%', settings.description)\n .replaceAll('%tags%', settings.tags)\n .replaceAll('%share%', settings.share)\n .replaceAll('%multiSelect%', settings.multiSelect)\n .replaceAll('%rowSecurity%', settings.rowSecurity)\n .replaceAll('%columnSecurity%', settings.columnSecurity)\n .replaceAll('%clearCache%', settings.clearCache)\n .replaceAll('%availableVisualTypes%', settings.availableVisualTypes)\n .replaceAll('%schedule%', settings.schedule)\n .replaceAll('%favorites%', settings.favorites)\n .replaceAll('%sourceEditorActiveTab%', settings.sourceEditorActiveTab)\n .replaceAll('%showCreateTab%', settings.showCreateTab)\n .replaceAll('%showFieldsTab%', settings.showFieldsTab)\n .replaceAll('%showCacheTab%', settings.showCacheTab)\n .replaceAll('%showSettingsTab%', settings.showSettingsTab)\n .replaceAll('%addFromConnection%', settings.addFromConnection)\n .replaceAll('%addFromFileUpload%', settings.addFromFileUpload)\n .replaceAll('%selectFileUpload%', settings.selectFileUpload)\n .replaceAll('%uploadnewFile%', settings.uploadnewFile)\n .replaceAll('%createJoins%', settings.createJoins)\n .replaceAll('%filterValuesEntities%', settings.filterValuesEntities)\n .replaceAll('%exportSource%', settings.exportSource)\n .replaceAll('%copySource%', settings.copySource)\n .replaceAll('%addDerivedField%', settings.addDerivedField)\n .replaceAll('%addHierarchyField%', settings.addHierarchyField)\n .replaceAll('%addCustomMetric%', settings.addCustomMetric)\n .replaceAll('%visibility%', settings.visibility)\n .replaceAll('%fieldCapabilities%', settings.fieldCapabilities)\n .replaceAll('%filterValueOverrides%', settings.filterValueOverrides)\n .replaceAll('%manageTranslations%', settings.manageTranslations)\n .replaceAll('%setUniqueKey%', settings.setUniqueKey)\n .replaceAll('%dataCache%', settings.dataCache)\n .replaceAll('%scheduleRefresh%', settings.scheduleRefresh)\n .replaceAll('%statisticsCache%', settings.statisticsCache)\n .replaceAll('%fieldSettings%', settings.fieldSettings)\n\n .replaceAll(\n '%componentsConfig%',\n settings.customizeActionButtons ||\n settings.customizeSearchControllers ||\n settings.customizeFilterButtons ||\n settings.customizeInventoryTable\n ? COMPONENTS_CONFIG\n : ''\n )\n .replaceAll('%customizeActionButtons%', settings.customizeActionButtons ? CUSTOMIZE_ACTION_BUTTONS : '')\n .replaceAll(\n '%customizeActionButtonsHelpers%',\n settings.customizeActionButtons ? CUSTOMIZE_ACTION_BUTTONS_HELPERS : ''\n )\n .replaceAll(\n '%customizeSearchControllers%',\n settings.customizeSearchControllers ? CUSTOMIZE_SEARCH_CONTROLLERS : ''\n )\n .replaceAll('%customizeFilterButtons%', settings.customizeFilterButtons ? CUSTOMIZE_FILTER_BUTTONS : '')\n .replaceAll('%customCellRenderer%', settings.customizeInventoryTable ? CUSTOM_CELL_RENDERER : '')\n .replaceAll('%customizeInventoryTable%', settings.customizeInventoryTable ? CUSTOMIZE_INVENTORY_TABLE : '')\n );\n};\n\nexport const applySettingsToHtmlCode = (template, settings, embedComponentType) =>\n template\n .replaceAll(\n '%htmlCode%',\n embedComponentType === EMBED_COMPONENT_TYPES.adHocEditor ||\n embedComponentType === EMBED_COMPONENT_TYPES.embedViewer ||\n embedComponentType === EMBED_COMPONENT_TYPES.metricSet\n ? HTML_DUNDAS\n : HTML_COMPOSER\n )\n .replaceAll('%createSecondDashboard%', settings.doubleDashboards ? SECOND_DASHBOARD_HTML_CODE : '')\n .replaceAll('%customizeActionButtons%', settings.customizeActionButtons ? CUSTOMIZE_ACTION_BUTTONS_HTML_CODE : '')\n .replaceAll('%publishCode%', settings.crossVisualFiltersPublish ? PUBLISH_HTML_CODE : '')\n .replaceAll('%subscribeCode%', settings.crossVisualFiltersSubscribe ? SUBSCRIBE_HTML_CODE : '')\n .replaceAll('%listVisuals%', settings.listVisuals ? VISUAL_LISTING_HTML_CODE : '')\n .replaceAll('%listDashboards%', settings.listDashboards ? DASHBOARD_LISTING_HTML_CODE : '');\n\nexport const applySettingsToCssCode = (template, settings, embedComponentType) =>\n template\n .replaceAll(\n '%cssCode%',\n embedComponentType === EMBED_COMPONENT_TYPES.adHocEditor ||\n embedComponentType === EMBED_COMPONENT_TYPES.embedViewer ||\n embedComponentType === EMBED_COMPONENT_TYPES.metricSet\n ? CSS_DUNDAS\n : CSS_COMPOSER\n )\n .replaceAll('%listDashboards%', settings.listDashboards ? DASHBOARDS_LISTING_CSS_CODE : '')\n .replaceAll('%customizeActionButtons%', settings.customizeActionButtons ? CUSTOMIZE_ACTION_BUTTONS_CSS_CODE : '')\n .replaceAll('%listVisuals%', settings.listVisuals ? VISUAL_LISTING_CSS_CODE : '')\n .replaceAll('%mainFlexDirection%', settings.listVisuals || settings.listDashboards ? 'row' : 'column')\n .replaceAll('%publishStyles%', settings.crossVisualFiltersPublish ? PUBLISH_STYLES : '')\n .replaceAll(\n '%subscribeStyles%',\n settings.crossVisualFiltersPublish && settings.crossVisualFiltersSubscribe\n ? PUB_SUB_TOGGLE_STYLE\n : settings.crossVisualFiltersSubscribe\n ? SUBSCRIBE_STYLES\n : ''\n );\n","export const EMBED_VIEWER_DASHBOARD_JS_CODE = `promise.then(() => {\n // Do our work here.\n window.dundas.context.embedView(document.getElementById(\"container\"), \"%embedDashboardId%\", {\n \"sessionId\": '%sessionId%',\n \"viewType\": dundas.entities.ViewType.DASHBOARD,\n \"embeddedViewServiceName\": \"DashboardEmbeddedViewService\",\n })\n .done(() => {\n %themesCode%\n });\n})`;\n\nexport const EMBED_VIEWER_SCORECARD_JS_CODE = `promise.then(() => {\n // Do our work here.\n window.dundas.context.embedView(document.getElementById(\"container\"), \"%embedScorecardId%\", {\n \"sessionId\": '%sessionId%',\n \"viewType\": dundas.entities.ViewType.SCORECARD,\n \"embeddedViewServiceName\": \"ScorecardEmbeddedViewService\",\n })\n .done(() => {\n %themesCode%\n })\n})`;\n\nexport const EMBED_VIEWER_REPORT_JS_CODE = `promise.then(() => {\n // Do our work here.\n window.dundas.context.embedView(document.getElementById(\"container\"), \"%embedReportId%\", {\n \"sessionId\": '%sessionId%',\n \"viewType\": dundas.entities.ViewType.REPORT,\n \"embeddedViewServiceName\": \"ReportEmbeddedViewService\",\n })\n .done(() => {\n %themesCode%\n })\n})`;\n","export const ADHOC_EDITOR_CODE = `promise.then(() => {\n // Do our work here.\n window.dundas.context.createAdhocDashboard(document.getElementById(\"container\"), {\n \"sessionId\":'%sessionId%',\n \"isToolbarHidden\":%toolbarHidden%,\n \"isToolbarAddMetricSetHidden\": %toolbarAddMetricsSetHidden%,\n \"isToolbarAddDashboardHidden\": %toolbarAddDashboardHidden%,\n \"isToolbarAddReportHidden\": %toolbarAddReportHidden%,\n \"isDockablesHidden \": %dockablesHidden%,\n \"isOpenExistingHidden\": %openExistingHidden%,\n })\n .done(() => {\n window.dundas.context.activeEmbeddedViewService.subscribe(dundas.EmbeddedViewServiceConstants.AdhocDashboardCreated + \" \" + dundas.EmbeddedViewServiceConstants.AdhocDashboardOpened + \" \" + dundas.EmbeddedViewServiceConstants.MetricSetAddedToAdhocDashboard + \" \" + dundas.EmbeddedViewServiceConstants.ViewAddedToAdhocDashboard, () => {\n %themesCode%\n });\n })\n\n});`;\n","export const METRIC_SET_CODE = `promise.then(() => {\n window.dundas.context.embedMetricSet(document.getElementById(\"container\"), \"%embedMetricSetId%\", {\n \"sessionId\": '%sessionId%',\n \"embeddedViewServiceName\": \"MetricSetEmbeddedViewService\",\n });\n});\n`;\n","export const DASHBOARD_COMPONENT_CONFIG_JS_CODE = `const componentConfig = {\n \"originId\": \"%originId%\",\n \"dashboardId\": \"%dashboardId%\",\n \"interactivityProfileName\":\"%ip%\",%ipOverrides%\n \"theme\":\"%themeComposer%\",\n \"editor\": { \"placement\": \"%editorPlacement%\" },\n \"header\": { \n \"showActions\": %showActions%,\n \"showTitle\": %showTitle%,\n \"visible\": %showHeader%\n }\n}`;\n\nexport const DOUBLE_DASHBOARDS_FIRST_DASHBOARD_CONFIG_JS_CODE = `const componentConfig = {\n \"originId\": \"%originId%\",\n \"dashboardId\": \"%dashboardId%\",\n \"interactivityProfileName\":\"%ip%\",%ipOverrides%\n \"theme\":\"%themeComposer%\",\n \"editor\": { \"placement\": \"%editorPlacement%\" },\n \"header\": { \n \"showActions\": %showActions%,\n \"showTitle\": %showTitle%,\n \"visible\": %showHeader%\n }\n}\n\nconst componentConfig2 = {\n \"originId\": \"%originId%\",\n \"dashboardId\": \"%dashboardId2%\",\n \"interactivityProfileName\":\"%ip%\",%ipOverrides%\n \"theme\":\"%themeComposer%\",\n \"editor\": { \"placement\": \"%editorPlacement%\" },\n \"header\": {\n \"showActions\": %showActions%,\n \"showTitle\": %showTitle%,\n \"visible\": %showHeader%\n }\n}`;\n\nexport const CREATE_SECOND_DASHBOARD_JS_CODE = `\n createEmbedComponent(embedManager, componentConfig2, 'widget-holder-2');`;\n\nexport const SECOND_DASHBOARD_HTML_CODE = `\n `;\n","export const INVENTORY_CONFIG = `const componentConfig = {\n \"inventoryItem\": \"%inventoryItem%\",\n \"theme\":\"%themeComposer%\",%componentsConfig%%ipOverrides%\n}`;\n\nexport const COMPONENTS_CONFIG = `\n \"components\": {%customizeActionButtons%%customizeSearchControllers%%customizeFilterButtons%%customizeInventoryTable%\n}`;\n\nexport const CUSTOMIZE_ACTION_BUTTONS = `\n \"actions\": {\n \"visible\": true,\n \"showDefaults\": true,\n\n \"order\": [\n \"import-dashboard\",\n \"add-new-dashboard\",\n \"custom\"\n ],\n \"visibility\": [\n \"import-dashboard\",\n \"add-new-dashboard\",\n \"custom\"\n ],\n \n \"definitions\": [\n {\n \"id\": \"custom\",\n \"label\": \"Custom Button\",\n \"intent\": \"primary\",\n \"onClick\": () => alert('Custom button clicked!')\n /*\n // link example\n \"onClick\": {\n \"type\": \"link\",\n \"href\": \"https://dashboards.company.com/create\",\n \"target\": \"_blank\"\n }\n */\n }\n ]\n },`;\n\nexport const CUSTOMIZE_SEARCH_CONTROLLERS = `\n \"search\": {\n \"visible\": true,\n \"defaultValue\": \"\",\n \"placeholder\": \"My Search\"\n },`;\n\nexport const CUSTOMIZE_FILTER_BUTTONS = `\n \"filters\":{\n \"visible\": true,\n \"showDefaults\": true,\n\n \"order\": [\n \"all\",\n \"favorites\",\n \"myitems\",\n \"shared\",\n \"custom\"\n ],\n \"visibility\": [\n \"all\",\n \"favorites\",\n \"myitems\",\n \"shared\",\n \"custom\"\n ],\n \n \"definitions\": [\n {\n \"id\": \"custom\",\n \"icon\": {\n \"src\": \"https://cdn-icons-png.flaticon.com/512/742/742751.png\"\n },\n \"label\": \"test\",\n \"htmlTitle\": \"htmlTitle\", // tooltip //\n \"predicate\": (item, idx, array) => {\n return item.favorite === true;\n } // function query\n }\n ]\n },`;\n\nexport const CUSTOM_CELL_RENDERER = `\n//Find more about how to customise this here:\n// https://www.ag-grid.com/javascript-data-grid/component-cell-renderer/#cell-component-function\nclass CustomCellRenderer {\n init(params) {\n this.eGui = document.createElement('div');\n this.eGui.style.color = params.color || ''; // Fallback color if params.color is undefined\n\n // Create a clickable link\n const link = document.createElement(params.element);\n link.textContent = params.textContent || params.data?.name || 'Unnamed';\n link.style.cursor = 'pointer';\n link.addEventListener('click', () => {\n if (params.onClick) {\n params.onClick(params.data);\n }\n });\n // Append the link to the main container\n this.eGui.appendChild(link);\n }\n\n getGui() {\n return this.eGui;\n }\n}\n`;\n\nexport const CUSTOMIZE_INVENTORY_TABLE = `\n \"table\": {\n \"defaultSort\": {\n \"colId\": \"name\", // [\"favorite\", \"name\", \"dataSource\", \"author\", \"dateModified\", \"permissions\", \"schedule\", \"actions\"]\n \"sortDirection\": \"asc\"\n },\n \n \"columns\": {\n \"showDefaults\": true,\n\n \"order\": [\n \"favorite\",\n \"nameColumn\",\n \"newColumn\",\n \"dataSource\",\n \"author\",\n \"dateModified\",\n \"permissions\",\n \"schedule\",\n \"actions\"\n ],\n \"visibility\": [\n \"favorite\",\n \"nameColumn\",\n \"newColumn\",\n \"dataSource\",\n \"author\",\n \"dateModified\",\n \"permissions\",\n \"schedule\",\n \"actions\"\n ],\n \n \n \"definitions\": [\n //For embedding dashboards using \"name\" column\n //Embed click handler\n {\n \"colId\": \"nameColumn\",\n \"field\": \"name\",\n \"headerName\": \"Name\",\n \"minWidth\" : 100,\n \"maxWidth\" : 100, \n \"sortable\": true,\n \"cellRendererParams\": { \n \"onClick\": {\n \"type\": \"embed\",\n \"parentElement\": \"#widget-holder\",\n },\n },\n \"cellRenderer\": CustomCellRenderer,\n },\n //For adding a new column\n //Function Click handler\n {\n \"colId\": \"newColumn\", //case on ID was wrong on docs\n \"field\": \"Custom\",\n \"headerName\": \"Custom\",\n \"minWidth\" : 100,\n \"maxWidth\" : 100, \n \"sortable\": true,\n \"comparator\": \"\", // function\n \"cellRendererParams\": { \n \"element\": \"p\",\n \"textContent\": \"ALERT\",\n \"onClick\": (data) => alert(\\`You clicked on \\${data.inventoryItemId} a custom column!\\`),\n \"color\": \"limegreen\",\n },\n \"cellRenderer\": CustomCellRenderer,\n },\n //For embedding dashboards using any other column\n //Embed Click handler\n {\n \"colId\": \"author\",// [\"favorite\", \"dataSource\", \"author\", \"dateModified\", \"permissions\", \"schedule\", \"actions\"]\n \"cellRendererParams\": {\n \"onClick\": {\n \"type\": \"embed\",\n \"parentElement\": \"#widget-holder\",\n \"componentParams\": {\n // optional component params\n }\n }\n }\n },\n //Link Click handler\n {\n \"colId\": \"dateModified\",// [\"favorite\", \"dataSource\", \"author\", \"dateModified\", \"permissions\", \"schedule\", \"actions\"]\n \"cellRendererParams\": {\n \"onClick\": {\n \"type\": \"link\",\n \"href\": \"www.dashboards/\\${inventoryItemId}\",\n \"target\": \"_blank\"\n }\n }\n }\n ]\n }\n },`;\n\nexport const CUSTOMIZE_ACTION_BUTTONS_HELPERS = `\nconst alertCell = () => alert('You clicked on a custom column!');\n\nconst closeEmbed = () => {\n document.getElementById('dashboard-holder').innerHTML = '';\n}\n`;\n\nexport const CUSTOMIZE_ACTION_BUTTONS_HTML_CODE = `\n \n \n`;\n\nexport const CUSTOMIZE_ACTION_BUTTONS_CSS_CODE = `\n.dashboard-holder:not(:empty) {\n position: relative;\n flex-grow: 1;\n}\n.close-btn {\n display: none;\n}\n.dashboard-holder:not(:empty)~.close-btn {\n display: block;\n}\n`;\n","export const SOURCE_EDITOR_COMPONENT_CONFIG = `const componentConfig = {\n //Enable source Id when you have access to paticular source.\n \"sourceId\": \"%sourceId%\",\n \"theme\": \"%themeComposer%\",\n \"activeTab\": \"%sourceEditorActiveTab%\",\n \"tabs\": {\n \"create\": {\n \"visible\": %showCreateTab%,\n \"connections\": {\n \"ids\": [\n \"60e5c61007e17767d072f6ca\",\n ],\n \"defaultId\": \"60e5c61007e17767d072f6ca\",\n }\n },\n \"fields\": {\n \"visible\": %showFieldsTab%,\n },\n \"caching\": {\n \"visible\": %showCacheTab%,\n },\n \"settings\": {\n \"visible\": %showSettingsTab%,\n },\n },\n \"header\": { \n \"showTitle\": %showTitle%,\n \"visible\": %showHeader%,\n },%breadcrumbs%%ipOverrides%\n}`;\n\nexport const SOURCE_EDITOR_EVENT_LISTENERS_CODE = `\n\n // START: Event Listeners\n // When the event is triggered in this example, a message pop-up\n // launches. Please read the Documentation Helper for a description\n // of other available event listeners.\n component.addEventListener(\"composer-source-editor-ready\", (e) => {\n alert(\"Source Editor has been loaded !!!\");\n });\n /* END: Event Listeners */`;\n","export const DASHBOARD_IP_OVERRIDES_SETTING = `\n // START: Interactivity profile overrides\n // The interactiveProfileName property must be specified before\n // the interactivity overrides (interactivityOverrides object)\n // can work. The interactivityOverrides object properties affect \n // the current embedded dashboard properties. The visualSettings \n // object properties affect all visuals properties. Please read the\n // Documentation Helper for more properties that can be overridden.\n \"interactivityOverrides\": {\n \"name\": \"interactive\",\n \"type\": \"SYSTEM\",\n \"overrideVisualInteractivity\": true,\n \"settings\": {\n \"REFRESH\": %refresh%,\n \"CHANGE_LAYOUT\": %changeLayout%,\n \"RENAME\": %rename%,\n \"SHARE_FILTER_SETS\": %shareFilterSets%,\n \"DASHBOARD_INTERACTIONS\": %dashboardInteractions%,\n \"ADD_TO_FAVORITES\": %addToFavourites%,\n \"DELETE\": %delete%,\n \"FILTER\": %filter%,\n \"EXPORT_PNG_PDF\": %exportPngPdf%,\n \"ADD_VISUALS\": %addVisuals%,\n \"EXPORT_CONFIGURATION\": %exportConfiguration%,\n \"DASHBOARD_LINKS\": %dashboardLinks%,\n \"SAVE\": %save%,\n \"MANAGE_TAGS\": %manageTags%,\n \"DASHBOARD_ALERTS\": %manageAlerts%,\n \"SHARE_DASHBOARD\": %shareDashboard%,\n \"SCHEDULE_REPORTS\": %scheduleReports%,\n \"CREATE_TEXT_SNIPPETS\": %textSnippet%,\n \"CREATE_FILTER_SNIPPETS\": %filterSnippet%,\n \"WIDGET_SETTINGS\": %widgetSettings%,\n \"COMMENTS\": %comments%\n },\n \"visualSettings\": {\n \"ACTIONS_ACTION\": %actionsAction%,\n \"RULERS\": %rulers%,\n \"ZOOM_ACTION\": %zoomAction%,\n \"FILTER_ACTION\": %filterAction%,\n \"COLORS\": %colors%,\n \"METRICS\": %metrics%,\n \"ACTIONS\": %actions%,\n \"TREND_ACTION\": %trendAction%,\n \"VISUAL_STYLE\": %visualStyle%,\n \"KEYSET_ACTION\": %keysetAction%,\n \"KEYSET\": %keyset%,\n \"COPY\": %copy%,\n \"SETTINGS\": %settings%,\n \"EXPORT\": %export%,\n \"TIMEBAR_PANEL\": %timebarPanel%,\n \"DETAILS_ACTION\": %detailsAction%,\n \"MAXIMIZE\": %maximize%,\n \"LINK_ACTION\": %linkAction%,\n \"FILTER\": %filter%,\n \"REMOVE\": %remove%,\n \"GROUPING\": %grouping%,\n \"RENAME\": %rename%,\n \"SORT\": %sort%,\n \"TIMEBAR_FIELD\": %timebarField%,\n \"SAVE_AS\": %saveAs%,\n \"CONDITIONAL_FORMATTING\": %conditionalFormatting%,\n \"INFO\": %info%\n }\n },\n /* END: interactivity profile overrides */`;\n\nexport const VISUAL_BUILDER_IP_OVERRIDES_SETTING = `\n // START: Interactivity profile overrides\n // The interactiveProfileName property must be specified before\n // the interactivity overrides (interactivityOverrides object)\n // can work. The interactivityOverrides object properties affect \n // the current embedded visual properties. The visualSettings \n // object properties affect all visuals properties. Please read the\n // Documentation Helper for more properties that can be overridden.\n \"interactivityOverrides\": {\n \"visualSettings\": {\n \"ACTIONS_ACTION\": %actionsAction%,\n \"RULERS\": %rulers%,\n \"ZOOM_ACTION\": %zoomAction%,\n \"FILTER_ACTION\": %filterAction%,\n \"COLORS\": %colors%,\n \"METRICS\": %metrics%,\n \"ACTIONS\": %actions%,\n \"TREND_ACTION\": %trendAction%,\n \"VISUAL_STYLE\": %visualStyle%,\n \"KEYSET_ACTION\": %keysetAction%,\n \"KEYSET\": %keyset%,\n \"COPY\": %copy%,\n \"SETTINGS\": %settings%,\n \"EXPORT\": %export%,\n \"TIMEBAR_PANEL\": %timebarPanel%,\n \"DETAILS_ACTION\": %detailsAction%,\n \"MAXIMIZE\": %maximize%,\n \"LINK_ACTION\": %linkAction%,\n \"FILTER\": %filter%,\n \"REMOVE\": %remove%,\n \"GROUPING\": %grouping%,\n \"RENAME\": %rename%,\n \"SORT\": %sort%,\n \"TIMEBAR_FIELD\": %timebarField%,\n \"MANAGE_TAGS\": %manageTags%,\n \"SAVE\": %save%,\n \"CONDITIONAL_FORMATTING\": %conditionalFormatting%,\n \"INFO\": %info%\n }\n },\n /* END: interactivity profile overrides */`;\n\nexport const DASHBOARD_BUILDER_IP_OVERRIDES_SETTING = `\n // START: Interactivity profile overrides\n // The interactiveProfileName property must be specified before\n // the interactivity overrides (interactivityOverrides object)\n // can work. The interactivityOverrides object properties affect \n // the current embedded visual properties. The visualSettings \n // object properties affect all visuals properties. Please read the\n // Documentation Helper for more properties that can be overridden.\n \"interactivityOverrides\": {\n \"name\": \"interactive\",\n \"type\": \"SYSTEM\",\n \"overrideVisualInteractivity\": true,\n \"settings\": {\n \"REFRESH\": %refresh%,\n \"CHANGE_LAYOUT\": %changeLayout%,\n \"RENAME\": %rename%,\n \"SHARE_FILTER_SETS\": %shareFilterSets%,\n \"DASHBOARD_INTERACTIONS\": %dashboardInteractions%,\n \"ADD_TO_FAVORITES\": %addToFavourites%,\n \"DELETE\": %delete%,\n \"FILTER\": %filter%,\n \"EXPORT_PNG_PDF\": %exportPngPdf%,\n \"ADD_VISUALS\": %addVisuals%,\n \"EXPORT_CONFIGURATION\": %exportConfiguration%,\n \"DASHBOARD_LINKS\": %dashboardLinks%,\n \"SAVE\": %save%,\n \"MANAGE_TAGS\": %manageTags%,\n \"DASHBOARD_ALERTS\": %manageAlerts%,\n \"SHARE_DASHBOARD\": %shareDashboard%,\n \"SCHEDULE_REPORTS\": %scheduleReports%,\n \"CREATE_TEXT_SNIPPETS\": %textSnippet%,\n \"CREATE_FILTER_SNIPPETS\": %filterSnippet%,\n \"WIDGET_SETTINGS\": %widgetSettings%,\n \"COMMENTS\": %comments%\n },\n \"visualSettings\": {\n \"ACTIONS_ACTION\": %actionsAction%,\n \"RULERS\": %rulers%,\n \"ZOOM_ACTION\": %zoomAction%,\n \"FILTER_ACTION\": %filterAction%,\n \"COLORS\": %colors%,\n \"METRICS\": %metrics%,\n \"ACTIONS\": %actions%,\n \"TREND_ACTION\": %trendAction%,\n \"VISUAL_STYLE\": %visualStyle%,\n \"KEYSET_ACTION\": %keysetAction%,\n \"KEYSET\": %keyset%,\n \"COPY\": %copy%,\n \"SETTINGS\": %settings%,\n \"EXPORT\": %export%,\n \"TIMEBAR_PANEL\": %timebarPanel%,\n \"DETAILS_ACTION\": %detailsAction%,\n \"MAXIMIZE\": %maximize%,\n \"LINK_ACTION\": %linkAction%,\n \"FILTER\": %filter%,\n \"REMOVE\": %remove%,\n \"GROUPING\": %grouping%,\n \"RENAME\": %rename%,\n \"SORT\": %sort%,\n \"TIMEBAR_FIELD\": %timebarField%,\n \"SAVE\": %save%,\n \"SAVE_AS\": %saveAs%,\n \"CONDITIONAL_FORMATTING\": %conditionalFormatting%,\n \"INFO\": %info%\n }\n },\n /* END: interactivity profile overrides */`;\n\nexport const getInventoryIpOverridesSetting = (inventoryItem) => {\n return `\n // START: Interactivity profile overrides\n // The interactiveProfileName property must be specified before\n // the interactivity overrides (interactivityOverrides object)\n // can work. The interactivityOverrides object properties affect \n // the current embedded visual properties. The visualSettings \n // object properties affect all visuals properties. Please read the\n // Documentation Helper for more properties that can be overridden.\n \"interactivityOverrides\": {\n \"name\": \"interactive\",\n \"type\": \"SYSTEM\",\n \"overrideVisualInteractivity\": true,\n \"settings\": {\n \"DELETE\": %delete%,\n \"FILTER\": %filter%,\n \"IMPORT\": %import%,\n \"ADD_NEW\": %addNew%,\n \"PERMISSIONS\": %permissions%,\n \"MULTI_SELECTION\": %multiSelect%,\n \"EXPORT\": %export%,\n \"FAVORITES\": %favorites%,\n \"DESCRIPTION\": %description%,\n \"TAGS\": %tags%,\n ${\n inventoryItem === 'dashboard'\n ? `\"SCHEDULE\": %schedule%,\n \"SHARE\": %share%,`\n : inventoryItem === 'source'\n ? `\"ROW_SECURITY\": %rowSecurity%,\n \"COLUMN_SECURITY\": %columnSecurity%,\n \"CLEAR_CACHE\": %clearCache%,\n \"AVAILABLE_VISUAL_TYPES\": %availableVisualTypes%,`\n : ''\n }\n }\n },\n /* END: interactivity profile overrides */`;\n};\n\nexport const SOURCE_EDITOR_IP_OVERRIDES_SETTING = `\n // START: Source Editor profile overrides\n // The interactiveProfileName property must be specified before\n // the interactivity overrides (interactivityOverrides object)\n // can work. The interactivityOverrides object properties affect \n // the current embedded visual properties. The visualSettings \n // object properties affect all source editor properties. Please read the\n // Documentation Helper for more properties that can be overridden.\n \"interactivityOverrides\": {\n \"create\": {\n \"ADD_FROM_CONNECTION\": %addFromConnection%,\n \"ADD_FROM_FILE_UPLOAD\": %addFromFileUpload%,\n \"SELECT_FILE_UPLOAD\": %selectFileUpload%,\n \"UPLOAD_NEW_FILE\": %uploadnewFile%,\n \"CREATE_JOINS\": %createJoins%,\n \"FILTER_VALUES_ENTITIES\": %filterValuesEntities%,\n \"EXPORT\": %exportSource%,\n \"TAGS\": %tags%,\n \"COPY_SOURCE\": %copySource%\n },\n \"fields\": {\n \"ADD_DERIVED_FIELD\": %addDerivedField%,\n \"ADD_HIERARCHY_FIELD\": %addHierarchyField%,\n \"ADD_CUSTOM_METRIC\": %addCustomMetric%,\n \"VISIBILITY\": %visibility%,\n \"SETTINGS\": %settings%,\n \"DELETE\": %delete%,\n \"FIELD_CAPABILITIES\": %fieldCapabilities%,\n \"FILTER_VALUES_OVERRIDES\": %filterValueOverrides%,\n \"MANAGE_TRANSLATIONS\": %manageTranslations%,\n \"SET_UNIQUE_KEY\": %setUniqueKey%\n },\n \"caching\": {\n \"DATA_CACHE\": %dataCache%,\n \"STATISTICS_CACHE\": %statisticsCache%,\n \"SCHEDULE_REFRESH\": %scheduleRefresh%,\n \"FIELDS_SETTINGS\": %fieldSettings%\n }\n },\n /* END: interactivity profile overrides */`;\n","export const INVENTORY_EVENT_LISTENERS_CODE = `\n\n // START: Event Listeners\n // When the event is triggered in this example, a message pop-up\n // launches. Please read the Documentation Helper for a description\n // of other available event listeners.\n component.addEventListener(\"composer-inventory-loaded\", (e) => {\n alert(\"Inventory has been loaded !!!\");\n });\n /* END: Event Listeners */`;\n\nexport const INVENTORY_EVENT_LISTENERS_READY_CODE = `\n\n // START: Event Listeners\n // When the event is triggered in this example, a message pop-up\n // launches. Please read the Documentation Helper for a description\n // of other available event listeners.\n component.addEventListener(\"composer-inventory-ready\", (e) => {\n alert(\"Inventory is ready !!!\");\n });\n /* END: Event Listeners */`;\n\nexport const INVENTORY_EVENT_LISTENERS_FAIL_CODE = `\n\n // START: Event Listeners\n // When the event is triggered in this example, a message pop-up\n // launches. Please read the Documentation Helper for a description\n // of other available event listeners.\n component.addEventListener(\"composer-inventory-failed\", (e) => {\n alert(\"Inventory failed !!!\");\n });\n /* END: Event Listeners */`;\n\nexport const INVENTORY_EVENT_LISTENERS_DELETE_CODE = `\n\n // START: Event Listeners\n // When the event is triggered in this example, a message pop-up\n // launches. Please read the Documentation Helper for a description\n // of other available event listeners.\n component.addEventListener(\"composer-inventory-item-deleted\", (e) => {\n alert(\"Inventory deleted !!!\");\n });\n /* END: Event Listeners */`;\n","export const PUB_SUB_COMMON_CODE = `\n // START: PUB/SUB COMMON SECTION\n // An embedding application should listen for the 'composer-dashboard-ready' event \n // BEFORE attempting to publish or subscribe to cross-visual filters. The code below\n // should be specified at the beginning of both publish and subscribe Javascript code.\n const DASHBOARD_READY_EVENT = 'composer-dashboard-ready';\n const pubSubReady = new Promise((resolve) => {\n const resolvePubSubReady = (message, publisherId) => {\n resolve();\n document.removeEventListener(DASHBOARD_READY_EVENT, resolvePubSubReady);\n }\n document.addEventListener(DASHBOARD_READY_EVENT, resolvePubSubReady);\n });\n /* END: Pub/Sub common section */\n`;\n\nexport const SUBSCRIBE_JS_CODE = `\n\n // START: Subscribe to Cross-Visual Filters\n // The following example shows how to subscribe to a link name\n // defined in the dashboard and receive the latest value published.\n // The link name in this example is \"Country\". When a user selects\n // one or more countries from the list widget, a message publishes the values.\n const subscriptionHandler = (message, publisherId) => {\n const value = message === null ? null : message.ranges[0].value;\n const selectedLabel = document.createElement('label');\n selectedLabel.innerText = value === null ? 'Selected Country(s): NONE' : 'Selected Country(s):';\n const countryDiv = document.getElementById('country-container');\n countryDiv.innerText = '';\n countryDiv.appendChild(selectedLabel);\n if (value) {\n value.forEach((country) => {\n const img = document.createElement('img');\n const imgSrc = \\`images/flags/\\${country}.svg\\`;\n let errorHandled = false; \n img.onerror = () => {\n if (!errorHandled) {\n img.src = 'images/flags/default.svg';\n errorHandled = true;\n }\n };\n img.src = imgSrc;\n const countryName = document.createElement('h2');\n countryName.innerText = \\`\\${country}\\`;\n countryDiv.appendChild(img);\n countryDiv.appendChild(countryName);\n });\n } \n }\n\n let unsubscribe;\n pubSubReady.then(() => embedManagerPromise).then((embedManager) => {\n unsubscribe = embedManager.subscribe('Country', subscriptionHandler);\n });\n /* END: Subscribe to Cross-Visual Filters */`;\n\nexport const PUBLISH_JS_CODE = `\n\n /* START: Publish to Cross-Visual Filters */\n \n // The following code represents the From and To date pickers on the\n // embedding application's page that allow users to filter the data by\n // a date range. The BETWEEN operator is used for the link name \n // defined in the dashboard called 'LaunchedDate'. Note that the first part of \n // this code converts the date-time data to the format expected by Composer.\n const dateFromInput = document.getElementById('date-from');\n \tconst dateToInput = document.getElementById('date-to');\n \n const formatDate = (date) => {\n const d = new Date(date);\n\t\t\tconst year = \\`\\${d.getFullYear()}\\`;\n let month = \\`\\${d.getMonth() + 1}\\`;\n\t\t\tlet day = \\`\\${d.getDate()}\\`;\n\n if (month.length < 2) {\n month = \\`0\\${month}\\`;\n }\n if (day.length < 2) {\n day = \\`0\\${day}\\`;\n }\n\n return \\`\\${year}-\\${month}-\\${day}\\`;\n }\n \n const getEndOfDayString = dateString => \\`\\${dateString} 23:59:59.999\\`;\n const getStartOfDayString = dateString => \\`\\${dateString} 00:00:00.000\\`;\n \n \tconst dateInputChangeHandler = (event) => {\n \tconst dateFromInputValue = dateFromInput.value;\n \tconst dateToInputValue = dateToInput.value;\n \n const dateFrom = dateFromInputValue ? new Date(dateFromInput.value) : null;\n const dateTo = dateToInputValue ? new Date(dateToInput.value) : null;\n \n \tconst dateFromString = dateFrom ? formatDate(dateFrom) : null;\n \tconst dateToString = dateTo ? formatDate(dateTo) : null;\n \n \tconst dateTimeFromString = dateFromString ? getEndOfDayString(dateFromString) : null;\n const dateTimeToString = dateToString ? getStartOfDayString(dateToString) : null;\n \n \tlet operation = 'BETWEEN';\n\t\t\tlet value = [dateTimeFromString, dateTimeToString];\n \n \tif (!dateTimeFromString) {\n operation = 'LT';\n value = dateTimeToString;\n }\n \n \tif (!dateTimeToString) {\n operation = 'GT';\n value = dateTimeFromString;\n }\n \n \tlet publishObject = {\n type: 'selection',\n valueType: 'TIME',\n ranges: [\n {\n operation: operation, \n value: value\n }\n ]\n }\n \n \tif (!dateTimeFromString && !dateTimeToString) {\n \tpublishObject = null;\n\t\t\t}\n \n pubSubReady.then(() => embedManager.publish('LaunchedDate', publishObject));\n }\n \n dateFromInput.addEventListener('change', dateInputChangeHandler);\n dateToInput.addEventListener('change', dateInputChangeHandler);\n\n // This represents a drop-down on the embedding application's page that\n\t\t// lists a set of countries the user can filter by. After selecting a value,\n\t\t// the embedding application calls its 'publishValue' function, defined\n\t\t// below with the link name \"Country\" and the selected country value.\n // The \"Country\" link name is defined in the dashboard. To clear the value \n // filter, make sure that you pass a null value as shown below\n const fieldSelect = document.getElementById('field-select');\n fieldSelect.addEventListener('change', (event) => {\n const value = event.target.value;\n const publishObject = value !== 'null' ? {\n type: 'selection',\n valueType: 'ATTRIBUTE',\n ranges: [\n {\n operation: 'IN', \n value: [value]\n }\n ]\n } : null;\n pubSubReady.then(() => embedManager.publish('Country', publishObject));\n });\n /* END: Publish to Cross-Visual Filters */`;\n\nexport const PUBLISH_HTML_CODE = `\n\n \n
\n \n \n\n \n \n\n \n \n
\n \n `;\n\nexport const SUBSCRIBE_HTML_CODE = `\n \n
\n \n
\n \n `;\n\nexport const PUBLISH_STYLES = `\n.publish-container {\n background: #1e2556;\n color:#ffffff;\n display: flex;\n align-items: center;\n gap: 4px;\n height: 26px;\n padding: 10px;\n font-family: 'Source Sans Pro';\n}`;\n\nexport const SUBSCRIBE_STYLES = `\n.publish-container {\n background: #1e2556;\n color:#ffffff;\n display: flex;\n align-items: center;\n gap: 4px;\n height: 50px;\n padding: 15px;\n font-family: 'Source Sans Pro';\n white-space: nowrap;\n overflow-x: scroll;\n overflow-y: clip;\n}\nimg {\n clip-path: circle();\n height: 28px;\n}\n`;\n\nexport const PUB_SUB_TOGGLE_STYLE = `\n#country-container {\n white-space: nowrap;\n overflow-x: scroll;\n overflow-y: clip;\n background-color: #46b359;\n height: 40px;\n}\nimg {\n clip-path: circle();\n height: 28px;\n}\n`;\n","import { createSelector } from 'reselect';\nimport {\n COMMON_EMBED_HTML_CODE,\n COMMON_EMBED_JS_CODE,\n COMMON_EMBED_CSS_CODE,\n} from 'src/shared/constants/liveCodeScripts/commonCode';\nimport { applySettingsToCssCode, applySettingsToHtmlCode, applySettingsToJsCode } from '../utils/codeBuilderHelpers';\nexport const getPreviewSettings = (state) => state.embed.previewSettings;\nconst getIsCodeTouched = (state) => state.embed.isCodeTouched;\nexport const getEmbedComponentType = (state) => state.embed.embedComponentType;\nconst jsCode = (state) => state.embed.code.js;\nconst cssCode = (state) => state.embed.code.css;\nconst htmlCode = (state) => state.embed.code.html;\nconst isCodeRun = (state) => state.embed.isCodeRun;\nexport const isEmbedReady = (state) => state.embed.isReady;\nexport const getDashboardList = (state) => state.embed.dashboardList;\nexport const getReportList = (state) => state.embed.reportList;\nexport const getScorecardList = (state) => state.embed.scorecardList;\nexport const getThemesList = (state) => state.embed.themesList;\nexport const getMetricSetList = (state) => state.embed.metricSetList;\nexport const getEmbedDashboardId = (state) => state.embed.dashboardId;\nexport const getEmbedOriginId = (state) => state.embed.originId;\nexport const getDefaultUserSessionId = (state) => state.embed.defaultUserSessionId;\nexport const getPlaygroundUser = (state) => state.playgroundUser.user;\nexport const getDashboardListComposer = (state) => state.embed.dashboardListComposer;\nexport const getFirstDashboardId = (state) =>\n state.embed.dashboardListComposer && state.embed.dashboardListComposer.length\n ? state.embed.dashboardListComposer[1].id\n : undefined;\nexport const getEmbedSourceId = (state) => state.embed.sourceId;\nexport const getSourceList = (state) => state.embed.sourceList;\nexport const getSidebarExpanded = (state) => state.embed.sidebarExpanded;\nexport const getJsCode = createSelector(\n [\n getPreviewSettings,\n getEmbedComponentType,\n getIsCodeTouched,\n isCodeRun,\n jsCode,\n getEmbedDashboardId,\n getEmbedOriginId,\n getFirstDashboardId,\n getEmbedSourceId,\n getDefaultUserSessionId,\n ],\n (\n previewSettings,\n embedComponentType,\n isCodeTouched,\n isCodeRun,\n jsCode,\n embedDashboardId,\n embedOriginId,\n firstDashboardId,\n sourceId,\n defaultUserSessionId\n ) => {\n return isCodeTouched && isCodeRun\n ? jsCode\n : applySettingsToJsCode(\n COMMON_EMBED_JS_CODE,\n previewSettings,\n embedComponentType,\n embedDashboardId,\n embedOriginId,\n firstDashboardId,\n sourceId,\n defaultUserSessionId\n );\n }\n);\n\nexport const getHtmlCode = createSelector(\n [getPreviewSettings, getIsCodeTouched, isCodeRun, htmlCode, getEmbedComponentType],\n (previewSettings, isCodeTouched, isCodeRun, htmlCode, embedComponentType) => {\n return isCodeTouched && isCodeRun\n ? htmlCode\n : applySettingsToHtmlCode(COMMON_EMBED_HTML_CODE, previewSettings, embedComponentType);\n }\n);\n\nexport const getCssCode = createSelector(\n [getPreviewSettings, getIsCodeTouched, isCodeRun, cssCode, getEmbedComponentType],\n (previewSettings, isCodeTouched, isCodeRun, cssCode, embedComponentType) => {\n return isCodeTouched && isCodeRun\n ? cssCode\n : applySettingsToCssCode(COMMON_EMBED_CSS_CODE, previewSettings, embedComponentType);\n }\n);\n","export const DEFAULT_SETTINGS = {\n ViewType: 'dashboard',\n theme: '',\n dashboardId: '',\n reportId: '',\n scorecardId: '',\n metricSetId: '',\n toolbarHidden: false,\n toolbarAddMetricsSetHidden: false,\n toolbarAddDashboardHidden: false,\n toolbarAddReportHidden: false,\n dockablesHidden: false,\n openExistingHidden: false,\n\n themeComposer: '__platform__',\n ip: 'interactive',\n editorPlacement: 'modals',\n visualEditorPlacement: 'dockRight',\n inventoryItem: 'dashboard',\n showTitle: false,\n dashboardShowTitle: false,\n embedInLiteMode: false,\n doubleDashboards: false,\n visualShowTitle: false,\n breadcrumbs: false,\n showActions: false,\n showHeader: false,\n dashboardIpOverrides: false,\n dashboardBuilderIpOverrides: false,\n inventoryIpOverrides: false,\n visualIpOverrides: false,\n listDashboards: false,\n listVisuals: false,\n crossVisualFiltersPublish: false,\n crossVisualFiltersSubscribe: false,\n dashboardEventListeners: false,\n dbEventListener: false,\n dashboardReadyEventListener: false,\n dashboardDeleteEventListener: false,\n dashboardLoadFailEventListener: false,\n dashboardSaveEventListener: false,\n dashboardVisualAddEventListener: false,\n dashboardVisualRemoveEventListener: false,\n dashboardBuilderReadyEventListener: false,\n dashboardBuilderChangedEventListener: false,\n dashboardBuilderDeleteEventListener: false,\n dashboardBuilderLoadFailEventListener: false,\n dashboardBuilderSaveEventListener: false,\n dashboardBuilderVisualAddEventListener: false,\n dashboardBuilderVisualRemoveEventListener: false,\n visualLoadFailEventListener: false,\n visualRenderEventListener: false,\n visualSaveEventListener: false,\n dashboardBuilderVisualLoadEventListener: false,\n dashboardBuilderVisualLoadFailEventListener: false,\n dashboardBuilderVisualRenderEventListener: false,\n dashboardBuilderVisualSaveEventListener: false,\n dashboardChangedEventListener: false,\n visualLoadEventListener: false,\n documentFailed: false,\n dashboardBuilderDocumentFailed: false,\n dashboardBuilderUnauthorized: false,\n unauthorized: false,\n visualBuilderChange: false,\n visualBuilderFail: false,\n visualBuilderLoad: false,\n visualBuilderReady: false,\n dbVisualBuilderChange: false,\n dbVisualBuilderFail: false,\n dbVisualBuilderLoad: false,\n dbVisualBuilderReady: false,\n inventoryEventListeners: false,\n inventoryReadyEventListener: false,\n inventoryFailEventListener: false,\n inventoryDeleteEventListener: false,\n dashboardBuilderEventListeners: false,\n visualEventListener: false,\n vbVisualLoadEventListener: false,\n vbVisualLoadFailEventListener: false,\n vbVisualRenderEventListener: false,\n vbVisualSaveEventListener: false,\n vbVisualBuilderChange: false,\n vbVisualBuilderFail: false,\n vbVisualBuilderReady: false,\n customizeActionButtons: false,\n customizeSearchControllers: false,\n customizeFilterButtons: false,\n customizeInventoryTable: false,\n sourceEditorActiveTab: 'create',\n showCreateTab: true,\n showFieldsTab: true,\n showCacheTab: true,\n showSettingsTab: true,\n sourceEditorEventListeners: false,\n sourceEditorIpOverrides: false,\n};\n\nexport const DEFAULT_INTERACTIVE_SETTINGS = {\n refresh: true,\n changeLayout: true,\n rename: true,\n shareFilterSets: true,\n dashboardInteractions: true,\n addToFavourites: true,\n delete: true,\n filter: true,\n manageTags: true,\n manageAlerts: true,\n shareDashboard: true,\n scheduleReports: true,\n widgetSettings: true,\n textSnippet: true,\n filterSnippet: true,\n comments: true,\n exportPngPdf: true,\n addVisuals: true,\n exportConfiguration: true,\n dashboardLinks: true,\n save: true,\n actionsAction: true,\n rulers: true,\n zoomAction: true,\n filterAction: true,\n colors: true,\n metrics: true,\n actions: true,\n trendAction: true,\n visualStyle: true,\n keysetAction: true,\n keyset: true,\n copy: true,\n settings: true,\n export: true,\n timebarPanel: true,\n detailsAction: true,\n maximize: true,\n linkAction: true,\n remove: true,\n grouping: true,\n sort: true,\n timebarField: true,\n saveAs: true,\n conditionalFormatting: true,\n info: true,\n addNew: true,\n import: true,\n permissions: true,\n multiSelect: true,\n description: true,\n tags: true,\n share: true,\n rowSecurity: true,\n columnSecurity: true,\n clearCache: true,\n availableVisualTypes: true,\n schedule: true,\n favorites: true,\n addFromConnection: true,\n addFromFileUpload: true,\n selectFileUpload: true,\n uploadnewFile: true,\n createJoins: true,\n filterValuesEntities: true,\n exportSource: true,\n copySource: true,\n addDerivedField: true,\n addHierarchyField: true,\n addCustomMetric: true,\n visibility: true,\n fieldCapabilities: true,\n filterValueOverrides: true,\n manageTranslations: true,\n setUniqueKey: true,\n dataCache: true,\n scheduleRefresh: true,\n statisticsCache: true,\n fieldSettings: true,\n};\n\nexport const DEFAULT_READONLY_SETTINGS = {\n refresh: false,\n changeLayout: false,\n rename: false,\n shareFilterSets: false,\n dashboardInteractions: false,\n addToFavourites: false,\n delete: false,\n filter: false,\n manageTags: false,\n manageAlerts: false,\n shareDashboard: false,\n scheduleReports: false,\n widgetSettings: false,\n textSnippet: false,\n filterSnippet: false,\n comments: false,\n exportPngPdf: false,\n addVisuals: false,\n exportConfiguration: false,\n dashboardLinks: false,\n save: false,\n actionsAction: false,\n rulers: false,\n zoomAction: false,\n filterAction: false,\n colors: false,\n metrics: false,\n actions: false,\n trendAction: false,\n visualStyle: false,\n keysetAction: false,\n keyset: false,\n copy: false,\n settings: false,\n export: false,\n timebarPanel: false,\n detailsAction: false,\n maximize: false,\n linkAction: false,\n remove: false,\n grouping: false,\n sort: false,\n timebarField: false,\n saveAs: false,\n conditionalFormatting: false,\n info: false,\n addNew: false,\n import: false,\n permissions: false,\n multiSelect: false,\n description: false,\n tags: false,\n share: false,\n rowSecurity: false,\n columnSecurity: false,\n clearCache: false,\n availableVisualTypes: false,\n schedule: false,\n favorites: false,\n};\n","import {\n DEFAULT_INTERACTIVE_SETTINGS,\n DEFAULT_READONLY_SETTINGS,\n DEFAULT_SETTINGS,\n} from 'src/shared/constants/defaultEmbedSettings';\n\nexport const getDefaultSettings = (interactivityProfileName, embedComponentType) =>\n interactivityProfileName !== 'interactive' && embedComponentType === 'dashboard'\n ? { ...DEFAULT_SETTINGS, ...DEFAULT_READONLY_SETTINGS }\n : { ...DEFAULT_SETTINGS, ...DEFAULT_INTERACTIVE_SETTINGS };\n","import { createSlice } from '@reduxjs/toolkit';\nimport {\n COMMON_EMBED_HTML_CODE,\n COMMON_EMBED_JS_CODE,\n COMMON_EMBED_CSS_CODE,\n} from 'src/shared/constants/liveCodeScripts/commonCode';\nimport {\n applySettingsToJsCode,\n applySettingsToHtmlCode,\n applySettingsToCssCode,\n} from 'src/shared/utils/codeBuilderHelpers';\nimport { EMBED_COMPONENT_TYPES, NAME_OF_DEFAULT_DASHBOARD } from '../constants/embedComponentTypes';\nimport { getDefaultSettings } from 'src/helpers/embedOptionHelpers';\nimport { getFirstDashboardId } from './embedSelectors';\nconst initialState = {\n embedComponentType: null,\n dashboardId: null,\n originId: null,\n code: {\n html: applySettingsToHtmlCode(\n COMMON_EMBED_HTML_CODE,\n getDefaultSettings('interactive', EMBED_COMPONENT_TYPES.dashboard)\n ),\n js: applySettingsToJsCode(\n COMMON_EMBED_JS_CODE,\n getDefaultSettings('interactive', EMBED_COMPONENT_TYPES.dashboard),\n EMBED_COMPONENT_TYPES.dashboard\n ),\n css: applySettingsToCssCode(\n COMMON_EMBED_CSS_CODE,\n getDefaultSettings('interactive', EMBED_COMPONENT_TYPES.dashboard)\n ),\n },\n editorCode: {\n html: '',\n js: '',\n css: '',\n md: '',\n },\n settings: getDefaultSettings('interactive', EMBED_COMPONENT_TYPES.dashboard),\n previewSettings: getDefaultSettings('interactive', EMBED_COMPONENT_TYPES.dashboard),\n isCodeTouched: false,\n isCodeRun: false,\n isReady: false,\n dashboardListComposer: [],\n sourceList: [],\n dashboardList: [],\n reportList: [],\n scorecardList: [],\n metricSetList: [],\n themesList: [],\n defaultUserSessionId: null,\n sidebarExpanded: false,\n};\n\nexport const dashboardAuthoringSlice = createSlice({\n name: 'embed',\n initialState,\n reducers: {\n setHtml(state, action) {\n state.code.html = action.payload;\n },\n setJs(state, action) {\n state.code.js = action.payload;\n },\n setCss(state, action) {\n state.code.css = action.payload;\n },\n setEditorHtml(state, action) {\n state.editorCode.html = action.payload;\n },\n setEditorJs(state, action) {\n state.editorCode.js = action.payload;\n },\n setEditorMd(state, action) {\n state.editorCode.md = action.payload;\n },\n setEditorCss(state, action) {\n state.editorCode.css = action.payload;\n },\n setIsCodeTouched(state, action) {\n state.isCodeTouched = action.payload;\n },\n setIsCodeRun(state, action) {\n state.isCodeRun = action.payload;\n },\n setEmbedSetting(state, { payload }) {\n state.settings[payload.name] = payload.value;\n },\n setEmbedComponentType(state, { payload }) {\n state.embedComponentType = payload;\n const code = {\n html: applySettingsToHtmlCode(COMMON_EMBED_HTML_CODE, state.settings),\n js: applySettingsToJsCode(\n COMMON_EMBED_JS_CODE,\n state.settings,\n state.embedComponentType,\n state.dashboardId,\n state.originId,\n getFirstDashboardId({ embed: state })\n ),\n css: applySettingsToCssCode(COMMON_EMBED_CSS_CODE, state.settings),\n };\n state.editorCode = code;\n state.code = code;\n },\n setEmbedDashboardId(state, { payload }) {\n state.dashboardId = payload;\n const code = {\n html: applySettingsToHtmlCode(COMMON_EMBED_HTML_CODE, state.settings),\n js: applySettingsToJsCode(\n COMMON_EMBED_JS_CODE,\n state.settings,\n state.embedComponentType,\n state.dashboardId,\n state.originId,\n getFirstDashboardId({ embed: state })\n ),\n css: applySettingsToCssCode(COMMON_EMBED_CSS_CODE, state.settings),\n };\n state.editorCode = code;\n state.code = code;\n },\n setEmbedDundasDefaultIds(state, { payload }) {\n state.settings.dashboardId = payload.dashboardId;\n state.settings.reportId = payload.reportId;\n state.settings.scorecardId = payload.scorecardId;\n state.settings.metricSetId = payload.metricSetId;\n const code = {\n html: applySettingsToHtmlCode(COMMON_EMBED_HTML_CODE, state.settings),\n js: applySettingsToJsCode(COMMON_EMBED_JS_CODE, state.settings, state.embedComponentType),\n css: applySettingsToCssCode(COMMON_EMBED_CSS_CODE, state.settings),\n };\n state.editorCode = code;\n state.code = code;\n },\n setEmbedOriginId(state, { payload }) {\n state.originId = payload;\n const code = {\n html: applySettingsToHtmlCode(COMMON_EMBED_HTML_CODE, state.settings),\n js: applySettingsToJsCode(\n COMMON_EMBED_JS_CODE,\n state.settings,\n state.embedComponentType,\n state.dashboardId,\n state.originId,\n getFirstDashboardId({ embed: state })\n ),\n css: applySettingsToCssCode(COMMON_EMBED_CSS_CODE, state.settings),\n };\n state.editorCode = code;\n state.code = code;\n },\n synchronizePreviewSettings(state) {\n state.previewSettings = state.settings;\n },\n setEmbedSettings(state, { payload }) {\n const updatedSettings = { ...state.settings, ...payload };\n state.settings = updatedSettings;\n const code = {\n html: applySettingsToHtmlCode(COMMON_EMBED_HTML_CODE, updatedSettings),\n js: applySettingsToJsCode(\n COMMON_EMBED_JS_CODE,\n updatedSettings,\n state.embedComponentType,\n state.dashboardId,\n state.originId,\n getFirstDashboardId({ embed: state })\n ),\n css: applySettingsToCssCode(COMMON_EMBED_CSS_CODE, updatedSettings),\n };\n state.editorCode = code;\n state.code = code;\n },\n setIsEmbedReady(state, { payload }) {\n state.isReady = payload;\n },\n setDashboardList(state, { payload }) {\n state.dashboardList = payload;\n },\n setReportList(state, { payload }) {\n state.reportList = payload;\n },\n setScorecardList(state, { payload }) {\n state.scorecardList = payload;\n },\n setThemesList(state, { payload }) {\n state.themesList = payload;\n },\n setDashboardListComposer(state, { payload }) {\n state.dashboardListComposer = payload;\n },\n setSourceList(state, { payload }) {\n state.sourceList = payload;\n },\n setEmbedSourceId(state, { payload }) {\n state.sourceId = payload;\n const code = {\n html: applySettingsToHtmlCode(COMMON_EMBED_HTML_CODE, state.settings),\n js: applySettingsToJsCode(\n COMMON_EMBED_JS_CODE,\n state.settings,\n state.embedComponentType,\n state.dashboardId,\n state.originId,\n getFirstDashboardId({ embed: state }),\n state.sourceId\n ),\n css: applySettingsToCssCode(COMMON_EMBED_CSS_CODE, state.settings),\n };\n state.editorCode = code;\n state.code = code;\n },\n setMetricSetList(state, { payload }) {\n state.metricSetList = payload;\n },\n\n setDefaultUserSessionId(state, { payload }) {\n state.defaultUserSessionId = payload;\n },\n setSidebarExpanded(state, { payload }) {\n state.sidebarExpanded = payload;\n },\n resetDefaults(state) {\n const defaultDashboard = state.dashboardListComposer.find((d) => d.name === NAME_OF_DEFAULT_DASHBOARD);\n return {\n ...initialState,\n defaultUserSessionId: state.defaultUserSessionId,\n dashboardList: state.dashboardList,\n dashboardListComposer: state.dashboardListComposer,\n sourceList: state.sourceList,\n isReady: state.isReady,\n dashboardId: defaultDashboard\n ? defaultDashboard.id\n : state.dashboardListComposer.length\n ? state.dashboardListComposer[0].id\n : '',\n originId: defaultDashboard\n ? defaultDashboard.originId\n : state.dashboardListComposer.length\n ? state.dashboardListComposer[0].originId\n : '',\n reportList: state.reportList,\n scorecardList: state.scorecardList,\n themesList: state.themesList,\n metricSetList: state.metricSetList,\n };\n },\n },\n});\n\nexport const {\n setHtml,\n setJs,\n setCss,\n setIsCodeTouched,\n setEmbedSetting,\n setEmbedSettings,\n setEditorHtml,\n setEditorJs,\n setEditorCss,\n setEditorMd,\n setEmbedComponentType,\n setEmbedDashboardId,\n setEmbedOriginId,\n synchronizePreviewSettings,\n setIsCodeRun,\n setIsEmbedReady,\n setDashboardList,\n setReportList,\n setScorecardList,\n resetDefaults,\n setDefaultUserSessionId,\n setThemesList,\n setMetricSetList,\n setDashboardListComposer,\n setSourceList,\n setEmbedSourceId,\n setEmbedDundasDefaultIds,\n setSidebarExpanded,\n} = dashboardAuthoringSlice.actions;\n\nexport default dashboardAuthoringSlice.reducer;\n","import React from 'react';\nimport { Box, IconButton, alpha, buttonClasses } from '@mui/material';\nimport NavigationMenu from '../NavigationMenu/NavigationMenu';\nimport { ArrowLeftSLineIcon, ArrowRightSLineIcon } from '../RemixIcons/generated/remixIcons';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { getSidebarExpanded } from 'src/shared/store/embedSelectors';\nimport { setSidebarExpanded } from 'src/shared/store/embedSlice';\nexport const CLOSED_WIDTH = '60px';\nexport const EXPANDED_WIDTH = '260px';\n\nexport const ExpandButton = ({ expanded, sx, ...rest }) => {\n return (\n ({\n backgroundColor: theme.palette.common.white,\n width: '24px',\n height: '24px',\n border: '1px solid #B8C5D5',\n boxShadow: `0px 0px 4px ${alpha(theme.palette.common.black, 0.25)}`,\n color: '#546176',\n '&:hover': {\n backgroundColor: '#E8F4FC',\n color: '#007AC9',\n border: '1px solid #007AC9',\n },\n '&:active': {\n backgroundColor: '#A1D1EF',\n color: '#001737',\n border: '1px solid #007AC9',\n },\n [`&.${buttonClasses.focusVisible}`]: {\n outline: 'none',\n boxShadow: `0px 0px 0px 3.5px ${alpha('#007AC9', 0.3)}`,\n border: '1px solid #001737',\n },\n }),\n ...(Array.isArray(sx) ? sx : [sx]),\n ]}\n {...rest}\n >\n {expanded ? : }\n \n );\n};\n\nexport const PlatformSidebar = ({ sx }) => {\n const expanded = useSelector(getSidebarExpanded);\n const dispatch = useDispatch();\n return (\n \n \n dispatch(setSidebarExpanded(!expanded))}\n sx={{\n position: 'absolute',\n right: '-12px',\n top: '48px',\n }}\n />\n \n );\n};\n","import { useEffect, useState } from 'react';\nimport { useHistory } from 'react-router-dom';\nimport useNotificationBanners from 'src/hooks/useNotificationBanners';\nimport {\n COMMON_NAV_MENU_ITEMS,\n VDD_NAV_MENU_ITEMS,\n MDR_NAV_MENU_ITEMS,\n} from 'src/shared/constants/navigationConstants';\nimport HeaderActions from '../HeaderActions/HeaderActions';\nimport ModalContainer from '../ModalContainer/ModalContainer';\nimport NotificationBanner from '../NotificationBanner/NotificationBanner';\nimport styles from './Layout.module.scss';\nimport { PlatformSidebar } from '../PlatformSidebar/PlatformSidebar';\nimport { useSelector } from 'react-redux';\nimport { getSidebarExpanded } from 'src/shared/store/embedSelectors';\n\nexport default function Layout({ children }) {\n const history = useHistory();\n const [pageTitle, setPageTitle] = useState('');\n const [headerTitle, setHeaderTitle] = useState('');\n const NAV_MENU_ITEMS = [...COMMON_NAV_MENU_ITEMS, ...VDD_NAV_MENU_ITEMS, ...MDR_NAV_MENU_ITEMS];\n const setTitle = (pathname) => {\n setPageTitle(NAV_MENU_ITEMS.find(({ path }) => path === pathname)?.pageTitle || '');\n setHeaderTitle(NAV_MENU_ITEMS.find(({ path }) => path === pathname)?.headerTitle || 'Symphony Playground');\n };\n const { currentBanner, isBannerShown, hideBanner } = useNotificationBanners();\n const expanded = useSelector(getSidebarExpanded);\n // const { isTutorialAvailable, currentTutorialItem, getNextTutorialItem } = useTutorial();\n\n useEffect(() => {\n history.listen(({ pathname }) => {\n setTitle(pathname);\n });\n setTitle(history.location.pathname);\n }, []);\n\n return (\n
\n
\n

\n {headerTitle} {pageTitle && >}\n  \n {pageTitle}\n

\n \n history.push('/')}\n />\n
\n
\n \n
\n
\n \n {currentBanner ? currentBanner.bannerComponent : <>}\n \n {children}\n
\n \n
\n );\n}\n","export const OPTIONS = {\n dashboard: {\n basicOptions: [\n { key: 'themeComposer', defaultValue: '__platform__' },\n { key: 'ip', defaultValue: 'interactive' },\n { key: 'editorPlacement', defaultValue: 'modals' },\n { key: 'showHeader', defaultValue: false },\n { key: 'showActions', defaultValue: false },\n { key: 'dashboardShowTitle', defaultValue: false },\n ],\n advancedOptions: [{ key: 'doubleDashboards', defaultValue: false }],\n },\n 'visual-builder': {\n basicOptions: [\n { key: 'themeComposer', defaultValue: '__platform__' },\n { key: 'visualShowHeader', defaultValue: true },\n { key: 'visualShowActions', defaultValue: true },\n { key: 'visualShowTitle', defaultValue: false },\n { key: 'breadcrumbs', defaultValue: false },\n ],\n advancedOptions: [\n // { key: 'embedSource', defaultValue: false }\n ],\n },\n 'dashboard-builder': {\n basicOptions: [\n { key: 'themeComposer', defaultValue: '__platform__' },\n { key: 'editorPlacement', defaultValue: 'modals' },\n { key: 'dashboardShowTitle', defaultValue: false },\n { key: 'dashboardLite', defaultValue: false },\n ],\n advancedOptions: [],\n },\n inventory: {\n basicOptions: [\n { key: 'themeComposer', defaultValue: '__platform__' },\n { key: 'inventoryItem', defaultValue: 'dashboard' },\n ],\n advancedOptions: [\n { key: 'customizeActionButtons', defaultValue: false },\n { key: 'customizeSearchControllers', defaultValue: false },\n { key: 'customizeFilterButtons', defaultValue: false },\n { key: 'customizeInventoryTable', defaultValue: false },\n ],\n },\n 'source-editor': {\n basicOptions: [\n { key: 'themeComposer', defaultValue: '__platform__' },\n { key: 'sourceEditorShowHeader', defaultValue: true },\n { key: 'sourceEditorShowTitle', defaultValue: false },\n { key: 'sourceEditorActiveTab', defaultValue: 'create' },\n ],\n advancedOptions: [\n { key: 'showCreateTab', defaultValue: true },\n { key: 'showFieldsTab', defaultValue: true },\n { key: 'showCacheTab', defaultValue: true },\n { key: 'showSettingsTab', defaultValue: true },\n ],\n },\n};\n","import React from 'react';\nimport styles from './Panel.module.scss';\nimport classNames from 'classnames';\n\nexport default function Panel({ children, className = '' }) {\n return
{children}
;\n}\n","export const TABS = {\n md: {\n name: 'about',\n },\n html: {\n name: 'index.html',\n },\n js: {\n name: 'embed.js',\n },\n css: {\n name: 'styles.css',\n },\n};\n","import styles from './EmbedCode.module.scss';\nimport classNames from 'classnames';\nimport { micromark } from 'micromark';\n\nimport AceEditor from 'react-ace';\nimport ace from 'ace-builds';\nimport 'ace-builds/src-noconflict/mode-javascript';\nimport 'ace-builds/src-noconflict/mode-html';\nimport 'ace-builds/src-noconflict/mode-css';\nimport 'ace-builds/src-noconflict/mode-markdown';\nimport 'ace-builds/src-noconflict/ext-language_tools';\nimport 'ace-builds/src-noconflict/theme-monokai';\nimport 'ace-builds/src-min-noconflict/ext-searchbox';\n\nimport Panel from '../Panel/Panel';\nimport { TABS } from 'src/shared/constants/liveCodeTabs';\n\nexport default function EmbedCode({\n onRunClick,\n htmlCode,\n jsCode,\n cssCode,\n mdCode,\n onHtmlCodeChange,\n onJsCodeChange,\n onCssCodeChange,\n onMdCodeChange,\n selectedFile,\n setSelectedFile,\n showReadme = false,\n readmeEditable = false,\n}) {\n const copyCode = () =>\n navigator.clipboard.writeText(\n selectedFile.name === 'index.html' ? htmlCode : selectedFile.name === 'embed.js' ? jsCode : cssCode\n );\n ace.config.set('basePath', 'path');\n\n const editorOptions = {\n theme: 'monokai',\n setOptions: {\n useWorker: false,\n enableBasicAutocompletion: true,\n enableLiveAutocompletion: true,\n },\n className: styles.editor,\n width: '100%',\n height: '100%',\n };\n\n return (\n
\n
\n
\n {Object.values(TABS).map(\n (tab) =>\n (tab.name !== TABS.md.name || (tab.name === TABS.md.name && showReadme)) && (\n setSelectedFile(tab)}\n className={classNames(styles.tabButton, {\n [styles.active]: selectedFile === tab,\n })}\n >\n {tab.name}\n \n )\n )}\n\n
\n \n \n
\n
\n \n {selectedFile.name === 'index.html' && (\n
\n {\n onHtmlCodeChange(value);\n }}\n />\n
\n )}\n {selectedFile.name === 'embed.js' && (\n
\n {\n onJsCodeChange(value);\n }}\n />\n
\n )}\n {selectedFile.name === 'styles.css' && (\n
\n {\n onCssCodeChange(value);\n }}\n />\n
\n )}\n {selectedFile.name === TABS.md.name && (\n
\n {readmeEditable && (\n
\n {\n onMdCodeChange(value);\n }}\n />\n
\n )}\n
\n
'),\n }}\n >
\n
\n
\n )}\n \n \n \n );\n}\n","import React from 'react';\n\nimport { useDispatch, useSelector } from 'react-redux';\nimport {\n setEditorHtml,\n setEditorJs,\n setEditorCss,\n setHtml,\n setIsCodeRun,\n setIsCodeTouched,\n setJs,\n setCss,\n setEditorMd,\n} from 'src/shared/store/embedSlice';\nimport EmbedCode from '../EmbedCode/EmbedCode';\n\nexport default function ConnectedEmbedCode({ selectedFile, setSelectedFile, showReadme, readmeEditable = false }) {\n const htmlCode = useSelector((state) => state.embed.editorCode.html);\n const jsCode = useSelector((state) => state.embed.editorCode.js);\n const cssCode = useSelector((state) => state.embed.editorCode.css);\n const mdCode = useSelector((state) => state.embed.editorCode.md);\n const dispatch = useDispatch();\n\n return (\n {\n dispatch(setJs(jsCode));\n dispatch(setHtml(htmlCode));\n dispatch(setCss(cssCode));\n dispatch(setIsCodeRun(true));\n }}\n onHtmlCodeChange={(value) => {\n dispatch(setIsCodeTouched(true));\n dispatch(setEditorHtml(value));\n }}\n onCssCodeChange={(value) => {\n dispatch(setIsCodeTouched(true));\n dispatch(setEditorCss(value));\n }}\n onJsCodeChange={(value) => {\n dispatch(setIsCodeTouched(true));\n dispatch(setEditorJs(value));\n }}\n onMdCodeChange={(value) => {\n dispatch(setEditorMd(value));\n }}\n selectedFile={selectedFile}\n setSelectedFile={setSelectedFile}\n htmlCode={htmlCode}\n jsCode={jsCode}\n cssCode={cssCode}\n mdCode={mdCode}\n showReadme={showReadme}\n readmeEditable={readmeEditable}\n >\n );\n}\n","import React, { createRef, useEffect, useRef, useState } from 'react';\nimport styles from './Tabs.module.scss';\nimport classNames from 'classnames';\n\nconst defaultSliderParameters = {\n width: 0,\n left: 0,\n};\n\nexport default function Tabs({ children, selectedIndex, onSelect }) {\n const adjustedSelectedIndex = selectedIndex > children.length - 1 ? 0 : selectedIndex;\n const displayedTab = adjustedSelectedIndex > children.length - 1 ? children[0] : children[adjustedSelectedIndex];\n const [buttonRefs, setButtonRefs] = useState([]);\n const [sliderParameters, setSliderParameters] = useState(defaultSliderParameters);\n const containerRef = useRef(null);\n\n useEffect(() => {\n setButtonRefs((elRefs) => children.map((_, i) => elRefs[i] || createRef()));\n }, [children]);\n\n useEffect(() => {\n if (buttonRefs[adjustedSelectedIndex] && containerRef.current) {\n const currentTabButton = buttonRefs[adjustedSelectedIndex].current;\n const { width, left } = currentTabButton.getBoundingClientRect();\n const { left: containerLeft } = containerRef.current.getBoundingClientRect();\n setSliderParameters({ width, left: left - containerLeft });\n }\n }, [adjustedSelectedIndex, buttonRefs]);\n\n return (\n
\n
\n {children.map((tab, i) => (\n onSelect(i)}\n key={i}\n ref={buttonRefs[i]}\n >\n {tab.props.name}\n \n ))}\n
\n
\n
{displayedTab}
\n
\n );\n}\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport styles from './Tab.module.scss';\n\nexport default function Tab({ children }) {\n return
{children}
;\n}\n\nTab.propTypes = {\n children: PropTypes.node,\n name: PropTypes.string,\n};\n","var _path;\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport * as React from \"react\";\nfunction SvgDocument(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Layer_1\",\n \"data-name\": \"Layer 1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M17,14a1,1,0,0,1-1,1H8a1,1,0,0,1,0-2h8A1,1,0,0,1,17,14Zm-4,3H8a1,1,0,0,0,0,2h5a1,1,0,0,0,0-2Zm9-6.515V19a5.006,5.006,0,0,1-5,5H7a5.006,5.006,0,0,1-5-5V5A5.006,5.006,0,0,1,7,0h4.515a6.958,6.958,0,0,1,4.95,2.05l3.484,3.486A6.951,6.951,0,0,1,22,10.485ZM15.051,3.464A5.01,5.01,0,0,0,14,2.684V7a1,1,0,0,0,1,1h4.316a4.983,4.983,0,0,0-.781-1.05ZM20,10.485c0-.165-.032-.323-.047-.485H15a3,3,0,0,1-3-3V2.047C11.838,2.032,11.679,2,11.515,2H7A3,3,0,0,0,4,5V19a3,3,0,0,0,3,3H17a3,3,0,0,0,3-3Z\"\n })));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgDocument);\nexport default __webpack_public_path__ + \"static/media/document.37f47a2d.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport * as React from \"react\";\nfunction SvgAngleSmallDown(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Outline\",\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M18.707,8.207a1,1,0,0,0-1.414,0l-4.586,4.586a1.021,1.021,0,0,1-1.414,0L6.707,8.207A1,1,0,0,0,5.293,9.621l4.585,4.586a3,3,0,0,0,4.243,0l4.586-4.586A1,1,0,0,0,18.707,8.207Z\"\n })));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgAngleSmallDown);\nexport default __webpack_public_path__ + \"static/media/angle-small-down.ee390e4c.svg\";\nexport { ForwardRef as ReactComponent };","import React, { useEffect, useRef, useState } from 'react';\nimport styles from './InfoTooltip.module.scss';\n\nexport default function InfoTooltip({ children }) {\n const [tooltipCoordinates, settooltipCoordinates] = useState({ x: 0, y: 0 });\n const rootRef = useRef(null);\n const tooltipRef = useRef(null);\n\n const resetTooltipPosition = () => {\n let { x, y } = rootRef.current.getBoundingClientRect();\n const { width: tooltipWidth } = tooltipRef.current.getBoundingClientRect();\n if (tooltipWidth + x > window.innerWidth + 10) {\n x -= tooltipWidth;\n }\n settooltipCoordinates({ x, y });\n };\n\n useEffect(() => {\n resetTooltipPosition();\n }, []);\n\n return (\n
\n ⓘ\n \n {children}\n
\n \n );\n}\n","import React, { useState } from 'react';\nimport { nanoid } from '@reduxjs/toolkit';\nimport { useDispatch } from 'react-redux';\nimport { showModal } from 'src/components/ModalContainer/modalsSlice';\nimport InfoTooltip from '../InfoTooltip/InfoTooltip';\nimport styles from './DocumentationHelperPopup.module.scss';\nimport { ReactComponent as ArrowDownIcon } from 'src/static/icons/angle-small-down.svg';\nimport classNames from 'classnames';\n\nconst componentOptions = {\n dashboard: 'Dashboard',\n 'visual-builder': 'Visual Builder',\n 'dashboard-builder': 'Dashboard Builder',\n inventory: 'Inventory',\n 'source-editor': 'Source Editor',\n 'embed-viewer': 'Embed Viewer',\n 'metric-set': 'Metric Set',\n 'adhoc-editor': 'Ad-Hoc Editor',\n};\n\nexport default function DocumentationHelperPopup({ onClose, topicGroups, selectedGroup }) {\n const dispatch = useDispatch();\n const [groupExpanded, setGroupExpanded] = useState(\n Object.keys(topicGroups).reduce((res, groupName) => ({ ...res, [groupName]: groupName === selectedGroup }), {})\n );\n const docLinkClickHandler = (modalTitle, contentLink) => {\n onClose();\n dispatch(showModal({ name: modalTitle, id: nanoid(), contentLink }));\n };\n\n return (\n
\n

Documentation Topics and Code Samples

\n {Object.entries(topicGroups).map(([groupName, topicArticles]) => (\n
\n setGroupExpanded({ ...groupExpanded, [groupName]: !groupExpanded[groupName] })}\n className={styles.groupName}\n >\n \n \n {componentOptions[groupName]}\n \n
\n {groupExpanded[groupName] && (\n \n )}\n
\n ))}\n \n );\n}\n","const DOCUMENTATION_PATH = `${window.location.origin}/documentation/content`;\n\nexport const DOCUMENTATION_LINKS = {\n PLAYGROUND_PUBLISH: `${DOCUMENTATION_PATH}/topics/pubsub/playground-publish.html`,\n PLAYGROUND_SUBSCRIBE: `${DOCUMENTATION_PATH}/topics/pubsub/playground-subscribe.html`,\n EMBED_JS_EMBEDMANAGER_PROP_DASH: `${DOCUMENTATION_PATH}/topics/embed/embed-javascript-embedmanager-prop-dash.html`,\n EMBED_JS_EMBEDMANAGER_PROP_INVENTORY: `${DOCUMENTATION_PATH}/topics/embed/embed-javascript-embedmanager-prop-lib.html`,\n EMBED_JS_EXAMPLE_VB: `${DOCUMENTATION_PATH}/topics/embed/embed-javascript-embedmanager-prop-vb.html`,\n EMBED_JS_EVENTLISTENERS: `${DOCUMENTATION_PATH}/topics/embed/embed-javascript-eventlisteners.html`,\n EMBED_JS_EVENTLISTENERS_DASHBOARD_BUILDER: `${DOCUMENTATION_PATH}/topics/embed/embed-javascript-eventlisteners-dash.html`,\n EMBED_JS_EMBEDMANAGER_PROP_SOURCE_EDITOR: `${DOCUMENTATION_PATH}/topics/embed/embed-javascript-source-editor-prop.html`,\n EMBED_JS_EVENTLISTENERS_INVENTORY: `${DOCUMENTATION_PATH}/topics/embed/embed-javascript-eventlisteners-lib.html`,\n EMBED_JS_EVENTLISTENERS_VISUALS: `${DOCUMENTATION_PATH}/topics/embed/embed-javascript-eventlisteners-vis.html`,\n EMBED_JS_MODES: `${DOCUMENTATION_PATH}/topics/embed/embed-javascript-modes.html`,\n EMBED_JS_EMBEDMANAGER_INTERACTIVITY_PROP: `${DOCUMENTATION_PATH}/topics/embed/embed-javascript-embedmanager-interactivityprop.html`,\n EMBED_JS_EMBEDMANAGER_INTERACTIVITY_PROP_DASH: `${DOCUMENTATION_PATH}/topics/embed/embed-javascript-embedmanager-interactivityprop-dash.html`,\n EMBED_JS_EMBEDMANAGER_INTERACTIVITY_PROP_VIS: `${DOCUMENTATION_PATH}/topics/embed/embed-javascript-embedmanager-interactivityprop-vis.html`,\n EMBED_JS_EMBEDMANAGER_MULTIPLE_DASHBOARDS: `${DOCUMENTATION_PATH}/topics/embed/embed-multiple-dashboards.html`,\n THEMES: `${DOCUMENTATION_PATH}/topics/themes/themes-create.html`,\n BREADCRUMBS: `${DOCUMENTATION_PATH}/topics/embed/embed-javascript-embedmanager-prop-vb-breadcrumbs.html`,\n DEFAULT_SOURCE: `${DOCUMENTATION_PATH}/topics/embed/embed-default-source-vis.html`,\n LIST_VISUALS: `${DOCUMENTATION_PATH}/topics/embed/embed-list-visuals.html`,\n LIST_DASHBOARDS: `${DOCUMENTATION_PATH}/topics/embed/embed-list-dashboards.html`,\n // Dundas Content\n VIEW_TYPE: `${DOCUMENTATION_PATH}/topics/dundas-playground/sym-embed-select-view-type.htm`,\n THEMES_DUNDAS: `${DOCUMENTATION_PATH}/topics/themes/sym-themes-ov.htm`,\n AD_HOC_EDITOR: `${DOCUMENTATION_PATH}/topics/sym-embed-playground/sym-embed-javascript-prop-ad-hoc.htm`,\n EMBED_OPTIONS: `${DOCUMENTATION_PATH}/topics/sym-embed-playground/sym-pg-embed-javascript-embed-options.html`,\n EMBED_VIEWER: `${DOCUMENTATION_PATH}/topics/sym-embed-playground/sym-embed-javascript-embedmanager-prop-viewer.html`,\n METRIC_SET: `${DOCUMENTATION_PATH}/topics/sym-embed-playground/sym-embed-javascript-embedmanager-prop-metric-set.htm`,\n};\n\nexport const DOCUMENTATION_ITEMS = {\n EmbedOptions: {\n name: 'Embed Options',\n content: (\n <>\n Use available methods to embed views such as dashboards and reports, a simplified dashboard creation experience,\n and move using the JavaScript API.\n \n ),\n link: DOCUMENTATION_LINKS.EMBED_OPTIONS,\n },\n embedViewerEmbedOptions: {\n name: 'Embed Options',\n content: (\n <>\n Use available methods to embed views such as dashboards and reports, a simplified dashboard creation experience,\n and move using the JavaScript API.\n \n ),\n link: DOCUMENTATION_LINKS.EMBED_VIEWER,\n },\n metricSetEmbedOptions: {\n name: 'Embed Options',\n content: (\n <>\n Use available methods to embed views such as dashboards and reports, a simplified dashboard creation experience,\n and move using the JavaScript API.\n \n ),\n link: DOCUMENTATION_LINKS.METRIC_SET,\n },\n adHocEditorEmbedOptions: {\n name: 'Embed Options',\n content: (\n <>\n Use available methods to embed views such as dashboards and reports, a simplified dashboard creation experience,\n and move using the JavaScript API.\n \n ),\n link: DOCUMENTATION_LINKS.AD_HOC_EDITOR,\n },\n ViewType: {\n name: 'View Type',\n content: <>Select a content type to embed, such as viewer, metric set, or ad hoc dashboard.,\n link: DOCUMENTATION_LINKS.VIEW_TYPE,\n },\n Theme: {\n name: 'Select Theme',\n content: (\n <>Themes are collections of existing styles you can apply all at once to a view such as a dashboard or report.\n ),\n link: DOCUMENTATION_LINKS.THEMES_DUNDAS,\n },\n Dashboard: {\n name: 'Select Dashboard',\n content: <>Select an available dashboard to use. Limited to the dashboards you can access.,\n },\n Report: {\n name: 'Select Report',\n content: <>Select an available report to use. Limited to the reports you can access.,\n },\n Scorecard: {\n name: 'Select Scorecard',\n content: <>Select an available scorecard to use. Limited to the scorecards you can access.,\n },\n MetricSet: {\n name: 'Select Metric Set',\n content: <>Select an available metric set to use. Limited to the metric sets you can access.,\n },\n toolbarHidden: {\n name: 'Hide Toolbar',\n content: <>Enable to hide the toolbar in the ad-hoc editor and all options available in the toolbar.,\n link: DOCUMENTATION_LINKS.AD_HOC_EDITOR,\n },\n toolbarAddMetricsSetHidden: {\n name: 'Hide Add MetricSet from Toolbar',\n content: <>Enable to hide Add Metric Set option in the ad-hoc editor toolbar.,\n link: DOCUMENTATION_LINKS.AD_HOC_EDITOR,\n },\n toolbarAddDashboardHidden: {\n name: 'Hide Add Dashboard from Toolbar',\n content: <>Enable to hide the Add Dashboards option in the ad-hoc editor toolbar.,\n link: DOCUMENTATION_LINKS.AD_HOC_EDITOR,\n },\n toolbarAddReportHidden: {\n name: 'Hide Add Report from Toolbar',\n content: <>Enable to hide the Add Report icon in the ad-hoc editor toolbar.,\n link: DOCUMENTATION_LINKS.AD_HOC_EDITOR,\n },\n dockablesHidden: {\n name: 'Hide Dockables',\n content: <>to be honest we do not know what it does 🙂,\n link: DOCUMENTATION_LINKS.AD_HOC_EDITOR,\n },\n openExistingHidden: {\n name: 'Hide OpenExisting',\n content: <>Enable to hide the Add Existing Dashboards option in the ad-hoc editor.,\n link: DOCUMENTATION_LINKS.AD_HOC_EDITOR,\n },\n dashboardEmbedOptions: {\n name: 'Embed Options',\n content: (\n <>\n Properties that allow you to control how the Inventory is embedded can be passed as parameters to the \n createComponent method during the dashboard embed processing.\n \n ),\n link: DOCUMENTATION_LINKS.EMBED_JS_EMBEDMANAGER_PROP_DASH,\n },\n inventoryEmbedOptions: {\n name: 'Embed Options',\n content: (\n <>\n Properties that allow you to control how the Inventory is embedded can be passed as parameters to the{' '}\n createComponent method during the dashboard embed processing.\n \n ),\n link: DOCUMENTATION_LINKS.EMBED_JS_EMBEDMANAGER_PROP_INVENTORY,\n },\n inventoryItem: {\n name: 'Inventory item',\n content: <>Select a type of Inventory item to manage.,\n link: DOCUMENTATION_LINKS.EMBED_JS_EMBEDMANAGER_PROP_INVENTORY,\n },\n customizeActionButtons: {\n name: 'Сustomize Action Buttons',\n },\n customizeSearchControllers: {\n name: 'Сustomize Search Controllers',\n },\n customizeFilterButtons: {\n name: 'Сustomize Filter Buttons',\n },\n customizeInventoryTable: {\n name: 'Сustomize Inventory Table',\n },\n visualEmbedOptions: {\n name: 'Embed Options',\n content: (\n <>\n Properties that allow you to control how a visual is embedded can be passed as parameters to the \n createComponent method during the visual embed processing.\n \n ),\n link: DOCUMENTATION_LINKS.EMBED_JS_EXAMPLE_VB,\n },\n dashboardIpOverrides: {\n name: 'Interactivity Profile Overrides',\n content: (\n <>\n You can add interactivity override settings to your embed script to provide granular control over what your\n users can do with an embedded Composer dashboard. The settings property with parameters can be passed in\n the \n interactivityOverridesobject of the createComponent method.\n \n ),\n link: DOCUMENTATION_LINKS.EMBED_JS_EMBEDMANAGER_INTERACTIVITY_PROP,\n },\n dashboardBuilderIpOverrides: {\n name: 'Interactivity Profile Overrides',\n content: (\n <>\n You can add interactivity override settings to your embed script to provide granular control over what your\n users can do with an embedded Composer dashboard. The settings property with parameters can be passed in\n the \n interactivityOverridesobject of the createComponent method.\n \n ),\n link: DOCUMENTATION_LINKS.EMBED_JS_EMBEDMANAGER_INTERACTIVITY_PROP_DASH,\n },\n visualIpOverrides: {\n name: 'Interactivity profile overrides',\n content: (\n <>\n You can add interactivity override settings to your embed script to provide granular control over what your\n users can do with an embedded Composer visual. The visualSettings property with parameters can be passed in\n the \n interactivityOverridesobject of the createComponent method.\n \n ),\n link: DOCUMENTATION_LINKS.EMBED_JS_EMBEDMANAGER_INTERACTIVITY_PROP_VIS,\n },\n inventoryIpOverrides: {\n name: 'Interactivity profile overrides',\n content: (\n <>\n You can add interactivity override settings to your embed script to provide granular control over what your\n users can do with an embedded Composer inventory.\n interactivityOverridesobject of the createComponent method.\n \n ),\n },\n ip: {\n name: 'Interactivity Profile',\n content: (\n <>\n Interactivity profile embed modes determine the way in which your users can work with an embedded dashboard.\n Valid values are readOnly or interactive. If you do not want the user of your\n application to change anything and only be able to view the dashboard, select readOnly (the\n default). If you want your users to be able to make changes to the dashboard, select interactive.\n \n ),\n link: DOCUMENTATION_LINKS.EMBED_JS_MODES,\n },\n dashboardEventListeners: {\n name: 'Event Listeners',\n content: (\n <>\n Events can be used in your JavaScript to control the behavior of an embedded Composer dashboard and its visuals\n when specific events occur. The ability for your end-users to perform some of the events is controlled by the\n permissions granted to them with their Composer credentials.\n \n ),\n link: DOCUMENTATION_LINKS.EMBED_JS_EVENTLISTENERS,\n },\n dashboardReadyEventListener: {\n name: 'Ready Event Listener',\n },\n dashboardChangedEventListener: {\n name: 'Change Event Listener',\n },\n dashboardDeleteEventListener: {\n name: 'Delete Event Listener',\n },\n dashboardLoadFailEventListener: {\n name: 'Load Fail Event Listener',\n },\n dashboardSaveEventListener: {\n name: 'Save Event Listener',\n },\n dashboardVisualAddEventListener: {\n name: 'Add Visual Event Listener',\n },\n dashboardVisualRemoveEventListener: {\n name: 'Remove Visual Event Listener',\n },\n visualLoadEventListener: {\n name: 'Load Event Listener',\n },\n visualLoadFailEventListener: {\n name: 'Load Fail Event Listener',\n },\n visualRenderEventListener: {\n name: 'Render Event Listener',\n },\n visualSaveEventListener: {\n name: 'Save Event Listener',\n },\n dashboardBuilderVisualLoadEventListener: {\n name: 'Load Event Listener',\n },\n dashboardBuilderVisualLoadFailEventListener: {\n name: 'Load Fail Event Listener',\n },\n dashboardBuilderVisualRenderEventListener: {\n name: 'Render Event Listener',\n },\n dashboardBuilderVisualSaveEventListener: {\n name: 'Save Event Listener',\n },\n documentFailed: {\n name: 'Initialization Fail Event Listener',\n },\n dashboardBuilderDocumentFailed: {\n name: 'Initialization Fail Event Listener',\n },\n visualBuilderChange: {\n name: 'Change Event Listener',\n },\n visualBuilderFail: {\n name: 'Fail Event Listener',\n },\n visualBuilderLoad: {\n name: 'Load Event Listener',\n },\n visualBuilderReady: {\n name: 'Ready Event Listener',\n },\n dbVisualBuilderChange: {\n name: 'Change Event Listener',\n },\n dbVisualBuilderFail: {\n name: 'Fail Event Listener',\n },\n dbVisualBuilderLoad: {\n name: 'Load Event Listener',\n },\n dbVisualBuilderReady: {\n name: 'Ready Event Listener',\n },\n unauthorized: {\n name: 'Unauthorized Event Listener',\n },\n dashboardBuilderUnauthorized: {\n name: 'Unauthorized Event Listener',\n },\n dashboardBuilderReadyEventListener: {\n name: 'Ready Event Listener',\n },\n dashboardBuilderChangedEventListener: {\n name: 'Change Event Listener',\n },\n dashboardBuilderDeleteEventListener: {\n name: 'Delete Event Listener',\n },\n dashboardBuilderLoadFailEventListener: {\n name: 'Load Fail Event Listener',\n },\n dashboardBuilderSaveEventListener: {\n name: 'Save Event Listener',\n },\n dashboardBuilderVisualAddEventListener: {\n name: 'Add Visual Event Listener',\n },\n dashboardBuilderVisualRemoveEventListener: {\n name: 'Remove Visual Event Listener',\n },\n inventoryEventListeners: {\n name: 'Event Listeners',\n content: (\n <>\n Events can be used in your JavaScript to control the behavior of an embedded Inventory and its visuals when\n specific events occur. The ability for your end-users to perform some of the events is controlled by the\n permissions granted to them with their Composer credentials.\n \n ),\n link: DOCUMENTATION_LINKS.EMBED_JS_EVENTLISTENERS_INVENTORY,\n },\n inventoryReadyEventListener: {\n name: 'Ready Event Listener',\n },\n inventoryFailEventListener: {\n name: 'Fail Event Listener',\n },\n inventoryDeleteEventListener: {\n name: 'Delete Event Listener',\n },\n dashboardBuilderEventListeners: {\n name: 'Event Listeners',\n content: (\n <>\n Events can be used in your JavaScript to control the behavior of an embedded Composer dashboard when specific\n events occur. The ability for your end-users to perform some of the events is controlled by the permissions\n granted to them with their Composer credentials.\n \n ),\n link: DOCUMENTATION_LINKS.EMBED_JS_EVENTLISTENERS_DASHBOARD_BUILDER,\n },\n visualEventListener: {\n name: 'Event Listener',\n content: (\n <>\n Events can be used in your JavaScript to control the behavior of an embedded Composer visual when specific\n events occur. The ability for your end-users to perform some of the events is controlled by the permissions\n granted to them with their Composer credentials.\n \n ),\n link: DOCUMENTATION_LINKS.EMBED_JS_EVENTLISTENERS_VISUALS,\n },\n publish: {\n name: 'Publish Cross-Visual Filters',\n content: (\n <>\n Events can be used in your JavaScript to control the behavior of an embedded Composer dashboard when specific\n events occur. The ability for your end-users to perform some of the events is controlled by the permissions\n granted to them with their Composer credentials.\n \n ),\n link: DOCUMENTATION_LINKS.PLAYGROUND_PUBLISH,\n },\n subscribe: {\n name: 'Subscribe to Cross-Visual Filters',\n content: (\n <>\n Use JavaScript methods and properties to subscribe a visual in an embedded dashboard to the cross-visual filters\n available for the dashboard.\n \n ),\n link: DOCUMENTATION_LINKS.PLAYGROUND_SUBSCRIBE,\n },\n dashboardEditorPlacement: {\n name: 'Editor Placement',\n content: (\n <>\n The enhanced visual editor can be positioned on your embedded visuals. Select whether the editor should appear\n on the right side of the dashboard (option Dock right) or as a pop-up on top of the dashboard (option{' '}\n Modal).\n \n ),\n link: DOCUMENTATION_LINKS.EMBED_JS_EMBEDMANAGER_PROP_DASH,\n },\n visualEditorPlacement: {\n name: 'Editor Placement',\n content: (\n <>\n The enhanced visual editor can be positioned on your embedded visuals. Select whether the editor should appear\n on the right side of the visual (option Dock right) or as a pop-up on top of the visual (option{' '}\n Modal).\n \n ),\n link: DOCUMENTATION_LINKS.EMBED_JS_EMBEDMANAGER_PROP_DASH,\n },\n themes: {\n name: 'Themes',\n content: (\n <>\n Composer supplies two themes: modern (default, light colors) and dark. You can create and activate a different\n theme as needed. At this time, only colors can be changed for Composer themes.\n \n ),\n link: DOCUMENTATION_LINKS.THEMES,\n },\n dashboardShowHeader: {\n name: 'Show Header',\n content: (\n <>\n Indicate whether the dashboard header should be shown when the dashboard is embedded. The dashboard header\n includes the title and actions bar for the dashboard.\n \n ),\n },\n visualShowHeader: {\n name: 'Show Header',\n content: (\n <>\n Indicate whether the visual header should be shown when the visual is embedded. The visual header includes the\n title and actions bar for the visual.\n \n ),\n },\n dashboardShowActions: {\n name: 'Show Actions',\n content: (\n <>\n Indicate whether the dashboard action bar should be available for use when the dashboard is embedded. The\n dashboard action bar allows users, based on their dashboard permissions, to alter or export the dashboard.\n \n ),\n },\n visualShowActions: {\n name: 'Show Actions',\n content: (\n <>\n Indicate whether the visual action bar should be available for use when the visual is embedded. The visual\n action bar allows users, based on their visual permissions, to alter or export the visual.\n \n ),\n },\n dashboardShowTitle: {\n name: 'Show Title',\n content: <>Indicate whether the dashboard title should be visible when the dashboard is embedded.,\n },\n dashboardLite: {\n name: 'Embed In Lite Mode',\n content: <>Switch to Lite dashboard Mode.,\n },\n doubleDashboards: {\n name: 'Embed Multiple Dashboards',\n content: <>Composer enables you to add multiple dashboards to better represent your data.,\n link: DOCUMENTATION_LINKS.EMBED_JS_EMBEDMANAGER_MULTIPLE_DASHBOARDS,\n },\n visualShowTitle: {\n name: 'Show Title',\n content: <>Indicate whether the visual title should be visible when the visual is embedded.,\n },\n listVisuals: {\n name: 'List Visuals',\n content: (\n <>\n You can use the Composer API to list the available visuals in the Composer environment. After rendering the\n visual list, you can select one and pass its visual ID to Composer to open the selected visual. You can then\n alter the selected visual as necessary for your custom solution.\n \n ),\n link: DOCUMENTATION_LINKS.LIST_VISUALS,\n },\n listDashboards: {\n name: 'List Dashboards',\n content: (\n <>\n You can use the Composer API to list the available dashboards in the Composer environment. After rendering the\n dashboard list, you can select one and pass its dashboard ID to Composer to open the selected dashboard. You can\n then alter the selected dashboard as necessary for your custom solution.\n \n ),\n link: DOCUMENTATION_LINKS.LIST_DASHBOARDS,\n },\n embedSource: {\n name: 'Embed Default Data Source and Visual Style',\n content: (\n <>\n Indicate whether a visual should be embedded using the defaults for a supported visual style in the data source.\n You must specify the ID of the default settings for a visual style.\n \n ),\n link: DOCUMENTATION_LINKS.DEFAULT_SOURCE,\n },\n breadcrumbs: {\n name: 'Show Breadcrumbs',\n content: (\n <>\n Optionally, you can pass breadcrumb properties as parameters to the createComponent method\n when embedding visuals.\n \n ),\n link: DOCUMENTATION_LINKS.BREADCRUMBS,\n },\n\n refresh: {\n name: 'Refresh',\n },\n changeLayout: {\n name: 'Change Layout',\n },\n rename: {\n name: 'Rename',\n },\n shareFilterSets: {\n name: 'Share Filter Sets',\n },\n dashboardInteractions: {\n name: 'Dashboard Interactions',\n },\n addToFavourites: {\n name: 'Add to Favorites',\n },\n exportPngPdf: {\n name: 'Export PNG/PDF',\n },\n exportConfiguration: {\n name: 'Export Configuration',\n },\n dashboardLinks: {\n name: 'Dashboard Links',\n },\n addVisuals: {\n name: 'Add Visuals',\n },\n delete: {\n name: 'Delete',\n },\n save: {\n name: 'Save',\n },\n filter: {\n name: 'Filter',\n },\n actionsAction: {\n name: 'Actions Action',\n },\n rulers: {\n name: 'Rulers',\n },\n zoomAction: {\n name: 'Zoom Action',\n },\n filterAction: {\n name: 'Filter Action',\n },\n sourceEditorEmbedOptions: {\n name: 'Embed Options',\n content: (\n <>\n Properties that allow you to control how the source editor is embedded can be passed as parameters to the{' '}\n createComponent method during the source editor embed processing.\n \n ),\n link: DOCUMENTATION_LINKS.EMBED_JS_EMBEDMANAGER_PROP_SOURCE_EDITOR,\n },\n sourceEditorShowHeader: {\n name: 'Show Header',\n content: (\n <>\n Indicate whether the Source Editor header should be shown when the source editor is embedded. The source header\n includes the title for the Source editor.\n \n ),\n },\n sourceEditorShowTitle: {\n name: 'Show Title',\n content: <>Indicate whether the source editor title should be visible when the source editor is embedded.,\n },\n sourceEditorActiveTab: {\n name: 'Active Tab',\n content: (\n <>\n The Active Tab presented to the user when the editor is loaded. Options include 'create', 'fields', 'caching',\n and 'settings'.\n \n ),\n },\n showCreateTab: {\n name: 'Show Source Creation Tab',\n content: <>Define visibility of the Source Creation tab.,\n },\n showFieldsTab: {\n name: 'Show Fields Tab',\n content: <>Define visibility of the Fields tab.,\n },\n showCacheTab: {\n name: 'Show Cache Tab',\n content: <>Define visibility of the Cache tab.,\n },\n showSettingsTab: {\n name: 'Show Global Settings Tab',\n content: <>Define visibility of the Global Settings tab.,\n },\n sourceEditorIpOverrides: {\n name: 'Interactivity Profile Overrides',\n content: (\n <>\n You can add interactivity override settings to your embed script to provide granular control over what your\n users can do with an embedded Composer Source editor. The settings property with parameters can be passed in\n the \n interactivityOverridesobject of the createComponent method.\n \n ),\n link: DOCUMENTATION_LINKS.EMBED_JS_EMBEDMANAGER_INTERACTIVITY_PROP,\n },\n sourceEditorEventListeners: {\n name: 'Event Listeners',\n content: (\n <>\n Events can be used in your JavaScript to control the behavior of an embedded source editor when specific events\n occur. The ability for your end-users to perform some of the events is controlled by the permissions granted to\n them with their Composer credentials.\n \n ),\n link: DOCUMENTATION_LINKS.EMBED_JS_EVENTLISTENERS_INVENTORY,\n },\n addFromConnection: {\n name: 'Add From Connection',\n },\n addFromFileUpload: {\n name: 'Add From File Upload',\n },\n selectFileUpload: {\n name: 'Select File Upload',\n },\n uploadnewFile: {\n name: 'Upload New File',\n },\n createJoins: {\n name: 'Create Joins',\n },\n filterValuesEntities: {\n name: 'Filter Values Entities',\n },\n exportSource: {\n name: 'Export Source',\n },\n copySource: {\n name: 'Copy Source',\n },\n addDerivedField: {\n name: 'Add Derived Field',\n },\n addHierarchyField: {\n name: 'Add Hierarchy Field',\n },\n addCustomMetric: {\n name: 'Add Custom Metric',\n },\n visibility: {\n name: 'Visibility',\n },\n filterValueOverrides: {\n name: 'Filter Value Overrides',\n },\n fieldCapabilities: {\n name: 'Field Capabilities',\n },\n manageTranslations: {\n name: 'Manage Translations',\n },\n setUniqueKey: {\n name: 'Set Unique Key',\n },\n dataCache: {\n name: 'Data Cache',\n },\n statisticsCache: {\n name: 'Statistics Cache',\n },\n scheduleRefresh: {\n name: 'Schedule Refresh',\n },\n fieldSettings: {\n name: 'Fields Settings',\n },\n};\n\nexport const EMBEDDED_DASHBOARD_DOCUMENTATION_POPUP_ITEMS = [\n DOCUMENTATION_ITEMS.dashboardEmbedOptions,\n DOCUMENTATION_ITEMS.dashboardIpOverrides,\n DOCUMENTATION_ITEMS.ip,\n DOCUMENTATION_ITEMS.dashboardEventListeners,\n DOCUMENTATION_ITEMS.publish,\n DOCUMENTATION_ITEMS.subscribe,\n DOCUMENTATION_ITEMS.doubleDashboards,\n DOCUMENTATION_ITEMS.themes,\n];\n\nexport const VISUAL_AUTHORING_DOCUMENTATION_POPUP_ITEMS = [\n DOCUMENTATION_ITEMS.visualEmbedOptions,\n DOCUMENTATION_ITEMS.visualIpOverrides,\n DOCUMENTATION_ITEMS.embedSource,\n DOCUMENTATION_ITEMS.visualEventListener,\n DOCUMENTATION_ITEMS.breadcrumbs,\n DOCUMENTATION_ITEMS.themes,\n DOCUMENTATION_ITEMS.listVisuals,\n];\n\nexport const DASHBOARD_AUTHORING_DOCUMENTATION_POPUP_ITEMS = [\n DOCUMENTATION_ITEMS.dashboardEmbedOptions,\n DOCUMENTATION_ITEMS.dashboardBuilderIpOverrides,\n DOCUMENTATION_ITEMS.dashboardEventListeners,\n DOCUMENTATION_ITEMS.themes,\n DOCUMENTATION_ITEMS.listDashboards,\n];\n\nexport const INVENTORY_DOCUMENTATION_POPUP_ITEMS = [\n DOCUMENTATION_ITEMS.inventoryEmbedOptions,\n DOCUMENTATION_ITEMS.inventoryEventListeners,\n];\n\nexport const SOURCE_EDITOR_DOCUMENTATION_POPUP_ITEMS = [\n DOCUMENTATION_ITEMS.sourceEditorEmbedOptions,\n DOCUMENTATION_ITEMS.sourceEditorIpOverrides,\n DOCUMENTATION_ITEMS.themes,\n DOCUMENTATION_ITEMS.sourceEditorEventListeners,\n];\n\nexport const EMBED_VIEWER_POPUP_ITEMS = [DOCUMENTATION_ITEMS.embedViewerEmbedOptions, DOCUMENTATION_ITEMS.Theme];\n\nexport const METRIC_SET_POPUP_ITEMS = [DOCUMENTATION_ITEMS.metricSetEmbedOptions];\n\nexport const AD_HOC_EDITOR_POPUP_ITEMS = [DOCUMENTATION_ITEMS.adHocEditorEmbedOptions, DOCUMENTATION_ITEMS.Theme];\n","import React, { useState } from 'react';\nimport styles from './DocumentationHelper.module.scss';\nimport { ReactComponent as DocumentIcon } from 'src/static/icons/document.svg';\nimport { ReactComponent as ArrowDownIcon } from 'src/static/icons/angle-small-down.svg';\nimport DocumentationHelperPopup from '../DocumentationHelperPopup/DocumentationHelperPopup';\nimport {\n DASHBOARD_AUTHORING_DOCUMENTATION_POPUP_ITEMS,\n EMBEDDED_DASHBOARD_DOCUMENTATION_POPUP_ITEMS,\n INVENTORY_DOCUMENTATION_POPUP_ITEMS,\n SOURCE_EDITOR_DOCUMENTATION_POPUP_ITEMS,\n VISUAL_AUTHORING_DOCUMENTATION_POPUP_ITEMS,\n EMBED_VIEWER_POPUP_ITEMS,\n METRIC_SET_POPUP_ITEMS,\n AD_HOC_EDITOR_POPUP_ITEMS,\n} from 'src/shared/constants/documentationConstants';\n\nexport default function DocumentationHelper({ selectedGroup, productSelected }) {\n const [isPopupDisplayed, setIsPopupDisplayed] = useState(false);\n const composerDocumentationTopics = {\n dashboard: EMBEDDED_DASHBOARD_DOCUMENTATION_POPUP_ITEMS,\n 'visual-builder': VISUAL_AUTHORING_DOCUMENTATION_POPUP_ITEMS,\n 'dashboard-builder': DASHBOARD_AUTHORING_DOCUMENTATION_POPUP_ITEMS,\n inventory: INVENTORY_DOCUMENTATION_POPUP_ITEMS,\n 'source-editor': SOURCE_EDITOR_DOCUMENTATION_POPUP_ITEMS,\n };\n\n const dundasDocumentationTopics = {\n 'embed-viewer': EMBED_VIEWER_POPUP_ITEMS,\n 'metric-set': METRIC_SET_POPUP_ITEMS,\n 'adhoc-editor': AD_HOC_EDITOR_POPUP_ITEMS,\n };\n\n const documentationTopics = productSelected === 'Composer' ? composerDocumentationTopics : dundasDocumentationTopics;\n\n return (\n
\n
setIsPopupDisplayed((isPopupDisplayed) => !isPopupDisplayed)} className={styles.popupTrigger}>\n \n Documentation Helper\n \n
\n {isPopupDisplayed && (\n <>\n
setIsPopupDisplayed(false)}>
\n
\n setIsPopupDisplayed(false)}\n selectedGroup={selectedGroup}\n >\n
\n \n )}\n
\n );\n}\n","import React from 'react';\nimport { Link } from 'react-router-dom';\n\nimport styles from './Button.module.scss';\nimport classNames from 'classnames';\n\nexport default function Button({ onClick = () => {}, children, className = null, to = null }) {\n return to ? (\n \n {children}\n \n ) : (\n \n );\n}\n","var _path;\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport * as React from \"react\";\nfunction SvgExclamation(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Filled\",\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title === undefined ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, \"90 exclamation\") : title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12,24A12,12,0,1,0,0,12,12.013,12.013,0,0,0,12,24ZM11,6a1,1,0,0,1,2,0v8a1,1,0,0,1-2,0Zm1,12a1,1,0,1,1-1,1A1,1,0,0,1,12,18Z\"\n })));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgExclamation);\nexport default __webpack_public_path__ + \"static/media/exclamation.6ddc213d.svg\";\nexport { ForwardRef as ReactComponent };","import classNames from 'classnames';\nimport React from 'react';\nimport Button from 'src/components/Button/Button';\nimport styles from './EditModeWarningModalContent.module.scss';\nimport { ReactComponent as ExclamationIcon } from 'src/static/icons/exclamation.svg';\n\nexport default function EditModeWarningModalContent({ onConfirm, onCancel }) {\n return (\n
\n
\n \n
\n
\n

Warning

\n

\n Your custom code will not be preserved, and your code will be lost. Are you sure, you want to move away from\n this screen?\n

\n
\n \n \n
\n
\n
\n );\n}\n","import React, { useEffect, useState } from 'react';\nimport styles from './AdvancedEmbed.module.scss';\nimport SplitPane from 'react-split-pane';\nimport Tabs from 'src/components/Tabs/Tabs/Tabs';\nimport Tab from 'src/components/Tabs/Tabs/Tab';\nimport DocumentationHelper from '../DocumentationHelper/DocumentationHelper';\nimport EditModeWarningModalContent from '../EditModeWarningModalContent/EditModeWarningModalContent';\nimport { Prompt } from 'react-router-dom';\nimport { useSelector } from 'react-redux';\nimport { isEmbedReady } from 'src/shared/store/embedSelectors';\n\nconst resizerVerticalStyles = {\n background: '#cdcdcd',\n width: '2px',\n cursor: 'col-resize',\n margin: '0 5px',\n border: '6px solid transparent',\n backgroundClip: 'padding-box',\n};\n\nexport default function AdvancedEmbed({\n onModalConfirm,\n onModalCancel,\n onTabSelect,\n isWarningModalShown,\n selectedTabIndex,\n advancedEmbedOptions,\n advancedEmbedCode,\n advancedEmbedDashboardPreview,\n showWarningModal,\n isCodeTouched,\n resetDefaults,\n setNavigationUrl,\n navigationUrl,\n componentType,\n productSelected,\n}) {\n const [maxWidth, setMaxWidth] = useState(0);\n const isReady = useSelector(isEmbedReady);\n\n const setMaxSizes = () => {\n setMaxWidth(window.innerWidth - 350);\n };\n\n const handlePrompt = ({ pathname }) => {\n if (isCodeTouched) {\n setNavigationUrl(pathname);\n showWarningModal();\n return !!navigationUrl;\n }\n resetDefaults();\n return true;\n };\n\n useEffect(() => {\n setMaxSizes();\n window.addEventListener('resize', setMaxSizes);\n return window.removeEventListener('resize', setMaxSizes);\n }, []);\n\n return isReady ? (\n
\n {isWarningModalShown && (\n <>\n
\n \n
\n \n )}\n \n \n \n {advancedEmbedOptions}\n {advancedEmbedCode}\n \n
{advancedEmbedDashboardPreview}
\n \n
\n \n
\n
\n ) : (\n <>\n );\n}\n","import { useEffect } from 'react';\nimport { useHistory } from 'react-router-dom';\nimport queryString from 'query-string';\nimport { TABS } from '../constants/liveCodeTabs';\n\nconst useQueryParamEmbedSettings = ({\n settings,\n selectedTabIndex,\n selectedFile,\n embedComponentType,\n dashboardId,\n setSelectedTabIndex,\n setSelectedFile,\n refreshSettingsAndCodeValues,\n defaultSettings,\n embedComponentTypeOptions,\n}) => {\n const history = useHistory();\n useEffect(() => {\n const path = history.location.pathname;\n const options = Object.entries(settings).reduce(\n (res, [k, v]) => (defaultSettings[k] !== v ? { ...res, [k]: v } : res),\n {}\n );\n const defaultDashboardId = options.dashboardId;\n if (selectedTabIndex > 0) {\n options.modeTabIndex = selectedTabIndex;\n }\n if (selectedFile.name !== TABS.html.name) {\n options.selectedFileName = selectedFile.name;\n }\n options.embedComponentType = embedComponentType;\n if (embedComponentType === 'dashboard') {\n options.dashboardId = dashboardId;\n } else {\n options.dashboardId = defaultDashboardId;\n }\n const newSearch = queryString.stringify(options);\n const isQueryEmpty = newSearch.length === 0;\n window.history.replaceState(null, '', isQueryEmpty ? path : `${path}?${newSearch}`);\n }, [selectedTabIndex, settings, selectedFile, embedComponentType, dashboardId]);\n\n useEffect(() => {\n const settings = queryString.parse(history.location.search);\n const parsedSettings = Object.entries(settings).reduce(\n (res, [k, v]) => ({ ...res, [k]: v === 'false' || v === 'true' ? v === 'true' : v }),\n {}\n );\n\n if (\n settings.modeTabIndex &&\n !Number.isNaN(settings.modeTabIndex) &&\n +settings.modeTabIndex <= 1 &&\n +settings.modeTabIndex >= 0\n ) {\n setSelectedTabIndex(+settings.modeTabIndex);\n }\n if (settings.selectedFileName) {\n const fileFromParams = Object.values(TABS).find(({ name }) => name === settings.selectedFileName);\n if (fileFromParams) {\n setSelectedFile(fileFromParams);\n }\n }\n const componentType = embedComponentTypeOptions.some((o) => o === settings.embedComponentType)\n ? settings.embedComponentType\n : embedComponentTypeOptions[0];\n refreshSettingsAndCodeValues(parsedSettings, componentType, settings.dashboardId);\n }, []);\n};\n\nexport default useQueryParamEmbedSettings;\n","import React from 'react';\nimport styles from './Checkbox.module.scss';\n\nexport default function Checkbox({ checked = false, onChange = null }) {\n return (\n \n );\n}\n","import { nanoid } from '@reduxjs/toolkit';\nimport { useDispatch } from 'react-redux';\nimport Checkbox from 'src/components/Checkbox/Checkbox';\nimport { showModal } from 'src/components/ModalContainer/modalsSlice';\nimport InfoTooltip from '../InfoTooltip/InfoTooltip';\nimport styles from './EmbedOption.module.scss';\nimport { setEmbedDundasDefaultIds, synchronizePreviewSettings } from 'src/shared/store/embedSlice';\n\nexport default function EmbedOption({ value, fieldKey, onChange, name, content, link = null, options = [], defaultMappings }) {\n const dispatch = useDispatch();\n\n const docLinkClickHandler = (modalTitle, contentLink) => {\n dispatch(showModal({ name: modalTitle, id: nanoid(), contentLink }));\n };\n\n let selectElement;\n\n const handleDefaultId = (fieldKey, list, defaultFriendlyName) => {\n const defaultId = (list.find(d => d.friendlyName === defaultFriendlyName) || list[0] || {}).id || '';\n dispatch(setEmbedDundasDefaultIds({ [fieldKey]: defaultId }));\n dispatch(synchronizePreviewSettings());\n }\n\n if (\n name === 'Select Theme' ||\n name === 'Select Dashboard' ||\n name === 'Select Report' ||\n name === 'Select Scorecard' ||\n name === 'Select Metric Set'\n ) {\n if ((value === '' || value === undefined)) {\n const mapping = defaultMappings[fieldKey];\n if (mapping) {\n const { list, defaultFriendlyName } = mapping;\n handleDefaultId(fieldKey, list, defaultFriendlyName);\n }\n }\n\n selectElement = (\n onChange(fieldKey, e.target.value)}\n name={fieldKey}\n id={fieldKey}\n >\n {options.map(({ id, friendlyName }) => (\n \n ))}\n \n );\n } else {\n selectElement = (\n onChange(fieldKey, e.target.value)}\n name={fieldKey}\n id={fieldKey}\n >\n {options.map(({ value, label }) => (\n \n ))}\n \n );\n }\n\n const checkboxElement = onChange(fieldKey, e.target.checked)}>;\n\n return (\n
\n \n {options && options.length > 0 ? selectElement : checkboxElement}\n
\n );\n}\n","import { DOCUMENTATION_ITEMS } from './documentationConstants';\n\nexport const EMBED_OPTIONS = {\n ViewType: {\n fieldKey: 'ViewType',\n ...DOCUMENTATION_ITEMS.ViewType,\n options: [\n { value: 'dashboard', label: 'Dashboard' },\n { value: 'report', label: 'Report' },\n { value: 'scorecard', label: 'Scorecard' },\n ],\n },\n Theme: {\n fieldKey: 'theme',\n ...DOCUMENTATION_ITEMS.Theme,\n },\n dashboard: {\n fieldKey: 'dashboardId',\n ...DOCUMENTATION_ITEMS.Dashboard,\n },\n report: {\n fieldKey: 'reportId',\n ...DOCUMENTATION_ITEMS.Report,\n },\n scorecard: {\n fieldKey: 'scorecardId',\n ...DOCUMENTATION_ITEMS.Scorecard,\n },\n MetricSet: {\n fieldKey: 'metricSetId',\n ...DOCUMENTATION_ITEMS.MetricSet,\n },\n toolbarHidden: {\n fieldKey: 'toolbarHidden',\n ...DOCUMENTATION_ITEMS.toolbarHidden,\n },\n toolbarAddMetricsSetHidden: {\n fieldKey: 'toolbarAddMetricsSetHidden',\n ...DOCUMENTATION_ITEMS.toolbarAddMetricsSetHidden,\n },\n toolbarAddDashboardHidden: {\n fieldKey: 'toolbarAddDashboardHidden',\n ...DOCUMENTATION_ITEMS.toolbarAddDashboardHidden,\n },\n toolbarAddReportHidden: {\n fieldKey: 'toolbarAddReportHidden',\n ...DOCUMENTATION_ITEMS.toolbarAddReportHidden,\n },\n dockablesHidden: {\n fieldKey: 'dockablesHidden',\n ...DOCUMENTATION_ITEMS.dockablesHidden,\n },\n openExistingHidden: {\n fieldKey: 'openExistingHidden',\n ...DOCUMENTATION_ITEMS.openExistingHidden,\n },\n themeComposer: {\n fieldKey: 'themeComposer',\n ...DOCUMENTATION_ITEMS.themes,\n options: [\n { value: '__platform__', label: 'Default' },\n { value: 'composer', label: 'Composer' },\n { value: 'dark', label: 'Dark' },\n { value: 'modern', label: 'Modern' },\n ],\n },\n inventoryItem: {\n fieldKey: 'inventoryItem',\n ...DOCUMENTATION_ITEMS.inventoryItem,\n options: [\n { value: 'dashboard', label: 'Dashboard' },\n { value: 'visual', label: 'Visual' },\n { value: 'source', label: 'Source' },\n ],\n },\n ip: {\n fieldKey: 'ip',\n ...DOCUMENTATION_ITEMS.ip,\n options: [\n { value: 'readonly', label: 'Read only' },\n { value: 'interactive', label: 'Interactive' },\n ],\n },\n showHeader: {\n fieldKey: 'showHeader',\n ...DOCUMENTATION_ITEMS.dashboardShowHeader,\n },\n visualShowHeader: {\n fieldKey: 'showHeader',\n ...DOCUMENTATION_ITEMS.visualShowHeader,\n },\n showActions: {\n fieldKey: 'showActions',\n ...DOCUMENTATION_ITEMS.dashboardShowActions,\n },\n visualShowActions: {\n fieldKey: 'showActions',\n ...DOCUMENTATION_ITEMS.visualShowActions,\n },\n dashboardShowTitle: {\n fieldKey: 'showTitle',\n ...DOCUMENTATION_ITEMS.dashboardShowTitle,\n },\n dashboardLite: {\n fieldKey: 'embedInLiteMode',\n ...DOCUMENTATION_ITEMS.dashboardLite,\n },\n doubleDashboards: {\n fieldKey: 'doubleDashboards',\n ...DOCUMENTATION_ITEMS.doubleDashboards,\n },\n visualShowTitle: {\n fieldKey: 'showTitle',\n ...DOCUMENTATION_ITEMS.visualShowTitle,\n },\n editorPlacement: {\n fieldKey: 'editorPlacement',\n ...DOCUMENTATION_ITEMS.dashboardEditorPlacement,\n options: [\n { value: 'modals', label: 'Modals' },\n { value: 'dockRight', label: 'Dock right' },\n ],\n },\n visualEditorPlacement: {\n fieldKey: 'editorPlacement',\n ...DOCUMENTATION_ITEMS.visualEditorPlacement,\n options: [\n { value: 'dockRight', label: 'Dock right' },\n { value: 'modals', label: 'Modals' },\n ],\n },\n crossVisualFiltersPublish: {\n fieldKey: 'crossVisualFiltersPublish',\n ...DOCUMENTATION_ITEMS.publish,\n },\n crossVisualFiltersSubscribe: {\n fieldKey: 'crossVisualFiltersSubscribe',\n ...DOCUMENTATION_ITEMS.subscribe,\n },\n dashboardEventListeners: {\n fieldKey: 'dashboardEventListeners',\n ...DOCUMENTATION_ITEMS.dashboardEventListeners,\n },\n dashboardReadyEventListener: {\n fieldKey: 'dashboardReadyEventListener',\n ...DOCUMENTATION_ITEMS.dashboardReadyEventListener,\n },\n dashboardChangedEventListener: {\n fieldKey: 'dashboardChangedEventListener',\n ...DOCUMENTATION_ITEMS.dashboardChangedEventListener,\n },\n dashboardDeleteEventListener: {\n fieldKey: 'dashboardDeleteEventListener',\n ...DOCUMENTATION_ITEMS.dashboardDeleteEventListener,\n },\n dashboardLoadFailEventListener: {\n fieldKey: 'dashboardLoadFailEventListener',\n ...DOCUMENTATION_ITEMS.dashboardLoadFailEventListener,\n },\n dashboardSaveEventListener: {\n fieldKey: 'dashboardSaveEventListener',\n ...DOCUMENTATION_ITEMS.dashboardSaveEventListener,\n },\n dashboardVisualAddEventListener: {\n fieldKey: 'dashboardVisualAddEventListener',\n ...DOCUMENTATION_ITEMS.dashboardVisualAddEventListener,\n },\n dashboardVisualRemoveEventListener: {\n fieldKey: 'dashboardVisualRemoveEventListener',\n ...DOCUMENTATION_ITEMS.dashboardVisualRemoveEventListener,\n },\n dashboardBuilderReadyEventListener: {\n fieldKey: 'dashboardBuilderReadyEventListener',\n ...DOCUMENTATION_ITEMS.dashboardBuilderReadyEventListener,\n },\n dashboardBuilderChangedEventListener: {\n fieldKey: 'dashboardBuilderChangedEventListener',\n ...DOCUMENTATION_ITEMS.dashboardBuilderChangedEventListener,\n },\n dashboardBuilderDeleteEventListener: {\n fieldKey: 'dashboardBuilderDeleteEventListener',\n ...DOCUMENTATION_ITEMS.dashboardBuilderDeleteEventListener,\n },\n dashboardBuilderLoadFailEventListener: {\n fieldKey: 'dashboardBuilderLoadFailEventListener',\n ...DOCUMENTATION_ITEMS.dashboardBuilderLoadFailEventListener,\n },\n dashboardBuilderSaveEventListener: {\n fieldKey: 'dashboardBuilderSaveEventListener',\n ...DOCUMENTATION_ITEMS.dashboardBuilderSaveEventListener,\n },\n dashboardBuilderVisualAddEventListener: {\n fieldKey: 'dashboardBuilderVisualAddEventListener',\n ...DOCUMENTATION_ITEMS.dashboardBuilderVisualAddEventListener,\n },\n dashboardBuilderVisualRemoveEventListener: {\n fieldKey: 'dashboardBuilderVisualRemoveEventListener',\n ...DOCUMENTATION_ITEMS.dashboardBuilderVisualRemoveEventListener,\n },\n visualLoadEventListener: {\n fieldKey: 'visualLoadEventListener',\n ...DOCUMENTATION_ITEMS.visualLoadEventListener,\n },\n visualLoadFailEventListener: {\n fieldKey: 'visualLoadFailEventListener',\n ...DOCUMENTATION_ITEMS.visualLoadFailEventListener,\n },\n visualRenderEventListener: {\n fieldKey: 'visualRenderEventListener',\n ...DOCUMENTATION_ITEMS.visualRenderEventListener,\n },\n visualSaveEventListener: {\n fieldKey: 'visualSaveEventListener',\n ...DOCUMENTATION_ITEMS.visualSaveEventListener,\n },\n dashboardBuilderVisualLoadEventListener: {\n fieldKey: 'dashboardBuilderVisualLoadEventListener',\n ...DOCUMENTATION_ITEMS.dashboardBuilderVisualLoadEventListener,\n },\n dashboardBuilderVisualLoadFailEventListener: {\n fieldKey: 'dashboardBuilderVisualLoadFailEventListener',\n ...DOCUMENTATION_ITEMS.dashboardBuilderVisualLoadFailEventListener,\n },\n dashboardBuilderVisualRenderEventListener: {\n fieldKey: 'dashboardBuilderVisualRenderEventListener',\n ...DOCUMENTATION_ITEMS.dashboardBuilderVisualRenderEventListener,\n },\n dashboardBuilderVisualSaveEventListener: {\n fieldKey: 'dashboardBuilderVisualSaveEventListener',\n ...DOCUMENTATION_ITEMS.dashboardBuilderVisualSaveEventListener,\n },\n documentFailed: {\n fieldKey: 'documentFailed',\n ...DOCUMENTATION_ITEMS.documentFailed,\n },\n dashboardBuilderDocumentFailed: {\n fieldKey: 'dashboardBuilderDocumentFailed',\n ...DOCUMENTATION_ITEMS.dashboardBuilderDocumentFailed,\n },\n visualBuilderChange: {\n fieldKey: 'visualBuilderChange',\n ...DOCUMENTATION_ITEMS.visualBuilderChange,\n },\n visualBuilderFail: {\n fieldKey: 'visualBuilderFail',\n ...DOCUMENTATION_ITEMS.visualBuilderFail,\n },\n visualBuilderLoad: {\n fieldKey: 'visualBuilderLoad',\n ...DOCUMENTATION_ITEMS.visualBuilderLoad,\n },\n visualBuilderReady: {\n fieldKey: 'visualBuilderReady',\n ...DOCUMENTATION_ITEMS.visualBuilderReady,\n },\n\n dbVisualBuilderChange: {\n fieldKey: 'dbVisualBuilderChange',\n ...DOCUMENTATION_ITEMS.dbVisualBuilderChange,\n },\n dbVisualBuilderFail: {\n fieldKey: 'dbVisualBuilderFail',\n ...DOCUMENTATION_ITEMS.dbVisualBuilderFail,\n },\n dbVisualBuilderLoad: {\n fieldKey: 'dbVisualBuilderLoad',\n ...DOCUMENTATION_ITEMS.dbVisualBuilderLoad,\n },\n dbVisualBuilderReady: {\n fieldKey: 'dbVisualBuilderReady',\n ...DOCUMENTATION_ITEMS.dbVisualBuilderReady,\n },\n\n unauthorized: {\n fieldKey: 'unauthorized',\n ...DOCUMENTATION_ITEMS.unauthorized,\n },\n dashboardBuilderUnauthorized: {\n fieldKey: 'dashboardBuilderUnauthorized',\n ...DOCUMENTATION_ITEMS.dashboardBuilderUnauthorized,\n },\n inventoryEmbedListeners: {\n fieldKey: 'eventListeners',\n ...DOCUMENTATION_ITEMS.inventoryEventListeners,\n },\n inventoryEventListeners: {\n fieldKey: 'inventoryEventListeners',\n ...DOCUMENTATION_ITEMS.inventoryEventListeners,\n },\n inventoryReadyEventListener: {\n fieldKey: 'inventoryReadyEventListener',\n ...DOCUMENTATION_ITEMS.inventoryReadyEventListener,\n },\n inventoryFailEventListener: {\n fieldKey: 'inventoryFailEventListener',\n ...DOCUMENTATION_ITEMS.inventoryFailEventListener,\n },\n inventoryDeleteEventListener: {\n fieldKey: 'inventoryDeleteEventListener',\n ...DOCUMENTATION_ITEMS.inventoryDeleteEventListener,\n },\n dashboardBuilderEventListeners: {\n fieldKey: 'eventListeners',\n ...DOCUMENTATION_ITEMS.dashboardBuilderEventListeners,\n },\n dbEventListener: {\n fieldKey: 'dbEventListener',\n ...DOCUMENTATION_ITEMS.dashboardEventListeners,\n },\n visualEventListener: {\n fieldKey: 'visualEventListener',\n ...DOCUMENTATION_ITEMS.visualEventListener,\n },\n vbVisualLoadEventListener: {\n fieldKey: 'vbVisualLoadEventListener',\n ...DOCUMENTATION_ITEMS.visualLoadEventListener,\n },\n vbVisualLoadFailEventListener: {\n fieldKey: 'vbVisualLoadFailEventListener',\n ...DOCUMENTATION_ITEMS.visualLoadFailEventListener,\n },\n vbVisualRenderEventListener: {\n fieldKey: 'vbVisualRenderEventListener',\n ...DOCUMENTATION_ITEMS.visualRenderEventListener,\n },\n vbVisualSaveEventListener: {\n fieldKey: 'vbVisualSaveEventListener',\n ...DOCUMENTATION_ITEMS.visualSaveEventListener,\n },\n vbVisualBuilderChange: {\n fieldKey: 'vbVisualBuilderChange',\n ...DOCUMENTATION_ITEMS.visualBuilderChange,\n },\n vbVisualBuilderFail: {\n fieldKey: 'vbVisualBuilderFail',\n ...DOCUMENTATION_ITEMS.visualBuilderFail,\n },\n vbVisualBuilderReady: {\n fieldKey: 'vbVisualBuilderReady',\n ...DOCUMENTATION_ITEMS.visualBuilderReady,\n },\n dashboardIpOverrides: {\n fieldKey: 'dashboardIpOverrides',\n ...DOCUMENTATION_ITEMS.dashboardIpOverrides,\n },\n dashboardBuilderIpOverrides: {\n fieldKey: 'dashboardBuilderIpOverrides',\n ...DOCUMENTATION_ITEMS.dashboardBuilderIpOverrides,\n },\n visualIpOverrides: {\n fieldKey: 'visualIpOverrides',\n ...DOCUMENTATION_ITEMS.visualIpOverrides,\n },\n inventoryIpOverrides: {\n fieldKey: 'inventoryIpOverrides',\n ...DOCUMENTATION_ITEMS.inventoryIpOverrides,\n },\n listVisuals: {\n fieldKey: 'listVisuals',\n ...DOCUMENTATION_ITEMS.listVisuals,\n },\n listDashboards: {\n fieldKey: 'listDashboards',\n ...DOCUMENTATION_ITEMS.listDashboards,\n },\n embedSource: {\n fieldKey: 'embedSource',\n ...DOCUMENTATION_ITEMS.embedSource,\n },\n breadcrumbs: {\n fieldKey: 'breadcrumbs',\n ...DOCUMENTATION_ITEMS.breadcrumbs,\n },\n\n refresh: {\n fieldKey: 'refresh',\n ...DOCUMENTATION_ITEMS.refresh,\n },\n changeLayout: {\n fieldKey: 'changeLayout',\n ...DOCUMENTATION_ITEMS.changeLayout,\n },\n rename: {\n fieldKey: 'rename',\n ...DOCUMENTATION_ITEMS.rename,\n },\n shareFilterSets: {\n fieldKey: 'shareFilterSets',\n ...DOCUMENTATION_ITEMS.shareFilterSets,\n },\n dashboardInteractions: {\n fieldKey: 'dashboardInteractions',\n ...DOCUMENTATION_ITEMS.dashboardInteractions,\n },\n addToFavourites: {\n fieldKey: 'addToFavourites',\n ...DOCUMENTATION_ITEMS.addToFavourites,\n },\n exportPngPdf: {\n fieldKey: 'exportPngPdf',\n ...DOCUMENTATION_ITEMS.exportPngPdf,\n },\n dashboardLinks: {\n fieldKey: 'dashboardLinks',\n ...DOCUMENTATION_ITEMS.dashboardLinks,\n },\n exportConfiguration: {\n fieldKey: 'exportConfiguration',\n ...DOCUMENTATION_ITEMS.exportConfiguration,\n },\n addVisuals: {\n fieldKey: 'addVisuals',\n ...DOCUMENTATION_ITEMS.addVisuals,\n },\n delete: {\n fieldKey: 'delete',\n ...DOCUMENTATION_ITEMS.delete,\n },\n save: {\n fieldKey: 'save',\n ...DOCUMENTATION_ITEMS.save,\n },\n filter: {\n fieldKey: 'filter',\n ...DOCUMENTATION_ITEMS.filter,\n },\n manageTags: {\n fieldKey: 'manageTags',\n name: 'Manage Tags',\n },\n manageAlerts: {\n fieldKey: 'manageAlerts',\n name: 'Set Up Dashboard Alerts',\n },\n shareDashboard: {\n fieldKey: 'shareDashboard',\n name: 'Share Dashboard',\n },\n scheduleReports: {\n fieldKey: 'scheduleReports',\n name: 'Schedule Reports',\n },\n textSnippet: {\n fieldKey: 'textSnippet',\n name: 'Add Text Snippets',\n },\n filterSnippet: {\n fieldKey: 'filterSnippet',\n name: 'Add Filter Snippets',\n },\n widgetSettings: {\n fieldKey: 'widgetSettings',\n name: 'Widget Settings',\n },\n comments: {\n fieldKey: 'comments',\n name: 'Comments',\n },\n actionsAction: {\n fieldKey: 'actionsAction',\n ...DOCUMENTATION_ITEMS.actionsAction,\n },\n rulers: {\n fieldKey: 'rulers',\n ...DOCUMENTATION_ITEMS.rulers,\n },\n zoomAction: {\n fieldKey: 'zoomAction',\n ...DOCUMENTATION_ITEMS.zoomAction,\n },\n filterAction: {\n fieldKey: 'filterAction',\n ...DOCUMENTATION_ITEMS.filterAction,\n },\n colors: {\n fieldKey: 'colors',\n name: 'Colors',\n },\n metrics: {\n fieldKey: 'metrics',\n name: 'Metrics',\n },\n actions: {\n fieldKey: 'actions',\n name: 'Actions',\n },\n trendAction: {\n fieldKey: 'trendAction',\n name: 'Trend Action',\n },\n visualStyle: {\n fieldKey: 'visualStyle',\n name: 'Visual Style',\n },\n keysetAction: {\n fieldKey: 'keysetAction',\n name: 'Keyset Action',\n },\n keyset: {\n fieldKey: 'keyset',\n name: 'Keyset',\n },\n copy: {\n fieldKey: 'copy',\n name: 'Copy',\n },\n settings: {\n fieldKey: 'settings',\n name: 'Settings',\n },\n export: {\n fieldKey: 'export',\n name: 'Export',\n },\n timebarPanel: {\n fieldKey: 'timebarPanel',\n name: 'Timebar Panel',\n },\n detailsAction: {\n fieldKey: 'detailsAction',\n name: 'Details Action',\n },\n maximize: {\n fieldKey: 'maximize',\n name: 'Maximize',\n },\n linkAction: {\n fieldKey: 'linkAction',\n name: 'Link Action',\n },\n remove: {\n fieldKey: 'remove',\n name: 'Remove',\n },\n grouping: {\n fieldKey: 'grouping',\n name: 'Grouping',\n },\n sort: {\n fieldKey: 'sort',\n name: 'Sort',\n },\n timebarField: {\n fieldKey: 'timebarField',\n name: 'Timebar Field',\n },\n saveAs: {\n fieldKey: 'saveAs',\n name: 'Save As',\n },\n conditionalFormatting: {\n fieldKey: 'conditionalFormatting',\n name: 'Conditional Formatting',\n },\n info: {\n fieldKey: 'info',\n name: 'Info',\n },\n addNew: {\n fieldKey: 'addNew',\n name: 'Add New',\n },\n import: {\n fieldKey: 'import',\n name: 'Import',\n },\n permissions: {\n fieldKey: 'permissions',\n name: 'Permissions',\n },\n share: {\n fieldKey: 'share',\n name: 'Share',\n },\n multiSelect: {\n fieldKey: 'multiSelect',\n name: 'Multi Selection',\n },\n description: {\n fieldKey: 'description',\n name: 'Description',\n },\n tags: {\n fieldKey: 'tags',\n name: 'Tags',\n },\n rowSecurity: {\n fieldKey: 'rowSecurity',\n name: 'Row Security',\n },\n columnSecurity: {\n fieldKey: 'columnSecurity',\n name: 'Column Security',\n },\n clearCache: {\n fieldKey: 'clearCache',\n name: 'Clear Cache',\n },\n availableVisualTypes: {\n fieldKey: 'availableVisualTypes',\n name: 'Available Visual Types',\n },\n schedule: {\n fieldKey: 'schedule',\n name: 'Schedule',\n },\n favorites: {\n fieldKey: 'favorites',\n name: 'Favorites',\n },\n customizeActionButtons: {\n fieldKey: 'customizeActionButtons',\n ...DOCUMENTATION_ITEMS.customizeActionButtons,\n },\n customizeSearchControllers: {\n fieldKey: 'customizeSearchControllers',\n ...DOCUMENTATION_ITEMS.customizeSearchControllers,\n },\n customizeFilterButtons: {\n fieldKey: 'customizeFilterButtons',\n ...DOCUMENTATION_ITEMS.customizeFilterButtons,\n },\n customizeInventoryTable: {\n fieldKey: 'customizeInventoryTable',\n ...DOCUMENTATION_ITEMS.customizeInventoryTable,\n },\n sourceEditorShowHeader: {\n fieldKey: 'showHeader',\n ...DOCUMENTATION_ITEMS.sourceEditorShowHeader,\n },\n sourceEditorShowTitle: {\n fieldKey: 'showTitle',\n ...DOCUMENTATION_ITEMS.sourceEditorShowTitle,\n },\n sourceEditorActiveTab: {\n fieldKey: 'sourceEditorActiveTab',\n ...DOCUMENTATION_ITEMS.sourceEditorActiveTab,\n options: [\n { value: 'create', label: 'Create' },\n { value: 'fields', label: 'Fields' },\n { value: 'caching', label: 'Caching' },\n { value: 'settings', label: 'Settings' },\n ],\n },\n showCreateTab: {\n fieldKey: 'showCreateTab',\n ...DOCUMENTATION_ITEMS.showCreateTab,\n },\n showFieldsTab: {\n fieldKey: 'showFieldsTab',\n ...DOCUMENTATION_ITEMS.showFieldsTab,\n },\n showCacheTab: {\n fieldKey: 'showCacheTab',\n ...DOCUMENTATION_ITEMS.showCacheTab,\n },\n showSettingsTab: {\n fieldKey: 'showSettingsTab',\n ...DOCUMENTATION_ITEMS.showSettingsTab,\n },\n sourceEditorEventListeners: {\n fieldKey: 'sourceEditorEventListeners',\n ...DOCUMENTATION_ITEMS.sourceEditorEventListeners,\n },\n sourceEditorIpOverrides: {\n fieldKey: 'sourceEditorIpOverrides',\n ...DOCUMENTATION_ITEMS.sourceEditorIpOverrides,\n },\n addFromConnection: {\n fieldKey: 'addFromConnection',\n ...DOCUMENTATION_ITEMS.addFromConnection,\n },\n addFromFileUpload: {\n fieldKey: 'addFromFileUpload',\n ...DOCUMENTATION_ITEMS.addFromFileUpload,\n },\n selectFileUpload: {\n fieldKey: 'selectFileUpload',\n ...DOCUMENTATION_ITEMS.selectFileUpload,\n },\n uploadnewFile: {\n fieldKey: 'uploadnewFile',\n ...DOCUMENTATION_ITEMS.uploadnewFile,\n },\n createJoins: {\n fieldKey: 'createJoins',\n ...DOCUMENTATION_ITEMS.createJoins,\n },\n filterValuesEntities: {\n fieldKey: 'filterValuesEntities',\n ...DOCUMENTATION_ITEMS.filterValuesEntities,\n },\n exportSource: {\n fieldKey: 'exportSource',\n ...DOCUMENTATION_ITEMS.exportSource,\n },\n copySource: {\n fieldKey: 'copySource',\n ...DOCUMENTATION_ITEMS.copySource,\n },\n addDerivedField: {\n fieldKey: 'addDerivedField',\n ...DOCUMENTATION_ITEMS.addDerivedField,\n },\n addHierarchyField: {\n fieldKey: 'addHierarchyField',\n ...DOCUMENTATION_ITEMS.addHierarchyField,\n },\n addCustomMetric: {\n fieldKey: 'addCustomMetric',\n ...DOCUMENTATION_ITEMS.addCustomMetric,\n },\n visibility: {\n fieldKey: 'visibility',\n ...DOCUMENTATION_ITEMS.visibility,\n },\n filterValueOverrides: {\n fieldKey: 'filterValueOverrides',\n ...DOCUMENTATION_ITEMS.filterValueOverrides,\n },\n fieldCapabilities: {\n fieldKey: 'fieldCapabilities',\n ...DOCUMENTATION_ITEMS.fieldCapabilities,\n },\n manageTranslations: {\n fieldKey: 'manageTranslations',\n ...DOCUMENTATION_ITEMS.manageTranslations,\n },\n setUniqueKey: {\n fieldKey: 'setUniqueKey',\n ...DOCUMENTATION_ITEMS.setUniqueKey,\n },\n dataCache: {\n fieldKey: 'dataCache',\n ...DOCUMENTATION_ITEMS.dataCache,\n },\n statisticsCache: {\n fieldKey: 'statisticsCache',\n ...DOCUMENTATION_ITEMS.statisticsCache,\n },\n scheduleRefresh: {\n fieldKey: 'scheduleRefresh',\n ...DOCUMENTATION_ITEMS.scheduleRefresh,\n },\n fieldSettings: {\n fieldKey: 'fieldSettings',\n ...DOCUMENTATION_ITEMS.fieldSettings,\n },\n};\n","import React, { useCallback, useState } from 'react';\nimport styles from './EmbedOptions.module.scss';\nimport { useDispatch, useSelector } from 'react-redux';\nimport isEqual from 'lodash/isEqual';\nimport {\n setEmbedComponentType,\n setEmbedSetting,\n setEmbedSettings,\n synchronizePreviewSettings,\n setEmbedDashboardId,\n setEmbedOriginId,\n setEmbedSourceId,\n} from 'src/shared/store/embedSlice';\nimport EmbedOption from 'src/shared/components/EmbedOption/EmbedOption';\nimport { EMBED_OPTIONS } from 'src/shared/constants/embedOptionConstatns';\nimport Panel from 'src/shared/components/Panel/Panel';\nimport Tabs from 'src/components/Tabs/Tabs/Tabs';\nimport Tab from 'src/components/Tabs/Tabs/Tab';\nimport { getDefaultSettings } from 'src/helpers/embedOptionHelpers';\nimport {\n getDashboardList,\n getEmbedComponentType,\n getPreviewSettings,\n getThemesList,\n getReportList,\n getScorecardList,\n getMetricSetList,\n getDashboardListComposer,\n getEmbedDashboardId,\n getEmbedSourceId,\n getSourceList,\n} from 'src/shared/store/embedSelectors';\n\nconst dundasComponentOptions = [\n { label: 'Embed Viewer', value: 'embed-viewer' },\n { label: 'Metric Set', value: 'metric-set' },\n { label: 'Ad-Hoc Editor', value: 'adhoc-editor' },\n];\n\nconst composerComponentOptions = [\n { label: 'Dashboard', value: 'dashboard' },\n { label: 'Visual Builder', value: 'visual-builder' },\n { label: 'Dashboard Builder', value: 'dashboard-builder' },\n { label: 'Inventory', value: 'inventory' },\n { label: 'Source Editor', value: 'source-editor' },\n];\nfunction EmbedOptions({\n basicOptions,\n advancedOptions,\n componentTypes,\n interactivityOptions = null,\n eventListenerOptions = null,\n defaultOptions,\n productSelected,\n}) {\n const settings = useSelector((state) => state.embed.settings);\n const [tabIndex, setTabIndex] = useState(0);\n const embedComponentType = useSelector(getEmbedComponentType);\n const currentSettings = useSelector(getPreviewSettings);\n const themes = useSelector(getThemesList);\n const dashboards = useSelector(getDashboardListComposer);\n const dashboardId = useSelector(getEmbedDashboardId);\n const sources = useSelector(getSourceList);\n const sourceId = useSelector(getEmbedSourceId);\n const dashboardList = useSelector(getDashboardList);\n const reportList = useSelector(getReportList);\n const scorecardList = useSelector(getScorecardList);\n const metricSetList = useSelector(getMetricSetList);\n const componentOptions = productSelected === 'Composer' ? composerComponentOptions : dundasComponentOptions;\n const dispatch = useDispatch();\n const handleFieldChange = useCallback((name, value) => dispatch(setEmbedSetting({ name, value })), [setEmbedSetting]);\n const filteredComponentOptions = componentOptions.filter(({ value }) => componentTypes.some((ac) => ac === value));\n\n const getViewTypeList = (ViewType) => {\n const typeToList = {\n dashboard: dashboardList,\n report: reportList,\n scorecard: scorecardList,\n };\n\n return typeToList[ViewType] || [];\n };\n\n const defaultMappings = {\n dashboardId: { list: dashboardList, defaultFriendlyName: 'Summary' },\n reportId: { list: reportList, defaultFriendlyName: 'Monthly Report - R&C style' },\n scorecardId: { list: scorecardList, defaultFriendlyName: 'Wine Sales Scorecard' },\n metricSetId: { list: metricSetList, defaultFriendlyName: 'Manufacturer Product Distribution' },\n };\n return (\n
\n \n
    \n {filteredComponentOptions.length > 1 && (\n
    \n
  1. Select Component
  2. \n
    \n {\n dispatch(setEmbedComponentType(e.target.value));\n }}\n className={styles.componentTypeSelect}\n >\n {filteredComponentOptions.map((option) => (\n \n ))}\n \n {embedComponentType === 'dashboard' && (\n {\n const selectedOption = e.target.options[e.target.selectedIndex];\n const selectedOriginId = selectedOption.getAttribute('data-origin-id');\n\n dispatch(setEmbedDashboardId(e.target.value));\n dispatch(setEmbedOriginId(selectedOriginId));\n }}\n >\n {dashboards.map(({ id, name, originId }) => (\n \n ))}\n \n )}\n {embedComponentType === 'source-editor' && (\n {\n dispatch(setEmbedSourceId(e.target.value));\n }}\n >\n {sources.map(({ sourceId, sourceName }) => (\n \n ))}\n \n )}\n
    \n
    \n )}\n
    \n {productSelected !== 'Composer' && embedComponentType !== 'metric-set' &&
  3. General Options
  4. }\n {(embedComponentType === 'embed-viewer' || embedComponentType === 'adhoc-editor') && (\n \n )}\n {productSelected === 'Dundas' ?
    : ''}\n {productSelected === 'Composer' ?
  5. General Options
  6. :
  7. Options
  8. }\n {basicOptions.map(({ key }) => (\n \n ))}\n {embedComponentType === 'embed-viewer' && (\n \n )}\n {embedComponentType === 'metric-set' && (\n \n )}\n {interactivityOptions && (\n \n {Object.entries(interactivityOptions).map(([componentType, options]) => (\n \n
    \n {options.map(({ key }) => (\n \n ))}\n
    \n
    \n ))}\n
    \n )}\n {eventListenerOptions && (\n \n {Object.entries(eventListenerOptions).map(([componentType, options]) => (\n \n
    \n {options.map(({ key }) => (\n \n ))}\n
    \n
    \n ))}\n
    \n )}\n
    \n {advancedOptions.length > 0 && dashboards.length > 0 && (\n
    \n
  9. Advanced options
  10. \n {advancedOptions.map(({ key }) => (\n \n ))}\n
    \n )}\n
\n
\n
\n \n dispatch(setEmbedSettings({ ...getDefaultSettings(settings.ip, embedComponentType), ...defaultOptions }))\n }\n >\n Reset to Defaults\n \n \n
\n
\n );\n}\n\nexport default React.memo(EmbedOptions, (prevPros, nextProps) => {\n return (\n isEqual(prevPros.basicOptions, nextProps.basicOptions) &&\n isEqual(prevPros.advancedOptions, nextProps.advancedOptions) &&\n isEqual(prevPros.componentTypes, nextProps.componentTypes) &&\n isEqual(prevPros.interactivityOptions, nextProps.interactivityOptions) &&\n isEqual(prevPros.eventListenerOptions, nextProps.eventListenerOptions)\n );\n});\n","import classNames from 'classnames';\nimport React, { useEffect, useState } from 'react';\nimport { useSelector } from 'react-redux';\nimport styles from './EmbedPreview.module.scss';\nimport { getJsCode, getHtmlCode, getCssCode } from '../../store/embedSelectors';\n\nconst getSrcDoc = (html, js, css) =>\n `${html}`;\n\nexport default function EmbedPreview() {\n const html = useSelector(getHtmlCode);\n const js = useSelector(getJsCode);\n const css = useSelector(getCssCode);\n\n const [srcDoc, setSrcDoc] = useState(getSrcDoc(html, js));\n const [isIframeMouseBlocked, setisIframeMouseBlocked] = useState(false);\n\n const handleMouseDown = () => setisIframeMouseBlocked(true);\n const handleMouseUp = () => setisIframeMouseBlocked(false);\n\n useEffect(() => {\n document.addEventListener('mousedown', handleMouseDown);\n document.addEventListener('mouseup', handleMouseUp);\n\n return () => {\n document.removeEventListener('mousedown', handleMouseDown);\n document.removeEventListener('mouseup', handleMouseUp);\n };\n }, []);\n\n useEffect(() => {\n setSrcDoc(getSrcDoc(html, js, css));\n }, [html, js, css]);\n\n return (\n
\n

Preview

\n \n
\n );\n}\n","import React, { useEffect, useState } from 'react';\nimport ConnectedEmbedCode from 'src/shared/components/ConnectedEmbedCode/ConnectedEmbedCode';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { useHistory } from 'react-router-dom';\n\nimport {\n resetDefaults,\n setEditorCss,\n setEditorHtml,\n setEditorJs,\n setEmbedComponentType,\n setEmbedDashboardId,\n setEmbedSettings,\n setIsCodeRun,\n setIsCodeTouched,\n synchronizePreviewSettings,\n setIsEmbedReady,\n setSourceList,\n setEmbedSourceId,\n setDashboardListComposer,\n} from 'src/shared/store/embedSlice';\nimport { getCssCode, getHtmlCode, getJsCode } from 'src/shared/store/embedSelectors';\nimport AdvancedEmbed from 'src/shared/components/AdvancedEmbed/AdvancedEmbed';\nimport useQueryParamEmbedSettings from 'src/shared/hooks/useQueryParamEmbedSettings';\nimport { TABS } from 'src/shared/constants/liveCodeTabs';\nimport EmbedOptions from 'src/shared/components/EmbedOptions/EmbedOptions';\nimport EmbedPreview from 'src/shared/components/EmbedPreview/EmbedPreview';\nimport { getDefaultSettings } from 'src/helpers/embedOptionHelpers';\nimport { DEFAULT_INTERACTIVE_SETTINGS, DEFAULT_READONLY_SETTINGS } from 'src/shared/constants/defaultEmbedSettings';\nimport { NAME_OF_DEFAULT_DASHBOARD, DEFAULT_SOURCE } from 'src/shared/constants/embedComponentTypes';\n\nexport default function EmbedPage({ options, productSelected, defaultDashboardName }) {\n const [prevComponentType, setPrevComponentType] = useState(null);\n const [selectedTabIndex, setSelectedTabIndex] = useState(0);\n const [selectedFile, setSelectedFile] = useState(TABS.html);\n const [isWarningModalShown, setIsWarningModalShown] = useState(false);\n const [navigationUrl, setNavigationUrl] = useState(null);\n const isCodeTouched = useSelector((state) => state.embed.isCodeTouched);\n const settings = useSelector((state) => state.embed.settings);\n const embedComponentType = useSelector((state) => state.embed.embedComponentType);\n const dashboardId = useSelector((state) => state.embed.dashboardId);\n const jsCode = useSelector(getJsCode);\n const htmlCode = useSelector(getHtmlCode);\n const cssCode = useSelector(getCssCode);\n const dispatch = useDispatch();\n const history = useHistory();\n const refreshSettingsAndCodeValues = (parsedSettings, embedComponentType, id) => {\n dispatch(setEmbedComponentType(embedComponentType));\n if (id) {\n dispatch(setEmbedDashboardId(id));\n }\n dispatch(setEmbedSettings(parsedSettings));\n dispatch(synchronizePreviewSettings());\n };\n\n const componentTypes = Object.keys(options);\n const embedOptionsProps = options[embedComponentType];\n const defaultSettings = getDefaultSettings(settings.ip, embedComponentType);\n const defaultOptions = options[embedComponentType]\n ? Object.values(options[embedComponentType])\n .reduce((res, opt) => (opt.length ? [...res, ...opt] : res), [])\n .reduce((res, { key, defaultValue }) => ({ ...res, [key]: defaultValue }), {})\n : {};\n\n useEffect(() => {\n const settings = { ...defaultSettings, ...defaultOptions };\n if (prevComponentType && prevComponentType !== embedComponentType) {\n refreshSettingsAndCodeValues(settings, embedComponentType);\n }\n setPrevComponentType(embedComponentType);\n }, [embedComponentType, defaultSettings, defaultOptions]);\n\n useEffect(() => {\n const advancedIpSettings = settings.ip === 'interactive' ? DEFAULT_INTERACTIVE_SETTINGS : DEFAULT_READONLY_SETTINGS;\n dispatch(setEmbedSettings(advancedIpSettings));\n }, [settings.ip]);\n\n useEffect(() => {\n dispatch(resetDefaults());\n }, []);\n\n useEffect(() => {\n if (productSelected === 'Composer') {\n fetch(process.env.REACT_APP_API_DASHBOARDS_URL)\n .then((res) => res.json())\n .then((data) => {\n // find dashboard for specific tab\n let defaultDashboard = data.find((d) => d.name === defaultDashboardName);\n if (!defaultDashboard) {\n // use default dashboard by name or first one\n defaultDashboard = data.find((d) => d.name === NAME_OF_DEFAULT_DASHBOARD) || (data.length ? data[0] : {});\n }\n dispatch(setDashboardListComposer(data));\n // in case of empty dashboard list pass empty string\n dispatch(setEmbedDashboardId(defaultDashboard.id || ''));\n });\n }\n dispatch(setIsEmbedReady(true));\n }, []);\n\n useEffect(() => {\n if (productSelected === 'Composer') {\n fetch(process.env.REACT_APP_API_SOURCES_URL)\n .then((res) => res.json())\n .then((sources) => {\n const defaultSource = sources.find((s) => s.sourceId === DEFAULT_SOURCE);\n dispatch(setSourceList(sources));\n dispatch(setEmbedSourceId(defaultSource ? defaultSource.sourceId : sources[0] ? sources[0].sourceId : ''));\n });\n }\n }, []);\n\n useQueryParamEmbedSettings({\n settings,\n selectedTabIndex,\n selectedFile,\n embedComponentType,\n dashboardId,\n setSelectedTabIndex,\n setSelectedFile,\n refreshSettingsAndCodeValues,\n defaultSettings,\n embedComponentTypeOptions: Object.keys(options),\n });\n\n return embedOptionsProps ? (\n {\n dispatch(setIsCodeTouched(false));\n dispatch(setIsCodeRun(false));\n setIsWarningModalShown(false);\n if (navigationUrl) {\n history.push(navigationUrl);\n } else {\n setSelectedTabIndex(0);\n }\n }}\n onModalCancel={() => setIsWarningModalShown(false)}\n onTabSelect={(i) => {\n if (i === 0 && isCodeTouched) {\n setIsWarningModalShown(true);\n } else {\n dispatch(setEditorHtml(htmlCode));\n dispatch(setEditorJs(jsCode));\n dispatch(setEditorCss(cssCode));\n setSelectedTabIndex(i);\n }\n }}\n isWarningModalShown={isWarningModalShown}\n selectedTabIndex={selectedTabIndex}\n advancedEmbedOptions={\n \n }\n advancedEmbedCode={\n \n }\n advancedEmbedDashboardPreview={}\n showWarningModal={() => setIsWarningModalShown(true)}\n isCodeTouched={isCodeTouched}\n resetDefaults={() => dispatch(resetDefaults())}\n setNavigationUrl={setNavigationUrl}\n navigationUrl={navigationUrl}\n componentType={embedComponentType}\n productSelected={productSelected}\n >\n ) : (\n <>\n );\n}\n","import React from 'react';\nimport { OPTIONS } from 'src/pages/MainEmbedOptions/constatnts/mainEmbedOptionsOptions';\nimport EmbedPage from 'src/shared/components/EmbedPage/EmbedPage';\n\nexport default function MainEmbedOptions({ productSelected }) {\n return ;\n}\n","const commonInteractivitySettings = [\n { key: 'addNew', defaultValue: false },\n { key: 'import', defaultValue: false },\n { key: 'multiSelect', defaultValue: false },\n { key: 'export', defaultValue: false },\n { key: 'filter', defaultValue: false },\n { key: 'delete', defaultValue: false },\n { key: 'permissions', defaultValue: false },\n { key: 'favorites', defaultValue: false },\n { key: 'description', defaultvalue: false },\n { key: 'tags', defaultValue: false },\n];\nexport const OPTIONS = {\n dashboard: {\n basicOptions: [\n { key: 'ip', defaultValue: 'interactive' },\n { key: 'dashboardIpOverrides', defaultValue: true },\n ],\n advancedOptions: [],\n interactivityOptions: {\n Dashboard: [\n { key: 'refresh', defaultValue: false },\n { key: 'changeLayout', defaultValue: false },\n { key: 'rename', defaultValue: false },\n { key: 'dashboardInteractions', defaultValue: false },\n { key: 'addToFavourites', defaultValue: false },\n { key: 'exportPngPdf', defaultValue: false },\n { key: 'dashboardLinks', defaultValue: false },\n { key: 'exportConfiguration', defaultValue: false },\n { key: 'addVisuals', defaultValue: false },\n { key: 'delete', defaultValue: false },\n { key: 'save', defaultValue: false },\n { key: 'filter', defaultValue: false },\n { key: 'manageTags', defaultValue: false },\n { key: 'manageAlerts', defaultValue: false },\n { key: 'shareDashboard', defaultValue: false },\n { key: 'scheduleReports', defaultValue: false },\n { key: 'textSnippet', defaultValue: false },\n { key: 'filterSnippet', defaultValue: false },\n { key: 'widgetSettings', defaultValue: false },\n { key: 'comments', defaultValue: false },\n ],\n Visuals: [\n { key: 'actionsAction', defaultValue: false },\n { key: 'rulers', defaultValue: false },\n { key: 'zoomAction', defaultValue: false },\n { key: 'filterAction', defaultValue: false },\n { key: 'colors', defaultValue: false },\n { key: 'metrics', defaultValue: false },\n { key: 'actions', defaultValue: false },\n { key: 'trendAction', defaultValue: false },\n { key: 'visualStyle', defaultValue: false },\n { key: 'keysetAction', defaultValue: false },\n { key: 'keyset', defaultValue: false },\n { key: 'copy', defaultValue: false },\n { key: 'export', defaultValue: false },\n { key: 'timebarPanel', defaultValue: false },\n { key: 'detailsAction', defaultValue: false },\n { key: 'maximize', defaultValue: false },\n { key: 'linkAction', defaultValue: false },\n { key: 'remove', defaultValue: false },\n { key: 'grouping', defaultValue: false },\n { key: 'rename', defaultValue: false },\n { key: 'sort', defaultValue: false },\n { key: 'timebarField', defaultValue: false },\n { key: 'saveAs', defaultValue: false },\n { key: 'conditionalFormatting', defaultValue: false },\n { key: 'info', defaultValue: false },\n ],\n },\n },\n 'visual-builder': {\n basicOptions: [{ key: 'visualIpOverrides', defaultValue: true }],\n advancedOptions: [],\n interactivityOptions: {\n Visuals: [\n { key: 'actionsAction', defaultValue: false },\n { key: 'rulers', defaultValue: false },\n { key: 'zoomAction', defaultValue: false },\n { key: 'filterAction', defaultValue: false },\n { key: 'colors', defaultValue: false },\n { key: 'metrics', defaultValue: false },\n { key: 'actions', defaultValue: false },\n { key: 'trendAction', defaultValue: false },\n { key: 'visualStyle', defaultValue: false },\n { key: 'keysetAction', defaultValue: false },\n { key: 'keyset', defaultValue: false },\n { key: 'copy', defaultValue: false },\n { key: 'settings', defaultValue: false },\n { key: 'export', defaultValue: false },\n { key: 'timebarPanel', defaultValue: false },\n { key: 'detailsAction', defaultValue: false },\n { key: 'maximize', defaultValue: false },\n { key: 'linkAction', defaultValue: false },\n { key: 'remove', defaultValue: false },\n { key: 'grouping', defaultValue: false },\n { key: 'rename', defaultValue: false },\n { key: 'sort', defaultValue: false },\n { key: 'timebarField', defaultValue: false },\n { key: 'manageTags', defaultValue: false },\n { key: 'save', defaultValue: false },\n { key: 'conditionalFormatting', defaultValue: false },\n { key: 'info', defaultValue: false },\n ],\n },\n },\n 'dashboard-builder': {\n basicOptions: [{ key: 'dashboardBuilderIpOverrides', defaultValue: true }],\n advancedOptions: [],\n interactivityOptions: {\n Dashboard: [\n { key: 'refresh', defaultValue: false },\n { key: 'changeLayout', defaultValue: false },\n { key: 'rename', defaultValue: false },\n { key: 'shareFilterSets', defaultValue: false },\n { key: 'dashboardInteractions', defaultValue: false },\n { key: 'addToFavourites', defaultValue: false },\n { key: 'exportPngPdf', defaultValue: false },\n { key: 'dashboardLinks', defaultValue: false },\n { key: 'exportConfiguration', defaultValue: false },\n { key: 'addVisuals', defaultValue: false },\n { key: 'delete', defaultValue: false },\n { key: 'save', defaultValue: false },\n { key: 'filter', defaultValue: false },\n { key: 'manageTags', defaultValue: false },\n { key: 'manageAlerts', defaultValue: false },\n { key: 'shareDashboard', defaultValue: false },\n { key: 'scheduleReports', defaultValue: false },\n { key: 'textSnippet', defaultValue: false },\n { key: 'filterSnippet', defaultValue: false },\n { key: 'widgetSettings', defaultValue: false },\n { key: 'comments', defaultValue: false },\n ],\n Visuals: [\n { key: 'actionsAction', defaultValue: false },\n { key: 'rulers', defaultValue: false },\n { key: 'zoomAction', defaultValue: false },\n { key: 'filterAction', defaultValue: false },\n { key: 'colors', defaultValue: false },\n { key: 'metrics', defaultValue: false },\n { key: 'actions', defaultValue: false },\n { key: 'trendAction', defaultValue: false },\n { key: 'visualStyle', defaultValue: false },\n { key: 'keysetAction', defaultValue: false },\n { key: 'keyset', defaultValue: false },\n { key: 'copy', defaultValue: false },\n { key: 'settings', defaultValue: false },\n { key: 'export', defaultValue: false },\n { key: 'timebarPanel', defaultValue: false },\n { key: 'detailsAction', defaultValue: false },\n { key: 'maximize', defaultValue: false },\n { key: 'linkAction', defaultValue: false },\n { key: 'filter', defaultValue: false },\n { key: 'remove', defaultValue: false },\n { key: 'grouping', defaultValue: false },\n { key: 'rename', defaultValue: false },\n { key: 'sort', defaultValue: false },\n { key: 'timebarField', defaultValue: false },\n { key: 'save', defaultValue: false },\n { key: 'saveAs', defaultValue: false },\n { key: 'conditionalFormatting', defaultValue: false },\n { key: 'info', defaultValue: false },\n ],\n },\n },\n inventory: {\n basicOptions: [\n { key: 'inventoryItem', defaultValue: 'dashboard' },\n { key: 'inventoryIpOverrides', defaultValue: true },\n ],\n advancedOptions: [],\n interactivityOptions: {\n DashboardLibrary: [\n ...commonInteractivitySettings,\n { key: 'schedule', defaultValue: false },\n { key: 'share', defaultValue: false },\n ],\n VisualLibrary: [...commonInteractivitySettings],\n SourceLibrary: [\n ...commonInteractivitySettings,\n { key: 'rowSecurity', defaultValue: false },\n { key: 'columnSecurity', defaultValue: false },\n { key: 'clearCache', defaultValue: false },\n { key: 'availableVisualTypes', defaultValue: false },\n ],\n },\n },\n 'source-editor': {\n basicOptions: [{ key: 'sourceEditorIpOverrides', defaultValue: true }],\n advancedOptions: [],\n interactivityOptions: {\n Create: [\n { key: 'addFromConnection', defaultValue: true },\n { key: 'addFromFileUpload', defaultValue: true },\n { key: 'selectFileUpload', defaultValue: true },\n { key: 'uploadnewFile', defaultValue: true },\n { key: 'createJoins', defaultValue: true },\n { key: 'filterValuesEntities', defaultValue: true },\n { key: 'exportSource', defaultValue: true },\n { key: 'tags', defaultValue: true },\n { key: 'copySource', defaultValue: true },\n ],\n Fields: [\n { key: 'addDerivedField', defaultValue: true },\n { key: 'addHierarchyField', defaultValue: true },\n { key: 'addCustomMetric', defaultValue: true },\n { key: 'visibility', defaultValue: true },\n { key: 'settings', defaultValue: true },\n { key: 'delete', defaultValue: true },\n { key: 'filterValueOverrides', defaultValue: true },\n { key: 'fieldCapabilities', defaultValue: true },\n { key: 'manageTranslations', defaultValue: true },\n { key: 'setUniqueKey', defaultValue: true },\n ],\n Caching: [\n { key: 'dataCache', defaultValue: true },\n { key: 'statisticsCache', defaultValue: true },\n { key: 'scheduleRefresh', defaultValue: true },\n { key: 'fieldSettings', defaultValue: true },\n ],\n },\n },\n};\n","import React from 'react';\nimport EmbedPage from 'src/shared/components/EmbedPage/EmbedPage';\nimport { OPTIONS } from './constants/uxInteractivityOptions';\nimport { useSelector } from 'react-redux';\n\nexport default function UxInteractivity({ productSelected }) {\n const settings = useSelector((state) => state.embed.settings);\n const selectedInteractivityOptions =\n settings.inventoryItem === 'dashboard'\n ? { 'Dashboard Library': OPTIONS.inventory.interactivityOptions?.DashboardLibrary }\n : settings.inventoryItem === 'visual'\n ? { 'Visual Library': OPTIONS.inventory.interactivityOptions?.VisualLibrary }\n : settings.inventoryItem === 'source'\n ? { 'Source Library': OPTIONS.inventory.interactivityOptions?.SourceLibrary }\n : OPTIONS.inventory.interactivityOptions;\n\n return ;\n}\n","export const OPTIONS = {\n dashboard: {\n basicOptions: [{ key: 'themeComposer', defaultValue: '__platform__' }],\n advancedOptions: [],\n },\n 'visual-builder': {\n basicOptions: [{ key: 'themeComposer', defaultValue: '__platform__' }],\n advancedOptions: [],\n },\n 'dashboard-builder': {\n basicOptions: [{ key: 'themeComposer', defaultValue: '__platform__' }],\n advancedOptions: [],\n },\n 'source-editor': {\n basicOptions: [{ key: 'themeComposer', defaultValue: '__platform__' }],\n advancedOptions: [],\n },\n inventory: {\n basicOptions: [\n { key: 'themeComposer', defaultValue: '__platform__' },\n { key: 'inventoryItem', defaultValue: 'dashboard' },\n ],\n advancedOptions: [],\n },\n};\n","import React from 'react';\nimport EmbedPage from 'src/shared/components/EmbedPage/EmbedPage';\nimport { OPTIONS } from './constants/uiThemesOptions';\n\nexport default function UiThemes({ productSelected }) {\n return ;\n}\n","export const OPTIONS = {\n dashboard: {\n basicOptions: [\n { key: 'crossVisualFiltersPublish', defaultValue: true },\n { key: 'crossVisualFiltersSubscribe', defaultValue: false },\n ],\n advancedOptions: [],\n },\n};\n","import React from 'react';\nimport EmbedPage from 'src/shared/components/EmbedPage/EmbedPage';\nimport { OPTIONS } from './constants/crossVisualFilteringOptions';\n\nexport default function CrossVisualFiltering({ productSelected, defaultDashboardName }) {\n return (\n \n );\n}\n","export const OPTIONS = {\n 'visual-builder': {\n basicOptions: [{ key: 'listVisuals', defaultValue: true }],\n advancedOptions: [],\n },\n 'dashboard-builder': {\n basicOptions: [{ key: 'listDashboards', defaultValue: true }],\n advancedOptions: [],\n },\n};\n","import React from 'react';\nimport EmbedPage from 'src/shared/components/EmbedPage/EmbedPage';\nimport { OPTIONS } from './constants/embedApiOptions';\n\nexport default function EmbedApi({ productSelected }) {\n return ;\n}\n","export const OPTIONS = {\n dashboard: {\n basicOptions: [{ key: 'dashboardEventListeners', defaultValue: true }],\n advancedOptions: [],\n eventListenerOptions: {\n Dashboard: [\n { key: 'dashboardChangedEventListener', defaultValue: false },\n { key: 'dashboardDeleteEventListener', defaultValue: false },\n { key: 'dashboardLoadFailEventListener', defaultValue: false },\n { key: 'dashboardReadyEventListener', defaultValue: false },\n { key: 'dashboardSaveEventListener', defaultValue: false },\n { key: 'dashboardVisualAddEventListener', defaultValue: false },\n { key: 'dashboardVisualRemoveEventListener', defaultValue: false },\n ],\n Visual: [\n { key: 'visualLoadEventListener', defaultValue: false },\n { key: 'visualLoadFailEventListener', defaultValue: false },\n { key: 'visualRenderEventListener', defaultValue: false },\n { key: 'visualSaveEventListener', defaultValue: false },\n ],\n Document: [\n { key: 'documentFailed', defaultValue: false },\n { key: 'unauthorized', defaultValue: false },\n ],\n VisualAuthoring: [\n { key: 'visualBuilderChange', defaultValue: false },\n { key: 'visualBuilderFail', defaultValue: false },\n { key: 'visualBuilderLoad', defaultValue: false },\n { key: 'visualBuilderReady', defaultValue: false },\n ],\n },\n },\n 'visual-builder': {\n basicOptions: [{ key: 'visualEventListener', defaultValue: true }],\n advancedOptions: [],\n eventListenerOptions: {\n Visual: [\n { key: 'vbVisualLoadEventListener', defaultValue: false },\n { key: 'vbVisualLoadFailEventListener', defaultValue: false },\n { key: 'vbVisualRenderEventListener', defaultValue: false },\n { key: 'vbVisualSaveEventListener', defaultValue: false },\n ],\n VisualAuthoring: [\n { key: 'vbVisualBuilderChange', defaultValue: false },\n { key: 'vbVisualBuilderFail', defaultValue: false },\n { key: 'vbVisualBuilderReady', defaultValue: false },\n ],\n },\n },\n 'dashboard-builder': {\n basicOptions: [{ key: 'dbEventListener', defaultValue: true }],\n advancedOptions: [],\n eventListenerOptions: {\n Dashboard: [\n { key: 'dashboardBuilderChangedEventListener', defaultValue: false },\n { key: 'dashboardBuilderDeleteEventListener', defaultValue: false },\n { key: 'dashboardBuilderLoadFailEventListener', defaultValue: false },\n { key: 'dashboardBuilderReadyEventListener', defaultValue: false },\n { key: 'dashboardBuilderSaveEventListener', defaultValue: false },\n { key: 'dashboardBuilderVisualAddEventListener', defaultValue: false },\n { key: 'dashboardBuilderVisualRemoveEventListener', defaultValue: false },\n ],\n Visual: [\n { key: 'dashboardBuilderVisualLoadEventListener', defaultValue: false },\n { key: 'dashboardBuilderVisualLoadFailEventListener', defaultValue: false },\n { key: 'dashboardBuilderVisualRenderEventListener', defaultValue: false },\n { key: 'dashboardBuilderVisualSaveEventListener', defaultValue: false },\n ],\n Document: [\n { key: 'dashboardBuilderDocumentFailed', defaultValue: false },\n { key: 'dashboardBuilderUnauthorized', defaultValue: false },\n ],\n VisualAuthoring: [\n { key: 'dbVisualBuilderChange', defaultValue: false },\n { key: 'dbVisualBuilderFail', defaultValue: false },\n { key: 'dbVisualBuilderLoad', defaultValue: false },\n { key: 'dbVisualBuilderReady', defaultValue: false },\n ],\n },\n },\n inventory: {\n basicOptions: [\n { key: 'inventoryItem', defaultValue: 'dashboard' },\n { key: 'inventoryEventListeners', defaultValue: true },\n { key: 'inventoryReadyEventListener', defaultValue: false },\n { key: 'inventoryFailEventListener', defaultValue: false },\n { key: 'inventoryDeleteEventListener', defaultValue: false },\n ],\n advancedOptions: [],\n },\n 'source-editor': {\n basicOptions: [{ key: 'sourceEditorEventListeners', defaultValue: true }],\n advancedOptions: [],\n },\n};\n","import React from 'react';\nimport EmbedPage from 'src/shared/components/EmbedPage/EmbedPage';\nimport { OPTIONS } from './constants/eventListenerOptions';\n\nexport default function EventListeners({ productSelected }) {\n return ;\n}\n","export const OPTIONS = {\n 'embed-viewer': {\n basicOptions: [{ key: 'ViewType', defaultValue: 'dashboard' }],\n advancedOptions: [],\n },\n 'metric-set': {\n basicOptions: [],\n advancedOptions: [],\n },\n 'adhoc-editor': {\n basicOptions: [\n { key: 'toolbarHidden', defaultValue: false },\n { key: 'toolbarAddMetricsSetHidden', defaultValue: false },\n { key: 'toolbarAddDashboardHidden', defaultValue: false },\n { key: 'toolbarAddReportHidden', defaultValue: false },\n { key: 'dockablesHidden', defaultValue: false },\n { key: 'openExistingHidden', defaultValue: false },\n ],\n advancedOptions: [],\n },\n};\n","import React from 'react';\nimport { OPTIONS } from 'src/pages/DundasMainEmbedOptions/constants/mainEmbedOptionsOptions';\nimport EmbedPage from 'src/shared/components/EmbedPage/EmbedPage';\n\nexport default function DundasMainEmbedOptions({ productSelected }) {\n return ;\n}\n","export const apiUrl = process.env.REACT_APP_API_SAMPLES_URL;\n","const ACCESS_TOKEN_KEY = 'accessToken';\nconst REFRESH_TOKEN_KEY = 'refreshToken';\n\nexport const getAccessToken = () => localStorage.getItem(ACCESS_TOKEN_KEY);\nexport const setAccessToken = (token) => localStorage.setItem(ACCESS_TOKEN_KEY, token);\nexport const clearAccessToken = () => localStorage.removeItem(ACCESS_TOKEN_KEY);\n\nexport const getRefreshToken = () => localStorage.getItem(REFRESH_TOKEN_KEY);\nexport const setRefreshToken = (token) => localStorage.setItem(REFRESH_TOKEN_KEY, token);\nexport const clearRefreshToken = () => localStorage.removeItem(REFRESH_TOKEN_KEY);\n","import { apiUrl } from '../config/api';\nimport { clearAccessToken, clearRefreshToken, getAccessToken, getRefreshToken, setAccessToken } from '../helpers/auth';\nimport axios from 'axios';\n\nconst httpClient = axios.create({\n baseURL: apiUrl,\n headers: { Accept: 'Application/Json' },\n});\nhttpClient.interceptors.request.use((config) => {\n const accessToken = getAccessToken();\n const newConfig = { ...config, headers: { ...config.headers, Authorization: `Bearer ${accessToken}` } };\n return newConfig;\n});\n\nconst logout = () => {\n clearAccessToken();\n clearRefreshToken();\n};\n\nconst refreshAccessToken = async () => {\n let accessToken = null;\n const refreshToken = getRefreshToken();\n if (!refreshToken) {\n logout();\n\n return;\n }\n try {\n const { data } = await axios.post(`${apiUrl}/refresh-token`, { refreshToken });\n accessToken = data.accessToken;\n } catch {\n logout();\n\n return;\n }\n if (!accessToken) {\n logout();\n\n return;\n }\n return accessToken;\n};\n\nhttpClient.interceptors.response.use(\n (response) => {\n return response;\n },\n async function (error) {\n const originalRequest = error.config;\n if ((error.response.status === 401 || error.response.status === 403) && !originalRequest._retry) {\n originalRequest._retry = true;\n const accessToken = await refreshAccessToken();\n if (accessToken) {\n setAccessToken(accessToken);\n }\n return httpClient(originalRequest);\n }\n return Promise.reject(error);\n }\n);\n\nexport default httpClient;\n","import { useState } from 'react';\nimport { createAccount } from 'src/api/user';\nimport InfoTooltip from 'src/shared/components/InfoTooltip/InfoTooltip';\nimport styles from './NewAccount.module.scss';\n\nconst EMPTY_ACCOUNT = { accountName: '', password: '', customerName: '', prospectName: '', notes: '' };\nconst PASSWORD_PATTERN =\n '^(?=(.*[0-9]){1,})(?=(.*[a-z]){1,})(?=(.*[A-Z]){1,})(?=(.*[!@#$%\\\\^&*()\\\\-_=+,.:;<>]){1,}).{9,255}$';\n\nconst formControls = [\n {\n label: 'Account name',\n property: 'accountName',\n },\n {\n label: 'Admin user name',\n property: 'customerName',\n },\n {\n label: 'Password',\n property: 'password',\n type: 'password',\n helpText:\n 'Password must contain at least 9 characters including 1 lowercase, 1 uppercase, 1 number and 1 special (!@#$%^&*()-_=+,.:;<>).',\n },\n {\n label: 'Prospect Name',\n property: 'prospectName',\n },\n {\n label: 'Notes',\n property: 'notes',\n type: 'textarea',\n },\n];\n\nexport default function NewAccount() {\n const [account, setAccount] = useState(EMPTY_ACCOUNT);\n const [message, setMessage] = useState(null);\n\n const handleSubmit = (e) => {\n e.preventDefault();\n createAccount(account)\n .then(() => {\n setAccount(EMPTY_ACCOUNT);\n setMessage({ type: 'success', text: 'New Account has been created' });\n })\n .catch((err) => setMessage({ type: 'error', text: err.message || err.details || 'Something went wrong' }));\n };\n\n const isPasswordInvalid = () => {\n return account.password && !account.password.match(PASSWORD_PATTERN);\n };\n\n return (\n
\n

New Account

\n
\n {formControls.map((control) => (\n
\n \n
\n {control.type === 'textarea' ? (\n setAccount({ ...account, [control.property]: target.value })}\n />\n ) : (\n setAccount({ ...account, [control.property]: target.value })}\n />\n )}\n {control.helpText && {control.helpText}}\n
\n
\n ))}\n
\n \n
\n
\n {message && (\n
\n

{message.text}

\n
\n )}\n
\n );\n}\n","import httpClient from './httpClient';\n\nexport const signInUser = ({ email, password }) => httpClient.post('/signin', { email, password });\nexport const getUserData = () => httpClient.get(process.env.REACT_APP_API_USER_URL);\n\nexport const loginPlaygroundUserAPI = (formData) =>\n fetch(`${process.env.REACT_APP_API_LOGIN_URL}`, { method: 'POST', body: formData }).then(async (res) => {\n if (res.status !== 200) {\n throw new Error(await res.json());\n }\n });\nexport const logoutPlaygroundUserAPI = () => fetch(`${process.env.REACT_APP_API_LOGOUT_URL}`);\nexport const getCurrentPlaygroundUserAPI = () =>\n fetch(process.env.REACT_APP_API_USER_URL).then(async (res) => {\n if (res.status === 200) {\n return res.json();\n } else {\n throw new Error(await res.json());\n }\n });\n\nexport const createAccount = (data) =>\n fetch(`${process.env.REACT_APP_API_ACCOUNTS_URL}`, {\n method: 'POST',\n body: JSON.stringify(data),\n headers: {\n 'Content-Type': 'application/json',\n },\n }).then(async (res) => {\n if (res.status !== 200) {\n const data = await res.json();\n throw data;\n }\n });\n","export default __webpack_public_path__ + \"static/media/flyover-video-bg.6a5499d2.svg\";","export default __webpack_public_path__ + \"static/media/playgroundimage.922b6be3.png\";","import styles from './Landing.module.scss';\nimport bgImg from './images/flyover-video-bg.svg';\nimport PreviewImage1 from './images/playgroundimage.png';\nimport { VDDIcon, MDRIcon } from 'src/components/RemixIcons/generated/remixIcons';\n\nimport { useHistory } from 'react-router-dom/cjs/react-router-dom.min';\nimport { useState, useEffect } from 'react';\n\nexport default function Landing() {\n const history = useHistory();\n const [email, setEmail] = useState('');\n\n const [emailError, setEmailError] = useState('');\n\n // Function to handle error display and validation\n const validateAndSetError = () => {\n if (!email.trim()) {\n setEmailError('Email cannot be empty');\n return false;\n } else if (!validateEmail(email)) {\n setEmailError('Invalid email format');\n return false;\n }\n setEmailError('');\n return true;\n };\n\n const handleDemoButtonClick = () => {\n if (!email.trim()) {\n setEmailError('Email cannot be empty');\n } else {\n const isValid = validateAndSetError();\n if (isValid) {\n window.location.href = `https://insightsoftware.com/demo/logi-symphony/?email=${encodeURIComponent(email)}`;\n }\n }\n };\n\n const handlePricingButtonClick = () => {\n if (!email.trim()) {\n setEmailError('Email cannot be empty');\n } else {\n const isValid = validateAndSetError();\n if (isValid) {\n window.location.href = `https://insightsoftware.com/request-a-price/?email=${encodeURIComponent(email)}`;\n }\n }\n };\n\n const handleEmailChange = (event) => {\n const inputEmail = event.target.value;\n setEmail(inputEmail);\n if (!inputEmail.trim()) {\n setEmailError('Email cannot be empty');\n } else if (emailError) {\n setEmailError('');\n }\n };\n\n const validateEmail = (input) => {\n const re = /\\S+@\\S+\\.\\S+/;\n return re.test(input);\n };\n\n function scrollToSection(sectionId) {\n const section = document.getElementById(sectionId);\n if (section) {\n const headerHeight = 40; // Replace this with the actual height of your fixed header\n const offset = section.offsetTop - headerHeight;\n\n window.scrollTo({\n top: offset,\n behavior: 'smooth',\n });\n }\n }\n\n\n useEffect(() => {\n const params = new URLSearchParams(window.location.search);\n const emailParam = params.get('email');\n if (emailParam) {\n setEmail(decodeURIComponent(emailParam));\n }\n }, []);\n\n return (\n
\n
\n
\n
\n

Logi Symphony Developer Samples and Playground

\n

\n Explore the Logi Symphony Developer Playground, a space dedicated to our low-code, rapid development tools\n crafted for software teams. Dive into white-labeling options, grab functional code samples, and discover\n straightforward embedding features. Start effortlessly creating interactive analytics embeddable content\n that suits your brand and business needs.\n

\n
\n \n \n Learn More\n \n
\n
\n
\n\n
\n \n \n
\n
\n\n
\n

Our features

\n

\n The flexible, purpose-built BI and Analytics platform for embedding into other applications. Try it now!\n

\n
\n\n
\n
\n
\n
\n \n
\n\n
\n

Managed Dashboards & Reports

\n

\n Take control of the user experience and provide users with perfectly executed prefabricated dashboards\n and reports. Take the work out of the hands of your users and give them the answers they need, delivered\n seamlessly through our platform.\n

\n
\n
\n
\n \n \n Learn More\n \n
\n
\n\n
\n
\n
\n \n
\n\n
\n

Visual Data Discovery

\n

\n Liberate end users from limitations by enabling them to construct their own dashboards, metrics,\n formulas, and more seamlessly within other applications. Our Visual Data Discovery offers an embeddable\n interface, empowering users with flexibility and control.\n

\n
\n
\n
\n \n \n Learn More\n \n
\n
\n
\n\n
\n

Learn more about the product

\n
\n \n \n
\n {emailError &&
{emailError}
}\n
\n {\n const isValid = validateAndSetError();\n if (isValid) {\n handleDemoButtonClick();\n }\n }}\n >\n Get a Demo\n \n {\n const isValid = validateAndSetError();\n if (isValid) {\n handlePricingButtonClick();\n }\n }}\n >\n Get Pricing\n \n
\n
\n
\n );\n}\n","import { apiUrl } from '../config/api';\nimport axios from 'axios';\n\nconst publicHttpClient = axios.create({\n baseURL: apiUrl,\n headers: { Accept: 'Application/Json' },\n});\n\nexport default publicHttpClient;\n","import httpClient from './httpClient';\nimport publicHttpClient from './publicHttpClient';\n\nexport const fetchMySamples = () => httpClient.get('/my-samples');\nexport const fetchSample = (id) => httpClient.get(`/samples/${id}`);\nexport const deleteSampleById = (id) => httpClient.delete(`/samples/${id}`);\nexport const putSample = (sample) => httpClient.put(`/samples/${sample.id}`, sample);\n\nexport const postSample = (sample) => httpClient.post('/samples', sample);\nexport const fetchPublicSamples = (sample) => publicHttpClient.get('/public-samples', sample);\nexport const updateSamplePublicValue = ({ sampleId, isPublic }) =>\n httpClient.put(`/samples/${sampleId}/public`, { isPublic });\n","import { fetchPublicSamples } from 'src/api/samples';\n\nconst { createAsyncThunk } = require('@reduxjs/toolkit');\n\nexport const getPublicSamples = createAsyncThunk('publicSamples/getPublicSamples', async () => {\n const response = await fetchPublicSamples();\n return response.data;\n});\n","import { fetchMySamples, postSample, deleteSampleById, updateSamplePublicValue } from 'src/api/samples';\nimport { getDefaultSettings } from 'src/helpers/embedOptionHelpers';\nimport { getPublicSamples } from 'src/samplesRedux/thunks';\nimport { EMBED_COMPONENT_TYPES } from 'src/shared/constants/embedComponentTypes';\nimport {\n COMMON_EMBED_HTML_CODE,\n COMMON_EMBED_JS_CODE,\n COMMON_EMBED_CSS_CODE,\n} from 'src/shared/constants/liveCodeScripts/commonCode';\nimport {\n applySettingsToHtmlCode,\n applySettingsToJsCode,\n applySettingsToCssCode,\n} from 'src/shared/utils/codeBuilderHelpers';\n\nconst { createAsyncThunk } = require('@reduxjs/toolkit');\n\nexport const getMySamples = createAsyncThunk('samples/fethMySamples', async () => {\n const response = await fetchMySamples();\n return response.data.data;\n});\n\nexport const deleteSample = createAsyncThunk('samples/deleteSample', async (id) => {\n await deleteSampleById(id);\n});\n\nexport const setSamplePublicValue = createAsyncThunk(\n 'samples/setSamplePublicValue',\n async ({ sampleId, isPublic }, { dispatch }) => {\n await updateSamplePublicValue({ sampleId, isPublic }).then(() => {\n dispatch(getPublicSamples());\n });\n }\n);\n\nexport const createNewSample = createAsyncThunk('samples/createNewSample', async ({ html, css, js, title }) => {\n const response = await postSample({\n html:\n html ||\n applySettingsToHtmlCode(\n COMMON_EMBED_HTML_CODE,\n getDefaultSettings('interactive', EMBED_COMPONENT_TYPES.dashboard)\n ),\n js:\n js ||\n applySettingsToJsCode(\n COMMON_EMBED_JS_CODE,\n getDefaultSettings('interactive', EMBED_COMPONENT_TYPES.dashboard),\n EMBED_COMPONENT_TYPES.dashboard\n ),\n css:\n css ||\n applySettingsToCssCode(COMMON_EMBED_CSS_CODE, getDefaultSettings('interactive', EMBED_COMPONENT_TYPES.dashboard)),\n title,\n });\n\n return response.data;\n});\n","import { createSlice } from '@reduxjs/toolkit';\nimport { createNewSample, getMySamples } from './thunks';\n\nconst initialState = {\n samples: [],\n isLoading: false,\n newSampleId: '',\n};\n\nexport const slice = createSlice({\n name: 'mySamples',\n initialState,\n reducers: {\n setSamples(state, { payload }) {\n state.samples = payload;\n },\n setIsLoading(state, { payload }) {\n state.isLoading = payload;\n },\n setNewSampleId(state, { payload }) {\n state.newSampleId = payload;\n },\n setSamplePublicValueLocal(state, { payload }) {\n const sample = state.samples.find(({ id }) => id === payload.sampleId);\n if (!sample) {\n return;\n }\n sample.isPublic = payload.isPublic;\n },\n },\n extraReducers: (builder) =>\n builder\n .addCase(getMySamples.fulfilled, (state, { payload }) => {\n state.samples = payload;\n state.isLoading = false;\n })\n .addCase(createNewSample.fulfilled, (state, { payload }) => {\n state.newSampleId = payload.id;\n }),\n});\n\nexport const { setSamples, setIsLoading, setNewSampleId, setSamplePublicValueLocal } = slice.actions;\n\nexport default slice.reducer;\n","import {\n loginPlaygroundUserAPI,\n getCurrentPlaygroundUserAPI,\n logoutPlaygroundUserAPI,\n signInUser,\n getUserData,\n} from 'src/api/user';\n\nconst { createAsyncThunk } = require('@reduxjs/toolkit');\n\nexport const signIn = createAsyncThunk('user/signIn', async ({ email, password }) => {\n const response = await signInUser({ email, password });\n return response.data;\n});\n\nexport const getUser = createAsyncThunk('user/getUserData', async () => {\n const response = await getUserData();\n return response.data;\n});\n\nexport const loginPlaygroundUser = createAsyncThunk('user/loginPlaygroundUser', async (formData) => {\n await loginPlaygroundUserAPI(formData);\n});\n\nexport const logoutPlaygroundUser = createAsyncThunk('user/logoutPlaygroundUser', async () => {\n await logoutPlaygroundUserAPI();\n if (location.pathname === '/new-account') {\n location.pathname = '/';\n } else {\n let params = new URLSearchParams(location.search);\n params.delete('dashboardId');\n history.replaceState(null, '', location.pathname + '?' + params);\n location.reload();\n }\n});\n\nexport const getCurrentPlaygroundUser = createAsyncThunk('user/getCurrentPlaygroundUser', async () => {\n return await getCurrentPlaygroundUserAPI();\n});\n","import { createSlice } from '@reduxjs/toolkit';\nimport { setAccessToken, setRefreshToken } from 'src/helpers/auth';\nimport { getUser, signIn } from './thunks';\n\nconst initialState = {\n user: null,\n isLoading: false,\n isFailed: false,\n};\n\nexport const slice = createSlice({\n name: 'user',\n initialState,\n reducers: {\n setIsLoading(state, { payload }) {\n state.isLoading = payload;\n },\n setIsFailed(state, { payload }) {\n state.isFailed = payload;\n },\n },\n extraReducers: (builder) =>\n builder\n .addCase(signIn.fulfilled, (state, { payload }) => {\n state.user = payload;\n setAccessToken(payload.accessToken);\n setRefreshToken(payload.refreshToken);\n state.isLoading = false;\n })\n .addCase(signIn.rejected, (state) => {\n state.isLoading = false;\n state.isFailed = true;\n })\n .addCase(getUser.fulfilled, (state, { payload }) => {\n state.user = payload;\n state.isLoading = false;\n })\n .addCase(getUser.rejected, (state) => {\n state.isLoading = false;\n }),\n});\n\nexport const { setIsLoading, setIsFailed } = slice.actions;\n\nexport default slice.reducer;\n","import { useEffect } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { getAccessToken, getRefreshToken } from 'src/helpers/auth';\nimport { setIsLoading } from 'src/redux/userSlice';\nimport { getUser } from '../redux/thunks';\n\nexport const useAuth = () => {\n const dispatch = useDispatch();\n const { user, isLoading } = useSelector((state) => state.user);\n\n useEffect(() => {\n if (!user) {\n const accessToken = getAccessToken();\n const refreshToken = getRefreshToken();\n if (!accessToken && !refreshToken) {\n return;\n }\n dispatch(setIsLoading(true));\n dispatch(getUser());\n }\n }, [user]);\n\n return { user, isUserLoading: isLoading };\n};\n","import React, { memo } from 'react';\nimport styles from './LayoutHeader.module.scss';\n\nconst LayoutHeaderComponent = () => {\n return (\n
\n

Developer Community

\n

Create. Save. Share.

\n

\n Welcome to your Developer Community. Browse, edit, and test public custom code samples live in Composer\n Playground. Current Composer customer? Create, save, and share your code samples across your organization. Make\n changes live that update at save, or fork your code to try a new approach.\n

\n
\n );\n};\n\nexport const LayoutHeader = memo(LayoutHeaderComponent);\n","var _path;\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport * as React from \"react\";\nfunction SvgDelete(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 24,\n height: 24,\n viewBox: \"0 0 24 24\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M3 6v18h18v-18h-18zm5 14c0 .552-.448 1-1 1s-1-.448-1-1v-10c0-.552.448-1 1-1s1 .448 1 1v10zm5 0c0 .552-.448 1-1 1s-1-.448-1-1v-10c0-.552.448-1 1-1s1 .448 1 1v10zm5 0c0 .552-.448 1-1 1s-1-.448-1-1v-10c0-.552.448-1 1-1s1 .448 1 1v10zm4-18v2h-20v-2h5.711c.9 0 1.631-1.099 1.631-2h5.315c0 .901.73 2 1.631 2h5.712z\"\n })));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgDelete);\nexport default __webpack_public_path__ + \"static/media/delete.9dc57184.svg\";\nexport { ForwardRef as ReactComponent };","import React, { useState } from 'react';\nimport { ReactComponent as DeleteIcon } from 'src/static/icons/delete.svg';\nimport PropTypes from 'prop-types';\nimport styles from './SamplesList.module.scss';\nimport Checkbox from '../Checkbox/Checkbox';\nimport { Link } from 'react-router-dom';\nimport Tabs from 'src/components/Tabs/Tabs/Tabs';\nimport Tab from 'src/components/Tabs/Tabs/Tab';\n\nexport default function SamplesList({ mdrSamples, vddSamples, onDeleteSampleClick, enablePublicControls, onPublicChange }) {\n const [selectedTabIndex, setSelectedTabIndex] = useState(0);\n\n return (\n <>\n {mdrSamples.length > 0 && vddSamples.length > 0 ? (\n \n \n
\n {renderSamples(mdrSamples, onDeleteSampleClick, enablePublicControls, onPublicChange)}\n
\n
\n \n
\n {renderSamples(vddSamples, onDeleteSampleClick, enablePublicControls, onPublicChange)}\n
\n
\n
\n ) : (\n <>\n {(mdrSamples.length > 0 || vddSamples.length > 0) &&\n

{mdrSamples.length > 0 ? 'Manage Dashboards and Reports Samples' : 'Visual Data Discovery Samples'}

\n }\n
\n {renderSamples(vddSamples, onDeleteSampleClick, enablePublicControls, onPublicChange)}\n
\n \n )\n }\n \n );\n}\n\nfunction renderSamples(samples, onDeleteSampleClick, enablePublicControls, onPublicChange) {\n return samples.map(({ id, title, isPublic }) => (\n
\n \n {title}\n \n {enablePublicControls && (\n onPublicChange(id, e.target.checked)} checked={isPublic}>\n )}\n {onDeleteSampleClick && (\n \n )}\n
\n ));\n}\n\nSamplesList.propTypes = {\n mdrSamples: PropTypes.array,\n vddSamples: PropTypes.array,\n onDeleteSampleClick: PropTypes.oneOfType([PropTypes.func, PropTypes.any]),\n enablePublicControls: PropTypes.oneOfType([PropTypes.bool, PropTypes.any]),\n onPublicChange: PropTypes.oneOfType([PropTypes.func, PropTypes.any]),\n};\n\n","import React, { memo, useEffect } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport SamplesList from 'src/components/SamplesList/SamplesList';\nimport { getPublicSamples } from 'src/samplesRedux/thunks';\nimport styles from './PublicSamples.module.scss';\n\nconst PublicSamplesComponent = () => {\n const samples = useSelector((state) => state.publicSamples.publicSamples);\n const dispatch = useDispatch();\n\n useEffect(() => {\n dispatch(getPublicSamples());\n }, []);\n return (\n
\n

Public Code Samples

\n

\n These tested, vetted samples work with the latest version of Composer. These advanced samples are rooted in\n customer-driven solutions; see how they fit your needs.\n

\n \n
\n );\n};\n\nexport const PublicSamples = memo(PublicSamplesComponent);\n","import React, { memo } from 'react';\nimport { LayoutHeader } from './components/LayoutHeader/LayoutHeader';\nimport { PublicSamples } from './components/PublicSamples/PublicSamples';\nimport styles from './SamplesLayout.module.scss';\n\nconst SamplesLayoutComponent = ({ children }) => {\n return (\n
\n
\n \n
\n
\n
\n \n
\n
{children}
\n
\n
\n );\n};\n\nexport const SamplesLayout = memo(SamplesLayoutComponent);\n","import React, { useCallback, useEffect } from 'react';\nimport { useSelector } from 'react-redux';\nimport { useDispatch } from 'react-redux';\nimport { setIsLoading, setNewSampleId, setSamplePublicValueLocal, setSamples } from './redux/mySamplesSlice';\nimport { getMySamples, createNewSample, deleteSample, setSamplePublicValue } from './redux/thunks';\nimport { useHistory } from 'react-router-dom';\nimport Button from 'src/components/Button/Button';\nimport styles from './MySamples.module.scss';\nimport { useAuth } from 'src/hooks/useAuth';\nimport { SamplesLayout } from 'src/components/SamplesLayout/SamplesLayout';\nimport SamplesList from 'src/components/SamplesList/SamplesList';\n\nexport default function MySamples() {\n const dispatch = useDispatch();\n const mySamplesData = useSelector((state) => state.samples);\n const { user, isUserLoading } = useAuth();\n const history = useHistory();\n\n useEffect(() => {\n if (user) {\n dispatch(setIsLoading(true));\n dispatch(getMySamples());\n }\n }, [user]);\n\n useEffect(() => {\n if (mySamplesData.newSampleId) {\n history.push(`/sample/${mySamplesData.newSampleId}`);\n dispatch(setNewSampleId(null));\n }\n }, [mySamplesData.newSampleId]);\n\n const createSample = useCallback(() => {\n dispatch(createNewSample({}));\n }, []);\n\n const onDeleteSampleClick = useCallback(\n (id) => {\n dispatch(setSamples(mySamplesData.samples.filter((s) => s.id !== id)));\n dispatch(deleteSample(id));\n },\n [mySamplesData.samples]\n );\n\n const onPublicChange = useCallback(\n (sampleId, isPublic) => {\n dispatch(setSamplePublicValue({ sampleId, isPublic }));\n dispatch(setSamplePublicValueLocal({ sampleId, isPublic }));\n },\n [mySamplesData.samples]\n );\n\n return (\n \n
\n {/*

My Collection

*/}\n {user ? (\n <>\n {mySamplesData.isLoading ? (\n
\n ) : (\n \n )}\n \n \n ) : isUserLoading ? (\n
\n ) : null}\n
\n
\n );\n}\n","import { fetchSample, putSample } from 'src/api/samples';\n\nconst { createAsyncThunk } = require('@reduxjs/toolkit');\n\nexport const getSample = createAsyncThunk('sample/fetchSample', async (id) => {\n const response = await fetchSample(id);\n return response.data;\n});\n\nexport const updateSample = createAsyncThunk('sample/updateSample', async (id, { getState }) => {\n const {\n sample: { sample },\n embed: { editorCode },\n } = getState();\n const res = { ...sample, ...editorCode };\n await putSample(res);\n});\n","import { createSlice } from '@reduxjs/toolkit';\nimport { getSample, updateSample } from './thunks';\n\nconst initialState = {\n sample: null,\n isLoading: false,\n isUpdating: false,\n};\n\nexport const slice = createSlice({\n name: 'sample',\n initialState,\n reducers: {\n setSample(state, { payload }) {\n state.sample = payload;\n },\n setIsLoading(state, { payload }) {\n state.isLoading = payload;\n },\n setIsUpdating(state, { payload }) {\n state.isUpdating = payload;\n },\n updateSampleTitle(state, { payload }) {\n state.sample.title = !payload || !payload.length ? state.sample.title : payload;\n },\n },\n extraReducers: (builder) =>\n builder\n .addCase(getSample.fulfilled, (state, { payload }) => {\n state.sample = payload;\n state.isLoading = false;\n })\n .addCase(updateSample.fulfilled, (state) => {\n state.isUpdating = false;\n }),\n});\n\nexport const { setSample, setIsLoading, updateSampleTitle, setIsUpdating } = slice.actions;\n\nexport default slice.reducer;\n","var _g, _g2, _g3, _g4, _g5, _g6, _g7, _g8, _g9, _g10, _g11, _g12, _g13, _g14, _g15, _g16;\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport * as React from \"react\";\nfunction SvgCheckmark(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Capa_1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n width: \"46px\",\n height: \"46px\",\n viewBox: \"0 0 46 46\",\n style: {\n enableBackground: \"new 0 0 46 46\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M23,6c9.374,0,17,7.627,17,17c0,9.375-7.626,17-17,17S6,32.375,6,23C6,13.627,13.626,6,23,6 M23,0C10.298,0,0,10.298,0,23 c0,12.703,10.298,23,23,23s23-10.297,23-23C46,10.298,35.702,0,23,0L23,0z\"\n }), /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M20.887,32.482c-0.609,0.608-1.437,0.951-2.298,0.951c-0.861,0-1.689-0.343-2.298-0.951l-7.122-7.123 c-1.269-1.269-1.269-3.327,0-4.596c1.27-1.27,3.327-1.27,4.597,0l4.243,4.242c0.321,0.32,0.84,0.32,1.161,0l11.489-11.489 c1.271-1.27,3.327-1.27,4.597,0c1.27,1.27,1.27,3.327,0,4.597L20.887,32.482z\"\n }))))), _g2 || (_g2 = /*#__PURE__*/React.createElement(\"g\", null)), _g3 || (_g3 = /*#__PURE__*/React.createElement(\"g\", null)), _g4 || (_g4 = /*#__PURE__*/React.createElement(\"g\", null)), _g5 || (_g5 = /*#__PURE__*/React.createElement(\"g\", null)), _g6 || (_g6 = /*#__PURE__*/React.createElement(\"g\", null)), _g7 || (_g7 = /*#__PURE__*/React.createElement(\"g\", null)), _g8 || (_g8 = /*#__PURE__*/React.createElement(\"g\", null)), _g9 || (_g9 = /*#__PURE__*/React.createElement(\"g\", null)), _g10 || (_g10 = /*#__PURE__*/React.createElement(\"g\", null)), _g11 || (_g11 = /*#__PURE__*/React.createElement(\"g\", null)), _g12 || (_g12 = /*#__PURE__*/React.createElement(\"g\", null)), _g13 || (_g13 = /*#__PURE__*/React.createElement(\"g\", null)), _g14 || (_g14 = /*#__PURE__*/React.createElement(\"g\", null)), _g15 || (_g15 = /*#__PURE__*/React.createElement(\"g\", null)), _g16 || (_g16 = /*#__PURE__*/React.createElement(\"g\", null)));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgCheckmark);\nexport default __webpack_public_path__ + \"static/media/checkmark.9f262f30.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport * as React from \"react\";\nfunction SvgFork(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n \"aria-hidden\": \"true\",\n height: 16,\n viewBox: \"0 0 16 16\",\n width: 16,\n \"data-view-component\": \"true\",\n className: \"octicon octicon-repo-forked mr-2\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n d: \"M5 3.25a.75.75 0 11-1.5 0 .75.75 0 011.5 0zm0 2.122a2.25 2.25 0 10-1.5 0v.878A2.25 2.25 0 005.75 8.5h1.5v2.128a2.251 2.251 0 101.5 0V8.5h1.5a2.25 2.25 0 002.25-2.25v-.878a2.25 2.25 0 10-1.5 0v.878a.75.75 0 01-.75.75h-4.5A.75.75 0 015 6.25v-.878zm3.75 7.378a.75.75 0 11-1.5 0 .75.75 0 011.5 0zm3-8.75a.75.75 0 100-1.5.75.75 0 000 1.5z\"\n })));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgFork);\nexport default __webpack_public_path__ + \"static/media/fork.32216f74.svg\";\nexport { ForwardRef as ReactComponent };","var _g, _g2, _g3, _g4, _g5, _g6, _g7, _g8, _g9, _g10, _g11, _g12, _g13, _g14, _g15, _g16;\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport * as React from \"react\";\nfunction SvgSave(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Layer_1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 512 512\",\n style: {\n enableBackground: \"new 0 0 512 512\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M440.125,0H0v512h512V71.875L440.125,0z M281.6,31.347h31.347v94.041H281.6V31.347z M136.359,31.347h113.894v125.388 h94.041V31.347h32.392v156.735H136.359V31.347z M417.959,480.653H94.041V344.816h323.918V480.653z M417.959,313.469H94.041 v-31.347h323.918V313.469z M480.653,480.653h-31.347V250.775H62.694v229.878H31.347V31.347h73.665v188.082h303.02V31.347h19.108 l53.512,53.512V480.653z\"\n })))), _g2 || (_g2 = /*#__PURE__*/React.createElement(\"g\", null)), _g3 || (_g3 = /*#__PURE__*/React.createElement(\"g\", null)), _g4 || (_g4 = /*#__PURE__*/React.createElement(\"g\", null)), _g5 || (_g5 = /*#__PURE__*/React.createElement(\"g\", null)), _g6 || (_g6 = /*#__PURE__*/React.createElement(\"g\", null)), _g7 || (_g7 = /*#__PURE__*/React.createElement(\"g\", null)), _g8 || (_g8 = /*#__PURE__*/React.createElement(\"g\", null)), _g9 || (_g9 = /*#__PURE__*/React.createElement(\"g\", null)), _g10 || (_g10 = /*#__PURE__*/React.createElement(\"g\", null)), _g11 || (_g11 = /*#__PURE__*/React.createElement(\"g\", null)), _g12 || (_g12 = /*#__PURE__*/React.createElement(\"g\", null)), _g13 || (_g13 = /*#__PURE__*/React.createElement(\"g\", null)), _g14 || (_g14 = /*#__PURE__*/React.createElement(\"g\", null)), _g15 || (_g15 = /*#__PURE__*/React.createElement(\"g\", null)), _g16 || (_g16 = /*#__PURE__*/React.createElement(\"g\", null)));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgSave);\nexport default __webpack_public_path__ + \"static/media/save.df45a1ab.svg\";\nexport { ForwardRef as ReactComponent };","import React, { useCallback, useEffect } from 'react';\nimport { useSelector } from 'react-redux';\nimport { useDispatch } from 'react-redux';\nimport { setIsLoading, setIsUpdating, updateSampleTitle } from './redux/samplesSlice';\nimport styles from './Sample.module.scss';\nimport { useHistory, useParams } from 'react-router-dom';\nimport { getSample, updateSample } from './redux/thunks';\nimport { useState } from 'react';\nimport { TABS } from 'src/shared/constants/liveCodeTabs';\nimport ConnectedEmbedCode from 'src/shared/components/ConnectedEmbedCode/ConnectedEmbedCode';\nimport EmbedPreview from 'src/shared/components/EmbedPreview/EmbedPreview';\nimport SplitPane from 'react-split-pane';\nimport {\n setCss,\n setEditorCss,\n setEditorHtml,\n setEditorJs,\n setEditorMd,\n setHtml,\n setIsCodeRun,\n setIsCodeTouched,\n setJs,\n synchronizePreviewSettings,\n} from 'src/shared/store/embedSlice';\nimport { useRef } from 'react';\nimport classnames from 'classnames';\nimport { useAuth } from 'src/hooks/useAuth';\nimport { ReactComponent as CheckmarkIcon } from 'src/static/icons/checkmark.svg';\nimport { ReactComponent as ForkIcon } from 'src/static/icons/fork.svg';\nimport { ReactComponent as SaveIcon } from 'src/static/icons/save.svg';\nimport { createNewSample } from '../MySamples/redux/thunks';\nimport { setNewSampleId } from '../MySamples/redux/mySamplesSlice';\n\nconst resizerVerticalStyles = {\n background: '#cdcdcd',\n width: '2px',\n cursor: 'col-resize',\n margin: '0 5px',\n border: '6px solid transparent',\n backgroundClip: 'padding-box',\n};\n\nexport default function MySamples() {\n const dispatch = useDispatch();\n const [selectedFile, setSelectedFile] = useState(TABS.md);\n const [isTitleFocused, setIsTitleFocused] = useState(false);\n const [isUpdateSuccessful, setIsUpdateSuccessful] = useState(false);\n const { sample, isLoading, isUpdating } = useSelector((state) => state.sample);\n const [maxWidth, setMaxWidth] = useState(0);\n const setMaxSizes = () => {\n setMaxWidth(window.innerWidth - 350);\n };\n useEffect(() => {\n setMaxSizes();\n window.addEventListener('resize', setMaxSizes);\n return window.removeEventListener('resize', setMaxSizes);\n }, []);\n const { id } = useParams();\n const { user } = useAuth();\n const editorCode = useSelector((state) => state.embed.editorCode);\n const mySamplesData = useSelector((state) => state.samples);\n const history = useHistory();\n\n useEffect(() => {\n dispatch(setIsLoading(true));\n dispatch(getSample(id));\n }, [id]);\n\n const isLoaded = useRef(false);\n\n useEffect(() => {\n if (mySamplesData.newSampleId) {\n history.push(`/sample/${mySamplesData.newSampleId}`);\n dispatch(setNewSampleId(null));\n }\n }, [mySamplesData.newSampleId]);\n\n useEffect(() => {\n if (sample) {\n const { html, js, css, md = '' } = sample;\n dispatch(setHtml(html));\n dispatch(setJs(js));\n dispatch(setCss(css));\n dispatch(setEditorHtml(html));\n dispatch(setEditorJs(js));\n dispatch(setEditorCss(css));\n dispatch(setEditorMd(md));\n dispatch(setIsCodeTouched(true));\n dispatch(setIsCodeRun(true));\n dispatch(synchronizePreviewSettings());\n }\n }, [sample && sample.js, sample && sample.css, sample && sample.html]);\n\n useEffect(() => {\n if (!sample) {\n return;\n }\n setSampleTitle(sample.title);\n }, [sample]);\n\n const [sampleTitle, setSampleTitle] = useState(sample ? sample.title : '');\n const handleTitleBlur = useCallback(() => {\n dispatch(updateSampleTitle(sampleTitle));\n if (sample && sampleTitle === '') {\n setSampleTitle(sample.title);\n }\n setIsTitleFocused(false);\n }, [sampleTitle, sample]);\n\n const saveSample = useCallback(() => {\n dispatch(setIsUpdating(true));\n dispatch(updateSample());\n }, []);\n\n const forkSample = useCallback(() => {\n dispatch(createNewSample({ ...editorCode, title: sample.title }));\n }, [editorCode, sample && sample.title]);\n\n const handleKeyDown = useCallback((e) => {\n if (e.key === 'Enter') {\n e.target.blur();\n }\n }, []);\n\n useEffect(() => {\n if (!isUpdating && isLoaded.current) {\n setIsUpdateSuccessful(true);\n setTimeout(() => setIsUpdateSuccessful(false), 2000);\n }\n }, [isUpdating]);\n\n useEffect(() => {\n isLoaded.current = true;\n }, []);\n\n return (\n
\n {isLoading ? (\n
\n
\n
\n ) : (\n
\n
\n setSampleTitle(e.target.value)}\n onBlur={handleTitleBlur}\n onFocus={() => setIsTitleFocused(true)}\n onKeyDown={handleKeyDown}\n >\n {sample &&\n user &&\n (user.id === sample.ownerId ? (\n \n ) : (\n \n ))}\n
\n\n \n \n \n \n
\n
\n )}\n
\n );\n}\n","import React from 'react';\nimport { Switch, Route } from 'react-router-dom';\nimport { Router } from 'react-router';\nimport { createBrowserHistory } from 'history';\nimport Layout from './components/Layout/Layout';\nimport MainEmbedOptions from './pages/MainEmbedOptions/MainEmbedOptions';\nimport UxInteractivity from './pages/UxInteractivity/UxInteractivity';\nimport UiThemes from './pages/UiThemes/UiThemes';\nimport CrossVisualFiltering from './pages/CrossVisualFiltering/CrossVisualFiltering';\nimport EmbedApi from './pages/EmbedApi/EmbedApi';\nimport EventListeners from './pages/EventListeners/EventListeners';\nimport DundasMainEmbedOptions from './pages/DundasMainEmbedOptions/DundasMainEmbedOptions';\nimport NewAccount from './pages/NewAccount/NewAccount';\nimport Landing from './pages/Landing/Landing';\nimport MySamples from './pages/MySamples/MySamples';\nimport Sample from './pages/Sample/Sample';\nimport { NAME_OF_DEFAULT_FILTER_DASHBOARD } from './shared/constants/embedComponentTypes';\nexport default function App() {\n const historyInstance = createBrowserHistory();\n\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n );\n}\n","import { createSlice } from '@reduxjs/toolkit';\nimport { getCurrentPlaygroundUser, loginPlaygroundUser, logoutPlaygroundUser } from './thunks';\n\nconst initialState = {\n user: null,\n isLoading: false,\n isFailed: false,\n isLoggedIn: false,\n};\n\nexport const slice = createSlice({\n name: 'playgroundUser',\n initialState,\n reducers: {\n setIsLoading(state, { payload }) {\n state.isLoading = payload;\n },\n setIsFailed(state, { payload }) {\n state.isFailed = payload;\n },\n setIsLoggedIn(state, { payload }) {\n state.isLoggedIn = payload;\n },\n },\n extraReducers: (builder) =>\n builder\n .addCase(loginPlaygroundUser.fulfilled, (state, {}) => {\n state.isLoading = false;\n state.isLoggedIn = true;\n })\n .addCase(loginPlaygroundUser.rejected, (state) => {\n state.isLoading = false;\n state.isFailed = true;\n location.reload();\n })\n .addCase(getCurrentPlaygroundUser.fulfilled, (state, { payload }) => {\n state.user = payload;\n state.isLoading = false;\n state.isLoggedIn = true;\n })\n .addCase(getCurrentPlaygroundUser.rejected, (state) => {\n state.isLoading = false;\n })\n .addCase(logoutPlaygroundUser.fulfilled, (state) => {\n state.isLoggedIn = false;\n state.user = null;\n }),\n});\n\nexport const { setIsLoading, setIsFailed, setIsLoggedIn } = slice.actions;\n\nexport default slice.reducer;\n","import { createSlice } from '@reduxjs/toolkit';\nimport { getPublicSamples } from './thunks';\n\nconst initialState = {\n publicSamples: [],\n isLoading: false,\n isFailed: false,\n};\n\nexport const slice = createSlice({\n name: 'publicSamples',\n initialState,\n reducers: {\n setIsLoading(state, { payload }) {\n state.isLoading = payload;\n },\n setIsFailed(state, { payload }) {\n state.isFailed = payload;\n },\n },\n extraReducers: (builder) =>\n builder.addCase(getPublicSamples.fulfilled, (state, { payload }) => {\n state.publicSamples = payload.data;\n state.isLoading = false;\n }),\n});\n\nexport const { setIsLoading, setIsFailed } = slice.actions;\n\nexport default slice.reducer;\n","import { combineReducers, configureStore } from '@reduxjs/toolkit';\nimport embedReducer from 'src/shared/store/embedSlice';\nimport modalsReducer from './components/ModalContainer/modalsSlice';\nimport playgroundUser from './redux/playgroundUserSlice';\nimport samplesReducer from './pages/MySamples/redux/mySamplesSlice';\nimport sampleReducer from './pages/Sample/redux/samplesSlice';\nimport userReducer from './redux/userSlice';\nimport publicSamplesReducer from './samplesRedux/publicSamplesSlice';\nimport { persistStore, persistReducer } from 'redux-persist';\nimport storage from 'redux-persist/lib/storage';\nimport thunk from 'redux-thunk';\n\nconst rootReducer = combineReducers({\n embed: embedReducer,\n modals: modalsReducer,\n samples: samplesReducer,\n sample: sampleReducer,\n publicSamples: publicSamplesReducer,\n user: userReducer,\n playgroundUser: playgroundUser,\n});\n\nconst persistConfig = {\n key: 'root',\n storage: storage,\n whitelist: [\n 'embedReducer',\n 'modalsReducer',\n 'playgroundUser',\n 'samplesReducer',\n 'sampleReducer',\n 'publicSamplesReducer',\n 'userReducer',\n ],\n};\n\nconst pReducer = persistReducer(persistConfig, rootReducer);\nexport const store = configureStore({\n reducer: pReducer,\n middleware: [thunk],\n});\nexport const persistor = persistStore(store);\n","import { createContext, useEffect } from 'react';\nimport {\n setDashboardList,\n setDefaultUserSessionId,\n setMetricSetList,\n setReportList,\n setScorecardList,\n setThemesList,\n} from './shared/store/embedSlice';\nimport { useDispatch } from 'react-redux';\nexport const DundasContext = createContext({});\n\nexport const DundasProvider = ({ children }) => {\n const dispatch = useDispatch();\n const fetchContent = async (type) => { const response = await fetch(`${process.env.REACT_APP_API_DUNDAS_CONTENT}?type=${type}`); return await response.json(); };\n\n useEffect(() => {\n (async () => {\n const loginResponse = await fetch(process.env.REACT_APP_API_DUNDAS_LOGIN_URL, {\n method: 'GET',\n credentials: 'same-origin',\n });\n const loginData = await loginResponse.json();\n const sessionId = loginData.sessionId;\n dispatch(setDefaultUserSessionId(sessionId));\n\n const [dashboardData, themeData, reportData, scorecardData, metricSetData] = await Promise.all([fetchContent('Dashboard'), fetchContent('Theme'), fetchContent('Report'), fetchContent('Scorecard'), fetchContent('MetricSet')]);\n themeData.unshift({ 'friendlyName': 'Default', 'id': '' });\n\n dispatch(setDashboardList(dashboardData));\n dispatch(setThemesList(themeData));\n dispatch(setReportList(reportData));\n dispatch(setScorecardList(scorecardData));\n dispatch(setMetricSetList(metricSetData));\n })();\n }, []);\n\n return {children};\n};\n","import React from 'react';\nimport ReactDOM from 'react-dom';\nimport './index.css';\nimport App from './App';\nimport { persistor, store } from './store';\nimport { Provider } from 'react-redux';\nimport { DundasProvider } from './dundasContext';\nimport { PersistGate } from 'redux-persist/integration/react';\n\n(async () => {\n await window.setupDundasEmbedded(`${process.env.REACT_APP_DUNDAS_INSTANCE}`);\n ReactDOM.render(\n \n \n \n \n \n \n \n \n \n ,\n document.getElementById('root')\n );\n})();\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"root\":\"Sample_root__2_dbc\",\"spinner\":\"Sample_spinner__d5YVV\",\"spin\":\"Sample_spin__3PFPV\",\"small\":\"Sample_small__SH1r4\",\"spinnerHolder\":\"Sample_spinnerHolder__3ztNk\",\"workArea\":\"Sample_workArea__ERgf3\",\"splitPane\":\"Sample_splitPane__2t497\",\"header\":\"Sample_header__2qUA2\",\"saveButton\":\"Sample_saveButton__1NPKB\",\"titleInput\":\"Sample_titleInput__sizl4\",\"focused\":\"Sample_focused__3m79G\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"root\":\"DocumentationHelperPopup_root__3C7Sj\",\"heading\":\"DocumentationHelperPopup_heading__2E4jN\",\"tooltipText\":\"DocumentationHelperPopup_tooltipText__1YjGn\",\"articleName\":\"DocumentationHelperPopup_articleName__1jU61\",\"articleNameText\":\"DocumentationHelperPopup_articleNameText__2A-2H\",\"tooltipHeader\":\"DocumentationHelperPopup_tooltipHeader__mIQfX\",\"documentationLink\":\"DocumentationHelperPopup_documentationLink__2Zbz2\",\"groupName\":\"DocumentationHelperPopup_groupName__3tS0R\",\"arrow\":\"DocumentationHelperPopup_arrow__3QTsn\",\"inverted\":\"DocumentationHelperPopup_inverted__2LocB\",\"highlighted\":\"DocumentationHelperPopup_highlighted__2hTdG\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"root\":\"EditModeWarningModalContent_root__2QiKO\",\"iconHolder\":\"EditModeWarningModalContent_iconHolder__2dYtV\",\"exclamationIcon\":\"EditModeWarningModalContent_exclamationIcon__FplYg\",\"content\":\"EditModeWarningModalContent_content__32lJ0\",\"heading\":\"EditModeWarningModalContent_heading__14Uxc\",\"text\":\"EditModeWarningModalContent_text__3o5CZ\",\"controlsContainer\":\"EditModeWarningModalContent_controlsContainer__1-ZGL\",\"button\":\"EditModeWarningModalContent_button__3YAmG\",\"cancel\":\"EditModeWarningModalContent_cancel__10EIT\",\"confirm\":\"EditModeWarningModalContent_confirm__SurbH\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"root\":\"Layout_root__KuT-s\",\"header\":\"Layout_header__1V-LV\",\"logo\":\"Layout_logo__2c34V\",\"pageTitle\":\"Layout_pageTitle__17luE\",\"navigationDelimiter\":\"Layout_navigationDelimiter__2WREk\",\"navigationTitle\":\"Layout_navigationTitle__2_y69\",\"content\":\"Layout_content__3nMgS\",\"navExpanded\":\"Layout_navExpanded__2R5RD\",\"navMenu\":\"Layout_navMenu__1Ym7b\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"root\":\"NewAccount_root__1F0S_\",\"title\":\"NewAccount_title__2IgeQ\",\"message\":\"NewAccount_message__3d9p2\",\"success\":\"NewAccount_success__1VCSm\",\"error\":\"NewAccount_error__O5ATv\",\"form\":\"NewAccount_form__1N04_\",\"row\":\"NewAccount_row__-w2EP\",\"inputWrap\":\"NewAccount_inputWrap__29Wd5\",\"input_error\":\"NewAccount_input_error__y300O\",\"btns\":\"NewAccount_btns__3LO_h\",\"submit\":\"NewAccount_submit__1Lst6\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"root\":\"HeaderActions_root__3ok9T\",\"button\":\"HeaderActions_button__1I1GA\",\"shareButton\":\"HeaderActions_shareButton__j6bUQ\",\"loginButton\":\"HeaderActions_loginButton__2FjXq\",\"scheduleCallButton\":\"HeaderActions_scheduleCallButton__1TkQy\",\"sharePopoverHolder\":\"HeaderActions_sharePopoverHolder__FqYCG\",\"closePopoverButton\":\"HeaderActions_closePopoverButton__1ZEKy\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"root\":\"SocialShare_root__3t0eq\",\"title\":\"SocialShare_title__FYfve\",\"contentHolder\":\"SocialShare_contentHolder__bq3Pk\",\"text\":\"SocialShare_text__1qyba\",\"contentRight\":\"SocialShare_contentRight__2_2tN\",\"contentLeft\":\"SocialShare_contentLeft__2Ew4I\",\"shareImg\":\"SocialShare_shareImg__2HTsA\",\"shareButtonsContainer\":\"SocialShare_shareButtonsContainer__3NdG8\",\"copyLinkBtton\":\"SocialShare_copyLinkBtton__3McEK\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"root\":\"ReachOut_root__crG97\",\"title\":\"ReachOut_title__lvCmr\",\"contentHolder\":\"ReachOut_contentHolder__1grqp\",\"text\":\"ReachOut_text__2ZAHc\",\"contentRight\":\"ReachOut_contentRight__3312w\",\"contentLeft\":\"ReachOut_contentLeft__1w1IK\",\"shareImg\":\"ReachOut_shareImg__a2dLD\",\"shareButtonsContainer\":\"ReachOut_shareButtonsContainer__24oS5\",\"copyLinkBtton\":\"ReachOut_copyLinkBtton__wt8g7\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"root\":\"EmbedOption_root__rder7\",\"title\":\"EmbedOption_title__OcsSn\",\"optionsSelect\":\"EmbedOption_optionsSelect__1nGrP\",\"tooltipText\":\"EmbedOption_tooltipText__6cMkr\",\"articleName\":\"EmbedOption_articleName__3KwrU\",\"tooltipHeader\":\"EmbedOption_tooltipHeader__1-jjz\",\"documentationLink\":\"EmbedOption_documentationLink__1XYnG\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"list\":\"SamplesList_list__36IQP\",\"listItem\":\"SamplesList_listItem__2cQlL\",\"link\":\"SamplesList_link__y5i2p\",\"deleteButton\":\"SamplesList_deleteButton__MkA4S\",\"deleteIcon\":\"SamplesList_deleteIcon__1ttwF\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"root\":\"Modal_root__3Mk4M\",\"header\":\"Modal_header__3jdKb\",\"title\":\"Modal_title__1gczl\",\"close\":\"Modal_close__2EfR5\",\"content\":\"Modal_content__BZbGL\",\"dragArea\":\"Modal_dragArea__17NL4\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"root\":\"NotificationBanner_root__2rIXm\",\"hidden\":\"NotificationBanner_hidden__2RFcT\",\"content\":\"NotificationBanner_content__12POp\",\"header\":\"NotificationBanner_header__1HmYZ\",\"headerText\":\"NotificationBanner_headerText__3P-le\",\"dismissText\":\"NotificationBanner_dismissText__Wlm2O\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"root\":\"Tabs_root__3g39v\",\"tabHeaders\":\"Tabs_tabHeaders__3nxeR\",\"slider\":\"Tabs_slider__2bCWQ\",\"tabDefault\":\"Tabs_tabDefault__3HPV1\",\"active\":\"Tabs_active__2Ccrr\",\"tabContent\":\"Tabs_tabContent__3T3h5\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"root\":\"DocumentationHelper_root__2O2hb\",\"documentIcon\":\"DocumentationHelper_documentIcon__3eDts\",\"arrowDownIcon\":\"DocumentationHelper_arrowDownIcon__3JNFD\",\"popupTrigger\":\"DocumentationHelper_popupTrigger__2-ZFd\",\"popup\":\"DocumentationHelper_popup__3DIsa\",\"overlay\":\"DocumentationHelper_overlay__qKLSb\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"root\":\"Landing_root__deZUg\",\"mainContainer\":\"Landing_mainContainer__3ow8M\",\"leftContainer\":\"Landing_leftContainer__1Ve7L\",\"buttonsContainer\":\"Landing_buttonsContainer__3aseN\",\"ContentTitle\":\"Landing_ContentTitle__pFKf_\",\"TextRegular\":\"Landing_TextRegular__4Nkr-\",\"rightContainer\":\"Landing_rightContainer__1xXCy\",\"previewImg1\":\"Landing_previewImg1__3ys1K\",\"bgImg\":\"Landing_bgImg__RTIe1\",\"containerProduct\":\"Landing_containerProduct__ysd-6\",\"leftProductContainer\":\"Landing_leftProductContainer__3FwJx\",\"rightProductContainer\":\"Landing_rightProductContainer__yhjt9\",\"productContent\":\"Landing_productContent__1BQjU\",\"productTitle\":\"Landing_productTitle__3vC1G\",\"productTextRegular\":\"Landing_productTextRegular__2qkQa\",\"buttonProduct\":\"Landing_buttonProduct__1DUp3\",\"learnMoreLink\":\"Landing_learnMoreLink__1Leqa\",\"innerProductContent\":\"Landing_innerProductContent__3SvTV\",\"productImg\":\"Landing_productImg__1waft\",\"containerProductHeader\":\"Landing_containerProductHeader__26MnK\",\"productHeaderTitle\":\"Landing_productHeaderTitle__1aGFM\",\"productHeaderContent\":\"Landing_productHeaderContent__R7Z_G\",\"footer\":\"Landing_footer__1PBDZ\",\"inputBox\":\"Landing_inputBox__1Zpu6\",\"input\":\"Landing_input___jNcJ\",\"label\":\"Landing_label__6U8tt\",\"hasEmail\":\"Landing_hasEmail__LAK8v\",\"errorMessage\":\"Landing_errorMessage__3FEa-\",\"getStartedButton\":\"Landing_getStartedButton__2ud9u\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"root\":\"SamplesLayout_root__1bFZ5\",\"headerHolder\":\"SamplesLayout_headerHolder__2xNkz\",\"row\":\"SamplesLayout_row__2hEQd\",\"publicSamplesHolder\":\"SamplesLayout_publicSamplesHolder__hoide\",\"contentHolder\":\"SamplesLayout_contentHolder__3axOz\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"root\":\"AdvancedEmbed_root__2gvle\",\"asideSection\":\"AdvancedEmbed_asideSection__2biHw\",\"previewSection\":\"AdvancedEmbed_previewSection__3D0Et\",\"optionsSection\":\"AdvancedEmbed_optionsSection__10G_K\",\"documentationHelperHolder\":\"AdvancedEmbed_documentationHelperHolder__3HDv-\",\"overlay\":\"AdvancedEmbed_overlay__1DyIp\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"root\":\"EmbedPreview_root__3Ounm\",\"title\":\"EmbedPreview_title__YZ16E\",\"iframe\":\"EmbedPreview_iframe__2vpqa\",\"disableMouseEvents\":\"EmbedPreview_disableMouseEvents__CumjD\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"root\":\"MySamples_root__2RZdx\",\"heading\":\"MySamples_heading__j7ujf\",\"spinner\":\"MySamples_spinner__2e1tx\",\"spin\":\"MySamples_spin__1_Odf\",\"createNewSampleButton\":\"MySamples_createNewSampleButton__2q2j1\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"root\":\"LayoutHeader_root__2SsYs\",\"subHeading\":\"LayoutHeader_subHeading__3BDv6\",\"heading\":\"LayoutHeader_heading__22CB8\",\"text\":\"LayoutHeader_text__2lwh4\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"root\":\"BannerContent_root__35Sue\",\"iconHolder\":\"BannerContent_iconHolder__J9wDO\",\"textHolder\":\"BannerContent_textHolder__3fTsY\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"root\":\"NavigationMenu_root__2mAkm\",\"categoryTitle\":\"NavigationMenu_categoryTitle__2WGjh\",\"categoryTitleText\":\"NavigationMenu_categoryTitleText__3PZGK\"};"],"sourceRoot":""}