nsc-react-component 4.3.5 → 4.3.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["BasePage","Spin","React","NscRequest","cls","defaultComFuncs","defaultUtil","ModalForm","renderSelfColumnButton","renderSelfToolButton","ModalManager","getPageData","params","get","xssFilter","autoPrefix","setFieldDisabled","data","key","disabled","columns","newColumns","map","item","obj","_objectSpread","dataIndex","indexOf","props","push","setFieldVisible","visible","editor","setFieldPropsData","propsData","defaultStateValue","pageProps","treeProps","store","url","autoLoad","tableProps","selfToolButton","selfColumnButton","selfFormButton","pageLoading","defaultColumns","otherProps","buttonLoading","formPageProps","SettingTable","Component","constructor","arguments","_defineProperty","createRef","res","state","showSearch","defaultSearch","tableDataResource","func","Function","pageRef","setTimeout","_this$pageRef$current","_this$pageRef$current2","current","tableLoad","setSearchParams","componentDidMount","getData","register","modalRef","componentDidUpdate","prevProps","prevState","snapshot","tableCode","setState","published","menuCode","tabParams","code","isPublished","then","_page_props$permissio","table_props","JSON","parse","tree_props","page_props","other_props","otherParams","form_props","formProps","permission","has","Utils","paramFunc","converTabParams","requestParams","newRequestParams","queryParams","addParams","editorParams","converParams","other","_objectWithoutProperties","_excluded","newParams","columnButtons","toolButtons","selfButton","_message","error","getSearchValues","_this$pageRef$current3","value","callBack","_this$pageRef$current4","_this$pageRef$current5","requestConfig","length","undefined","tableReload","_this$pageRef$current6","getSelectedRowKeys","_this$pageRef$current7","getSelectedRowDatas","_this$pageRef$current8","resetSelectedRowKeys","_this$pageRef$current9","render","className","funcs","baseProps","settingTreeProps","settingTableProps","_excluded2","_this","deaultFuncs","newData","setButtonLoading","loading","openFormModal","showModal","children","codeSelfButtons","codecolumnButtons","codeFormButtons","Array","isArray","child","_child$props","_child$props2","_child$props3","pageType","_item$props","_item$props2","_item$props3","createElement","style","width","height","spinning","_extends","ref","onHideForm","_this$pageRef$current10","hideForm","initData","formType","type"],"sources":["../../../src/components/page/SettingTable/index.tsx"],"sourcesContent":["import { forwardRef, useEffect, useImperativeHandle, useState } from \"react\";\r\nimport BasePage, { NSCBaseBageProps } from \"../BasePage\";\r\nimport Spin from \"../../base/spin\";\r\nimport Button from \"../../base/button\";\r\nimport \"./index.less\";\r\nimport React from \"react\";\r\nimport NscRequest from \"nsc-request\";\r\nimport cls from \"classnames\";\r\nimport { message } from \"antd\";\r\nimport {\r\n defaultComFuncs,\r\n defaultUtil,\r\n ModalForm,\r\n renderSelfColumnButton,\r\n renderSelfToolButton,\r\n ModalManager,\r\n OpenParms,\r\n} from \"../SettingUtil/utils\";\r\n\r\nconst getPageData = (params: any) => {\r\n return NscRequest.get(`/jquick-setting/setting/table/info/`, {\r\n params,\r\n xssFilter: false,\r\n autoPrefix: true,\r\n });\r\n};\r\n\r\n//设置表单字段只读\r\nconst setFieldDisabled = (data: Array<any>, key, disabled) => {\r\n const columns = [...data];\r\n let newColumns = [] as any;\r\n columns.map((item) => {\r\n let obj = { ...item };\r\n if (item.dataIndex == key || key.indexOf(item.dataIndex) > -1) {\r\n let props = obj.props ? { ...obj.props } : {};\r\n props.disabled = disabled;\r\n obj.props = props;\r\n }\r\n newColumns.push(obj);\r\n });\r\n return newColumns;\r\n};\r\n//设置表单字段隐藏\r\nconst setFieldVisible = (data: Array<any>, key, visible) => {\r\n const columns = [...data];\r\n let newColumns = [] as any;\r\n columns.map((item) => {\r\n let obj = { ...item };\r\n if (item.dataIndex == key || key.indexOf(item.dataIndex) > -1) {\r\n obj.editor = visible;\r\n }\r\n newColumns.push(obj);\r\n });\r\n return newColumns;\r\n};\r\n\r\nconst setFieldPropsData = (data: Array<any>, key, propsData) => {\r\n const columns = [...data];\r\n let newColumns = [] as any;\r\n columns.map((item) => {\r\n let obj = { ...item };\r\n if (item.dataIndex == key) {\r\n let props = obj.props ? { ...obj.props } : {};\r\n props.data = propsData;\r\n obj.props = props;\r\n }\r\n newColumns.push(obj);\r\n });\r\n return newColumns;\r\n};\r\ninterface IProps {\r\n tableCode: string;\r\n className?: any;\r\n menuCode?: string;\r\n funcs?: any;\r\n published?: boolean;\r\n instanceRef?: any;\r\n tabParams?: any;\r\n onCallBacks?: {\r\n treeSelectCallBack?: any; //树点击查询后回调\r\n onQueryCallBack?: any; //查询回调,查询数据后回调\r\n onSumbitCallBack?: any; //保存回调,保存数据成功后回调\r\n onDeleteCallBack?: any; //删除按钮回调,删除数据后执行\r\n onEditorCallBack?: any; //编辑按钮回调,打开弹框后执行\r\n onAddCallBack?: any; //添加按钮回调,打开弹框后执行\r\n onSearchCallBack?: any; //列表查询按钮回调,打开弹框后执行\r\n };\r\n baseProps?: NSCBaseBageProps;\r\n autoLoad?: boolean;\r\n}\r\n\r\nconst defaultStateValue = {\r\n pageProps: {} as any,\r\n treeProps: { store: { url: \"\", autoLoad: false } } as any,\r\n tableProps: {} as any,\r\n selfToolButton: [] as any,\r\n selfColumnButton: [] as any,\r\n selfFormButton: [] as any,\r\n pageLoading: true,\r\n defaultColumns: [] as any,\r\n otherProps: {} as any,\r\n buttonLoading: {} as any,\r\n formPageProps: {} as any,\r\n};\r\nexport default class SettingTable extends React.Component<IProps, any> {\r\n state = {\r\n ...defaultStateValue,\r\n };\r\n pageRef = React.createRef<any>();\r\n modalRef = React.createRef<any>();\r\n\r\n componentDidMount(): void {\r\n this.getData();\r\n ModalManager.register(this.modalRef);\r\n }\r\n\r\n componentDidUpdate(\r\n prevProps: Readonly<IProps>,\r\n prevState: Readonly<any>,\r\n snapshot?: any\r\n ): void {\r\n if (prevProps.tableCode != this.props.tableCode) {\r\n this.setState(\r\n {\r\n ...defaultStateValue,\r\n },\r\n () => {\r\n this.getData();\r\n }\r\n );\r\n }\r\n }\r\n\r\n initData = (res: any) => {\r\n const { otherProps, pageProps } = this.state;\r\n if (\r\n pageProps.showSearch !== false &&\r\n otherProps.defaultSearch &&\r\n otherProps.tableDataResource == \"url\"\r\n ) {\r\n let func = new Function(\"Utils,eventOption\", otherProps.defaultSearch);\r\n const params = func(defaultUtil, { pageRef: this.pageRef });\r\n setTimeout(() => {\r\n this.pageRef.current?.tableLoad({ ...params });\r\n this.pageRef.current?.setSearchParams({ ...params });\r\n }, 50); //直接设置,pageRef没绑定,暂时通过延迟函数进行解决\r\n }\r\n };\r\n // 获取数据\r\n getData() {\r\n // 从props中获取tableCode、published、menuCode\r\n this.setState({\r\n pageLoading: true,\r\n });\r\n const { tableCode, published = true, menuCode, tabParams } = this.props;\r\n // 如果tableCode存在\r\n if (tableCode) {\r\n // 定义参数\r\n let params = { code: tableCode } as any;\r\n // 如果published为true\r\n if (published) {\r\n // 设置参数isPublished为1\r\n params.isPublished = 1;\r\n }\r\n // 调用getPageData方法获取数据\r\n getPageData({ ...params }).then((res: any) => {\r\n if (res.code == 200 && res.data) {\r\n let table_props = JSON.parse(res.data.tableProps || \"{}\") || {};\r\n let tree_props = JSON.parse(res.data.treeProps || \"{}\") || {};\r\n let page_props = JSON.parse(res.data.pageProps || \"{}\") || {};\r\n let other_props = JSON.parse(res.data.otherParams || \"{}\") || {};\r\n let form_props = JSON.parse(res.data.formProps || \"{}\") || {};\r\n if (page_props.permission?.has == true) {\r\n page_props.permission.menuCode = menuCode;\r\n }\r\n if (published == false) {\r\n page_props.permission = false;\r\n }\r\n if (\r\n (page_props.showSearch !== false &&\r\n other_props.defaultSearch &&\r\n other_props?.tableDataResource == \"url\") ||\r\n this.props.autoLoad === false\r\n ) {\r\n table_props.store.autoLoad = false;\r\n }\r\n if (tabParams) {\r\n const Utils = defaultUtil || {};\r\n let paramFunc = new Function(\"Utils\", tabParams);\r\n let converTabParams = paramFunc(Utils);\r\n if (page_props.requestParams) {\r\n let { requestParams = {} } = page_props;\r\n let newRequestParams = {\r\n queryParams: null,\r\n addParams: null,\r\n editorParams: null,\r\n };\r\n for (let key in newRequestParams) {\r\n if (requestParams[key]) {\r\n let func = new Function(\"Utils\", requestParams[key]);\r\n let converParams = func(Utils);\r\n const { data, ...other } = converParams;\r\n let newParams = {\r\n data: { ...converTabParams, ...data },\r\n ...other,\r\n };\r\n newRequestParams[key] = newParams;\r\n } else {\r\n newRequestParams[key] = { data: { ...converTabParams } };\r\n }\r\n }\r\n page_props.requestParams = { ...newRequestParams };\r\n } else {\r\n page_props.requestParams = {\r\n queryParams: { data: { ...converTabParams } },\r\n addParams: { data: { ...converTabParams } },\r\n editorParams: { data: { ...converTabParams } },\r\n };\r\n }\r\n }\r\n this.setState(\r\n {\r\n pageProps: {\r\n ...page_props,\r\n },\r\n treeProps: {\r\n ...tree_props,\r\n },\r\n tableProps: {\r\n ...table_props,\r\n },\r\n otherProps: { ...other_props },\r\n selfColumnButton: JSON.parse(res.data.columnButtons) || [],\r\n selfToolButton: JSON.parse(res.data.toolButtons) || [],\r\n defaultColumns: page_props.columns,\r\n formPageProps: form_props,\r\n selfFormButton: form_props?.selfButton || [],\r\n },\r\n () => {\r\n this.setState({\r\n pageLoading: false,\r\n });\r\n }\r\n );\r\n } else if (res.code == 200 && res.data == null) {\r\n message.error(\"未找到配置信息!\");\r\n this.setState({\r\n pageLoading: false,\r\n });\r\n } else {\r\n this.setState({\r\n pageLoading: false,\r\n });\r\n }\r\n });\r\n } else {\r\n this.setState({\r\n pageLoading: false,\r\n });\r\n }\r\n }\r\n // onSearch() {}\r\n getSearchValues() {\r\n const value = this.pageRef.current?.getSearchValues();\r\n return value;\r\n }\r\n setSearchParams(params, callBack) {\r\n this.pageRef.current?.setSearchParams(params);\r\n }\r\n tableLoad(params: any, requestConfig = {}) {\r\n this.pageRef.current?.tableLoad(params, requestConfig);\r\n }\r\n tableReload(params = {}, autoLoad = true) {\r\n this.pageRef.current?.tableReload(params, autoLoad);\r\n }\r\n getSelectedRowKeys() {\r\n return this.pageRef.current?.getSelectedRowKeys();\r\n }\r\n getSelectedRowDatas() {\r\n return this.pageRef.current?.getSelectedRowDatas();\r\n }\r\n\r\n resetSelectedRowKeys() {\r\n return this.pageRef.current?.resetSelectedRowKeys();\r\n }\r\n render() {\r\n const {\r\n className,\r\n funcs = {},\r\n baseProps = {} as NSCBaseBageProps,\r\n } = this.props;\r\n const {\r\n pageProps,\r\n treeProps,\r\n tableProps,\r\n selfToolButton,\r\n selfColumnButton,\r\n pageLoading,\r\n defaultColumns,\r\n buttonLoading = {},\r\n formPageProps = {},\r\n selfFormButton,\r\n } = this.state;\r\n const {\r\n treeProps: settingTreeProps = {},\r\n tableProps: settingTableProps = {},\r\n ...otherProps\r\n } = baseProps;\r\n let _this = this;\r\n const deaultFuncs = {\r\n setFieldDisabled: (key, disabled) => {\r\n const newData = setFieldDisabled(pageProps.columns, key, disabled);\r\n this.setState({\r\n pageProps: { ...pageProps, columns: newData },\r\n });\r\n },\r\n setFieldVisible: (key, disabled) => {\r\n const newData = setFieldVisible(pageProps.columns, key, disabled);\r\n this.setState({\r\n pageProps: { ...pageProps, columns: newData },\r\n });\r\n },\r\n setFieldPropsData: (key, data) => {\r\n const newData = setFieldPropsData(pageProps.columns, key, data);\r\n this.setState({\r\n pageProps: { ...pageProps, columns: newData },\r\n });\r\n },\r\n // history: (params, type) => {\r\n // jumpPage(params, type);\r\n // },\r\n setButtonLoading: (code, loading) => {\r\n _this.setState({\r\n buttonLoading: { ...buttonLoading, [code]: loading },\r\n });\r\n },\r\n ...defaultComFuncs,\r\n openFormModal: (params:OpenParms) => {\r\n ModalManager.showModal(params);\r\n },\r\n // getCurrentProject: () => {\r\n // return getProject();\r\n // },\r\n };\r\n const { children } = this.props;\r\n let codeSelfButtons = [];\r\n let codecolumnButtons = [];\r\n let codeFormButtons = [];\r\n if (Array.isArray(children)) {\r\n children.map((item: any) => {\r\n if (Array.isArray(item)) {\r\n item.map((child) => {\r\n if (child?.props?.pageType == \"toolButton\") {\r\n codeSelfButtons.push(child);\r\n } else if (child?.props?.pageType == \"columnButton\") {\r\n codecolumnButtons.push(child);\r\n } else if (child?.props?.pageType == \"formButton\") {\r\n codeFormButtons.push(child);\r\n }\r\n });\r\n } else {\r\n if (item?.props?.pageType == \"toolButton\") {\r\n codeSelfButtons.push(item);\r\n } else if (item?.props?.pageType == \"columnButton\") {\r\n codecolumnButtons.push(item);\r\n } else if (item?.props?.pageType == \"formButton\") {\r\n codeFormButtons.push(item);\r\n }\r\n }\r\n });\r\n } else if (children) {\r\n const { props }: any = children;\r\n if (props?.pageType == \"toolButton\") {\r\n codeSelfButtons.push(children);\r\n } else if (props?.pageType == \"columnButton\") {\r\n codecolumnButtons.push(children);\r\n } else if (props?.pageType == \"formButton\") {\r\n codeFormButtons.push(children);\r\n }\r\n }\r\n return (\r\n <div className={cls(\"nsc-framework-tablepage\", className)}>\r\n {pageLoading ? (\r\n <div style={{ width: \"100%\", height: \"100%\" }}>\r\n <Spin spinning={pageLoading}></Spin>\r\n </div>\r\n ) : (\r\n <BasePage\r\n {...pageProps}\r\n treeProps={{ ...treeProps, ...settingTreeProps }}\r\n tableProps={{ ...tableProps, ...settingTableProps }}\r\n formProps={{}}\r\n Utils={{ ...defaultUtil }}\r\n ref={this.pageRef}\r\n pageRef={this.pageRef}\r\n onHideForm={() => {\r\n this.setState({\r\n pageProps: { ...pageProps, columns: defaultColumns },\r\n });\r\n this.pageRef.current?.hideForm();\r\n }}\r\n funcs={{ ...deaultFuncs, ...funcs }}\r\n initData={this.initData}\r\n formPageProps={{\r\n formType: formPageProps.formType || \"modal\",\r\n props: formPageProps?.props,\r\n }}\r\n tableCode={this.props.tableCode}\r\n {...otherProps}\r\n >\r\n {renderSelfToolButton({\r\n selfButton: selfToolButton,\r\n pageRef: this.pageRef,\r\n funcs: { ...deaultFuncs, ...funcs },\r\n loading: this.state.buttonLoading,\r\n })}\r\n {codeSelfButtons.map((item) => {\r\n return item;\r\n })}\r\n {renderSelfColumnButton({\r\n selfColumnButton,\r\n pageRef: this.pageRef,\r\n funcs: { ...deaultFuncs, ...funcs },\r\n })}\r\n {codecolumnButtons.map((item) => {\r\n return item;\r\n })}\r\n {renderSelfToolButton({\r\n selfButton: selfFormButton,\r\n pageRef: this.pageRef,\r\n funcs: { ...deaultFuncs, ...funcs },\r\n loading: this.state.buttonLoading,\r\n type: \"formButton\",\r\n })}\r\n {codeFormButtons.map((item) => {\r\n return item;\r\n })}\r\n </BasePage>\r\n )}\r\n <ModalForm ref={this.modalRef} />\r\n </div>\r\n );\r\n }\r\n}\r\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["BasePage","Spin","React","NscRequest","cls","defaultComFuncs","defaultUtil","ModalForm","renderSelfColumnButton","renderSelfToolButton","ModalManager","deepMerge","getPageData","params","get","xssFilter","autoPrefix","setFieldDisabled","data","key","disabled","columns","newColumns","map","item","obj","_objectSpread","dataIndex","indexOf","props","push","setFieldVisible","visible","editor","setFieldPropsData","propsData","defaultStateValue","pageProps","treeProps","store","url","autoLoad","tableProps","selfToolButton","selfColumnButton","selfFormButton","pageLoading","defaultColumns","otherProps","buttonLoading","formPageProps","SettingTable","Component","constructor","arguments","_defineProperty","createRef","res","state","showSearch","defaultSearch","tableDataResource","func","Function","pageRef","setTimeout","_this$pageRef$current","_this$pageRef$current2","current","tableLoad","setSearchParams","componentDidMount","getData","register","modalRef","componentDidUpdate","prevProps","prevState","snapshot","tableCode","setState","published","menuCode","tabParams","code","isPublished","then","_page_props$permissio","table_props","JSON","parse","tree_props","page_props","other_props","otherParams","form_props","formProps","permission","has","Utils","paramFunc","converTabParams","requestParams","newRequestParams","queryParams","addParams","editorParams","converParams","other","_objectWithoutProperties","_excluded","newParams","columnButtons","toolButtons","selfButton","_message","error","getSearchValues","_this$pageRef$current3","value","callBack","_this$pageRef$current4","_this$pageRef$current5","requestConfig","length","undefined","tableReload","_this$pageRef$current6","getSelectedRowKeys","_this$pageRef$current7","getSelectedRowDatas","_this$pageRef$current8","resetSelectedRowKeys","_this$pageRef$current9","render","className","funcs","baseProps","settingTreeProps","settingTableProps","_excluded2","_this","deaultFuncs","newData","setButtonLoading","loading","openFormModal","showModal","children","codeSelfButtons","codecolumnButtons","codeFormButtons","Array","isArray","child","_child$props","_child$props2","_child$props3","pageType","_item$props","_item$props2","_item$props3","newTableProps","newTreeProps","createElement","style","width","height","spinning","_extends","ref","onHideForm","_this$pageRef$current10","hideForm","initData","formType","type"],"sources":["../../../src/components/page/SettingTable/index.tsx"],"sourcesContent":["import { forwardRef, useEffect, useImperativeHandle, useState } from \"react\";\r\nimport BasePage, { NSCBaseBageProps } from \"../BasePage\";\r\nimport Spin from \"../../base/spin\";\r\nimport Button from \"../../base/button\";\r\nimport \"./index.less\";\r\nimport React from \"react\";\r\nimport NscRequest from \"nsc-request\";\r\nimport cls from \"classnames\";\r\nimport { message } from \"antd\";\r\nimport {\r\n defaultComFuncs,\r\n defaultUtil,\r\n ModalForm,\r\n renderSelfColumnButton,\r\n renderSelfToolButton,\r\n ModalManager,\r\n OpenParms,\r\n} from \"../SettingUtil/utils\";\r\nimport { deepMerge } from \"../../utils\";\r\n\r\nconst getPageData = (params: any) => {\r\n return NscRequest.get(`/jquick-setting/setting/table/info/`, {\r\n params,\r\n xssFilter: false,\r\n autoPrefix: true,\r\n });\r\n};\r\n\r\n//设置表单字段只读\r\nconst setFieldDisabled = (data: Array<any>, key, disabled) => {\r\n const columns = [...data];\r\n let newColumns = [] as any;\r\n columns.map((item) => {\r\n let obj = { ...item };\r\n if (item.dataIndex == key || key.indexOf(item.dataIndex) > -1) {\r\n let props = obj.props ? { ...obj.props } : {};\r\n props.disabled = disabled;\r\n obj.props = props;\r\n }\r\n newColumns.push(obj);\r\n });\r\n return newColumns;\r\n};\r\n//设置表单字段隐藏\r\nconst setFieldVisible = (data: Array<any>, key, visible) => {\r\n const columns = [...data];\r\n let newColumns = [] as any;\r\n columns.map((item) => {\r\n let obj = { ...item };\r\n if (item.dataIndex == key || key.indexOf(item.dataIndex) > -1) {\r\n obj.editor = visible;\r\n }\r\n newColumns.push(obj);\r\n });\r\n return newColumns;\r\n};\r\n\r\nconst setFieldPropsData = (data: Array<any>, key, propsData) => {\r\n const columns = [...data];\r\n let newColumns = [] as any;\r\n columns.map((item) => {\r\n let obj = { ...item };\r\n if (item.dataIndex == key) {\r\n let props = obj.props ? { ...obj.props } : {};\r\n props.data = propsData;\r\n obj.props = props;\r\n }\r\n newColumns.push(obj);\r\n });\r\n return newColumns;\r\n};\r\ninterface IProps {\r\n tableCode: string;\r\n className?: any;\r\n menuCode?: string;\r\n funcs?: any;\r\n published?: boolean;\r\n instanceRef?: any;\r\n tabParams?: any;\r\n onCallBacks?: {\r\n treeSelectCallBack?: any; //树点击查询后回调\r\n onQueryCallBack?: any; //查询回调,查询数据后回调\r\n onSumbitCallBack?: any; //保存回调,保存数据成功后回调\r\n onDeleteCallBack?: any; //删除按钮回调,删除数据后执行\r\n onEditorCallBack?: any; //编辑按钮回调,打开弹框后执行\r\n onAddCallBack?: any; //添加按钮回调,打开弹框后执行\r\n onSearchCallBack?: any; //列表查询按钮回调,打开弹框后执行\r\n };\r\n baseProps?: NSCBaseBageProps;\r\n autoLoad?: boolean;\r\n}\r\n\r\nconst defaultStateValue = {\r\n pageProps: {} as any,\r\n treeProps: { store: { url: \"\", autoLoad: false } } as any,\r\n tableProps: {} as any,\r\n selfToolButton: [] as any,\r\n selfColumnButton: [] as any,\r\n selfFormButton: [] as any,\r\n pageLoading: true,\r\n defaultColumns: [] as any,\r\n otherProps: {} as any,\r\n buttonLoading: {} as any,\r\n formPageProps: {} as any,\r\n};\r\nexport default class SettingTable extends React.Component<IProps, any> {\r\n state = {\r\n ...defaultStateValue,\r\n };\r\n pageRef = React.createRef<any>();\r\n modalRef = React.createRef<any>();\r\n\r\n componentDidMount(): void {\r\n this.getData();\r\n ModalManager.register(this.modalRef);\r\n }\r\n\r\n componentDidUpdate(\r\n prevProps: Readonly<IProps>,\r\n prevState: Readonly<any>,\r\n snapshot?: any\r\n ): void {\r\n if (prevProps.tableCode != this.props.tableCode) {\r\n this.setState(\r\n {\r\n ...defaultStateValue,\r\n },\r\n () => {\r\n this.getData();\r\n }\r\n );\r\n }\r\n }\r\n\r\n initData = (res: any) => {\r\n const { otherProps, pageProps } = this.state;\r\n if (\r\n pageProps.showSearch !== false &&\r\n otherProps.defaultSearch &&\r\n otherProps.tableDataResource == \"url\"\r\n ) {\r\n let func = new Function(\"Utils,eventOption\", otherProps.defaultSearch);\r\n const params = func(defaultUtil, { pageRef: this.pageRef });\r\n setTimeout(() => {\r\n this.pageRef.current?.tableLoad({ ...params });\r\n this.pageRef.current?.setSearchParams({ ...params });\r\n }, 50); //直接设置,pageRef没绑定,暂时通过延迟函数进行解决\r\n }\r\n };\r\n // 获取数据\r\n getData() {\r\n // 从props中获取tableCode、published、menuCode\r\n this.setState({\r\n pageLoading: true,\r\n });\r\n const { tableCode, published = true, menuCode, tabParams } = this.props;\r\n // 如果tableCode存在\r\n if (tableCode) {\r\n // 定义参数\r\n let params = { code: tableCode } as any;\r\n // 如果published为true\r\n if (published) {\r\n // 设置参数isPublished为1\r\n params.isPublished = 1;\r\n }\r\n // 调用getPageData方法获取数据\r\n getPageData({ ...params }).then((res: any) => {\r\n if (res.code == 200 && res.data) {\r\n let table_props = JSON.parse(res.data.tableProps || \"{}\") || {};\r\n let tree_props = JSON.parse(res.data.treeProps || \"{}\") || {};\r\n let page_props = JSON.parse(res.data.pageProps || \"{}\") || {};\r\n let other_props = JSON.parse(res.data.otherParams || \"{}\") || {};\r\n let form_props = JSON.parse(res.data.formProps || \"{}\") || {};\r\n if (page_props.permission?.has == true) {\r\n page_props.permission.menuCode = menuCode;\r\n }\r\n if (published == false) {\r\n page_props.permission = false;\r\n }\r\n if (\r\n (page_props.showSearch !== false &&\r\n other_props.defaultSearch &&\r\n other_props?.tableDataResource == \"url\") ||\r\n this.props.autoLoad === false\r\n ) {\r\n table_props.store.autoLoad = false;\r\n }\r\n if (tabParams) {\r\n const Utils = defaultUtil || {};\r\n let paramFunc = new Function(\"Utils\", tabParams);\r\n let converTabParams = paramFunc(Utils);\r\n if (page_props.requestParams) {\r\n let { requestParams = {} } = page_props;\r\n let newRequestParams = {\r\n queryParams: null,\r\n addParams: null,\r\n editorParams: null,\r\n };\r\n for (let key in newRequestParams) {\r\n if (requestParams[key]) {\r\n let func = new Function(\"Utils\", requestParams[key]);\r\n let converParams = func(Utils);\r\n const { data, ...other } = converParams;\r\n let newParams = {\r\n data: { ...converTabParams, ...data },\r\n ...other,\r\n };\r\n newRequestParams[key] = newParams;\r\n } else {\r\n newRequestParams[key] = { data: { ...converTabParams } };\r\n }\r\n }\r\n page_props.requestParams = { ...newRequestParams };\r\n } else {\r\n page_props.requestParams = {\r\n queryParams: { data: { ...converTabParams } },\r\n addParams: { data: { ...converTabParams } },\r\n editorParams: { data: { ...converTabParams } },\r\n };\r\n }\r\n }\r\n this.setState(\r\n {\r\n pageProps: {\r\n ...page_props,\r\n },\r\n treeProps: {\r\n ...tree_props,\r\n },\r\n tableProps: {\r\n ...table_props,\r\n },\r\n otherProps: { ...other_props },\r\n selfColumnButton: JSON.parse(res.data.columnButtons) || [],\r\n selfToolButton: JSON.parse(res.data.toolButtons) || [],\r\n defaultColumns: page_props.columns,\r\n formPageProps: form_props,\r\n selfFormButton: form_props?.selfButton || [],\r\n },\r\n () => {\r\n this.setState({\r\n pageLoading: false,\r\n });\r\n }\r\n );\r\n } else if (res.code == 200 && res.data == null) {\r\n message.error(\"未找到配置信息!\");\r\n this.setState({\r\n pageLoading: false,\r\n });\r\n } else {\r\n this.setState({\r\n pageLoading: false,\r\n });\r\n }\r\n });\r\n } else {\r\n this.setState({\r\n pageLoading: false,\r\n });\r\n }\r\n }\r\n // onSearch() {}\r\n getSearchValues() {\r\n const value = this.pageRef.current?.getSearchValues();\r\n return value;\r\n }\r\n setSearchParams(params, callBack) {\r\n this.pageRef.current?.setSearchParams(params);\r\n }\r\n tableLoad(params: any, requestConfig = {}) {\r\n this.pageRef.current?.tableLoad(params, requestConfig);\r\n }\r\n tableReload(params = {}, autoLoad = true) {\r\n this.pageRef.current?.tableReload(params, autoLoad);\r\n }\r\n getSelectedRowKeys() {\r\n return this.pageRef.current?.getSelectedRowKeys();\r\n }\r\n getSelectedRowDatas() {\r\n return this.pageRef.current?.getSelectedRowDatas();\r\n }\r\n\r\n resetSelectedRowKeys() {\r\n return this.pageRef.current?.resetSelectedRowKeys();\r\n }\r\n render() {\r\n const {\r\n className,\r\n funcs = {},\r\n baseProps = {} as NSCBaseBageProps,\r\n } = this.props;\r\n const {\r\n pageProps,\r\n treeProps,\r\n tableProps,\r\n selfToolButton,\r\n selfColumnButton,\r\n pageLoading,\r\n defaultColumns,\r\n buttonLoading = {},\r\n formPageProps = {},\r\n selfFormButton,\r\n } = this.state;\r\n const {\r\n treeProps: settingTreeProps = {},\r\n tableProps: settingTableProps = {},\r\n ...otherProps\r\n } = baseProps;\r\n let _this = this;\r\n const deaultFuncs = {\r\n setFieldDisabled: (key, disabled) => {\r\n const newData = setFieldDisabled(pageProps.columns, key, disabled);\r\n this.setState({\r\n pageProps: { ...pageProps, columns: newData },\r\n });\r\n },\r\n setFieldVisible: (key, disabled) => {\r\n const newData = setFieldVisible(pageProps.columns, key, disabled);\r\n this.setState({\r\n pageProps: { ...pageProps, columns: newData },\r\n });\r\n },\r\n setFieldPropsData: (key, data) => {\r\n const newData = setFieldPropsData(pageProps.columns, key, data);\r\n this.setState({\r\n pageProps: { ...pageProps, columns: newData },\r\n });\r\n },\r\n // history: (params, type) => {\r\n // jumpPage(params, type);\r\n // },\r\n setButtonLoading: (code, loading) => {\r\n _this.setState({\r\n buttonLoading: { ...buttonLoading, [code]: loading },\r\n });\r\n },\r\n ...defaultComFuncs,\r\n openFormModal: (params: OpenParms) => {\r\n ModalManager.showModal(params);\r\n },\r\n // getCurrentProject: () => {\r\n // return getProject();\r\n // },\r\n };\r\n const { children } = this.props;\r\n let codeSelfButtons = [];\r\n let codecolumnButtons = [];\r\n let codeFormButtons = [];\r\n if (Array.isArray(children)) {\r\n children.map((item: any) => {\r\n if (Array.isArray(item)) {\r\n item.map((child) => {\r\n if (child?.props?.pageType == \"toolButton\") {\r\n codeSelfButtons.push(child);\r\n } else if (child?.props?.pageType == \"columnButton\") {\r\n codecolumnButtons.push(child);\r\n } else if (child?.props?.pageType == \"formButton\") {\r\n codeFormButtons.push(child);\r\n }\r\n });\r\n } else {\r\n if (item?.props?.pageType == \"toolButton\") {\r\n codeSelfButtons.push(item);\r\n } else if (item?.props?.pageType == \"columnButton\") {\r\n codecolumnButtons.push(item);\r\n } else if (item?.props?.pageType == \"formButton\") {\r\n codeFormButtons.push(item);\r\n }\r\n }\r\n });\r\n } else if (children) {\r\n const { props }: any = children;\r\n if (props?.pageType == \"toolButton\") {\r\n codeSelfButtons.push(children);\r\n } else if (props?.pageType == \"columnButton\") {\r\n codecolumnButtons.push(children);\r\n } else if (props?.pageType == \"formButton\") {\r\n codeFormButtons.push(children);\r\n }\r\n }\r\n let newTableProps = deepMerge({ ...tableProps }, { ...settingTableProps });\r\n let newTreeProps = deepMerge({ ...treeProps }, { ...settingTreeProps });\r\n return (\r\n <div className={cls(\"nsc-framework-tablepage\", className)}>\r\n {pageLoading ? (\r\n <div style={{ width: \"100%\", height: \"100%\" }}>\r\n <Spin spinning={pageLoading}></Spin>\r\n </div>\r\n ) : (\r\n <BasePage\r\n {...pageProps}\r\n treeProps={{ ...newTreeProps }}\r\n tableProps={{ ...newTableProps }}\r\n formProps={{}}\r\n Utils={{ ...defaultUtil }}\r\n ref={this.pageRef}\r\n pageRef={this.pageRef}\r\n onHideForm={() => {\r\n this.setState({\r\n pageProps: { ...pageProps, columns: defaultColumns },\r\n });\r\n this.pageRef.current?.hideForm();\r\n }}\r\n funcs={{ ...deaultFuncs, ...funcs }}\r\n initData={this.initData}\r\n formPageProps={{\r\n formType: formPageProps.formType || \"modal\",\r\n props: formPageProps?.props,\r\n ...formPageProps?.otherProps,\r\n }}\r\n tableCode={this.props.tableCode}\r\n {...otherProps}\r\n >\r\n {renderSelfToolButton({\r\n selfButton: selfToolButton,\r\n pageRef: this.pageRef,\r\n funcs: { ...deaultFuncs, ...funcs },\r\n loading: this.state.buttonLoading,\r\n })}\r\n {codeSelfButtons.map((item) => {\r\n return item;\r\n })}\r\n {renderSelfColumnButton({\r\n selfColumnButton,\r\n pageRef: this.pageRef,\r\n funcs: { ...deaultFuncs, ...funcs },\r\n })}\r\n {codecolumnButtons.map((item) => {\r\n return item;\r\n })}\r\n {renderSelfToolButton({\r\n selfButton: selfFormButton,\r\n pageRef: this.pageRef,\r\n funcs: { ...deaultFuncs, ...funcs },\r\n loading: this.state.buttonLoading,\r\n type: \"formButton\",\r\n })}\r\n {codeFormButtons.map((item) => {\r\n return item;\r\n })}\r\n </BasePage>\r\n )}\r\n <ModalForm ref={this.modalRef} />\r\n </div>\r\n );\r\n }\r\n}\r\n"],"mappings":"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"}
package/lib/utils.d.ts CHANGED
@@ -14,6 +14,7 @@ export declare const getLess: (styles: Object, name: string) => any;
14
14
  export declare const converFunction: (func: any, eventOption?: any, Utils?: any) => void;
