@elliemae/ssf-host 2.9.1 → 2.9.2

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.
Files changed (68) hide show
  1. package/dist/cjs/v1-guest-v2-host.html +5 -1
  2. package/dist/cjs/v2-host-v1-guest.html +3 -1
  3. package/dist/esm/v1-guest-v2-host.html +5 -1
  4. package/dist/esm/v2-host-v1-guest.html +3 -1
  5. package/dist/public/analytics-object-v1.js +3 -0
  6. package/dist/public/analytics-object-v1.js.br +0 -0
  7. package/dist/public/analytics-object-v1.js.gz +0 -0
  8. package/dist/public/analytics-object-v1.js.map +1 -0
  9. package/dist/public/analytics-object-v2.js +3 -0
  10. package/dist/public/analytics-object-v2.js.br +0 -0
  11. package/dist/public/analytics-object-v2.js.gz +0 -0
  12. package/dist/public/analytics-object-v2.js.map +1 -0
  13. package/dist/public/application-object-v1.js +3 -0
  14. package/dist/public/application-object-v1.js.br +0 -0
  15. package/dist/public/application-object-v1.js.gz +0 -0
  16. package/dist/public/application-object-v1.js.map +1 -0
  17. package/dist/public/application-object-v2.js +3 -0
  18. package/dist/public/application-object-v2.js.br +0 -0
  19. package/dist/public/application-object-v2.js.gz +0 -0
  20. package/dist/public/application-object-v2.js.map +1 -0
  21. package/dist/public/init.js +1 -1
  22. package/dist/public/init.js.br +0 -0
  23. package/dist/public/init.js.gz +0 -0
  24. package/dist/public/init.js.map +1 -1
  25. package/dist/public/loan-object.js +1 -1
  26. package/dist/public/loan-object.js.br +0 -0
  27. package/dist/public/loan-object.js.gz +0 -0
  28. package/dist/public/loan-object.js.map +1 -1
  29. package/dist/public/utils.js +1 -1
  30. package/dist/public/utils.js.br +0 -0
  31. package/dist/public/utils.js.gz +0 -0
  32. package/dist/public/utils.js.map +1 -1
  33. package/dist/public/v1-guest-v2-host.html +1 -1
  34. package/dist/public/v1-host.html +3 -1
  35. package/dist/public/v2-host-v1-guest.html +1 -1
  36. package/dist/types/tsconfig.tsbuildinfo +1 -1
  37. package/dist/umd/analytics-object-v1.js +3 -0
  38. package/dist/umd/analytics-object-v1.js.br +0 -0
  39. package/dist/umd/analytics-object-v1.js.gz +0 -0
  40. package/dist/umd/analytics-object-v1.js.map +1 -0
  41. package/dist/umd/analytics-object-v2.js +3 -0
  42. package/dist/umd/analytics-object-v2.js.br +0 -0
  43. package/dist/umd/analytics-object-v2.js.gz +0 -0
  44. package/dist/umd/analytics-object-v2.js.map +1 -0
  45. package/dist/umd/application-object-v1.js +3 -0
  46. package/dist/umd/application-object-v1.js.br +0 -0
  47. package/dist/umd/application-object-v1.js.gz +0 -0
  48. package/dist/umd/application-object-v1.js.map +1 -0
  49. package/dist/umd/application-object-v2.js +3 -0
  50. package/dist/umd/application-object-v2.js.br +0 -0
  51. package/dist/umd/application-object-v2.js.gz +0 -0
  52. package/dist/umd/application-object-v2.js.map +1 -0
  53. package/dist/umd/init.js +1 -1
  54. package/dist/umd/init.js.br +0 -0
  55. package/dist/umd/init.js.gz +0 -0
  56. package/dist/umd/init.js.map +1 -1
  57. package/dist/umd/loan-object.js +1 -1
  58. package/dist/umd/loan-object.js.br +0 -0
  59. package/dist/umd/loan-object.js.gz +0 -0
  60. package/dist/umd/loan-object.js.map +1 -1
  61. package/dist/umd/utils.js +1 -1
  62. package/dist/umd/utils.js.br +0 -0
  63. package/dist/umd/utils.js.gz +0 -0
  64. package/dist/umd/utils.js.map +1 -1
  65. package/dist/umd/v1-guest-v2-host.html +1 -1
  66. package/dist/umd/v1-host.html +3 -1
  67. package/dist/umd/v2-host-v1-guest.html +1 -1
  68. package/package.json +3 -3
@@ -33,8 +33,10 @@
33
33
  <div id="guest-container"></div>
34
34
  <script type="module">
35
35
  import { getGuestBaseUrl, getHost } from './utils.js';
36
+ import { Analytics } from './analytics-object-v2.js';
36
37
 
37
- const hostV2 = getHost();
38
+ const analyticsObj = new Analytics();
39
+ const hostV2 = getHost(analyticsObj);
38
40
 
39
41
  const loadV2Guest = async () => {
40
42
  const guestBaseUrl = await getGuestBaseUrl();
@@ -48,6 +50,7 @@
48
50
 
49
51
  window.addEventListener('load', async () => {
50
52
  await elli.script.connect();
53
+ const application = await elli.script.getObject('Application');
51
54
  const loan = await elli.script.getObject('Loan');
52
55
  const details = await loan.getLoanDetails();
53
56
  document.getElementById(
@@ -59,6 +62,7 @@
59
62
  ).innerText = `Presave event data: ${JSON.stringify(eventData)}`;
60
63
  return false;
61
64
  });
65
+ hostV2.addScriptingObject(hostV2.cloneScriptingObject(application, {}));
62
66
  hostV2.addScriptingObject(hostV2.cloneScriptingObject(loan, {}));
63
67
  await loadV2Guest();
64
68
  });
@@ -37,8 +37,10 @@
37
37
  <script type="module">
38
38
  import { Loan } from './loan-object.js';
39
39
  import { getGuestBaseUrl, getHost } from './utils.js';
40
+ import { Analytics } from './analytics-object-v2.js';
40
41
 
41
- const hostV2 = getHost();
42
+ const analyticsObj = new Analytics();
43
+ const hostV2 = getHost(analyticsObj);
42
44
  const loanObj = new Loan();
43
45
  hostV2.addScriptingObject(loanObj);
44
46
  const params = new URLSearchParams(document.location.search);
@@ -33,8 +33,10 @@
33
33
  <div id="guest-container"></div>
34
34
  <script type="module">
35
35
  import { getGuestBaseUrl, getHost } from './utils.js';
36
+ import { Analytics } from './analytics-object-v2.js';
36
37
 
37
- const hostV2 = getHost();
38
+ const analyticsObj = new Analytics();
39
+ const hostV2 = getHost(analyticsObj);
38
40
 
39
41
  const loadV2Guest = async () => {
40
42
  const guestBaseUrl = await getGuestBaseUrl();
@@ -48,6 +50,7 @@
48
50
 
49
51
  window.addEventListener('load', async () => {
50
52
  await elli.script.connect();
53
+ const application = await elli.script.getObject('Application');
51
54
  const loan = await elli.script.getObject('Loan');
52
55
  const details = await loan.getLoanDetails();
53
56
  document.getElementById(
@@ -59,6 +62,7 @@
59
62
  ).innerText = `Presave event data: ${JSON.stringify(eventData)}`;
60
63
  return false;
61
64
  });
65
+ hostV2.addScriptingObject(hostV2.cloneScriptingObject(application, {}));
62
66
  hostV2.addScriptingObject(hostV2.cloneScriptingObject(loan, {}));
63
67
  await loadV2Guest();
64
68
  });
@@ -37,8 +37,10 @@
37
37
  <script type="module">
38
38
  import { Loan } from './loan-object.js';
39
39
  import { getGuestBaseUrl, getHost } from './utils.js';
40
+ import { Analytics } from './analytics-object-v2.js';
40
41
 
41
- const hostV2 = getHost();
42
+ const analyticsObj = new Analytics();
43
+ const hostV2 = getHost(analyticsObj);
42
44
  const loanObj = new Loan();
43
45
  hostV2.addScriptingObject(loanObj);
44
46
  const params = new URLSearchParams(document.location.search);
