@openfin/workspace 5.3.1 → 5.4.0
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/common/src/utils/window.d.ts +3 -0
- package/index.js +1 -1
- package/package.json +1 -1
- package/search-api/src/shapes.d.ts +3 -2
|
@@ -31,6 +31,9 @@ export interface WindowIdentity {
|
|
|
31
31
|
uuid: ApplicationUUID | string;
|
|
32
32
|
name: WindowName | string;
|
|
33
33
|
}
|
|
34
|
+
export interface WindowCreationOptionsExtended extends OpenFin.PlatformWindowCreationOptions {
|
|
35
|
+
backgroundThrottling?: boolean;
|
|
36
|
+
}
|
|
34
37
|
interface Point {
|
|
35
38
|
left: number;
|
|
36
39
|
top: number;
|
package/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
(()=>{"use strict";var e={d:(t,n)=>{for(var o in n)e.o(n,o)&&!e.o(t,o)&&Object.defineProperty(t,o,{enumerable:!0,get:n[o]})},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})}},t={};e.r(t),e.d(t,{AppManifestType:()=>Ct,CLIAction:()=>Et,CLIFilterOptionType:()=>Tt,CLITemplate:()=>Lt,Home:()=>xt,Legacy:()=>Dt,SearchTagBackground:()=>Fe,Storefront:()=>Mt,StorefrontTemplate:()=>Ot});var n={};e.r(n),e.d(n,{subscribe:()=>Te});var o={};e.r(o),e.d(o,{create:()=>st});var r={};e.r(r),e.d(r,{deregister:()=>ht,hide:()=>yt,register:()=>wt,show:()=>vt});var i={};e.r(i),e.d(i,{getPages:()=>Pt,getWorkspaces:()=>bt});var s,c,a={};e.r(a),e.d(a,{deregister:()=>Wt,hide:()=>Bt,register:()=>$t,show:()=>Ft}),function(e){e.Local="local",e.Dev="dev",e.Staging="staging",e.Prod="prod"}(c||(c={}));const d="undefined"!=typeof window&&"undefined"!=typeof fin,u=("undefined"==typeof process||null===(s=process.env)||void 0===s||s.JEST_WORKER_ID,"undefined"!=typeof window),f=u?window.origin:c.Local,l=(d&&fin.me.uuid,d&&fin.me.name,d&&fin.me.entityType,"undefined"!=typeof ENV?ENV:c.Local,c.Local,c.Dev,c.Staging,c.Prod,!0),p=e=>e.startsWith("http://")||e.startsWith("https://")?e:f+e,g=("undefined"!=typeof WORKSPACE_APPS_URL&&p(WORKSPACE_APPS_URL),"undefined"!=typeof WORKSPACE_STOREFRONT_FOOTER_URL&&p(WORKSPACE_STOREFRONT_FOOTER_URL),"undefined"!=typeof WORKSPACE_STOREFRONT_LANDING_PAGE_URL&&p(WORKSPACE_STOREFRONT_LANDING_PAGE_URL),"undefined"!=typeof WORKSPACE_STOREFRONT_NAVIGATION_URL&&p(WORKSPACE_STOREFRONT_NAVIGATION_URL),"undefined"!=typeof WORKSPACE_SHARE_URL&&p(WORKSPACE_SHARE_URL),p("https://cdn.openfin.co/workspace/5.3.1"),p("https://cdn.openfin.co/workspace/5.3.1"),"#7795f7"),w={trace:!0,debug:"undefined"!=typeof LOG_DEBUG&&LOG_DEBUG,info:!1,warn:!0,error:!0,fatal:!0};function h(e,t){const n=void 0===t?w:{...w,...t},o=e?`${e} : `:"",r=`color:${g}`;return{trace:n.trace?(e,...t)=>{console.trace(`%c${o}${e}`,r,...t)}:(e,...t)=>{},debug:n.debug?(e,...t)=>{console.info(`%c${o}${e}`,"color:#86db94",...t)}:(e,...t)=>{},info:n.info?(e,...t)=>{console.debug(`%c${o}${e}`,"color:#ffffff",...t)}:(e,...t)=>{},warn:n.warn?(e,...t)=>{console.warn(`%c${o}${e}`,"color:#edad68",...t)}:(e,...t)=>{},error:n.error?(e,t,...n)=>{console.error(`%c${o}${e}`,"color:#f55d67",...n,t)}:(e,t,...n)=>{},fatal:n.fatal?(e,t,...n)=>{console.error(`%c${o}${e}`,"color:#f70723",...n,t)}:(e,t,...n)=>{}}}const v=h("utils.channels"),y=u&&"complete"!==document.readyState&&new Promise((e=>document.addEventListener("readystatechange",(()=>{"complete"===document.readyState&&e()}))));var m,S,R,P,b,C;!function(e){e.Workspace="openfin-browser"}(m||(m={})),function(e){e.RunRequested="run-requested",e.WindowOptionsChanged="window-options-changed",e.WindowClosed="window-closed",e.WindowCreated="window-created"}(S||(S={})),function(e){e.FinProtocol="fin-protocol"}(R||(R={})),m.Workspace,m.Workspace,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"}(P||(P={})),(C=b||(b={})).Shown="shown",C.BoundsChanged="bounds-changed",C.LayoutReady="layout-ready",C.EndUserBoundsChanging="end-user-bounds-changing",C.Blurred="blurred",C.CloseRequested="close-requested",C.Focused="focused",C.ShowRequested="show-requested",C.ViewCrashed="view-crashed",C.ViewAttached="view-attached",C.ViewDetached="view-detached",C.ViewPageTitleUpdated="view-page-title-updated",C.ViewDestroyed="view-destroyed",P.Home,m.Workspace,P.Dock,m.Workspace,P.Storefront,m.Workspace;const O={name:m.Workspace,uuid:m.Workspace},E=e=>function(e){if(!d)throw new Error("getOFWindow can only be used in an OpenFin env. Avoid calling this method during pre-rendering.");return fin.Window.wrapSync(e)}(e).getOptions().then((()=>!0)).catch((()=>!1));var L,T;(T=L||(L={})).RegisterStorefrontProvider="register-storefront-provider",T.DeregisterStorefrontProvider="deregister-storefront-provider",T.GetStorefrontProviders="get-storefront-providers",T.HideStorefront="hide-storefront",T.GetStorefrontProviderApps="get-storefront-provider-apps",T.GetStorefrontProviderLandingPage="get-storefront-provider-landing-page",T.GetStorefrontProviderFooter="get-storefront-provider-footer",T.GetStorefrontProviderNavigation="get-storefront-provider-navigation",T.LaunchStorefrontProviderApp="launch-storefront-provider-app",T.ShowStorefront="show-storefront",T.CreateStorefrontWindow="create-storefront-window",T.ShowHome="show-home",T.HideHome="hide-home",T.AssignHomeSearchContext="assign-home-search-context",T.GetLegacyPages="get-legacy-pages",T.GetLegacyWorkspaces="get-legacy-workspaces",T.GetComputedPlatformTheme="get-computed-platform-theme";const I=function(e){let t;return()=>{if(!d)throw new Error("getChannelClient cannot be used outside an OpenFin env. Avoid using this method during pre-rendering.");return t||(v.debug(`connecting to channel provider ${e}`),t=(async()=>{await y;const n=await fin.InterApplicationBus.Channel.connect(e);return n.onDisconnection((async()=>{v.warn(`disconnected from channel provider ${e}`),t=void 0})),n})().then((t=>(v.debug(`connected to channel provider ${e}`),t))).catch((t=>{v.error(`failed to connect to channel provider ${e}`,t)}))),t}}("__of_workspace_protocol__"),A=e=>{const t=new URL(e);return t.searchParams.append("isLaunchedViaLib",l.toString()),t.toString()},_=async()=>{if(!await E(O))return-1===navigator.userAgent.indexOf("Win")&&await fin.Application.startFromManifest(A("https://cdn.openfin.co/workspace/app.json")),fin.System.openUrlWithBrowser(A("fins://system-apps/workspace"))},k=async()=>(await _(),I()),$="home";var W,B;!function(e){e.Commands="home-commands"}(W||(W={})),function(e){e[e.Initial=0]="Initial",e[e.Open=1]="Open",e[e.Close=2]="Close"}(B||(B={}));const F="0",M="5",x="6",D=()=>{};function G(e,t){return e?`${e}-${t}`:t}function N(e){return`__search-${e}-topic__`}const U=new Map;function q(e,t){U.has(e)||U.set(e,new Set),U.get(e).add(t)}function H(e,t){const n=U.get(e);n&&n.delete(t)}const K=new Map;function V(e,t){K.has(e)||K.set(e,new Set),K.get(e).add(t)}function j(e,t){const n=K.get(e);n&&n.delete(t)}const z=new Map;function J(e,t){z.has(e)||z.set(e,new Map),z.get(e).set(t.id,t);const n=U.get(e);n&&n.forEach((e=>e()))}function Q(e,t){const n=z.get(e);if(!n)return;n.delete(t);const o=K.get(e);o&&o.forEach((e=>e()))}function X(e){return z.get(e)?[...z.get(e).values()]:[]}function Y(e){const t=z.get(e);t&&t.clear()}function Z(e,t){const n=z.get(e);return n?n.get(t):null}function ee(e,t,n){return{...e,action:n||e.actions[0],dispatcherIdentity:t}}function te(e,t,n="ascending"){const o=e||[];if(!(null==t?void 0:t.length))return o;const r=[],i=new Map;t.forEach((e=>{if(e.key)return i.set(e.key,e);r.push(e)}));let s=o.map((e=>{const{key:t}=e;if(t&&i.has(t)){const e=i.get(t);return i.delete(t),e}return e}));return s.push(...i.values(),...r),s="ascending"===n?s.sort(((e,t)=>(null!==e.score&&void 0!==e.score?e.score:1/0)-(null!==t.score&&void 0!==t.score?t.score:1/0))):s.sort(((e,t)=>(null!==t.score&&void 0!==t.score?t.score:1/0)-(null!==e.score&&void 0!==e.score?e.score:1/0))),s}function ne(e){const t={};let n=[],o=[],r=B.Initial;t.getStatus=()=>r,t.getResultBuffer=()=>n,t.setResultBuffer=e=>{n=e,(null==n?void 0:n.length)&&t.onChange()},t.getRevokedBuffer=()=>o,t.setRevokedBuffer=e=>{o=e,(null==o?void 0:o.length)&&t.onChange()},t.onChange=D;const i={};return t.res=i,i.close=()=>{r!==B.Close&&(r=B.Close,t.onChange())},i.open=()=>{r!==B.Open&&(r=B.Open,t.onChange())},i.respond=n=>{const o=te(t.getResultBuffer(),n,e);t.setResultBuffer(o)},i.revoke=(...e)=>{const n=new Set(e),o=t.getResultBuffer().filter((({key:e})=>{const t=n.has(e);return t&&n.delete(e),!t}));t.setResultBuffer(o),n.size&&(t.getRevokedBuffer().forEach((e=>n.add(e))),t.setRevokedBuffer([...n]))},t}function oe(e,t,n){const o=new Set;let r=!1;return{close:()=>{r=!0;for(const e of o)e()},req:{id:t,topic:e,...n,context:(null==n?void 0:n.context)||{},onClose:e=>{o.add(e),r&&e()},removeListener:e=>{o.delete(e)}}}}function re(){return{name:fin.me.name,uuid:fin.me.uuid}}function ie(){let e;try{const t=fin.Platform.getCurrentSync();if(!(null==t?void 0:t.identity))return;e=t.identity.uuid}catch(e){}return e}const se="deregistered or does not exist",ce=new Error(`provider ${se}`),ae=new Error("provider with name already exists"),de=new Error("bad payload"),ue=new Error("subscription rejected"),fe=new Error(`channel ${se}`),le=new Map;function pe(e){const t=ge(e);if(t)return t;throw fe}function ge(e){const t=le.get(e);if(t)return t}function we(e,t){le.set(e,t)}function he(e){console.error("OpenFin Search API: ",e)}const ve=new Map;function ye(e){ve.has(e)||ve.set(e,new Map);const t=ve.get(e);return{getRequestsForIdentity:e=>{const n=function(e){return`${e.uuid}:${e.name}`}(e);return t.has(n)||t.set(n,new Map),t.get(n)}}}async function me(e,t){return(await pe(e)).dispatch(F,t)}function Se({namespacedTopic:e,topic:t}){const n=Z.bind(null,e),o=ye(e),r=me.bind(null,e);return async(e,i)=>{if(!e||!e.id||!e.providerId){const e=de;return he(e),{error:e.message}}const{id:s,providerId:c}=e,a=n(c);if(!a){const e=ce;return he(e),{error:e.message}}const d=o.getRequestsForIdentity(i);let u=d.get(e.id);u||(u=oe(t,s,e),d.set(e.id,u));const f=ne(),l=()=>{const e=f.getResultBuffer();f.setResultBuffer([]);const t=f.getRevokedBuffer();f.setRevokedBuffer([]);const n=f.getStatus();r({id:s,providerId:c,results:e,revoked:t,status:n})};let p=!0,g=!1;f.onChange=()=>{if(p)return p=!1,void l();g||(g=!0,setTimeout((()=>{g=!1,l()}),100))};try{const{results:e,context:t}=await a.onUserInput(u.req,f.res),n=f.getStatus();return{id:s,providerId:c,status:n,results:e,context:t}}catch(e){return he(e),{id:s,providerId:c,error:e.message}}}}async function Re(e,t,n){const o=n||await pe(e),r=re(),i={identity:r,...t,onUserInput:void 0,onResultDispatch:void 0};await o.dispatch("2",i),J(e,{identity:r,...t})}async function Pe(e,t){const n=await pe(e);return await n.dispatch("3",t),Q(e,t)}async function be(e,t,n,o){const r=ee(n,re(),o),i=Z(e,t);if(i){const{onResultDispatch:e}=i;if(!e)return;return e(r)}const s={providerId:t,result:r};return(await pe(e)).dispatch(M,s)}async function Ce(e,t){const n={...t,context:(null==t?void 0:t.context)||{}},o={},r=async function*(e,t,{setState:n}){const o=await pe(e);for(;;){const e=await o.dispatch("1",t),r=e.error;if(r)throw new Error(r);const i=e;if(t.id=i.id,n(i.state),i.done)return i.value;yield i.value}}(e,n,{setState:e=>{o.state=e}});let i=await r.next();return o.id=n.id,o.close=()=>{!async function(e,t){(await pe(e)).dispatch(x,{id:t})}(e,o.id)},o.next=()=>{if(i){const e=i;return i=void 0,e}return r.next()},o}async function Oe(e){return(await pe(e)).dispatch("4",null)}async function Ee(e){const t=await pe(e);var n;n=e,le.delete(n),Y(e),await t.disconnect()}async function Le(e){const{namespacedTopic:t}=e,n=N(t),o=await async function(e){for(let t=0;t<50;t++)try{return await fin.InterApplicationBus.Channel.connect(e,{wait:!1})}catch(e){if(49===t)throw e;await new Promise((e=>setTimeout(e,1e3)))}}(n);return o.register(F,Se(e)),o.register(x,function(e){const t=ye(e);return(e,n)=>{const o=t.getRequestsForIdentity(n),r=o.get(e.id);r&&(r.close(),o.delete(e.id))}}(t)),o.register(M,function(e){return async(t,n)=>{if(!t||!t.providerId||!t.result)return void he(de);const o=Z(e,t.providerId);if(!o)return void he(ce);const{onResultDispatch:r}=o;return r?(t.result.dispatcherIdentity=n,r(t.result)):void 0}}(t)),o.onDisconnection(function(e){const{namespacedTopic:t}=e,n=ye(t);return async o=>{if(!ge(t))return;const r=n.getRequestsForIdentity(o);for(const{req:e,close:t}of r.values())t(),r.delete(e.id);we(t,(async e=>{const{namespacedTopic:t}=e,n=await Le(e);for(const e of X(t))await Re(t,e,n);return n})(e))}}(e)),o}async function Te(e){const t=("string"==typeof e?e:null==e?void 0:e.topic)||"all",n=("string"==typeof e?null:null==e?void 0:e.uuid)||ie(),o=G(n,t),r={topic:t,namespace:n,namespacedTopic:o};let i=ge(o);return i||(i=Le(r),we(o,i),await i),{getAllProviders:Oe.bind(null,o),register:Re.bind(null,o),search:Ce.bind(null,o),deregister:Pe.bind(null,o),dispatch:be.bind(null,o),disconnect:Ee.bind(null,o)}}const Ie=new Map;function Ae(e){const t=_e(e);if(t)return t;throw fe}function _e(e){const t=Ie.get(e);if(t)return t}const ke=new Map;function $e(e,t){ke.has(e)||ke.set(e,new Set),ke.get(e).add(t)}function We(e,t){const n=ke.get(e);n&&n.delete(t)}var Be,Fe;function Me(e){return[...X(e)].map((e=>({...e,onUserInput:void 0,onResultDispatch:void 0})))}function xe(e,t){if(Z(e,t.id))throw new Error("provider with name already exists");J(e,{identity:re(),...t})}function De(e,t){Q(e,t)}async function Ge(e,t,n,o){const r=Z(e,t);if(!r)throw ce;const{onResultDispatch:i}=r;if(i)return i(ee(n,re(),o))}!function(e){e.Fetching="fetching",e.Fetched="fetched",e.Complete="complete"}(Be||(Be={})),function(e){e.Active="active",e.Default="default"}(Fe||(Fe={}));let Ne=0;function Ue({namespacedTopic:e,topic:t},n){Ne+=1;const o=oe(t,Ne.toString(),n);let r;return r=async function*(e,t,n){const o=function(e,t){const n=[],o=[],r=[],i=[];for(const s of e){const e=ne(s.scoreOrder),c={results:[],provider:{id:s.id,identity:s.identity,title:s.title,scoreOrder:s.scoreOrder,icon:s.icon}};n.push(c),o.push(e);const a=(async()=>{try{const{results:n,context:o}=await s.onUserInput(t,e.res);c.results=te(c.results,n),c.context={...c.context,...o}}catch(e){c.error=e}a.done=!0})();i.push(a),r.push(r.length)}return{providerResponses:n,listenerResponses:o,openListenerResponses:r,initialResponsePromises:i}}(t.targets?t.targets.map((t=>Z(e,t))).filter((e=>!!e)):[...X(e).filter((e=>!e.hidden))],t),{providerResponses:r,listenerResponses:i}=o;let{openListenerResponses:s,initialResponsePromises:c}=o,a=Be.Fetching;const d=e=>{a=e,n.setState(a)};let u,f=!1;t.onClose((()=>{f=!0,u&&u()}));do{let e=!1;if(c.length){const t=[];for(const n of c)n.done?e=!0:t.push(n);c=t,c.length||(d(Be.Fetched),e=!0)}let t,n=!1;const o=()=>{n=!0,t&&t()},l=[];for(const t of s){const n=i[t],s=r[t],c=n.getStatus();(c===B.Open||a===Be.Fetching&&c===B.Initial)&&(l.push(t),n.onChange=o);const d=n.getResultBuffer();d.length&&(n.setResultBuffer([]),s.results=te(s.results,d),e=!0);const u=n.getRevokedBuffer();if(u.length){n.setRevokedBuffer([]);const t=new Set(u);s.results=s.results.filter((({key:e})=>!t.has(e))),e=!0}}if(s=l,e&&(yield r),f)break;n||(s.length||c.length)&&await Promise.race([...c,new Promise((e=>{t=e})),new Promise((e=>{u=e}))])}while(s.length||c.length);return d(Be.Complete),r}(e,o.req,{setState:e=>{r.state=e}}),r.id=Ne.toString(),r.close=o.close,r.state=Be.Fetching,r}const qe=new Map;function He(e,t){return`${e}:${t}`}function Ke(e,t,n){return Ae(e).dispatch(t,x,{id:n})}async function Ve(e,t,{id:n,query:o,context:r,targets:i}){const s=Ae(e),c={id:n,query:o,context:r,targets:i,providerId:t.id},a=await s.dispatch(t.identity,F,c),d=a.error;if(d)throw new Error(d);return a}const je=new Map;function ze(e,t,n){return`${e}:${t.name}:${t.uuid}:${n}`}const Je=new Map;function Qe(e,t,n){return`${e}:${t}:${n}`}function Xe(e,t){const n=ze.bind(null,e,t.identity),o=Ke.bind(null,e,t.identity),r=Ve.bind(null,e,t);return async(i,s)=>{const c=n(i.id);if(!je.has(c)){const e=()=>{o(i.id),je.delete(c)};je.set(c,e),i.onClose(e)}const a=Qe(e,t.id,i.id),d=()=>{Je.delete(a),s.close()};i.onClose(d),Je.set(a,(e=>{var t,n;(null===(t=e.results)||void 0===t?void 0:t.length)&&s.respond(e.results),(null===(n=e.revoked)||void 0===n?void 0:n.length)&&s.revoke(...e.revoked),e.status===B.Open&&s.open(),e.status===B.Close&&d()}));const u=await r(i);return u.status===B.Open&&s.open(),u.status!==B.Close&&u.status!==B.Initial||d(),u}}function Ye(e,t){return async n=>{const o=Ae(e),r={providerId:t.id,result:n};return o.dispatch(t.identity,M,r)}}const Ze=new Map;function et(e,t){return`${e}-${t.name}-${t.uuid}`}const tt=new Map;function nt(e,t){tt.has(e)||tt.set(e,new Set),tt.get(e).add(t)}function ot(e,t){const n=tt.get(e);n&&n.delete(t)}async function rt(e){const{namespacedTopic:t}=e,n=N(e.namespacedTopic),o=await(r=n,fin.InterApplicationBus.Channel.create(r));var r;return o.onConnection(function({namespacedTopic:e}){return async t=>{const n=ke.get(e);if(n)for(const e of n)if(!await e(t))throw ue}}(e)),o.onDisconnection(function(e){return async t=>{!function(e,t){const n=et(e,t),o=Ze.get(n);if(o){for(const t of o)Q(e,t);Ze.delete(n)}}(e,t);const n=tt.get(e);n&&n.forEach((e=>e(t)))}}(t)),o.register(x,function(e){return t=>function(e,t){const n=He(e,t),o=qe.get(n);o&&o.generator.close()}(e,t.id)}(t)),o.register(F,function(e){return t=>{const n=Qe(e,t.providerId,t.id),o=Je.get(n);o&&o(t)}}(t)),o.register("2",function(e){return(t,n)=>{if(!t||!t.id)return he(new Error(JSON.stringify(t))),void he(de);if(Z(e,t.id))throw ae;t.identity=n,function(e,t){const n=et(e,t.identity);Ze.has(n)||Ze.set(n,[]),Ze.get(n).push(t.id),J(e,{...t,onUserInput:Xe(e,t),onResultDispatch:Ye(e,t)})}(e,t)}}(t)),o.register("3",function(e){return t=>{t?function(e,t){const n=Z(e,t);if(!n)return;const o=et(e,n.identity),r=Ze.get(o);if(r){const n=r.findIndex((e=>e===t));-1!==n&&(r.splice(n,1),Q(e,t))}}(e,t):he(de)}}(t)),o.register("4",function(e){return async()=>Me(e)}(t)),o.register("1",function(e){return async(t,...n)=>{if(!t)return he(de),{error:de.message};let o;if(t.id)o=He(e.namespacedTopic,t.id);else{const n=Ue(e,t);o=He(e.namespacedTopic,n.id),t.id=n.id,qe.set(o,{generator:n})}const r=qe.get(o);clearTimeout(r.timeout);const i=await r.generator.next();return r.timeout=function(e){return window.setTimeout((()=>{qe.delete(e)}),1e4)}(o),{...i,id:t.id,state:r.generator.state}}}(e)),o.register(M,function(e){return async(t,n)=>{if(!t||!t.providerId||!t.result)return void he(de);const o=Z(e,t.providerId);if(!o)throw ce;const{onResultDispatch:r}=o;return r?(t.result.dispatcherIdentity=n,r(t.result)):void 0}}(t)),o}async function it(e){const t=Ae(e);var n;n=e,Ie.delete(n),await t.destroy(),Y(e)}async function st(e){const t=("string"==typeof e?e:null==e?void 0:e.topic)||"all",n=ie(),o=G(n,t),r={topic:t,namespace:n,namespacedTopic:o};let i=_e(o);i||(i=await rt(r),function(e,t){Ie.set(e,t)}(o,i));const s=We.bind(null,o),c=ot.bind(null,o),a=H.bind(null,o),d=j.bind(null,o);return{getAllProviders:Me.bind(null,o),search:Ue.bind(null,r),register:xe.bind(null,o),deregister:De.bind(null,o),onSubscription:$e.bind(null,o),onDisconnect:nt.bind(null,o),onRegister:q.bind(null,o),onDeregister:V.bind(null,o),dispatch:Ge.bind(null,r),disconnect:it.bind(null,o),removeListener:e=>{s(e),c(e),a(e),d(e)}}}const{create:ct}=o,{subscribe:at}=n,dt={create:ct,subscribe:at,defaultTopic:"all"},ut=()=>{const e=window;e.search=dt,e.fin&&(e.fin.Search=dt)},ft=e=>{const t=()=>{ut(),window.removeEventListener(e,t)};return t};if("undefined"!=typeof window){ut();const e="load",t=ft(e);window.addEventListener(e,t);const n="DOMContentLoaded",o=ft(n);window.addEventListener(n,o)}h("api.common.search");const lt=new Map;let pt;async function gt(e){return await async function(){return pt||(pt=async function(){await async function(e){lt.set(e,await at({topic:e,uuid:m.Workspace}))}($)}()),pt}(),lt.get(e)}const wt=async e=>{if(!e.icon)throw new Error(`${e.id} provider needs to have icon property defined.`);return await _(),(await gt($)).register(e)},ht=async e=>(await _(),(await gt($)).deregister(e));async function vt(){return(await k()).dispatch(L.ShowHome,void 0)}async function yt(){return(await k()).dispatch(L.HideHome,void 0)}var mt,St,Rt;h("utils.layout"),function(e){e.TabCreated="tab-created",e.ContainerCreated="container-created",e.ContainerResized="container-resized"}(mt||(mt={})),new Map,(Rt=St||(St={})).LastLaunchedWorkspaceId="activeWorkspaceId",Rt.LastFocusedBrowserWindow="lastFocusedBrowserWindow",Rt.MachineName="machineName",Rt.NewTabPageLayout="NewTabPageLayout",Rt.NewTabPageSort="NewTabPageSort";const Pt=()=>async function(){return(await I()).dispatch(L.GetLegacyPages,void 0)}(),bt=()=>(async()=>(await I()).dispatch(L.GetLegacyWorkspaces,void 0))();var Ct,Ot,Et,Lt,Tt,It;let At;!function(e){e.Snapshot="snapshot",e.Manifest="manifest",e.View="view",e.External="external"}(Ct||(Ct={})),(It=Ot||(Ot={})).LandingPage="landingPage",It.AppGrid="appGrid",function(e){e.Suggestion="suggestion"}(Et||(Et={})),function(e){e.Contact="Contact",e.List="List",e.Plain="Plain",e.SimpleText="SimpleText"}(Lt||(Lt={})),function(e){e.MultiSelect="MultiSelect"}(Tt||(Tt={}));const _t=new Map,kt=e=>{if(!_t.has(e))throw new Error(`Storefront Provider with id ${e} is not registered`);return _t.get(e)},$t=e=>(At=(async e=>{const t=await k();if(_t.has(e.id))throw new Error(`Storefront provider with id ${e.id} already registered`);return _t.set(e.id,e),(e=>{e.isStorefrontActionsRegistered||(e.isStorefrontActionsRegistered=!0,e.register(L.GetStorefrontProviderApps,(e=>kt(e).getApps())),e.register(L.GetStorefrontProviderFooter,(e=>kt(e).getFooter())),e.register(L.GetStorefrontProviderLandingPage,(e=>kt(e).getLandingPage())),e.register(L.GetStorefrontProviderNavigation,(e=>kt(e).getNavigation())),e.register(L.LaunchStorefrontProviderApp,(({id:e,app:t})=>kt(e).launchApp(t))))})(t),t.dispatch(L.RegisterStorefrontProvider,e)})(e),At),Wt=async e=>(await At,_t.delete(e),(await k()).dispatch(L.DeregisterStorefrontProvider,e)),Bt=async()=>{await At,await _(),await(async()=>(await I()).dispatch(L.HideStorefront,void 0))()},Ft=async()=>{await At,await _(),await(async()=>(await I()).dispatch(L.ShowStorefront,null))()},Mt=a,xt=r,Dt=i;module.exports=t})();
|
|
1
|
+
(()=>{"use strict";var e={d:(t,n)=>{for(var o in n)e.o(n,o)&&!e.o(t,o)&&Object.defineProperty(t,o,{enumerable:!0,get:n[o]})},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})}},t={};e.r(t),e.d(t,{AppManifestType:()=>Ct,CLIAction:()=>Et,CLIFilterOptionType:()=>Tt,CLITemplate:()=>Lt,Home:()=>xt,Legacy:()=>Dt,SearchTagBackground:()=>Fe,Storefront:()=>Mt,StorefrontTemplate:()=>Ot});var n={};e.r(n),e.d(n,{subscribe:()=>Te});var o={};e.r(o),e.d(o,{create:()=>st});var r={};e.r(r),e.d(r,{deregister:()=>ht,hide:()=>yt,register:()=>wt,show:()=>vt});var i={};e.r(i),e.d(i,{getPages:()=>Pt,getWorkspaces:()=>bt});var s,c,a={};e.r(a),e.d(a,{deregister:()=>Wt,hide:()=>Bt,register:()=>$t,show:()=>Ft}),function(e){e.Local="local",e.Dev="dev",e.Staging="staging",e.Prod="prod"}(c||(c={}));const d="undefined"!=typeof window&&"undefined"!=typeof fin,u=("undefined"==typeof process||null===(s=process.env)||void 0===s||s.JEST_WORKER_ID,"undefined"!=typeof window),f=u?window.origin:c.Local,l=(d&&fin.me.uuid,d&&fin.me.name,d&&fin.me.entityType,"undefined"!=typeof ENV?ENV:c.Local,c.Local,c.Dev,c.Staging,c.Prod,!0),p=e=>e.startsWith("http://")||e.startsWith("https://")?e:f+e,g=("undefined"!=typeof WORKSPACE_APPS_URL&&p(WORKSPACE_APPS_URL),"undefined"!=typeof WORKSPACE_STOREFRONT_FOOTER_URL&&p(WORKSPACE_STOREFRONT_FOOTER_URL),"undefined"!=typeof WORKSPACE_STOREFRONT_LANDING_PAGE_URL&&p(WORKSPACE_STOREFRONT_LANDING_PAGE_URL),"undefined"!=typeof WORKSPACE_STOREFRONT_NAVIGATION_URL&&p(WORKSPACE_STOREFRONT_NAVIGATION_URL),"undefined"!=typeof WORKSPACE_SHARE_URL&&p(WORKSPACE_SHARE_URL),p("https://cdn.openfin.co/workspace/5.4.0"),p("https://cdn.openfin.co/workspace/5.4.0"),"#7795f7"),w={trace:!0,debug:"undefined"!=typeof LOG_DEBUG&&LOG_DEBUG,info:!1,warn:!0,error:!0,fatal:!0};function h(e,t){const n=void 0===t?w:{...w,...t},o=e?`${e} : `:"",r=`color:${g}`;return{trace:n.trace?(e,...t)=>{console.trace(`%c${o}${e}`,r,...t)}:(e,...t)=>{},debug:n.debug?(e,...t)=>{console.info(`%c${o}${e}`,"color:#86db94",...t)}:(e,...t)=>{},info:n.info?(e,...t)=>{console.debug(`%c${o}${e}`,"color:#ffffff",...t)}:(e,...t)=>{},warn:n.warn?(e,...t)=>{console.warn(`%c${o}${e}`,"color:#edad68",...t)}:(e,...t)=>{},error:n.error?(e,t,...n)=>{console.error(`%c${o}${e}`,"color:#f55d67",...n,t)}:(e,t,...n)=>{},fatal:n.fatal?(e,t,...n)=>{console.error(`%c${o}${e}`,"color:#f70723",...n,t)}:(e,t,...n)=>{}}}const v=h("utils.channels"),y=u&&"complete"!==document.readyState&&new Promise((e=>document.addEventListener("readystatechange",(()=>{"complete"===document.readyState&&e()}))));var m,S,R,P,b,C;!function(e){e.Workspace="openfin-browser"}(m||(m={})),function(e){e.RunRequested="run-requested",e.WindowOptionsChanged="window-options-changed",e.WindowClosed="window-closed",e.WindowCreated="window-created"}(S||(S={})),function(e){e.FinProtocol="fin-protocol"}(R||(R={})),m.Workspace,m.Workspace,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"}(P||(P={})),(C=b||(b={})).Shown="shown",C.BoundsChanged="bounds-changed",C.LayoutReady="layout-ready",C.EndUserBoundsChanging="end-user-bounds-changing",C.Blurred="blurred",C.CloseRequested="close-requested",C.Focused="focused",C.ShowRequested="show-requested",C.ViewCrashed="view-crashed",C.ViewAttached="view-attached",C.ViewDetached="view-detached",C.ViewPageTitleUpdated="view-page-title-updated",C.ViewDestroyed="view-destroyed",P.Home,m.Workspace,P.Dock,m.Workspace,P.Storefront,m.Workspace;const O={name:m.Workspace,uuid:m.Workspace},E=e=>function(e){if(!d)throw new Error("getOFWindow can only be used in an OpenFin env. Avoid calling this method during pre-rendering.");return fin.Window.wrapSync(e)}(e).getOptions().then((()=>!0)).catch((()=>!1));var L,T;(T=L||(L={})).RegisterStorefrontProvider="register-storefront-provider",T.DeregisterStorefrontProvider="deregister-storefront-provider",T.GetStorefrontProviders="get-storefront-providers",T.HideStorefront="hide-storefront",T.GetStorefrontProviderApps="get-storefront-provider-apps",T.GetStorefrontProviderLandingPage="get-storefront-provider-landing-page",T.GetStorefrontProviderFooter="get-storefront-provider-footer",T.GetStorefrontProviderNavigation="get-storefront-provider-navigation",T.LaunchStorefrontProviderApp="launch-storefront-provider-app",T.ShowStorefront="show-storefront",T.CreateStorefrontWindow="create-storefront-window",T.ShowHome="show-home",T.HideHome="hide-home",T.AssignHomeSearchContext="assign-home-search-context",T.GetLegacyPages="get-legacy-pages",T.GetLegacyWorkspaces="get-legacy-workspaces",T.GetComputedPlatformTheme="get-computed-platform-theme";const I=function(e){let t;return()=>{if(!d)throw new Error("getChannelClient cannot be used outside an OpenFin env. Avoid using this method during pre-rendering.");return t||(v.debug(`connecting to channel provider ${e}`),t=(async()=>{await y;const n=await fin.InterApplicationBus.Channel.connect(e);return n.onDisconnection((async()=>{v.warn(`disconnected from channel provider ${e}`),t=void 0})),n})().then((t=>(v.debug(`connected to channel provider ${e}`),t))).catch((t=>{v.error(`failed to connect to channel provider ${e}`,t)}))),t}}("__of_workspace_protocol__"),A=e=>{const t=new URL(e);return t.searchParams.append("isLaunchedViaLib",l.toString()),t.toString()},_=async()=>{if(!await E(O))return-1===navigator.userAgent.indexOf("Win")&&await fin.Application.startFromManifest(A("https://cdn.openfin.co/workspace/app.json")),fin.System.openUrlWithBrowser(A("fins://system-apps/workspace"))},k=async()=>(await _(),I()),$="home";var W,B;!function(e){e.Commands="home-commands"}(W||(W={})),function(e){e[e.Initial=0]="Initial",e[e.Open=1]="Open",e[e.Close=2]="Close"}(B||(B={}));const F="0",M="5",x="6",D=()=>{};function G(e,t){return e?`${e}-${t}`:t}function N(e){return`__search-${e}-topic__`}const U=new Map;function q(e,t){U.has(e)||U.set(e,new Set),U.get(e).add(t)}function H(e,t){const n=U.get(e);n&&n.delete(t)}const K=new Map;function V(e,t){K.has(e)||K.set(e,new Set),K.get(e).add(t)}function j(e,t){const n=K.get(e);n&&n.delete(t)}const z=new Map;function J(e,t){z.has(e)||z.set(e,new Map),z.get(e).set(t.id,t);const n=U.get(e);n&&n.forEach((e=>e()))}function Q(e,t){const n=z.get(e);if(!n)return;n.delete(t);const o=K.get(e);o&&o.forEach((e=>e()))}function X(e){return z.get(e)?[...z.get(e).values()]:[]}function Y(e){const t=z.get(e);t&&t.clear()}function Z(e,t){const n=z.get(e);return n?n.get(t):null}function ee(e,t,n){return{...e,action:n||e.actions[0],dispatcherIdentity:t}}function te(e,t,n="ascending"){const o=e||[];if(!(null==t?void 0:t.length))return o;const r=[],i=new Map;t.forEach((e=>{if(e.key)return i.set(e.key,e);r.push(e)}));let s=o.map((e=>{const{key:t}=e;if(t&&i.has(t)){const e=i.get(t);return i.delete(t),e}return e}));return s.push(...i.values(),...r),s="ascending"===n?s.sort(((e,t)=>(null!==e.score&&void 0!==e.score?e.score:1/0)-(null!==t.score&&void 0!==t.score?t.score:1/0))):s.sort(((e,t)=>(null!==t.score&&void 0!==t.score?t.score:1/0)-(null!==e.score&&void 0!==e.score?e.score:1/0))),s}function ne(e){const t={};let n=[],o=[],r=B.Initial;t.getStatus=()=>r,t.getResultBuffer=()=>n,t.setResultBuffer=e=>{n=e,(null==n?void 0:n.length)&&t.onChange()},t.getRevokedBuffer=()=>o,t.setRevokedBuffer=e=>{o=e,(null==o?void 0:o.length)&&t.onChange()},t.onChange=D;const i={};return t.res=i,i.close=()=>{r!==B.Close&&(r=B.Close,t.onChange())},i.open=()=>{r!==B.Open&&(r=B.Open,t.onChange())},i.respond=n=>{const o=te(t.getResultBuffer(),n,e);t.setResultBuffer(o)},i.revoke=(...e)=>{const n=new Set(e),o=t.getResultBuffer().filter((({key:e})=>{const t=n.has(e);return t&&n.delete(e),!t}));t.setResultBuffer(o),n.size&&(t.getRevokedBuffer().forEach((e=>n.add(e))),t.setRevokedBuffer([...n]))},t}function oe(e,t,n){const o=new Set;let r=!1;return{close:()=>{r=!0;for(const e of o)e()},req:{id:t,topic:e,...n,context:(null==n?void 0:n.context)||{},onClose:e=>{o.add(e),r&&e()},removeListener:e=>{o.delete(e)}}}}function re(){return{name:fin.me.name,uuid:fin.me.uuid}}function ie(){let e;try{const t=fin.Platform.getCurrentSync();if(!(null==t?void 0:t.identity))return;e=t.identity.uuid}catch(e){}return e}const se="deregistered or does not exist",ce=new Error(`provider ${se}`),ae=new Error("provider with name already exists"),de=new Error("bad payload"),ue=new Error("subscription rejected"),fe=new Error(`channel ${se}`),le=new Map;function pe(e){const t=ge(e);if(t)return t;throw fe}function ge(e){const t=le.get(e);if(t)return t}function we(e,t){le.set(e,t)}function he(e){console.error("OpenFin Search API: ",e)}const ve=new Map;function ye(e){ve.has(e)||ve.set(e,new Map);const t=ve.get(e);return{getRequestsForIdentity:e=>{const n=function(e){return`${e.uuid}:${e.name}`}(e);return t.has(n)||t.set(n,new Map),t.get(n)}}}async function me(e,t){return(await pe(e)).dispatch(F,t)}function Se({namespacedTopic:e,topic:t}){const n=Z.bind(null,e),o=ye(e),r=me.bind(null,e);return async(e,i)=>{if(!e||!e.id||!e.providerId){const e=de;return he(e),{error:e.message}}const{id:s,providerId:c}=e,a=n(c);if(!a){const e=ce;return he(e),{error:e.message}}const d=o.getRequestsForIdentity(i);let u=d.get(e.id);u||(u=oe(t,s,e),d.set(e.id,u));const f=ne(),l=()=>{const e=f.getResultBuffer();f.setResultBuffer([]);const t=f.getRevokedBuffer();f.setRevokedBuffer([]);const n=f.getStatus();r({id:s,providerId:c,results:e,revoked:t,status:n})};let p=!0,g=!1;f.onChange=()=>{if(p)return p=!1,void l();g||(g=!0,setTimeout((()=>{g=!1,l()}),100))};try{const{results:e,context:t}=await a.onUserInput(u.req,f.res),n=f.getStatus();return{id:s,providerId:c,status:n,results:e,context:t}}catch(e){return he(e),{id:s,providerId:c,error:e.message}}}}async function Re(e,t,n){const o=n||await pe(e),r=re(),i={identity:r,...t,onUserInput:void 0,onResultDispatch:void 0};await o.dispatch("2",i),J(e,{identity:r,...t})}async function Pe(e,t){const n=await pe(e);return await n.dispatch("3",t),Q(e,t)}async function be(e,t,n,o){const r=ee(n,re(),o),i=Z(e,t);if(i){const{onResultDispatch:e}=i;if(!e)return;return e(r)}const s={providerId:t,result:r};return(await pe(e)).dispatch(M,s)}async function Ce(e,t){const n={...t,context:(null==t?void 0:t.context)||{}},o={},r=async function*(e,t,{setState:n}){const o=await pe(e);for(;;){const e=await o.dispatch("1",t),r=e.error;if(r)throw new Error(r);const i=e;if(t.id=i.id,n(i.state),i.done)return i.value;yield i.value}}(e,n,{setState:e=>{o.state=e}});let i=await r.next();return o.id=n.id,o.close=()=>{!async function(e,t){(await pe(e)).dispatch(x,{id:t})}(e,o.id)},o.next=()=>{if(i){const e=i;return i=void 0,e}return r.next()},o}async function Oe(e){return(await pe(e)).dispatch("4",null)}async function Ee(e){const t=await pe(e);var n;n=e,le.delete(n),Y(e),await t.disconnect()}async function Le(e){const{namespacedTopic:t}=e,n=N(t),o=await async function(e){for(let t=0;t<50;t++)try{return await fin.InterApplicationBus.Channel.connect(e,{wait:!1})}catch(e){if(49===t)throw e;await new Promise((e=>setTimeout(e,1e3)))}}(n);return o.register(F,Se(e)),o.register(x,function(e){const t=ye(e);return(e,n)=>{const o=t.getRequestsForIdentity(n),r=o.get(e.id);r&&(r.close(),o.delete(e.id))}}(t)),o.register(M,function(e){return async(t,n)=>{if(!t||!t.providerId||!t.result)return void he(de);const o=Z(e,t.providerId);if(!o)return void he(ce);const{onResultDispatch:r}=o;return r?(t.result.dispatcherIdentity=n,r(t.result)):void 0}}(t)),o.onDisconnection(function(e){const{namespacedTopic:t}=e,n=ye(t);return async o=>{if(!ge(t))return;const r=n.getRequestsForIdentity(o);for(const{req:e,close:t}of r.values())t(),r.delete(e.id);we(t,(async e=>{const{namespacedTopic:t}=e,n=await Le(e);for(const e of X(t))await Re(t,e,n);return n})(e))}}(e)),o}async function Te(e){const t=("string"==typeof e?e:null==e?void 0:e.topic)||"all",n=("string"==typeof e?null:null==e?void 0:e.uuid)||ie(),o=G(n,t),r={topic:t,namespace:n,namespacedTopic:o};let i=ge(o);return i||(i=Le(r),we(o,i),await i),{getAllProviders:Oe.bind(null,o),register:Re.bind(null,o),search:Ce.bind(null,o),deregister:Pe.bind(null,o),dispatch:be.bind(null,o),disconnect:Ee.bind(null,o)}}const Ie=new Map;function Ae(e){const t=_e(e);if(t)return t;throw fe}function _e(e){const t=Ie.get(e);if(t)return t}const ke=new Map;function $e(e,t){ke.has(e)||ke.set(e,new Set),ke.get(e).add(t)}function We(e,t){const n=ke.get(e);n&&n.delete(t)}var Be,Fe;function Me(e){return[...X(e)].map((e=>({...e,onUserInput:void 0,onResultDispatch:void 0})))}function xe(e,t){if(Z(e,t.id))throw new Error("provider with name already exists");J(e,{identity:re(),...t})}function De(e,t){Q(e,t)}async function Ge(e,t,n,o){const r=Z(e,t);if(!r)throw ce;const{onResultDispatch:i}=r;if(i)return i(ee(n,re(),o))}!function(e){e.Fetching="fetching",e.Fetched="fetched",e.Complete="complete"}(Be||(Be={})),function(e){e.Active="active",e.Default="default"}(Fe||(Fe={}));let Ne=0;function Ue({namespacedTopic:e,topic:t},n){Ne+=1;const o=oe(t,Ne.toString(),n);let r;return r=async function*(e,t,n){const o=function(e,t){const n=[],o=[],r=[],i=[];for(const s of e){const e=ne(s.scoreOrder),c={results:[],provider:{id:s.id,identity:s.identity,title:s.title,scoreOrder:s.scoreOrder,icon:s.icon}};n.push(c),o.push(e);const a=(async()=>{try{const{results:n,context:o}=await s.onUserInput(t,e.res);c.results=te(c.results,n),c.context={...c.context,...o}}catch(e){c.error=e}a.done=!0})();i.push(a),r.push(r.length)}return{providerResponses:n,listenerResponses:o,openListenerResponses:r,initialResponsePromises:i}}(t.targets?t.targets.map((t=>Z(e,t))).filter((e=>!!e)):[...X(e).filter((e=>!e.hidden))],t),{providerResponses:r,listenerResponses:i}=o;let{openListenerResponses:s,initialResponsePromises:c}=o,a=Be.Fetching;const d=e=>{a=e,n.setState(a)};let u,f=!1;t.onClose((()=>{f=!0,u&&u()}));do{let e=!1;if(c.length){const t=[];for(const n of c)n.done?e=!0:t.push(n);c=t,c.length||(d(Be.Fetched),e=!0)}let t,n=!1;const o=()=>{n=!0,t&&t()},l=[];for(const t of s){const n=i[t],s=r[t],c=n.getStatus();(c===B.Open||a===Be.Fetching&&c===B.Initial)&&(l.push(t),n.onChange=o);const d=n.getResultBuffer();d.length&&(n.setResultBuffer([]),s.results=te(s.results,d),e=!0);const u=n.getRevokedBuffer();if(u.length){n.setRevokedBuffer([]);const t=new Set(u);s.results=s.results.filter((({key:e})=>!t.has(e))),e=!0}}if(s=l,e&&(yield r),f)break;n||(s.length||c.length)&&await Promise.race([...c,new Promise((e=>{t=e})),new Promise((e=>{u=e}))])}while(s.length||c.length);return d(Be.Complete),r}(e,o.req,{setState:e=>{r.state=e}}),r.id=Ne.toString(),r.close=o.close,r.state=Be.Fetching,r}const qe=new Map;function He(e,t){return`${e}:${t}`}function Ke(e,t,n){return Ae(e).dispatch(t,x,{id:n})}async function Ve(e,t,{id:n,query:o,context:r,targets:i}){const s=Ae(e),c={id:n,query:o,context:r,targets:i,providerId:t.id},a=await s.dispatch(t.identity,F,c),d=a.error;if(d)throw new Error(d);return a}const je=new Map;function ze(e,t,n){return`${e}:${t.name}:${t.uuid}:${n}`}const Je=new Map;function Qe(e,t,n){return`${e}:${t}:${n}`}function Xe(e,t){const n=ze.bind(null,e,t.identity),o=Ke.bind(null,e,t.identity),r=Ve.bind(null,e,t);return async(i,s)=>{const c=n(i.id);if(!je.has(c)){const e=()=>{o(i.id),je.delete(c)};je.set(c,e),i.onClose(e)}const a=Qe(e,t.id,i.id),d=()=>{Je.delete(a),s.close()};i.onClose(d),Je.set(a,(e=>{var t,n;(null===(t=e.results)||void 0===t?void 0:t.length)&&s.respond(e.results),(null===(n=e.revoked)||void 0===n?void 0:n.length)&&s.revoke(...e.revoked),e.status===B.Open&&s.open(),e.status===B.Close&&d()}));const u=await r(i);return u.status===B.Open&&s.open(),u.status!==B.Close&&u.status!==B.Initial||d(),u}}function Ye(e,t){return async n=>{const o=Ae(e),r={providerId:t.id,result:n};return o.dispatch(t.identity,M,r)}}const Ze=new Map;function et(e,t){return`${e}-${t.name}-${t.uuid}`}const tt=new Map;function nt(e,t){tt.has(e)||tt.set(e,new Set),tt.get(e).add(t)}function ot(e,t){const n=tt.get(e);n&&n.delete(t)}async function rt(e){const{namespacedTopic:t}=e,n=N(e.namespacedTopic),o=await(r=n,fin.InterApplicationBus.Channel.create(r));var r;return o.onConnection(function({namespacedTopic:e}){return async t=>{const n=ke.get(e);if(n)for(const e of n)if(!await e(t))throw ue}}(e)),o.onDisconnection(function(e){return async t=>{!function(e,t){const n=et(e,t),o=Ze.get(n);if(o){for(const t of o)Q(e,t);Ze.delete(n)}}(e,t);const n=tt.get(e);n&&n.forEach((e=>e(t)))}}(t)),o.register(x,function(e){return t=>function(e,t){const n=He(e,t),o=qe.get(n);o&&o.generator.close()}(e,t.id)}(t)),o.register(F,function(e){return t=>{const n=Qe(e,t.providerId,t.id),o=Je.get(n);o&&o(t)}}(t)),o.register("2",function(e){return(t,n)=>{if(!t||!t.id)return he(new Error(JSON.stringify(t))),void he(de);if(Z(e,t.id))throw ae;t.identity=n,function(e,t){const n=et(e,t.identity);Ze.has(n)||Ze.set(n,[]),Ze.get(n).push(t.id),J(e,{...t,onUserInput:Xe(e,t),onResultDispatch:Ye(e,t)})}(e,t)}}(t)),o.register("3",function(e){return t=>{t?function(e,t){const n=Z(e,t);if(!n)return;const o=et(e,n.identity),r=Ze.get(o);if(r){const n=r.findIndex((e=>e===t));-1!==n&&(r.splice(n,1),Q(e,t))}}(e,t):he(de)}}(t)),o.register("4",function(e){return async()=>Me(e)}(t)),o.register("1",function(e){return async(t,...n)=>{if(!t)return he(de),{error:de.message};let o;if(t.id)o=He(e.namespacedTopic,t.id);else{const n=Ue(e,t);o=He(e.namespacedTopic,n.id),t.id=n.id,qe.set(o,{generator:n})}const r=qe.get(o);clearTimeout(r.timeout);const i=await r.generator.next();return r.timeout=function(e){return window.setTimeout((()=>{qe.delete(e)}),1e4)}(o),{...i,id:t.id,state:r.generator.state}}}(e)),o.register(M,function(e){return async(t,n)=>{if(!t||!t.providerId||!t.result)return void he(de);const o=Z(e,t.providerId);if(!o)throw ce;const{onResultDispatch:r}=o;return r?(t.result.dispatcherIdentity=n,r(t.result)):void 0}}(t)),o}async function it(e){const t=Ae(e);var n;n=e,Ie.delete(n),await t.destroy(),Y(e)}async function st(e){const t=("string"==typeof e?e:null==e?void 0:e.topic)||"all",n=ie(),o=G(n,t),r={topic:t,namespace:n,namespacedTopic:o};let i=_e(o);i||(i=await rt(r),function(e,t){Ie.set(e,t)}(o,i));const s=We.bind(null,o),c=ot.bind(null,o),a=H.bind(null,o),d=j.bind(null,o);return{getAllProviders:Me.bind(null,o),search:Ue.bind(null,r),register:xe.bind(null,o),deregister:De.bind(null,o),onSubscription:$e.bind(null,o),onDisconnect:nt.bind(null,o),onRegister:q.bind(null,o),onDeregister:V.bind(null,o),dispatch:Ge.bind(null,r),disconnect:it.bind(null,o),removeListener:e=>{s(e),c(e),a(e),d(e)}}}const{create:ct}=o,{subscribe:at}=n,dt={create:ct,subscribe:at,defaultTopic:"all"},ut=()=>{const e=window;e.search=dt,e.fin&&(e.fin.Search=dt)},ft=e=>{const t=()=>{ut(),window.removeEventListener(e,t)};return t};if("undefined"!=typeof window){ut();const e="load",t=ft(e);window.addEventListener(e,t);const n="DOMContentLoaded",o=ft(n);window.addEventListener(n,o)}h("api.common.search");const lt=new Map;let pt;async function gt(e){return await async function(){return pt||(pt=async function(){await async function(e){lt.set(e,await at({topic:e,uuid:m.Workspace}))}($)}()),pt}(),lt.get(e)}const wt=async e=>{if(!e.icon)throw new Error(`${e.id} provider needs to have icon property defined.`);return await _(),(await gt($)).register(e)},ht=async e=>(await _(),(await gt($)).deregister(e));async function vt(){return(await k()).dispatch(L.ShowHome,void 0)}async function yt(){return(await k()).dispatch(L.HideHome,void 0)}var mt,St,Rt;h("utils.layout"),function(e){e.TabCreated="tab-created",e.ContainerCreated="container-created",e.ContainerResized="container-resized"}(mt||(mt={})),new Map,(Rt=St||(St={})).LastLaunchedWorkspaceId="activeWorkspaceId",Rt.LastFocusedBrowserWindow="lastFocusedBrowserWindow",Rt.MachineName="machineName",Rt.NewTabPageLayout="NewTabPageLayout",Rt.NewTabPageSort="NewTabPageSort";const Pt=()=>async function(){return(await I()).dispatch(L.GetLegacyPages,void 0)}(),bt=()=>(async()=>(await I()).dispatch(L.GetLegacyWorkspaces,void 0))();var Ct,Ot,Et,Lt,Tt,It;let At;!function(e){e.Snapshot="snapshot",e.Manifest="manifest",e.View="view",e.External="external"}(Ct||(Ct={})),(It=Ot||(Ot={})).LandingPage="landingPage",It.AppGrid="appGrid",function(e){e.Suggestion="suggestion"}(Et||(Et={})),function(e){e.Contact="Contact",e.List="List",e.Plain="Plain",e.SimpleText="SimpleText"}(Lt||(Lt={})),function(e){e.MultiSelect="MultiSelect"}(Tt||(Tt={}));const _t=new Map,kt=e=>{if(!_t.has(e))throw new Error(`Storefront Provider with id ${e} is not registered`);return _t.get(e)},$t=e=>(At=(async e=>{const t=await k();if(_t.has(e.id))throw new Error(`Storefront provider with id ${e.id} already registered`);return _t.set(e.id,e),(e=>{e.isStorefrontActionsRegistered||(e.isStorefrontActionsRegistered=!0,e.register(L.GetStorefrontProviderApps,(e=>kt(e).getApps())),e.register(L.GetStorefrontProviderFooter,(e=>kt(e).getFooter())),e.register(L.GetStorefrontProviderLandingPage,(e=>kt(e).getLandingPage())),e.register(L.GetStorefrontProviderNavigation,(e=>kt(e).getNavigation())),e.register(L.LaunchStorefrontProviderApp,(({id:e,app:t})=>kt(e).launchApp(t))))})(t),t.dispatch(L.RegisterStorefrontProvider,e)})(e),At),Wt=async e=>(await At,_t.delete(e),(await k()).dispatch(L.DeregisterStorefrontProvider,e)),Bt=async()=>{await At,await _(),await(async()=>(await I()).dispatch(L.HideStorefront,void 0))()},Ft=async()=>{await At,await _(),await(async()=>(await I()).dispatch(L.ShowStorefront,null))()},Mt=a,xt=r,Dt=i;module.exports=t})();
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
package/package.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"@openfin/workspace","description":"An API for integrating with OpenFin Workspace.","author":"Brandon Waring <brandon.waring@openfin.co>","contributors":[],"main":"index.ts","version":"5.
|
|
1
|
+
{"name":"@openfin/workspace","description":"An API for integrating with OpenFin Workspace.","author":"Brandon Waring <brandon.waring@openfin.co>","contributors":[],"main":"index.ts","version":"5.4.0","scripts":{"deploy":"npm run deploy:npm && npm run deploy:docs","deploy:npm":"cd out && npm publish","deploy:docs":"aws s3 cp --recursive ./docs/ s3://cdn.openfin.co/workspace/api/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":"aws s3 cp --recursive ./docs/ s3://cdn.openfin.co/workspace/api/docs/next/","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","check":"node ../common/scripts/check-npm.js"},"keywords":["client api"],"license":"MIT","bugs":{"url":"https://github.com/openfin/workspace/issues"},"homepage":"https://github.com/openfin/workspace/search-api#readme"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
|
|
1
|
+
/// <reference types="openfin-adapter/fin" />
|
|
2
|
+
import type { Fin as BaseFin } from 'openfin-adapter';
|
|
2
3
|
import type { EntityType } from 'openfin-adapter/src/shapes/EntityType';
|
|
3
4
|
/**
|
|
4
5
|
* Create a topic.
|
|
@@ -32,7 +33,7 @@ export declare type Fin<T extends EntityType> = BaseFin<T> & {
|
|
|
32
33
|
/**
|
|
33
34
|
* An object that represents a unique OpenFin identity.
|
|
34
35
|
*/
|
|
35
|
-
export declare type Identity =
|
|
36
|
+
export declare type Identity = OpenFin.Identity;
|
|
36
37
|
/**
|
|
37
38
|
* A response to a search from a search provider.
|
|
38
39
|
*/
|