15
15
  export declare function simplifyObject(obj: any): {};
16
16
  export declare function simplifyColumns(columns: any): any;
17
+ export declare function deepMerge(...sources: any[]): any;
17
18
  declare const _default: {
18
19
  encryptValue: typeof encryptValue;
19
20
  checkModel: typeof checkModel;
package/lib/utils.js CHANGED
@@ -18,6 +18,7 @@ import InputNumber from "./base/input/Number";
18
18
  import getConfig from "./config";
19
19
  import AntIcon from "@ant-design/icons";
20
20
  import * as icons from "@ant-design/icons";
21
+ import lodash from "lodash";
21
22
  export function encryptValue(encrypt, value) {
22
23
  let encryptValue = value;
23
24
  if (encrypt && typeof encrypt === "object") {
@@ -201,6 +202,45 @@ export function simplifyObject(obj) {
201
202
  export function simplifyColumns(columns) {
202
203
  return columns.map(col => simplifyObject(col));
203
204
  }
205
+
206
+ //对象深度合并
207
+ // export function deepMerge(...sources) {
208
+ // if (sources.length === 0) return {};
209
+ // if (sources.length === 1) return lodash.cloneDeep(sources[0]);
210
+ // const result = lodash.cloneDeep(sources[0]);
211
+ // for (let i = 1; i < sources.length; i++) {
212
+ // const source = sources[i];
213
+ // for (const [key, value] of Object.entries(source)) {
214
+ // if (Array.isArray(value)) {
215
+ // result[key] = lodash.cloneDeep(value);
216
+ // } else if (lodash.isPlainObject(value) && lodash.isPlainObject(result[key])) {
217
+ // result[key] = deepMerge(result[key], value);
218
+ // } else {
219
+ // result[key] = value;
220
+ // }
221
+ // }
222
+ // }
223
+
224
+ // return result;
225
+ // }
226
+ export function deepMerge() {
227
+ if (arguments.length === 0) return {};
228
+ if (arguments.length === 1) return lodash.cloneDeep(arguments.length <= 0 ? undefined : arguments[0]);
229
+ const result = lodash.cloneDeep(arguments.length <= 0 ? undefined : arguments[0]);
230
+ for (let i = 1; i < arguments.length; i++) {
231
+ const source = i < 0 || arguments.length <= i ? undefined : arguments[i];
232
+ for (const [key, value] of Object.entries(source)) {
233
+ if (lodash.isPlainObject(value) && lodash.isPlainObject(result[key])) {
234
+ result[key] = deepMerge(result[key], value);
235
+ } else if (Array.isArray(value) && Array.isArray(result[key])) {
236
+ result[key] = lodash.cloneDeep(value);
237
+ } else {
238
+ result[key] = lodash.cloneDeep(value);
239
+ }
240
+ }
241
+ }
242
+ return result;
243
+ }
204
244
  export default {
205
245
  encryptValue,
206
246
  checkModel,
@@ -209,4 +249,4 @@ export default {
209
249
  checkChars,
210
250
  px2vw
211
251
  };
212
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJzbTJFbmNyeXB0VmFsdWUiLCJzbTRFbmNyeXB0IiwiYmFzZTY0RW5jcnlwdCIsIm1kNUVuY3J5cHQiLCJjaGVja1ZhbHVlIiwic20yRGVjcnlwdFZhbHVlIiwic200RGVjcnlwdCIsImJhc2U2NERlY3J5cHQiLCJpc0VtcHR5T2JqIiwiaXNFbXB0eSIsIkljb25Gb250IiwiUmVhY3QiLCJSYWRpbyIsIklucHV0IiwiU2VsZWN0IiwiQ2FzY2FkZXIiLCJDaGVja2JveCIsIkRhdGVQaWNrZXIiLCJSYW5nZVBpY2tlciIsIlN3aXRjaCIsIlVwbG9hZCIsIlBhc3N3b3JkIiwiVGV4dEFyZWEiLCJJbnB1dE51bWJlciIsImdldENvbmZpZyIsIkFudEljb24iLCJpY29ucyIsImVuY3J5cHRWYWx1ZSIsImVuY3J5cHQiLCJ2YWx1ZSIsInR5cGUiLCJrZXkiLCJkZWNyeXB0VmFsdWUiLCJkZWNyeXB0IiwiY2hlY2tNb2RlbCIsImNoZWNrdHlwZSIsImdldENhY2hlS2V5Iiwic290cmUiLCJ2aWV3bmFtZSIsInJlcXVlc3RDb25maWciLCJ1cmwiLCJKU09OIiwic3RyaW5naWZ5IiwiY2hlY2tDaGFycyIsInJlZyIsInRlc3QiLCJweDJ2dyIsInB4VmFsdWUiLCJiYXNlVmFsdWUiLCJiYXNlV2lkdGgiLCJ0b0ZpeGVkIiwiZ2V0SWNvbiIsImljb24iLCJkZWZhdWx0SWNvbiIsImljb25QcmVmaXgiLCJzaG93SWNvbiIsInN0YXJ0c1dpdGgiLCJjcmVhdGVFbGVtZW50IiwiY29tcG9uZW50IiwiZ2V0Tm9kZSIsInByb3BzIiwiRElWIiwiR3JvdXAiLCJkZWJvdW5jZSIsImZuIiwibXMiLCJ0aW1lcklkIiwiY2xlYXJUaW1lb3V0Iiwic2V0VGltZW91dCIsImFwcGx5IiwiYXJndW1lbnRzIiwidGhyb3R0bGUiLCJnZXRMZXNzIiwic3R5bGVzIiwibmFtZSIsImNvbnZlckZ1bmN0aW9uIiwiZnVuYyIsImV2ZW50T3B0aW9uIiwiVXRpbHMiLCJzZWxmRnVuYyIsIkZ1bmN0aW9uIiwic2ltcGxpZnlPYmplY3QiLCJvYmoiLCJyZXN1bHQiLCJ2YWwiLCJzaW1wbGlmeUNvbHVtbnMiLCJjb2x1bW5zIiwibWFwIiwiY29sIl0sInNvdXJjZXMiOlsiLi4vc3JjL2NvbXBvbmVudHMvdXRpbHMudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbiAqIEBEZXNjcmlwdHRpb246XHJcbiAqIEB2ZXJzaW9uOlxyXG4gKiBAQXV0aG9yOiByeHpodVxyXG4gKiBARGF0ZTogMjAyMS0wNC0xMiAxNzozMjo1M1xyXG4gKiBATGFzdEVkaXRvcnM6IHJ4emh1XHJcbiAqIEBMYXN0RWRpdFRpbWU6IDIwMjEtMDQtMjIgMTc6MTQ6MDRcclxuICovXHJcbmltcG9ydCB7XHJcbiAgc20yRW5jcnlwdFZhbHVlLFxyXG4gIHNtNEVuY3J5cHQsXHJcbiAgYmFzZTY0RW5jcnlwdCxcclxuICBtZDVFbmNyeXB0LFxyXG4gIGNoZWNrVmFsdWUsXHJcbiAgc20yRGVjcnlwdFZhbHVlLFxyXG4gIHNtNERlY3J5cHQsXHJcbiAgYmFzZTY0RGVjcnlwdCxcclxuICBpc0VtcHR5T2JqLFxyXG59IGZyb20gXCJAYmotbnNjL2Z1bmN0aW9uc1wiO1xyXG5pbXBvcnQgeyBlbmNyeXB0IH0gZnJvbSBcIi4vSW50ZXJmYWNlXCI7XHJcbmltcG9ydCB7IGlzRW1wdHkgfSBmcm9tIFwibG9kYXNoXCI7XHJcbmltcG9ydCBJY29uRm9udCBmcm9tIFwiLi9iYXNlL2NvbW1vbi9JY29uRm9udFwiO1xyXG5pbXBvcnQgUmVhY3QgZnJvbSBcInJlYWN0XCI7XHJcbmltcG9ydCB7XHJcbiAgUmFkaW8sXHJcbiAgSW5wdXQsXHJcbiAgU2VsZWN0LFxyXG4gIENhc2NhZGVyLFxyXG4gIENoZWNrYm94LFxyXG4gIERhdGVQaWNrZXIsXHJcbiAgUmFuZ2VQaWNrZXIsXHJcbiAgU3dpdGNoLFxyXG4gIFVwbG9hZCxcclxufSBmcm9tIFwiLlwiO1xyXG5pbXBvcnQgUGFzc3dvcmQgZnJvbSBcIi4vYmFzZS9pbnB1dC9QYXNzd29yZFwiO1xyXG5pbXBvcnQgVGV4dEFyZWEgZnJvbSBcIi4vYmFzZS9pbnB1dC9UZXh0QXJlYVwiO1xyXG5pbXBvcnQgSW5wdXROdW1iZXIgZnJvbSBcIi4vYmFzZS9pbnB1dC9OdW1iZXJcIjtcclxuLy8gaW1wb3J0IHsgVXBsb2FkIH0gZnJvbSBcImFudGRcIjtcclxuaW1wb3J0IGdldENvbmZpZyBmcm9tIFwiLi9jb25maWdcIjtcclxuaW1wb3J0IEFudEljb24gZnJvbSBcIkBhbnQtZGVzaWduL2ljb25zXCI7XHJcbmltcG9ydCAqIGFzIGljb25zIGZyb20gXCJAYW50LWRlc2lnbi9pY29uc1wiO1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGVuY3J5cHRWYWx1ZShlbmNyeXB0OiBlbmNyeXB0IHwgYm9vbGVhbiwgdmFsdWUpIHtcclxuICBsZXQgZW5jcnlwdFZhbHVlID0gdmFsdWU7XHJcbiAgaWYgKGVuY3J5cHQgJiYgdHlwZW9mIGVuY3J5cHQgPT09IFwib2JqZWN0XCIpIHtcclxuICAgIGNvbnN0IHsgdHlwZSwga2V5IH0gPSBlbmNyeXB0O1xyXG4gICAgaWYgKHR5cGUgPT0gXCJzbTJcIikge1xyXG4gICAgICBlbmNyeXB0VmFsdWUgPSBrZXkgPyBzbTJFbmNyeXB0VmFsdWUodmFsdWUsIGtleSkgOiBzbTJFbmNyeXB0VmFsdWUodmFsdWUpO1xyXG4gICAgfSBlbHNlIGlmICh0eXBlID09IFwic200XCIpIHtcclxuICAgICAgZW5jcnlwdFZhbHVlID0gc200RW5jcnlwdCh2YWx1ZSk7XHJcbiAgICB9IGVsc2UgaWYgKHR5cGUgPT0gXCJiYXNlNjRcIikge1xyXG4gICAgICBlbmNyeXB0VmFsdWUgPSBiYXNlNjRFbmNyeXB0KHZhbHVlKTtcclxuICAgIH0gZWxzZSBpZiAodHlwZSA9PSBcIm1kNVwiKSB7XHJcbiAgICAgIGVuY3J5cHRWYWx1ZSA9IG1kNUVuY3J5cHQodmFsdWUpO1xyXG4gICAgfVxyXG4gIH0gZWxzZSBpZiAoZW5jcnlwdCAmJiB0eXBlb2YgZW5jcnlwdCA9PT0gXCJib29sZWFuXCIpIHtcclxuICAgIGVuY3J5cHRWYWx1ZSA9IHNtMkVuY3J5cHRWYWx1ZSh2YWx1ZSk7XHJcbiAgfVxyXG4gIHJldHVybiBlbmNyeXB0VmFsdWU7XHJcbn1cclxuZXhwb3J0IGZ1bmN0aW9uIGRlY3J5cHRWYWx1ZShkZWNyeXB0OiBlbmNyeXB0IHwgYm9vbGVhbiwgdmFsdWUpIHtcclxuICBsZXQgZGVjcnlwdFZhbHVlID0gdmFsdWU7XHJcbiAgaWYgKGRlY3J5cHQgJiYgdHlwZW9mIGRlY3J5cHQgPT09IFwib2JqZWN0XCIpIHtcclxuICAgIGNvbnN0IHsgdHlwZSwga2V5IH0gPSBkZWNyeXB0O1xyXG4gICAgaWYgKHR5cGUgPT0gXCJzbTJcIikge1xyXG4gICAgICBkZWNyeXB0VmFsdWUgPSBrZXkgPyBzbTJEZWNyeXB0VmFsdWUodmFsdWUsIGtleSkgOiBzbTJEZWNyeXB0VmFsdWUodmFsdWUpO1xyXG4gICAgfSBlbHNlIGlmICh0eXBlID09IFwic200XCIpIHtcclxuICAgICAgZGVjcnlwdFZhbHVlID0gc200RGVjcnlwdCh2YWx1ZSk7XHJcbiAgICB9IGVsc2UgaWYgKHR5cGUgPT0gXCJiYXNlNjRcIikge1xyXG4gICAgICBkZWNyeXB0VmFsdWUgPSBiYXNlNjREZWNyeXB0KHZhbHVlKTtcclxuICAgIH1cclxuICB9IGVsc2UgaWYgKGRlY3J5cHQgJiYgdHlwZW9mIGRlY3J5cHQgPT09IFwiYm9vbGVhblwiKSB7XHJcbiAgICBkZWNyeXB0VmFsdWUgPSBzbTJEZWNyeXB0VmFsdWUodmFsdWUpO1xyXG4gIH1cclxuICByZXR1cm4gZGVjcnlwdFZhbHVlO1xyXG59XHJcbmV4cG9ydCBmdW5jdGlvbiBjaGVja01vZGVsKGNoZWNrdHlwZSwgdmFsdWUpIHtcclxuICByZXR1cm4gY2hlY2tWYWx1ZSh2YWx1ZSwgY2hlY2t0eXBlKTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGdldENhY2hlS2V5KHNvdHJlKSB7XHJcbiAgY29uc3QgeyB2aWV3bmFtZSwgcmVxdWVzdENvbmZpZywgdXJsIH0gPSBzb3RyZTtcclxuICBsZXQga2V5O1xyXG4gIGlmICh2aWV3bmFtZSkge1xyXG4gICAga2V5ID0gdmlld25hbWU7XHJcbiAgfSBlbHNlIHtcclxuICAgIGtleSA9IHJlcXVlc3RDb25maWcgPyB1cmwgKyBKU09OLnN0cmluZ2lmeShyZXF1ZXN0Q29uZmlnKSA6IHVybDtcclxuICB9XHJcbiAgcmV0dXJuIGtleTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGNoZWNrQ2hhcnModmFsdWU6IHN0cmluZykge1xyXG4gIGNvbnN0IHJlZyA9IC9eWzAtOWEtekEtWlxcdTRFMDAtXFx1OUZBNVxcdUY5MDAtXFx1RkEyRF0qJC87XHJcbiAgcmV0dXJuIHJlZy50ZXN0KHZhbHVlKTtcclxufVxyXG5cclxuLy8g6L2s5o2icHjliLB2d1xyXG5leHBvcnQgZnVuY3Rpb24gcHgydncocHhWYWx1ZTogbnVtYmVyLCBiYXNlVmFsdWU/OiBudW1iZXIpOiBzdHJpbmcge1xyXG4gIGNvbnN0IGJhc2VXaWR0aCA9IGJhc2VWYWx1ZSB8fCAxOTIwO1xyXG4gIHJldHVybiAoKHB4VmFsdWUgKiAxMDApIC8gYmFzZVdpZHRoKS50b0ZpeGVkKDQpICsgXCJ2d1wiO1xyXG59XHJcblxyXG4vL+iOt+WPlkljb25cclxuZXhwb3J0IGZ1bmN0aW9uIGdldEljb24oaWNvbiwgZGVmYXVsdEljb24/OiBhbnkpIHtcclxuICBjb25zdCB7IGljb25QcmVmaXggfSA9IGdldENvbmZpZygpO1xyXG4gIGlmICghaXNFbXB0eShpY29uKSAmJiB0eXBlb2YgaWNvbiA9PT0gXCJzdHJpbmdcIikge1xyXG4gICAgY29uc3Qgc2hvd0ljb24gPSBpY29uLnN0YXJ0c1dpdGgoaWNvblByZWZpeCkgPyAoXHJcbiAgICAgIDxJY29uRm9udCB0eXBlPXtpY29ufSAvPlxyXG4gICAgKSA6IChcclxuICAgICAgPEFudEljb24gY29tcG9uZW50PXtpY29uc1tpY29uXX0gLz5cclxuICAgICk7XHJcbiAgICByZXR1cm4gc2hvd0ljb247XHJcbiAgfSBlbHNlIGlmIChkZWZhdWx0SWNvbikge1xyXG4gICAgcmV0dXJuIDxJY29uRm9udCB0eXBlPXtcImljb254aWFuZ211c2hlem9uZ2d1YW5saVwifSAvPjtcclxuICB9XHJcbiAgcmV0dXJuIGljb247XHJcbn1cclxuZXhwb3J0IGZ1bmN0aW9uIGdldE5vZGUodHlwZSwgcHJvcHMpIHtcclxuICBsZXQgRElWID0gPElucHV0IHsuLi5wcm9wc30gLz47XHJcbiAgaWYgKHR5cGUgPT0gXCJJbnB1dFwiKSB7XHJcbiAgICBESVYgPSA8SW5wdXQgey4uLnByb3BzfSAvPjtcclxuICB9IGVsc2UgaWYgKHR5cGUgPT0gXCJTZWxlY3RcIikge1xyXG4gICAgRElWID0gPFNlbGVjdCB7Li4ucHJvcHN9IC8+O1xyXG4gIH0gZWxzZSBpZiAodHlwZSA9PSBcIlJhZGlvXCIpIHtcclxuICAgIERJViA9IDxSYWRpby5Hcm91cCB7Li4ucHJvcHN9IC8+O1xyXG4gIH0gZWxzZSBpZiAodHlwZSA9PSBcIkNhc2NhZGVyXCIpIHtcclxuICAgIERJViA9IDxDYXNjYWRlciB7Li4ucHJvcHN9IC8+O1xyXG4gIH0gZWxzZSBpZiAodHlwZSA9PSBcIlBhc3N3b3JkXCIpIHtcclxuICAgIERJViA9IDxQYXNzd29yZCB7Li4ucHJvcHN9IC8+O1xyXG4gIH0gZWxzZSBpZiAodHlwZSA9PSBcIlRleHRBcmVhXCIpIHtcclxuICAgIERJViA9IDxUZXh0QXJlYSB7Li4ucHJvcHN9IC8+O1xyXG4gIH0gZWxzZSBpZiAodHlwZSA9PSBcIkNoZWNrYm94XCIpIHtcclxuICAgIERJViA9IDxDaGVja2JveC5Hcm91cCB7Li4ucHJvcHN9IC8+O1xyXG4gIH0gZWxzZSBpZiAodHlwZSA9PSBcIkRhdGVQaWNrZXJcIikge1xyXG4gICAgRElWID0gPERhdGVQaWNrZXIgey4uLnByb3BzfSAvPjtcclxuICB9IGVsc2UgaWYgKHR5cGUgPT0gXCJOdW1iZXJcIikge1xyXG4gICAgRElWID0gPElucHV0TnVtYmVyIHsuLi5wcm9wc30gLz47XHJcbiAgfSBlbHNlIGlmICh0eXBlID09IFwiVXBsb2FkXCIpIHtcclxuICAgIERJViA9IDxVcGxvYWQgey4uLnByb3BzfSAvPjtcclxuICB9IGVsc2UgaWYgKHR5cGUgPT0gXCJSYW5nZVBpY2tlclwiKSB7XHJcbiAgICBESVYgPSA8UmFuZ2VQaWNrZXIgey4uLnByb3BzfSAvPjtcclxuICB9XHJcbiAgaWYgKHR5cGUgPT0gXCJTd2l0Y2hcIikge1xyXG4gICAgRElWID0gPFN3aXRjaCB7Li4ucHJvcHN9IC8+O1xyXG4gIH1cclxuICByZXR1cm4gRElWO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gZGVib3VuY2UoZm4sIG1zKSB7XHJcbiAgLy9mbjropoHpmLLmipbnmoTlh73mlbAgbXM65pe26Ze0XHJcbiAgbGV0IHRpbWVySWQ7IC8vIOWIm+W7uuS4gOS4quagh+iusOeUqOadpeWtmOaUvuWumuaXtuWZqOeahOi/lOWbnuWAvFxyXG4gIHJldHVybiBmdW5jdGlvbiAoKSB7XHJcbiAgICB0aW1lcklkICYmIGNsZWFyVGltZW91dCh0aW1lcklkKTsgLy8g5q+P5b2T55So5oi36L6T5YWl55qE5pe25YCZ5oqK5YmN5LiA5LiqIHNldFRpbWVvdXQgY2xlYXIg5o6JXHJcbiAgICAvLyDnhLblkI7lj4jliJvlu7rkuIDkuKrmlrDnmoQgc2V0VGltZW91dCwg6L+Z5qC35bCx6IO95L+d6K+B6L6T5YWl5a2X56ym5ZCO55qEIGludGVydmFsIOmXtOmalOWGheWmguaenOi/mOacieWtl+espui+k+WFpeeahOivne+8jOWwseS4jeS8muaJp+ihjCBmbiDlh73mlbBcclxuICAgIHRpbWVySWQgPSBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgZm4uYXBwbHkodGhpcywgYXJndW1lbnRzKTtcclxuICAgIH0sIG1zKTtcclxuICB9O1xyXG5cclxuICAvLyB2YXIgdGltZXIgPSBudWxsO1xyXG4gIC8vIHJldHVybiBmdW5jdGlvbiAoKSB7XHJcbiAgLy8gICB2YXIgYXJncyA9IGFyZ3VtZW50czsgLy/lj4LmlbDpm4blkIhcclxuICAvLyAgIGNvbnNvbGUubG9nKCdhcmdzJyxhcmdzKVxyXG4gIC8vICAgY2xlYXJUaW1lb3V0KHRpbWVyKTtcclxuICAvLyAgIHRpbWVyID0gc2V0VGltZW91dChmdW5jdGlvbiAoKSB7XHJcbiAgLy8gICAgIGZuLmFwcGx5KHRoaXMsIGFyZ3MpO1xyXG4gIC8vICAgfSwgbXMpO1xyXG4gIC8vIH07XHJcbn1cclxuZXhwb3J0IGZ1bmN0aW9uIHRocm90dGxlKGZuLCBtcykge1xyXG4gIGxldCB0aW1lcklkOyAvLyDliJvlu7rkuIDkuKrmoIforrDnlKjmnaXlrZjmlL7lrprml7blmajnmoRpZFxyXG4gIHJldHVybiBmdW5jdGlvbiAoKSB7XHJcbiAgICAvLyDmsqHmnInlrprml7blmajnrYnlvoXmiafooYzvvIzliJnooajnpLrlj6/ku6XliJvlu7rmlrDnmoTlrprml7blmajmnaXmiafooYzlh73mlbBcclxuICAgIGlmICghdGltZXJJZCkge1xyXG4gICAgICB0aW1lcklkID0gc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgLy8g5a6a5pe25ZmoaWTmuIXnqbrvvIzooajnpLrlj6/ku6XmiafooYzkuIvkuIDmrKHosIPnlKjkuoZcclxuICAgICAgICB0aW1lcklkID0gbnVsbDtcclxuICAgICAgICBmbi5hcHBseSh0aGlzLCBhcmd1bWVudHMpO1xyXG4gICAgICB9LCBtcyk7XHJcbiAgICB9XHJcbiAgfTtcclxufVxyXG5leHBvcnQgY29uc3QgZ2V0TGVzcyA9IChzdHlsZXM6IE9iamVjdCwgbmFtZTogc3RyaW5nKSA9PiB7XHJcbiAgaWYgKGlzRW1wdHlPYmooc3R5bGVzKSkge1xyXG4gICAgcmV0dXJuIG5hbWU7XHJcbiAgfSBlbHNlIHtcclxuICAgIHJldHVybiBzdHlsZXNbbmFtZV07XHJcbiAgfVxyXG59O1xyXG5leHBvcnQgY29uc3QgY29udmVyRnVuY3Rpb24gPSAoZnVuYywgZXZlbnRPcHRpb24/OiBhbnksIFV0aWxzPzogYW55KSA9PiB7XHJcbiAgaWYgKHR5cGVvZiBmdW5jID09IFwic3RyaW5nXCIpIHtcclxuICAgIGNvbnN0IHNlbGZGdW5jID0gbmV3IEZ1bmN0aW9uKFwiZXZlbnRPcHRpb25cIiwgXCJVdGlsc1wiLCBmdW5jKTtcclxuICAgIHNlbGZGdW5jKGV2ZW50T3B0aW9uLCBVdGlscyk7XHJcbiAgfSBlbHNlIHtcclxuICAgIGZ1bmMoZXZlbnRPcHRpb24sIFV0aWxzKTtcclxuICB9XHJcbn07XHJcblxyXG4vLyDkv53nlZnljp/lr7nosaHkuK3miYDmnInigJzln7rnoYDnsbvlnovigJ3nmoTlrZfmrrVcclxuZXhwb3J0IGZ1bmN0aW9uIHNpbXBsaWZ5T2JqZWN0KG9iaikge1xyXG4gIGNvbnN0IHJlc3VsdCA9IHt9O1xyXG4gIGZvciAoY29uc3Qga2V5IGluIG9iaikge1xyXG4gICAgY29uc3QgdmFsID0gb2JqW2tleV07XHJcbiAgICBpZiAoXHJcbiAgICAgIHZhbCA9PT0gbnVsbCB8fFxyXG4gICAgICB0eXBlb2YgdmFsID09PSAnc3RyaW5nJyB8fFxyXG4gICAgICB0eXBlb2YgdmFsID09PSAnbnVtYmVyJyB8fFxyXG4gICAgICB0eXBlb2YgdmFsID09PSAnYm9vbGVhbidcclxuICAgICkge1xyXG4gICAgICByZXN1bHRba2V5XSA9IHZhbDtcclxuICAgIH1cclxuICB9XHJcbiAgcmV0dXJuIHJlc3VsdDtcclxufVxyXG5cclxuLy8g566A5YyW5pW05LiqIGNvbHVtbnMg5pWw57uEXHJcbmV4cG9ydCBmdW5jdGlvbiBzaW1wbGlmeUNvbHVtbnMoY29sdW1ucykge1xyXG4gIHJldHVybiBjb2x1bW5zLm1hcChjb2wgPT4gc2ltcGxpZnlPYmplY3QoY29sKSk7XHJcbn1cclxuXHJcbmV4cG9ydCBkZWZhdWx0IHtcclxuICBlbmNyeXB0VmFsdWUsXHJcbiAgY2hlY2tNb2RlbCxcclxuICBkZWNyeXB0VmFsdWUsXHJcbiAgZ2V0Q2FjaGVLZXksXHJcbiAgY2hlY2tDaGFycyxcclxuICBweDJ2dyxcclxufTtcclxuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7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
252
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJzbTJFbmNyeXB0VmFsdWUiLCJzbTRFbmNyeXB0IiwiYmFzZTY0RW5jcnlwdCIsIm1kNUVuY3J5cHQiLCJjaGVja1ZhbHVlIiwic20yRGVjcnlwdFZhbHVlIiwic200RGVjcnlwdCIsImJhc2U2NERlY3J5cHQiLCJpc0VtcHR5T2JqIiwiaXNFbXB0eSIsIkljb25Gb250IiwiUmVhY3QiLCJSYWRpbyIsIklucHV0IiwiU2VsZWN0IiwiQ2FzY2FkZXIiLCJDaGVja2JveCIsIkRhdGVQaWNrZXIiLCJSYW5nZVBpY2tlciIsIlN3aXRjaCIsIlVwbG9hZCIsIlBhc3N3b3JkIiwiVGV4dEFyZWEiLCJJbnB1dE51bWJlciIsImdldENvbmZpZyIsIkFudEljb24iLCJpY29ucyIsImxvZGFzaCIsImVuY3J5cHRWYWx1ZSIsImVuY3J5cHQiLCJ2YWx1ZSIsInR5cGUiLCJrZXkiLCJkZWNyeXB0VmFsdWUiLCJkZWNyeXB0IiwiY2hlY2tNb2RlbCIsImNoZWNrdHlwZSIsImdldENhY2hlS2V5Iiwic290cmUiLCJ2aWV3bmFtZSIsInJlcXVlc3RDb25maWciLCJ1cmwiLCJKU09OIiwic3RyaW5naWZ5IiwiY2hlY2tDaGFycyIsInJlZyIsInRlc3QiLCJweDJ2dyIsInB4VmFsdWUiLCJiYXNlVmFsdWUiLCJiYXNlV2lkdGgiLCJ0b0ZpeGVkIiwiZ2V0SWNvbiIsImljb24iLCJkZWZhdWx0SWNvbiIsImljb25QcmVmaXgiLCJzaG93SWNvbiIsInN0YXJ0c1dpdGgiLCJjcmVhdGVFbGVtZW50IiwiY29tcG9uZW50IiwiZ2V0Tm9kZSIsInByb3BzIiwiRElWIiwiR3JvdXAiLCJkZWJvdW5jZSIsImZuIiwibXMiLCJ0aW1lcklkIiwiY2xlYXJUaW1lb3V0Iiwic2V0VGltZW91dCIsImFwcGx5IiwiYXJndW1lbnRzIiwidGhyb3R0bGUiLCJnZXRMZXNzIiwic3R5bGVzIiwibmFtZSIsImNvbnZlckZ1bmN0aW9uIiwiZnVuYyIsImV2ZW50T3B0aW9uIiwiVXRpbHMiLCJzZWxmRnVuYyIsIkZ1bmN0aW9uIiwic2ltcGxpZnlPYmplY3QiLCJvYmoiLCJyZXN1bHQiLCJ2YWwiLCJzaW1wbGlmeUNvbHVtbnMiLCJjb2x1bW5zIiwibWFwIiwiY29sIiwiZGVlcE1lcmdlIiwibGVuZ3RoIiwiY2xvbmVEZWVwIiwidW5kZWZpbmVkIiwiaSIsInNvdXJjZSIsIk9iamVjdCIsImVudHJpZXMiLCJpc1BsYWluT2JqZWN0IiwiQXJyYXkiLCJpc0FycmF5Il0sInNvdXJjZXMiOlsiLi4vc3JjL2NvbXBvbmVudHMvdXRpbHMudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbiAqIEBEZXNjcmlwdHRpb246XHJcbiAqIEB2ZXJzaW9uOlxyXG4gKiBAQXV0aG9yOiByeHpodVxyXG4gKiBARGF0ZTogMjAyMS0wNC0xMiAxNzozMjo1M1xyXG4gKiBATGFzdEVkaXRvcnM6IHJ4emh1XHJcbiAqIEBMYXN0RWRpdFRpbWU6IDIwMjEtMDQtMjIgMTc6MTQ6MDRcclxuICovXHJcbmltcG9ydCB7XHJcbiAgc20yRW5jcnlwdFZhbHVlLFxyXG4gIHNtNEVuY3J5cHQsXHJcbiAgYmFzZTY0RW5jcnlwdCxcclxuICBtZDVFbmNyeXB0LFxyXG4gIGNoZWNrVmFsdWUsXHJcbiAgc20yRGVjcnlwdFZhbHVlLFxyXG4gIHNtNERlY3J5cHQsXHJcbiAgYmFzZTY0RGVjcnlwdCxcclxuICBpc0VtcHR5T2JqLFxyXG59IGZyb20gXCJAYmotbnNjL2Z1bmN0aW9uc1wiO1xyXG5pbXBvcnQgeyBlbmNyeXB0IH0gZnJvbSBcIi4vSW50ZXJmYWNlXCI7XHJcbmltcG9ydCB7IGlzRW1wdHkgfSBmcm9tIFwibG9kYXNoXCI7XHJcbmltcG9ydCBJY29uRm9udCBmcm9tIFwiLi9iYXNlL2NvbW1vbi9JY29uRm9udFwiO1xyXG5pbXBvcnQgUmVhY3QgZnJvbSBcInJlYWN0XCI7XHJcbmltcG9ydCB7XHJcbiAgUmFkaW8sXHJcbiAgSW5wdXQsXHJcbiAgU2VsZWN0LFxyXG4gIENhc2NhZGVyLFxyXG4gIENoZWNrYm94LFxyXG4gIERhdGVQaWNrZXIsXHJcbiAgUmFuZ2VQaWNrZXIsXHJcbiAgU3dpdGNoLFxyXG4gIFVwbG9hZCxcclxufSBmcm9tIFwiLlwiO1xyXG5pbXBvcnQgUGFzc3dvcmQgZnJvbSBcIi4vYmFzZS9pbnB1dC9QYXNzd29yZFwiO1xyXG5pbXBvcnQgVGV4dEFyZWEgZnJvbSBcIi4vYmFzZS9pbnB1dC9UZXh0QXJlYVwiO1xyXG5pbXBvcnQgSW5wdXROdW1iZXIgZnJvbSBcIi4vYmFzZS9pbnB1dC9OdW1iZXJcIjtcclxuLy8gaW1wb3J0IHsgVXBsb2FkIH0gZnJvbSBcImFudGRcIjtcclxuaW1wb3J0IGdldENvbmZpZyBmcm9tIFwiLi9jb25maWdcIjtcclxuaW1wb3J0IEFudEljb24gZnJvbSBcIkBhbnQtZGVzaWduL2ljb25zXCI7XHJcbmltcG9ydCAqIGFzIGljb25zIGZyb20gXCJAYW50LWRlc2lnbi9pY29uc1wiO1xyXG5pbXBvcnQgbG9kYXNoIGZyb20gXCJsb2Rhc2hcIjtcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBlbmNyeXB0VmFsdWUoZW5jcnlwdDogZW5jcnlwdCB8IGJvb2xlYW4sIHZhbHVlKSB7XHJcbiAgbGV0IGVuY3J5cHRWYWx1ZSA9IHZhbHVlO1xyXG4gIGlmIChlbmNyeXB0ICYmIHR5cGVvZiBlbmNyeXB0ID09PSBcIm9iamVjdFwiKSB7XHJcbiAgICBjb25zdCB7IHR5cGUsIGtleSB9ID0gZW5jcnlwdDtcclxuICAgIGlmICh0eXBlID09IFwic20yXCIpIHtcclxuICAgICAgZW5jcnlwdFZhbHVlID0ga2V5ID8gc20yRW5jcnlwdFZhbHVlKHZhbHVlLCBrZXkpIDogc20yRW5jcnlwdFZhbHVlKHZhbHVlKTtcclxuICAgIH0gZWxzZSBpZiAodHlwZSA9PSBcInNtNFwiKSB7XHJcbiAgICAgIGVuY3J5cHRWYWx1ZSA9IHNtNEVuY3J5cHQodmFsdWUpO1xyXG4gICAgfSBlbHNlIGlmICh0eXBlID09IFwiYmFzZTY0XCIpIHtcclxuICAgICAgZW5jcnlwdFZhbHVlID0gYmFzZTY0RW5jcnlwdCh2YWx1ZSk7XHJcbiAgICB9IGVsc2UgaWYgKHR5cGUgPT0gXCJtZDVcIikge1xyXG4gICAgICBlbmNyeXB0VmFsdWUgPSBtZDVFbmNyeXB0KHZhbHVlKTtcclxuICAgIH1cclxuICB9IGVsc2UgaWYgKGVuY3J5cHQgJiYgdHlwZW9mIGVuY3J5cHQgPT09IFwiYm9vbGVhblwiKSB7XHJcbiAgICBlbmNyeXB0VmFsdWUgPSBzbTJFbmNyeXB0VmFsdWUodmFsdWUpO1xyXG4gIH1cclxuICByZXR1cm4gZW5jcnlwdFZhbHVlO1xyXG59XHJcbmV4cG9ydCBmdW5jdGlvbiBkZWNyeXB0VmFsdWUoZGVjcnlwdDogZW5jcnlwdCB8IGJvb2xlYW4sIHZhbHVlKSB7XHJcbiAgbGV0IGRlY3J5cHRWYWx1ZSA9IHZhbHVlO1xyXG4gIGlmIChkZWNyeXB0ICYmIHR5cGVvZiBkZWNyeXB0ID09PSBcIm9iamVjdFwiKSB7XHJcbiAgICBjb25zdCB7IHR5cGUsIGtleSB9ID0gZGVjcnlwdDtcclxuICAgIGlmICh0eXBlID09IFwic20yXCIpIHtcclxuICAgICAgZGVjcnlwdFZhbHVlID0ga2V5ID8gc20yRGVjcnlwdFZhbHVlKHZhbHVlLCBrZXkpIDogc20yRGVjcnlwdFZhbHVlKHZhbHVlKTtcclxuICAgIH0gZWxzZSBpZiAodHlwZSA9PSBcInNtNFwiKSB7XHJcbiAgICAgIGRlY3J5cHRWYWx1ZSA9IHNtNERlY3J5cHQodmFsdWUpO1xyXG4gICAgfSBlbHNlIGlmICh0eXBlID09IFwiYmFzZTY0XCIpIHtcclxuICAgICAgZGVjcnlwdFZhbHVlID0gYmFzZTY0RGVjcnlwdCh2YWx1ZSk7XHJcbiAgICB9XHJcbiAgfSBlbHNlIGlmIChkZWNyeXB0ICYmIHR5cGVvZiBkZWNyeXB0ID09PSBcImJvb2xlYW5cIikge1xyXG4gICAgZGVjcnlwdFZhbHVlID0gc20yRGVjcnlwdFZhbHVlKHZhbHVlKTtcclxuICB9XHJcbiAgcmV0dXJuIGRlY3J5cHRWYWx1ZTtcclxufVxyXG5leHBvcnQgZnVuY3Rpb24gY2hlY2tNb2RlbChjaGVja3R5cGUsIHZhbHVlKSB7XHJcbiAgcmV0dXJuIGNoZWNrVmFsdWUodmFsdWUsIGNoZWNrdHlwZSk7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBnZXRDYWNoZUtleShzb3RyZSkge1xyXG4gIGNvbnN0IHsgdmlld25hbWUsIHJlcXVlc3RDb25maWcsIHVybCB9ID0gc290cmU7XHJcbiAgbGV0IGtleTtcclxuICBpZiAodmlld25hbWUpIHtcclxuICAgIGtleSA9IHZpZXduYW1lO1xyXG4gIH0gZWxzZSB7XHJcbiAgICBrZXkgPSByZXF1ZXN0Q29uZmlnID8gdXJsICsgSlNPTi5zdHJpbmdpZnkocmVxdWVzdENvbmZpZykgOiB1cmw7XHJcbiAgfVxyXG4gIHJldHVybiBrZXk7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBjaGVja0NoYXJzKHZhbHVlOiBzdHJpbmcpIHtcclxuICBjb25zdCByZWcgPSAvXlswLTlhLXpBLVpcXHU0RTAwLVxcdTlGQTVcXHVGOTAwLVxcdUZBMkRdKiQvO1xyXG4gIHJldHVybiByZWcudGVzdCh2YWx1ZSk7XHJcbn1cclxuXHJcbi8vIOi9rOaNonB45YiwdndcclxuZXhwb3J0IGZ1bmN0aW9uIHB4MnZ3KHB4VmFsdWU6IG51bWJlciwgYmFzZVZhbHVlPzogbnVtYmVyKTogc3RyaW5nIHtcclxuICBjb25zdCBiYXNlV2lkdGggPSBiYXNlVmFsdWUgfHwgMTkyMDtcclxuICByZXR1cm4gKChweFZhbHVlICogMTAwKSAvIGJhc2VXaWR0aCkudG9GaXhlZCg0KSArIFwidndcIjtcclxufVxyXG5cclxuLy/ojrflj5ZJY29uXHJcbmV4cG9ydCBmdW5jdGlvbiBnZXRJY29uKGljb24sIGRlZmF1bHRJY29uPzogYW55KSB7XHJcbiAgY29uc3QgeyBpY29uUHJlZml4IH0gPSBnZXRDb25maWcoKTtcclxuICBpZiAoIWlzRW1wdHkoaWNvbikgJiYgdHlwZW9mIGljb24gPT09IFwic3RyaW5nXCIpIHtcclxuICAgIGNvbnN0IHNob3dJY29uID0gaWNvbi5zdGFydHNXaXRoKGljb25QcmVmaXgpID8gKFxyXG4gICAgICA8SWNvbkZvbnQgdHlwZT17aWNvbn0gLz5cclxuICAgICkgOiAoXHJcbiAgICAgIDxBbnRJY29uIGNvbXBvbmVudD17aWNvbnNbaWNvbl19IC8+XHJcbiAgICApO1xyXG4gICAgcmV0dXJuIHNob3dJY29uO1xyXG4gIH0gZWxzZSBpZiAoZGVmYXVsdEljb24pIHtcclxuICAgIHJldHVybiA8SWNvbkZvbnQgdHlwZT17XCJpY29ueGlhbmdtdXNoZXpvbmdndWFubGlcIn0gLz47XHJcbiAgfVxyXG4gIHJldHVybiBpY29uO1xyXG59XHJcbmV4cG9ydCBmdW5jdGlvbiBnZXROb2RlKHR5cGUsIHByb3BzKSB7XHJcbiAgbGV0IERJViA9IDxJbnB1dCB7Li4ucHJvcHN9IC8+O1xyXG4gIGlmICh0eXBlID09IFwiSW5wdXRcIikge1xyXG4gICAgRElWID0gPElucHV0IHsuLi5wcm9wc30gLz47XHJcbiAgfSBlbHNlIGlmICh0eXBlID09IFwiU2VsZWN0XCIpIHtcclxuICAgIERJViA9IDxTZWxlY3Qgey4uLnByb3BzfSAvPjtcclxuICB9IGVsc2UgaWYgKHR5cGUgPT0gXCJSYWRpb1wiKSB7XHJcbiAgICBESVYgPSA8UmFkaW8uR3JvdXAgey4uLnByb3BzfSAvPjtcclxuICB9IGVsc2UgaWYgKHR5cGUgPT0gXCJDYXNjYWRlclwiKSB7XHJcbiAgICBESVYgPSA8Q2FzY2FkZXIgey4uLnByb3BzfSAvPjtcclxuICB9IGVsc2UgaWYgKHR5cGUgPT0gXCJQYXNzd29yZFwiKSB7XHJcbiAgICBESVYgPSA8UGFzc3dvcmQgey4uLnByb3BzfSAvPjtcclxuICB9IGVsc2UgaWYgKHR5cGUgPT0gXCJUZXh0QXJlYVwiKSB7XHJcbiAgICBESVYgPSA8VGV4dEFyZWEgey4uLnByb3BzfSAvPjtcclxuICB9IGVsc2UgaWYgKHR5cGUgPT0gXCJDaGVja2JveFwiKSB7XHJcbiAgICBESVYgPSA8Q2hlY2tib3guR3JvdXAgey4uLnByb3BzfSAvPjtcclxuICB9IGVsc2UgaWYgKHR5cGUgPT0gXCJEYXRlUGlja2VyXCIpIHtcclxuICAgIERJViA9IDxEYXRlUGlja2VyIHsuLi5wcm9wc30gLz47XHJcbiAgfSBlbHNlIGlmICh0eXBlID09IFwiTnVtYmVyXCIpIHtcclxuICAgIERJViA9IDxJbnB1dE51bWJlciB7Li4ucHJvcHN9IC8+O1xyXG4gIH0gZWxzZSBpZiAodHlwZSA9PSBcIlVwbG9hZFwiKSB7XHJcbiAgICBESVYgPSA8VXBsb2FkIHsuLi5wcm9wc30gLz47XHJcbiAgfSBlbHNlIGlmICh0eXBlID09IFwiUmFuZ2VQaWNrZXJcIikge1xyXG4gICAgRElWID0gPFJhbmdlUGlja2VyIHsuLi5wcm9wc30gLz47XHJcbiAgfVxyXG4gIGlmICh0eXBlID09IFwiU3dpdGNoXCIpIHtcclxuICAgIERJViA9IDxTd2l0Y2ggey4uLnByb3BzfSAvPjtcclxuICB9XHJcbiAgcmV0dXJuIERJVjtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGRlYm91bmNlKGZuLCBtcykge1xyXG4gIC8vZm466KaB6Ziy5oqW55qE5Ye95pWwIG1zOuaXtumXtFxyXG4gIGxldCB0aW1lcklkOyAvLyDliJvlu7rkuIDkuKrmoIforrDnlKjmnaXlrZjmlL7lrprml7blmajnmoTov5Tlm57lgLxcclxuICByZXR1cm4gZnVuY3Rpb24gKCkge1xyXG4gICAgdGltZXJJZCAmJiBjbGVhclRpbWVvdXQodGltZXJJZCk7IC8vIOavj+W9k+eUqOaIt+i+k+WFpeeahOaXtuWAmeaKiuWJjeS4gOS4qiBzZXRUaW1lb3V0IGNsZWFyIOaOiVxyXG4gICAgLy8g54S25ZCO5Y+I5Yib5bu65LiA5Liq5paw55qEIHNldFRpbWVvdXQsIOi/meagt+WwseiDveS/neivgei+k+WFpeWtl+espuWQjueahCBpbnRlcnZhbCDpl7TpmpTlhoXlpoLmnpzov5jmnInlrZfnrKbovpPlhaXnmoTor53vvIzlsLHkuI3kvJrmiafooYwgZm4g5Ye95pWwXHJcbiAgICB0aW1lcklkID0gc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIGZuLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7XHJcbiAgICB9LCBtcyk7XHJcbiAgfTtcclxuXHJcbiAgLy8gdmFyIHRpbWVyID0gbnVsbDtcclxuICAvLyByZXR1cm4gZnVuY3Rpb24gKCkge1xyXG4gIC8vICAgdmFyIGFyZ3MgPSBhcmd1bWVudHM7IC8v5Y+C5pWw6ZuG5ZCIXHJcbiAgLy8gICBjb25zb2xlLmxvZygnYXJncycsYXJncylcclxuICAvLyAgIGNsZWFyVGltZW91dCh0aW1lcik7XHJcbiAgLy8gICB0aW1lciA9IHNldFRpbWVvdXQoZnVuY3Rpb24gKCkge1xyXG4gIC8vICAgICBmbi5hcHBseSh0aGlzLCBhcmdzKTtcclxuICAvLyAgIH0sIG1zKTtcclxuICAvLyB9O1xyXG59XHJcbmV4cG9ydCBmdW5jdGlvbiB0aHJvdHRsZShmbiwgbXMpIHtcclxuICBsZXQgdGltZXJJZDsgLy8g5Yib5bu65LiA5Liq5qCH6K6w55So5p2l5a2Y5pS+5a6a5pe25Zmo55qEaWRcclxuICByZXR1cm4gZnVuY3Rpb24gKCkge1xyXG4gICAgLy8g5rKh5pyJ5a6a5pe25Zmo562J5b6F5omn6KGM77yM5YiZ6KGo56S65Y+v5Lul5Yib5bu65paw55qE5a6a5pe25Zmo5p2l5omn6KGM5Ye95pWwXHJcbiAgICBpZiAoIXRpbWVySWQpIHtcclxuICAgICAgdGltZXJJZCA9IHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgIC8vIOWumuaXtuWZqGlk5riF56m677yM6KGo56S65Y+v5Lul5omn6KGM5LiL5LiA5qyh6LCD55So5LqGXHJcbiAgICAgICAgdGltZXJJZCA9IG51bGw7XHJcbiAgICAgICAgZm4uYXBwbHkodGhpcywgYXJndW1lbnRzKTtcclxuICAgICAgfSwgbXMpO1xyXG4gICAgfVxyXG4gIH07XHJcbn1cclxuZXhwb3J0IGNvbnN0IGdldExlc3MgPSAoc3R5bGVzOiBPYmplY3QsIG5hbWU6IHN0cmluZykgPT4ge1xyXG4gIGlmIChpc0VtcHR5T2JqKHN0eWxlcykpIHtcclxuICAgIHJldHVybiBuYW1lO1xyXG4gIH0gZWxzZSB7XHJcbiAgICByZXR1cm4gc3R5bGVzW25hbWVdO1xyXG4gIH1cclxufTtcclxuZXhwb3J0IGNvbnN0IGNvbnZlckZ1bmN0aW9uID0gKGZ1bmMsIGV2ZW50T3B0aW9uPzogYW55LCBVdGlscz86IGFueSkgPT4ge1xyXG4gIGlmICh0eXBlb2YgZnVuYyA9PSBcInN0cmluZ1wiKSB7XHJcbiAgICBjb25zdCBzZWxmRnVuYyA9IG5ldyBGdW5jdGlvbihcImV2ZW50T3B0aW9uXCIsIFwiVXRpbHNcIiwgZnVuYyk7XHJcbiAgICBzZWxmRnVuYyhldmVudE9wdGlvbiwgVXRpbHMpO1xyXG4gIH0gZWxzZSB7XHJcbiAgICBmdW5jKGV2ZW50T3B0aW9uLCBVdGlscyk7XHJcbiAgfVxyXG59O1xyXG5cclxuLy8g5L+d55WZ5Y6f5a+56LGh5Lit5omA5pyJ4oCc5Z+656GA57G75Z6L4oCd55qE5a2X5q61XHJcbmV4cG9ydCBmdW5jdGlvbiBzaW1wbGlmeU9iamVjdChvYmopIHtcclxuICBjb25zdCByZXN1bHQgPSB7fTtcclxuICBmb3IgKGNvbnN0IGtleSBpbiBvYmopIHtcclxuICAgIGNvbnN0IHZhbCA9IG9ialtrZXldO1xyXG4gICAgaWYgKFxyXG4gICAgICB2YWwgPT09IG51bGwgfHxcclxuICAgICAgdHlwZW9mIHZhbCA9PT0gJ3N0cmluZycgfHxcclxuICAgICAgdHlwZW9mIHZhbCA9PT0gJ251bWJlcicgfHxcclxuICAgICAgdHlwZW9mIHZhbCA9PT0gJ2Jvb2xlYW4nXHJcbiAgICApIHtcclxuICAgICAgcmVzdWx0W2tleV0gPSB2YWw7XHJcbiAgICB9XHJcbiAgfVxyXG4gIHJldHVybiByZXN1bHQ7XHJcbn1cclxuXHJcbi8vIOeugOWMluaVtOS4qiBjb2x1bW5zIOaVsOe7hFxyXG5leHBvcnQgZnVuY3Rpb24gc2ltcGxpZnlDb2x1bW5zKGNvbHVtbnMpIHtcclxuICByZXR1cm4gY29sdW1ucy5tYXAoY29sID0+IHNpbXBsaWZ5T2JqZWN0KGNvbCkpO1xyXG59XHJcblxyXG4vL+Wvueixoea3seW6puWQiOW5tlxyXG4vLyBleHBvcnQgZnVuY3Rpb24gZGVlcE1lcmdlKC4uLnNvdXJjZXMpIHtcclxuLy8gICBpZiAoc291cmNlcy5sZW5ndGggPT09IDApIHJldHVybiB7fTtcclxuLy8gICBpZiAoc291cmNlcy5sZW5ndGggPT09IDEpIHJldHVybiBsb2Rhc2guY2xvbmVEZWVwKHNvdXJjZXNbMF0pO1xyXG4vLyAgIGNvbnN0IHJlc3VsdCA9IGxvZGFzaC5jbG9uZURlZXAoc291cmNlc1swXSk7XHJcbi8vICAgZm9yIChsZXQgaSA9IDE7IGkgPCBzb3VyY2VzLmxlbmd0aDsgaSsrKSB7XHJcbi8vICAgICBjb25zdCBzb3VyY2UgPSBzb3VyY2VzW2ldO1xyXG4vLyAgICAgZm9yIChjb25zdCBba2V5LCB2YWx1ZV0gb2YgT2JqZWN0LmVudHJpZXMoc291cmNlKSkge1xyXG4vLyAgICAgICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcclxuLy8gICAgICAgICByZXN1bHRba2V5XSA9IGxvZGFzaC5jbG9uZURlZXAodmFsdWUpO1xyXG4vLyAgICAgICB9IGVsc2UgaWYgKGxvZGFzaC5pc1BsYWluT2JqZWN0KHZhbHVlKSAmJiBsb2Rhc2guaXNQbGFpbk9iamVjdChyZXN1bHRba2V5XSkpIHtcclxuLy8gICAgICAgICByZXN1bHRba2V5XSA9IGRlZXBNZXJnZShyZXN1bHRba2V5XSwgdmFsdWUpO1xyXG4vLyAgICAgICB9IGVsc2Uge1xyXG4vLyAgICAgICAgIHJlc3VsdFtrZXldID0gdmFsdWU7XHJcbi8vICAgICAgIH1cclxuLy8gICAgIH1cclxuLy8gICB9XHJcbiAgXHJcbi8vICAgcmV0dXJuIHJlc3VsdDtcclxuLy8gfVxyXG5leHBvcnQgZnVuY3Rpb24gZGVlcE1lcmdlKC4uLnNvdXJjZXMpIHtcclxuICBpZiAoc291cmNlcy5sZW5ndGggPT09IDApIHJldHVybiB7fTtcclxuICBpZiAoc291cmNlcy5sZW5ndGggPT09IDEpIHJldHVybiBsb2Rhc2guY2xvbmVEZWVwKHNvdXJjZXNbMF0pO1xyXG4gIGNvbnN0IHJlc3VsdCA9IGxvZGFzaC5jbG9uZURlZXAoc291cmNlc1swXSk7XHJcbiAgZm9yIChsZXQgaSA9IDE7IGkgPCBzb3VyY2VzLmxlbmd0aDsgaSsrKSB7XHJcbiAgICBjb25zdCBzb3VyY2UgPSBzb3VyY2VzW2ldO1xyXG4gICAgZm9yIChjb25zdCBba2V5LCB2YWx1ZV0gb2YgT2JqZWN0LmVudHJpZXMoc291cmNlKSkge1xyXG4gICAgICBpZiAobG9kYXNoLmlzUGxhaW5PYmplY3QodmFsdWUpICYmIGxvZGFzaC5pc1BsYWluT2JqZWN0KHJlc3VsdFtrZXldKSkge1xyXG4gICAgICAgIHJlc3VsdFtrZXldID0gZGVlcE1lcmdlKHJlc3VsdFtrZXldLCB2YWx1ZSk7XHJcbiAgICAgIH0gXHJcbiAgICAgIGVsc2UgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpICYmIEFycmF5LmlzQXJyYXkocmVzdWx0W2tleV0pKSB7ICBcclxuICAgICAgICByZXN1bHRba2V5XSA9IGxvZGFzaC5jbG9uZURlZXAodmFsdWUpO1xyXG4gICAgICB9IFxyXG4gICAgICBlbHNlIHtcclxuICAgICAgICByZXN1bHRba2V5XSA9IGxvZGFzaC5jbG9uZURlZXAodmFsdWUpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIFxyXG4gIHJldHVybiByZXN1bHQ7XHJcbn1cclxuZXhwb3J0IGRlZmF1bHQge1xyXG4gIGVuY3J5cHRWYWx1ZSxcclxuICBjaGVja01vZGVsLFxyXG4gIGRlY3J5cHRWYWx1ZSxcclxuICBnZXRDYWNoZUtleSxcclxuICBjaGVja0NoYXJzLFxyXG4gIHB4MnZ3LFxyXG59O1xyXG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUNFQSxlQUFlLEVBQ2ZDLFVBQVUsRUFDVkMsYUFBYSxFQUNiQyxVQUFVLEVBQ1ZDLFVBQVUsRUFDVkMsZUFBZSxFQUNmQyxVQUFVLEVBQ1ZDLGFBQWEsRUFDYkMsVUFBVSxR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
package/lib/utils.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","names":["sm2EncryptValue","sm4Encrypt","base64Encrypt","md5Encrypt","checkValue","sm2DecryptValue","sm4Decrypt","base64Decrypt","isEmptyObj","isEmpty","IconFont","React","Radio","Input","Select","Cascader","Checkbox","DatePicker","RangePicker","Switch","Upload","Password","TextArea","InputNumber","getConfig","AntIcon","icons","encryptValue","encrypt","value","type","key","decryptValue","decrypt","checkModel","checktype","getCacheKey","sotre","viewname","requestConfig","url","JSON","stringify","checkChars","reg","test","px2vw","pxValue","baseValue","baseWidth","toFixed","getIcon","icon","defaultIcon","iconPrefix","showIcon","startsWith","createElement","component","getNode","props","DIV","Group","debounce","fn","ms","timerId","clearTimeout","setTimeout","apply","arguments","throttle","getLess","styles","name","converFunction","func","eventOption","Utils","selfFunc","Function","simplifyObject","obj","result","val","simplifyColumns","columns","map","col"],"sources":["../src/components/utils.tsx"],"sourcesContent":["/*\r\n * @Descripttion:\r\n * @version:\r\n * @Author: rxzhu\r\n * @Date: 2021-04-12 17:32:53\r\n * @LastEditors: rxzhu\r\n * @LastEditTime: 2021-04-22 17:14:04\r\n */\r\nimport {\r\n sm2EncryptValue,\r\n sm4Encrypt,\r\n base64Encrypt,\r\n md5Encrypt,\r\n checkValue,\r\n sm2DecryptValue,\r\n sm4Decrypt,\r\n base64Decrypt,\r\n isEmptyObj,\r\n} from \"@bj-nsc/functions\";\r\nimport { encrypt } from \"./Interface\";\r\nimport { isEmpty } from \"lodash\";\r\nimport IconFont from \"./base/common/IconFont\";\r\nimport React from \"react\";\r\nimport {\r\n Radio,\r\n Input,\r\n Select,\r\n Cascader,\r\n Checkbox,\r\n DatePicker,\r\n RangePicker,\r\n Switch,\r\n Upload,\r\n} from \".\";\r\nimport Password from \"./base/input/Password\";\r\nimport TextArea from \"./base/input/TextArea\";\r\nimport InputNumber from \"./base/input/Number\";\r\n// import { Upload } from \"antd\";\r\nimport getConfig from \"./config\";\r\nimport AntIcon from \"@ant-design/icons\";\r\nimport * as icons from \"@ant-design/icons\";\r\n\r\nexport function encryptValue(encrypt: encrypt | boolean, value) {\r\n let encryptValue = value;\r\n if (encrypt && typeof encrypt === \"object\") {\r\n const { type, key } = encrypt;\r\n if (type == \"sm2\") {\r\n encryptValue = key ? sm2EncryptValue(value, key) : sm2EncryptValue(value);\r\n } else if (type == \"sm4\") {\r\n encryptValue = sm4Encrypt(value);\r\n } else if (type == \"base64\") {\r\n encryptValue = base64Encrypt(value);\r\n } else if (type == \"md5\") {\r\n encryptValue = md5Encrypt(value);\r\n }\r\n } else if (encrypt && typeof encrypt === \"boolean\") {\r\n encryptValue = sm2EncryptValue(value);\r\n }\r\n return encryptValue;\r\n}\r\nexport function decryptValue(decrypt: encrypt | boolean, value) {\r\n let decryptValue = value;\r\n if (decrypt && typeof decrypt === \"object\") {\r\n const { type, key } = decrypt;\r\n if (type == \"sm2\") {\r\n decryptValue = key ? sm2DecryptValue(value, key) : sm2DecryptValue(value);\r\n } else if (type == \"sm4\") {\r\n decryptValue = sm4Decrypt(value);\r\n } else if (type == \"base64\") {\r\n decryptValue = base64Decrypt(value);\r\n }\r\n } else if (decrypt && typeof decrypt === \"boolean\") {\r\n decryptValue = sm2DecryptValue(value);\r\n }\r\n return decryptValue;\r\n}\r\nexport function checkModel(checktype, value) {\r\n return checkValue(value, checktype);\r\n}\r\n\r\nexport function getCacheKey(sotre) {\r\n const { viewname, requestConfig, url } = sotre;\r\n let key;\r\n if (viewname) {\r\n key = viewname;\r\n } else {\r\n key = requestConfig ? url + JSON.stringify(requestConfig) : url;\r\n }\r\n return key;\r\n}\r\n\r\nexport function checkChars(value: string) {\r\n const reg = /^[0-9a-zA-Z\\u4E00-\\u9FA5\\uF900-\\uFA2D]*$/;\r\n return reg.test(value);\r\n}\r\n\r\n// 转换px到vw\r\nexport function px2vw(pxValue: number, baseValue?: number): string {\r\n const baseWidth = baseValue || 1920;\r\n return ((pxValue * 100) / baseWidth).toFixed(4) + \"vw\";\r\n}\r\n\r\n//获取Icon\r\nexport function getIcon(icon, defaultIcon?: any) {\r\n const { iconPrefix } = getConfig();\r\n if (!isEmpty(icon) && typeof icon === \"string\") {\r\n const showIcon = icon.startsWith(iconPrefix) ? (\r\n <IconFont type={icon} />\r\n ) : (\r\n <AntIcon component={icons[icon]} />\r\n );\r\n return showIcon;\r\n } else if (defaultIcon) {\r\n return <IconFont type={\"iconxiangmushezongguanli\"} />;\r\n }\r\n return icon;\r\n}\r\nexport function getNode(type, props) {\r\n let DIV = <Input {...props} />;\r\n if (type == \"Input\") {\r\n DIV = <Input {...props} />;\r\n } else if (type == \"Select\") {\r\n DIV = <Select {...props} />;\r\n } else if (type == \"Radio\") {\r\n DIV = <Radio.Group {...props} />;\r\n } else if (type == \"Cascader\") {\r\n DIV = <Cascader {...props} />;\r\n } else if (type == \"Password\") {\r\n DIV = <Password {...props} />;\r\n } else if (type == \"TextArea\") {\r\n DIV = <TextArea {...props} />;\r\n } else if (type == \"Checkbox\") {\r\n DIV = <Checkbox.Group {...props} />;\r\n } else if (type == \"DatePicker\") {\r\n DIV = <DatePicker {...props} />;\r\n } else if (type == \"Number\") {\r\n DIV = <InputNumber {...props} />;\r\n } else if (type == \"Upload\") {\r\n DIV = <Upload {...props} />;\r\n } else if (type == \"RangePicker\") {\r\n DIV = <RangePicker {...props} />;\r\n }\r\n if (type == \"Switch\") {\r\n DIV = <Switch {...props} />;\r\n }\r\n return DIV;\r\n}\r\n\r\nexport function debounce(fn, ms) {\r\n //fn:要防抖的函数 ms:时间\r\n let timerId; // 创建一个标记用来存放定时器的返回值\r\n return function () {\r\n timerId && clearTimeout(timerId); // 每当用户输入的时候把前一个 setTimeout clear 掉\r\n // 然后又创建一个新的 setTimeout, 这样就能保证输入字符后的 interval 间隔内如果还有字符输入的话,就不会执行 fn 函数\r\n timerId = setTimeout(() => {\r\n fn.apply(this, arguments);\r\n }, ms);\r\n };\r\n\r\n // var timer = null;\r\n // return function () {\r\n // var args = arguments; //参数集合\r\n // console.log('args',args)\r\n // clearTimeout(timer);\r\n // timer = setTimeout(function () {\r\n // fn.apply(this, args);\r\n // }, ms);\r\n // };\r\n}\r\nexport function throttle(fn, ms) {\r\n let timerId; // 创建一个标记用来存放定时器的id\r\n return function () {\r\n // 没有定时器等待执行,则表示可以创建新的定时器来执行函数\r\n if (!timerId) {\r\n timerId = setTimeout(() => {\r\n // 定时器id清空,表示可以执行下一次调用了\r\n timerId = null;\r\n fn.apply(this, arguments);\r\n }, ms);\r\n }\r\n };\r\n}\r\nexport const getLess = (styles: Object, name: string) => {\r\n if (isEmptyObj(styles)) {\r\n return name;\r\n } else {\r\n return styles[name];\r\n }\r\n};\r\nexport const converFunction = (func, eventOption?: any, Utils?: any) => {\r\n if (typeof func == \"string\") {\r\n const selfFunc = new Function(\"eventOption\", \"Utils\", func);\r\n selfFunc(eventOption, Utils);\r\n } else {\r\n func(eventOption, Utils);\r\n }\r\n};\r\n\r\n// 保留原对象中所有“基础类型”的字段\r\nexport function simplifyObject(obj) {\r\n const result = {};\r\n for (const key in obj) {\r\n const val = obj[key];\r\n if (\r\n val === null ||\r\n typeof val === 'string' ||\r\n typeof val === 'number' ||\r\n typeof val === 'boolean'\r\n ) {\r\n result[key] = val;\r\n }\r\n }\r\n return result;\r\n}\r\n\r\n// 简化整个 columns 数组\r\nexport function simplifyColumns(columns) {\r\n return columns.map(col => simplifyObject(col));\r\n}\r\n\r\nexport default {\r\n encryptValue,\r\n checkModel,\r\n decryptValue,\r\n getCacheKey,\r\n checkChars,\r\n px2vw,\r\n};\r\n"],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","names":["sm2EncryptValue","sm4Encrypt","base64Encrypt","md5Encrypt","checkValue","sm2DecryptValue","sm4Decrypt","base64Decrypt","isEmptyObj","isEmpty","IconFont","React","Radio","Input","Select","Cascader","Checkbox","DatePicker","RangePicker","Switch","Upload","Password","TextArea","InputNumber","getConfig","AntIcon","icons","lodash","encryptValue","encrypt","value","type","key","decryptValue","decrypt","checkModel","checktype","getCacheKey","sotre","viewname","requestConfig","url","JSON","stringify","checkChars","reg","test","px2vw","pxValue","baseValue","baseWidth","toFixed","getIcon","icon","defaultIcon","iconPrefix","showIcon","startsWith","createElement","component","getNode","props","DIV","Group","debounce","fn","ms","timerId","clearTimeout","setTimeout","apply","arguments","throttle","getLess","styles","name","converFunction","func","eventOption","Utils","selfFunc","Function","simplifyObject","obj","result","val","simplifyColumns","columns","map","col","deepMerge","length","cloneDeep","undefined","i","source","Object","entries","isPlainObject","Array","isArray"],"sources":["../src/components/utils.tsx"],"sourcesContent":["/*\r\n * @Descripttion:\r\n * @version:\r\n * @Author: rxzhu\r\n * @Date: 2021-04-12 17:32:53\r\n * @LastEditors: rxzhu\r\n * @LastEditTime: 2021-04-22 17:14:04\r\n */\r\nimport {\r\n sm2EncryptValue,\r\n sm4Encrypt,\r\n base64Encrypt,\r\n md5Encrypt,\r\n checkValue,\r\n sm2DecryptValue,\r\n sm4Decrypt,\r\n base64Decrypt,\r\n isEmptyObj,\r\n} from \"@bj-nsc/functions\";\r\nimport { encrypt } from \"./Interface\";\r\nimport { isEmpty } from \"lodash\";\r\nimport IconFont from \"./base/common/IconFont\";\r\nimport React from \"react\";\r\nimport {\r\n Radio,\r\n Input,\r\n Select,\r\n Cascader,\r\n Checkbox,\r\n DatePicker,\r\n RangePicker,\r\n Switch,\r\n Upload,\r\n} from \".\";\r\nimport Password from \"./base/input/Password\";\r\nimport TextArea from \"./base/input/TextArea\";\r\nimport InputNumber from \"./base/input/Number\";\r\n// import { Upload } from \"antd\";\r\nimport getConfig from \"./config\";\r\nimport AntIcon from \"@ant-design/icons\";\r\nimport * as icons from \"@ant-design/icons\";\r\nimport lodash from \"lodash\";\r\n\r\nexport function encryptValue(encrypt: encrypt | boolean, value) {\r\n let encryptValue = value;\r\n if (encrypt && typeof encrypt === \"object\") {\r\n const { type, key } = encrypt;\r\n if (type == \"sm2\") {\r\n encryptValue = key ? sm2EncryptValue(value, key) : sm2EncryptValue(value);\r\n } else if (type == \"sm4\") {\r\n encryptValue = sm4Encrypt(value);\r\n } else if (type == \"base64\") {\r\n encryptValue = base64Encrypt(value);\r\n } else if (type == \"md5\") {\r\n encryptValue = md5Encrypt(value);\r\n }\r\n } else if (encrypt && typeof encrypt === \"boolean\") {\r\n encryptValue = sm2EncryptValue(value);\r\n }\r\n return encryptValue;\r\n}\r\nexport function decryptValue(decrypt: encrypt | boolean, value) {\r\n let decryptValue = value;\r\n if (decrypt && typeof decrypt === \"object\") {\r\n const { type, key } = decrypt;\r\n if (type == \"sm2\") {\r\n decryptValue = key ? sm2DecryptValue(value, key) : sm2DecryptValue(value);\r\n } else if (type == \"sm4\") {\r\n decryptValue = sm4Decrypt(value);\r\n } else if (type == \"base64\") {\r\n decryptValue = base64Decrypt(value);\r\n }\r\n } else if (decrypt && typeof decrypt === \"boolean\") {\r\n decryptValue = sm2DecryptValue(value);\r\n }\r\n return decryptValue;\r\n}\r\nexport function checkModel(checktype, value) {\r\n return checkValue(value, checktype);\r\n}\r\n\r\nexport function getCacheKey(sotre) {\r\n const { viewname, requestConfig, url } = sotre;\r\n let key;\r\n if (viewname) {\r\n key = viewname;\r\n } else {\r\n key = requestConfig ? url + JSON.stringify(requestConfig) : url;\r\n }\r\n return key;\r\n}\r\n\r\nexport function checkChars(value: string) {\r\n const reg = /^[0-9a-zA-Z\\u4E00-\\u9FA5\\uF900-\\uFA2D]*$/;\r\n return reg.test(value);\r\n}\r\n\r\n// 转换px到vw\r\nexport function px2vw(pxValue: number, baseValue?: number): string {\r\n const baseWidth = baseValue || 1920;\r\n return ((pxValue * 100) / baseWidth).toFixed(4) + \"vw\";\r\n}\r\n\r\n//获取Icon\r\nexport function getIcon(icon, defaultIcon?: any) {\r\n const { iconPrefix } = getConfig();\r\n if (!isEmpty(icon) && typeof icon === \"string\") {\r\n const showIcon = icon.startsWith(iconPrefix) ? (\r\n <IconFont type={icon} />\r\n ) : (\r\n <AntIcon component={icons[icon]} />\r\n );\r\n return showIcon;\r\n } else if (defaultIcon) {\r\n return <IconFont type={\"iconxiangmushezongguanli\"} />;\r\n }\r\n return icon;\r\n}\r\nexport function getNode(type, props) {\r\n let DIV = <Input {...props} />;\r\n if (type == \"Input\") {\r\n DIV = <Input {...props} />;\r\n } else if (type == \"Select\") {\r\n DIV = <Select {...props} />;\r\n } else if (type == \"Radio\") {\r\n DIV = <Radio.Group {...props} />;\r\n } else if (type == \"Cascader\") {\r\n DIV = <Cascader {...props} />;\r\n } else if (type == \"Password\") {\r\n DIV = <Password {...props} />;\r\n } else if (type == \"TextArea\") {\r\n DIV = <TextArea {...props} />;\r\n } else if (type == \"Checkbox\") {\r\n DIV = <Checkbox.Group {...props} />;\r\n } else if (type == \"DatePicker\") {\r\n DIV = <DatePicker {...props} />;\r\n } else if (type == \"Number\") {\r\n DIV = <InputNumber {...props} />;\r\n } else if (type == \"Upload\") {\r\n DIV = <Upload {...props} />;\r\n } else if (type == \"RangePicker\") {\r\n DIV = <RangePicker {...props} />;\r\n }\r\n if (type == \"Switch\") {\r\n DIV = <Switch {...props} />;\r\n }\r\n return DIV;\r\n}\r\n\r\nexport function debounce(fn, ms) {\r\n //fn:要防抖的函数 ms:时间\r\n let timerId; // 创建一个标记用来存放定时器的返回值\r\n return function () {\r\n timerId && clearTimeout(timerId); // 每当用户输入的时候把前一个 setTimeout clear 掉\r\n // 然后又创建一个新的 setTimeout, 这样就能保证输入字符后的 interval 间隔内如果还有字符输入的话,就不会执行 fn 函数\r\n timerId = setTimeout(() => {\r\n fn.apply(this, arguments);\r\n }, ms);\r\n };\r\n\r\n // var timer = null;\r\n // return function () {\r\n // var args = arguments; //参数集合\r\n // console.log('args',args)\r\n // clearTimeout(timer);\r\n // timer = setTimeout(function () {\r\n // fn.apply(this, args);\r\n // }, ms);\r\n // };\r\n}\r\nexport function throttle(fn, ms) {\r\n let timerId; // 创建一个标记用来存放定时器的id\r\n return function () {\r\n // 没有定时器等待执行,则表示可以创建新的定时器来执行函数\r\n if (!timerId) {\r\n timerId = setTimeout(() => {\r\n // 定时器id清空,表示可以执行下一次调用了\r\n timerId = null;\r\n fn.apply(this, arguments);\r\n }, ms);\r\n }\r\n };\r\n}\r\nexport const getLess = (styles: Object, name: string) => {\r\n if (isEmptyObj(styles)) {\r\n return name;\r\n } else {\r\n return styles[name];\r\n }\r\n};\r\nexport const converFunction = (func, eventOption?: any, Utils?: any) => {\r\n if (typeof func == \"string\") {\r\n const selfFunc = new Function(\"eventOption\", \"Utils\", func);\r\n selfFunc(eventOption, Utils);\r\n } else {\r\n func(eventOption, Utils);\r\n }\r\n};\r\n\r\n// 保留原对象中所有“基础类型”的字段\r\nexport function simplifyObject(obj) {\r\n const result = {};\r\n for (const key in obj) {\r\n const val = obj[key];\r\n if (\r\n val === null ||\r\n typeof val === 'string' ||\r\n typeof val === 'number' ||\r\n typeof val === 'boolean'\r\n ) {\r\n result[key] = val;\r\n }\r\n }\r\n return result;\r\n}\r\n\r\n// 简化整个 columns 数组\r\nexport function simplifyColumns(columns) {\r\n return columns.map(col => simplifyObject(col));\r\n}\r\n\r\n//对象深度合并\r\n// export function deepMerge(...sources) {\r\n// if (sources.length === 0) return {};\r\n// if (sources.length === 1) return lodash.cloneDeep(sources[0]);\r\n// const result = lodash.cloneDeep(sources[0]);\r\n// for (let i = 1; i < sources.length; i++) {\r\n// const source = sources[i];\r\n// for (const [key, value] of Object.entries(source)) {\r\n// if (Array.isArray(value)) {\r\n// result[key] = lodash.cloneDeep(value);\r\n// } else if (lodash.isPlainObject(value) && lodash.isPlainObject(result[key])) {\r\n// result[key] = deepMerge(result[key], value);\r\n// } else {\r\n// result[key] = value;\r\n// }\r\n// }\r\n// }\r\n \r\n// return result;\r\n// }\r\nexport function deepMerge(...sources) {\r\n if (sources.length === 0) return {};\r\n if (sources.length === 1) return lodash.cloneDeep(sources[0]);\r\n const result = lodash.cloneDeep(sources[0]);\r\n for (let i = 1; i < sources.length; i++) {\r\n const source = sources[i];\r\n for (const [key, value] of Object.entries(source)) {\r\n if (lodash.isPlainObject(value) && lodash.isPlainObject(result[key])) {\r\n result[key] = deepMerge(result[key], value);\r\n } \r\n else if (Array.isArray(value) && Array.isArray(result[key])) { \r\n result[key] = lodash.cloneDeep(value);\r\n } \r\n else {\r\n result[key] = lodash.cloneDeep(value);\r\n }\r\n }\r\n }\r\n \r\n return result;\r\n}\r\nexport default {\r\n encryptValue,\r\n checkModel,\r\n decryptValue,\r\n getCacheKey,\r\n checkChars,\r\n px2vw,\r\n};\r\n"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "nsc-react-component",
3
- "version": "4.3.5",
3
+ "version": "4.3.7",
4
4
  "description": "",
5
5
  "main": "lib/index.js",
6
6
  "scripts": {