@@ -0,0 +1,3 @@
1
+ export class Analytics extends elli.ssf.ScriptingObject{constructor(){super("Analytics")}sendBAEvent(e){return Promise.resolve()}startTiming(e,r){return Promise.resolve(performance.mark(e,{detail:r}))}endTiming(e,r){return performance.measure(e,{detail:r,start:e}),Promise.resolve()}}
2
+
3
+ //# sourceMappingURL=analytics-object-v1.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["webpack://ice.host/analytics-object-v1.js"],"sourcesContent":["export class Analytics extends elli.ssf.ScriptingObject {\n constructor() {\n super('Analytics');\n }\n\n sendBAEvent(event) {\n return Promise.resolve();\n }\n\n startTiming(name, options) {\n return Promise.resolve(performance.mark(name, { detail: options }));\n }\n\n endTiming(start, options) {\n performance.measure(start, {\n detail: options,\n start: start,\n });\n return Promise.resolve();\n }\n}\n"],"mappings":"AAAO,aAAM,kBAAkB,KAAK,IAAI,eAAgB,CACtD,aAAc,CACZ,MAAM,WAAW,CACnB,CAEA,YAAYA,EAAO,CACjB,OAAO,QAAQ,QAAQ,CACzB,CAEA,YAAYC,EAAMC,EAAS,CACzB,OAAO,QAAQ,QAAQ,YAAY,KAAKD,EAAM,CAAE,OAAQC,CAAQ,CAAC,CAAC,CACpE,CAEA,UAAUC,EAAOD,EAAS,CACxB,mBAAY,QAAQC,EAAO,CACzB,OAAQD,EACR,MAAOC,CACT,CAAC,EACM,QAAQ,QAAQ,CACzB,CACF","names":["event","name","options","start"],"sourceRoot":"","file":"analytics-object-v1.js"}
@@ -0,0 +1,3 @@
1
+ export class Analytics extends ice.host.ScriptingObject{constructor(){super("Analytics")}sendBAEvent(e){return Promise.resolve()}startTiming(e,r){return Promise.resolve(performance.mark(e,{detail:r}))}endTiming(e,r){return performance.measure(e,{detail:r,start:e}),Promise.resolve()}}
2
+
3
+ //# sourceMappingURL=analytics-object-v2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["webpack://ice.host/analytics-object-v2.js"],"sourcesContent":["export class Analytics extends ice.host.ScriptingObject {\n constructor() {\n super('Analytics');\n }\n\n sendBAEvent(event) {\n return Promise.resolve();\n }\n\n startTiming(name, options) {\n return Promise.resolve(performance.mark(name, { detail: options }));\n }\n\n endTiming(start, options) {\n performance.measure(start, {\n detail: options,\n start: start,\n });\n return Promise.resolve();\n }\n}\n"],"mappings":"AAAO,aAAM,kBAAkB,IAAI,KAAK,eAAgB,CACtD,aAAc,CACZ,MAAM,WAAW,CACnB,CAEA,YAAYA,EAAO,CACjB,OAAO,QAAQ,QAAQ,CACzB,CAEA,YAAYC,EAAMC,EAAS,CACzB,OAAO,QAAQ,QAAQ,YAAY,KAAKD,EAAM,CAAE,OAAQC,CAAQ,CAAC,CAAC,CACpE,CAEA,UAAUC,EAAOD,EAAS,CACxB,mBAAY,QAAQC,EAAO,CACzB,OAAQD,EACR,MAAOC,CACT,CAAC,EACM,QAAQ,QAAQ,CACzB,CACF","names":["event","name","options","start"],"sourceRoot":"","file":"analytics-object-v2.js"}
@@ -0,0 +1,3 @@
1
+ export class Application extends elli.ssf.ScriptingObject{constructor(){super("Application")}keepSessionAlive(){return Promise.resolve()}}
2
+
3
+ //# sourceMappingURL=application-object-v1.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["webpack://ice.host/application-object-v1.js"],"sourcesContent":["export class Application extends elli.ssf.ScriptingObject {\n constructor() {\n super('Application');\n }\n\n keepSessionAlive() {\n return Promise.resolve();\n }\n}\n"],"mappings":"AAAO,aAAM,oBAAoB,KAAK,IAAI,eAAgB,CACxD,aAAc,CACZ,MAAM,aAAa,CACrB,CAEA,kBAAmB,CACjB,OAAO,QAAQ,QAAQ,CACzB,CACF","names":[],"sourceRoot":"","file":"application-object-v1.js"}
@@ -0,0 +1,3 @@
1
+ export class Application extends ice.host.ScriptingObject{constructor(){super("Application")}keepSessionAlive(){return Promise.resolve()}}
2
+
3
+ //# sourceMappingURL=application-object-v2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["webpack://ice.host/application-object-v2.js"],"sourcesContent":["export class Application extends ice.host.ScriptingObject {\n constructor() {\n super('Application');\n }\n\n keepSessionAlive() {\n return Promise.resolve();\n }\n}\n"],"mappings":"AAAO,aAAM,oBAAoB,IAAI,KAAK,eAAgB,CACxD,aAAc,CACZ,MAAM,aAAa,CACrB,CAEA,kBAAmB,CACjB,OAAO,QAAQ,QAAQ,CACzB,CACF","names":[],"sourceRoot":"","file":"application-object-v2.js"}
@@ -1,3 +1,3 @@
1
- import{Loan as c}from"./loan-object.js";import{getGuestBaseUrl as o,getHost as a}from"./utils.js";let n=null,i=null;const r=async()=>{const e=await o();document.getElementById("credit").addEventListener("click",()=>{const{id:t}=n.loadGuest({id:"creditService",url:new URL("./creditService.html",e).href,title:"Credit Service Corp",searchParams:{src:new URL("./creditScoreService.js",e).href},targetElement:document.getElementById("bottom-container"),options:{fitToContent:!0}})})},d=async()=>{const e=await o(),t={};n.loadGuest({id:"pricingService",url:new URL("./pricingService.html",e).href,title:"Pricing Service Corp",params:t,targetElement:document.getElementById("aside-container"),options:{fitToContent:!0}})},l=async()=>{const e=await o(),t={};n.loadGuest({id:"loanValidation",url:new URL("./loanValidation.html",e).href,title:"Loan Validation Service Corp",params:t,targetElement:document.getElementById("bottom-container"),options:{fitToContent:!0}})},m=async()=>{const e=await o(),t={};n.loadGuest({id:"titleService",url:new URL("./titleService.html",e).href,title:"Title Service Corp",params:t,targetElement:document.getElementById("aside-container"),options:{openMode:ice.host.OpenMode.Popup}})},u=()=>{i=new c,n.addScriptingObject(i)},v=async()=>{const e=i.getLoanDetails();(await n.dispatchEvent({event:i.onPreSave,eventParams:e,eventOptions:{timeout:1e3}})).some(s=>s===!1)?document.getElementById("errorFeedback").classList.remove("hidden"):document.getElementById("successFeedback").classList.remove("hidden")},p=()=>{n=a(),u();const e=document.getElementById("saveLoan");e&&e.addEventListener("click",v),r(),d(),l(),document.getElementById("title")?.addEventListener?.("click",m)};window.addEventListener("DOMContentLoaded",p);
1
+ import{Loan as s}from"./loan-object.js";import{Analytics as a}from"./analytics-object-v2.js";import{Application as r}from"./application-object-v2.js";import{getGuestBaseUrl as o,getHost as d}from"./utils.js";let n=null,i=null;const l=async()=>{const e=await o();document.getElementById("credit").addEventListener("click",()=>{const{id:t}=n.loadGuest({id:"creditService",url:new URL("./creditService.html",e).href,title:"Credit Service Corp",searchParams:{src:new URL("./creditScoreService.js",e).href},targetElement:document.getElementById("bottom-container"),options:{fitToContent:!0}})})},m=async()=>{const e=await o(),t={};n.loadGuest({id:"pricingService",url:new URL("./pricingService.html",e).href,title:"Pricing Service Corp",params:t,targetElement:document.getElementById("aside-container"),options:{fitToContent:!0}})},u=async()=>{const e=await o(),t={};n.loadGuest({id:"loanValidation",url:new URL("./loanValidation.html",e).href,title:"Loan Validation Service Corp",params:t,targetElement:document.getElementById("bottom-container"),options:{fitToContent:!0}})},p=async()=>{const e=await o(),t={};n.loadGuest({id:"titleService",url:new URL("./titleService.html",e).href,title:"Title Service Corp",params:t,targetElement:document.getElementById("aside-container"),options:{openMode:ice.host.OpenMode.Popup}})},v=()=>{i=new s,n.addScriptingObject(i);const e=new r;n.addScriptingObject(e)},g=async()=>{const e=i.getLoanDetails();(await n.dispatchEvent({event:i.onPreSave,eventParams:e,eventOptions:{timeout:1e3}})).some(c=>c===!1)?document.getElementById("errorFeedback").classList.remove("hidden"):document.getElementById("successFeedback").classList.remove("hidden")},L=()=>{const e=new a;n=d(e),v();const t=document.getElementById("saveLoan");t&&t.addEventListener("click",g),l(),m(),u(),document.getElementById("title")?.addEventListener?.("click",p)};window.addEventListener("DOMContentLoaded",L);
2
2
 
3
3
  //# sourceMappingURL=init.js.map
