UNPKG

@freezesoul/nz-formly

Version:

基于ng-zorro-antd UI 扩展的ngx-formly组件库

76 lines 11.2 kB
/** * 处理属性为模板类型, 根据模板名称处理成模板对象 * @param value 数据对象 * @param fieldTemplates 模板容器 * @param propName 属性名 * @param propTemplateName 模板属性名称 */ export function resolveTplName(value, fieldTemplates, propName, propTemplateName) { if (value[propName]) { return value[propName]; } if (!fieldTemplates) { return undefined; } const tplName = propTemplateName || getTplName(propName); return fieldTemplates.get(value[tplName]); } /** * 处理属性为模板类型, 根据模板名称处理成模板对象列表 * @param value 数据对象 * @param fieldTemplates 模板容器 * @param propName 属性名 * @param propTemplateName 模板属性名称 */ export function resolveTplNameArray(value, fieldTemplates, propName, propTemplateName) { if (value[propName] != null) { return value[propName]; } if (!fieldTemplates) { return []; } const tplName = propTemplateName || getTplName(propName); const tplValue = value[tplName]; if (Array.isArray(tplValue)) { return tplValue.map(key => fieldTemplates.get(key)).filter(tpl => tpl); } return []; } /** * 根据属性名获取模板名称 * @param propName 属性名 */ export function getTplName(propName) { return `${propName}Name`; } /** * 获取模板名称 * @param value * @param propName * @param propTemplateName 模板属性名称 */ export function hasTplNameValue(value, propName, propTemplateName) { const tplName = propTemplateName || getTplName(propName); return value[propName] || value[tplName]; } /** * 获取根节点的FieldConfig * @param field 当前节点配置 */ export function getRootFiled(field) { let p = field.parent; while (p && p.parent) { p = p.parent; } return p || field; } /** * 根据key获取指定FieldConfig * @param field 当前节点配置 * @param key 配置的key */ export function findField(field, key) { const rootField = getRootFiled(field); return rootField.get(key); } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWx5LXV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vbGliL2NvbW1vbi9mb3JtbHktdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBaURBOzs7Ozs7R0FNRztBQUNILE1BQU0sVUFBVSxjQUFjLENBQzVCLEtBQWdCLEVBQ2hCLGNBQWtDLEVBQ2xDLFFBQWdCLEVBQ2hCLGdCQUF5QjtJQUV6QixJQUFJLEtBQUssQ0FBQyxRQUFRLENBQUMsRUFBRTtRQUNuQixPQUFPLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztLQUN4QjtJQUNELElBQUksQ0FBQyxjQUFjLEVBQUU7UUFDbkIsT0FBTyxTQUFTLENBQUM7S0FDbEI7SUFDRCxNQUFNLE9BQU8sR0FBRyxnQkFBZ0IsSUFBSSxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDekQsT0FBTyxjQUFjLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO0FBQzVDLENBQUM7QUFFRDs7Ozs7O0dBTUc7QUFDSCxNQUFNLFVBQVUsbUJBQW1CLENBQ2pDLEtBQWdCLEVBQ2hCLGNBQWtDLEVBQ2xDLFFBQWdCLEVBQ2hCLGdCQUF5QjtJQUV6QixJQUFJLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxJQUFJLEVBQUU7UUFDM0IsT0FBTyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7S0FDeEI7SUFDRCxJQUFJLENBQUMsY0FBYyxFQUFFO1FBQ25CLE9BQU8sRUFBRSxDQUFDO0tBQ1g7SUFDRCxNQUFNLE9BQU8sR0FBRyxnQkFBZ0IsSUFBSSxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDekQsTUFBTSxRQUFRLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2hDLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsRUFBRTtRQUMzQixPQUFPLFFBQVEsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFxQixDQUFDO0tBQzVGO0lBQ0QsT0FBTyxFQUFFLENBQUM7QUFDWixDQUFDO0FBRUQ7OztHQUdHO0FBQ0gsTUFBTSxVQUFVLFVBQVUsQ0FBQyxRQUFnQjtJQUN6QyxPQUFPLEdBQUcsUUFBUSxNQUFNLENBQUM7QUFDM0IsQ0FBQztBQUVEOzs7OztHQUtHO0FBQ0gsTUFBTSxVQUFVLGVBQWUsQ0FBQyxLQUFnQixFQUFFLFFBQWdCLEVBQUUsZ0JBQXlCO0lBQzNGLE1BQU0sT0FBTyxHQUFHLGdCQUFnQixJQUFJLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUN6RCxPQUFPLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7QUFDM0MsQ0FBQztBQUVEOzs7R0FHRztBQUNILE1BQU0sVUFBVSxZQUFZLENBQUMsS0FBd0I7SUFDbkQsSUFBSSxDQUFDLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQztJQUNyQixPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxFQUFFO1FBQ3BCLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDO0tBQ2Q7SUFDRCxPQUFPLENBQUMsSUFBSSxLQUFLLENBQUM7QUFDcEIsQ0FBQztBQUVEOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUsU0FBUyxDQUFDLEtBQXdCLEVBQUUsR0FBVztJQUM3RCxNQUFNLFNBQVMsR0FBRyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDdEMsT0FBTyxTQUFTLENBQUMsR0FBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQzdCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBOelNhZmVBbnkgfSBmcm9tICduZy16b3Jyby1hbnRkL2NvcmUvdHlwZXMnO1xyXG5pbXBvcnQgeyBOekRyb3BEb3duRGlyZWN0aXZlIH0gZnJvbSAnbmctem9ycm8tYW50ZC9kcm9wZG93bic7XHJcbmltcG9ydCB7IEZvcm1seUZpZWxkQ29uZmlnLCBGb3JtbHlGaWVsZFByb3BzIH0gZnJvbSAnQG5neC1mb3JtbHkvY29yZSc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgQXN5bmNPcHRpb24gfSBmcm9tICdAZnJlZXplc291bC9uengtYW50ZC9waXBlJztcclxuaW1wb3J0IHsgRm9ybWx5Qm94VGVtcGxhdGVzIH0gZnJvbSAnLi9mb3JtbHktYm94LXRlbXBsYXRlcy5kaXJlY3RpdmUnO1xyXG5cclxuLyoqXHJcbiAqIOS4i+aLieiPnOWNlemFjee9rlxyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBEcm9wZG93bldyYXBwZXJPcHRpb25zIHtcclxuICBuekRyb3Bkb3duPzoge1xyXG4gICAgcmVmOiBzdHJpbmc7XHJcbiAgICAvKipcclxuICAgICAqIOiPnOWNleaYr+WQpuemgeeUqFxyXG4gICAgICovXHJcbiAgICBuekRpc2FibGVkPzogYm9vbGVhbjtcclxuICAgIC8qKlxyXG4gICAgICog6I+c5Y2V5by55Ye65L2N572uXHJcbiAgICAgKi9cclxuICAgIG56UGxhY2VtZW50PzogJ2JvdHRvbUxlZnQnIHwgJ2JvdHRvbUNlbnRlcicgfCAnYm90dG9tUmlnaHQnIHwgJ3RvcExlZnQnIHwgJ3RvcENlbnRlcicgfCAndG9wUmlnaHQnO1xyXG4gICAgLyoqXHJcbiAgICAgKiDop6blj5HkuIvmi4nnmoTooYzkuLpcclxuICAgICAqL1xyXG4gICAgbnpUcmlnZ2VyPzogJ2NsaWNrJyB8ICdob3Zlcic7XHJcbiAgICAvKipcclxuICAgICAqIOeCueWHu+WQjuaYr+WQpumakOiXj+iPnOWNlVxyXG4gICAgICovXHJcbiAgICBuekNsaWNrSGlkZT86IGJvb2xlYW47XHJcbiAgICAvKipcclxuICAgICAqIOiPnOWNleaYr+WQpuaYvuekuu+8jOWPr+WPjOWQkee7keWumlxyXG4gICAgICovXHJcbiAgICBuelZpc2libGU/OiBib29sZWFuO1xyXG4gICAgLyoqXHJcbiAgICAgKiDkuIvmi4nmoLnlhYPntKDnmoTnsbvlkI3np7BcclxuICAgICAqL1xyXG4gICAgbnpPdmVybGF5Q2xhc3NOYW1lPzogc3RyaW5nO1xyXG4gICAgLyoqXHJcbiAgICAgKiDkuIvmi4nmoLnlhYPntKDnmoTmoLflvI9cclxuICAgICAqL1xyXG4gICAgbnpPdmVybGF5U3R5bGU/OiBvYmplY3Q7XHJcbiAgICAvKipcclxuICAgICAqIOiPnOWNleaYvuekuueKtuaAgeaUueWPmOaXtuiwg+eUqO+8jOWPguaVsOS4uiBuelZpc2libGVcclxuICAgICAqL1xyXG4gICAgbnpWaXNpYmxlQ2hhbmdlPzogKGV2dDogYm9vbGVhbiwgZmllbGQ6IEZvcm1seUZpZWxkQ29uZmlnLCBpbnN0YW5jZTogTnpEcm9wRG93bkRpcmVjdGl2ZSkgPT4gdm9pZDtcclxuICB9O1xyXG59XHJcblxyXG4vKipcclxuICog5aSE55CG5bGe5oCn5Li65qih5p2/57G75Z6LLCDmoLnmja7mqKHmnb/lkI3np7DlpITnkIbmiJDmqKHmnb/lr7nosaFcclxuICogQHBhcmFtIHZhbHVlIOaVsOaNruWvueixoVxyXG4gKiBAcGFyYW0gZmllbGRUZW1wbGF0ZXMg5qih5p2/5a655ZmoXHJcbiAqIEBwYXJhbSBwcm9wTmFtZSDlsZ7mgKflkI1cclxuICogQHBhcmFtIHByb3BUZW1wbGF0ZU5hbWUg5qih5p2/5bGe5oCn5ZCN56ewXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gcmVzb2x2ZVRwbE5hbWU8VCA9IE56U2FmZUFueT4oXHJcbiAgdmFsdWU6IE56U2FmZUFueSxcclxuICBmaWVsZFRlbXBsYXRlczogRm9ybWx5Qm94VGVtcGxhdGVzLFxyXG4gIHByb3BOYW1lOiBzdHJpbmcsXHJcbiAgcHJvcFRlbXBsYXRlTmFtZT86IHN0cmluZ1xyXG4pOiBUZW1wbGF0ZVJlZjxUPiB8IHVuZGVmaW5lZCB7XHJcbiAgaWYgKHZhbHVlW3Byb3BOYW1lXSkge1xyXG4gICAgcmV0dXJuIHZhbHVlW3Byb3BOYW1lXTtcclxuICB9XHJcbiAgaWYgKCFmaWVsZFRlbXBsYXRlcykge1xyXG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcclxuICB9XHJcbiAgY29uc3QgdHBsTmFtZSA9IHByb3BUZW1wbGF0ZU5hbWUgfHwgZ2V0VHBsTmFtZShwcm9wTmFtZSk7XHJcbiAgcmV0dXJuIGZpZWxkVGVtcGxhdGVzLmdldCh2YWx1ZVt0cGxOYW1lXSk7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiDlpITnkIblsZ7mgKfkuLrmqKHmnb/nsbvlnossIOagueaNruaooeadv+WQjeensOWkhOeQhuaIkOaooeadv+WvueixoeWIl+ihqFxyXG4gKiBAcGFyYW0gdmFsdWUg5pWw5o2u5a+56LGhXHJcbiAqIEBwYXJhbSBmaWVsZFRlbXBsYXRlcyDmqKHmnb/lrrnlmahcclxuICogQHBhcmFtIHByb3BOYW1lIOWxnuaAp+WQjVxyXG4gKiBAcGFyYW0gcHJvcFRlbXBsYXRlTmFtZSDmqKHmnb/lsZ7mgKflkI3np7BcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiByZXNvbHZlVHBsTmFtZUFycmF5PFQgPSBOelNhZmVBbnk+KFxyXG4gIHZhbHVlOiBOelNhZmVBbnksXHJcbiAgZmllbGRUZW1wbGF0ZXM6IEZvcm1seUJveFRlbXBsYXRlcyxcclxuICBwcm9wTmFtZTogc3RyaW5nLFxyXG4gIHByb3BUZW1wbGF0ZU5hbWU/OiBzdHJpbmdcclxuKTogVGVtcGxhdGVSZWY8VD5bXSB7XHJcbiAgaWYgKHZhbHVlW3Byb3BOYW1lXSAhPSBudWxsKSB7XHJcbiAgICByZXR1cm4gdmFsdWVbcHJvcE5hbWVdO1xyXG4gIH1cclxuICBpZiAoIWZpZWxkVGVtcGxhdGVzKSB7XHJcbiAgICByZXR1cm4gW107XHJcbiAgfVxyXG4gIGNvbnN0IHRwbE5hbWUgPSBwcm9wVGVtcGxhdGVOYW1lIHx8IGdldFRwbE5hbWUocHJvcE5hbWUpO1xyXG4gIGNvbnN0IHRwbFZhbHVlID0gdmFsdWVbdHBsTmFtZV07XHJcbiAgaWYgKEFycmF5LmlzQXJyYXkodHBsVmFsdWUpKSB7XHJcbiAgICByZXR1cm4gdHBsVmFsdWUubWFwKGtleSA9PiBmaWVsZFRlbXBsYXRlcy5nZXQoa2V5KSkuZmlsdGVyKHRwbCA9PiB0cGwpIGFzIFRlbXBsYXRlUmVmPFQ+W107XHJcbiAgfVxyXG4gIHJldHVybiBbXTtcclxufVxyXG5cclxuLyoqXHJcbiAqIOagueaNruWxnuaAp+WQjeiOt+WPluaooeadv+WQjeensFxyXG4gKiBAcGFyYW0gcHJvcE5hbWUg5bGe5oCn5ZCNXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gZ2V0VHBsTmFtZShwcm9wTmFtZTogc3RyaW5nKSB7XHJcbiAgcmV0dXJuIGAke3Byb3BOYW1lfU5hbWVgO1xyXG59XHJcblxyXG4vKipcclxuICog6I635Y+W5qih5p2/5ZCN56ewXHJcbiAqIEBwYXJhbSB2YWx1ZVxyXG4gKiBAcGFyYW0gcHJvcE5hbWVcclxuICogQHBhcmFtIHByb3BUZW1wbGF0ZU5hbWUg5qih5p2/5bGe5oCn5ZCN56ewXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gaGFzVHBsTmFtZVZhbHVlKHZhbHVlOiBOelNhZmVBbnksIHByb3BOYW1lOiBzdHJpbmcsIHByb3BUZW1wbGF0ZU5hbWU/OiBzdHJpbmcpOiBib29sZWFuIHtcclxuICBjb25zdCB0cGxOYW1lID0gcHJvcFRlbXBsYXRlTmFtZSB8fCBnZXRUcGxOYW1lKHByb3BOYW1lKTtcclxuICByZXR1cm4gdmFsdWVbcHJvcE5hbWVdIHx8IHZhbHVlW3RwbE5hbWVdO1xyXG59XHJcblxyXG4vKipcclxuICog6I635Y+W5qC56IqC54K555qERmllbGRDb25maWdcclxuICogQHBhcmFtIGZpZWxkIOW9k+WJjeiKgueCuemFjee9rlxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIGdldFJvb3RGaWxlZChmaWVsZDogRm9ybWx5RmllbGRDb25maWcpIHtcclxuICBsZXQgcCA9IGZpZWxkLnBhcmVudDtcclxuICB3aGlsZSAocCAmJiBwLnBhcmVudCkge1xyXG4gICAgcCA9IHAucGFyZW50O1xyXG4gIH1cclxuICByZXR1cm4gcCB8fCBmaWVsZDtcclxufVxyXG5cclxuLyoqXHJcbiAqIOagueaNrmtleeiOt+WPluaMh+WumkZpZWxkQ29uZmlnXHJcbiAqIEBwYXJhbSBmaWVsZCDlvZPliY3oioLngrnphY3nva5cclxuICogQHBhcmFtIGtleSDphY3nva7nmoRrZXlcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBmaW5kRmllbGQoZmllbGQ6IEZvcm1seUZpZWxkQ29uZmlnLCBrZXk6IHN0cmluZyk6IEZvcm1seUZpZWxkQ29uZmlnIHwgdW5kZWZpbmVkIHtcclxuICBjb25zdCByb290RmllbGQgPSBnZXRSb290RmlsZWQoZmllbGQpO1xyXG4gIHJldHVybiByb290RmllbGQuZ2V0IShrZXkpO1xyXG59XHJcblxyXG4vKipcclxuICog5byC5q2l6YWN572u5L+h5oGvXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIEFzeW5jRm9ybWx5T3B0aW9uczxUIGV4dGVuZHMgTnpTYWZlQW55ID0gTnpTYWZlQW55LCBVIGV4dGVuZHMgTnpTYWZlQW55ID0gTnpTYWZlQW55PlxyXG4gIGV4dGVuZHMgQXN5bmNPcHRpb24ge1xyXG4gIC8qKlxyXG4gICAqIOWPr+mAiemhueaVsOaNrua6kFxyXG4gICAqL1xyXG4gIG9wdGlvbnM/OiBzdHJpbmcgfCBPYnNlcnZhYmxlPFVbXT4gfCBQcm9taXNlPFVbXT4gfCBVW107XHJcbn1cclxuXHJcbi8qKlxyXG4gKiDmjqfku7bmqKHmnb/lj4LmlbDphY3nva7poblcclxuICovXHJcbmV4cG9ydCB0eXBlIENvbnRyb2xPcHRpb25zID0gRHJvcGRvd25XcmFwcGVyT3B0aW9ucyAmXHJcbiAgT21pdDxGb3JtbHlGaWVsZFByb3BzLCAnb3B0aW9ucyc+ICYge1xyXG4gICAgdmFsdWVDaGFuZ2VzPzogKHZhbHVlOiBOelNhZmVBbnksIGZpZWxkOiBOekZvcm1seUZpZWxkQ29uZmlnKSA9PiB2b2lkO1xyXG4gICAgYXR0cmlidXRlcz86IHtcclxuICAgICAgc3R5bGU6IHN0cmluZztcclxuICAgICAgY2xhc3M6IHN0cmluZztcclxuICAgICAgaWQ6IHN0cmluZztcclxuICAgICAgbmFtZTogc3RyaW5nO1xyXG4gICAgICBba2V5OiBzdHJpbmddOiBzdHJpbmcgfCBudW1iZXI7XHJcbiAgICB9O1xyXG4gIH07XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIE56Rm9ybWx5RmllbGRDb25maWc8VCBleHRlbmRzIENvbnRyb2xPcHRpb25zID0gQ29udHJvbE9wdGlvbnM+IGV4dGVuZHMgRm9ybWx5RmllbGRDb25maWcge1xyXG4gIC8qKlxyXG4gICAqIOi/meaYr+S4uuaooeadv+aJqeWxleeahOWxnuaAp++8jOaJgOacieaooeadv+iuv+mXrueahOWxnuaAp+mDveW6lOivpeS7jui/memHjOiuv+mXrlxyXG4gICAqL1xyXG4gIHByb3BzPzogVDtcclxuICAvKipcclxuICAgKiBAZGVwcmVjYXRlZCDkvb/nlKggYHByb3BzYCDku6Pmm79cclxuICAgKi9cclxuICB0ZW1wbGF0ZU9wdGlvbnM/OiBUO1xyXG59XHJcbiJdfQ==