@openfin/workspace-platform 7.3.0 → 7.3.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 +1 -1
- package/package.json +1 -1
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:()=>xt,init:()=>yn,wrapSync:()=>Vt}),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.Minimise="Minimise",e.Maximise="Maximise",e.Close="Close",e.Custom="Custom"}(u||(u={})),function(e){e.SavePage="SavePage",e.SaveWorkspace="SaveWorkspace",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.3.0"),C("https://cdn.openfin.co/workspace/7.3.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.6"),M="7.3.0";var T,E,O;!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"}(E||(E={})),function(e){e.FinProtocol="fin-protocol"}(O||(O={}));const R={uuid:b,name:b},V=(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)}),x=()=>V(R);var B,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"}(B||(B={})),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 _(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 G={name:k,uuid:b};function D(){return _(G)}B.Home,T.Workspace,B.Dock,T.Workspace;const U={name:B.Storefront,uuid:T.Workspace};T.Workspace,T.Workspace;async function F(e){const t=_(e);"minimized"===await t.getState()&&await t.restore(),await t.show(),await t.bringToFront(),await t.focus()}const N=e=>e.startsWith(B.BrowserWindow);async function $(){return(await fin.Application.getCurrentSync().getChildWindows()).filter((e=>N(e.identity.name)))}const H=e=>_(e).getOptions().then((()=>!0)).catch((()=>!1)),q=()=>H(U);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,z=new Uint8Array(16);function J(){if(!Q&&!(Q="undefined"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)||"undefined"!=typeof msCrypto&&"function"==typeof msCrypto.getRandomValues&&msCrypto.getRandomValues.bind(msCrypto)))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return Q(z)}const X=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;const Y=function(e){return"string"==typeof e&&X.test(e)};for(var Z=[],ee=0;ee<256;++ee)Z.push((ee+256).toString(16).substr(1));const te=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,a=(Z[e[t+0]]+Z[e[t+1]]+Z[e[t+2]]+Z[e[t+3]]+"-"+Z[e[t+4]]+Z[e[t+5]]+"-"+Z[e[t+6]]+Z[e[t+7]]+"-"+Z[e[t+8]]+Z[e[t+9]]+"-"+Z[e[t+10]]+Z[e[t+11]]+Z[e[t+12]]+Z[e[t+13]]+Z[e[t+14]]+Z[e[t+15]]).toLowerCase();if(!Y(a))throw TypeError("Stringified UUID is invalid");return a};const ae=function(e,t,a){var n=(e=e||{}).random||(e.rng||J)();if(n[6]=15&n[6]|64,n[8]=63&n[8]|128,t){a=a||0;for(var o=0;o<16;++o)t[a+o]=n[o];return t}return te(n)};var ne;!function(e){e.CurrentWorkspaceId="currentWorkspaceId",e.LastFocusedBrowserWindow="lastFocusedBrowserWindow",e.MachineName="machineName",e.NewTabPageLayout="NewTabPageLayout",e.NewTabPageSort="NewTabPageSort"}(ne||(ne={}));const oe=ne;var ie;!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"}(ie||(ie={}));const re=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)}},se=(e,t)=>!t.find((t=>t===e)),ce=(e,t)=>`${e} (${t})`,de=(e,t)=>{let a=1;const n=e.replace(/ \(.+\)$/,"");for(;!se(ce(n,a),t);)a+=1;return ce(n,a)};async function pe(e){try{await fin.Platform.getCurrentSync().applySnapshot(e.snapshot,{closeExistingWindows:!0}),le(e)}catch(e){}}function le(e){if("undefined"!=typeof localStorage)try{const t=JSON.stringify(e);localStorage.setItem(oe.CurrentWorkspaceId,t)}catch(e){}}async function we(){if("undefined"==typeof localStorage)return;const e=await fin.Platform.getCurrentSync().getSnapshot();return{workspaceId:ae(),title:await ye(),metadata:{APIVersion:M},snapshot:e}}async function ue(){if("undefined"==typeof localStorage)return;const e=localStorage.getItem(oe.CurrentWorkspaceId);if(!e)return we();const t=JSON.parse(e),a=await fin.Platform.getCurrentSync().getSnapshot();return{...t,metadata:t.metadata||{APIVersion:M},snapshot:a}}const ge=async e=>await(async e=>(await re(G)).dispatch(ie.GetSavedWorkspace,e))(e.workspaceId)?(async e=>(await re(G)).dispatch(ie.UpdateSavedWorkspace,e))({workspaceId:e.workspaceId,workspace:e}):(async e=>(await re(G)).dispatch(ie.CreateSavedWorkspace,e))({workspace:e});async function ye(e="Untitled Workspace"){const t=(await(async()=>(await re(G)).dispatch(ie.GetSavedWorkspaces,void 0))()).map((({title:e})=>e));return t.find((t=>t===e))?de(e,t):e}async function he(){if("undefined"!=typeof localStorage)try{const e=localStorage.getItem(oe.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 fe(e=fin.me.identity){N(e.name)&&function(e){if("undefined"!=typeof localStorage)try{const t=JSON.stringify(e);localStorage.setItem(oe.LastFocusedBrowserWindow,t)}catch(e){}}(e)}const me=(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 Se;!function(e){e.TabCreated="tab-created",e.ContainerCreated="container-created",e.ContainerResized="container-resized"}(Se||(Se={}));const ve=e=>{const t=[];return(e&&Array.isArray(e)?e:[]).forEach((e=>{if("component"===e.type)return t.push(e.componentState);const a=ve(e.content);t.push(...a)})),t},Pe=async(e,t,a=G)=>{let n;if(N(a.name)){n=(await _(a).getOptions()).layout||{settings:{}}}return{...n,content:[{type:"stack",content:[{type:"component",componentName:"view",componentState:{title:e,url:t}}]}]}};new Map;function be(e,t){return async(a,...n)=>{e.has(a)&&e.get(a).forEach((e=>e(...n))),t&&await t({event:a,payload:n})}}function ke(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 We(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 Ce(e){return(t,a)=>{e.has(t)&&e.get(t).delete(a)}}const Ie=S&&"complete"!==document.readyState&&new Promise((e=>document.addEventListener("readystatechange",(()=>{"complete"===document.readyState&&e()}))));function Ae(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 Ie;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 Me=e=>`__browser_window__-${e.uuid}-${e.name}`,Te=new Map,Ee=e=>{const t=Me(e);return Te.has(t)||Te.set(t,Ae(t)),Te.get(t)()};var Oe,Re,Ve;!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"}(Oe||(Oe={})),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"}(Re||(Re={})),function(e){e.AttachedPagesToWindow="attached-pages-to-window",e.DetachedPagesFromWindow="detached-pages-from-window"}(Ve||(Ve={}));new Map;const xe=async e=>{const t=await Ee(e);return await t.dispatch(Re.GetPages)},Be=async e=>(await Ee(e.identity)).dispatch(Re.UpdatePageForWindow,e),Le=async()=>{const e=await $();return(await Promise.all(e.map((async({identity:e})=>xe(e))))).reduce(((e,t)=>e.concat(t)),[])},_e=async()=>(await re(G)).dispatch(ie.GetSavedPages,void 0),Ge=async e=>(await re(G)).dispatch(ie.GetSavedPage,e),De=async(e,t)=>{const a=await(async e=>(await Le()).find((t=>t.pageId===e)))(e);return!a||a.title===t.title&&e===t.pageId||await Be({identity:a.parentIdentity,pageId:e,page:{pageId:t.pageId,title:t.title}}),a},Ue=async({page:e})=>{await De(e.pageId,e),await(async e=>(await re(G)).dispatch(ie.CreateSavedPage,e))({page:e})},Fe=async e=>{await Ge(e)&&await(async e=>(await re(G)).dispatch(ie.DeleteSavedPage,e))(e)},Ne=async({pageId:e,page:t})=>{await De(e,t);return await(async e=>(await re(G)).dispatch(ie.UpdateSavedPage,e))({pageId:e,page:t})},$e=async e=>await Ge(e.pageId)?Ne({pageId:e.pageId,page:e}):Ue({page:e}),He=async e=>{await(async e=>(await Ee(e.identity)).dispatch(Re.AttachPagesToWindow,e))(e)},qe=async e=>{await Be(e)},Ke=async e=>{await(async e=>(await Ee(e.identity)).dispatch(Re.DetachPagesFromWindow,e))(e)},je=async e=>{await(async e=>(await Ee(e.identity)).dispatch(Re.SetActivePageForWindow,e))(e)},Qe=e=>xe(e),ze=async({identity:e,pageId:t})=>(await Qe(e)).find((e=>e.pageId===t)),Je=async e=>{await(async e=>(await Ee(e.identity)).dispatch(Re.ReorderPagesForWindow,e))(e)};async function Xe(e="Untitled Page"){const[t,a]=await Promise.all([_e(),Le()]),n=[...t,...a].map((({title:e})=>e));return n.find((t=>t===e))?de(e,n):e}const Ye=new Map,Ze=e=>`${e.uuid}-${e.name}`;const et=me((async function(){const e=await Le(),t=new Set;e.forEach((e=>{ve(e.layout.content).forEach((e=>{if(e.name){const a=Ze(e);t.add(a)}}))}));const a=D();(await a.getCurrentViews()).forEach((({identity:e})=>{const a=Ze(e);if(t.has(a)||Ye.has(a))return;const n=setTimeout((()=>{fin.View.wrapSync(e).destroy(),Ye.delete(a)}),5e3);Ye.set(a,n)})),Ye.forEach(((e,a)=>{t.has(a)&&(clearTimeout(e),Ye.delete(a))}))}),2500),tt=({name:e})=>{N(e)&&et().catch((()=>{}))};let at={};const nt=({actionId:e,payload:t})=>{if("function"!=typeof at[e])throw new Error(`Cannot find a configured function for the action '${e}'`);return at[e](t)};function ot(){return localStorage.getItem(oe.MachineName)}let it,rt;async function st(){return it||(it=await fin.System.getMachineId()),it}async function ct(e){const t=e||await fin.Platform.getCurrentSync().getSnapshot();if(t.snapshotDetails?.machineId)return t;const a=ot();return{...t,snapshotDetails:{...e.snapshotDetails,machineId:await st(),machineName:a}}}function dt(e){return new Promise(((t,a)=>{e.oncomplete=e.onsuccess=()=>t(e.result),e.onabort=e.onerror=()=>a(e.error)}))}function pt(e,t){const a=indexedDB.open(e);a.onupgradeneeded=()=>a.result.createObjectStore(t);const n=dt(a);return(e,a)=>n.then((n=>a(n.transaction(t,e).objectStore(t))))}function lt(){return rt||(rt=pt("keyval-store","keyval")),rt}function wt(e,t=lt()){return t("readonly",(t=>dt(t.get(e))))}function ut(e,t,a=lt()){return a("readwrite",(a=>(a.put(t,e),dt(a.transaction))))}function gt(e,t=lt()){return t("readwrite",(t=>(t.delete(e),dt(t.transaction))))}function yt(e,t){return e("readonly",(e=>(e.openCursor().onsuccess=function(){this.result&&(t(this.result),this.result.continue())},dt(e.transaction))))}function ht(e=lt()){const t=[];return yt(e,(e=>t.push(e.key))).then((()=>t))}const ft=(e,t="")=>e.toLowerCase().includes(t.toLowerCase()),mt=v&&pt("openfin-home-pages","pages");async function St(e){const t=await wt(e,mt);return t?(t.pageId=e.toString(),t.title=t.title||t.pageId,t):null}async function vt(e){const t=await ht(mt),a=await Promise.all(t.map((e=>St(e.toString()))));return e?a.filter((t=>ft(t.title,e))):a}async function Pt({page:e}){await ut(e.pageId,e,mt)}async function bt(e){await gt(e,mt)}async function kt({pageId:e,page:t}){if(void 0===await St(e))throw new Error("page not found");await Pt({page:t}),e!==t.pageId&&await bt(e)}var Wt;!function(e){e.Label="normal",e.Separator="separator",e.Submenu="submenu",e.Checkbox="checkbox"}(Wt||(Wt={}));const Ct=247;var It;!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"}(It||(It={}));Ae("__of_workspace_protocol__");const At=async(e,t)=>{const a=await(async e=>({...e,layoutDetails:{machineId:await st(),machineName:ot()}}))(t);return{pageId:ae(),title:e,layout:a,isReadOnly:!1,hasUnsavedChanges:!0}},Mt=e=>({identity:e,openfinWindow:fin.Window.wrapSync(e),getPages:async()=>(await re(e)).dispatch(ie.GetPagesForWindow,e),getPage:async t=>(await re(e)).dispatch(ie.GetPageForWindow,{identity:e,pageId:t}),addPage:async t=>{const a=await re(e);t?.title||(t.title=await a.dispatch(ie.GetUniquePageTitle,void 0));const n=(await a.dispatch(ie.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(ie.AttachPagesToWindow,o)},removePage:async t=>(await re(e)).dispatch(ie.DetachPagesFromWindow,{identity:e,pageIds:[t]}),setActivePage:async t=>(await re(e)).dispatch(ie.SetActivePage,{identity:e,pageId:t}),updatePage:async t=>{const a=await re(e);return t.identity=e,a.dispatch(ie.UpdatePageForWindow,t)},reorderPages:async t=>{const a=await re(e);return t.identity=e,a.dispatch(ie.ReorderPagesForWindow,t)},_openGlobalContextMenu:async t=>{const a=await re(e);return t.identity=e,a.dispatch(ie.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 re(e);return t.identity=e,a.dispatch(ie.OpenViewTabContextMenuInternal,t)},_openPageTabContextMenu:async t=>{const a=await re(e);return t.identity=e,a.dispatch(ie.OpenPageTabContextMenuInternal,t)},_openSaveModal:async t=>(await Ee(e)).dispatch(Oe.OpenSaveModalInternal,t),_openSaveButtonContextMenu:async t=>{const a=await re(e);return t.identity=e,a.dispatch(ie.OpenSaveButtonContextMenuInternal,t)}});let Tt=!1;const Et=e=>{const t=fin.Platform.wrapSync(e);return{wrapSync:e=>Mt(e),createWindow:async e=>{Tt||(Tt=!0,(async e=>{j(K.Browser,e)})({allowed:!0}));const a=await t.createWindow(e);return Mt(a.identity)},getAllAttachedPages:async()=>(await t.getClient()).dispatch(ie.GetAllAttachedPages,void 0),getAllWindows:async()=>(await fin.Application.wrapSync(e).getChildWindows()).filter((e=>e.identity.name.includes("internal-generated-window-"))).map((e=>Mt(e.identity))),getUniquePageTitle:async t=>(await re(e)).dispatch(ie.GetUniquePageTitle,t),getLastFocusedWindow:async()=>(await re(e)).dispatch(ie.GetLastFocusedBrowserWindow,void 0)}},Ot=e=>({createPage:async t=>(await re(e)).dispatch(ie.CreateSavedPageInternal,t),deletePage:async t=>(await re(e)).dispatch(ie.DeleteSavedPageInternal,t),updatePage:async t=>(await re(e)).dispatch(ie.UpdateSavedPageInternal,t),getPage:async t=>(await re(e)).dispatch(ie.GetSavedPage,t),getPages:async t=>(await re(e)).dispatch(ie.GetSavedPages,t),savePage:async t=>(await re(e)).dispatch(ie.SavePage,t),createWorkspace:async t=>(await re(e)).dispatch(ie.CreateSavedWorkspace,t),deleteWorkspace:async t=>(await re(e)).dispatch(ie.DeleteSavedWorkspace,t),updateWorkspace:async t=>(await re(e)).dispatch(ie.UpdateSavedWorkspace,t),getWorkspace:async t=>(await re(e)).dispatch(ie.GetSavedWorkspace,t),getWorkspaces:async t=>(await re(e)).dispatch(ie.GetSavedWorkspaces,t),saveWorkspace:async t=>(await re(e)).dispatch(ie.SaveWorkspace,t)}),Rt=e=>({getThemes:async()=>(await re(e)).dispatch(ie.GetThemes,void 0)}),Vt=e=>{const t=fin.Platform.wrapSync(e);return Object.assign(t,{applySnapshot:async t=>{if("string"!=typeof t&&!t?.windows)throw new Error("Not a valid browser snapshot");return fin.Platform.wrapSync(e).applySnapshot(t)},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 re(e)).dispatch(ie.LaunchApp,t)},_invokeCustomAction:async(t,a)=>{const n=await re(e),o={actionId:t,payload:{...a,callerType:a.callerType||y.API}};return n.dispatch(ie.InvokeCustomActionInternal,o)},getCurrentWorkspace:async()=>(await re(e)).dispatch(ie.GetCurrentWorkspace,void 0),applyWorkspace:async t=>(await re(e)).dispatch(ie.ApplyWorkspace,t),setActiveWorkspace:async t=>(await re(e)).dispatch(ie.SetActiveWorkspace,t),Theme:Rt(e),Browser:Et(e),Storage:Ot(e)})},xt=()=>Vt(fin.me.identity),Bt=async(e=G)=>{const{workspacePlatform:t}=await _(e).getOptions();return{newPageUrl:t?.newPageUrl,newTabUrl:t?.newTabUrl}},Lt=async(e=G)=>{const t=await xt().Browser.getUniquePageTitle("Untitled Page"),a=await(async(e=G)=>{const{newPageUrl:t}=await Bt(e);if(!t)throw new Error("Trying to create a new page without a newPageUrl set");return Pe("New Tab",t,e)})(e);return At(t,a)},_t={type:Wt.Separator,data:void 0},Gt={type:Wt.Label,label:"Close Window",data:{type:p.CloseWindow}},Dt={type:Wt.Label,label:"Open Storefront",data:{type:p.OpenStorefront}},Ut={type:Wt.Label,label:"Quit Platform",data:{type:p.Quit}},Ft={type:Wt.Label,label:"New Window",data:{type:p.NewWindow}},Nt={type:Wt.Label,label:"Save Page",data:{type:p.SavePage}},$t={type:Wt.Label,label:"Save Page As...",data:{type:p.SavePageAs}},Ht={type:Wt.Label,label:"New Page",data:{type:p.NewPage}},qt={type:Wt.Label,label:"Restore to Last Saved Changes",data:{type:p.RestoreChanges}},Kt={type:Wt.Label,label:"Save Workspace",data:{type:p.SaveWorkspace}},jt={type:Wt.Label,label:"Save Workspace As...",data:{type:p.SaveWorkspaceAs}},Qt={type:Wt.Label,label:"Rename Workspace",data:{type:p.RenameWorkspace}},zt="Switch Workspace",Jt="Delete Workspace",Xt=[Gt,_t,Dt,_t,Ut],Yt=[_t,Gt,_t,Ut],Zt=(e,t,a)=>t.map((t=>{const n=t.workspaceId===e.workspaceId;return{label:t.title,type:Wt.Checkbox,enabled:!n,checked:n,data:{type:a,workspaceId:t.workspaceId}}})),ea=async e=>{const t=await q(),{newPageUrl:a}=await Bt(e),n=await(async e=>{const t=_(e),{workspacePlatform:a}=await t.getOptions();return a?.disableMultiplePages})(e),o=[];a&&(o.push(Ft),n||o.push(Ht)),o.push(_t);const i=xt(),r=await i.getCurrentWorkspace(),s=await i.Storage.getWorkspaces(),c=s.find((e=>e.workspaceId===r.workspaceId));return c?o.push(qt):o.push({label:qt.label,enabled:!1}),o.push(Kt,jt),c?o.push(Qt):o.push({label:Qt.label,enabled:!1}),s.some((e=>e.workspaceId!==r.workspaceId))?o.push({label:zt,submenu:Zt(r,s,p.SwitchWorkspace)},{label:Jt,submenu:Zt(r,s,p.DeleteWorkspace)}):o.push({label:zt,enabled:!1},{label:Jt,enabled:!1}),o.push(_t,Nt,$t),t?[...o,...Xt]:[...o,...Yt]};let ta="Platform";const aa=async()=>ta;var na,oa;!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/"}(na||(na={})),function(e){e.IconOpenFinLogo="/icons/openfinlogo.svg",e.IconFilter="/icons/filter.svg"}(oa||(oa={}));const ia={...oa,...na};var ra,sa;!function(e){e.ERROR="error",e.SUCCESS="success",e.INFO="info"}(ra||(ra={})),function(e){e.Home="/home",e.Browser="/browser",e.Provider="/provider",e.Storefront="/storefront"}(sa||(sa={}));const ca="/workspace/7.3.0";function da(){return ca.substring(0,ca.length-"".length)}function pa(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}${da()}`}()+e}const la={alwaysOnTop:!0,autoShow:!1,cornerRounding:{height:5,width:5},frame:!1,resizable:!1,showTaskbarIcon:!1};var wa;!function(e){e.Locked="LockClosedIcon",e.Unlocked="LockOpen1Icon"}(wa||(wa={}));const ua=function(e=la){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=`${B.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 ga(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=`${pa(ia.BrowserIndicator)}?${o.toString()}`;return ua("browser"+a,i,t,e)}function ya(e,t,a){return ga(ra.SUCCESS,e,t,a)}const ha={name:B.BrowserMenu,alwaysOnTop:!0,autoShow:!1,cornerRounding:{height:6,width:6},frame:!1,resizable:!1,backgroundColor:"#2f3136",smallWindow:!0,showTaskbarIcon:!1,backgroundThrottling:!0};function fa(e){const t={...ha,...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 ma,Sa;!function(e){e.Update="update",e.Response="response"}(ma||(ma={})),function(e){e.Canceled="canceled",e.Negative="negative",e.Affirmative="affirmative"}(Sa||(Sa={}));const va=function(e){const t=new Map;return{emit:be(t,(t=>m&&fin.InterApplicationBus.publish(e,t))),addListener:ke(t,(t=>m&&fin.InterApplicationBus.subscribe({uuid:fin.me.uuid},e,t))),removeListener:Ce(t),once:We(t)}}("window.menu"),Pa=e=>va.emit(ma.Response,e),ba=me((()=>x().getChildWindows()),500);const ka=new Map;async function Wa({options:e,parameters:t}){const a=fa(e),{name:n}=a;let o=await async function(e){return(await ba()).find((t=>t.identity.name===e))}(n);return o||(o=await async function(e){const t=fa(e);if(!ka.has(t.name)){const e=(async()=>{const e=await fin.Platform.getCurrentSync().createWindow(t);return e.once("closed",(()=>{ka.delete(t.name)})),e})();ka.set(t.name,e)}return ka.get(t.name)}(a)),await async function(e,t){const a=fa(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}`;va.emit(ma.Update,a.name,s,p),await Pa({name:a.name,data:Sa.Canceled})}(e,t||new URLSearchParams),o}const Ca=async(e,t)=>{const a=t?_(t):D();await(async(e=fin.me.identity)=>{const t=_(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})},Ia=async({options:e,content:t})=>{const a=new URLSearchParams({...t});return await Wa({options:e,parameters:a}),new Promise((t=>{va.once(ma.Response,(a=>{a.name===e.name&&t(a)}))}))},Aa=async(e,t)=>{const{windowOptions:a,content:n}=await(async(e,t)=>({title:"Switch Workspace",windowOptions:{url:I+ia.ResponseModal,name:B.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 Ca(a,e),r={...a,top:o,left:i};return(await Ia({options:r,content:n})).data===Sa.Affirmative},Ma=async(e,t)=>{const{windowOptions:a,content:n}=await(async(e,t)=>({title:"Delete Workspace",windowOptions:{url:I+ia.ResponseModal,name:B.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 Ca(a,e),r={...a,top:o,left:i};return(await Ia({options:r,content:n})).data===Sa.Affirmative},Ta=async(e,t)=>{const{windowOptions:a,content:n}=await(async(e,t)=>({title:"Platform Quit",windowOptions:{url:ia.ResponseModal,name:B.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 Ca(a,e),r={...a,top:o,left:i};return(await Ia({options:r,content:n})).data===Sa.Affirmative},Ea=async e=>{const{windowOptions:t,content:a}=await(async e=>({title:"Restore Changes",windowOptions:{url:I+ia.ResponseModal,name:B.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 Ca(t,e),i={...t,top:n,left:o};return(await Ia({options:i,content:a})).data===Sa.Affirmative},Oa=async(e,t)=>{if(!e)return;const a=t.identity,n=await Ee(a),o=xt().Browser.wrapSync(t.identity),i=(await o.getPages()).find((e=>e.isActive)),r=e,s=xt(),c=await s.Storage.getWorkspaces();switch(e.type){case p.NewWindow:const{newPageUrl:t}=await Bt(a);if(!t)throw new Error("Trying to create a new empty window without a newPageUrl set");xt().createView({target:void 0,url:t});break;case p.NewPage:await(async e=>{const t=await Lt(e);await xt().Browser.wrapSync(e).addPage(t)})(a);break;case p.CloseWindow:n.dispatch(Oe.CloseBrowserWindow);break;case p.SaveWorkspace:const g=await s.getCurrentWorkspace(),f=g.workspaceId;c.some((e=>e.workspaceId===f))?(s.Storage.saveWorkspace(g),s.setActiveWorkspace(g),ya("Workspace Saved!",a.name)):o._openSaveModal({menuType:h.SAVE_WORKSPACE});break;case p.SavePage:if((await xt().Storage.getPages()).some((e=>i.pageId===e.pageId)))try{await xt().Storage.savePage((u=i,{...u,hasUnsavedChanges:void 0,parentIdentity:void 0,isActive:void 0})),await o.updatePage({pageId:i.pageId,page:{hasUnsavedChanges:!1}}),ya("Page saved",i.parentIdentity.name)}catch{d="Page failed to save",l=i.parentIdentity.name,ga(ra.ERROR,d,l,w)}else o._openSaveModal({id:i.pageId,menuType:h.SAVE_PAGE});break;case p.SavePageAs:o._openSaveModal({id:i.pageId,menuType:h.SAVE_PAGE_AS});break;case p.SaveWorkspaceAs:o._openSaveModal({menuType:h.SAVE_WORKSPACE_AS});break;case p.RenameWorkspace:o._openSaveModal({menuType:h.RENAME_WORKSPACE});break;case p.SwitchWorkspace:const m=c.find((e=>e.workspaceId===r.workspaceId));if(m){await Aa(a,m.title)&&(await s.applyWorkspace(m),ya("Workspace Switched!",a.name))}break;case p.DeleteWorkspace:const S=c.find((e=>e.workspaceId===r.workspaceId));if(S){await Ma(a,S.title)&&(await s.Storage.deleteWorkspace(r.workspaceId),ya("Workspace Deleted!",a.name))}break;case p.Quit:const v=await aa();await Ta(a,v)&&fin.Platform.getCurrentSync().quit();break;case p.OpenStorefront:(async()=>{await q()&&F(U)})();break;case p.RestoreChanges:const P=await async function(){const e=xt(),t=await e.getCurrentWorkspace();return(await e.Storage.getWorkspaces()).find((e=>e.workspaceId===t.workspaceId))}();await Ea(a)&&await pe(P);break;case p.Custom:if(e.action){const t={callerType:y.GlobalContextMenu,windowIdentity:a,customData:e.action.customData};xt()._invokeCustomAction(e.action.id,t)}}var d,l,w,u},Ra=async(e,t)=>{const a=await Ee(t.identity),n=xt();switch(e.type){case l.Save:await n.Browser.wrapSync(t.identity)._openSaveModal({menuType:h.SAVE_PAGE,id:t.pageId});break;case l.SaveAs:await n.Browser.wrapSync(t.identity)._openSaveModal({menuType:h.SAVE_PAGE_AS,id: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(Oe.DuplicatePage,t.pageId);break;case l.Close:a.dispatch(Oe.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};xt()._invokeCustomAction(e.action.id,a)}}},Va=async(e,t)=>{if(e?.type){const a=xt();switch(e.type){case g.SavePage:await a.Browser.wrapSync(t.identity)._openSaveModal({menuType:h.SAVE_PAGE,id:t.pageId,x:t.buttonLeft+t.buttonWidth/2-Ct/2,y:t.y});break;case g.SaveWorkspace:await a.Browser.wrapSync(t.identity)._openSaveModal({menuType:h.SAVE_WORKSPACE,x:t.buttonLeft+t.buttonWidth/2-Ct/2,y:t.y});break;case g.Custom:if(e.action){const a={callerType:y.SaveButtonContextMenu,windowIdentity:t.identity,pageId:t.pageId,customData:e.action.customData};xt()._invokeCustomAction(e.action.id,a)}}}},xa=async(e,t)=>{const a=t.selectedViews[0],n=fin.View.wrapSync(a),o=await(async e=>{const{newTabUrl:t}=await Bt(e);if(!t)throw new Error("Trying to create a new page without a newTabUrl set");return{...Pe("New View",t),url:t,target:e}})(e);await xt().createView(o,e,n.identity)},Ba=async(e,t)=>{const a=await(e=>Promise.all(e.map((async e=>fin.View.wrapSync(e).getInfo()))))(t),{newPageUrl:n,newTabUrl:o}=await Bt(e);a.forEach((async e=>{e.url!==n&&e.url!==o&&await fin.System.openUrlWithBrowser(e.url)}))},La=(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 xt().createView(n,e,t.identity)})(e,a)}))},_a=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 xt().Browser.wrapSync(e).getPages()).find((e=>e.isActive));(await Ee(e)).dispatch(Oe.ClosePage,t?.pageId)}})(a,t.selectedViews);break;case w.OpenWithDefaultBrowser:await Ba(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 xa(a,t);break;case w.DuplicateViews:La(a,t.selectedViews);break;case w.AddToChannel:(async(e,t,a)=>{const n={newChannelId:t,selectedViews:a};(await Ee(e)).dispatch(Oe.AddToChannel,n)})(a,e.option,t.selectedViews);break;case w.RemoveFromChannel:(async(e,t)=>{(await Ee(e)).dispatch(Oe.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};xt()._invokeCustomAction(e.action.id,n)}}};async function Ga(e,t){const a=await ea(e.identity),n=await aa();a.find((e=>e.data?.type===p.Quit)).label=`Quit ${n}`;const o={...e,template:a,callback:Oa};await this.openGlobalContextMenu(o,t)}const Da=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 Ua(e,t){const a={...e,callback:_a};await this.openViewTabContextMenu(a,t)}async function Fa(e,t){const a=await xt().Storage.getPage(e.pageId),n=await(o=!!a,[{type:Wt.Label,label:"Save Page",data:{type:l.Save}},{type:Wt.Label,label:"Save Page As",data:{type:l.SaveAs}},{type:Wt.Separator,data:void 0},{type:Wt.Label,label:"Rename Page",data:{type:l.Rename},enabled:o},{type:Wt.Label,label:"Duplicate Page",data:{type:l.Duplicate}},{type:Wt.Separator,data:void 0},{type:Wt.Label,label:"Close Page",data:{type:l.Close}}]);var o;const i={...e,template:n,callback:Ra};await this.openPageTabContextMenu(i,t)}async function Na(e,t){const a={...e,template:await([{type:Wt.Label,label:"Save Workspace",data:{type:g.SaveWorkspace}},{type:Wt.Label,label:"Save Page",data:{type:g.SavePage}}]),callback:Va};await this.openSaveButtonContextMenu(a,t)}const $a=v&&pt("openfin-workspace-platform-workspaces","workspaces");async function Ha(e){const t=await wt(e,$a);return t?(t.workspaceId=e.toString(),t.title=t.title||t.workspaceId,t):null}async function qa(e){const t=await ht($a),a=await Promise.all(t.map((e=>Ha(e.toString()))));return e?a.filter((t=>ft(t.title,e))):a}async function Ka({workspace:e}){await ut(e.workspaceId,e,$a)}async function ja(e){await gt(e,$a)}async function Qa({workspaceId:e,workspace:t}){if(void 0===await Ha(e))throw new Error("workspace not found");await Ka({workspace:t}),e!==t.workspaceId&&await ja(e)}async function za({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 Ja=e=>e&&"object"==typeof e&&!Array.isArray(e);function Xa(e,...t){if(!t.length)return e;const a=t.shift();return Ja(e)&&Ja(a)&&Object.entries(a).forEach((([t,a])=>{if(Ja(a))return e[t]||(e[t]={}),Xa(e[t],a);e[t]=a})),Xa(e,...t)}const Ya=I+ia.Browser;function Za(e,t){const a=Xa({},t,e);return a.detachOnClose=!0,a}async function en(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 tn=e=>{const t=e.name===B.Home,a=e.name?.startsWith(B.HomeInternal),n=e.name?.startsWith(B.BrowserMenu);return!t&&!a&&!n},an=e=>"workspacePlatform"in e?e:(({workstacks:e,pages:t,...a})=>({...a,workspacePlatform:{pages:t||e||null}}))(e),nn={contextMenuSettings:{reload:!1},backgroundThrottling:!0,url:Ya,contextMenu:!0,closeOnLastViewRemoved:!1,experimental:{showFavicons:!0,defaultFaviconUrl:`${I}/icons/defaultFavicon.svg`},permissions:{System:{openUrlWithBrowser:{enabled:!0,protocols:["mailto"]}}}},on={dimensions:{borderWidth:3,headerHeight:30}},rn=(e,t)=>t?e.map((e=>({...t,...e}))):e,sn=e=>{const t=fin.Window.wrapSync(e);return Promise.all([t.bringToFront(),t.restore(),t.focus()])};async function cn(e){const t=await $();return await Promise.all(t.map((({identity:e})=>(async e=>(await Ee(e)).dispatch(Re.UpdatePagesWindowOptions))(e)))),e?e():ct()}let dn=[];const pn=()=>dn;const ln=e=>async t=>{class a extends t{constructor(){super(),this.isWorkspacePlatform=()=>!0,this.addPage=this.attachPagesToWindow,this.detachPagesFromWindow=Ke,this.getAllAttachedPages=Le,this.getPagesForWindow=Qe,this.getPageForWindow=ze,this.setActivePage=je,this.launchApp=za,this.savePage=$e,this.saveWorkspace=ge,this.createSavedPageInternal=Ue,this.updateSavedPageInternal=Ne,this.deleteSavedPageInternal=Fe,this.reorderPagesForWindow=Je,this.getUniquePageTitle=Xe,this.updatePageForWindow=qe,this.getLastFocusedBrowserWindow=he,this.getThemes=pn,this.invokeCustomActionInternal=nt,this.getCurrentWorkspace=ue,this.applyWorkspace=pe,this.setActiveWorkspace=le,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 cn((async()=>ct(await super.getSnapshot(void 0,fin.me.identity))));return{...e,windows:e.windows.filter(tn)}}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 Le(),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=an(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 Xe();a.push(await At(e,t.layout))}let o;n.forEach((e=>{const t=i.get(e.pageId);t?o=t:a.push(e)})),o&&await Promise.all([je({identity:o.parentIdentity,pageId:o.pageId}),sn(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=an(t);const o=await this.getThemes();n=((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=Xa({},t.defaultWindowOptions,n,nn),n.layout=Xa(n.layout,on),(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=rn(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=Za(t.opts,e?.defaultViewOptions),t.opts=await en(t.opts,this.fetchManifest,a),super.createView(t,a)}async replaceView(t,a){return t.opts.newView=await Za(t.opts.newView,e?.defaultViewOptions),t.opts.newView=await en(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 St.apply(this,e)}async getSavedPages(...e){return vt.apply(this,e)}async createSavedPage(...e){return Pt.apply(this,e)}async deleteSavedPage(...e){return bt.apply(this,e)}async updateSavedPage(...e){return kt.apply(this,e)}async getSavedWorkspace(...e){return Ha.apply(this,e)}async getSavedWorkspaces(...e){return qa.apply(this,e)}async createSavedWorkspace(...e){return Ka.apply(this,e)}async deleteSavedWorkspace(...e){return ja.apply(this,e)}async updateSavedWorkspace(...e){return Qa.apply(this,e)}async attachPagesToWindow(t){t.pages=rn(t.pages,e?.defaultPageOptions),await He(t)}async openGlobalContextMenuInternal(...e){return Ga.apply(this,e)}async openGlobalContextMenu(...e){return Da.apply(this,e)}async openViewTabContextMenuInternal(...e){return Ua.apply(this,e)}async openViewTabContextMenu(...e){return Da.apply(this,e)}async openPageTabContextMenuInternal(...e){return Fa.apply(this,e)}async openPageTabContextMenu(...e){return Da.apply(this,e)}async openSaveButtonContextMenu(...e){return Da.apply(this,e)}async openSaveButtonContextMenuInternal(...e){return Na.apply(this,e)}}return"function"==typeof e?.overrideCallback?e.overrideCallback(a):new a};async function wn(){!function(){const e=x();e.addListener(E.WindowOptionsChanged,et),e.addListener(E.WindowClosed,tt),e.addListener(E.WindowCreated,tt)}(),async function(){const e=fin.Application.getCurrentSync();await e.addListener("window-focused",fe)}();le(await we())}let un;function gn(e){if(!m)throw new Error("Cannot be used outside an OpenFin env.");if(!un){fin.Platform.getCurrentSync().once("platform-api-ready",(()=>wn())),e.title&&(t=e.title,ta=t),un=fin.Platform.init({overrideCallback:ln(e),interopOverride:e?.interopOverride}),(async e=>{j(K.Platform,e)})({allowed:!0})}var t;return un}const yn=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.")})),dn=o,(async e=>{j(K.Theming,e)})({allowed:!0})),e?.customActions&&(at=e?.customActions),a){return gn(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:()=>xt,init:()=>yn,wrapSync:()=>Vt}),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.Minimise="Minimise",e.Maximise="Maximise",e.Close="Close",e.Custom="Custom"}(u||(u={})),function(e){e.SavePage="SavePage",e.SaveWorkspace="SaveWorkspace",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.3.1"),C("https://cdn.openfin.co/workspace/7.3.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.6"),M="7.3.1";var T,E,O;!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"}(E||(E={})),function(e){e.FinProtocol="fin-protocol"}(O||(O={}));const R={uuid:b,name:b},V=(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)}),x=()=>V(R);var B,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"}(B||(B={})),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 _(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 G={name:k,uuid:b};function D(){return _(G)}B.Home,T.Workspace,B.Dock,T.Workspace;const U={name:B.Storefront,uuid:T.Workspace};T.Workspace,T.Workspace;async function F(e){const t=_(e);"minimized"===await t.getState()&&await t.restore(),await t.show(),await t.bringToFront(),await t.focus()}const N=e=>e.startsWith(B.BrowserWindow);async function $(){return(await fin.Application.getCurrentSync().getChildWindows()).filter((e=>N(e.identity.name)))}const H=e=>_(e).getOptions().then((()=>!0)).catch((()=>!1)),q=()=>H(U);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,z=new Uint8Array(16);function J(){if(!Q&&!(Q="undefined"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)||"undefined"!=typeof msCrypto&&"function"==typeof msCrypto.getRandomValues&&msCrypto.getRandomValues.bind(msCrypto)))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return Q(z)}const X=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;const Y=function(e){return"string"==typeof e&&X.test(e)};for(var Z=[],ee=0;ee<256;++ee)Z.push((ee+256).toString(16).substr(1));const te=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,a=(Z[e[t+0]]+Z[e[t+1]]+Z[e[t+2]]+Z[e[t+3]]+"-"+Z[e[t+4]]+Z[e[t+5]]+"-"+Z[e[t+6]]+Z[e[t+7]]+"-"+Z[e[t+8]]+Z[e[t+9]]+"-"+Z[e[t+10]]+Z[e[t+11]]+Z[e[t+12]]+Z[e[t+13]]+Z[e[t+14]]+Z[e[t+15]]).toLowerCase();if(!Y(a))throw TypeError("Stringified UUID is invalid");return a};const ae=function(e,t,a){var n=(e=e||{}).random||(e.rng||J)();if(n[6]=15&n[6]|64,n[8]=63&n[8]|128,t){a=a||0;for(var o=0;o<16;++o)t[a+o]=n[o];return t}return te(n)};var ne;!function(e){e.CurrentWorkspaceId="currentWorkspaceId",e.LastFocusedBrowserWindow="lastFocusedBrowserWindow",e.MachineName="machineName",e.NewTabPageLayout="NewTabPageLayout",e.NewTabPageSort="NewTabPageSort"}(ne||(ne={}));const oe=ne;var ie;!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"}(ie||(ie={}));const re=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)}},se=(e,t)=>!t.find((t=>t===e)),ce=(e,t)=>`${e} (${t})`,de=(e,t)=>{let a=1;const n=e.replace(/ \(.+\)$/,"");for(;!se(ce(n,a),t);)a+=1;return ce(n,a)};async function pe(e){try{await fin.Platform.getCurrentSync().applySnapshot(e.snapshot,{closeExistingWindows:!0}),le(e)}catch(e){}}function le(e){if("undefined"!=typeof localStorage)try{const t=JSON.stringify(e);localStorage.setItem(oe.CurrentWorkspaceId,t)}catch(e){}}async function we(){if("undefined"==typeof localStorage)return;const e=await fin.Platform.getCurrentSync().getSnapshot();return{workspaceId:ae(),title:await ye(),metadata:{APIVersion:M},snapshot:e}}async function ue(){if("undefined"==typeof localStorage)return;const e=localStorage.getItem(oe.CurrentWorkspaceId);if(!e)return we();const t=JSON.parse(e),a=await fin.Platform.getCurrentSync().getSnapshot();return{...t,metadata:t.metadata||{APIVersion:M},snapshot:a}}const ge=async e=>await(async e=>(await re(G)).dispatch(ie.GetSavedWorkspace,e))(e.workspaceId)?(async e=>(await re(G)).dispatch(ie.UpdateSavedWorkspace,e))({workspaceId:e.workspaceId,workspace:e}):(async e=>(await re(G)).dispatch(ie.CreateSavedWorkspace,e))({workspace:e});async function ye(e="Untitled Workspace"){const t=(await(async()=>(await re(G)).dispatch(ie.GetSavedWorkspaces,void 0))()).map((({title:e})=>e));return t.find((t=>t===e))?de(e,t):e}async function he(){if("undefined"!=typeof localStorage)try{const e=localStorage.getItem(oe.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 fe(e=fin.me.identity){N(e.name)&&function(e){if("undefined"!=typeof localStorage)try{const t=JSON.stringify(e);localStorage.setItem(oe.LastFocusedBrowserWindow,t)}catch(e){}}(e)}const me=(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 Se;!function(e){e.TabCreated="tab-created",e.ContainerCreated="container-created",e.ContainerResized="container-resized"}(Se||(Se={}));const ve=e=>{const t=[];return(e&&Array.isArray(e)?e:[]).forEach((e=>{if("component"===e.type)return t.push(e.componentState);const a=ve(e.content);t.push(...a)})),t},Pe=async(e,t,a=G)=>{let n;if(N(a.name)){n=(await _(a).getOptions()).layout||{settings:{}}}return{...n,content:[{type:"stack",content:[{type:"component",componentName:"view",componentState:{title:e,url:t}}]}]}};new Map;function be(e,t){return async(a,...n)=>{e.has(a)&&e.get(a).forEach((e=>e(...n))),t&&await t({event:a,payload:n})}}function ke(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 We(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 Ce(e){return(t,a)=>{e.has(t)&&e.get(t).delete(a)}}const Ie=S&&"complete"!==document.readyState&&new Promise((e=>document.addEventListener("readystatechange",(()=>{"complete"===document.readyState&&e()}))));function Ae(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 Ie;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 Me=e=>`__browser_window__-${e.uuid}-${e.name}`,Te=new Map,Ee=e=>{const t=Me(e);return Te.has(t)||Te.set(t,Ae(t)),Te.get(t)()};var Oe,Re,Ve;!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"}(Oe||(Oe={})),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"}(Re||(Re={})),function(e){e.AttachedPagesToWindow="attached-pages-to-window",e.DetachedPagesFromWindow="detached-pages-from-window"}(Ve||(Ve={}));new Map;const xe=async e=>{const t=await Ee(e);return await t.dispatch(Re.GetPages)},Be=async e=>(await Ee(e.identity)).dispatch(Re.UpdatePageForWindow,e),Le=async()=>{const e=await $();return(await Promise.all(e.map((async({identity:e})=>xe(e))))).reduce(((e,t)=>e.concat(t)),[])},_e=async()=>(await re(G)).dispatch(ie.GetSavedPages,void 0),Ge=async e=>(await re(G)).dispatch(ie.GetSavedPage,e),De=async(e,t)=>{const a=await(async e=>(await Le()).find((t=>t.pageId===e)))(e);return!a||a.title===t.title&&e===t.pageId||await Be({identity:a.parentIdentity,pageId:e,page:{pageId:t.pageId,title:t.title}}),a},Ue=async({page:e})=>{await De(e.pageId,e),await(async e=>(await re(G)).dispatch(ie.CreateSavedPage,e))({page:e})},Fe=async e=>{await Ge(e)&&await(async e=>(await re(G)).dispatch(ie.DeleteSavedPage,e))(e)},Ne=async({pageId:e,page:t})=>{await De(e,t);return await(async e=>(await re(G)).dispatch(ie.UpdateSavedPage,e))({pageId:e,page:t})},$e=async e=>await Ge(e.pageId)?Ne({pageId:e.pageId,page:e}):Ue({page:e}),He=async e=>{await(async e=>(await Ee(e.identity)).dispatch(Re.AttachPagesToWindow,e))(e)},qe=async e=>{await Be(e)},Ke=async e=>{await(async e=>(await Ee(e.identity)).dispatch(Re.DetachPagesFromWindow,e))(e)},je=async e=>{await(async e=>(await Ee(e.identity)).dispatch(Re.SetActivePageForWindow,e))(e)},Qe=e=>xe(e),ze=async({identity:e,pageId:t})=>(await Qe(e)).find((e=>e.pageId===t)),Je=async e=>{await(async e=>(await Ee(e.identity)).dispatch(Re.ReorderPagesForWindow,e))(e)};async function Xe(e="Untitled Page"){const[t,a]=await Promise.all([_e(),Le()]),n=[...t,...a].map((({title:e})=>e));return n.find((t=>t===e))?de(e,n):e}const Ye=new Map,Ze=e=>`${e.uuid}-${e.name}`;const et=me((async function(){const e=await Le(),t=new Set;e.forEach((e=>{ve(e.layout.content).forEach((e=>{if(e.name){const a=Ze(e);t.add(a)}}))}));const a=D();(await a.getCurrentViews()).forEach((({identity:e})=>{const a=Ze(e);if(t.has(a)||Ye.has(a))return;const n=setTimeout((()=>{fin.View.wrapSync(e).destroy(),Ye.delete(a)}),5e3);Ye.set(a,n)})),Ye.forEach(((e,a)=>{t.has(a)&&(clearTimeout(e),Ye.delete(a))}))}),2500),tt=({name:e})=>{N(e)&&et().catch((()=>{}))};let at={};const nt=({actionId:e,payload:t})=>{if("function"!=typeof at[e])throw new Error(`Cannot find a configured function for the action '${e}'`);return at[e](t)};function ot(){return localStorage.getItem(oe.MachineName)}let it,rt;async function st(){return it||(it=await fin.System.getMachineId()),it}async function ct(e){const t=e||await fin.Platform.getCurrentSync().getSnapshot();if(t.snapshotDetails?.machineId)return t;const a=ot();return{...t,snapshotDetails:{...e.snapshotDetails,machineId:await st(),machineName:a}}}function dt(e){return new Promise(((t,a)=>{e.oncomplete=e.onsuccess=()=>t(e.result),e.onabort=e.onerror=()=>a(e.error)}))}function pt(e,t){const a=indexedDB.open(e);a.onupgradeneeded=()=>a.result.createObjectStore(t);const n=dt(a);return(e,a)=>n.then((n=>a(n.transaction(t,e).objectStore(t))))}function lt(){return rt||(rt=pt("keyval-store","keyval")),rt}function wt(e,t=lt()){return t("readonly",(t=>dt(t.get(e))))}function ut(e,t,a=lt()){return a("readwrite",(a=>(a.put(t,e),dt(a.transaction))))}function gt(e,t=lt()){return t("readwrite",(t=>(t.delete(e),dt(t.transaction))))}function yt(e,t){return e("readonly",(e=>(e.openCursor().onsuccess=function(){this.result&&(t(this.result),this.result.continue())},dt(e.transaction))))}function ht(e=lt()){const t=[];return yt(e,(e=>t.push(e.key))).then((()=>t))}const ft=(e,t="")=>e.toLowerCase().includes(t.toLowerCase()),mt=v&&pt("openfin-home-pages","pages");async function St(e){const t=await wt(e,mt);return t?(t.pageId=e.toString(),t.title=t.title||t.pageId,t):null}async function vt(e){const t=await ht(mt),a=await Promise.all(t.map((e=>St(e.toString()))));return e?a.filter((t=>ft(t.title,e))):a}async function Pt({page:e}){await ut(e.pageId,e,mt)}async function bt(e){await gt(e,mt)}async function kt({pageId:e,page:t}){if(void 0===await St(e))throw new Error("page not found");await Pt({page:t}),e!==t.pageId&&await bt(e)}var Wt;!function(e){e.Label="normal",e.Separator="separator",e.Submenu="submenu",e.Checkbox="checkbox"}(Wt||(Wt={}));const Ct=247;var It;!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"}(It||(It={}));Ae("__of_workspace_protocol__");const At=async(e,t)=>{const a=await(async e=>({...e,layoutDetails:{machineId:await st(),machineName:ot()}}))(t);return{pageId:ae(),title:e,layout:a,isReadOnly:!1,hasUnsavedChanges:!0}},Mt=e=>({identity:e,openfinWindow:fin.Window.wrapSync(e),getPages:async()=>(await re(e)).dispatch(ie.GetPagesForWindow,e),getPage:async t=>(await re(e)).dispatch(ie.GetPageForWindow,{identity:e,pageId:t}),addPage:async t=>{const a=await re(e);t?.title||(t.title=await a.dispatch(ie.GetUniquePageTitle,void 0));const n=(await a.dispatch(ie.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(ie.AttachPagesToWindow,o)},removePage:async t=>(await re(e)).dispatch(ie.DetachPagesFromWindow,{identity:e,pageIds:[t]}),setActivePage:async t=>(await re(e)).dispatch(ie.SetActivePage,{identity:e,pageId:t}),updatePage:async t=>{const a=await re(e);return t.identity=e,a.dispatch(ie.UpdatePageForWindow,t)},reorderPages:async t=>{const a=await re(e);return t.identity=e,a.dispatch(ie.ReorderPagesForWindow,t)},_openGlobalContextMenu:async t=>{const a=await re(e);return t.identity=e,a.dispatch(ie.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 re(e);return t.identity=e,a.dispatch(ie.OpenViewTabContextMenuInternal,t)},_openPageTabContextMenu:async t=>{const a=await re(e);return t.identity=e,a.dispatch(ie.OpenPageTabContextMenuInternal,t)},_openSaveModal:async t=>(await Ee(e)).dispatch(Oe.OpenSaveModalInternal,t),_openSaveButtonContextMenu:async t=>{const a=await re(e);return t.identity=e,a.dispatch(ie.OpenSaveButtonContextMenuInternal,t)}});let Tt=!1;const Et=e=>{const t=fin.Platform.wrapSync(e);return{wrapSync:e=>Mt(e),createWindow:async e=>{Tt||(Tt=!0,(async e=>{j(K.Browser,e)})({allowed:!0}));const a=await t.createWindow(e);return Mt(a.identity)},getAllAttachedPages:async()=>(await t.getClient()).dispatch(ie.GetAllAttachedPages,void 0),getAllWindows:async()=>(await fin.Application.wrapSync(e).getChildWindows()).filter((e=>e.identity.name.includes("internal-generated-window-"))).map((e=>Mt(e.identity))),getUniquePageTitle:async t=>(await re(e)).dispatch(ie.GetUniquePageTitle,t),getLastFocusedWindow:async()=>(await re(e)).dispatch(ie.GetLastFocusedBrowserWindow,void 0)}},Ot=e=>({createPage:async t=>(await re(e)).dispatch(ie.CreateSavedPageInternal,t),deletePage:async t=>(await re(e)).dispatch(ie.DeleteSavedPageInternal,t),updatePage:async t=>(await re(e)).dispatch(ie.UpdateSavedPageInternal,t),getPage:async t=>(await re(e)).dispatch(ie.GetSavedPage,t),getPages:async t=>(await re(e)).dispatch(ie.GetSavedPages,t),savePage:async t=>(await re(e)).dispatch(ie.SavePage,t),createWorkspace:async t=>(await re(e)).dispatch(ie.CreateSavedWorkspace,t),deleteWorkspace:async t=>(await re(e)).dispatch(ie.DeleteSavedWorkspace,t),updateWorkspace:async t=>(await re(e)).dispatch(ie.UpdateSavedWorkspace,t),getWorkspace:async t=>(await re(e)).dispatch(ie.GetSavedWorkspace,t),getWorkspaces:async t=>(await re(e)).dispatch(ie.GetSavedWorkspaces,t),saveWorkspace:async t=>(await re(e)).dispatch(ie.SaveWorkspace,t)}),Rt=e=>({getThemes:async()=>(await re(e)).dispatch(ie.GetThemes,void 0)}),Vt=e=>{const t=fin.Platform.wrapSync(e);return Object.assign(t,{applySnapshot:async t=>{if("string"!=typeof t&&!t?.windows)throw new Error("Not a valid browser snapshot");return fin.Platform.wrapSync(e).applySnapshot(t)},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 re(e)).dispatch(ie.LaunchApp,t)},_invokeCustomAction:async(t,a)=>{const n=await re(e),o={actionId:t,payload:{...a,callerType:a.callerType||y.API}};return n.dispatch(ie.InvokeCustomActionInternal,o)},getCurrentWorkspace:async()=>(await re(e)).dispatch(ie.GetCurrentWorkspace,void 0),applyWorkspace:async t=>(await re(e)).dispatch(ie.ApplyWorkspace,t),setActiveWorkspace:async t=>(await re(e)).dispatch(ie.SetActiveWorkspace,t),Theme:Rt(e),Browser:Et(e),Storage:Ot(e)})},xt=()=>Vt(fin.me.identity),Bt=async(e=G)=>{const{workspacePlatform:t}=await _(e).getOptions();return{newPageUrl:t?.newPageUrl,newTabUrl:t?.newTabUrl}},Lt=async(e=G)=>{const t=await xt().Browser.getUniquePageTitle("Untitled Page"),a=await(async(e=G)=>{const{newPageUrl:t}=await Bt(e);if(!t)throw new Error("Trying to create a new page without a newPageUrl set");return Pe("New Tab",t,e)})(e);return At(t,a)},_t={type:Wt.Separator,data:void 0},Gt={type:Wt.Label,label:"Close Window",data:{type:p.CloseWindow}},Dt={type:Wt.Label,label:"Open Storefront",data:{type:p.OpenStorefront}},Ut={type:Wt.Label,label:"Quit Platform",data:{type:p.Quit}},Ft={type:Wt.Label,label:"New Window",data:{type:p.NewWindow}},Nt={type:Wt.Label,label:"Save Page",data:{type:p.SavePage}},$t={type:Wt.Label,label:"Save Page As...",data:{type:p.SavePageAs}},Ht={type:Wt.Label,label:"New Page",data:{type:p.NewPage}},qt={type:Wt.Label,label:"Restore to Last Saved Changes",data:{type:p.RestoreChanges}},Kt={type:Wt.Label,label:"Save Workspace",data:{type:p.SaveWorkspace}},jt={type:Wt.Label,label:"Save Workspace As...",data:{type:p.SaveWorkspaceAs}},Qt={type:Wt.Label,label:"Rename Workspace",data:{type:p.RenameWorkspace}},zt="Switch Workspace",Jt="Delete Workspace",Xt=[Gt,_t,Dt,_t,Ut],Yt=[_t,Gt,_t,Ut],Zt=(e,t,a)=>t.map((t=>{const n=t.workspaceId===e.workspaceId;return{label:t.title,type:Wt.Checkbox,enabled:!n,checked:n,data:{type:a,workspaceId:t.workspaceId}}})),ea=async e=>{const t=await q(),{newPageUrl:a}=await Bt(e),n=await(async e=>{const t=_(e),{workspacePlatform:a}=await t.getOptions();return a?.disableMultiplePages})(e),o=[];a&&(o.push(Ft),n||o.push(Ht)),o.push(_t);const i=xt(),r=await i.getCurrentWorkspace(),s=await i.Storage.getWorkspaces(),c=s.find((e=>e.workspaceId===r.workspaceId));return c?o.push(qt):o.push({label:qt.label,enabled:!1}),o.push(Kt,jt),c?o.push(Qt):o.push({label:Qt.label,enabled:!1}),s.some((e=>e.workspaceId!==r.workspaceId))?o.push({label:zt,submenu:Zt(r,s,p.SwitchWorkspace)},{label:Jt,submenu:Zt(r,s,p.DeleteWorkspace)}):o.push({label:zt,enabled:!1},{label:Jt,enabled:!1}),o.push(_t,Nt,$t),t?[...o,...Xt]:[...o,...Yt]};let ta="Platform";const aa=async()=>ta;var na,oa;!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/"}(na||(na={})),function(e){e.IconOpenFinLogo="/icons/openfinlogo.svg",e.IconFilter="/icons/filter.svg"}(oa||(oa={}));const ia={...oa,...na};var ra,sa;!function(e){e.ERROR="error",e.SUCCESS="success",e.INFO="info"}(ra||(ra={})),function(e){e.Home="/home",e.Browser="/browser",e.Provider="/provider",e.Storefront="/storefront"}(sa||(sa={}));const ca="/workspace/7.3.1";function da(){return ca.substring(0,ca.length-"".length)}function pa(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}${da()}`}()+e}const la={alwaysOnTop:!0,autoShow:!1,cornerRounding:{height:5,width:5},frame:!1,resizable:!1,showTaskbarIcon:!1};var wa;!function(e){e.Locked="LockClosedIcon",e.Unlocked="LockOpen1Icon"}(wa||(wa={}));const ua=function(e=la){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=`${B.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 ga(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=`${pa(ia.BrowserIndicator)}?${o.toString()}`;return ua("browser"+a,i,t,e)}function ya(e,t,a){return ga(ra.SUCCESS,e,t,a)}const ha={name:B.BrowserMenu,alwaysOnTop:!0,autoShow:!1,cornerRounding:{height:6,width:6},frame:!1,resizable:!1,backgroundColor:"#2f3136",smallWindow:!0,showTaskbarIcon:!1,backgroundThrottling:!0};function fa(e){const t={...ha,...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 ma,Sa;!function(e){e.Update="update",e.Response="response"}(ma||(ma={})),function(e){e.Canceled="canceled",e.Negative="negative",e.Affirmative="affirmative"}(Sa||(Sa={}));const va=function(e){const t=new Map;return{emit:be(t,(t=>m&&fin.InterApplicationBus.publish(e,t))),addListener:ke(t,(t=>m&&fin.InterApplicationBus.subscribe({uuid:fin.me.uuid},e,t))),removeListener:Ce(t),once:We(t)}}("window.menu"),Pa=e=>va.emit(ma.Response,e),ba=me((()=>x().getChildWindows()),500);const ka=new Map;async function Wa({options:e,parameters:t}){const a=fa(e),{name:n}=a;let o=await async function(e){return(await ba()).find((t=>t.identity.name===e))}(n);return o||(o=await async function(e){const t=fa(e);if(!ka.has(t.name)){const e=(async()=>{const e=await fin.Platform.getCurrentSync().createWindow(t);return e.once("closed",(()=>{ka.delete(t.name)})),e})();ka.set(t.name,e)}return ka.get(t.name)}(a)),await async function(e,t){const a=fa(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}`;va.emit(ma.Update,a.name,s,p),await Pa({name:a.name,data:Sa.Canceled})}(e,t||new URLSearchParams),o}const Ca=async(e,t)=>{const a=t?_(t):D();await(async(e=fin.me.identity)=>{const t=_(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})},Ia=async({options:e,content:t})=>{const a=new URLSearchParams({...t});return await Wa({options:e,parameters:a}),new Promise((t=>{va.once(ma.Response,(a=>{a.name===e.name&&t(a)}))}))},Aa=async(e,t)=>{const{windowOptions:a,content:n}=await(async(e,t)=>({title:"Switch Workspace",windowOptions:{url:I+ia.ResponseModal,name:B.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 Ca(a,e),r={...a,top:o,left:i};return(await Ia({options:r,content:n})).data===Sa.Affirmative},Ma=async(e,t)=>{const{windowOptions:a,content:n}=await(async(e,t)=>({title:"Delete Workspace",windowOptions:{url:I+ia.ResponseModal,name:B.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 Ca(a,e),r={...a,top:o,left:i};return(await Ia({options:r,content:n})).data===Sa.Affirmative},Ta=async(e,t)=>{const{windowOptions:a,content:n}=await(async(e,t)=>({title:"Platform Quit",windowOptions:{url:ia.ResponseModal,name:B.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 Ca(a,e),r={...a,top:o,left:i};return(await Ia({options:r,content:n})).data===Sa.Affirmative},Ea=async e=>{const{windowOptions:t,content:a}=await(async e=>({title:"Restore Changes",windowOptions:{url:I+ia.ResponseModal,name:B.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 Ca(t,e),i={...t,top:n,left:o};return(await Ia({options:i,content:a})).data===Sa.Affirmative},Oa=async(e,t)=>{if(!e)return;const a=t.identity,n=await Ee(a),o=xt().Browser.wrapSync(t.identity),i=(await o.getPages()).find((e=>e.isActive)),r=e,s=xt(),c=await s.Storage.getWorkspaces();switch(e.type){case p.NewWindow:const{newPageUrl:t}=await Bt(a);if(!t)throw new Error("Trying to create a new empty window without a newPageUrl set");xt().createView({target:void 0,url:t});break;case p.NewPage:await(async e=>{const t=await Lt(e);await xt().Browser.wrapSync(e).addPage(t)})(a);break;case p.CloseWindow:n.dispatch(Oe.CloseBrowserWindow);break;case p.SaveWorkspace:const g=await s.getCurrentWorkspace(),f=g.workspaceId;c.some((e=>e.workspaceId===f))?(s.Storage.saveWorkspace(g),s.setActiveWorkspace(g),ya("Workspace Saved!",a.name)):o._openSaveModal({menuType:h.SAVE_WORKSPACE});break;case p.SavePage:if((await xt().Storage.getPages()).some((e=>i.pageId===e.pageId)))try{await xt().Storage.savePage((u=i,{...u,hasUnsavedChanges:void 0,parentIdentity:void 0,isActive:void 0})),await o.updatePage({pageId:i.pageId,page:{hasUnsavedChanges:!1}}),ya("Page saved",i.parentIdentity.name)}catch{d="Page failed to save",l=i.parentIdentity.name,ga(ra.ERROR,d,l,w)}else o._openSaveModal({id:i.pageId,menuType:h.SAVE_PAGE});break;case p.SavePageAs:o._openSaveModal({id:i.pageId,menuType:h.SAVE_PAGE_AS});break;case p.SaveWorkspaceAs:o._openSaveModal({menuType:h.SAVE_WORKSPACE_AS});break;case p.RenameWorkspace:o._openSaveModal({menuType:h.RENAME_WORKSPACE});break;case p.SwitchWorkspace:const m=c.find((e=>e.workspaceId===r.workspaceId));if(m){await Aa(a,m.title)&&(await s.applyWorkspace(m),ya("Workspace Switched!",a.name))}break;case p.DeleteWorkspace:const S=c.find((e=>e.workspaceId===r.workspaceId));if(S){await Ma(a,S.title)&&(await s.Storage.deleteWorkspace(r.workspaceId),ya("Workspace Deleted!",a.name))}break;case p.Quit:const v=await aa();await Ta(a,v)&&fin.Platform.getCurrentSync().quit();break;case p.OpenStorefront:(async()=>{await q()&&F(U)})();break;case p.RestoreChanges:const P=await async function(){const e=xt(),t=await e.getCurrentWorkspace();return(await e.Storage.getWorkspaces()).find((e=>e.workspaceId===t.workspaceId))}();await Ea(a)&&await pe(P);break;case p.Custom:if(e.action){const t={callerType:y.GlobalContextMenu,windowIdentity:a,customData:e.action.customData};xt()._invokeCustomAction(e.action.id,t)}}var d,l,w,u},Ra=async(e,t)=>{const a=await Ee(t.identity),n=xt();switch(e.type){case l.Save:await n.Browser.wrapSync(t.identity)._openSaveModal({menuType:h.SAVE_PAGE,id:t.pageId});break;case l.SaveAs:await n.Browser.wrapSync(t.identity)._openSaveModal({menuType:h.SAVE_PAGE_AS,id: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(Oe.DuplicatePage,t.pageId);break;case l.Close:a.dispatch(Oe.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};xt()._invokeCustomAction(e.action.id,a)}}},Va=async(e,t)=>{if(e?.type){const a=xt();switch(e.type){case g.SavePage:await a.Browser.wrapSync(t.identity)._openSaveModal({menuType:h.SAVE_PAGE,id:t.pageId,x:t.buttonLeft+t.buttonWidth/2-Ct/2,y:t.y});break;case g.SaveWorkspace:await a.Browser.wrapSync(t.identity)._openSaveModal({menuType:h.SAVE_WORKSPACE,x:t.buttonLeft+t.buttonWidth/2-Ct/2,y:t.y});break;case g.Custom:if(e.action){const a={callerType:y.SaveButtonContextMenu,windowIdentity:t.identity,pageId:t.pageId,customData:e.action.customData};xt()._invokeCustomAction(e.action.id,a)}}}},xa=async(e,t)=>{const a=t.selectedViews[0],n=fin.View.wrapSync(a),o=await(async e=>{const{newTabUrl:t}=await Bt(e);if(!t)throw new Error("Trying to create a new page without a newTabUrl set");return{...Pe("New View",t),url:t,target:e}})(e);await xt().createView(o,e,n.identity)},Ba=async(e,t)=>{const a=await(e=>Promise.all(e.map((async e=>fin.View.wrapSync(e).getInfo()))))(t),{newPageUrl:n,newTabUrl:o}=await Bt(e);a.forEach((async e=>{e.url!==n&&e.url!==o&&await fin.System.openUrlWithBrowser(e.url)}))},La=(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 xt().createView(n,e,t.identity)})(e,a)}))},_a=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 xt().Browser.wrapSync(e).getPages()).find((e=>e.isActive));(await Ee(e)).dispatch(Oe.ClosePage,t?.pageId)}})(a,t.selectedViews);break;case w.OpenWithDefaultBrowser:await Ba(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 xa(a,t);break;case w.DuplicateViews:La(a,t.selectedViews);break;case w.AddToChannel:(async(e,t,a)=>{const n={newChannelId:t,selectedViews:a};(await Ee(e)).dispatch(Oe.AddToChannel,n)})(a,e.option,t.selectedViews);break;case w.RemoveFromChannel:(async(e,t)=>{(await Ee(e)).dispatch(Oe.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};xt()._invokeCustomAction(e.action.id,n)}}};async function Ga(e,t){const a=await ea(e.identity),n=await aa();a.find((e=>e.data?.type===p.Quit)).label=`Quit ${n}`;const o={...e,template:a,callback:Oa};await this.openGlobalContextMenu(o,t)}const Da=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 Ua(e,t){const a={...e,callback:_a};await this.openViewTabContextMenu(a,t)}async function Fa(e,t){const a=await xt().Storage.getPage(e.pageId),n=await(o=!!a,[{type:Wt.Label,label:"Save Page",data:{type:l.Save}},{type:Wt.Label,label:"Save Page As",data:{type:l.SaveAs}},{type:Wt.Separator,data:void 0},{type:Wt.Label,label:"Rename Page",data:{type:l.Rename},enabled:o},{type:Wt.Label,label:"Duplicate Page",data:{type:l.Duplicate}},{type:Wt.Separator,data:void 0},{type:Wt.Label,label:"Close Page",data:{type:l.Close}}]);var o;const i={...e,template:n,callback:Ra};await this.openPageTabContextMenu(i,t)}async function Na(e,t){const a={...e,template:await([{type:Wt.Label,label:"Save Workspace",data:{type:g.SaveWorkspace}},{type:Wt.Label,label:"Save Page",data:{type:g.SavePage}}]),callback:Va};await this.openSaveButtonContextMenu(a,t)}const $a=v&&pt("openfin-workspace-platform-workspaces","workspaces");async function Ha(e){const t=await wt(e,$a);return t?(t.workspaceId=e.toString(),t.title=t.title||t.workspaceId,t):null}async function qa(e){const t=await ht($a),a=await Promise.all(t.map((e=>Ha(e.toString()))));return e?a.filter((t=>ft(t.title,e))):a}async function Ka({workspace:e}){await ut(e.workspaceId,e,$a)}async function ja(e){await gt(e,$a)}async function Qa({workspaceId:e,workspace:t}){if(void 0===await Ha(e))throw new Error("workspace not found");await Ka({workspace:t}),e!==t.workspaceId&&await ja(e)}async function za({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 Ja=e=>e&&"object"==typeof e&&!Array.isArray(e);function Xa(e,...t){if(!t.length)return e;const a=t.shift();return Ja(e)&&Ja(a)&&Object.entries(a).forEach((([t,a])=>{if(Ja(a))return e[t]||(e[t]={}),Xa(e[t],a);e[t]=a})),Xa(e,...t)}const Ya=I+ia.Browser;function Za(e,t){const a=Xa({},t,e);return a.detachOnClose=!0,a}async function en(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 tn=e=>{const t=e.name===B.Home,a=e.name?.startsWith(B.HomeInternal),n=e.name?.startsWith(B.BrowserMenu);return!t&&!a&&!n},an=e=>"workspacePlatform"in e?e:(({workstacks:e,pages:t,...a})=>({...a,workspacePlatform:{pages:t||e||null}}))(e),nn={contextMenuSettings:{reload:!1},backgroundThrottling:!0,url:Ya,contextMenu:!0,closeOnLastViewRemoved:!1,experimental:{showFavicons:!0,defaultFaviconUrl:`${I}/icons/defaultFavicon.svg`},permissions:{System:{openUrlWithBrowser:{enabled:!0,protocols:["mailto"]}}}},on={dimensions:{borderWidth:3,headerHeight:30}},rn=(e,t)=>t?e.map((e=>({...t,...e}))):e,sn=e=>{const t=fin.Window.wrapSync(e);return Promise.all([t.bringToFront(),t.restore(),t.focus()])};async function cn(e){const t=await $();return await Promise.all(t.map((({identity:e})=>(async e=>(await Ee(e)).dispatch(Re.UpdatePagesWindowOptions))(e)))),e?e():ct()}let dn=[];const pn=()=>dn;const ln=e=>async t=>{class a extends t{constructor(){super(),this.isWorkspacePlatform=()=>!0,this.addPage=this.attachPagesToWindow,this.detachPagesFromWindow=Ke,this.getAllAttachedPages=Le,this.getPagesForWindow=Qe,this.getPageForWindow=ze,this.setActivePage=je,this.launchApp=za,this.savePage=$e,this.saveWorkspace=ge,this.createSavedPageInternal=Ue,this.updateSavedPageInternal=Ne,this.deleteSavedPageInternal=Fe,this.reorderPagesForWindow=Je,this.getUniquePageTitle=Xe,this.updatePageForWindow=qe,this.getLastFocusedBrowserWindow=he,this.getThemes=pn,this.invokeCustomActionInternal=nt,this.getCurrentWorkspace=ue,this.applyWorkspace=pe,this.setActiveWorkspace=le,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 cn((async()=>ct(await super.getSnapshot(void 0,fin.me.identity))));return{...e,windows:e.windows.filter(tn)}}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 Le(),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=an(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 Xe();a.push(await At(e,t.layout))}let o;n.forEach((e=>{const t=i.get(e.pageId);t?o=t:a.push(e)})),o&&await Promise.all([je({identity:o.parentIdentity,pageId:o.pageId}),sn(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=an(t);const o=await this.getThemes();n=((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=Xa({},t.defaultWindowOptions,n,nn),n.layout=Xa(n.layout,on),(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=rn(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=Za(t.opts,e?.defaultViewOptions),t.opts=await en(t.opts,this.fetchManifest,a),super.createView(t,a)}async replaceView(t,a){return t.opts.newView=await Za(t.opts.newView,e?.defaultViewOptions),t.opts.newView=await en(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 St.apply(this,e)}async getSavedPages(...e){return vt.apply(this,e)}async createSavedPage(...e){return Pt.apply(this,e)}async deleteSavedPage(...e){return bt.apply(this,e)}async updateSavedPage(...e){return kt.apply(this,e)}async getSavedWorkspace(...e){return Ha.apply(this,e)}async getSavedWorkspaces(...e){return qa.apply(this,e)}async createSavedWorkspace(...e){return Ka.apply(this,e)}async deleteSavedWorkspace(...e){return ja.apply(this,e)}async updateSavedWorkspace(...e){return Qa.apply(this,e)}async attachPagesToWindow(t){t.pages=rn(t.pages,e?.defaultPageOptions),await He(t)}async openGlobalContextMenuInternal(...e){return Ga.apply(this,e)}async openGlobalContextMenu(...e){return Da.apply(this,e)}async openViewTabContextMenuInternal(...e){return Ua.apply(this,e)}async openViewTabContextMenu(...e){return Da.apply(this,e)}async openPageTabContextMenuInternal(...e){return Fa.apply(this,e)}async openPageTabContextMenu(...e){return Da.apply(this,e)}async openSaveButtonContextMenu(...e){return Da.apply(this,e)}async openSaveButtonContextMenuInternal(...e){return Na.apply(this,e)}}return"function"==typeof e?.overrideCallback?e.overrideCallback(a):new a};async function wn(){!function(){const e=x();e.addListener(E.WindowOptionsChanged,et),e.addListener(E.WindowClosed,tt),e.addListener(E.WindowCreated,tt)}(),async function(){const e=fin.Application.getCurrentSync();await e.addListener("window-focused",fe)}();le(await we())}let un;function gn(e){if(!m)throw new Error("Cannot be used outside an OpenFin env.");if(!un){fin.Platform.getCurrentSync().once("platform-api-ready",(()=>wn())),e.title&&(t=e.title,ta=t),un=fin.Platform.init({overrideCallback:ln(e),interopOverride:e?.interopOverride}),(async e=>{j(K.Platform,e)})({allowed:!0})}var t;return un}const yn=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.")})),dn=o,(async e=>{j(K.Theming,e)})({allowed:!0})),e?.customActions&&(at=e?.customActions),a){return gn(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.3.
|
|
1
|
+
{"name":"@openfin/workspace-platform","description":"An API for creating your own Workspace platform.","contributors":[],"version":"7.3.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","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"}
|