Binary file
Binary file
@@ -1 +1 @@
1
- {"version":3,"sources":["webpack://ice.host/init.js"],"sourcesContent":["import { Loan } from './loan-object.js';\nimport { getGuestBaseUrl, getHost } from './utils.js';\n\nlet host = null;\nlet loanObj = null;\n\nconst setupCreditService = async () => {\n const baseUrl = await getGuestBaseUrl();\n document.getElementById('credit').addEventListener('click', () => {\n const { id } = host.loadGuest({\n id: 'creditService',\n url: new URL('./creditService.html', baseUrl).href,\n title: 'Credit Service Corp',\n searchParams: { src: new URL('./creditScoreService.js', baseUrl).href },\n targetElement: document.getElementById('bottom-container'),\n options: { fitToContent: true },\n });\n });\n};\n\nconst setupPricingService = async () => {\n const baseUrl = await getGuestBaseUrl();\n const params = {};\n host.loadGuest({\n id: 'pricingService',\n url: new URL('./pricingService.html', baseUrl).href,\n title: 'Pricing Service Corp',\n params,\n targetElement: document.getElementById('aside-container'),\n options: { fitToContent: true },\n });\n};\n\nconst setupLoanValidationService = async () => {\n const baseUrl = await getGuestBaseUrl();\n const params = {};\n host.loadGuest({\n id: 'loanValidation',\n url: new URL('./loanValidation.html', baseUrl).href,\n title: 'Loan Validation Service Corp',\n params,\n targetElement: document.getElementById('bottom-container'),\n options: { fitToContent: true },\n });\n};\n\nconst setupTitleService = async () => {\n const baseUrl = await getGuestBaseUrl();\n const params = {};\n host.loadGuest({\n id: 'titleService',\n url: new URL('./titleService.html', baseUrl).href,\n title: 'Title Service Corp',\n params,\n targetElement: document.getElementById('aside-container'),\n options: { openMode: ice.host.OpenMode.Popup },\n });\n};\n\nconst setupLoanObject = () => {\n loanObj = new Loan();\n host.addScriptingObject(loanObj);\n};\n\nconst saveLoan = async () => {\n const loanDetails = loanObj.getLoanDetails();\n const results = await host.dispatchEvent({\n event: loanObj.onPreSave,\n eventParams: loanDetails,\n eventOptions: {\n timeout: 1000,\n },\n });\n if (results.some((result) => result === false)) {\n const errorFeedback = document.getElementById('errorFeedback');\n errorFeedback.classList.remove('hidden');\n } else {\n const successFeedback = document.getElementById('successFeedback');\n successFeedback.classList.remove('hidden');\n }\n};\n\nconst init = () => {\n // elli.ssf.setLogLevel(0);\n host = getHost();\n setupLoanObject();\n const saveLoanButton = document.getElementById('saveLoan');\n if (saveLoanButton) saveLoanButton.addEventListener('click', saveLoan);\n setupCreditService();\n setupPricingService();\n setupLoanValidationService();\n document\n .getElementById('title')\n ?.addEventListener?.('click', setupTitleService);\n};\n\nwindow.addEventListener('DOMContentLoaded', init);\n"],"mappings":"AAAA,OAAS,QAAAA,MAAY,mBACrB,OAAS,mBAAAC,EAAiB,WAAAC,MAAe,aAEzC,IAAIC,EAAO,KACPC,EAAU,KAEd,MAAMC,EAAqB,SAAY,CACrC,MAAMC,EAAU,MAAML,EAAgB,EACtC,SAAS,eAAe,QAAQ,EAAE,iBAAiB,QAAS,IAAM,CAChE,KAAM,CAAE,GAAAM,CAAG,EAAIJ,EAAK,UAAU,CAC5B,GAAI,gBACJ,IAAK,IAAI,IAAI,uBAAwBG,CAAO,EAAE,KAC9C,MAAO,sBACP,aAAc,CAAE,IAAK,IAAI,IAAI,0BAA2BA,CAAO,EAAE,IAAK,EACtE,cAAe,SAAS,eAAe,kBAAkB,EACzD,QAAS,CAAE,aAAc,EAAK,CAChC,CAAC,CACH,CAAC,CACH,EAEME,EAAsB,SAAY,CACtC,MAAMF,EAAU,MAAML,EAAgB,EAChCQ,EAAS,CAAC,EAChBN,EAAK,UAAU,CACb,GAAI,iBACJ,IAAK,IAAI,IAAI,wBAAyBG,CAAO,EAAE,KAC/C,MAAO,uBACP,OAAAG,EACA,cAAe,SAAS,eAAe,iBAAiB,EACxD,QAAS,CAAE,aAAc,EAAK,CAChC,CAAC,CACH,EAEMC,EAA6B,SAAY,CAC7C,MAAMJ,EAAU,MAAML,EAAgB,EAChCQ,EAAS,CAAC,EAChBN,EAAK,UAAU,CACb,GAAI,iBACJ,IAAK,IAAI,IAAI,wBAAyBG,CAAO,EAAE,KAC/C,MAAO,+BACP,OAAAG,EACA,cAAe,SAAS,eAAe,kBAAkB,EACzD,QAAS,CAAE,aAAc,EAAK,CAChC,CAAC,CACH,EAEME,EAAoB,SAAY,CACpC,MAAML,EAAU,MAAML,EAAgB,EAChCQ,EAAS,CAAC,EAChBN,EAAK,UAAU,CACb,GAAI,eACJ,IAAK,IAAI,IAAI,sBAAuBG,CAAO,EAAE,KAC7C,MAAO,qBACP,OAAAG,EACA,cAAe,SAAS,eAAe,iBAAiB,EACxD,QAAS,CAAE,SAAU,IAAI,KAAK,SAAS,KAAM,CAC/C,CAAC,CACH,EAEMG,EAAkB,IAAM,CAC5BR,EAAU,IAAIJ,EACdG,EAAK,mBAAmBC,CAAO,CACjC,EAEMS,EAAW,SAAY,CAC3B,MAAMC,EAAcV,EAAQ,eAAe,GAC3B,MAAMD,EAAK,cAAc,CACvC,MAAOC,EAAQ,UACf,YAAaU,EACb,aAAc,CACZ,QAAS,GACX,CACF,CAAC,GACW,KAAMC,GAAWA,IAAW,EAAK,EACrB,SAAS,eAAe,eAAe,EAC/C,UAAU,OAAO,QAAQ,EAEf,SAAS,eAAe,iBAAiB,EACjD,UAAU,OAAO,QAAQ,CAE7C,EAEMC,EAAO,IAAM,CAEjBb,EAAOD,EAAQ,EACfU,EAAgB,EAChB,MAAMK,EAAiB,SAAS,eAAe,UAAU,EACrDA,GAAgBA,EAAe,iBAAiB,QAASJ,CAAQ,EACrER,EAAmB,EACnBG,EAAoB,EACpBE,EAA2B,EAC3B,SACG,eAAe,OAAO,GACrB,mBAAmB,QAASC,CAAiB,CACnD,EAEA,OAAO,iBAAiB,mBAAoBK,CAAI","names":["Loan","getGuestBaseUrl","getHost","host","loanObj","setupCreditService","baseUrl","id","setupPricingService","params","setupLoanValidationService","setupTitleService","setupLoanObject","saveLoan","loanDetails","result","init","saveLoanButton"],"sourceRoot":"","file":"init.js"}
1
+ {"version":3,"sources":["webpack://ice.host/init.js"],"sourcesContent":["import { Loan } from './loan-object.js';\nimport { Analytics } from './analytics-object-v2.js';\nimport { Application } from './application-object-v2.js';\nimport { getGuestBaseUrl, getHost } from './utils.js';\n\nlet host = null;\nlet loanObj = null;\n\nconst setupCreditService = async () => {\n const baseUrl = await getGuestBaseUrl();\n document.getElementById('credit').addEventListener('click', () => {\n const { id } = host.loadGuest({\n id: 'creditService',\n url: new URL('./creditService.html', baseUrl).href,\n title: 'Credit Service Corp',\n searchParams: { src: new URL('./creditScoreService.js', baseUrl).href },\n targetElement: document.getElementById('bottom-container'),\n options: { fitToContent: true },\n });\n });\n};\n\nconst setupPricingService = async () => {\n const baseUrl = await getGuestBaseUrl();\n const params = {};\n host.loadGuest({\n id: 'pricingService',\n url: new URL('./pricingService.html', baseUrl).href,\n title: 'Pricing Service Corp',\n params,\n targetElement: document.getElementById('aside-container'),\n options: { fitToContent: true },\n });\n};\n\nconst setupLoanValidationService = async () => {\n const baseUrl = await getGuestBaseUrl();\n const params = {};\n host.loadGuest({\n id: 'loanValidation',\n url: new URL('./loanValidation.html', baseUrl).href,\n title: 'Loan Validation Service Corp',\n params,\n targetElement: document.getElementById('bottom-container'),\n options: { fitToContent: true },\n });\n};\n\nconst setupTitleService = async () => {\n const baseUrl = await getGuestBaseUrl();\n const params = {};\n host.loadGuest({\n id: 'titleService',\n url: new URL('./titleService.html', baseUrl).href,\n title: 'Title Service Corp',\n params,\n targetElement: document.getElementById('aside-container'),\n options: { openMode: ice.host.OpenMode.Popup },\n });\n};\n\nconst setupObjects = () => {\n loanObj = new Loan();\n host.addScriptingObject(loanObj);\n const appObj = new Application();\n host.addScriptingObject(appObj);\n};\n\nconst saveLoan = async () => {\n const loanDetails = loanObj.getLoanDetails();\n const results = await host.dispatchEvent({\n event: loanObj.onPreSave,\n eventParams: loanDetails,\n eventOptions: {\n timeout: 1000,\n },\n });\n if (results.some((result) => result === false)) {\n const errorFeedback = document.getElementById('errorFeedback');\n errorFeedback.classList.remove('hidden');\n } else {\n const successFeedback = document.getElementById('successFeedback');\n successFeedback.classList.remove('hidden');\n }\n};\n\nconst init = () => {\n // elli.ssf.setLogLevel(0);\n const analyticsObj = new Analytics();\n host = getHost(analyticsObj);\n setupObjects();\n const saveLoanButton = document.getElementById('saveLoan');\n if (saveLoanButton) saveLoanButton.addEventListener('click', saveLoan);\n setupCreditService();\n setupPricingService();\n setupLoanValidationService();\n document\n .getElementById('title')\n ?.addEventListener?.('click', setupTitleService);\n};\n\nwindow.addEventListener('DOMContentLoaded', init);\n"],"mappings":"AAAA,OAAS,QAAAA,MAAY,mBACrB,OAAS,aAAAC,MAAiB,2BAC1B,OAAS,eAAAC,MAAmB,6BAC5B,OAAS,mBAAAC,EAAiB,WAAAC,MAAe,aAEzC,IAAIC,EAAO,KACPC,EAAU,KAEd,MAAMC,EAAqB,SAAY,CACrC,MAAMC,EAAU,MAAML,EAAgB,EACtC,SAAS,eAAe,QAAQ,EAAE,iBAAiB,QAAS,IAAM,CAChE,KAAM,CAAE,GAAAM,CAAG,EAAIJ,EAAK,UAAU,CAC5B,GAAI,gBACJ,IAAK,IAAI,IAAI,uBAAwBG,CAAO,EAAE,KAC9C,MAAO,sBACP,aAAc,CAAE,IAAK,IAAI,IAAI,0BAA2BA,CAAO,EAAE,IAAK,EACtE,cAAe,SAAS,eAAe,kBAAkB,EACzD,QAAS,CAAE,aAAc,EAAK,CAChC,CAAC,CACH,CAAC,CACH,EAEME,EAAsB,SAAY,CACtC,MAAMF,EAAU,MAAML,EAAgB,EAChCQ,EAAS,CAAC,EAChBN,EAAK,UAAU,CACb,GAAI,iBACJ,IAAK,IAAI,IAAI,wBAAyBG,CAAO,EAAE,KAC/C,MAAO,uBACP,OAAAG,EACA,cAAe,SAAS,eAAe,iBAAiB,EACxD,QAAS,CAAE,aAAc,EAAK,CAChC,CAAC,CACH,EAEMC,EAA6B,SAAY,CAC7C,MAAMJ,EAAU,MAAML,EAAgB,EAChCQ,EAAS,CAAC,EAChBN,EAAK,UAAU,CACb,GAAI,iBACJ,IAAK,IAAI,IAAI,wBAAyBG,CAAO,EAAE,KAC/C,MAAO,+BACP,OAAAG,EACA,cAAe,SAAS,eAAe,kBAAkB,EACzD,QAAS,CAAE,aAAc,EAAK,CAChC,CAAC,CACH,EAEME,EAAoB,SAAY,CACpC,MAAML,EAAU,MAAML,EAAgB,EAChCQ,EAAS,CAAC,EAChBN,EAAK,UAAU,CACb,GAAI,eACJ,IAAK,IAAI,IAAI,sBAAuBG,CAAO,EAAE,KAC7C,MAAO,qBACP,OAAAG,EACA,cAAe,SAAS,eAAe,iBAAiB,EACxD,QAAS,CAAE,SAAU,IAAI,KAAK,SAAS,KAAM,CAC/C,CAAC,CACH,EAEMG,EAAe,IAAM,CACzBR,EAAU,IAAIN,EACdK,EAAK,mBAAmBC,CAAO,EAC/B,MAAMS,EAAS,IAAIb,EACnBG,EAAK,mBAAmBU,CAAM,CAChC,EAEMC,EAAW,SAAY,CAC3B,MAAMC,EAAcX,EAAQ,eAAe,GAC3B,MAAMD,EAAK,cAAc,CACvC,MAAOC,EAAQ,UACf,YAAaW,EACb,aAAc,CACZ,QAAS,GACX,CACF,CAAC,GACW,KAAMC,GAAWA,IAAW,EAAK,EACrB,SAAS,eAAe,eAAe,EAC/C,UAAU,OAAO,QAAQ,EAEf,SAAS,eAAe,iBAAiB,EACjD,UAAU,OAAO,QAAQ,CAE7C,EAEMC,EAAO,IAAM,CAEjB,MAAMC,EAAe,IAAInB,EACzBI,EAAOD,EAAQgB,CAAY,EAC3BN,EAAa,EACb,MAAMO,EAAiB,SAAS,eAAe,UAAU,EACrDA,GAAgBA,EAAe,iBAAiB,QAASL,CAAQ,EACrET,EAAmB,EACnBG,EAAoB,EACpBE,EAA2B,EAC3B,SACG,eAAe,OAAO,GACrB,mBAAmB,QAASC,CAAiB,CACnD,EAEA,OAAO,iBAAiB,mBAAoBM,CAAI","names":["Loan","Analytics","Application","getGuestBaseUrl","getHost","host","loanObj","setupCreditService","baseUrl","id","setupPricingService","params","setupLoanValidationService","setupTitleService","setupObjects","appObj","saveLoan","loanDetails","result","init","analyticsObj","saveLoanButton"],"sourceRoot":"","file":"init.js"}
@@ -1,3 +1,3 @@
1
- import{getHost as r}from"./utils.js";const t=o=>document.getElementById(o),s=r();class i extends ice.host.ScriptingObject{constructor(){super("Loan"),this.loanId="ABC123",this.creditScore=0,this.serviceOrderStatus={title:!1,credit:!1},this.onSaved=new ice.host.Event({name:"onSaved",requiresFeedback:!1,so:this}),this.onPreSave=new ice.host.Event({name:"onPreSave",requiresFeedback:!0,so:this}),this.onLoanAmountChanged=new ice.host.Event({name:"onLoanAmountChanged",requiresFeedback:!1,so:this}),this.onLoanTermChanged=new ice.host.Event({name:"onLoanTermChanged",requiresFeedback:!1,so:this}),this.onDownPaymentChanged=new ice.host.Event({name:"onDownPaymentChanged",requiresFeedback:!1,so:this}),t("amount")?.addEventListener?.("blur",e=>{s.dispatchEvent({event:this.onLoanAmountChanged,eventParams:{amount:e.target.value}})}),t("term")?.addEventListener?.("blur",e=>{s.dispatchEvent({event:this.onLoanTermChanged,eventParams:{term:e.target.value}})}),t("downPayment")?.addEventListener?.("blur",e=>{s.dispatchEvent({event:this.onDownPaymentChanged,eventParams:{downPayment:e.target.value}})})}getLoanDetails=()=>({id:this.loanId,firstName:t("firstName")?.value,lastName:t("lastName")?.value,ssn:t("ssn")?.value,amount:t("amount")?.value,term:t("term")?.value,downPayment:t("downPayment")?.value,creditScore:this.creditScore});setCreditScore=e=>{this.serviceOrderStatus.credit=!0,this.creditScore=e;const n=document.getElementById("credit");n&&(n.disabled=!0,n.textContent=`${n.textContent} : ${e}`)};setServiceOrderStatus=(e,n)=>{this.serviceOrderStatus[e]=n;const a=document.getElementById(e);a&&(a.disabled=n,a.textContent=`${a.textContent} : Done`)};saveLoan=async()=>{s.dispatchEvent({event:this.onSaved,eventParams:{id:this.loanId}})}}export{i as Loan};
1
+ import{getHost as r}from"./utils.js";import{Analytics as i}from"./analytics-object-v2.js";const t=o=>document.getElementById(o),s=r(new i);class d extends ice.host.ScriptingObject{constructor(){super("Loan"),this.loanId="ABC123",this.creditScore=0,this.serviceOrderStatus={title:!1,credit:!1},this.onSaved=new ice.host.Event({name:"onSaved",requiresFeedback:!1,so:this}),this.onPreSave=new ice.host.Event({name:"onPreSave",requiresFeedback:!0,so:this}),this.onLoanAmountChanged=new ice.host.Event({name:"onLoanAmountChanged",requiresFeedback:!1,so:this}),this.onLoanTermChanged=new ice.host.Event({name:"onLoanTermChanged",requiresFeedback:!1,so:this}),this.onDownPaymentChanged=new ice.host.Event({name:"onDownPaymentChanged",requiresFeedback:!1,so:this}),t("amount")?.addEventListener?.("blur",e=>{s.dispatchEvent({event:this.onLoanAmountChanged,eventParams:{amount:e.target.value}})}),t("term")?.addEventListener?.("blur",e=>{s.dispatchEvent({event:this.onLoanTermChanged,eventParams:{term:e.target.value}})}),t("downPayment")?.addEventListener?.("blur",e=>{s.dispatchEvent({event:this.onDownPaymentChanged,eventParams:{downPayment:e.target.value}})})}getLoanDetails=()=>({id:this.loanId,firstName:t("firstName")?.value,lastName:t("lastName")?.value,ssn:t("ssn")?.value,amount:t("amount")?.value,term:t("term")?.value,downPayment:t("downPayment")?.value,creditScore:this.creditScore});setCreditScore=e=>{this.serviceOrderStatus.credit=!0,this.creditScore=e;const n=document.getElementById("credit");n&&(n.disabled=!0,n.textContent=`${n.textContent} : ${e}`)};setServiceOrderStatus=(e,n)=>{this.serviceOrderStatus[e]=n;const a=document.getElementById(e);a&&(a.disabled=n,a.textContent=`${a.textContent} : Done`)};saveLoan=async()=>{s.dispatchEvent({event:this.onSaved,eventParams:{id:this.loanId}})}}export{d as Loan};
2
2
 
