ht-components 1.0.3 → 1.0.5
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.
- package/components/HTScreen/constant.js +1 -1
- package/components/HTScreen/index.js +1 -1
- package/components/HTScreen/render/renderDatePicker.js +1 -1
- package/components/HTScreen/render/renderInput.js +1 -1
- package/components/HTScreen/render/renderSelect.js +1 -1
- package/components/HTTable/constant.js +1 -1
- package/components/HTTable/index.js +1 -1
- package/package.json +1 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
const fieldWhiteList=["placeholder","style","value","maxLength"];export const filterWhiteListData=t=>{const i={};Object.keys(t).map(e=>{if(fieldWhiteList.includes(e)){i[e]=t[e]}});return i};export const PICKER_ENUM={date:"DatePicker",month:"MonthPicker",week:"WeekPicker",range:"RangePicker"};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
import React,{useState,useImperativeHandle,forwardRef}from"react";import{Button}from"antd";import"./index.less";const path=require("path");const files=require.context("./render",false,/\.js$/);const RenderModules={};files.keys().forEach(e=>{const t=path.basename(e,".js");RenderModules[t]=files(e).default||files(e)});export default forwardRef((e,t)=>{const[s,r]=useState(e.filterList||[]);const a=e.isShowSearchBtn!==false;useImperativeHandle(t,()=>{return{search:o}});const n=(e,t,a)=>{if(!e)return"";const r=c({...t});return React.createElement(e,{originData:r,componentValChange:e=>l(e,a),componentPressEnter:()=>o()})};const c=e=>{const t=e.filterType==="datePicker"&&e.picker==="range"?"300px":"200px";e.style={width:t,...e.style||{}};if(e.filterType==="input"){e.maxLength=e.maxLength||50}return e};const l=(e,t)=>{const a=[...s];a[t].value=e.value;r(a)};const i=e=>{return`render${e.slice(0,1).toUpperCase()+e.slice(1)}`};const o=()=>{const r={};s.map(a=>{if(Array.isArray(a.filterDataKey)){a.filterDataKey.map((e,t)=>{r[e]=a.value[t]})}else{r[a.filterDataKey]=a.value}});e.search&&e.search(r)};return React.createElement("div",{className:"HT-screen-components"},React.createElement("div",{className:"screen-list"},!!e.filterList&&!!e.filterList.length&&e.filterList.map((e,t)=>React.createElement("div",{key:t,className:"screen-item"},React.createElement("label",{className:"item-label"},e.label),React.createElement("div",{className:"item-content"},!!e.filterType&&n(RenderModules[i(e.filterType)],e,t))))),!!a&&React.createElement("div",{className:"screen-btn-group"},React.createElement(Button,{type:"primary",className:"submit-btn",onClick:()=>o()},"查询")))});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
function _extends(){_extends=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var n in a){if(Object.prototype.hasOwnProperty.call(a,n)){e[n]=a[n]}}}return e};return _extends.apply(this,arguments)}import React,{useState}from"react";import{DatePicker}from"antd";import moment from"moment";import{filterWhiteListData,PICKER_ENUM}from"../constant";export default function RenderInput(n){const[r,l]=useState(n.originData||{});const e=PICKER_ENUM[r.picker||"date"];const t=e===PICKER_ENUM.date?DatePicker:DatePicker[e];if(!r.value){r.value=null}else if(r.dateValue){r.value=r.dateValue}else if(typeof r.value==="string"){r.value=moment(r.value)}else if(Array.isArray(r.value)){r.value=r.value.map(e=>e?moment(e):null)}const a=(e,t)=>{const a={...r};a.dateValue=e;a.value=t;l(a);n.componentValChange&&n.componentValChange(a)};return React.createElement(t,_extends({},filterWhiteListData(r),{allowClear:r.allowClear!==false,onChange:(e,t)=>a(e,t)}))}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
function _extends(){_extends=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var r in n){if(Object.prototype.hasOwnProperty.call(n,r)){t[r]=n[r]}}}return t};return _extends.apply(this,arguments)}import React,{useState}from"react";import{Input}from"antd";import{filterWhiteListData}from"../constant";export default function RenderInput(r){const[a,o]=useState(r.originData||{});const e=t=>{const e=t.currentTarget.value;const n={...a};n.value=e;o(n);r.componentValChange&&r.componentValChange(n)};return React.createElement(Input,_extends({},filterWhiteListData(a),{allowClear:a.allowClear!==false,onChange:t=>e(t),onPressEnter:()=>r.componentPressEnter&&r.componentPressEnter()}))}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
function _extends(){_extends=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var o=arguments[t];for(var n in o){if(Object.prototype.hasOwnProperty.call(o,n)){e[n]=o[n]}}}return e};return _extends.apply(this,arguments)}import React,{useEffect,useState}from"react";import{Select}from"antd";import request from"@services/request.js";import{filterWhiteListData}from"../constant";import{useDebounceHook}from"../../../hooks.js";const{Option}=Select;export default function RenderInput(o){const[n,s]=useState(()=>{const t=o.originData||{};if(!t.optionsApi){if(t.options&&Object.prototype.toString.call(t.options)==="[object Object]"){t.options=Object.keys(t.options).map(e=>({label:t.options[e],value:e}))}}else{t.options=[]}return t});const[e,t]=useState("");const a=useDebounceHook(e);useEffect(()=>{if(!n.isLazy){i()}},[]);const i=()=>{if(!n.optionsApi)return;const e=n.isLazy?{[`${n.lazySearchKey||"keyword"}`]:a}:{};request[n.optionsApi]({...n.additionalParameters||{},...e}).then(e=>{if(e.success){const t=n.resListKey?e.content[n.resListKey]:e.content;const o={...n};o.options=t.map(e=>({label:e[n.labelKey||"label"],value:e[n.valueKey||"value"]}));s(o)}})};const r=e=>{const t={...n};t.value=e;s(t);o.componentValChange&&o.componentValChange(t)};const c=e=>{if(n.isLazy){t(e)}};useEffect(()=>{if(!a)return;i()},[a]);return React.createElement(Select,_extends({},filterWhiteListData(n),{allowClear:n.allowClear!==false,showSearch:n.showSearch!==false,optionFilterProp:"children",filterOption:(e,t)=>t.props.children.toLowerCase().includes(e.toLowerCase()),onChange:e=>r(e),onSearch:e=>c(e)}),!!n.options&&!!n.options.length&&n.options.map(e=>React.createElement(Option,{key:e.value,value:e.value},e.label)))}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
const mustKey=["columns","rowKey"];export function isMustInit(s){for(let e=0;e<mustKey.length;e++){if(!s[mustKey[e]]){throw new Error(`${mustKey[e]}不可为空`)}}if(s.isRequest!==false&&!s.api){throw new Error(`api不可为空`)}if(s.isRequest===false&&!s.columns){throw new Error(`columns不可为空`)}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
import React,{useEffect,useState,useRef,useImperativeHandle,forwardRef}from"react";import{Table}from"antd";import request from"@services/request.js";import HTScreen from"../HTScreen";import{isMustInit}from"./constant";import"./index.less";export default forwardRef((r,e)=>{isMustInit(r);const c=useRef(null);const t=useRef(null);const[a,n]=useState([]);const[s,o]=useState("100vh");const[l,i]=useState(()=>b(r.filterList));const[u,f]=useState({current:1,pageSize:10,...r.paginationInfo||{}});const[m,d]=useState(0);const[p,h]=useState(false);const S=r.isRequest!==false;const g=r.isPagination!==false;const y=r.columns;const R=r.columnsFnMap||{};y.map(e=>{const t=e.renderFnName;if(t&&R[t]){e.render=R[t]}});useEffect(()=>{if(!S){n(r.dataList||[])}setTimeout(()=>{let e=0;if(r.tableHeight){e=Number.parseFloat(r.tableHeight)}else{const n=document.documentElement.clientHeight;const s=c.current.offsetTop;e=n-s}let t=0;const a=c.current.getElementsByClassName("ant-table-thead");if(a&&a.length){t=a[0].offsetHeight}o(e-t)},0)},[]);useEffect(()=>{if(S){E()}},[u,l]);useImperativeHandle(e,()=>{return{search:()=>t.current.search()}});const E=()=>{let e={...l||{},...r.additionalParameters||{},limit:u.pageSize,page:u.current};if(r.dealReqDataFn){e=r.dealReqDataFn(e)}h(true);request[r.api](e).then(e=>{if(e.success){const t=e.content&&e.content.totalCount||0;const a=r.successFn?r.successFn(e.content):r.resListKey?e.content[r.resListKey]:e.content;d(t);n(a)}h(false)}).catch(()=>{h(false)})};function b(e){if(!e)return{};const n={};e.map(a=>{if(Array.isArray(a.filterDataKey)){a.filterDataKey.map((e,t)=>{if(!e){throw new Error(`${a.label}未设置参数filterType`)}n[e]=a.value[t]})}else{if(!a.filterDataKey){throw new Error(`${a.label}未设置参数filterType`)}n[a.filterDataKey]=a.value}});return n}const w=e=>{const t={...u};t.current=1;f(t);e&&i(e)};const H=e=>{const t={...e};t.current=e.current;f(t)};return React.createElement("div",{className:"HT-table-components"},React.createElement(HTScreen,{ref:t,filterList:r.filterList,search:e=>{w(e)}}),!!r.headerJsx&&React.createElement("div",{className:"table-header"},r.headerJsx),React.createElement("div",{className:"table-content",ref:c},React.createElement(Table,{dataSource:a,columns:y,pagination:g?{...u,total:m}:false,rowKey:r.rowKey,rowSelection:r.rowSelection||null,onChange:H,scroll:{x:true,y:s},loading:p})))});
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ht-components",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.5",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"scripts": {
|
|
@@ -16,8 +16,6 @@
|
|
|
16
16
|
"@babel/core": "^7.21.4",
|
|
17
17
|
"@babel/preset-env": "^7.21.4",
|
|
18
18
|
"@babel/preset-react": "^7.18.6",
|
|
19
|
-
"babel-preset-env": "^1.7.0",
|
|
20
|
-
"babel-preset-es2015": "^6.24.1",
|
|
21
19
|
"gulp-babel": "^8.0.0",
|
|
22
20
|
"gulp-clean": "^0.4.0",
|
|
23
21
|
"gulp-css-minify": "^0.9.2",
|