@openfin/workspace-platform 7.4.0 → 7.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
(()=>{"use strict";var e,t,a,n,o,i,r,s={d:(e,t)=>{for(var a in t)s.o(t,a)&&!s.o(e,a)&&Object.defineProperty(e,a,{enumerable:!0,get:t[a]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r:e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}},c={};s.r(c),s.d(c,{AppManifestType:()=>i,BrowserButtonType:()=>u,CustomActionCallerType:()=>y,GlobalContextMenuOptionType:()=>p,PageTabContextMenuOptionType:()=>l,SaveButtonContextMenuOptionType:()=>g,SaveModalType:()=>h,ViewTabMenuOptionType:()=>w,getCurrentSync:()=>Ct,init:()=>pn,wrapSync:()=>Wt}),function(e){e.Fetching="fetching",e.Fetched="fetched",e.Complete="complete"}(e||(e={})),function(e){e.Active="active",e.Default="default"}(t||(t={})),function(e){e.Suggestion="suggestion"}(a||(a={})),function(e){e.Contact="Contact",e.Custom="Custom",e.List="List",e.Plain="Plain",e.SimpleText="SimpleText"}(n||(n={})),function(e){e.MultiSelect="MultiSelect"}(o||(o={})),function(e){e.Snapshot="snapshot",e.Manifest="manifest",e.View="view",e.External="external"}(i||(i={})),function(e){e.LandingPage="landingPage",e.AppGrid="appGrid"}(r||(r={}));var d,p,l,w,u,g,y,h,f;!function(e){e.Primary="primary",e.Secondary="secondary",e.TextOnly="textOnly"}(d||(d={})),function(e){e.NewWindow="NewWindow",e.NewPage="NewPage",e.SavePage="SavePage",e.SavePageAs="SavePageAs",e.CloseWindow="CloseWindow",e.RestoreChanges="RestoreChanges",e.SaveWorkspace="SaveWorkspace",e.SaveWorkspaceAs="SaveWorkspaceAs",e.RenameWorkspace="RenameWorkspace",e.SwitchWorkspace="SwitchWorkspace",e.DeleteWorkspace="DeleteWorkspace",e.OpenStorefront="OpenStorefront",e.Quit="Quit",e.Custom="Custom"}(p||(p={})),function(e){e.Close="Close",e.Duplicate="Duplicate",e.Rename="Rename",e.Save="Save",e.SaveAs="Save As",e.Custom="Custom"}(l||(l={})),function(e){e.NewView="NewView",e.DuplicateViews="DuplicateView",e.OpenWithDefaultBrowser="OpenWithDefaultBrowser",e.ReloadViews="ReloadTab",e.CloseViews="CloseTab",e.AddToChannel="AddToChannel",e.RemoveFromChannel="RemoveFromChannel",e.Custom="Custom"}(w||(w={})),function(e){e.ShowHideTabs="ShowHideTabs",e.ColorLinking="ColorLinking",e.PresetLayouts="PresetLayouts",e.SaveMenu="SaveMenu",e.SavePage="SavePage",e.Minimise="Minimise",e.Maximise="Maximise",e.Close="Close",e.Custom="Custom"}(u||(u={})),function(e){e.SavePage="SavePage",e.SaveWorkspace="SaveWorkspace",e.SavePageAs="SavePageAs",e.SaveWorkspaceAs="SaveWorkspaceAs",e.Custom="Custom"}(g||(g={})),function(e){e.CustomButton="CustomButton",e.GlobalContextMenu="GlobalContextMenu",e.ViewTabContextMenu="ViewTabContextMenu",e.PageTabContextMenu="PageTabContextMenu",e.SaveButtonContextMenu="SaveButtonContextMenu",e.API="API"}(y||(y={})),function(e){e.SAVE_PAGE="SAVE_PAGE",e.SAVE_WORKSPACE="SAVE_WORKSPACE",e.SAVE_PAGE_AS="SAVE_PAGE_AS",e.SAVE_WORKSPACE_AS="SAVE_WORKSPACE_AS",e.RENAME_PAGE="RENAME_PAGE",e.RENAME_WORKSPACE="RENAME_WORKSPACE"}(h||(h={})),function(e){e.Local="local",e.Dev="dev",e.Staging="staging",e.Prod="prod"}(f||(f={}));const m="undefined"!=typeof window&&"undefined"!=typeof fin,S=("undefined"==typeof process||process.env?.JEST_WORKER_ID,"undefined"!=typeof window),v=S&&"undefined"!=typeof indexedDB,P=S?window.origin:f.Local,b=m&&fin.me.uuid,k=m&&fin.me.name,W=m&&fin.me.entityType,C=(f.Local,f.Dev,f.Staging,f.Prod,e=>e.startsWith("http://")||e.startsWith("https://")?e:P+e),I=(C("https://cdn.openfin.co/workspace/7.4.0"),C("https://cdn.openfin.co/workspace/7.4.0")),A=("undefined"!=typeof WORKSPACE_DOCS_PLATFORM_URL&&C(WORKSPACE_DOCS_PLATFORM_URL),"undefined"!=typeof WORKSPACE_DOCS_CLIENT_URL&&C(WORKSPACE_DOCS_CLIENT_URL),"24.98.69.7"),M="7.4.0";var T,O,E;!function(e){e.Workspace="openfin-browser"}(T||(T={})),function(e){e.RunRequested="run-requested",e.WindowOptionsChanged="window-options-changed",e.WindowClosed="window-closed",e.WindowCreated="window-created"}(O||(O={})),function(e){e.FinProtocol="fin-protocol"}(E||(E={}));const R={uuid:b,name:b},x=(T.Workspace,T.Workspace,e=>{if(!m)throw new Error("getApplication cannot be used in a non OpenFin env. Avoid using this during pre-rendering.");return fin.Application.wrapSync(e)}),B=()=>x(R);var V,L;!function(e){e.Home="openfin-home",e.Dock="openfin-dock",e.Storefront="openfin-storefront",e.HomeInternal="openfin-home-internal",e.BrowserMenu="openfin-browser-menu",e.BrowserIndicator="openfin-browser-indicator",e.BrowserWindow="internal-generated-window"}(V||(V={})),function(e){e.Shown="shown",e.BoundsChanged="bounds-changed",e.LayoutReady="layout-ready",e.EndUserBoundsChanging="end-user-bounds-changing",e.Blurred="blurred",e.CloseRequested="close-requested",e.Focused="focused",e.ShowRequested="show-requested",e.ViewCrashed="view-crashed",e.ViewAttached="view-attached",e.ViewDetached="view-detached",e.ViewPageTitleUpdated="view-page-title-updated",e.ViewDestroyed="view-destroyed",e.OptionsChanged="options-changed"}(L||(L={}));function U(e){if(!m)throw new Error("getOFWindow can only be used in an OpenFin env. Avoid calling this method during pre-rendering.");return fin.Window.wrapSync(e)}const D={name:k,uuid:b};function _(){return U(D)}V.Home,T.Workspace,V.Dock,T.Workspace;const F={name:V.Storefront,uuid:T.Workspace};T.Workspace,T.Workspace;async function G(e){const t=U(e);"minimized"===await t.getState()&&await t.restore(),await t.show(),await t.bringToFront(),await t.focus()}const N=e=>e.startsWith(V.BrowserWindow);async function $(){return(await fin.Application.getCurrentSync().getChildWindows()).filter((e=>N(e.identity.name)))}const H=e=>U(e).getOptions().then((()=>!0)).catch((()=>!1)),q=()=>H(F);var K;!function(e){e.Browser="Browser",e.Home="Home",e.Notification="Notification",e.Storefront="Storefront",e.Platform="Platform",e.Theming="Theming"}(K||(K={}));const j=async(e,t)=>{const a={apiVersion:t.apiVersion||M,componentName:e,componentVersion:M,...t};fin.System.registerUsage({type:"workspace-licensing",data:a})};var Q;!function(e){e.CurrentWorkspaceId="currentWorkspaceId",e.LastFocusedBrowserWindow="lastFocusedBrowserWindow",e.MachineName="machineName",e.NewTabPageLayout="NewTabPageLayout",e.NewTabPageSort="NewTabPageSort"}(Q||(Q={}));const z=Q;var J;!function(e){e.LaunchApp="launchApp",e.SavePage="savePage",e.GetSavedPage="getSavedPage",e.CreateSavedPage="createSavedPage",e.UpdateSavedPage="updateSavedPage",e.DeleteSavedPage="deleteSavedPage",e.GetSavedPages="getSavedPages",e.CreateSavedPageInternal="createSavedPageInternal",e.UpdateSavedPageInternal="updateSavedPageInternal",e.DeleteSavedPageInternal="deleteSavedPageInternal",e.SharePage="sharePage",e.UpdatePageForWindow="updatePageForWindow",e.AttachPagesToWindow="attachPagesToWindow",e.DetachPagesFromWindow="detachPagesFromWindow",e.ReorderPagesForWindow="reorderPagesForWindow",e.SetActivePage="setActivePage",e.GetAllAttachedPages="getAllAttachedPages",e.GetActivePageIdForWindow="getActivePageIdForWindow",e.GetPagesForWindow="getPagesForWindow",e.GetPageForWindow="getPageForWindow",e.GetSavedPageMetadata="getSavedPageMetadata",e.GetUniquePageTitle="getUniquePageTitle",e.GetLastFocusedBrowserWindow="getLastFocusedBrowserWindow",e.GetThemes="getThemes",e.OpenGlobalContextMenuInternal="openGlobalContextMenuInternal",e.OpenViewTabContextMenuInternal="openViewTabContextMenuInternal",e.OpenPageTabContextMenuInternal="openPageTabContextMenuInternal",e.OpenSaveButtonContextMenuInternal="openSaveButtonContextMenuInternal",e.InvokeCustomActionInternal="invokeCustomActionInternal",e.GetSavedWorkspace="getSavedWorkspace",e.CreateSavedWorkspace="createSavedWorkspace",e.UpdateSavedWorkspace="updateSavedWorkspace",e.DeleteSavedWorkspace="deleteSavedWorkspace",e.GetSavedWorkspaces="getSavedWorkspaces",e.SaveWorkspace="saveWorkspace",e.GetCurrentWorkspace="getCurrentWorkspace",e.ApplyWorkspace="applyWorkspace",e.SetActiveWorkspace="setActiveWorkspace"}(J||(J={}));const X=async e=>{const t=fin.Platform.wrapSync(e),a=await t.getClient(),n="Target is not a Workspace Platform. Target must call WorkspacePlatform.init";try{if(!0===await a.dispatch("isWorkspacePlatform"))return a;throw new Error(n)}catch(e){throw new Error(n)}},Y=(e,t)=>!t.find((t=>t===e)),Z=(e,t)=>`${e} (${t})`,ee=(e,t)=>{let a=1;const n=e.replace(/ \(.+\)$/,"");for(;!Y(Z(n,a),t);)a+=1;return Z(n,a)};async function te(e){try{const t=Ct();await t.applySnapshot(e.snapshot,{closeExistingWindows:!0}),ae(e)}catch(e){}}function ae(e){if("undefined"!=typeof localStorage)try{const t=JSON.stringify(e);localStorage.setItem(z.CurrentWorkspaceId,t)}catch(e){}}async function ne(){if("undefined"==typeof localStorage)return;const e=Ct(),t=await e.getSnapshot();return{workspaceId:crypto.randomUUID(),title:await re(),metadata:{APIVersion:M},snapshot:t}}async function oe(){if("undefined"==typeof localStorage)return;const e=localStorage.getItem(z.CurrentWorkspaceId);if(!e)return ne();const t=JSON.parse(e),a=Ct(),n=await a.getSnapshot();return{...t,metadata:{APIVersion:M},snapshot:n}}const ie=async e=>await(async e=>(await X(D)).dispatch(J.GetSavedWorkspace,e))(e.workspaceId)?(async e=>(await X(D)).dispatch(J.UpdateSavedWorkspace,e))({workspaceId:e.workspaceId,workspace:e}):(async e=>(await X(D)).dispatch(J.CreateSavedWorkspace,e))({workspace:e});async function re(e="Untitled Workspace"){const t=(await(async()=>(await X(D)).dispatch(J.GetSavedWorkspaces,void 0))()).map((({title:e})=>e));return t.find((t=>t===e))?ee(e,t):e}async function se(){if("undefined"!=typeof localStorage)try{const e=localStorage.getItem(z.LastFocusedBrowserWindow),t=JSON.parse(e);if(await H(t))return t}catch(e){throw new Error(`failed to get last focused browser window: ${e}`)}}function ce(e=fin.me.identity){N(e.name)&&function(e){if("undefined"!=typeof localStorage)try{const t=JSON.stringify(e);localStorage.setItem(z.LastFocusedBrowserWindow,t)}catch(e){}}(e)}const de=(e,t=0)=>{let a,n,o=!1;const i=async n=>{const r=await e(...n);if(o){await new Promise((e=>setTimeout(e,t)));const e=a;return a=void 0,o=!1,i(e)}return r};return(...e)=>(n?(o=!0,a=e):n=i(e).then((e=>(n=void 0,e))),n)};var pe;!function(e){e.TabCreated="tab-created",e.ContainerCreated="container-created",e.ContainerResized="container-resized"}(pe||(pe={}));const le=e=>{const t=[];return(e&&Array.isArray(e)?e:[]).forEach((e=>{if("component"===e.type)return t.push(e.componentState);const a=le(e.content);t.push(...a)})),t},we=async(e,t,a=D)=>{let n;if(N(a.name)){n=(await U(a).getOptions()).layout||{settings:{}}}return{...n,content:[{type:"stack",content:[{type:"component",componentName:"view",componentState:{title:e,url:t}}]}]}};new Map;function ue(e,t){return async(a,...n)=>{e.has(a)&&e.get(a).forEach((e=>e(...n))),t&&await t({event:a,payload:n})}}function ge(e,t){return t&&t((t=>{const{event:a,payload:n}=t;e.has(a)&&e.get(a).forEach((e=>e(...n)))})),(t,a)=>{e.has(t)||e.set(t,new Set),e.get(t).add(a)}}function ye(e){return(t,a)=>{e.has(t)||e.set(t,new Set);const n=e.get(t),o=(...e)=>{a(...e),n.delete(o)};n.add(o)}}function he(e){return(t,a)=>{e.has(t)&&e.get(t).delete(a)}}const fe=S&&"complete"!==document.readyState&&new Promise((e=>document.addEventListener("readystatechange",(()=>{"complete"===document.readyState&&e()}))));function me(e){let t;return()=>{if(!m)throw new Error("getChannelClient cannot be used outside an OpenFin env. Avoid using this method during pre-rendering.");return t||(t=(async()=>{await fe;const a=await fin.InterApplicationBus.Channel.connect(e);return a.onDisconnection((async()=>{t=void 0})),a})().then((e=>e)).catch((a=>{throw t=void 0,new Error(`failed to connect to channel provider ${e}: ${a}`)}))),t}}const Se=e=>`__browser_window__-${e.uuid}-${e.name}`,ve=new Map,Pe=e=>{const t=Se(e);return ve.has(t)||ve.set(t,me(t)),ve.get(t)()};var be,ke,We;!function(e){e.CloseBrowserWindow="close-browser-window",e.QuitPlatform="quit-platform",e.ClosePage="close-page",e.AddToChannel="add-to-channel",e.RemoveFromChannel="remove-from-channel",e.OpenSaveModalInternal="open-save-modal-internal",e.DuplicatePage="duplicate-page"}(be||(be={})),function(e){e.GetPages="get-pages",e.GetActivePageForWindow="get-active-page-for-window",e.AttachPagesToWindow="attach-pages-to-window",e.DetachPagesFromWindow="detach-pages-from-window",e.SetActivePageForWindow="set-active-page-for-window",e.RenamePage="rename-page",e.ReorderPagesForWindow="reorder-pages-for-window",e.UpdatePageForWindow="update-page-for-window",e.UpdatePagesWindowOptions="update-pages-window-options",e.IsDetachingPages="is-detaching-pages",e.IsActivePageChanging="is-active-page-changing"}(ke||(ke={})),function(e){e.AttachedPagesToWindow="attached-pages-to-window",e.DetachedPagesFromWindow="detached-pages-from-window"}(We||(We={}));new Map;const Ce=async e=>{const t=await Pe(e);return await t.dispatch(ke.GetPages)},Ie=async e=>(await Pe(e.identity)).dispatch(ke.UpdatePageForWindow,e),Ae=async()=>{const e=await $();return(await Promise.all(e.map((async({identity:e})=>Ce(e))))).reduce(((e,t)=>e.concat(t)),[])},Me=async()=>(await X(D)).dispatch(J.GetSavedPages,void 0),Te=async e=>(await X(D)).dispatch(J.GetSavedPage,e),Oe=async(e,t)=>{const a=await(async e=>(await Ae()).find((t=>t.pageId===e)))(e);return!a||a.title===t.title&&e===t.pageId||await Ie({identity:a.parentIdentity,pageId:e,page:{pageId:t.pageId,title:t.title}}),a},Ee=async({page:e})=>{await Oe(e.pageId,e),await(async e=>(await X(D)).dispatch(J.CreateSavedPage,e))({page:e})},Re=async e=>{await Te(e)&&await(async e=>(await X(D)).dispatch(J.DeleteSavedPage,e))(e)},xe=async({pageId:e,page:t})=>{await Oe(e,t);return await(async e=>(await X(D)).dispatch(J.UpdateSavedPage,e))({pageId:e,page:t})},Be=async e=>await Te(e.pageId)?xe({pageId:e.pageId,page:e}):Ee({page:e}),Ve=async e=>{await(async e=>(await Pe(e.identity)).dispatch(ke.AttachPagesToWindow,e))(e)},Le=async e=>{await Ie(e)},Ue=async e=>{await(async e=>(await Pe(e.identity)).dispatch(ke.DetachPagesFromWindow,e))(e)},De=async e=>{await(async e=>(await Pe(e.identity)).dispatch(ke.SetActivePageForWindow,e))(e)},_e=e=>Ce(e),Fe=async({identity:e,pageId:t})=>(await _e(e)).find((e=>e.pageId===t)),Ge=async e=>{await(async e=>(await Pe(e.identity)).dispatch(ke.ReorderPagesForWindow,e))(e)};async function Ne(e="Untitled Page"){const[t,a]=await Promise.all([Me(),Ae()]),n=[...t,...a].map((({title:e})=>e));return n.find((t=>t===e))?ee(e,n):e}const $e=new Map,He=e=>`${e.uuid}-${e.name}`;const qe=de((async function(){const e=await Ae(),t=new Set;e.forEach((e=>{le(e.layout.content).forEach((e=>{if(e.name){const a=He(e);t.add(a)}}))}));const a=_();(await a.getCurrentViews()).forEach((({identity:e})=>{const a=He(e);if(t.has(a)||$e.has(a))return;const n=setTimeout((()=>{fin.View.wrapSync(e).destroy(),$e.delete(a)}),5e3);$e.set(a,n)})),$e.forEach(((e,a)=>{t.has(a)&&(clearTimeout(e),$e.delete(a))}))}),2500),Ke=({name:e})=>{N(e)&&qe().catch((()=>{}))};let je={};const Qe=({actionId:e,payload:t})=>{if("function"!=typeof je[e])throw new Error(`Cannot find a configured function for the action '${e}'`);return je[e](t)};function ze(){return localStorage.getItem(z.MachineName)}let Je;async function Xe(){return Je||(Je=await fin.System.getMachineId()),Je}const Ye=e=>{if(e.layout&&Array.isArray(e.workspacePlatform?.pages)){const t=e.workspacePlatform.pages.find((e=>e.isActive));t&&(t.layout=e.layout)}return e};async function Ze(e){const t=e||await fin.Platform.getCurrentSync().getSnapshot();if(t.snapshotDetails?.machineId)return t;const a=ze();return{...t,snapshotDetails:{...e.snapshotDetails,machineId:await Xe(),machineName:a}}}function et(e){return new Promise(((t,a)=>{e.oncomplete=e.onsuccess=()=>t(e.result),e.onabort=e.onerror=()=>a(e.error)}))}function tt(e,t){const a=indexedDB.open(e);a.onupgradeneeded=()=>a.result.createObjectStore(t);const n=et(a);return(e,a)=>n.then((n=>a(n.transaction(t,e).objectStore(t))))}let at;function nt(){return at||(at=tt("keyval-store","keyval")),at}function ot(e,t=nt()){return t("readonly",(t=>et(t.get(e))))}function it(e,t,a=nt()){return a("readwrite",(a=>(a.put(t,e),et(a.transaction))))}function rt(e,t=nt()){return t("readwrite",(t=>(t.delete(e),et(t.transaction))))}function st(e,t){return e("readonly",(e=>(e.openCursor().onsuccess=function(){this.result&&(t(this.result),this.result.continue())},et(e.transaction))))}function ct(e=nt()){const t=[];return st(e,(e=>t.push(e.key))).then((()=>t))}const dt=(e,t="")=>e.toLowerCase().includes(t.toLowerCase()),pt=v&&tt("openfin-home-pages","pages");async function lt(e){const t=await ot(e,pt);return t?(t.pageId=e.toString(),t.title=t.title||t.pageId,t):null}async function wt(e){const t=await ct(pt),a=await Promise.all(t.map((e=>lt(e.toString()))));return e?a.filter((t=>dt(t.title,e))):a}async function ut({page:e}){await it(e.pageId,e,pt)}async function gt(e){await rt(e,pt)}async function yt({pageId:e,page:t}){if(void 0===await lt(e))throw new Error("page not found");await ut({page:t}),e!==t.pageId&&await gt(e)}var ht;!function(e){e.Label="normal",e.Separator="separator",e.Submenu="submenu",e.Checkbox="checkbox"}(ht||(ht={}));var ft;!function(e){e.RegisterStorefrontProvider="register-storefront-provider",e.DeregisterStorefrontProvider="deregister-storefront-provider",e.GetStorefrontProviders="get-storefront-providers",e.HideStorefront="hide-storefront",e.GetStorefrontProviderApps="get-storefront-provider-apps",e.GetStorefrontProviderLandingPage="get-storefront-provider-landing-page",e.GetStorefrontProviderFooter="get-storefront-provider-footer",e.GetStorefrontProviderNavigation="get-storefront-provider-navigation",e.LaunchStorefrontProviderApp="launch-storefront-provider-app",e.ShowStorefront="show-storefront",e.CreateStorefrontWindow="create-storefront-window",e.ShowHome="show-home",e.HideHome="hide-home",e.AssignHomeSearchContext="assign-home-search-context",e.GetLegacyPages="get-legacy-pages",e.GetLegacyWorkspaces="get-legacy-workspaces",e.GetComputedPlatformTheme="get-computed-platform-theme"}(ft||(ft={}));me("__of_workspace_protocol__");const mt=async(e,t)=>{const a=await(async e=>({...e,layoutDetails:{machineId:await Xe(),machineName:ze()}}))(t);return{pageId:crypto.randomUUID(),title:e,layout:a,isReadOnly:!1,hasUnsavedChanges:!0}},St=e=>({identity:e,openfinWindow:fin.Window.wrapSync(e),getPages:async()=>(await X(e)).dispatch(J.GetPagesForWindow,e),getPage:async t=>(await X(e)).dispatch(J.GetPageForWindow,{identity:e,pageId:t}),addPage:async t=>{const a=await X(e);t?.title||(t.title=await a.dispatch(J.GetUniquePageTitle,void 0));const n=(await a.dispatch(J.GetAllAttachedPages,void 0)).find((e=>e.pageId===t.pageId||e.title===t.title));if(n)throw n.pageId===t.pageId?new Error(`page with id ${t.pageId} is already attached to a browser window ${n.parentIdentity.name}`):new Error(`page with title ${t.title} is already attached to a browser window ${n.parentIdentity.name}`);const o={identity:e,pages:[t]};return a.dispatch(J.AttachPagesToWindow,o)},removePage:async t=>(await X(e)).dispatch(J.DetachPagesFromWindow,{identity:e,pageIds:[t]}),setActivePage:async t=>(await X(e)).dispatch(J.SetActivePage,{identity:e,pageId:t}),updatePage:async t=>{const a=await X(e);return t.identity=e,a.dispatch(J.UpdatePageForWindow,t)},reorderPages:async t=>{const a=await X(e);return t.identity=e,a.dispatch(J.ReorderPagesForWindow,t)},_openGlobalContextMenu:async t=>{const a=await X(e);return t.identity=e,a.dispatch(J.OpenGlobalContextMenuInternal,t)},replaceToolbarOptions:async t=>{const a=fin.Window.wrapSync(e);await a.updateOptions({workspacePlatform:{toolbarOptions:t}})},replaceWindowStateButtonOptions:async t=>{const a=fin.Window.wrapSync(e);await a.updateOptions({workspacePlatform:{windowStateButtonOptions:t}})},_openViewTabContextMenu:async t=>{const a=await X(e);return t.identity=e,a.dispatch(J.OpenViewTabContextMenuInternal,t)},_openPageTabContextMenu:async t=>{const a=await X(e);return t.identity=e,a.dispatch(J.OpenPageTabContextMenuInternal,t)},_openSaveModal:async t=>(await Pe(e)).dispatch(be.OpenSaveModalInternal,t),_openSaveButtonContextMenu:async t=>{const a=await X(e);return t.identity=e,a.dispatch(J.OpenSaveButtonContextMenuInternal,t)}});let vt=!1;const Pt=e=>{const t=fin.Platform.wrapSync(e);return{wrapSync:e=>St(e),createWindow:async e=>{vt||(vt=!0,(async e=>{j(K.Browser,e)})({allowed:!0}));const a=await t.createWindow(e);return St(a.identity)},getAllAttachedPages:async()=>(await t.getClient()).dispatch(J.GetAllAttachedPages,void 0),getAllWindows:async()=>(await fin.Application.wrapSync(e).getChildWindows()).filter((e=>e.identity.name.includes("internal-generated-window-"))).map((e=>St(e.identity))),getUniquePageTitle:async t=>(await X(e)).dispatch(J.GetUniquePageTitle,t),getLastFocusedWindow:async()=>(await X(e)).dispatch(J.GetLastFocusedBrowserWindow,void 0)}},bt=e=>({createPage:async t=>(await X(e)).dispatch(J.CreateSavedPageInternal,t),deletePage:async t=>(await X(e)).dispatch(J.DeleteSavedPageInternal,t),updatePage:async t=>(await X(e)).dispatch(J.UpdateSavedPageInternal,t),getPage:async t=>(await X(e)).dispatch(J.GetSavedPage,t),getPages:async t=>(await X(e)).dispatch(J.GetSavedPages,t),savePage:async t=>(await X(e)).dispatch(J.SavePage,t),createWorkspace:async t=>(await X(e)).dispatch(J.CreateSavedWorkspace,t),deleteWorkspace:async t=>(await X(e)).dispatch(J.DeleteSavedWorkspace,t),updateWorkspace:async t=>(await X(e)).dispatch(J.UpdateSavedWorkspace,t),getWorkspace:async t=>(await X(e)).dispatch(J.GetSavedWorkspace,t),getWorkspaces:async t=>(await X(e)).dispatch(J.GetSavedWorkspaces,t),saveWorkspace:async t=>(await X(e)).dispatch(J.SaveWorkspace,t)}),kt=e=>({getThemes:async()=>(await X(e)).dispatch(J.GetThemes,void 0)}),Wt=e=>{const t=fin.Platform.wrapSync(e);return Object.assign(t,{applySnapshot:async(t,a)=>{if("string"!=typeof t&&!t?.windows)throw new Error("Not a valid browser snapshot");return fin.Platform.wrapSync(e).applySnapshot(t,a)},getSnapshot:()=>fin.Platform.wrapSync(e).getSnapshot().then((e=>e)),launchApp:async t=>{t.target||(t.target={uuid:b,name:k,entityType:W||"unknown"});return(await X(e)).dispatch(J.LaunchApp,t)},_invokeCustomAction:async(t,a)=>{const n=await X(e),o={actionId:t,payload:{...a,callerType:a.callerType||y.API}};return n.dispatch(J.InvokeCustomActionInternal,o)},getCurrentWorkspace:async()=>(await X(e)).dispatch(J.GetCurrentWorkspace,void 0),applyWorkspace:async t=>(await X(e)).dispatch(J.ApplyWorkspace,t),setActiveWorkspace:async t=>(await X(e)).dispatch(J.SetActiveWorkspace,t),Theme:kt(e),Browser:Pt(e),Storage:bt(e)})},Ct=()=>Wt(fin.me.identity),It=async(e=D)=>{const{workspacePlatform:t}=await U(e).getOptions();return{newPageUrl:t?.newPageUrl,newTabUrl:t?.newTabUrl}},At=async(e=D)=>{const t=await Ct().Browser.getUniquePageTitle("Untitled Page"),a=await(async(e=D)=>{const{newPageUrl:t}=await It(e);if(!t)throw new Error("Trying to create a new page without a newPageUrl set");return we("New Tab",t,e)})(e);return mt(t,a)},Mt={type:ht.Separator,data:void 0},Tt={type:ht.Label,label:"Close Window",data:{type:p.CloseWindow}},Ot={type:ht.Label,label:"Open Storefront",data:{type:p.OpenStorefront}},Et={type:ht.Label,label:"Quit Platform",data:{type:p.Quit}},Rt={type:ht.Label,label:"New Window",data:{type:p.NewWindow}},xt={type:ht.Label,label:"Save Page",data:{type:p.SavePage}},Bt={type:ht.Label,label:"Save Page As...",data:{type:p.SavePageAs}},Vt={type:ht.Label,label:"New Page",data:{type:p.NewPage}},Lt={type:ht.Label,label:"Restore to Last Saved Changes",data:{type:p.RestoreChanges}},Ut={type:ht.Label,label:"Save Workspace",data:{type:p.SaveWorkspace}},Dt={type:ht.Label,label:"Save Workspace As...",data:{type:p.SaveWorkspaceAs}},_t={type:ht.Label,label:"Rename Workspace",data:{type:p.RenameWorkspace}},Ft="Switch Workspace",Gt="Delete Workspace",Nt=[Tt,Mt,Ot,Mt,Et],$t=[Mt,Tt,Mt,Et],Ht=(e,t,a)=>t.map((t=>{const n=t.workspaceId===e.workspaceId;return{label:t.title,type:ht.Checkbox,enabled:!n,checked:n,data:{type:a,workspaceId:t.workspaceId}}})),qt=async e=>{const t=await q(),{newPageUrl:a}=await It(e),n=await(async e=>{const t=U(e),{workspacePlatform:a}=await t.getOptions();return a?.disableMultiplePages})(e),o=[];a&&(o.push(Rt),n||o.push(Vt)),o.push(Mt);const i=Ct(),r=await i.getCurrentWorkspace(),s=await i.Storage.getWorkspaces(),c=s.find((e=>e.workspaceId===r.workspaceId));return c?o.push(Lt):o.push({label:Lt.label,enabled:!1}),o.push(Ut,Dt),c?o.push(_t):o.push({label:_t.label,enabled:!1}),s.some((e=>e.workspaceId!==r.workspaceId))?o.push({label:Ft,submenu:Ht(r,s,p.SwitchWorkspace)},{label:Gt,submenu:Ht(r,s,p.DeleteWorkspace)}):o.push({label:Ft,enabled:!1},{label:Gt,enabled:!1}),o.push(Mt,xt,Bt),t?[...o,...Nt]:[...o,...$t]};let Kt="Platform";const jt=async()=>Kt;var Qt,zt;!function(e){e.HomeIndex="/home/",e.HomeSearch="/home/search/",e.HomePagesRename="/home/pages/rename/",e.Dock="/home/dock/",e.BrowserPagesLanding="/browser/pages/landing/",e.HomeIndicator="/home/indicator/",e.Browser="/browser/",e.BrowserPopupMenu="/browser/popup-menu/",e.Provider="/provider/",e.BrowserPopupMenuSharePage="/browser/popup-menu/share-page/",e.BrowserPopupMenuSaveModal="/browser/popup-menu/save-modal/",e.BrowserPopupMenuLayouts="/browser/popup-menu/layouts/layouts/",e.BrowserPopupMenuColorLinking="/browser/popup-menu/color-linking/color-linking/",e.BrowserIndicator="/browser/indicator/",e.ResponseModal="/browser/popup-menu/response-modal/",e.Docs="/provider/docs/",e.Storefront="/storefront/",e.DeprecatedAlert="/provider/deprecated-alert/"}(Qt||(Qt={})),function(e){e.IconOpenFinLogo="/icons/openfinlogo.svg",e.IconFilter="/icons/filter.svg"}(zt||(zt={}));const Jt={...zt,...Qt};var Xt;!function(e){e.Home="/home",e.Browser="/browser",e.Provider="/provider",e.Storefront="/storefront"}(Xt||(Xt={}));const Yt="/workspace/7.4.0";function Zt(){return Yt.substring(0,Yt.length-"".length)}function ea(e){if(!S)throw new Error("getAbsoluteRoutePath can only be used in a window");return function(){if(!window)throw new Error("getAbsoluteBasePath can only be used in a window");return`${window.origin}${Zt()}`}()+e}const ta={name:V.BrowserMenu,alwaysOnTop:!0,autoShow:!1,cornerRounding:{height:6,width:6},frame:!1,resizable:!1,backgroundColor:"#2f3136",smallWindow:!0,showTaskbarIcon:!1,backgroundThrottling:!0};function aa(e){const t={...ta,...e};return t.url=function(e){if(!S)throw new Error("resolveAbsolutePath can only be used in a window");return e.startsWith("http")?e:`${window.origin}${e}`}(t.url),t}var na,oa;!function(e){e.Update="update",e.Response="response"}(na||(na={})),function(e){e.Canceled="canceled",e.Negative="negative",e.Affirmative="affirmative"}(oa||(oa={}));const ia=function(e){const t=new Map;return{emit:ue(t,(t=>m&&fin.InterApplicationBus.publish(e,t))),addListener:ge(t,(t=>m&&fin.InterApplicationBus.subscribe({uuid:fin.me.uuid},e,t))),removeListener:he(t),once:ye(t)}}("window.menu"),ra=e=>ia.emit(na.Response,e),sa=de((()=>B().getChildWindows()),500);const ca=new Map;async function da({options:e,parameters:t}){const a=aa(e),{name:n}=a;let o=await async function(e){return(await sa()).find((t=>t.identity.name===e))}(n);return o||(o=await async function(e){const t=aa(e);if(!ca.has(t.name)){const e=(async()=>{const e=await fin.Platform.getCurrentSync().createWindow(t);return e.once("closed",(()=>{ca.delete(t.name)})),e})();ca.set(t.name,e)}return ca.get(t.name)}(a)),await async function(e,t){const a=aa(e),{top:n,left:o,defaultWidth:i,defaultHeight:r}=a,s={top:n,left:o,width:i,height:r},c={parentName:fin.Window.getCurrentSync().identity.name};for(const[e,a]of Object.entries(c))t.set(e,a);const d=t.toString(),p=`${a.url}?${d}`;ia.emit(na.Update,a.name,s,p),await ra({name:a.name,data:oa.Canceled})}(e,t||new URLSearchParams),o}const pa=async(e,t)=>{const a=t?U(t):_();await(async(e=fin.me.identity)=>{const t=U(e),a=await t.getBounds();(a.right>screen.availLeft+screen.width||a.left<screen.availLeft||a.bottom>screen.availTop+screen.height||a.top<screen.availTop)&&await t.center()})(a.identity);const n=await a.getBounds(),o={left:((i=n).left+(i.left+i.width))/2,top:(i.top+(i.top+i.height))/2};var i;const{defaultHeight:r,defaultWidth:s}=e;return((e,t)=>{const{height:a,width:n}=t,o=n/2,i=a/2;return{left:e.left-o,top:e.top-i}})(o,{height:r,width:s})},la=async({options:e,content:t})=>{const a=new URLSearchParams({...t});return await da({options:e,parameters:a}),new Promise((t=>{ia.once(na.Response,(a=>{a.name===e.name&&t(a)}))}))},wa=async(e,t)=>{const{windowOptions:a,content:n}=await(async(e,t)=>({title:"Switch Workspace",windowOptions:{url:I+Jt.ResponseModal,name:V.BrowserMenu,defaultHeight:112,defaultWidth:424,modalParentIdentity:e},content:{title:`Are you sure you want to switch to ${t}`,body:"Any unsaved changes will be discarded",affirmativeButton:"Confirm",negativeButton:"Cancel"}}))(e,t),{top:o,left:i}=await pa(a,e),r={...a,top:o,left:i};return(await la({options:r,content:n})).data===oa.Affirmative},ua=async(e,t)=>{const{windowOptions:a,content:n}=await(async(e,t)=>({title:"Delete Workspace",windowOptions:{url:I+Jt.ResponseModal,name:V.BrowserMenu,defaultHeight:144,defaultWidth:372,modalParentIdentity:e},content:{title:"Are you sure you want to permanently delete this workspace?",body:`${t}`,affirmativeButton:"Confirm",negativeButton:"Cancel"}}))(e,t),{top:o,left:i}=await pa(a,e),r={...a,top:o,left:i};return(await la({options:r,content:n})).data===oa.Affirmative},ga=async(e,t)=>{const{windowOptions:a,content:n}=await(async(e,t)=>({title:"Platform Quit",windowOptions:{url:I+Jt.ResponseModal,name:V.BrowserMenu,defaultHeight:134,defaultWidth:474,modalParentIdentity:e},content:{title:`Are you sure you want to quit ${"Platform"===t?"the platform":t}?`,body:"Any unsaved changes to the workspace will be discarded",affirmativeButton:"Confirm",negativeButton:"Cancel"}}))(e,t),{top:o,left:i}=await pa(a,e),r={...a,top:o,left:i};return(await la({options:r,content:n})).data===oa.Affirmative},ya=async e=>{const{windowOptions:t,content:a}=await(async e=>({title:"Restore Changes",windowOptions:{url:I+Jt.ResponseModal,name:V.BrowserMenu,defaultHeight:112,defaultWidth:424,modalParentIdentity:e},content:{title:"Are you sure you want to restore to last saved changes?",body:"Any unsaved changes will be discarded",affirmativeButton:"Confirm",negativeButton:"Cancel"}}))(e),{top:n,left:o}=await pa(t,e),i={...t,top:n,left:o};return(await la({options:i,content:a})).data===oa.Affirmative};var ha;!function(e){e.ERROR="error",e.SUCCESS="success",e.INFO="info"}(ha||(ha={}));const fa={alwaysOnTop:!0,autoShow:!1,cornerRounding:{height:5,width:5},frame:!1,resizable:!1,showTaskbarIcon:!1};var ma;!function(e){e.Locked="LockClosedIcon",e.Unlocked="LockOpen1Icon"}(ma||(ma={}));const Sa=function(e=fa){const t=new Map;return async(a,n,o,i)=>{if(t.has(a)){const{currentUrl:e,currentName:o}=t.get(a);if(e===n)return;const i=fin.Window.wrapSync({uuid:fin.me.uuid,name:o});await i.close()}const r=`${V.HomeInternal}-${Date.now()}${Math.random()}`;t.set(a,{currentUrl:n,currentName:r});const s=await fin.Platform.getCurrentSync().createWindow({...e,name:r,url:n});((e,t)=>{const a=document.createElement("div");a.setAttribute("aria-live",t||"polite"),(e=>{e.style.position="absolute",e.style.width="1px",e.style.height="1px",e.style.padding="0",e.style.margin="-1px",e.style.overflow="hidden",e.style.whiteSpace="nowrap",e.style.border="0"})(a),document.body.appendChild(a),setTimeout((()=>{a.innerHTML=e}),100),setTimeout((()=>{document.body.removeChild(a)}),1e3)})(`New ${i} indicator: ${o}`),s.once("closed",(()=>{t.delete(a)}))}}();async function va(e,t,a,n){const o=new URLSearchParams;o.append("type",e),o.append("message",t),o.append("parentName",a),o.append("icon",n||"");const i=`${ea(Jt.BrowserIndicator)}?${o.toString()}`;return Sa("browser"+a,i,t,e)}function Pa(e,t,a){return va(ha.SUCCESS,e,t,a)}const ba=async e=>{const t=Ct(),a=await t.getCurrentWorkspace(),n=await t.Storage.getWorkspaces(),o=a.workspaceId;if(n.some((e=>e.workspaceId===o)))t.Storage.saveWorkspace(a),t.setActiveWorkspace(a),Pa("Workspace Saved!",e.name);else{t.Browser.wrapSync(e)._openSaveModal({menuType:h.SAVE_WORKSPACE})}},ka=e=>{Ct().Browser.wrapSync(e)._openSaveModal({menuType:h.SAVE_WORKSPACE_AS})},Wa=async(e,t)=>{const a=Ct().Browser.wrapSync(e),n=await Ct().Storage.getPages(),o=(await a.getPages()).find((e=>t?e.pageId===t:e.isActive));if(n.some((e=>o.pageId===e.pageId)))try{await Ct().Storage.savePage((c=o,{...c,hasUnsavedChanges:void 0,parentIdentity:void 0,isActive:void 0})),await a.updatePage({pageId:o.pageId,page:{hasUnsavedChanges:!1}}),Pa("Page saved",o.parentIdentity.name)}catch{i="Page failed to save",r=o.parentIdentity.name,va(ha.ERROR,i,r,s)}else a._openSaveModal({id:o.pageId,menuType:h.SAVE_PAGE});var i,r,s,c},Ca=async(e,t)=>{const a=Ct().Browser.wrapSync(e),n=(await a.getPages()).find((e=>t?e.pageId===t:e.isActive));a._openSaveModal({id:n.pageId,menuType:h.SAVE_PAGE_AS})},Ia=async(e,t)=>{if(!e)return;const a=t.identity,n=await Pe(a),o=Ct().Browser.wrapSync(t.identity);switch(e.type){case p.NewWindow:const{newPageUrl:t}=await It(a);if(!t)throw new Error("Trying to create a new empty window without a newPageUrl set");Ct().createView({target:void 0,url:t});break;case p.NewPage:await(async e=>{const t=Ct().Browser.wrapSync(e),a=await At(e);await t.addPage(a),await t.setActivePage(a.pageId)})(a);break;case p.CloseWindow:n.dispatch(be.CloseBrowserWindow);break;case p.SaveWorkspace:await ba(a);break;case p.SavePage:await Wa(a);break;case p.SavePageAs:await Ca(a);break;case p.SaveWorkspaceAs:await ka(a);break;case p.RenameWorkspace:o._openSaveModal({menuType:h.RENAME_WORKSPACE});break;case p.SwitchWorkspace:await(async(e,t)=>{const a=Ct(),n=(await a.Storage.getWorkspaces()).find((e=>e.workspaceId===t.workspaceId));n&&await wa(e,n.title)&&(await a.applyWorkspace(n),Pa("Workspace Switched!",e.name))})(a,e);break;case p.DeleteWorkspace:await(async(e,t)=>{const a=Ct(),n=(await a.Storage.getWorkspaces()).find((e=>e.workspaceId===t.workspaceId));n&&await ua(e,n.title)&&(await a.Storage.deleteWorkspace(t.workspaceId),Pa("Workspace Deleted!",e.name))})(a,e);break;case p.Quit:const i=await jt();await ga(a,i)&&fin.Platform.getCurrentSync().quit();break;case p.OpenStorefront:(async()=>{await q()&&G(F)})();break;case p.RestoreChanges:const r=await async function(){const e=Ct(),t=await e.getCurrentWorkspace();return(await e.Storage.getWorkspaces()).find((e=>e.workspaceId===t.workspaceId))}();await ya(a)&&await te(r);break;case p.Custom:if(e.action){const t={callerType:y.GlobalContextMenu,windowIdentity:a,customData:e.action.customData};Ct()._invokeCustomAction(e.action.id,t)}}},Aa=async(e,t)=>{const a=await Pe(t.identity),n=Ct();switch(e.type){case l.Save:await Wa(t.identity,t.pageId);break;case l.SaveAs:await Ca(t.identity,t.pageId);break;case l.Rename:await n.Browser.wrapSync(t.identity)._openSaveModal({menuType:h.RENAME_PAGE,id:t.pageId});break;case l.Duplicate:a.dispatch(be.DuplicatePage,t.pageId);break;case l.Close:a.dispatch(be.ClosePage,t.pageId);break;case l.Custom:if(e.action){const a={callerType:y.PageTabContextMenu,windowIdentity:t.identity,pageId:t.pageId,customData:e.action.customData};Ct()._invokeCustomAction(e.action.id,a)}}},Ma=async(e,t)=>{if(e?.type){const a=t.identity;switch(e.type){case g.SavePage:await Wa(a);break;case g.SaveWorkspace:await ba(a);break;case g.SavePageAs:await Ca(a);break;case g.SaveWorkspaceAs:await ka(a);break;case g.Custom:if(e.action){const a={callerType:y.SaveButtonContextMenu,windowIdentity:t.identity,pageId:t.pageId,customData:e.action.customData};Ct()._invokeCustomAction(e.action.id,a)}}}},Ta=async(e,t)=>{const a=t.selectedViews[0],n=fin.View.wrapSync(a),o=await(async e=>{const{newTabUrl:t}=await It(e);if(!t)throw new Error("Trying to create a new page without a newTabUrl set");return{...we("New View",t),url:t,target:e}})(e);await Ct().createView(o,e,n.identity)},Oa=async(e,t)=>{const a=await(e=>Promise.all(e.map((async e=>fin.View.wrapSync(e).getInfo()))))(t),{newPageUrl:n,newTabUrl:o}=await It(e);a.forEach((async e=>{e.url!==n&&e.url!==o&&await fin.System.openUrlWithBrowser(e.url)}))},Ea=(e,t)=>{t.forEach((async t=>{const a=fin.View.wrapSync(t);await(async(e,t)=>{const{url:a}=await t.getInfo(),n={...await t.getOptions(),url:a,target:e,name:void 0};await Ct().createView(n,e,t.identity)})(e,a)}))},Ra=async(e,t)=>{if(!e)return;const a=t.identity;switch(e.type){case w.CloseViews:await(async(e,t)=>{if((await fin.Window.wrapSync(e).getCurrentViews()).length!==t.length)t.forEach((async e=>{const t=fin.View.wrapSync(e);await t.destroy()}));else{const t=(await Ct().Browser.wrapSync(e).getPages()).find((e=>e.isActive));(await Pe(e)).dispatch(be.ClosePage,t?.pageId)}})(a,t.selectedViews);break;case w.OpenWithDefaultBrowser:await Oa(a,t.selectedViews);break;case w.ReloadViews:t.selectedViews.forEach((async e=>{const t=fin.View.wrapSync(e);await t.reload()}));break;case w.NewView:await Ta(a,t);break;case w.DuplicateViews:Ea(a,t.selectedViews);break;case w.AddToChannel:(async(e,t,a)=>{const n={newChannelId:t,selectedViews:a};(await Pe(e)).dispatch(be.AddToChannel,n)})(a,e.option,t.selectedViews);break;case w.RemoveFromChannel:(async(e,t)=>{(await Pe(e)).dispatch(be.RemoveFromChannel,t)})(a,t.selectedViews);break;case w.Custom:if(e.action){const n={callerType:y.ViewTabContextMenu,windowIdentity:a,selectedViews:t.selectedViews,customData:e.action.customData};Ct()._invokeCustomAction(e.action.id,n)}}};async function xa(e,t){const a=await qt(e.identity),n=await jt();a.find((e=>e.data?.type===p.Quit)).label=`Quit ${n}`;const o={...e,template:a,callback:Ia};await this.openGlobalContextMenu(o,t)}const Ba=async(e,t)=>{const{x:a,y:n,identity:o,template:i,callback:r}=e,{data:s}=await function(e,t){if(!m)throw new Error("showContextMenu can only be used in an OpenFin env. Avoid calling this method during pre-rendering.");if(!t&&!fin.me.isWindow)throw new Error("showContextMenu can only be used in an OpenFin window.");return(t||fin.Window.getCurrentSync()).showPopupMenu(e)}({x:a,y:n,template:i},fin.Window.wrapSync(o));r(s,e)};async function Va(e,t){const a={...e,callback:Ra};await this.openViewTabContextMenu(a,t)}async function La(e,t){const a=await Ct().Storage.getPage(e.pageId),n=await(o=!!a,[{type:ht.Label,label:"Save Page",data:{type:l.Save}},{type:ht.Label,label:"Save Page As",data:{type:l.SaveAs}},{type:ht.Separator,data:void 0},{type:ht.Label,label:"Rename Page",data:{type:l.Rename},enabled:o},{type:ht.Label,label:"Duplicate Page",data:{type:l.Duplicate}},{type:ht.Separator,data:void 0},{type:ht.Label,label:"Close Page",data:{type:l.Close}}]);var o;const i={...e,template:n,callback:Aa};await this.openPageTabContextMenu(i,t)}async function Ua(e,t){const a={...e,template:await(async()=>[{type:ht.Label,label:"Save Workspace",data:{type:g.SaveWorkspace}},{type:ht.Label,label:"Save Workspace As",data:{type:g.SaveWorkspaceAs}},{type:ht.Separator,data:void 0},{type:ht.Label,label:"Save Page",data:{type:g.SavePage}},{type:ht.Label,label:"Save Page As",data:{type:g.SavePageAs}}])(),callback:Ma};await this.openSaveButtonContextMenu(a,t)}const Da=v&&tt("openfin-workspace-platform-workspaces","workspaces");async function _a(e){const t=await ot(e,Da);return t?(t.workspaceId=e.toString(),t.title=t.title||t.workspaceId,t):null}async function Fa(e){const t=await ct(Da),a=await Promise.all(t.map((e=>_a(e.toString()))));return e?a.filter((t=>dt(t.title,e))):a}async function Ga({workspace:e}){await it(e.workspaceId,e,Da)}async function Na(e){await rt(e,Da)}async function $a({workspaceId:e,workspace:t}){if(void 0===await _a(e))throw new Error("workspace not found");await Ga({workspace:t}),e!==t.workspaceId&&await Na(e)}async function Ha({app:e,target:t}){const a=fin.Platform.getCurrentSync();switch(e.manifestType){case i.Snapshot:return a.applySnapshot(e.manifest);case i.View:return async function(e,t){const a=fin.Platform.getCurrentSync();if("view"===t.entityType){const a=fin.View.wrapSync(t),n=await a.getParentLayout();return await n.replaceView(t,{manifestUrl:e.manifest,url:void 0,target:void 0}),a.destroy()}return a.createView({name:void 0,url:void 0,manifestUrl:e.manifest,target:void 0})}(e,t);case i.External:return fin.System.launchExternalProcess({path:e.manifest,uuid:e.appId});default:return fin.Application.startFromManifest(e.manifest)}}const qa=e=>e&&"object"==typeof e&&!Array.isArray(e);function Ka(e,...t){if(!t.length)return e;const a=t.shift();return qa(e)&&qa(a)&&Object.entries(a).forEach((([t,a])=>{if(qa(a))return e[t]||(e[t]={}),Ka(e[t],a);e[t]=a})),Ka(e,...t)}const ja=I+Jt.Browser;function Qa(e,t){const a=Ka({},t,e);return a.detachOnClose=!0,a}async function za(e,t,a){const n=e.manifestUrl?await t({manifestUrl:e.manifestUrl},a):void 0;if(n?.interop&&e.interop){const t={...e,...n,interop:e.interop};return delete t.manifestUrl,t}return e}const Ja=e=>{const t=e.name===V.Home,a=e.name?.startsWith(V.HomeInternal),n=e.name?.startsWith(V.BrowserMenu);return!t&&!a&&!n},Xa=e=>"workspacePlatform"in e?e:(({workstacks:e,pages:t,...a})=>({...a,workspacePlatform:{pages:t||e||null}}))(e),Ya={contextMenuSettings:{reload:!1},backgroundThrottling:!0,url:ja,contextMenu:!0,closeOnLastViewRemoved:!1,experimental:{showFavicons:!0,defaultFaviconUrl:`${I}/icons/defaultFavicon.svg`},permissions:{System:{openUrlWithBrowser:{enabled:!0,protocols:["mailto"]}}}},Za={dimensions:{borderWidth:3,headerHeight:30}},en=async(e,t)=>{const a=await Ct().Storage.getPages(),n=await Ct().Browser.getAllAttachedPages();return e.map((e=>{let o=e.title;void 0===e.pageId&&(e.pageId=crypto.randomUUID());const i=a.find((e=>e.title===o));return(i&&i.pageId!==e.pageId||n.find((e=>e.title===o)))&&(o=ee(e.title,[...a,...n].map((e=>e.title)))),n.push(e),{...t,...e,title:o}}))},tn=e=>{const t=fin.Window.wrapSync(e);return Promise.all([t.bringToFront(),t.restore(),t.focus()])};async function an(e){const t=await $();return await Promise.all(t.map((({identity:e})=>(async e=>(await Pe(e)).dispatch(ke.UpdatePagesWindowOptions))(e)))),e?e():Ze()}let nn=[];const on=()=>nn;const rn=e=>async t=>{class a extends t{constructor(){super(),this.isWorkspacePlatform=()=>!0,this.addPage=this.attachPagesToWindow,this.detachPagesFromWindow=Ue,this.getAllAttachedPages=Ae,this.getPagesForWindow=_e,this.getPageForWindow=Fe,this.setActivePage=De,this.launchApp=Ha,this.savePage=Be,this.saveWorkspace=ie,this.createSavedPageInternal=Ee,this.updateSavedPageInternal=xe,this.deleteSavedPageInternal=Re,this.reorderPagesForWindow=Ge,this.getUniquePageTitle=Ne,this.updatePageForWindow=Le,this.getLastFocusedBrowserWindow=se,this.getThemes=on,this.invokeCustomActionInternal=Qe,this.getCurrentWorkspace=oe,this.applyWorkspace=te,this.setActiveWorkspace=ae,this.openGlobalContextMenuInternal=this.openGlobalContextMenuInternal.bind(this),this.openGlobalContextMenu=this.openGlobalContextMenu.bind(this),this.getSavedPages=this.getSavedPages.bind(this),this.getSavedPage=this.getSavedPage.bind(this),this.createSavedPage=this.createSavedPage.bind(this),this.updateSavedPage=this.updateSavedPage.bind(this),this.deleteSavedPage=this.deleteSavedPage.bind(this),this.attachPagesToWindow=this.attachPagesToWindow.bind(this),this.openViewTabContextMenuInternal=this.openViewTabContextMenuInternal.bind(this),this.openViewTabContextMenu=this.openViewTabContextMenu.bind(this),this.openPageTabContextMenuInternal=this.openPageTabContextMenuInternal.bind(this),this.openPageTabContextMenu=this.openPageTabContextMenu.bind(this),this.getSavedWorkspaces=this.getSavedWorkspaces.bind(this),this.getSavedWorkspace=this.getSavedWorkspace.bind(this),this.createSavedWorkspace=this.createSavedWorkspace.bind(this),this.updateSavedWorkspace=this.updateSavedWorkspace.bind(this),this.deleteSavedWorkspace=this.deleteSavedWorkspace.bind(this),this.getCurrentWorkspace=this.getCurrentWorkspace.bind(this),this.applyWorkspace=this.applyWorkspace.bind(this),this.setActiveWorkspace=this.setActiveWorkspace.bind(this),this.openSaveButtonContextMenu=this.openSaveButtonContextMenu.bind(this),this.openSaveButtonContextMenuInternal=this.openSaveButtonContextMenuInternal.bind(this)}async getSnapshot(){const e=await an((async()=>Ze(await super.getSnapshot(void 0,fin.me.identity))));return{...e,windows:e.windows.filter(Ja).map(Ye)}}async applySnapshot({snapshot:e,options:t}){t?.closeExistingWindows&&await async function(){const e=await $();await Promise.all(e.map((e=>e.close(!0).catch((()=>{})))))}();let a=e;return"string"==typeof a&&(a=await super.fetchManifest({manifestUrl:a},fin.me.identity)),async function(e,t){const a=await Ae(),n=e.snapshotDetails?.monitorInfo||await fin.System.getMonitorInfo(),o=(e.windows||[]).filter((({layout:e})=>!!e)),i=new Map;a.forEach((e=>i.set(e.pageId,e)));const r=[],s=o.map((async e=>{const t=Xa(e),a=[],n=(e=>{let t=!1;const a=(e||[]).map((e=>{const a=function({id:e,name:t,...a}){return{pageId:e,title:t,...a}}(e);return t&&a.isActive&&(a.isActive=!1),a.isActive&&(t=!0),a}));return!t&&a.length&&(a[0].isActive=!0),a})(t?.workspacePlatform?.pages);if(!n?.length){const e=await Ne();a.push(await mt(e,t.layout))}let o;n.forEach((e=>{const t=i.get(e.pageId);t?o=t:a.push(e)})),o&&await Promise.all([De({identity:o.parentIdentity,pageId:o.pageId}),tn(o.parentIdentity)]),a.length&&r.push({...t,workspacePlatform:{...t.workspacePlatform,pages:a}})}));if(await Promise.all(s),!r.length)return;const c=fin.Platform.getCurrentSync();return(t||c.applySnapshot.bind(c))({...e,snapshotDetails:{...e.snapshotDetails,monitorInfo:n},windows:r})}(a,(e=>super.applySnapshot({snapshot:e,options:{...t,closeExistingWindows:!1}})))}async createWindow(t,a){let n=Xa(t);const o=await this.getThemes();n=await(async(e,t,a)=>{let n=e;const o=n?.workspacePlatform?.pages;if(o){const e=o.find((e=>e.isActive));e?n.layout=e.layout:(o[0].isActive=!0,n.layout=o[0].layout)}if(n.layout){if(n=Ka({},t.defaultWindowOptions,n,Ya),n.layout=Ka(n.layout,Za),(n.icon||n.taskbarIcon)&&(n.taskbarIconGroup=n.taskbarIconGroup||fin.me.identity.uuid),!n.backgroundColor){const e=a?.palette;n.backgroundColor=e?.background2||e?.backgroundPrimary}const e=n.workspacePlatform.newTabUrl;e&&(n.layout.settings||(n.layout.settings={}),n.layout.settings.newTabButton={url:e}),n=(e=>{const t=e;return t.workspacePlatform||(t.workspacePlatform={}),t.workspacePlatform._internalDeferShowEnabled=!0,t.workspacePlatform._internalAutoShow=t.workspacePlatform?._internalAutoShow||void 0===t.autoShow||t.autoShow,t.autoShow=!1,t})(n)}return n.workspacePlatform?.pages&&(n.workspacePlatform.pages=await en(n.workspacePlatform.pages,t?.defaultPageOptions)),n.cornerRounding&&delete n.cornerRounding,n})(n,e,o[0]),n=await(async e=>{const t=await fin.System.getMonitorInfo(),a=t.primaryMonitor.availableRect.bottom-t.primaryMonitor.availableRect.top,n=t.primaryMonitor.availableRect.right-t.primaryMonitor.availableRect.left;return e.defaultHeight=e.defaultHeight||"800",e.defaultWidth=e.defaultWidth||"800",a<e.defaultHeight&&(e.defaultHeight=a),n<e.defaultWidth&&(e.defaultWidth=n),e})(n);return(e=>async(t,a)=>{const n=await e(t,a);return t?.workspacePlatform?._internalDeferShowEnabled?(await n.addListener(L.ShowRequested,(()=>{})),n):n})(((e,t)=>super.createWindow(e,t)))(n,a)}async createView(t,a){return t.opts=Qa(t.opts,e?.defaultViewOptions),t.opts=await za(t.opts,this.fetchManifest,a),super.createView(t,a)}async replaceView(t,a){return t.opts.newView=await Qa(t.opts.newView,e?.defaultViewOptions),t.opts.newView=await za(t.opts.newView,this.fetchManifest,a),super.replaceView(t,a)}async replaceLayout(e,t){return e.opts.layout?.dimensions,super.replaceLayout(e,t)}async closeView(e,t){const a=fin.View.wrapSync(e.view);await super.closeView(e,t),await a.destroy().catch((e=>e))}async getSavedPage(...e){return lt.apply(this,e)}async getSavedPages(...e){return wt.apply(this,e)}async createSavedPage(...e){return ut.apply(this,e)}async deleteSavedPage(...e){return gt.apply(this,e)}async updateSavedPage(...e){return yt.apply(this,e)}async getSavedWorkspace(...e){return _a.apply(this,e)}async getSavedWorkspaces(...e){return Fa.apply(this,e)}async createSavedWorkspace(...e){return Ga.apply(this,e)}async deleteSavedWorkspace(...e){return Na.apply(this,e)}async updateSavedWorkspace(...e){return $a.apply(this,e)}async attachPagesToWindow(t){t.pages=await en(t.pages,e?.defaultPageOptions),await Ve(t)}async openGlobalContextMenuInternal(...e){return xa.apply(this,e)}async openGlobalContextMenu(...e){return Ba.apply(this,e)}async openViewTabContextMenuInternal(...e){return Va.apply(this,e)}async openViewTabContextMenu(...e){return Ba.apply(this,e)}async openPageTabContextMenuInternal(...e){return La.apply(this,e)}async openPageTabContextMenu(...e){return Ba.apply(this,e)}async openSaveButtonContextMenu(...e){return Ba.apply(this,e)}async openSaveButtonContextMenuInternal(...e){return Ua.apply(this,e)}}return"function"==typeof e?.overrideCallback?e.overrideCallback(a):new a};async function sn(){!function(){const e=B();e.addListener(O.WindowOptionsChanged,qe),e.addListener(O.WindowClosed,Ke),e.addListener(O.WindowCreated,Ke)}(),async function(){const e=fin.Application.getCurrentSync();await e.addListener("window-focused",ce)}();ae(await ne())}let cn;function dn(e){if(!m)throw new Error("Cannot be used outside an OpenFin env.");if(!cn){fin.Platform.getCurrentSync().once("platform-api-ready",(()=>sn())),e.title&&(t=e.title,Kt=t),cn=fin.Platform.init({overrideCallback:rn(e),interopOverride:e?.interopOverride}),(async e=>{j(K.Platform,e)})({allowed:!0})}var t;return cn}const pn=async e=>{const t=A.split(".").map((e=>parseInt(e))),a=await(async e=>new Promise((async t=>{const a=(await fin.System.getVersion()).split(".").map((e=>parseInt(e)));t(e.every(((t,n)=>!(n<3)||a[n]===e[n])))})))(t),n=e?.theme;var o;if(n&&((o=n).forEach((e=>{const t=e.palette.backgroundPrimary;if(!t.includes("#")&&!t.includes("rgb")&&!t.includes("hsl"))throw new Error("Background primary color is not the right format.")})),nn=o,(async e=>{j(K.Theming,e)})({allowed:!0})),e?.customActions&&(je=e?.customActions),a){return dn(e?.browser)}throw new Error(`Runtime version is not supported. ${t[0]}.${t[1]}.${t[2]}.* is required`)};module.exports=c})();
|
|
1
|
+
(()=>{"use strict";var e,t,a,n,o,i,r,s={d:(e,t)=>{for(var a in t)s.o(t,a)&&!s.o(e,a)&&Object.defineProperty(e,a,{enumerable:!0,get:t[a]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r:e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}},c={};s.r(c),s.d(c,{AppManifestType:()=>i,BrowserButtonType:()=>u,CustomActionCallerType:()=>y,GlobalContextMenuOptionType:()=>p,PageTabContextMenuOptionType:()=>l,SaveButtonContextMenuOptionType:()=>g,SaveModalType:()=>h,ViewTabMenuOptionType:()=>w,getCurrentSync:()=>Ct,init:()=>pn,wrapSync:()=>Wt}),function(e){e.Fetching="fetching",e.Fetched="fetched",e.Complete="complete"}(e||(e={})),function(e){e.Active="active",e.Default="default"}(t||(t={})),function(e){e.Suggestion="suggestion"}(a||(a={})),function(e){e.Contact="Contact",e.Custom="Custom",e.List="List",e.Plain="Plain",e.SimpleText="SimpleText"}(n||(n={})),function(e){e.MultiSelect="MultiSelect"}(o||(o={})),function(e){e.Snapshot="snapshot",e.Manifest="manifest",e.View="view",e.External="external"}(i||(i={})),function(e){e.LandingPage="landingPage",e.AppGrid="appGrid"}(r||(r={}));var d,p,l,w,u,g,y,h,f;!function(e){e.Primary="primary",e.Secondary="secondary",e.TextOnly="textOnly"}(d||(d={})),function(e){e.NewWindow="NewWindow",e.NewPage="NewPage",e.SavePage="SavePage",e.SavePageAs="SavePageAs",e.CloseWindow="CloseWindow",e.RestoreChanges="RestoreChanges",e.SaveWorkspace="SaveWorkspace",e.SaveWorkspaceAs="SaveWorkspaceAs",e.RenameWorkspace="RenameWorkspace",e.SwitchWorkspace="SwitchWorkspace",e.DeleteWorkspace="DeleteWorkspace",e.OpenStorefront="OpenStorefront",e.Quit="Quit",e.Custom="Custom"}(p||(p={})),function(e){e.Close="Close",e.Duplicate="Duplicate",e.Rename="Rename",e.Save="Save",e.SaveAs="Save As",e.Custom="Custom"}(l||(l={})),function(e){e.NewView="NewView",e.DuplicateViews="DuplicateView",e.OpenWithDefaultBrowser="OpenWithDefaultBrowser",e.ReloadViews="ReloadTab",e.CloseViews="CloseTab",e.AddToChannel="AddToChannel",e.RemoveFromChannel="RemoveFromChannel",e.Custom="Custom"}(w||(w={})),function(e){e.ShowHideTabs="ShowHideTabs",e.ColorLinking="ColorLinking",e.PresetLayouts="PresetLayouts",e.SaveMenu="SaveMenu",e.SavePage="SavePage",e.Minimise="Minimise",e.Maximise="Maximise",e.Close="Close",e.Custom="Custom"}(u||(u={})),function(e){e.SavePage="SavePage",e.SaveWorkspace="SaveWorkspace",e.SavePageAs="SavePageAs",e.SaveWorkspaceAs="SaveWorkspaceAs",e.Custom="Custom"}(g||(g={})),function(e){e.CustomButton="CustomButton",e.GlobalContextMenu="GlobalContextMenu",e.ViewTabContextMenu="ViewTabContextMenu",e.PageTabContextMenu="PageTabContextMenu",e.SaveButtonContextMenu="SaveButtonContextMenu",e.API="API"}(y||(y={})),function(e){e.SAVE_PAGE="SAVE_PAGE",e.SAVE_WORKSPACE="SAVE_WORKSPACE",e.SAVE_PAGE_AS="SAVE_PAGE_AS",e.SAVE_WORKSPACE_AS="SAVE_WORKSPACE_AS",e.RENAME_PAGE="RENAME_PAGE",e.RENAME_WORKSPACE="RENAME_WORKSPACE"}(h||(h={})),function(e){e.Local="local",e.Dev="dev",e.Staging="staging",e.Prod="prod"}(f||(f={}));const m="undefined"!=typeof window&&"undefined"!=typeof fin,S=("undefined"==typeof process||process.env?.JEST_WORKER_ID,"undefined"!=typeof window),v=S&&"undefined"!=typeof indexedDB,P=S?window.origin:f.Local,b=m&&fin.me.uuid,k=m&&fin.me.name,W=m&&fin.me.entityType,C=(f.Local,f.Dev,f.Staging,f.Prod,e=>e.startsWith("http://")||e.startsWith("https://")?e:P+e),I=(C("https://cdn.openfin.co/workspace/7.4.1"),C("https://cdn.openfin.co/workspace/7.4.1")),A=("undefined"!=typeof WORKSPACE_DOCS_PLATFORM_URL&&C(WORKSPACE_DOCS_PLATFORM_URL),"undefined"!=typeof WORKSPACE_DOCS_CLIENT_URL&&C(WORKSPACE_DOCS_CLIENT_URL),"24.98.69.7"),M="7.4.1";var T,O,E;!function(e){e.Workspace="openfin-browser"}(T||(T={})),function(e){e.RunRequested="run-requested",e.WindowOptionsChanged="window-options-changed",e.WindowClosed="window-closed",e.WindowCreated="window-created"}(O||(O={})),function(e){e.FinProtocol="fin-protocol"}(E||(E={}));const R={uuid:b,name:b},x=(T.Workspace,T.Workspace,e=>{if(!m)throw new Error("getApplication cannot be used in a non OpenFin env. Avoid using this during pre-rendering.");return fin.Application.wrapSync(e)}),B=()=>x(R);var V,L;!function(e){e.Home="openfin-home",e.Dock="openfin-dock",e.Storefront="openfin-storefront",e.HomeInternal="openfin-home-internal",e.BrowserMenu="openfin-browser-menu",e.BrowserIndicator="openfin-browser-indicator",e.BrowserWindow="internal-generated-window"}(V||(V={})),function(e){e.Shown="shown",e.BoundsChanged="bounds-changed",e.LayoutReady="layout-ready",e.EndUserBoundsChanging="end-user-bounds-changing",e.Blurred="blurred",e.CloseRequested="close-requested",e.Focused="focused",e.ShowRequested="show-requested",e.ViewCrashed="view-crashed",e.ViewAttached="view-attached",e.ViewDetached="view-detached",e.ViewPageTitleUpdated="view-page-title-updated",e.ViewDestroyed="view-destroyed",e.OptionsChanged="options-changed"}(L||(L={}));function U(e){if(!m)throw new Error("getOFWindow can only be used in an OpenFin env. Avoid calling this method during pre-rendering.");return fin.Window.wrapSync(e)}const D={name:k,uuid:b};function _(){return U(D)}V.Home,T.Workspace,V.Dock,T.Workspace;const F={name:V.Storefront,uuid:T.Workspace};T.Workspace,T.Workspace;async function G(e){const t=U(e);"minimized"===await t.getState()&&await t.restore(),await t.show(),await t.bringToFront(),await t.focus()}const N=e=>e.startsWith(V.BrowserWindow);async function $(){return(await fin.Application.getCurrentSync().getChildWindows()).filter((e=>N(e.identity.name)))}const H=e=>U(e).getOptions().then((()=>!0)).catch((()=>!1)),q=()=>H(F);var K;!function(e){e.Browser="Browser",e.Home="Home",e.Notification="Notification",e.Storefront="Storefront",e.Platform="Platform",e.Theming="Theming"}(K||(K={}));const j=async(e,t)=>{const a={apiVersion:t.apiVersion||M,componentName:e,componentVersion:M,...t};fin.System.registerUsage({type:"workspace-licensing",data:a})};var Q;!function(e){e.CurrentWorkspaceId="currentWorkspaceId",e.LastFocusedBrowserWindow="lastFocusedBrowserWindow",e.MachineName="machineName",e.NewTabPageLayout="NewTabPageLayout",e.NewTabPageSort="NewTabPageSort"}(Q||(Q={}));const z=Q;var J;!function(e){e.LaunchApp="launchApp",e.SavePage="savePage",e.GetSavedPage="getSavedPage",e.CreateSavedPage="createSavedPage",e.UpdateSavedPage="updateSavedPage",e.DeleteSavedPage="deleteSavedPage",e.GetSavedPages="getSavedPages",e.CreateSavedPageInternal="createSavedPageInternal",e.UpdateSavedPageInternal="updateSavedPageInternal",e.DeleteSavedPageInternal="deleteSavedPageInternal",e.SharePage="sharePage",e.UpdatePageForWindow="updatePageForWindow",e.AttachPagesToWindow="attachPagesToWindow",e.DetachPagesFromWindow="detachPagesFromWindow",e.ReorderPagesForWindow="reorderPagesForWindow",e.SetActivePage="setActivePage",e.GetAllAttachedPages="getAllAttachedPages",e.GetActivePageIdForWindow="getActivePageIdForWindow",e.GetPagesForWindow="getPagesForWindow",e.GetPageForWindow="getPageForWindow",e.GetSavedPageMetadata="getSavedPageMetadata",e.GetUniquePageTitle="getUniquePageTitle",e.GetLastFocusedBrowserWindow="getLastFocusedBrowserWindow",e.GetThemes="getThemes",e.OpenGlobalContextMenuInternal="openGlobalContextMenuInternal",e.OpenViewTabContextMenuInternal="openViewTabContextMenuInternal",e.OpenPageTabContextMenuInternal="openPageTabContextMenuInternal",e.OpenSaveButtonContextMenuInternal="openSaveButtonContextMenuInternal",e.InvokeCustomActionInternal="invokeCustomActionInternal",e.GetSavedWorkspace="getSavedWorkspace",e.CreateSavedWorkspace="createSavedWorkspace",e.UpdateSavedWorkspace="updateSavedWorkspace",e.DeleteSavedWorkspace="deleteSavedWorkspace",e.GetSavedWorkspaces="getSavedWorkspaces",e.SaveWorkspace="saveWorkspace",e.GetCurrentWorkspace="getCurrentWorkspace",e.ApplyWorkspace="applyWorkspace",e.SetActiveWorkspace="setActiveWorkspace"}(J||(J={}));const X=async e=>{const t=fin.Platform.wrapSync(e),a=await t.getClient(),n="Target is not a Workspace Platform. Target must call WorkspacePlatform.init";try{if(!0===await a.dispatch("isWorkspacePlatform"))return a;throw new Error(n)}catch(e){throw new Error(n)}},Y=(e,t)=>!t.find((t=>t===e)),Z=(e,t)=>`${e} (${t})`,ee=(e,t)=>{let a=1;const n=e.replace(/ \(.+\)$/,"");for(;!Y(Z(n,a),t);)a+=1;return Z(n,a)};async function te(e){try{const t=Ct();await t.applySnapshot(e.snapshot,{closeExistingWindows:!0}),ae(e)}catch(e){}}function ae(e){if("undefined"!=typeof localStorage)try{const t=JSON.stringify(e);localStorage.setItem(z.CurrentWorkspaceId,t)}catch(e){}}async function ne(){if("undefined"==typeof localStorage)return;const e=Ct(),t=await e.getSnapshot();return{workspaceId:crypto.randomUUID(),title:await re(),metadata:{APIVersion:M},snapshot:t}}async function oe(){if("undefined"==typeof localStorage)return;const e=localStorage.getItem(z.CurrentWorkspaceId);if(!e)return ne();const t=JSON.parse(e),a=Ct(),n=await a.getSnapshot();return{...t,metadata:{APIVersion:M},snapshot:n}}const ie=async e=>await(async e=>(await X(D)).dispatch(J.GetSavedWorkspace,e))(e.workspaceId)?(async e=>(await X(D)).dispatch(J.UpdateSavedWorkspace,e))({workspaceId:e.workspaceId,workspace:e}):(async e=>(await X(D)).dispatch(J.CreateSavedWorkspace,e))({workspace:e});async function re(e="Untitled Workspace"){const t=(await(async()=>(await X(D)).dispatch(J.GetSavedWorkspaces,void 0))()).map((({title:e})=>e));return t.find((t=>t===e))?ee(e,t):e}async function se(){if("undefined"!=typeof localStorage)try{const e=localStorage.getItem(z.LastFocusedBrowserWindow),t=JSON.parse(e);if(await H(t))return t}catch(e){throw new Error(`failed to get last focused browser window: ${e}`)}}function ce(e=fin.me.identity){N(e.name)&&function(e){if("undefined"!=typeof localStorage)try{const t=JSON.stringify(e);localStorage.setItem(z.LastFocusedBrowserWindow,t)}catch(e){}}(e)}const de=(e,t=0)=>{let a,n,o=!1;const i=async n=>{const r=await e(...n);if(o){await new Promise((e=>setTimeout(e,t)));const e=a;return a=void 0,o=!1,i(e)}return r};return(...e)=>(n?(o=!0,a=e):n=i(e).then((e=>(n=void 0,e))),n)};var pe;!function(e){e.TabCreated="tab-created",e.ContainerCreated="container-created",e.ContainerResized="container-resized"}(pe||(pe={}));const le=e=>{const t=[];return(e&&Array.isArray(e)?e:[]).forEach((e=>{if("component"===e.type)return t.push(e.componentState);const a=le(e.content);t.push(...a)})),t},we=async(e,t,a=D)=>{let n;if(N(a.name)){n=(await U(a).getOptions()).layout||{settings:{}}}return{...n,content:[{type:"stack",content:[{type:"component",componentName:"view",componentState:{title:e,url:t}}]}]}};new Map;function ue(e,t){return async(a,...n)=>{e.has(a)&&e.get(a).forEach((e=>e(...n))),t&&await t({event:a,payload:n})}}function ge(e,t){return t&&t((t=>{const{event:a,payload:n}=t;e.has(a)&&e.get(a).forEach((e=>e(...n)))})),(t,a)=>{e.has(t)||e.set(t,new Set),e.get(t).add(a)}}function ye(e){return(t,a)=>{e.has(t)||e.set(t,new Set);const n=e.get(t),o=(...e)=>{a(...e),n.delete(o)};n.add(o)}}function he(e){return(t,a)=>{e.has(t)&&e.get(t).delete(a)}}const fe=S&&"complete"!==document.readyState&&new Promise((e=>document.addEventListener("readystatechange",(()=>{"complete"===document.readyState&&e()}))));function me(e){let t;return()=>{if(!m)throw new Error("getChannelClient cannot be used outside an OpenFin env. Avoid using this method during pre-rendering.");return t||(t=(async()=>{await fe;const a=await fin.InterApplicationBus.Channel.connect(e);return a.onDisconnection((async()=>{t=void 0})),a})().then((e=>e)).catch((a=>{throw t=void 0,new Error(`failed to connect to channel provider ${e}: ${a}`)}))),t}}const Se=e=>`__browser_window__-${e.uuid}-${e.name}`,ve=new Map,Pe=e=>{const t=Se(e);return ve.has(t)||ve.set(t,me(t)),ve.get(t)()};var be,ke,We;!function(e){e.CloseBrowserWindow="close-browser-window",e.QuitPlatform="quit-platform",e.ClosePage="close-page",e.AddToChannel="add-to-channel",e.RemoveFromChannel="remove-from-channel",e.OpenSaveModalInternal="open-save-modal-internal",e.DuplicatePage="duplicate-page"}(be||(be={})),function(e){e.GetPages="get-pages",e.GetActivePageForWindow="get-active-page-for-window",e.AttachPagesToWindow="attach-pages-to-window",e.DetachPagesFromWindow="detach-pages-from-window",e.SetActivePageForWindow="set-active-page-for-window",e.RenamePage="rename-page",e.ReorderPagesForWindow="reorder-pages-for-window",e.UpdatePageForWindow="update-page-for-window",e.UpdatePagesWindowOptions="update-pages-window-options",e.IsDetachingPages="is-detaching-pages",e.IsActivePageChanging="is-active-page-changing"}(ke||(ke={})),function(e){e.AttachedPagesToWindow="attached-pages-to-window",e.DetachedPagesFromWindow="detached-pages-from-window"}(We||(We={}));new Map;const Ce=async e=>{const t=await Pe(e);return await t.dispatch(ke.GetPages)},Ie=async e=>(await Pe(e.identity)).dispatch(ke.UpdatePageForWindow,e),Ae=async()=>{const e=await $();return(await Promise.all(e.map((async({identity:e})=>Ce(e))))).reduce(((e,t)=>e.concat(t)),[])},Me=async()=>(await X(D)).dispatch(J.GetSavedPages,void 0),Te=async e=>(await X(D)).dispatch(J.GetSavedPage,e),Oe=async(e,t)=>{const a=await(async e=>(await Ae()).find((t=>t.pageId===e)))(e);return!a||a.title===t.title&&e===t.pageId||await Ie({identity:a.parentIdentity,pageId:e,page:{pageId:t.pageId,title:t.title}}),a},Ee=async({page:e})=>{await Oe(e.pageId,e),await(async e=>(await X(D)).dispatch(J.CreateSavedPage,e))({page:e})},Re=async e=>{await Te(e)&&await(async e=>(await X(D)).dispatch(J.DeleteSavedPage,e))(e)},xe=async({pageId:e,page:t})=>{await Oe(e,t);return await(async e=>(await X(D)).dispatch(J.UpdateSavedPage,e))({pageId:e,page:t})},Be=async e=>await Te(e.pageId)?xe({pageId:e.pageId,page:e}):Ee({page:e}),Ve=async e=>{await(async e=>(await Pe(e.identity)).dispatch(ke.AttachPagesToWindow,e))(e)},Le=async e=>{await Ie(e)},Ue=async e=>{await(async e=>(await Pe(e.identity)).dispatch(ke.DetachPagesFromWindow,e))(e)},De=async e=>{await(async e=>(await Pe(e.identity)).dispatch(ke.SetActivePageForWindow,e))(e)},_e=e=>Ce(e),Fe=async({identity:e,pageId:t})=>(await _e(e)).find((e=>e.pageId===t)),Ge=async e=>{await(async e=>(await Pe(e.identity)).dispatch(ke.ReorderPagesForWindow,e))(e)};async function Ne(e="Untitled Page"){const[t,a]=await Promise.all([Me(),Ae()]),n=[...t,...a].map((({title:e})=>e));return n.find((t=>t===e))?ee(e,n):e}const $e=new Map,He=e=>`${e.uuid}-${e.name}`;const qe=de((async function(){const e=await Ae(),t=new Set;e.forEach((e=>{le(e.layout.content).forEach((e=>{if(e.name){const a=He(e);t.add(a)}}))}));const a=_();(await a.getCurrentViews()).forEach((({identity:e})=>{const a=He(e);if(t.has(a)||$e.has(a))return;const n=setTimeout((()=>{fin.View.wrapSync(e).destroy(),$e.delete(a)}),5e3);$e.set(a,n)})),$e.forEach(((e,a)=>{t.has(a)&&(clearTimeout(e),$e.delete(a))}))}),2500),Ke=({name:e})=>{N(e)&&qe().catch((()=>{}))};let je={};const Qe=({actionId:e,payload:t})=>{if("function"!=typeof je[e])throw new Error(`Cannot find a configured function for the action '${e}'`);return je[e](t)};function ze(){return localStorage.getItem(z.MachineName)}let Je;async function Xe(){return Je||(Je=await fin.System.getMachineId()),Je}const Ye=e=>{if(e.layout&&Array.isArray(e.workspacePlatform?.pages)){const t=e.workspacePlatform.pages.find((e=>e.isActive));t&&(t.layout=e.layout)}return e};async function Ze(e){const t=e||await fin.Platform.getCurrentSync().getSnapshot();if(t.snapshotDetails?.machineId)return t;const a=ze();return{...t,snapshotDetails:{...e.snapshotDetails,machineId:await Xe(),machineName:a}}}function et(e){return new Promise(((t,a)=>{e.oncomplete=e.onsuccess=()=>t(e.result),e.onabort=e.onerror=()=>a(e.error)}))}function tt(e,t){const a=indexedDB.open(e);a.onupgradeneeded=()=>a.result.createObjectStore(t);const n=et(a);return(e,a)=>n.then((n=>a(n.transaction(t,e).objectStore(t))))}let at;function nt(){return at||(at=tt("keyval-store","keyval")),at}function ot(e,t=nt()){return t("readonly",(t=>et(t.get(e))))}function it(e,t,a=nt()){return a("readwrite",(a=>(a.put(t,e),et(a.transaction))))}function rt(e,t=nt()){return t("readwrite",(t=>(t.delete(e),et(t.transaction))))}function st(e,t){return e("readonly",(e=>(e.openCursor().onsuccess=function(){this.result&&(t(this.result),this.result.continue())},et(e.transaction))))}function ct(e=nt()){const t=[];return st(e,(e=>t.push(e.key))).then((()=>t))}const dt=(e,t="")=>e.toLowerCase().includes(t.toLowerCase()),pt=v&&tt("openfin-home-pages","pages");async function lt(e){const t=await ot(e,pt);return t?(t.pageId=e.toString(),t.title=t.title||t.pageId,t):null}async function wt(e){const t=await ct(pt),a=await Promise.all(t.map((e=>lt(e.toString()))));return e?a.filter((t=>dt(t.title,e))):a}async function ut({page:e}){await it(e.pageId,e,pt)}async function gt(e){await rt(e,pt)}async function yt({pageId:e,page:t}){if(void 0===await lt(e))throw new Error("page not found");await ut({page:t}),e!==t.pageId&&await gt(e)}var ht;!function(e){e.Label="normal",e.Separator="separator",e.Submenu="submenu",e.Checkbox="checkbox"}(ht||(ht={}));var ft;!function(e){e.RegisterStorefrontProvider="register-storefront-provider",e.DeregisterStorefrontProvider="deregister-storefront-provider",e.GetStorefrontProviders="get-storefront-providers",e.HideStorefront="hide-storefront",e.GetStorefrontProviderApps="get-storefront-provider-apps",e.GetStorefrontProviderLandingPage="get-storefront-provider-landing-page",e.GetStorefrontProviderFooter="get-storefront-provider-footer",e.GetStorefrontProviderNavigation="get-storefront-provider-navigation",e.LaunchStorefrontProviderApp="launch-storefront-provider-app",e.ShowStorefront="show-storefront",e.CreateStorefrontWindow="create-storefront-window",e.ShowHome="show-home",e.HideHome="hide-home",e.AssignHomeSearchContext="assign-home-search-context",e.GetLegacyPages="get-legacy-pages",e.GetLegacyWorkspaces="get-legacy-workspaces",e.GetComputedPlatformTheme="get-computed-platform-theme"}(ft||(ft={}));me("__of_workspace_protocol__");const mt=async(e,t)=>{const a=await(async e=>({...e,layoutDetails:{machineId:await Xe(),machineName:ze()}}))(t);return{pageId:crypto.randomUUID(),title:e,layout:a,isReadOnly:!1,hasUnsavedChanges:!0}},St=e=>({identity:e,openfinWindow:fin.Window.wrapSync(e),getPages:async()=>(await X(e)).dispatch(J.GetPagesForWindow,e),getPage:async t=>(await X(e)).dispatch(J.GetPageForWindow,{identity:e,pageId:t}),addPage:async t=>{const a=await X(e);t?.title||(t.title=await a.dispatch(J.GetUniquePageTitle,void 0));const n=(await a.dispatch(J.GetAllAttachedPages,void 0)).find((e=>e.pageId===t.pageId||e.title===t.title));if(n)throw n.pageId===t.pageId?new Error(`page with id ${t.pageId} is already attached to a browser window ${n.parentIdentity.name}`):new Error(`page with title ${t.title} is already attached to a browser window ${n.parentIdentity.name}`);const o={identity:e,pages:[t]};return a.dispatch(J.AttachPagesToWindow,o)},removePage:async t=>(await X(e)).dispatch(J.DetachPagesFromWindow,{identity:e,pageIds:[t]}),setActivePage:async t=>(await X(e)).dispatch(J.SetActivePage,{identity:e,pageId:t}),updatePage:async t=>{const a=await X(e);return t.identity=e,a.dispatch(J.UpdatePageForWindow,t)},reorderPages:async t=>{const a=await X(e);return t.identity=e,a.dispatch(J.ReorderPagesForWindow,t)},_openGlobalContextMenu:async t=>{const a=await X(e);return t.identity=e,a.dispatch(J.OpenGlobalContextMenuInternal,t)},replaceToolbarOptions:async t=>{const a=fin.Window.wrapSync(e);await a.updateOptions({workspacePlatform:{toolbarOptions:t}})},replaceWindowStateButtonOptions:async t=>{const a=fin.Window.wrapSync(e);await a.updateOptions({workspacePlatform:{windowStateButtonOptions:t}})},_openViewTabContextMenu:async t=>{const a=await X(e);return t.identity=e,a.dispatch(J.OpenViewTabContextMenuInternal,t)},_openPageTabContextMenu:async t=>{const a=await X(e);return t.identity=e,a.dispatch(J.OpenPageTabContextMenuInternal,t)},_openSaveModal:async t=>(await Pe(e)).dispatch(be.OpenSaveModalInternal,t),_openSaveButtonContextMenu:async t=>{const a=await X(e);return t.identity=e,a.dispatch(J.OpenSaveButtonContextMenuInternal,t)}});let vt=!1;const Pt=e=>{const t=fin.Platform.wrapSync(e);return{wrapSync:e=>St(e),createWindow:async e=>{vt||(vt=!0,(async e=>{j(K.Browser,e)})({allowed:!0}));const a=await t.createWindow(e);return St(a.identity)},getAllAttachedPages:async()=>(await t.getClient()).dispatch(J.GetAllAttachedPages,void 0),getAllWindows:async()=>(await fin.Application.wrapSync(e).getChildWindows()).filter((e=>e.identity.name.includes("internal-generated-window-"))).map((e=>St(e.identity))),getUniquePageTitle:async t=>(await X(e)).dispatch(J.GetUniquePageTitle,t),getLastFocusedWindow:async()=>(await X(e)).dispatch(J.GetLastFocusedBrowserWindow,void 0)}},bt=e=>({createPage:async t=>(await X(e)).dispatch(J.CreateSavedPageInternal,t),deletePage:async t=>(await X(e)).dispatch(J.DeleteSavedPageInternal,t),updatePage:async t=>(await X(e)).dispatch(J.UpdateSavedPageInternal,t),getPage:async t=>(await X(e)).dispatch(J.GetSavedPage,t),getPages:async t=>(await X(e)).dispatch(J.GetSavedPages,t),savePage:async t=>(await X(e)).dispatch(J.SavePage,t),createWorkspace:async t=>(await X(e)).dispatch(J.CreateSavedWorkspace,t),deleteWorkspace:async t=>(await X(e)).dispatch(J.DeleteSavedWorkspace,t),updateWorkspace:async t=>(await X(e)).dispatch(J.UpdateSavedWorkspace,t),getWorkspace:async t=>(await X(e)).dispatch(J.GetSavedWorkspace,t),getWorkspaces:async t=>(await X(e)).dispatch(J.GetSavedWorkspaces,t),saveWorkspace:async t=>(await X(e)).dispatch(J.SaveWorkspace,t)}),kt=e=>({getThemes:async()=>(await X(e)).dispatch(J.GetThemes,void 0)}),Wt=e=>{const t=fin.Platform.wrapSync(e);return Object.assign(t,{applySnapshot:async(t,a)=>{if("string"!=typeof t&&!t?.windows)throw new Error("Not a valid browser snapshot");return fin.Platform.wrapSync(e).applySnapshot(t,a)},getSnapshot:()=>fin.Platform.wrapSync(e).getSnapshot().then((e=>e)),launchApp:async t=>{t.target||(t.target={uuid:b,name:k,entityType:W||"unknown"});return(await X(e)).dispatch(J.LaunchApp,t)},_invokeCustomAction:async(t,a)=>{const n=await X(e),o={actionId:t,payload:{...a,callerType:a.callerType||y.API}};return n.dispatch(J.InvokeCustomActionInternal,o)},getCurrentWorkspace:async()=>(await X(e)).dispatch(J.GetCurrentWorkspace,void 0),applyWorkspace:async t=>(await X(e)).dispatch(J.ApplyWorkspace,t),setActiveWorkspace:async t=>(await X(e)).dispatch(J.SetActiveWorkspace,t),Theme:kt(e),Browser:Pt(e),Storage:bt(e)})},Ct=()=>Wt(fin.me.identity),It=async(e=D)=>{const{workspacePlatform:t}=await U(e).getOptions();return{newPageUrl:t?.newPageUrl,newTabUrl:t?.newTabUrl}},At=async(e=D)=>{const t=await Ct().Browser.getUniquePageTitle("Untitled Page"),a=await(async(e=D)=>{const{newPageUrl:t}=await It(e);if(!t)throw new Error("Trying to create a new page without a newPageUrl set");return we("New Tab",t,e)})(e);return mt(t,a)},Mt={type:ht.Separator,data:void 0},Tt={type:ht.Label,label:"Close Window",data:{type:p.CloseWindow}},Ot={type:ht.Label,label:"Open Storefront",data:{type:p.OpenStorefront}},Et={type:ht.Label,label:"Quit Platform",data:{type:p.Quit}},Rt={type:ht.Label,label:"New Window",data:{type:p.NewWindow}},xt={type:ht.Label,label:"Save Page",data:{type:p.SavePage}},Bt={type:ht.Label,label:"Save Page As...",data:{type:p.SavePageAs}},Vt={type:ht.Label,label:"New Page",data:{type:p.NewPage}},Lt={type:ht.Label,label:"Restore to Last Saved Changes",data:{type:p.RestoreChanges}},Ut={type:ht.Label,label:"Save Workspace",data:{type:p.SaveWorkspace}},Dt={type:ht.Label,label:"Save Workspace As...",data:{type:p.SaveWorkspaceAs}},_t={type:ht.Label,label:"Rename Workspace",data:{type:p.RenameWorkspace}},Ft="Switch Workspace",Gt="Delete Workspace",Nt=[Tt,Mt,Ot,Mt,Et],$t=[Mt,Tt,Mt,Et],Ht=(e,t,a)=>t.map((t=>{const n=t.workspaceId===e.workspaceId;return{label:t.title,type:ht.Checkbox,enabled:!n,checked:n,data:{type:a,workspaceId:t.workspaceId}}})),qt=async e=>{const t=await q(),{newPageUrl:a}=await It(e),n=await(async e=>{const t=U(e),{workspacePlatform:a}=await t.getOptions();return a?.disableMultiplePages})(e),o=[];a&&(o.push(Rt),n||o.push(Vt)),o.push(Mt);const i=Ct(),r=await i.getCurrentWorkspace(),s=await i.Storage.getWorkspaces(),c=s.find((e=>e.workspaceId===r.workspaceId));return c?o.push(Lt):o.push({label:Lt.label,enabled:!1}),o.push(Ut,Dt),c?o.push(_t):o.push({label:_t.label,enabled:!1}),s.some((e=>e.workspaceId!==r.workspaceId))?o.push({label:Ft,submenu:Ht(r,s,p.SwitchWorkspace)},{label:Gt,submenu:Ht(r,s,p.DeleteWorkspace)}):o.push({label:Ft,enabled:!1},{label:Gt,enabled:!1}),o.push(Mt,xt,Bt),t?[...o,...Nt]:[...o,...$t]};let Kt="Platform";const jt=async()=>Kt;var Qt,zt;!function(e){e.HomeIndex="/home/",e.HomeSearch="/home/search/",e.HomePagesRename="/home/pages/rename/",e.Dock="/home/dock/",e.BrowserPagesLanding="/browser/pages/landing/",e.HomeIndicator="/home/indicator/",e.Browser="/browser/",e.BrowserPopupMenu="/browser/popup-menu/",e.Provider="/provider/",e.BrowserPopupMenuSharePage="/browser/popup-menu/share-page/",e.BrowserPopupMenuSaveModal="/browser/popup-menu/save-modal/",e.BrowserPopupMenuLayouts="/browser/popup-menu/layouts/layouts/",e.BrowserPopupMenuColorLinking="/browser/popup-menu/color-linking/color-linking/",e.BrowserIndicator="/browser/indicator/",e.ResponseModal="/browser/popup-menu/response-modal/",e.Docs="/provider/docs/",e.Storefront="/storefront/",e.DeprecatedAlert="/provider/deprecated-alert/"}(Qt||(Qt={})),function(e){e.IconOpenFinLogo="/icons/openfinlogo.svg",e.IconFilter="/icons/filter.svg"}(zt||(zt={}));const Jt={...zt,...Qt};var Xt;!function(e){e.Home="/home",e.Browser="/browser",e.Provider="/provider",e.Storefront="/storefront"}(Xt||(Xt={}));const Yt="/workspace/7.4.1";function Zt(){return Yt.substring(0,Yt.length-"".length)}function ea(e){if(!S)throw new Error("getAbsoluteRoutePath can only be used in a window");return function(){if(!window)throw new Error("getAbsoluteBasePath can only be used in a window");return`${window.origin}${Zt()}`}()+e}const ta={name:V.BrowserMenu,alwaysOnTop:!0,autoShow:!1,cornerRounding:{height:6,width:6},frame:!1,resizable:!1,backgroundColor:"#2f3136",smallWindow:!0,showTaskbarIcon:!1,backgroundThrottling:!0};function aa(e){const t={...ta,...e};return t.url=function(e){if(!S)throw new Error("resolveAbsolutePath can only be used in a window");return e.startsWith("http")?e:`${window.origin}${e}`}(t.url),t}var na,oa;!function(e){e.Update="update",e.Response="response"}(na||(na={})),function(e){e.Canceled="canceled",e.Negative="negative",e.Affirmative="affirmative"}(oa||(oa={}));const ia=function(e){const t=new Map;return{emit:ue(t,(t=>m&&fin.InterApplicationBus.publish(e,t))),addListener:ge(t,(t=>m&&fin.InterApplicationBus.subscribe({uuid:fin.me.uuid},e,t))),removeListener:he(t),once:ye(t)}}("window.menu"),ra=e=>ia.emit(na.Response,e),sa=de((()=>B().getChildWindows()),500);const ca=new Map;async function da({options:e,parameters:t}){const a=aa(e),{name:n}=a;let o=await async function(e){return(await sa()).find((t=>t.identity.name===e))}(n);return o||(o=await async function(e){const t=aa(e);if(!ca.has(t.name)){const e=(async()=>{const e=await fin.Platform.getCurrentSync().createWindow(t);return e.once("closed",(()=>{ca.delete(t.name)})),e})();ca.set(t.name,e)}return ca.get(t.name)}(a)),await async function(e,t){const a=aa(e),{top:n,left:o,defaultWidth:i,defaultHeight:r}=a,s={top:n,left:o,width:i,height:r},c={parentName:fin.Window.getCurrentSync().identity.name};for(const[e,a]of Object.entries(c))t.set(e,a);const d=t.toString(),p=`${a.url}?${d}`;ia.emit(na.Update,a.name,s,p),await ra({name:a.name,data:oa.Canceled})}(e,t||new URLSearchParams),o}const pa=async(e,t)=>{const a=t?U(t):_();await(async(e=fin.me.identity)=>{const t=U(e),a=await t.getBounds();(a.right>screen.availLeft+screen.width||a.left<screen.availLeft||a.bottom>screen.availTop+screen.height||a.top<screen.availTop)&&await t.center()})(a.identity);const n=await a.getBounds(),o={left:((i=n).left+(i.left+i.width))/2,top:(i.top+(i.top+i.height))/2};var i;const{defaultHeight:r,defaultWidth:s}=e;return((e,t)=>{const{height:a,width:n}=t,o=n/2,i=a/2;return{left:e.left-o,top:e.top-i}})(o,{height:r,width:s})},la=async({options:e,content:t})=>{const a=new URLSearchParams({...t});return await da({options:e,parameters:a}),new Promise((t=>{ia.once(na.Response,(a=>{a.name===e.name&&t(a)}))}))},wa=async(e,t)=>{const{windowOptions:a,content:n}=await(async(e,t)=>({title:"Switch Workspace",windowOptions:{url:I+Jt.ResponseModal,name:V.BrowserMenu,defaultHeight:112,defaultWidth:424,modalParentIdentity:e},content:{title:`Are you sure you want to switch to ${t}`,body:"Any unsaved changes will be discarded",affirmativeButton:"Confirm",negativeButton:"Cancel"}}))(e,t),{top:o,left:i}=await pa(a,e),r={...a,top:o,left:i};return(await la({options:r,content:n})).data===oa.Affirmative},ua=async(e,t)=>{const{windowOptions:a,content:n}=await(async(e,t)=>({title:"Delete Workspace",windowOptions:{url:I+Jt.ResponseModal,name:V.BrowserMenu,defaultHeight:144,defaultWidth:372,modalParentIdentity:e},content:{title:"Are you sure you want to permanently delete this workspace?",body:`${t}`,affirmativeButton:"Confirm",negativeButton:"Cancel"}}))(e,t),{top:o,left:i}=await pa(a,e),r={...a,top:o,left:i};return(await la({options:r,content:n})).data===oa.Affirmative},ga=async(e,t)=>{const{windowOptions:a,content:n}=await(async(e,t)=>({title:"Platform Quit",windowOptions:{url:I+Jt.ResponseModal,name:V.BrowserMenu,defaultHeight:134,defaultWidth:474,modalParentIdentity:e},content:{title:`Are you sure you want to quit ${"Platform"===t?"the platform":t}?`,body:"Any unsaved changes to the workspace will be discarded",affirmativeButton:"Confirm",negativeButton:"Cancel"}}))(e,t),{top:o,left:i}=await pa(a,e),r={...a,top:o,left:i};return(await la({options:r,content:n})).data===oa.Affirmative},ya=async e=>{const{windowOptions:t,content:a}=await(async e=>({title:"Restore Changes",windowOptions:{url:I+Jt.ResponseModal,name:V.BrowserMenu,defaultHeight:112,defaultWidth:424,modalParentIdentity:e},content:{title:"Are you sure you want to restore to last saved changes?",body:"Any unsaved changes will be discarded",affirmativeButton:"Confirm",negativeButton:"Cancel"}}))(e),{top:n,left:o}=await pa(t,e),i={...t,top:n,left:o};return(await la({options:i,content:a})).data===oa.Affirmative};var ha;!function(e){e.ERROR="error",e.SUCCESS="success",e.INFO="info"}(ha||(ha={}));const fa={alwaysOnTop:!0,autoShow:!1,cornerRounding:{height:5,width:5},frame:!1,resizable:!1,showTaskbarIcon:!1};var ma;!function(e){e.Locked="LockClosedIcon",e.Unlocked="LockOpen1Icon"}(ma||(ma={}));const Sa=function(e=fa){const t=new Map;return async(a,n,o,i)=>{if(t.has(a)){const{currentUrl:e,currentName:o}=t.get(a);if(e===n)return;const i=fin.Window.wrapSync({uuid:fin.me.uuid,name:o});await i.close()}const r=`${V.HomeInternal}-${Date.now()}${Math.random()}`;t.set(a,{currentUrl:n,currentName:r});const s=await fin.Platform.getCurrentSync().createWindow({...e,name:r,url:n});((e,t)=>{const a=document.createElement("div");a.setAttribute("aria-live",t||"polite"),(e=>{e.style.position="absolute",e.style.width="1px",e.style.height="1px",e.style.padding="0",e.style.margin="-1px",e.style.overflow="hidden",e.style.whiteSpace="nowrap",e.style.border="0"})(a),document.body.appendChild(a),setTimeout((()=>{a.innerHTML=e}),100),setTimeout((()=>{document.body.removeChild(a)}),1e3)})(`New ${i} indicator: ${o}`),s.once("closed",(()=>{t.delete(a)}))}}();async function va(e,t,a,n){const o=new URLSearchParams;o.append("type",e),o.append("message",t),o.append("parentName",a),o.append("icon",n||"");const i=`${ea(Jt.BrowserIndicator)}?${o.toString()}`;return Sa("browser"+a,i,t,e)}function Pa(e,t,a){return va(ha.SUCCESS,e,t,a)}const ba=async e=>{const t=Ct(),a=await t.getCurrentWorkspace(),n=await t.Storage.getWorkspaces(),o=a.workspaceId;if(n.some((e=>e.workspaceId===o)))t.Storage.saveWorkspace(a),t.setActiveWorkspace(a),Pa("Workspace Saved!",e.name);else{t.Browser.wrapSync(e)._openSaveModal({menuType:h.SAVE_WORKSPACE})}},ka=e=>{Ct().Browser.wrapSync(e)._openSaveModal({menuType:h.SAVE_WORKSPACE_AS})},Wa=async(e,t)=>{const a=Ct().Browser.wrapSync(e),n=await Ct().Storage.getPages(),o=(await a.getPages()).find((e=>t?e.pageId===t:e.isActive));if(n.some((e=>o.pageId===e.pageId)))try{await Ct().Storage.savePage((c=o,{...c,hasUnsavedChanges:void 0,parentIdentity:void 0,isActive:void 0})),await a.updatePage({pageId:o.pageId,page:{hasUnsavedChanges:!1}}),Pa("Page saved",o.parentIdentity.name)}catch{i="Page failed to save",r=o.parentIdentity.name,va(ha.ERROR,i,r,s)}else a._openSaveModal({id:o.pageId,menuType:h.SAVE_PAGE});var i,r,s,c},Ca=async(e,t)=>{const a=Ct().Browser.wrapSync(e),n=(await a.getPages()).find((e=>t?e.pageId===t:e.isActive));a._openSaveModal({id:n.pageId,menuType:h.SAVE_PAGE_AS})},Ia=async(e,t)=>{if(!e)return;const a=t.identity,n=await Pe(a),o=Ct().Browser.wrapSync(t.identity);switch(e.type){case p.NewWindow:const{newPageUrl:t}=await It(a);if(!t)throw new Error("Trying to create a new empty window without a newPageUrl set");Ct().createView({target:void 0,url:t});break;case p.NewPage:await(async e=>{const t=Ct().Browser.wrapSync(e),a=await At(e);await t.addPage(a),await t.setActivePage(a.pageId)})(a);break;case p.CloseWindow:n.dispatch(be.CloseBrowserWindow);break;case p.SaveWorkspace:await ba(a);break;case p.SavePage:await Wa(a);break;case p.SavePageAs:await Ca(a);break;case p.SaveWorkspaceAs:await ka(a);break;case p.RenameWorkspace:o._openSaveModal({menuType:h.RENAME_WORKSPACE});break;case p.SwitchWorkspace:await(async(e,t)=>{const a=Ct(),n=(await a.Storage.getWorkspaces()).find((e=>e.workspaceId===t.workspaceId));n&&await wa(e,n.title)&&(await a.applyWorkspace(n),Pa("Workspace Switched!",e.name))})(a,e);break;case p.DeleteWorkspace:await(async(e,t)=>{const a=Ct(),n=(await a.Storage.getWorkspaces()).find((e=>e.workspaceId===t.workspaceId));n&&await ua(e,n.title)&&(await a.Storage.deleteWorkspace(t.workspaceId),Pa("Workspace Deleted!",e.name))})(a,e);break;case p.Quit:const i=await jt();await ga(a,i)&&fin.Platform.getCurrentSync().quit();break;case p.OpenStorefront:(async()=>{await q()&&G(F)})();break;case p.RestoreChanges:const r=await async function(){const e=Ct(),t=await e.getCurrentWorkspace();return(await e.Storage.getWorkspaces()).find((e=>e.workspaceId===t.workspaceId))}();await ya(a)&&await te(r);break;case p.Custom:if(e.action){const t={callerType:y.GlobalContextMenu,windowIdentity:a,customData:e.action.customData};Ct()._invokeCustomAction(e.action.id,t)}}},Aa=async(e,t)=>{const a=await Pe(t.identity),n=Ct();switch(e.type){case l.Save:await Wa(t.identity,t.pageId);break;case l.SaveAs:await Ca(t.identity,t.pageId);break;case l.Rename:await n.Browser.wrapSync(t.identity)._openSaveModal({menuType:h.RENAME_PAGE,id:t.pageId});break;case l.Duplicate:a.dispatch(be.DuplicatePage,t.pageId);break;case l.Close:a.dispatch(be.ClosePage,t.pageId);break;case l.Custom:if(e.action){const a={callerType:y.PageTabContextMenu,windowIdentity:t.identity,pageId:t.pageId,customData:e.action.customData};Ct()._invokeCustomAction(e.action.id,a)}}},Ma=async(e,t)=>{if(e?.type){const a=t.identity;switch(e.type){case g.SavePage:await Wa(a);break;case g.SaveWorkspace:await ba(a);break;case g.SavePageAs:await Ca(a);break;case g.SaveWorkspaceAs:await ka(a);break;case g.Custom:if(e.action){const a={callerType:y.SaveButtonContextMenu,windowIdentity:t.identity,pageId:t.pageId,customData:e.action.customData};Ct()._invokeCustomAction(e.action.id,a)}}}},Ta=async(e,t)=>{const a=t.selectedViews[0],n=fin.View.wrapSync(a),o=await(async e=>{const{newTabUrl:t}=await It(e);if(!t)throw new Error("Trying to create a new page without a newTabUrl set");return{...we("New View",t),url:t,target:e}})(e);await Ct().createView(o,e,n.identity)},Oa=async(e,t)=>{const a=await(e=>Promise.all(e.map((async e=>fin.View.wrapSync(e).getInfo()))))(t),{newPageUrl:n,newTabUrl:o}=await It(e);a.forEach((async e=>{e.url!==n&&e.url!==o&&await fin.System.openUrlWithBrowser(e.url)}))},Ea=(e,t)=>{t.forEach((async t=>{const a=fin.View.wrapSync(t);await(async(e,t)=>{const{url:a}=await t.getInfo(),n={...await t.getOptions(),url:a,target:e,name:void 0};await Ct().createView(n,e,t.identity)})(e,a)}))},Ra=async(e,t)=>{if(!e)return;const a=t.identity;switch(e.type){case w.CloseViews:await(async(e,t)=>{if((await fin.Window.wrapSync(e).getCurrentViews()).length!==t.length)t.forEach((async e=>{const t=fin.View.wrapSync(e);await t.destroy()}));else{const t=(await Ct().Browser.wrapSync(e).getPages()).find((e=>e.isActive));(await Pe(e)).dispatch(be.ClosePage,t?.pageId)}})(a,t.selectedViews);break;case w.OpenWithDefaultBrowser:await Oa(a,t.selectedViews);break;case w.ReloadViews:t.selectedViews.forEach((async e=>{const t=fin.View.wrapSync(e);await t.reload()}));break;case w.NewView:await Ta(a,t);break;case w.DuplicateViews:Ea(a,t.selectedViews);break;case w.AddToChannel:(async(e,t,a)=>{const n={newChannelId:t,selectedViews:a};(await Pe(e)).dispatch(be.AddToChannel,n)})(a,e.option,t.selectedViews);break;case w.RemoveFromChannel:(async(e,t)=>{(await Pe(e)).dispatch(be.RemoveFromChannel,t)})(a,t.selectedViews);break;case w.Custom:if(e.action){const n={callerType:y.ViewTabContextMenu,windowIdentity:a,selectedViews:t.selectedViews,customData:e.action.customData};Ct()._invokeCustomAction(e.action.id,n)}}};async function xa(e,t){const a=await qt(e.identity),n=await jt();a.find((e=>e.data?.type===p.Quit)).label=`Quit ${n}`;const o={...e,template:a,callback:Ia};await this.openGlobalContextMenu(o,t)}const Ba=async(e,t)=>{const{x:a,y:n,identity:o,template:i,callback:r}=e,{data:s}=await function(e,t){if(!m)throw new Error("showContextMenu can only be used in an OpenFin env. Avoid calling this method during pre-rendering.");if(!t&&!fin.me.isWindow)throw new Error("showContextMenu can only be used in an OpenFin window.");return(t||fin.Window.getCurrentSync()).showPopupMenu(e)}({x:a,y:n,template:i},fin.Window.wrapSync(o));r(s,e)};async function Va(e,t){const a={...e,callback:Ra};await this.openViewTabContextMenu(a,t)}async function La(e,t){const a=await Ct().Storage.getPage(e.pageId),n=await(o=!!a,[{type:ht.Label,label:"Save Page",data:{type:l.Save}},{type:ht.Label,label:"Save Page As",data:{type:l.SaveAs}},{type:ht.Separator,data:void 0},{type:ht.Label,label:"Rename Page",data:{type:l.Rename},enabled:o},{type:ht.Label,label:"Duplicate Page",data:{type:l.Duplicate}},{type:ht.Separator,data:void 0},{type:ht.Label,label:"Close Page",data:{type:l.Close}}]);var o;const i={...e,template:n,callback:Aa};await this.openPageTabContextMenu(i,t)}async function Ua(e,t){const a={...e,template:await(async()=>[{type:ht.Label,label:"Save Workspace",data:{type:g.SaveWorkspace}},{type:ht.Label,label:"Save Workspace As",data:{type:g.SaveWorkspaceAs}},{type:ht.Separator,data:void 0},{type:ht.Label,label:"Save Page",data:{type:g.SavePage}},{type:ht.Label,label:"Save Page As",data:{type:g.SavePageAs}}])(),callback:Ma};await this.openSaveButtonContextMenu(a,t)}const Da=v&&tt("openfin-workspace-platform-workspaces","workspaces");async function _a(e){const t=await ot(e,Da);return t?(t.workspaceId=e.toString(),t.title=t.title||t.workspaceId,t):null}async function Fa(e){const t=await ct(Da),a=await Promise.all(t.map((e=>_a(e.toString()))));return e?a.filter((t=>dt(t.title,e))):a}async function Ga({workspace:e}){await it(e.workspaceId,e,Da)}async function Na(e){await rt(e,Da)}async function $a({workspaceId:e,workspace:t}){if(void 0===await _a(e))throw new Error("workspace not found");await Ga({workspace:t}),e!==t.workspaceId&&await Na(e)}async function Ha({app:e,target:t}){const a=fin.Platform.getCurrentSync();switch(e.manifestType){case i.Snapshot:return a.applySnapshot(e.manifest);case i.View:return async function(e,t){const a=fin.Platform.getCurrentSync();if("view"===t.entityType){const a=fin.View.wrapSync(t),n=await a.getParentLayout();return await n.replaceView(t,{manifestUrl:e.manifest,url:void 0,target:void 0}),a.destroy()}return a.createView({name:void 0,url:void 0,manifestUrl:e.manifest,target:void 0})}(e,t);case i.External:return fin.System.launchExternalProcess({path:e.manifest,uuid:e.appId});default:return fin.Application.startFromManifest(e.manifest)}}const qa=e=>e&&"object"==typeof e&&!Array.isArray(e);function Ka(e,...t){if(!t.length)return e;const a=t.shift();return qa(e)&&qa(a)&&Object.entries(a).forEach((([t,a])=>{if(qa(a))return e[t]||(e[t]={}),Ka(e[t],a);e[t]=a})),Ka(e,...t)}const ja=I+Jt.Browser;function Qa(e,t){const a=Ka({},t,e);return a.detachOnClose=!0,a}async function za(e,t,a){const n=e.manifestUrl?await t({manifestUrl:e.manifestUrl},a):void 0;if(n?.interop&&e.interop){const t={...e,...n,interop:e.interop};return delete t.manifestUrl,t}return e}const Ja=e=>{const t=e.name===V.Home,a=e.name?.startsWith(V.HomeInternal),n=e.name?.startsWith(V.BrowserMenu);return!t&&!a&&!n},Xa=e=>"workspacePlatform"in e?e:(({workstacks:e,pages:t,...a})=>({...a,workspacePlatform:{pages:t||e||null}}))(e),Ya={contextMenuSettings:{reload:!1},backgroundThrottling:!0,url:ja,contextMenu:!0,closeOnLastViewRemoved:!1,experimental:{showFavicons:!0,defaultFaviconUrl:`${I}/icons/defaultFavicon.svg`},permissions:{System:{openUrlWithBrowser:{enabled:!0,protocols:["mailto"]}}}},Za={dimensions:{borderWidth:3,headerHeight:30}},en=async(e,t)=>{const a=await Ct().Storage.getPages(),n=await Ct().Browser.getAllAttachedPages();return e.map((e=>{let o=e.title;void 0===e.pageId&&(e.pageId=crypto.randomUUID());const i=a.find((e=>e.title===o));return(i&&i.pageId!==e.pageId||n.find((e=>e.title===o)))&&(o=ee(e.title,[...a,...n].map((e=>e.title)))),n.push(e),{...t,...e,title:o}}))},tn=e=>{const t=fin.Window.wrapSync(e);return Promise.all([t.bringToFront(),t.restore(),t.focus()])};async function an(e){const t=await $();return await Promise.all(t.map((({identity:e})=>(async e=>(await Pe(e)).dispatch(ke.UpdatePagesWindowOptions))(e)))),e?e():Ze()}let nn=[];const on=()=>nn;const rn=e=>async t=>{class a extends t{constructor(){super(),this.isWorkspacePlatform=()=>!0,this.addPage=this.attachPagesToWindow,this.detachPagesFromWindow=Ue,this.getAllAttachedPages=Ae,this.getPagesForWindow=_e,this.getPageForWindow=Fe,this.setActivePage=De,this.launchApp=Ha,this.savePage=Be,this.saveWorkspace=ie,this.createSavedPageInternal=Ee,this.updateSavedPageInternal=xe,this.deleteSavedPageInternal=Re,this.reorderPagesForWindow=Ge,this.getUniquePageTitle=Ne,this.updatePageForWindow=Le,this.getLastFocusedBrowserWindow=se,this.getThemes=on,this.invokeCustomActionInternal=Qe,this.getCurrentWorkspace=oe,this.applyWorkspace=te,this.setActiveWorkspace=ae,this.openGlobalContextMenuInternal=this.openGlobalContextMenuInternal.bind(this),this.openGlobalContextMenu=this.openGlobalContextMenu.bind(this),this.getSavedPages=this.getSavedPages.bind(this),this.getSavedPage=this.getSavedPage.bind(this),this.createSavedPage=this.createSavedPage.bind(this),this.updateSavedPage=this.updateSavedPage.bind(this),this.deleteSavedPage=this.deleteSavedPage.bind(this),this.attachPagesToWindow=this.attachPagesToWindow.bind(this),this.openViewTabContextMenuInternal=this.openViewTabContextMenuInternal.bind(this),this.openViewTabContextMenu=this.openViewTabContextMenu.bind(this),this.openPageTabContextMenuInternal=this.openPageTabContextMenuInternal.bind(this),this.openPageTabContextMenu=this.openPageTabContextMenu.bind(this),this.getSavedWorkspaces=this.getSavedWorkspaces.bind(this),this.getSavedWorkspace=this.getSavedWorkspace.bind(this),this.createSavedWorkspace=this.createSavedWorkspace.bind(this),this.updateSavedWorkspace=this.updateSavedWorkspace.bind(this),this.deleteSavedWorkspace=this.deleteSavedWorkspace.bind(this),this.getCurrentWorkspace=this.getCurrentWorkspace.bind(this),this.applyWorkspace=this.applyWorkspace.bind(this),this.setActiveWorkspace=this.setActiveWorkspace.bind(this),this.openSaveButtonContextMenu=this.openSaveButtonContextMenu.bind(this),this.openSaveButtonContextMenuInternal=this.openSaveButtonContextMenuInternal.bind(this)}async getSnapshot(){const e=await an((async()=>Ze(await super.getSnapshot(void 0,fin.me.identity))));return{...e,windows:e.windows.filter(Ja).map(Ye)}}async applySnapshot({snapshot:e,options:t}){t?.closeExistingWindows&&await async function(){const e=await $();await Promise.all(e.map((e=>e.close(!0).catch((()=>{})))))}();let a=e;return"string"==typeof a&&(a=await super.fetchManifest({manifestUrl:a},fin.me.identity)),async function(e,t){const a=await Ae(),n=e.snapshotDetails?.monitorInfo||await fin.System.getMonitorInfo(),o=(e.windows||[]).filter((({layout:e})=>!!e)),i=new Map;a.forEach((e=>i.set(e.pageId,e)));const r=[],s=o.map((async e=>{const t=Xa(e),a=[],n=(e=>{let t=!1;const a=(e||[]).map((e=>{const a=function({id:e,name:t,...a}){return{pageId:e,title:t,...a}}(e);return t&&a.isActive&&(a.isActive=!1),a.isActive&&(t=!0),a}));return!t&&a.length&&(a[0].isActive=!0),a})(t?.workspacePlatform?.pages);if(!n?.length){const e=await Ne();a.push(await mt(e,t.layout))}let o;n.forEach((e=>{const t=i.get(e.pageId);t?o=t:a.push(e)})),o&&await Promise.all([De({identity:o.parentIdentity,pageId:o.pageId}),tn(o.parentIdentity)]),a.length&&r.push({...t,workspacePlatform:{...t.workspacePlatform,pages:a}})}));if(await Promise.all(s),!r.length)return;const c=fin.Platform.getCurrentSync();return(t||c.applySnapshot.bind(c))({...e,snapshotDetails:{...e.snapshotDetails,monitorInfo:n},windows:r})}(a,(e=>super.applySnapshot({snapshot:e,options:{...t,closeExistingWindows:!1}})))}async createWindow(t,a){let n=Xa(t);const o=await this.getThemes();n=await(async(e,t,a)=>{let n=e;const o=n?.workspacePlatform?.pages;if(o){const e=o.find((e=>e.isActive));e?n.layout=e.layout:(o[0].isActive=!0,n.layout=o[0].layout)}if(n.layout){if(n=Ka({},t.defaultWindowOptions,n,Ya),n.layout=Ka(n.layout,Za),(n.icon||n.taskbarIcon)&&(n.taskbarIconGroup=n.taskbarIconGroup||fin.me.identity.uuid),!n.backgroundColor){const e=a?.palette;n.backgroundColor=e?.background2||e?.backgroundPrimary}const e=n.workspacePlatform.newTabUrl;e&&(n.layout.settings||(n.layout.settings={}),n.layout.settings.newTabButton={url:e}),n=(e=>{const t=e;return t.workspacePlatform||(t.workspacePlatform={}),t.workspacePlatform._internalDeferShowEnabled=!0,t.workspacePlatform._internalAutoShow=t.workspacePlatform?._internalAutoShow||void 0===t.autoShow||t.autoShow,t.autoShow=!1,t})(n)}return n.workspacePlatform?.pages&&(n.workspacePlatform.pages=await en(n.workspacePlatform.pages,t?.defaultPageOptions)),n.cornerRounding&&delete n.cornerRounding,n})(n,e,o[0]),n=await(async e=>{const t=await fin.System.getMonitorInfo(),a=t.primaryMonitor.availableRect.bottom-t.primaryMonitor.availableRect.top,n=t.primaryMonitor.availableRect.right-t.primaryMonitor.availableRect.left;return e.defaultHeight=e.defaultHeight||"800",e.defaultWidth=e.defaultWidth||"800",a<e.defaultHeight&&(e.defaultHeight=a),n<e.defaultWidth&&(e.defaultWidth=n),e})(n);return(e=>async(t,a)=>{const n=await e(t,a);return t?.workspacePlatform?._internalDeferShowEnabled?(await n.addListener(L.ShowRequested,(()=>{})),n):n})(((e,t)=>super.createWindow(e,t)))(n,a)}async createView(t,a){return t.opts=Qa(t.opts,e?.defaultViewOptions),t.opts=await za(t.opts,this.fetchManifest,a),super.createView(t,a)}async replaceView(t,a){return t.opts.newView=await Qa(t.opts.newView,e?.defaultViewOptions),t.opts.newView=await za(t.opts.newView,this.fetchManifest,a),super.replaceView(t,a)}async replaceLayout(e,t){return e.opts.layout?.dimensions,super.replaceLayout(e,t)}async closeView(e,t){const a=fin.View.wrapSync(e.view);await super.closeView(e,t),await a.destroy().catch((e=>e))}async getSavedPage(...e){return lt.apply(this,e)}async getSavedPages(...e){return wt.apply(this,e)}async createSavedPage(...e){return ut.apply(this,e)}async deleteSavedPage(...e){return gt.apply(this,e)}async updateSavedPage(...e){return yt.apply(this,e)}async getSavedWorkspace(...e){return _a.apply(this,e)}async getSavedWorkspaces(...e){return Fa.apply(this,e)}async createSavedWorkspace(...e){return Ga.apply(this,e)}async deleteSavedWorkspace(...e){return Na.apply(this,e)}async updateSavedWorkspace(...e){return $a.apply(this,e)}async attachPagesToWindow(t){t.pages=await en(t.pages,e?.defaultPageOptions),await Ve(t)}async openGlobalContextMenuInternal(...e){return xa.apply(this,e)}async openGlobalContextMenu(...e){return Ba.apply(this,e)}async openViewTabContextMenuInternal(...e){return Va.apply(this,e)}async openViewTabContextMenu(...e){return Ba.apply(this,e)}async openPageTabContextMenuInternal(...e){return La.apply(this,e)}async openPageTabContextMenu(...e){return Ba.apply(this,e)}async openSaveButtonContextMenu(...e){return Ba.apply(this,e)}async openSaveButtonContextMenuInternal(...e){return Ua.apply(this,e)}}return"function"==typeof e?.overrideCallback?e.overrideCallback(a):new a};async function sn(){!function(){const e=B();e.addListener(O.WindowOptionsChanged,qe),e.addListener(O.WindowClosed,Ke),e.addListener(O.WindowCreated,Ke)}(),async function(){const e=fin.Application.getCurrentSync();await e.addListener("window-focused",ce)}();ae(await ne())}let cn;function dn(e){if(!m)throw new Error("Cannot be used outside an OpenFin env.");if(!cn){fin.Platform.getCurrentSync().once("platform-api-ready",(()=>sn())),e.title&&(t=e.title,Kt=t),cn=fin.Platform.init({overrideCallback:rn(e),interopOverride:e?.interopOverride}),(async e=>{j(K.Platform,e)})({allowed:!0})}var t;return cn}const pn=async e=>{const t=A.split(".").map((e=>parseInt(e))),a=await(async e=>new Promise((async t=>{const a=(await fin.System.getVersion()).split(".").map((e=>parseInt(e)));t(e.every(((t,n)=>!(n<3)||a[n]===e[n])))})))(t),n=e?.theme;var o;if(n&&((o=n).forEach((e=>{const t=e.palette.backgroundPrimary;if(!t.includes("#")&&!t.includes("rgb")&&!t.includes("hsl"))throw new Error("Background primary color is not the right format.")})),nn=o,(async e=>{j(K.Theming,e)})({allowed:!0})),e?.customActions&&(je=e?.customActions),a){return dn(e?.browser)}throw new Error(`Runtime version is not supported. ${t[0]}.${t[1]}.${t[2]}.* is required`)};module.exports=c})();
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
package/package.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"@openfin/workspace-platform","description":"An API for creating your own Workspace platform.","contributors":[],"version":"7.4.
|
|
1
|
+
{"name":"@openfin/workspace-platform","description":"An API for creating your own Workspace platform.","contributors":[],"version":"7.4.1","main":"index.js","scripts":{"promote:docs":"chmod +x ../common/scripts/deploy-latest-docs.sh && ../common/scripts/deploy-latest-docs.sh $(node ../common/scripts/echo-version.js) /platform","promote":"node ../common/scripts/promote-npm.js && npm run promote:docs","deploy:next":"npm run deploy:next:npm && npm run deploy:next:docs","deploy:next:npm":"cd out && npm publish --tag next","deploy:next:docs":"DIR=/platform node ../common/scripts/archive-docs.js","cp:readme":"copyfiles README.md out","cp:package":"node ../common/scripts/cp-package.js","create:rootIndex":"node ../common/scripts/cp-root-index.js","package":"npm run cp:readme && npm run cp:package && npm run create:rootIndex","clean":"rimraf ./out && rimraf ./docs","build:common":"cross-env ENV=prod webpack --mode=production --config ./webpack.common.config.js","build":"npm run clean && npm run build:common && npm run build:docs && node ../common/scripts/test-for-next-apis.js","build:docs":"typedoc --tsconfig ./tsconfig.json --readme none --disableSources ./src/index.ts","test":"jest --watch --colors","test:ci":"jest"},"keywords":["client","api","workspace","platform"],"license":"MIT"}
|