3
3
  //# sourceMappingURL=loan-object.js.map
Binary file
Binary file
@@ -1 +1 @@
1
- {"version":3,"sources":["webpack://ice.host/loan-object.js"],"sourcesContent":["import { getHost } from './utils.js';\n\nconst getLoanField = (name) => document.getElementById(name);\n\nconst host = getHost();\n\nclass Loan extends ice.host.ScriptingObject {\n constructor() {\n super('Loan');\n this.loanId = 'ABC123';\n this.creditScore = 0;\n this.serviceOrderStatus = {\n title: false,\n credit: false,\n };\n this.onSaved = new ice.host.Event({\n name: 'onSaved',\n requiresFeedback: false,\n so: this,\n });\n this.onPreSave = new ice.host.Event({\n name: 'onPreSave',\n requiresFeedback: true,\n so: this,\n });\n this.onLoanAmountChanged = new ice.host.Event({\n name: 'onLoanAmountChanged',\n requiresFeedback: false,\n so: this,\n });\n this.onLoanTermChanged = new ice.host.Event({\n name: 'onLoanTermChanged',\n requiresFeedback: false,\n so: this,\n });\n this.onDownPaymentChanged = new ice.host.Event({\n name: 'onDownPaymentChanged',\n requiresFeedback: false,\n so: this,\n });\n\n getLoanField('amount')?.addEventListener?.('blur', (e) => {\n host.dispatchEvent({\n event: this.onLoanAmountChanged,\n eventParams: {\n amount: e.target.value,\n },\n });\n });\n\n getLoanField('term')?.addEventListener?.('blur', (e) => {\n host.dispatchEvent({\n event: this.onLoanTermChanged,\n eventParams: { term: e.target.value },\n });\n });\n\n getLoanField('downPayment')?.addEventListener?.('blur', (e) => {\n host.dispatchEvent({\n event: this.onDownPaymentChanged,\n eventParams: {\n downPayment: e.target.value,\n },\n });\n });\n }\n\n getLoanDetails = () => ({\n id: this.loanId,\n firstName: getLoanField('firstName')?.value,\n lastName: getLoanField('lastName')?.value,\n ssn: getLoanField('ssn')?.value,\n amount: getLoanField('amount')?.value,\n term: getLoanField('term')?.value,\n downPayment: getLoanField('downPayment')?.value,\n creditScore: this.creditScore,\n });\n\n setCreditScore = (creditScore) => {\n this.serviceOrderStatus.credit = true;\n this.creditScore = creditScore;\n const creditBtn = document.getElementById('credit');\n if (creditBtn) {\n creditBtn.disabled = true;\n creditBtn.textContent = `${creditBtn.textContent} : ${creditScore}`;\n }\n };\n\n setServiceOrderStatus = (service, completed) => {\n this.serviceOrderStatus[service] = completed;\n const btn = document.getElementById(service);\n if (btn) {\n btn.disabled = completed;\n btn.textContent = `${btn.textContent} : Done`;\n }\n };\n\n saveLoan = async () => {\n host.dispatchEvent({\n event: this.onSaved,\n eventParams: { id: this.loanId },\n });\n };\n}\n\nexport { Loan };\n"],"mappings":"AAAA,OAAS,WAAAA,MAAe,aAExB,MAAMC,EAAgBC,GAAS,SAAS,eAAeA,CAAI,EAErDC,EAAOH,EAAQ,EAErB,MAAMI,UAAa,IAAI,KAAK,eAAgB,CAC1C,aAAc,CACZ,MAAM,MAAM,EACZ,KAAK,OAAS,SACd,KAAK,YAAc,EACnB,KAAK,mBAAqB,CACxB,MAAO,GACP,OAAQ,EACV,EACA,KAAK,QAAU,IAAI,IAAI,KAAK,MAAM,CAChC,KAAM,UACN,iBAAkB,GAClB,GAAI,IACN,CAAC,EACD,KAAK,UAAY,IAAI,IAAI,KAAK,MAAM,CAClC,KAAM,YACN,iBAAkB,GAClB,GAAI,IACN,CAAC,EACD,KAAK,oBAAsB,IAAI,IAAI,KAAK,MAAM,CAC5C,KAAM,sBACN,iBAAkB,GAClB,GAAI,IACN,CAAC,EACD,KAAK,kBAAoB,IAAI,IAAI,KAAK,MAAM,CAC1C,KAAM,oBACN,iBAAkB,GAClB,GAAI,IACN,CAAC,EACD,KAAK,qBAAuB,IAAI,IAAI,KAAK,MAAM,CAC7C,KAAM,uBACN,iBAAkB,GAClB,GAAI,IACN,CAAC,EAEDH,EAAa,QAAQ,GAAG,mBAAmB,OAAS,GAAM,CACxDE,EAAK,cAAc,CACjB,MAAO,KAAK,oBACZ,YAAa,CACX,OAAQ,EAAE,OAAO,KACnB,CACF,CAAC,CACH,CAAC,EAEDF,EAAa,MAAM,GAAG,mBAAmB,OAAS,GAAM,CACtDE,EAAK,cAAc,CACjB,MAAO,KAAK,kBACZ,YAAa,CAAE,KAAM,EAAE,OAAO,KAAM,CACtC,CAAC,CACH,CAAC,EAEDF,EAAa,aAAa,GAAG,mBAAmB,OAAS,GAAM,CAC7DE,EAAK,cAAc,CACjB,MAAO,KAAK,qBACZ,YAAa,CACX,YAAa,EAAE,OAAO,KACxB,CACF,CAAC,CACH,CAAC,CACH,CAEA,eAAiB,KAAO,CACtB,GAAI,KAAK,OACT,UAAWF,EAAa,WAAW,GAAG,MACtC,SAAUA,EAAa,UAAU,GAAG,MACpC,IAAKA,EAAa,KAAK,GAAG,MAC1B,OAAQA,EAAa,QAAQ,GAAG,MAChC,KAAMA,EAAa,MAAM,GAAG,MAC5B,YAAaA,EAAa,aAAa,GAAG,MAC1C,YAAa,KAAK,WACpB,GAEA,eAAkBI,GAAgB,CAChC,KAAK,mBAAmB,OAAS,GACjC,KAAK,YAAcA,EACnB,MAAMC,EAAY,SAAS,eAAe,QAAQ,EAC9CA,IACFA,EAAU,SAAW,GACrBA,EAAU,YAAc,GAAGA,EAAU,WAAW,MAAMD,CAAW,GAErE,EAEA,sBAAwB,CAACE,EAASC,IAAc,CAC9C,KAAK,mBAAmBD,CAAO,EAAIC,EACnC,MAAMC,EAAM,SAAS,eAAeF,CAAO,EACvCE,IACFA,EAAI,SAAWD,EACfC,EAAI,YAAc,GAAGA,EAAI,WAAW,UAExC,EAEA,SAAW,SAAY,CACrBN,EAAK,cAAc,CACjB,MAAO,KAAK,QACZ,YAAa,CAAE,GAAI,KAAK,MAAO,CACjC,CAAC,CACH,CACF,CAEA,OAASC,KAAA","names":["getHost","getLoanField","name","host","Loan","creditScore","creditBtn","service","completed","btn"],"sourceRoot":"","file":"loan-object.js"}
1
+ {"version":3,"sources":["webpack://ice.host/loan-object.js"],"sourcesContent":["import { getHost } from './utils.js';\nimport { Analytics } from './analytics-object-v2.js';\n\nconst getLoanField = (name) => document.getElementById(name);\n\nconst host = getHost(new Analytics());\n\nclass Loan extends ice.host.ScriptingObject {\n constructor() {\n super('Loan');\n this.loanId = 'ABC123';\n this.creditScore = 0;\n this.serviceOrderStatus = {\n title: false,\n credit: false,\n };\n this.onSaved = new ice.host.Event({\n name: 'onSaved',\n requiresFeedback: false,\n so: this,\n });\n this.onPreSave = new ice.host.Event({\n name: 'onPreSave',\n requiresFeedback: true,\n so: this,\n });\n this.onLoanAmountChanged = new ice.host.Event({\n name: 'onLoanAmountChanged',\n requiresFeedback: false,\n so: this,\n });\n this.onLoanTermChanged = new ice.host.Event({\n name: 'onLoanTermChanged',\n requiresFeedback: false,\n so: this,\n });\n this.onDownPaymentChanged = new ice.host.Event({\n name: 'onDownPaymentChanged',\n requiresFeedback: false,\n so: this,\n });\n\n getLoanField('amount')?.addEventListener?.('blur', (e) => {\n host.dispatchEvent({\n event: this.onLoanAmountChanged,\n eventParams: {\n amount: e.target.value,\n },\n });\n });\n\n getLoanField('term')?.addEventListener?.('blur', (e) => {\n host.dispatchEvent({\n event: this.onLoanTermChanged,\n eventParams: { term: e.target.value },\n });\n });\n\n getLoanField('downPayment')?.addEventListener?.('blur', (e) => {\n host.dispatchEvent({\n event: this.onDownPaymentChanged,\n eventParams: {\n downPayment: e.target.value,\n },\n });\n });\n }\n\n getLoanDetails = () => ({\n id: this.loanId,\n firstName: getLoanField('firstName')?.value,\n lastName: getLoanField('lastName')?.value,\n ssn: getLoanField('ssn')?.value,\n amount: getLoanField('amount')?.value,\n term: getLoanField('term')?.value,\n downPayment: getLoanField('downPayment')?.value,\n creditScore: this.creditScore,\n });\n\n setCreditScore = (creditScore) => {\n this.serviceOrderStatus.credit = true;\n this.creditScore = creditScore;\n const creditBtn = document.getElementById('credit');\n if (creditBtn) {\n creditBtn.disabled = true;\n creditBtn.textContent = `${creditBtn.textContent} : ${creditScore}`;\n }\n };\n\n setServiceOrderStatus = (service, completed) => {\n this.serviceOrderStatus[service] = completed;\n const btn = document.getElementById(service);\n if (btn) {\n btn.disabled = completed;\n btn.textContent = `${btn.textContent} : Done`;\n }\n };\n\n saveLoan = async () => {\n host.dispatchEvent({\n event: this.onSaved,\n eventParams: { id: this.loanId },\n });\n };\n}\n\nexport { Loan };\n"],"mappings":"AAAA,OAAS,WAAAA,MAAe,aACxB,OAAS,aAAAC,MAAiB,2BAE1B,MAAMC,EAAgBC,GAAS,SAAS,eAAeA,CAAI,EAErDC,EAAOJ,EAAQ,IAAIC,CAAW,EAEpC,MAAMI,UAAa,IAAI,KAAK,eAAgB,CAC1C,aAAc,CACZ,MAAM,MAAM,EACZ,KAAK,OAAS,SACd,KAAK,YAAc,EACnB,KAAK,mBAAqB,CACxB,MAAO,GACP,OAAQ,EACV,EACA,KAAK,QAAU,IAAI,IAAI,KAAK,MAAM,CAChC,KAAM,UACN,iBAAkB,GAClB,GAAI,IACN,CAAC,EACD,KAAK,UAAY,IAAI,IAAI,KAAK,MAAM,CAClC,KAAM,YACN,iBAAkB,GAClB,GAAI,IACN,CAAC,EACD,KAAK,oBAAsB,IAAI,IAAI,KAAK,MAAM,CAC5C,KAAM,sBACN,iBAAkB,GAClB,GAAI,IACN,CAAC,EACD,KAAK,kBAAoB,IAAI,IAAI,KAAK,MAAM,CAC1C,KAAM,oBACN,iBAAkB,GAClB,GAAI,IACN,CAAC,EACD,KAAK,qBAAuB,IAAI,IAAI,KAAK,MAAM,CAC7C,KAAM,uBACN,iBAAkB,GAClB,GAAI,IACN,CAAC,EAEDH,EAAa,QAAQ,GAAG,mBAAmB,OAAS,GAAM,CACxDE,EAAK,cAAc,CACjB,MAAO,KAAK,oBACZ,YAAa,CACX,OAAQ,EAAE,OAAO,KACnB,CACF,CAAC,CACH,CAAC,EAEDF,EAAa,MAAM,GAAG,mBAAmB,OAAS,GAAM,CACtDE,EAAK,cAAc,CACjB,MAAO,KAAK,kBACZ,YAAa,CAAE,KAAM,EAAE,OAAO,KAAM,CACtC,CAAC,CACH,CAAC,EAEDF,EAAa,aAAa,GAAG,mBAAmB,OAAS,GAAM,CAC7DE,EAAK,cAAc,CACjB,MAAO,KAAK,qBACZ,YAAa,CACX,YAAa,EAAE,OAAO,KACxB,CACF,CAAC,CACH,CAAC,CACH,CAEA,eAAiB,KAAO,CACtB,GAAI,KAAK,OACT,UAAWF,EAAa,WAAW,GAAG,MACtC,SAAUA,EAAa,UAAU,GAAG,MACpC,IAAKA,EAAa,KAAK,GAAG,MAC1B,OAAQA,EAAa,QAAQ,GAAG,MAChC,KAAMA,EAAa,MAAM,GAAG,MAC5B,YAAaA,EAAa,aAAa,GAAG,MAC1C,YAAa,KAAK,WACpB,GAEA,eAAkBI,GAAgB,CAChC,KAAK,mBAAmB,OAAS,GACjC,KAAK,YAAcA,EACnB,MAAMC,EAAY,SAAS,eAAe,QAAQ,EAC9CA,IACFA,EAAU,SAAW,GACrBA,EAAU,YAAc,GAAGA,EAAU,WAAW,MAAMD,CAAW,GAErE,EAEA,sBAAwB,CAACE,EAASC,IAAc,CAC9C,KAAK,mBAAmBD,CAAO,EAAIC,EACnC,MAAMC,EAAM,SAAS,eAAeF,CAAO,EACvCE,IACFA,EAAI,SAAWD,EACfC,EAAI,YAAc,GAAGA,EAAI,WAAW,UAExC,EAEA,SAAW,SAAY,CACrBN,EAAK,cAAc,CACjB,MAAO,KAAK,QACZ,YAAa,CAAE,GAAI,KAAK,MAAO,CACjC,CAAC,CACH,CACF,CAEA,OAASC,KAAA","names":["getHost","Analytics","getLoanField","name","host","Loan","creditScore","creditBtn","service","completed","btn"],"sourceRoot":"","file":"loan-object.js"}
@@ -1,3 +1,3 @@
1
- let n=null,r=null;class a extends ice.host.ScriptingObject{constructor(){super("Analytics")}sendBAEvent(e){return Promise.resolve()}startTiming(e,t){return Promise.resolve(performance.mark(e,{detail:t}))}endTiming(e,t){return performance.measure(e,{detail:t,start:e}),Promise.resolve()}}const c=()=>{try{new PerformanceObserver(e=>{for(const t of e.getEntries())switch(t.entryType){case"measure":{const s=t.detail??{},i={name:t.name,duration:t.duration,startTime:new Date(performance.timeOrigin+t.startTime).toISOString(),...s};break}default:break}}).observe({type:"measure",buffered:!0})}catch{}},l=()=>{const{logger:o,http:e,webvitals:t,logUnhandledErrors:s,Console:i}=window.emuiDiagnostics||{};o&&(window.logger=o({transport:e("https://int.api.ellielabs.com/diagnostics/v2/logging"),index:"ssfhost",team:"ui platform",appName:"SSF Host Demo"}),t(window.logger),s(window.logger),window.logger.info("SSF Host launched"))};export const getHost=()=>{if(r)return r;l(),c();const o={logger:window.logger,readyStateCallback:e=>{},analyticsObj:new a};return r=ice?.host?.SSFHost?new ice.host.SSFHost("IMTProduct",o):null,r},getGuestBaseUrl=async()=>(n||(n=await(await fetch("./app.config.json")).json()),{...n?.options,...n[n.activeEnv]?.options}?.guestUrl);
1
+ let n=null,s=null;const a=()=>{try{new PerformanceObserver(o=>{for(const e of o.getEntries())switch(e.entryType){case"measure":{const r=e.detail??{},i={name:e.name,duration:e.duration,startTime:new Date(performance.timeOrigin+e.startTime).toISOString(),...r};break}default:break}}).observe({type:"measure",buffered:!0})}catch{}},g=()=>{const{logger:t,http:o,webvitals:e,logUnhandledErrors:r,Console:i}=window.emuiDiagnostics||{};t&&(window.logger=t({transport:o("https://int.api.ellielabs.com/diagnostics/v2/logging"),index:"ssfhost",team:"ui platform",appName:"SSF Host Demo"}),e(window.logger),r(window.logger),window.logger.info("SSF Host launched"))};export const getHost=t=>{if(s)return s;g(),a();const o={logger:window.logger,readyStateCallback:e=>{},analyticsObj:t};return s=ice?.host?.SSFHost?new ice.host.SSFHost("IMTProduct",o):null,s},getGuestBaseUrl=async()=>(n||(n=await(await fetch("./app.config.json")).json()),{...n?.options,...n[n.activeEnv]?.options}?.guestUrl);
2
2
 
