Hybris 和 CRM WebClient UI 的 Component 概念

举报
汪子熙 发表于 2022/03/28 18:16:17 2022/03/28
【摘要】 以Hybris UI为例,这是end user看到的product search和search result page:相当于CRM的这个:在Hybris里,这种page称为一个page template,template里定义了许多slot(位置),每个slot可以放一些component进去。负责product list显示的UI由名为Product List Component负责实现...

以Hybris UI为例,这是end user看到的product search和search result page:

相当于CRM的这个:

在Hybris里,这种page称为一个page template,template里定义了许多slot(位置),每个slot可以放一些component进去。负责product list显示的UI由名为Product List Component负责实现。 可以看到这个template还是很复杂的,Product List只是其中之一。

上图的页面可以和CRM的configuration做对比:

(1) 仅仅将指定属性对应的值序列化成字符串:

var filter = {name: 'Jerry', sex: 'male', age: '10'};
var jsonStr4 = JSON.stringify(filter, ['name']);
console.log(jsonStr4); 

想参与序列化的参数名通过JSON.stringify方法的第二个参数传入。

上面例子中,只有name字段及对应的值参与了序列化,输出如下:

(2) 序列化时,还可以编写函数,实现自定义序列化逻辑:

var obj = {name: 'Jerry', sex: 'male', age: '40'};
var jsonStr5 = JSON.stringify(obj, function(key, value) {
  if(key === 'name') {
    return 'my name is: ' + value;
  }
  else if( key === 'sex'){
  		// do not return, discard this attribute
  }
  else
  	return value;
});

输出:

name属性的值通过自定义函数实现,前面加上了前缀。sex属性被丢弃,age属性保持不变。

(3) 序列化时增加缩进,让输出的字符串更便于阅读

var obj6 = {name: 'Jerry', sex: 'male', age: '40'};
var jsonStr6 = JSON.stringify(obj6, null, 5);
console.log(jsonStr6);  

输出:

ABAP

See my wechat article 聊聊C语言和ABAP:

https://dwz.cn/9uYWwyYE

REPOLOAD

Maven

命令行mvn clean install后,生成的jar文件默认位于target folder下。

CloudFoundry application

一个yaml文件的例子:

在包含了这个yaml文件的folder里使用cf push,
因为里面指定了java_buildpack作为buildpack,应用upload到cloud foundry后,自动进行build。

Webpack

例子:我指定了生产环境下web pack输出的Root文件夹为smart ( 第55行),子文件夹为static(56行):

然后生产环境输出路径直接饮用前一张图定义的变量assetsRoot, 见下图第25行:


这是在生产环境下进行webpack build的输出:

ABAP

最先执行的是INITIALIZATION:

UI5

如果一个UI5应用配置到portal的Fiori Launchpad里,那么应用的入口是Component.js
另一种方式(多用于平时的测试,验证目的)不需要launchpad,只需要在一个standalone的html里自己新建一个component的运行环境(Shell):
见下面html代码的第28到31行:

webpack

如果是通过–config指定的配置文件, 下图是一个例子:

那么只需要关注属性entry的值: 来自util方法entries的返回值.

在entries方法里加上console.log跟踪:


这些打印的输出实际上就是文件夹pages下面所有以.js结尾的文件:

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。