- SAP C4C url Mashup的跳转工作原理 - 新的浏览
- SAP Cloud for Customer的HTML Mash
- SAP C4C url mashup跳转原理 - C4C UI到
- 使用SAP C4C的OData服务的deep insert操作创
- SAP C4C的URL Mashup无法添加到embedded
- SAP C4C HTML Mashup initializePa
- SAP C4C里嵌入SAP Analytics Cloud的案例
- 如何创建URL Mashup并插入到SAP Cloud for
- SAP C4C里没有选择Port binding的url Mas
- 如何创建HTML Mashup并插入到SAP Cloud for
一个例子:
我在SalesLead TI页面的这个tab里配置了一个url Mashup,点击之后会跳转到bing的页面:
![](https://img.haomeiwen.com/i2085791/f5c0dc75e96d9350.png)
然而从Chrome开发者工具的Elements标签页里并未看到target url.
![](https://img.haomeiwen.com/i2085791/22aa8c6c123f1860.png)
![](https://img.haomeiwen.com/i2085791/a39aad610b6d0f00.png)
这个mashupID末尾为10,我在运行时点击之后:
![](https://img.haomeiwen.com/i2085791/d36077565e08546b.png)
在Chrome开发者工具的network标签页里,看到一个HTTP请求去读取Mashup component:
![](https://img.haomeiwen.com/i2085791/d2b9ee62e7cbf944.png)
下图可见,我们在RUI里创建Mashup,保存之后生成的也是一个UI component:
![](https://img.haomeiwen.com/i2085791/ed56019333f88e9c.png)
![](https://img.haomeiwen.com/i2085791/128bb1e5ea203bbc.png)
![](https://img.haomeiwen.com/i2085791/5c8c5d351f6a3ccd.png)
![](https://img.haomeiwen.com/i2085791/16fbb77da6bb431f.png)
![](https://img.haomeiwen.com/i2085791/163d12aa88a6c0f4.png)
相关的Mashup实现文件:
![](https://img.haomeiwen.com/i2085791/993202da9ce9444d.png)
![](https://img.haomeiwen.com/i2085791/17278774a429d491.png)
![](https://img.haomeiwen.com/i2085791/3b414166fb4c139d.png)
注意,url mashup lazy load,未点超链接之前,没有url生成,也没有上述这些文件的加载。
点击超链接之后:
![](https://img.haomeiwen.com/i2085791/1058c1422b90b1e1.png)
![](https://img.haomeiwen.com/i2085791/a01ba474022f029a.png)
![](https://img.haomeiwen.com/i2085791/436e6b403dd6b32c.png)
传递到Mashup的输入参数,在InportAdapter._getSystemParameters里生成:
![](https://img.haomeiwen.com/i2085791/86f5c6a8c8b71334.png)
![](https://img.haomeiwen.com/i2085791/ca606ac1ad9488ab.png)
![](https://img.haomeiwen.com/i2085791/2af12e109154c22f.png)
![](https://img.haomeiwen.com/i2085791/94338ffa026af79c.png)
![](https://img.haomeiwen.com/i2085791/8adb486b9a8b760f.png)
![](https://img.haomeiwen.com/i2085791/fb32ec87ed42b428.png)
![](https://img.haomeiwen.com/i2085791/cb87fc9a4c0b71b6.png)
下面这行代码执行完之后,新的Chrome tab就打开了:
that.emit("inportFired", mData);
![](https://img.haomeiwen.com/i2085791/df38d681acbde3e3.png)
InportFire的处理函数:
![](https://img.haomeiwen.com/i2085791/330e266da3612fe5.png)
![](https://img.haomeiwen.com/i2085791/4ee1d16f60fcc19e.png)
![](https://img.haomeiwen.com/i2085791/7f98fc74eb9256a1.png)
从inport里解析出action:
![](https://img.haomeiwen.com/i2085791/cb7f6c63a01c5cc6.png)
![](https://img.haomeiwen.com/i2085791/26c4b22ec77026e1.png)
跳转的目的地已经维护在oAction变量里了:
![](https://img.haomeiwen.com/i2085791/119f4aeacd116aa7.png)
oService.createUrl, 开始拼凑Mashup的url了:
![](https://img.haomeiwen.com/i2085791/ca907921ba2cd13a.png)
![](https://img.haomeiwen.com/i2085791/9439fa60496cfebd.png)
最后打开浏览器新窗口的代码是在window.open里实现的:
![](https://img.haomeiwen.com/i2085791/ad9fa76ecf5f8240.png)
![](https://img.haomeiwen.com/i2085791/4c6670b9733f52b9.png)
要获取更多Jerry的原创文章,请关注公众号"汪子熙":
![](https://img.haomeiwen.com/i2085791/fc7ecd97deb67090.png)
网友评论