From 763766997a6edd73a14b644d7cfcb26e05f5fc01 Mon Sep 17 00:00:00 2001 From: srgooglo Date: Wed, 28 Oct 2020 18:20:20 +0100 Subject: [PATCH] added `__proto__filterSchematizedArray` to core & refactor components --- src/components/ListedMenu/index.tsx | 19 +++---------------- src/core/index.js | 15 +++++++++++++++ 2 files changed, 18 insertions(+), 16 deletions(-) diff --git a/src/components/ListedMenu/index.tsx b/src/components/ListedMenu/index.tsx index f584e686..ef411808 100644 --- a/src/components/ListedMenu/index.tsx +++ b/src/components/ListedMenu/index.tsx @@ -3,6 +3,7 @@ import { Menu, Result } from 'antd' import classnames from 'classnames' import styles from './index.less' +import { __proto__filterSchematizedArray } from 'core' export default class ListedMenu extends React.Component{ state = { @@ -12,25 +13,11 @@ export default class ListedMenu extends React.Component{ menus: [], mode: this.props.mode ?? "inline" } - - filterArray(data: any[]) { - let tmp: any = [] - return new Promise(resolve => { - data.forEach(async (element: { require: string; }) => { - if (typeof(element.require) !== 'undefined') { - const validRequire = await window.requireQuery(element.require) - validRequire? tmp.push(element) : null - }else{ - tmp.push(element) - } - }) - resolve(tmp) - }) - } + async queryMenu() { this.setState({ loading: true }) - this.setState({ menus: await this.filterArray(this.props.menuArray), loading: false }) + this.setState({ menus: await __proto__filterSchematizedArray(this.props.menuArray), loading: false }) } getMenu() { diff --git a/src/core/index.js b/src/core/index.js index 1cbaa5cc..e3cd4889 100644 --- a/src/core/index.js +++ b/src/core/index.js @@ -47,6 +47,21 @@ export function getCircularReplacer() { } } + export function __proto__filterSchematizedArray(data) { + let tmp = [] + return new Promise(resolve => { + data.forEach(async (element: { require }) => { + if (typeof(element.require) !== 'undefined') { + const validRequire = await window.requireQuery(element.require) + validRequire? tmp.push(element) : null + }else{ + tmp.push(element) + } + }) + resolve(tmp) + }) +} + export function decycle(obj, stack = []) { if (!obj || typeof obj !== 'object') return obj;