提交 36740bcb 编写于 作者: zcdtk's avatar zcdtk

方法格式化处理

上级 2a918d2a
......@@ -194,60 +194,83 @@ export class ViewTool {
}
/**
* 处理编辑器参数
* 导航参数处理
*
* @param {*} [itemParam={}] 预定义编辑器参数
* @param {*} [context={}] 视图上下文
* @param {*} [viewparams={}] 视图参数
* @param {*} [navigateContext={}] 导航上下文
* @param {*} [navigateParam={}] 导航参数
* @param {*} [context={}] 默认上下文
* @param {*} [viewparams={}] 默认参数
* @param {*} [formData={}] 表单数据
* @returns {{ context: {}, param: {} }} 返回对象
* @returns {{ context: {}, param: {} }} 返回处理后直接可用的上下文和参数对象
* @memberof ViewTool
*/
public formatNavigateParam(itemParam: any = {}, context: any = {}, viewparams: any = {}, formData: any = {}): { context: {}, param: {} } {
let _itemParam = { context: {}, param: {} };
const { context: _context, param: _param } = itemParam;
public formatNavigateParam(navigateContext: any = {}, navigateParam: any = {}, context: any = {}, viewparams: any = {}, formData: any = {}): { context: {}, param: {} } {
// 填充默认上下文和默认参数
let _itemParam = { context: { ...context }, param: { ...viewparams } };
// 处理上下文
if (_context && Object.keys(_context).length > 0) {
Object.keys(_context).forEach((name: string) => {
// 处理导航上下文
if (navigateContext && Object.keys(navigateContext).length > 0) {
Object.keys(navigateContext).forEach((name: string) => {
if (!name) {
return;
}
let value: string | null = _context[name];
let value: string | null = navigateContext[name];
if (_itemParam.context.hasOwnProperty(name) && (this.isNull(value) || this.isUndefined(value))) {
delete _itemParam.context[name];
return;
}
if (value && value.startsWith('%') && value.endsWith('%')) {
const key: string = value.slice(1, -1);
if (!(context && context.hasOwnProperty(key)) && !(formData && formData.hasOwnProperty(key))) {
return;
}
if (context && context.hasOwnProperty(key)) {
value = context[key];
let has_value = false;
// 后续补充全局上下文
if (_itemParam.context && _itemParam.context.hasOwnProperty(key)) {
has_value = true;
value = _itemParam.context[key];
}
if (formData && formData.hasOwnProperty(key)) {
has_value = true;
value = formData[key];
}
// 不存在值对象
if (!has_value) {
return;
}
}
Object.assign(_itemParam.context, { [name]: value });
});
}
// 处理参数
if (_param && Object.keys(_param).length > 0) {
Object.keys(_param).forEach((name: string) => {
// 处理导航参数
if (navigateParam && Object.keys(navigateParam).length > 0) {
Object.keys(navigateParam).forEach((name: string) => {
if (!name) {
return;
}
let value: string | null = _param[name];
let value: string | null = navigateParam[name];
if (_itemParam.param.hasOwnProperty(name) && (this.isNull(value) || this.isUndefined(value))) {
delete _itemParam.param[name];
return;
}
if (value && value.startsWith('%') && value.endsWith('%')) {
const key: string = value.slice(1, -1);
if (!(viewparams && viewparams.hasOwnProperty(key)) && !(formData && formData.hasOwnProperty(key))) {
return;
}
if (viewparams && viewparams.hasOwnProperty(key)) {
value = viewparams[key];
let has_value = false;
// 后续补充全局参数
if (_itemParam.param && _itemParam.param.hasOwnProperty(key)) {
has_value = true;
value = _itemParam.param[key];
}
if (formData && formData.hasOwnProperty(key)) {
has_value = true;
value = formData[key];
}
// 不存在值对象
if (!has_value) {
return;
}
}
Object.assign(_itemParam.param, { [name]: value });
});
......
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册