3
3
  //# sourceMappingURL=utils.js.map
Binary file
Binary file
@@ -1 +1 @@
1
- {"version":3,"sources":["webpack://ice.host/utils.js"],"sourcesContent":["let appConfig = null;\nlet host = null;\n\nclass Analytics extends ice.host.ScriptingObject {\n constructor() {\n super('Analytics');\n }\n\n sendBAEvent(event) {\n return Promise.resolve();\n }\n\n startTiming(name, options) {\n return Promise.resolve(performance.mark(name, { detail: options }));\n }\n\n endTiming(start, options) {\n performance.measure(start, {\n detail: options,\n start: start,\n });\n return Promise.resolve();\n }\n}\n\nconst monitorPerformance = () => {\n try {\n const po = new PerformanceObserver((list) => {\n // eslint-disable-next-line no-restricted-syntax\n for (const entry of list.getEntries()) {\n switch (entry.entryType) {\n case 'measure': {\n const detail = entry.detail ?? {};\n const data = {\n name: entry.name,\n duration: entry.duration,\n startTime: new Date(\n performance.timeOrigin + entry.startTime,\n ).toISOString(),\n ...detail,\n };\n console.log('timing', data);\n break;\n }\n default:\n break;\n }\n }\n });\n po.observe({ type: 'measure', buffered: true });\n } catch (e) {}\n};\n\nconst createLogger = () => {\n const { logger, http, webvitals, logUnhandledErrors, Console } =\n window.emuiDiagnostics || {};\n if (logger) {\n window.logger = logger({\n transport: http('https://int.api.ellielabs.com/diagnostics/v2/logging'),\n // transport: Console(),\n index: 'ssfhost',\n team: 'ui platform',\n appName: 'SSF Host Demo',\n });\n\n webvitals(window.logger);\n logUnhandledErrors(window.logger);\n window.logger.info('SSF Host launched');\n } else console.warn('ui logger missing'); // eslint-disable-line no-console\n};\n\nexport const getHost = () => {\n if (host) return host;\n createLogger();\n monitorPerformance();\n const hostOptions = {\n logger: window.logger,\n readyStateCallback: (guest) => {},\n analyticsObj: new Analytics(),\n };\n host = ice?.host?.SSFHost\n ? new ice.host.SSFHost('IMTProduct', hostOptions)\n : null;\n // debug loglevel\n // host.setLogLevel(10);\n return host;\n};\n\nexport const getGuestBaseUrl = async () => {\n if (!appConfig) {\n const response = await fetch('./app.config.json');\n appConfig = await response.json();\n }\n const activeEnvConfig = {\n ...appConfig?.options,\n ...appConfig[appConfig.activeEnv]?.options,\n };\n return activeEnvConfig?.guestUrl;\n};\n"],"mappings":"AAAA,IAAIA,EAAY,KACZC,EAAO,KAEX,MAAMC,UAAkB,IAAI,KAAK,eAAgB,CAC/C,aAAc,CACZ,MAAM,WAAW,CACnB,CAEA,YAAYC,EAAO,CACjB,OAAO,QAAQ,QAAQ,CACzB,CAEA,YAAYC,EAAMC,EAAS,CACzB,OAAO,QAAQ,QAAQ,YAAY,KAAKD,EAAM,CAAE,OAAQC,CAAQ,CAAC,CAAC,CACpE,CAEA,UAAUC,EAAOD,EAAS,CACxB,mBAAY,QAAQC,EAAO,CACzB,OAAQD,EACR,MAAOC,CACT,CAAC,EACM,QAAQ,QAAQ,CACzB,CACF,CAEA,MAAMC,EAAqB,IAAM,CAC/B,GAAI,CACS,IAAI,oBAAqBC,GAAS,CAE3C,UAAWC,KAASD,EAAK,WAAW,EAClC,OAAQC,EAAM,UAAW,CACvB,IAAK,UAAW,CACd,MAAMC,EAASD,EAAM,QAAU,CAAC,EAC1BE,EAAO,CACX,KAAMF,EAAM,KACZ,SAAUA,EAAM,SAChB,UAAW,IAAI,KACb,YAAY,WAAaA,EAAM,SACjC,EAAE,YAAY,EACd,GAAGC,CACL,EAEA,KACF,CACA,QACE,KACJ,CAEJ,CAAC,EACE,QAAQ,CAAE,KAAM,UAAW,SAAU,EAAK,CAAC,CAChD,MAAY,CAAC,CACf,EAEME,EAAe,IAAM,CACzB,KAAM,CAAE,OAAAC,EAAQ,KAAAC,EAAM,UAAAC,EAAW,mBAAAC,EAAoB,QAAAC,CAAQ,EAC3D,OAAO,iBAAmB,CAAC,EACzBJ,IACF,OAAO,OAASA,EAAO,CACrB,UAAWC,EAAK,sDAAsD,EAEtE,MAAO,UACP,KAAM,cACN,QAAS,eACX,CAAC,EAEDC,EAAU,OAAO,MAAM,EACvBC,EAAmB,OAAO,MAAM,EAChC,OAAO,OAAO,KAAK,mBAAmB,EAE1C,EAEO,aAAM,QAAU,IAAM,CAC3B,GAAIf,EAAM,OAAOA,EACjBW,EAAa,EACbL,EAAmB,EACnB,MAAMW,EAAc,CAClB,OAAQ,OAAO,OACf,mBAAqBC,GAAU,CAAC,EAChC,aAAc,IAAIjB,CACpB,EACA,OAAAD,EAAO,KAAK,MAAM,QACd,IAAI,IAAI,KAAK,QAAQ,aAAciB,CAAW,EAC9C,KAGGjB,CACT,EAEa,gBAAkB,UACxBD,IAEHA,EAAY,MADK,MAAM,MAAM,mBAAmB,GACrB,KAAK,GAEV,CACtB,GAAGA,GAAW,QACd,GAAGA,EAAUA,EAAU,SAAS,GAAG,OACrC,GACwB","names":["appConfig","host","Analytics","event","name","options","start","monitorPerformance","list","entry","detail","data","createLogger","logger","http","webvitals","logUnhandledErrors","Console","hostOptions","guest"],"sourceRoot":"","file":"utils.js"}
1
+ {"version":3,"sources":["webpack://ice.host/utils.js"],"sourcesContent":["let appConfig = null;\nlet host = null;\n\nconst monitorPerformance = () => {\n try {\n const po = new PerformanceObserver((list) => {\n // eslint-disable-next-line no-restricted-syntax\n for (const entry of list.getEntries()) {\n switch (entry.entryType) {\n case 'measure': {\n const detail = entry.detail ?? {};\n const data = {\n name: entry.name,\n duration: entry.duration,\n startTime: new Date(\n performance.timeOrigin + entry.startTime,\n ).toISOString(),\n ...detail,\n };\n console.log('timing', data);\n break;\n }\n default:\n break;\n }\n }\n });\n po.observe({ type: 'measure', buffered: true });\n } catch (e) {}\n};\n\nconst createLogger = () => {\n const { logger, http, webvitals, logUnhandledErrors, Console } =\n window.emuiDiagnostics || {};\n if (logger) {\n window.logger = logger({\n transport: http('https://int.api.ellielabs.com/diagnostics/v2/logging'),\n // transport: Console(),\n index: 'ssfhost',\n team: 'ui platform',\n appName: 'SSF Host Demo',\n });\n\n webvitals(window.logger);\n logUnhandledErrors(window.logger);\n window.logger.info('SSF Host launched');\n } else console.warn('ui logger missing'); // eslint-disable-line no-console\n};\n\nexport const getHost = (analyticsObj) => {\n if (host) return host;\n createLogger();\n monitorPerformance();\n const hostOptions = {\n logger: window.logger,\n readyStateCallback: (guest) => {},\n analyticsObj,\n };\n host = ice?.host?.SSFHost\n ? new ice.host.SSFHost('IMTProduct', hostOptions)\n : null;\n // debug loglevel\n // host.setLogLevel(10);\n return host;\n};\n\nexport const getGuestBaseUrl = async () => {\n if (!appConfig) {\n const response = await fetch('./app.config.json');\n appConfig = await response.json();\n }\n const activeEnvConfig = {\n ...appConfig?.options,\n ...appConfig[appConfig.activeEnv]?.options,\n };\n return activeEnvConfig?.guestUrl;\n};\n"],"mappings":"AAAA,IAAIA,EAAY,KACZC,EAAO,KAEX,MAAMC,EAAqB,IAAM,CAC/B,GAAI,CACS,IAAI,oBAAqBC,GAAS,CAE3C,UAAWC,KAASD,EAAK,WAAW,EAClC,OAAQC,EAAM,UAAW,CACvB,IAAK,UAAW,CACd,MAAMC,EAASD,EAAM,QAAU,CAAC,EAC1BE,EAAO,CACX,KAAMF,EAAM,KACZ,SAAUA,EAAM,SAChB,UAAW,IAAI,KACb,YAAY,WAAaA,EAAM,SACjC,EAAE,YAAY,EACd,GAAGC,CACL,EAEA,KACF,CACA,QACE,KACJ,CAEJ,CAAC,EACE,QAAQ,CAAE,KAAM,UAAW,SAAU,EAAK,CAAC,CAChD,MAAY,CAAC,CACf,EAEME,EAAe,IAAM,CACzB,KAAM,CAAE,OAAAC,EAAQ,KAAAC,EAAM,UAAAC,EAAW,mBAAAC,EAAoB,QAAAC,CAAQ,EAC3D,OAAO,iBAAmB,CAAC,EACzBJ,IACF,OAAO,OAASA,EAAO,CACrB,UAAWC,EAAK,sDAAsD,EAEtE,MAAO,UACP,KAAM,cACN,QAAS,eACX,CAAC,EAEDC,EAAU,OAAO,MAAM,EACvBC,EAAmB,OAAO,MAAM,EAChC,OAAO,OAAO,KAAK,mBAAmB,EAE1C,EAEO,aAAM,QAAWE,GAAiB,CACvC,GAAIZ,EAAM,OAAOA,EACjBM,EAAa,EACbL,EAAmB,EACnB,MAAMY,EAAc,CAClB,OAAQ,OAAO,OACf,mBAAqBC,GAAU,CAAC,EAChC,aAAAF,CACF,EACA,OAAAZ,EAAO,KAAK,MAAM,QACd,IAAI,IAAI,KAAK,QAAQ,aAAca,CAAW,EAC9C,KAGGb,CACT,EAEa,gBAAkB,UACxBD,IAEHA,EAAY,MADK,MAAM,MAAM,mBAAmB,GACrB,KAAK,GAEV,CACtB,GAAGA,GAAW,QACd,GAAGA,EAAUA,EAAU,SAAS,GAAG,OACrC,GACwB","names":["appConfig","host","monitorPerformance","list","entry","detail","data","createLogger","logger","http","webvitals","logUnhandledErrors","Console","analyticsObj","hostOptions","guest"],"sourceRoot":"","file":"utils.js"}
@@ -1 +1 @@
1
- <!doctype html><html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width,initial-scale=1"/><title>Guest V1 -> V2 Host</title><style>body,html,main{height:100%;margin:2px;padding:0}iframe{width:100%;height:100%;border:none}#guest-container{height:100%}</style><script src="https://qa.assets.rd.elliemae.io/pui-diagnostics@3"></script><script src="https://cdn.elliemae.io/elliemae/core/ssf/1.0/elli.ssf.guest.js"></script><script defer="defer" src="js/emuiSsfHost.38b1fe99dc97a75a91e8.js"></script></head><body><h2>Guest V1 nesting Host V2</h2><div id="result"><p id="loan-details"></p><p id="loan-pre-save-event-details"></p></div><div id="guest-container"></div><script type="module">import{getGuestBaseUrl,getHost}from"./utils.js";const hostV2=getHost(),loadV2Guest=async()=>{const t=await getGuestBaseUrl(),{id:e}=hostV2.loadGuest({id:"guestV2",url:new URL("./v2-guest.html",t).href,title:"Guest V2",targetElement:document.getElementById("guest-container")})};window.addEventListener("load",(async()=>{await elli.script.connect();const t=await elli.script.getObject("Loan"),e=await t.getLoanDetails();document.getElementById("loan-details").innerText=`Loan Data: ${JSON.stringify(e)}`,elli.script.subscribe("loan","onPreSave",((t,e)=>(document.getElementById("loan-pre-save-event-details").innerText=`Presave event data: ${JSON.stringify(e)}`,!1))),hostV2.addScriptingObject(hostV2.cloneScriptingObject(t,{})),await loadV2Guest()}))</script></body></html>
1
+ <!doctype html><html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width,initial-scale=1"/><title>Guest V1 -> V2 Host</title><style>body,html,main{height:100%;margin:2px;padding:0}iframe{width:100%;height:100%;border:none}#guest-container{height:100%}</style><script src="https://qa.assets.rd.elliemae.io/pui-diagnostics@3"></script><script src="https://cdn.elliemae.io/elliemae/core/ssf/1.0/elli.ssf.guest.js"></script><script defer="defer" src="js/emuiSsfHost.38b1fe99dc97a75a91e8.js"></script></head><body><h2>Guest V1 nesting Host V2</h2><div id="result"><p id="loan-details"></p><p id="loan-pre-save-event-details"></p></div><div id="guest-container"></div><script type="module">import{getGuestBaseUrl,getHost}from"./utils.js";import{Analytics}from"./analytics-object-v2.js";const analyticsObj=new Analytics,hostV2=getHost(analyticsObj),loadV2Guest=async()=>{const t=await getGuestBaseUrl(),{id:e}=hostV2.loadGuest({id:"guestV2",url:new URL("./v2-guest.html",t).href,title:"Guest V2",targetElement:document.getElementById("guest-container")})};window.addEventListener("load",(async()=>{await elli.script.connect();const t=await elli.script.getObject("Application"),e=await elli.script.getObject("Loan"),a=await e.getLoanDetails();document.getElementById("loan-details").innerText=`Loan Data: ${JSON.stringify(a)}`,elli.script.subscribe("loan","onPreSave",((t,e)=>(document.getElementById("loan-pre-save-event-details").innerText=`Presave event data: ${JSON.stringify(e)}`,!1))),hostV2.addScriptingObject(hostV2.cloneScriptingObject(t,{})),hostV2.addScriptingObject(hostV2.cloneScriptingObject(e,{})),await loadV2Guest()}))</script></body></html>
@@ -36,10 +36,12 @@
36
36
  </main>
