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

方法格式化处理

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