37
37
  <script type="module">
38
38
  import { Loan } from './loan-object-v1.js';
39
- import { getGuestBaseUrl, getHost } from './utils.js';
39
+ import { Application } from './application-object-v1.js';
40
40
 
41
41
  const hostV1 = new elli.ssf.Host('v1');
42
+ const appObj = new Application();
42
43
  const loanObj = new Loan();
44
+ hostV1.publish(appObj);
43
45
  hostV1.publish(loanObj);
44
46
  hostV1.renderGuest(
45
47
  {},
@@ -1 +1 @@
1
- <!doctype html><html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width,initial-scale=1"/><title>Host V2 -> V1 Guest</title><style>body,html,main{height:100%;margin:4px;padding:0}iframe{width:100%;height:100%;border:none}#guest-container{height:100%}</style><script src="https://qa.assets.rd.elliemae.io/pui-diagnostics@3"></script><script defer="defer" src="js/emuiSsfHost.38b1fe99dc97a75a91e8.js"></script></head><body><main><h1>Host V2 nesting V1 Guest</h1><button id="save-btn" type="button" onclick="saveLoan()">Save Loan</button><div id="results"><p id="pre-save-feedback-result"></p></div><div id="guest-container"></div></main><script type="module">import{Loan}from"./loan-object.js";import{getGuestBaseUrl,getHost}from"./utils.js";const hostV2=getHost(),loanObj=new Loan;hostV2.addScriptingObject(loanObj);const params=new URLSearchParams(document.location.search),{id:id}=hostV2.loadGuest({id:"guestV1",url:new URL("true"!==params.get("nestV1GuestV2Host")?"./v1-guest.html":"./v1-guest-v2-host.html",window.location.href).href,searchParams:{nestHostV1:!0},title:"Guest V1",targetElement:document.getElementById("guest-container")});window.saveLoan=async()=>{const e=loanObj.getLoanDetails();(await hostV2.dispatchEvent({event:loanObj.onPreSave,eventParams:e,eventOptions:{timeout:1e3}})).some((e=>!1===e))?document.getElementById("pre-save-feedback-result").innerText="Pre save failed":document.getElementById("pre-save-feedback-result").innerText="Pre save succeeded"}</script></body></html>
1
+ <!doctype html><html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width,initial-scale=1"/><title>Host V2 -> V1 Guest</title><style>body,html,main{height:100%;margin:4px;padding:0}iframe{width:100%;height:100%;border:none}#guest-container{height:100%}</style><script src="https://qa.assets.rd.elliemae.io/pui-diagnostics@3"></script><script defer="defer" src="js/emuiSsfHost.38b1fe99dc97a75a91e8.js"></script></head><body><main><h1>Host V2 nesting V1 Guest</h1><button id="save-btn" type="button" onclick="saveLoan()">Save Loan</button><div id="results"><p id="pre-save-feedback-result"></p></div><div id="guest-container"></div></main><script type="module">import{Loan}from"./loan-object.js";import{getGuestBaseUrl,getHost}from"./utils.js";import{Analytics}from"./analytics-object-v2.js";const analyticsObj=new Analytics,hostV2=getHost(analyticsObj),loanObj=new Loan;hostV2.addScriptingObject(loanObj);const params=new URLSearchParams(document.location.search),{id:id}=hostV2.loadGuest({id:"guestV1",url:new URL("true"!==params.get("nestV1GuestV2Host")?"./v1-guest.html":"./v1-guest-v2-host.html",window.location.href).href,searchParams:{nestHostV1:!0},title:"Guest V1",targetElement:document.getElementById("guest-container")});window.saveLoan=async()=>{const e=loanObj.getLoanDetails();(await hostV2.dispatchEvent({event:loanObj.onPreSave,eventParams:e,eventOptions:{timeout:1e3}})).some((e=>!1===e))?document.getElementById("pre-save-feedback-result").innerText="Pre save failed":document.getElementById("pre-save-feedback-result").innerText="Pre save succeeded"}</script></body></html>