@kingteza/crud-component 1.0.62 → 1.0.63
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/crud/CrudComponent.d.ts +11 -4
- package/crud/CrudField.cjs.js +1 -1
- package/crud/CrudField.es.js +159 -154
- package/crud/CrudForm.cjs.js +1 -1
- package/crud/CrudForm.es.js +13 -12
- package/package.json +1 -1
package/crud/CrudComponent.d.ts
CHANGED
|
@@ -2,7 +2,7 @@ import { ColorPickerProps } from 'antd';
|
|
|
2
2
|
import { Rule } from 'antd/es/form';
|
|
3
3
|
import { FormInstance } from 'antd/lib';
|
|
4
4
|
import { Dayjs } from 'dayjs';
|
|
5
|
-
import { default as React, ReactElement } from 'react';
|
|
5
|
+
import { default as React, ReactElement, ReactNode } from 'react';
|
|
6
6
|
import { CrudSearchComponentProps } from './CrudSearchComponent';
|
|
7
7
|
import { FileCrudField } from './FileCrudField';
|
|
8
8
|
import { ImageCrudField } from './ImageCrudField';
|
|
@@ -60,7 +60,7 @@ export type CrudFieldGrid = {
|
|
|
60
60
|
xl?: number;
|
|
61
61
|
xxl?: number;
|
|
62
62
|
};
|
|
63
|
-
export interface SelectCrudField<T, ItemType extends SelectFieldItem = SelectFieldItem> extends Omit<InitialCrudField<T>, "name"
|
|
63
|
+
export interface SelectCrudField<T, ItemType extends SelectFieldItem = SelectFieldItem> extends Omit<InitialCrudField<T>, "name">, AddonFieldProps {
|
|
64
64
|
name: InitialCrudField<T>["name"] | {
|
|
65
65
|
name: keyof T | (string | number)[];
|
|
66
66
|
upsertFieldName: keyof T | (string | number)[];
|
|
@@ -118,12 +118,16 @@ export interface EnumCrudField<T> extends InitialCrudField<T> {
|
|
|
118
118
|
onChange?: (value: T[keyof T], form: FormInstance<T>) => void;
|
|
119
119
|
onSearch?: (keyword: string, form: FormInstance<T>) => void;
|
|
120
120
|
}
|
|
121
|
+
export type AddonFieldProps = {
|
|
122
|
+
addonAfter?: ReactNode;
|
|
123
|
+
addonBefore?: ReactNode;
|
|
124
|
+
};
|
|
121
125
|
export interface ObjectCrudField<T> extends InitialCrudField<T> {
|
|
122
126
|
type: "object";
|
|
123
127
|
render: (value: any, obj: T, index: number) => any;
|
|
124
128
|
translation?: object;
|
|
125
129
|
}
|
|
126
|
-
export interface TextBasedFieldProps<T> extends InitialCrudField<T
|
|
130
|
+
export interface TextBasedFieldProps<T> extends InitialCrudField<T>, AddonFieldProps {
|
|
127
131
|
placeholder?: string;
|
|
128
132
|
type: "text" | "time" | "email" | "password";
|
|
129
133
|
onChange?: (value: string, form: FormInstance<T>) => void;
|
|
@@ -136,10 +140,12 @@ export interface CheckboxBasedFieldProps<T> extends InitialCrudField<T> {
|
|
|
136
140
|
type: "checkbox";
|
|
137
141
|
onChange?: (value: boolean, form: FormInstance<T>) => void;
|
|
138
142
|
}
|
|
139
|
-
export interface NumberBasedFieldProps<T> extends InitialCrudField<T
|
|
143
|
+
export interface NumberBasedFieldProps<T> extends InitialCrudField<T>, AddonFieldProps {
|
|
140
144
|
type: "number";
|
|
141
145
|
placeholder?: string;
|
|
142
146
|
allowMinus?: boolean;
|
|
147
|
+
min?: number;
|
|
148
|
+
max?: number;
|
|
143
149
|
/**
|
|
144
150
|
* If it is number field making this true will convert the value to comma separated number field
|
|
145
151
|
*/
|
|
@@ -188,6 +194,7 @@ export type FormBuilderFunc0<T> = (name: keyof T, options?: GetFormFieldOptions)
|
|
|
188
194
|
export type FormBuilderFunc<T> = (i: FormBuilderFunc0<T>, otherUtils: {
|
|
189
195
|
isAnyFieldHidden: (...name: Array<keyof T>) => boolean;
|
|
190
196
|
isAllFieldsHidden: (...name: Array<keyof T>) => boolean;
|
|
197
|
+
purpose?: CrudPurpose;
|
|
191
198
|
}) => ReactElement;
|
|
192
199
|
export type CrudFieldProps<T> = SelectCrudField<T> | TextBasedFieldProps<T> | TextAreaBasedFieldProps<T> | ImageCrudField<T> | EnumCrudField<T> | DateBasedFieldProps<T> | TimeBasedFieldProps<T> | ObjectCrudField<T> | NumberBasedFieldProps<T> | CheckboxBasedFieldProps<T> | ColorPickerFieldProps<T> | FileCrudField<T>;
|
|
193
200
|
export type CrudPaginateProps = false | {
|
package/crud/CrudField.cjs.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("react/jsx-runtime"),
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("react/jsx-runtime"),j=require("antd"),T=require("react"),$=require("react-highlight-words"),z=require("../locale/index.cjs.js"),J=require("./FileCrudField.cjs.js"),K=require("./ImageCrudField.cjs.js"),Q=require("../common/check-box/CheckBox.cjs.js"),X=require("../common/date-picker/DatePicker.cjs.js"),Y=require("../common/date-picker/TimePicker.cjs.js"),E=require("../common/select/SelectComponent.cjs.js"),Z=require("../common/text-field/NumberField.cjs.js"),V=require("../common/text-field/TextField.cjs.js"),ee=require("../common/tooltip/TooltipComponent.cjs.js"),te=require("./CrudTextAreaComponent.cjs.js"),U=require("../util/CrudUtil.cjs.js");function re(y){const{label:s,name:c,type:C,required:i,hidden:S,rules:m=[],updatable:h=!0,readonly:w=!1,fieldClassName:p,customFormFieldRender:O,fieldTooltip:v,...t}=y,g=j.Form.useFormInstance();T.useEffect(()=>{if(C==="select"){const{items:n=[],onSearch:o,searchOnType:l}=t;!(n!=null&&n.length)&&!l&&(o==null||o(void 0,g,t==null?void 0:t.updatingValue))}},[g,t,C,t==null?void 0:t.updatingValue]);const{t:q}=z.useTranslationLibNoNS();if(w||S)return e.jsx(e.Fragment,{});if(O)return O(g,y);switch(C){case"text":case"email":case"password":{const{onChange:n,placeholder:o,addonAfter:l,addonBefore:f}=t;return e.jsx(V.default,{placeholder:o,disabled:!h,rules:m,required:i,onChange:n?x=>n(x,g):void 0,type:C,name:c,tooltip:v,label:s,className:p,autoComplete:"new-password",addonAfter:l,addonBefore:f})}case"number":{const{onChange:n,placeholder:o,allowMinus:l,min:f,max:x,addonAfter:u,addonBefore:b}=t;return e.jsx(Z,{placeholder:o,disabled:!h,moneyField:!!t.formatted,type:C,onChange:n?F=>n(F,g):void 0,rules:m,autoComplete:"false",required:i,tooltip:v,className:p,min:l?null:f,max:x,addonAfter:u,addonBefore:b,name:c,label:s})}case"date":{const{range:n,disableToday:o,disabledFutureDays:l,disabledPastDays:f,onChange:x,placeholder:u,format:b}=t;return e.jsx(X,{placeholder:u,required:i,disabled:!h,type:C,format:b,tooltip:v,range:n,name:c,label:s,onChange:x?F=>x(F,g):void 0,className:p,disableToday:o,disabledFutureDays:l,disabledPastDays:f})}case"time":{const{range:n=!1,disableCurrent:o,disabledFuture:l,disabledPast:f,onChange:x,use12Hours:u,format:b,placeholder:F}=t;return e.jsx(Y,{placeholder:F,required:i,format:b,disabled:!h,type:C,tooltip:v,range:n,use12Hours:u,name:c,label:s,onChange:x?a=>x(a,g):void 0,className:p,disableCurrent:o,disabledFuture:l,disabledPast:f})}case"textarea":return e.jsx(te,{...y});case"image":return e.jsx(K.default,{...t,required:i,name:c,label:s,rules:m,fieldClassName:p,onRemoved:t.onRemoved,onUploading:t.onUploading,provider:t.provider});case"file":return e.jsx(J.default,{...t,required:i,name:c,label:s,rules:m,fieldClassName:p,onRemoved:t.onRemoved,onUploading:t.onUploading,provider:t.provider});case"select":return e.jsx(H,{...t,required:i,name:c,label:s,rules:m,fieldClassName:p,form:g,updatable:h,readonly:w,fieldTooltip:v});case"enum":{const{enum:n,radio:o=!1,translation:l,onChange:f,onSearch:x,multiple:u,tagRender:b}=t,F=Array.isArray(n)?n:Object.keys(n);return o?e.jsx(j.Form.Item,{...t,name:c,required:i,tooltip:v,rules:m,label:s,className:["w-100",p].join(" "),children:e.jsx(j.Radio.Group,{...t,onChange:f?a=>{var R;return f((R=a==null?void 0:a.target)==null?void 0:R.value,g)}:void 0,children:F.map(a=>e.jsx(j.Radio,{disabled:!h,value:a,children:l?q(l[a]):a},a))})}):e.jsx(E,{...t,tagRender:typeof b=="function"?b:b?a=>{const{value:R,label:N}=a,k=b[R];return k?e.jsx(j.Tag,{color:k.color,children:N}):e.jsx(j.Tag,{children:N})}:void 0,onChange:f?a=>f(a,g):void 0,className:["w-100",p].join(" "),name:c,items:F,required:i,tooltip:v,rules:m,label:s,disabled:!h,onSearch:x?a=>x(a,g):void 0,allowClear:!0,mode:u?"multiple":void 0,itemBuilder:a=>e.jsx(j.Select.Option,{value:a,children:l?q(l[a]):a},a)})}case"checkbox":{const{onChange:n}=t;return e.jsx(Q,{className:p,rules:m,onChange:n?o=>n(o,g):void 0,label:s,tooltip:v,disabled:!h,name:c})}case"color":return e.jsx(D,{...t,type:"color",required:i,name:c,label:s,rules:m,fieldClassName:p,updatable:h,readonly:w,fieldTooltip:v});default:return e.jsx(e.Fragment,{children:`${C} Not Implemented`})}}function H(y){const{items:s=[],loading:c,searchOnType:C,onSearch:i,multiple:S,onChange:m,highlightSearch:h,required:w,fieldClassName:p,rules:O,fieldTooltip:v,updatable:t,label:g,name:q,tagRender:n,updatingValue:o,onSet:l,placeholder:f,allowClear:x=!0}=y,u=y.form,[b,F]=T.useState(""),a=T.useMemo(()=>U.getRealName(q),[q]),R=T.useMemo(()=>U.getRealName(q,"upsertFieldName"),[q]),N=j.Form.useWatch(a,u),[k,P]=T.useState(!0);T.useEffect(()=>{l&&k&&N&&(l==null||l(N,s,u),P(!1))},[k,u,s,a,l,N]),T.useEffect(()=>{N&&P(!0)},[N]);const _=T.useCallback(async r=>{F(r),C&&(i==null||i(r,u,o))},[u,i,C,o]);return e.jsx(E,{...y,maxTagCount:"responsive",maxTagPlaceholder:r=>e.jsxs(ee,{title:e.jsx(e.Fragment,{children:r.map(d=>e.jsxs(e.Fragment,{children:[d.label," ",e.jsx("br",{})]}))}),children:["+",r==null?void 0:r.length]}),placeholder:f,onSelect:r=>{l==null||l(r==null?void 0:r.key,s,u)},onChange:m?r=>{F(""),m(r,u)}:void 0,mode:S?"multiple":void 0,className:["w-100",p].join(" "),name:R,items:s,required:w,tooltip:v,tagRender:n,rules:O,disabled:!t,label:g,allowClear:x,onSearch:_,loading:c,filterOption:h?(r,d)=>{var A,B,I;try{const L=r.toLowerCase().split(/\s+/),W=((typeof(d==null?void 0:d.children)=="string"?d==null?void 0:d.children:(B=(A=d==null?void 0:d.children)==null?void 0:A.props)==null?void 0:B.textToHighlight)??"").toLowerCase(),G=(((I=d==null?void 0:d.value)==null?void 0:I.toString())??"").toLowerCase();return L.every(M=>W.indexOf(M)>=0||G.indexOf(M)>=0)}catch{return!0}}:void 0,itemBuilder:h?r=>{const d=r.value?String(r.value):void 0;return e.jsx(j.Select.Option,{value:r.key,title:d,disabled:r.disabled,children:e.jsx($,{highlightClassName:"highlight-text",searchWords:(b??"").split(" "),autoEscape:!0,textToHighlight:d??""})},r.key)}:r=>e.jsx(j.Select.Option,{value:r.key,title:r.value,disabled:r.disabled,children:r.value},r.key)})}function D(y){const{required:s,fieldClassName:c,rules:C,fieldTooltip:i,updatable:S,label:m,name:h}=y;return e.jsx(j.Form.Item,{label:m,name:h,required:s,rules:C,tooltip:i,children:e.jsx(j.ColorPicker,{disabledAlpha:!0,format:"hex",defaultFormat:"hex",showText:!0,trigger:"click",className:c,disabled:!S,...y.innerProps})})}exports.ColorCrudFieldComponent=D;exports.SelectCrudFieldComponent=H;exports.default=re;
|
package/crud/CrudField.es.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx as t, Fragment as S, jsxs as E } from "react/jsx-runtime";
|
|
2
|
-
import { Form as j, Radio as M, Select as
|
|
3
|
-
import { useEffect as
|
|
2
|
+
import { Form as j, Radio as M, Select as A, Tag as W, ColorPicker as X } from "antd";
|
|
3
|
+
import { useEffect as B, useState as G, useMemo as _, useCallback as Y } from "react";
|
|
4
4
|
import Z from "react-highlight-words";
|
|
5
5
|
import { useTranslationLibNoNS as V } from "../locale/index.es.js";
|
|
6
6
|
import ee from "./FileCrudField.es.js";
|
|
@@ -14,74 +14,79 @@ import ne from "../common/text-field/TextField.es.js";
|
|
|
14
14
|
import ie from "../common/tooltip/TooltipComponent.es.js";
|
|
15
15
|
import de from "./CrudTextAreaComponent.es.js";
|
|
16
16
|
import $ from "../util/CrudUtil.es.js";
|
|
17
|
-
function Re(
|
|
17
|
+
function Re(N) {
|
|
18
18
|
const {
|
|
19
19
|
label: n,
|
|
20
|
-
name:
|
|
21
|
-
type:
|
|
20
|
+
name: m,
|
|
21
|
+
type: C,
|
|
22
22
|
required: d,
|
|
23
23
|
hidden: k,
|
|
24
|
-
rules:
|
|
25
|
-
updatable:
|
|
24
|
+
rules: u = [],
|
|
25
|
+
updatable: h = !0,
|
|
26
26
|
readonly: R = !1,
|
|
27
|
-
fieldClassName:
|
|
27
|
+
fieldClassName: b,
|
|
28
28
|
customFormFieldRender: P,
|
|
29
|
-
fieldTooltip:
|
|
29
|
+
fieldTooltip: y,
|
|
30
30
|
...e
|
|
31
|
-
} =
|
|
32
|
-
|
|
33
|
-
if (
|
|
31
|
+
} = N, f = j.useFormInstance();
|
|
32
|
+
B(() => {
|
|
33
|
+
if (C === "select") {
|
|
34
34
|
const {
|
|
35
35
|
items: l = [],
|
|
36
36
|
onSearch: i,
|
|
37
37
|
searchOnType: o
|
|
38
38
|
} = e;
|
|
39
|
-
!(l != null && l.length) && !o && (i == null || i(void 0,
|
|
39
|
+
!(l != null && l.length) && !o && (i == null || i(void 0, f, e == null ? void 0 : e.updatingValue));
|
|
40
40
|
}
|
|
41
|
-
}, [
|
|
41
|
+
}, [f, e, C, e == null ? void 0 : e.updatingValue]);
|
|
42
42
|
const { t: T } = V();
|
|
43
43
|
if (R || k) return /* @__PURE__ */ t(S, {});
|
|
44
44
|
if (P)
|
|
45
|
-
return P(
|
|
46
|
-
switch (
|
|
45
|
+
return P(f, N);
|
|
46
|
+
switch (C) {
|
|
47
47
|
case "text":
|
|
48
48
|
case "email":
|
|
49
49
|
case "password": {
|
|
50
|
-
const { onChange: l, placeholder: i } = e;
|
|
50
|
+
const { onChange: l, placeholder: i, addonAfter: o, addonBefore: p } = e;
|
|
51
51
|
return /* @__PURE__ */ t(
|
|
52
52
|
ne,
|
|
53
53
|
{
|
|
54
54
|
placeholder: i,
|
|
55
|
-
disabled: !
|
|
56
|
-
rules:
|
|
55
|
+
disabled: !h,
|
|
56
|
+
rules: u,
|
|
57
57
|
required: d,
|
|
58
|
-
onChange: l ? (
|
|
59
|
-
type:
|
|
60
|
-
name:
|
|
61
|
-
tooltip:
|
|
58
|
+
onChange: l ? (g) => l(g, f) : void 0,
|
|
59
|
+
type: C,
|
|
60
|
+
name: m,
|
|
61
|
+
tooltip: y,
|
|
62
62
|
label: n,
|
|
63
|
-
className:
|
|
64
|
-
autoComplete: "new-password"
|
|
63
|
+
className: b,
|
|
64
|
+
autoComplete: "new-password",
|
|
65
|
+
addonAfter: o,
|
|
66
|
+
addonBefore: p
|
|
65
67
|
}
|
|
66
68
|
);
|
|
67
69
|
}
|
|
68
70
|
case "number": {
|
|
69
|
-
const { onChange: l, placeholder: i, allowMinus: o } = e;
|
|
71
|
+
const { onChange: l, placeholder: i, allowMinus: o, min: p, max: g, addonAfter: c, addonBefore: v } = e;
|
|
70
72
|
return /* @__PURE__ */ t(
|
|
71
73
|
le,
|
|
72
74
|
{
|
|
73
75
|
placeholder: i,
|
|
74
|
-
disabled: !
|
|
76
|
+
disabled: !h,
|
|
75
77
|
moneyField: !!e.formatted,
|
|
76
|
-
type:
|
|
77
|
-
onChange: l ? (
|
|
78
|
-
rules:
|
|
78
|
+
type: C,
|
|
79
|
+
onChange: l ? (x) => l(x, f) : void 0,
|
|
80
|
+
rules: u,
|
|
79
81
|
autoComplete: "false",
|
|
80
82
|
required: d,
|
|
81
|
-
tooltip:
|
|
82
|
-
className:
|
|
83
|
-
min: o ? null :
|
|
84
|
-
|
|
83
|
+
tooltip: y,
|
|
84
|
+
className: b,
|
|
85
|
+
min: o ? null : p,
|
|
86
|
+
max: g,
|
|
87
|
+
addonAfter: c,
|
|
88
|
+
addonBefore: v,
|
|
89
|
+
name: m,
|
|
85
90
|
label: n
|
|
86
91
|
}
|
|
87
92
|
);
|
|
@@ -91,28 +96,28 @@ function Re(v) {
|
|
|
91
96
|
range: l,
|
|
92
97
|
disableToday: i,
|
|
93
98
|
disabledFutureDays: o,
|
|
94
|
-
disabledPastDays:
|
|
95
|
-
onChange:
|
|
96
|
-
placeholder:
|
|
97
|
-
format:
|
|
99
|
+
disabledPastDays: p,
|
|
100
|
+
onChange: g,
|
|
101
|
+
placeholder: c,
|
|
102
|
+
format: v
|
|
98
103
|
} = e;
|
|
99
104
|
return /* @__PURE__ */ t(
|
|
100
105
|
ae,
|
|
101
106
|
{
|
|
102
|
-
placeholder:
|
|
107
|
+
placeholder: c,
|
|
103
108
|
required: d,
|
|
104
|
-
disabled: !
|
|
105
|
-
type:
|
|
106
|
-
format:
|
|
107
|
-
tooltip:
|
|
109
|
+
disabled: !h,
|
|
110
|
+
type: C,
|
|
111
|
+
format: v,
|
|
112
|
+
tooltip: y,
|
|
108
113
|
range: l,
|
|
109
|
-
name:
|
|
114
|
+
name: m,
|
|
110
115
|
label: n,
|
|
111
|
-
onChange:
|
|
112
|
-
className:
|
|
116
|
+
onChange: g ? (x) => g(x, f) : void 0,
|
|
117
|
+
className: b,
|
|
113
118
|
disableToday: i,
|
|
114
119
|
disabledFutureDays: o,
|
|
115
|
-
disabledPastDays:
|
|
120
|
+
disabledPastDays: p
|
|
116
121
|
}
|
|
117
122
|
);
|
|
118
123
|
}
|
|
@@ -121,10 +126,10 @@ function Re(v) {
|
|
|
121
126
|
range: l = !1,
|
|
122
127
|
disableCurrent: i,
|
|
123
128
|
disabledFuture: o,
|
|
124
|
-
disabledPast:
|
|
125
|
-
onChange:
|
|
126
|
-
use12Hours:
|
|
127
|
-
format:
|
|
129
|
+
disabledPast: p,
|
|
130
|
+
onChange: g,
|
|
131
|
+
use12Hours: c,
|
|
132
|
+
format: v,
|
|
128
133
|
placeholder: x
|
|
129
134
|
} = e;
|
|
130
135
|
return /* @__PURE__ */ t(
|
|
@@ -132,34 +137,34 @@ function Re(v) {
|
|
|
132
137
|
{
|
|
133
138
|
placeholder: x,
|
|
134
139
|
required: d,
|
|
135
|
-
format:
|
|
136
|
-
disabled: !
|
|
137
|
-
type:
|
|
138
|
-
tooltip:
|
|
140
|
+
format: v,
|
|
141
|
+
disabled: !h,
|
|
142
|
+
type: C,
|
|
143
|
+
tooltip: y,
|
|
139
144
|
range: l,
|
|
140
|
-
use12Hours:
|
|
141
|
-
name:
|
|
145
|
+
use12Hours: c,
|
|
146
|
+
name: m,
|
|
142
147
|
label: n,
|
|
143
|
-
onChange:
|
|
144
|
-
className:
|
|
148
|
+
onChange: g ? (a) => g(a, f) : void 0,
|
|
149
|
+
className: b,
|
|
145
150
|
disableCurrent: i,
|
|
146
151
|
disabledFuture: o,
|
|
147
|
-
disabledPast:
|
|
152
|
+
disabledPast: p
|
|
148
153
|
}
|
|
149
154
|
);
|
|
150
155
|
}
|
|
151
156
|
case "textarea":
|
|
152
|
-
return /* @__PURE__ */ t(de, { ...
|
|
157
|
+
return /* @__PURE__ */ t(de, { ...N });
|
|
153
158
|
case "image":
|
|
154
159
|
return /* @__PURE__ */ t(
|
|
155
160
|
re,
|
|
156
161
|
{
|
|
157
162
|
...e,
|
|
158
163
|
required: d,
|
|
159
|
-
name:
|
|
164
|
+
name: m,
|
|
160
165
|
label: n,
|
|
161
|
-
rules:
|
|
162
|
-
fieldClassName:
|
|
166
|
+
rules: u,
|
|
167
|
+
fieldClassName: b,
|
|
163
168
|
onRemoved: e.onRemoved,
|
|
164
169
|
onUploading: e.onUploading,
|
|
165
170
|
provider: e.provider
|
|
@@ -171,10 +176,10 @@ function Re(v) {
|
|
|
171
176
|
{
|
|
172
177
|
...e,
|
|
173
178
|
required: d,
|
|
174
|
-
name:
|
|
179
|
+
name: m,
|
|
175
180
|
label: n,
|
|
176
|
-
rules:
|
|
177
|
-
fieldClassName:
|
|
181
|
+
rules: u,
|
|
182
|
+
fieldClassName: b,
|
|
178
183
|
onRemoved: e.onRemoved,
|
|
179
184
|
onUploading: e.onUploading,
|
|
180
185
|
provider: e.provider
|
|
@@ -186,14 +191,14 @@ function Re(v) {
|
|
|
186
191
|
{
|
|
187
192
|
...e,
|
|
188
193
|
required: d,
|
|
189
|
-
name:
|
|
194
|
+
name: m,
|
|
190
195
|
label: n,
|
|
191
|
-
rules:
|
|
192
|
-
fieldClassName:
|
|
193
|
-
form:
|
|
194
|
-
updatable:
|
|
196
|
+
rules: u,
|
|
197
|
+
fieldClassName: b,
|
|
198
|
+
form: f,
|
|
199
|
+
updatable: h,
|
|
195
200
|
readonly: R,
|
|
196
|
-
fieldTooltip:
|
|
201
|
+
fieldTooltip: y
|
|
197
202
|
}
|
|
198
203
|
);
|
|
199
204
|
case "enum": {
|
|
@@ -201,30 +206,30 @@ function Re(v) {
|
|
|
201
206
|
enum: l,
|
|
202
207
|
radio: i = !1,
|
|
203
208
|
translation: o,
|
|
204
|
-
onChange:
|
|
205
|
-
onSearch:
|
|
206
|
-
multiple:
|
|
207
|
-
tagRender:
|
|
209
|
+
onChange: p,
|
|
210
|
+
onSearch: g,
|
|
211
|
+
multiple: c,
|
|
212
|
+
tagRender: v
|
|
208
213
|
} = e, x = Array.isArray(l) ? l : Object.keys(l);
|
|
209
214
|
return i ? /* @__PURE__ */ t(
|
|
210
215
|
j.Item,
|
|
211
216
|
{
|
|
212
217
|
...e,
|
|
213
|
-
name:
|
|
218
|
+
name: m,
|
|
214
219
|
required: d,
|
|
215
|
-
tooltip:
|
|
216
|
-
rules:
|
|
220
|
+
tooltip: y,
|
|
221
|
+
rules: u,
|
|
217
222
|
label: n,
|
|
218
|
-
className: ["w-100",
|
|
223
|
+
className: ["w-100", b].join(" "),
|
|
219
224
|
children: /* @__PURE__ */ t(
|
|
220
225
|
M.Group,
|
|
221
226
|
{
|
|
222
227
|
...e,
|
|
223
|
-
onChange:
|
|
228
|
+
onChange: p ? (a) => {
|
|
224
229
|
var w;
|
|
225
|
-
return
|
|
230
|
+
return p((w = a == null ? void 0 : a.target) == null ? void 0 : w.value, f);
|
|
226
231
|
} : void 0,
|
|
227
|
-
children: x.map((a) => /* @__PURE__ */ t(M, { disabled: !
|
|
232
|
+
children: x.map((a) => /* @__PURE__ */ t(M, { disabled: !h, value: a, children: o ? T(o[a]) : a }, a))
|
|
228
233
|
}
|
|
229
234
|
)
|
|
230
235
|
}
|
|
@@ -232,23 +237,23 @@ function Re(v) {
|
|
|
232
237
|
z,
|
|
233
238
|
{
|
|
234
239
|
...e,
|
|
235
|
-
tagRender: typeof
|
|
236
|
-
const { value: w, label: F } = a, O =
|
|
240
|
+
tagRender: typeof v == "function" ? v : v ? (a) => {
|
|
241
|
+
const { value: w, label: F } = a, O = v[w];
|
|
237
242
|
return O ? /* @__PURE__ */ t(W, { color: O.color, children: F }) : /* @__PURE__ */ t(W, { children: F });
|
|
238
243
|
} : void 0,
|
|
239
|
-
onChange:
|
|
240
|
-
className: ["w-100",
|
|
241
|
-
name:
|
|
244
|
+
onChange: p ? (a) => p(a, f) : void 0,
|
|
245
|
+
className: ["w-100", b].join(" "),
|
|
246
|
+
name: m,
|
|
242
247
|
items: x,
|
|
243
248
|
required: d,
|
|
244
|
-
tooltip:
|
|
245
|
-
rules:
|
|
249
|
+
tooltip: y,
|
|
250
|
+
rules: u,
|
|
246
251
|
label: n,
|
|
247
|
-
disabled: !
|
|
248
|
-
onSearch:
|
|
252
|
+
disabled: !h,
|
|
253
|
+
onSearch: g ? (a) => g(a, f) : void 0,
|
|
249
254
|
allowClear: !0,
|
|
250
|
-
mode:
|
|
251
|
-
itemBuilder: (a) => /* @__PURE__ */ t(
|
|
255
|
+
mode: c ? "multiple" : void 0,
|
|
256
|
+
itemBuilder: (a) => /* @__PURE__ */ t(A.Option, { value: a, children: o ? T(o[a]) : a }, a)
|
|
252
257
|
}
|
|
253
258
|
);
|
|
254
259
|
}
|
|
@@ -257,73 +262,73 @@ function Re(v) {
|
|
|
257
262
|
return /* @__PURE__ */ t(
|
|
258
263
|
te,
|
|
259
264
|
{
|
|
260
|
-
className:
|
|
261
|
-
rules:
|
|
262
|
-
onChange: l ? (i) => l(i,
|
|
265
|
+
className: b,
|
|
266
|
+
rules: u,
|
|
267
|
+
onChange: l ? (i) => l(i, f) : void 0,
|
|
263
268
|
label: n,
|
|
264
|
-
tooltip:
|
|
265
|
-
disabled: !
|
|
266
|
-
name:
|
|
269
|
+
tooltip: y,
|
|
270
|
+
disabled: !h,
|
|
271
|
+
name: m
|
|
267
272
|
}
|
|
268
273
|
);
|
|
269
274
|
}
|
|
270
275
|
case "color":
|
|
271
276
|
return /* @__PURE__ */ t(
|
|
272
|
-
|
|
277
|
+
me,
|
|
273
278
|
{
|
|
274
279
|
...e,
|
|
275
280
|
type: "color",
|
|
276
281
|
required: d,
|
|
277
|
-
name:
|
|
282
|
+
name: m,
|
|
278
283
|
label: n,
|
|
279
|
-
rules:
|
|
280
|
-
fieldClassName:
|
|
281
|
-
updatable:
|
|
284
|
+
rules: u,
|
|
285
|
+
fieldClassName: b,
|
|
286
|
+
updatable: h,
|
|
282
287
|
readonly: R,
|
|
283
|
-
fieldTooltip:
|
|
288
|
+
fieldTooltip: y
|
|
284
289
|
}
|
|
285
290
|
);
|
|
286
291
|
default:
|
|
287
|
-
return /* @__PURE__ */ t(S, { children: `${
|
|
292
|
+
return /* @__PURE__ */ t(S, { children: `${C} Not Implemented` });
|
|
288
293
|
}
|
|
289
294
|
}
|
|
290
|
-
function se(
|
|
295
|
+
function se(N) {
|
|
291
296
|
const {
|
|
292
297
|
items: n = [],
|
|
293
|
-
loading:
|
|
294
|
-
searchOnType:
|
|
298
|
+
loading: m,
|
|
299
|
+
searchOnType: C,
|
|
295
300
|
onSearch: d,
|
|
296
301
|
multiple: k,
|
|
297
|
-
onChange:
|
|
298
|
-
highlightSearch:
|
|
302
|
+
onChange: u,
|
|
303
|
+
highlightSearch: h,
|
|
299
304
|
required: R,
|
|
300
|
-
fieldClassName:
|
|
305
|
+
fieldClassName: b,
|
|
301
306
|
rules: P,
|
|
302
|
-
fieldTooltip:
|
|
307
|
+
fieldTooltip: y,
|
|
303
308
|
updatable: e,
|
|
304
|
-
label:
|
|
309
|
+
label: f,
|
|
305
310
|
name: T,
|
|
306
311
|
tagRender: l,
|
|
307
312
|
updatingValue: i,
|
|
308
313
|
onSet: o,
|
|
309
|
-
placeholder:
|
|
310
|
-
allowClear:
|
|
311
|
-
} =
|
|
312
|
-
|
|
313
|
-
o && O && F && (o == null || o(F, n,
|
|
314
|
-
}, [O,
|
|
315
|
-
F &&
|
|
314
|
+
placeholder: p,
|
|
315
|
+
allowClear: g = !0
|
|
316
|
+
} = N, c = N.form, [v, x] = G(""), a = _(() => $.getRealName(T), [T]), w = _(() => $.getRealName(T, "upsertFieldName"), [T]), F = j.useWatch(a, c), [O, I] = G(!0);
|
|
317
|
+
B(() => {
|
|
318
|
+
o && O && F && (o == null || o(F, n, c), I(!1));
|
|
319
|
+
}, [O, c, n, a, o, F]), B(() => {
|
|
320
|
+
F && I(!0);
|
|
316
321
|
}, [F]);
|
|
317
322
|
const J = Y(
|
|
318
323
|
async (r) => {
|
|
319
|
-
x(r),
|
|
324
|
+
x(r), C && (d == null || d(r, c, i));
|
|
320
325
|
},
|
|
321
|
-
[
|
|
326
|
+
[c, d, C, i]
|
|
322
327
|
);
|
|
323
328
|
return /* @__PURE__ */ t(
|
|
324
329
|
z,
|
|
325
330
|
{
|
|
326
|
-
...
|
|
331
|
+
...N,
|
|
327
332
|
maxTagCount: "responsive",
|
|
328
333
|
maxTagPlaceholder: (r) => /* @__PURE__ */ E(
|
|
329
334
|
ie,
|
|
@@ -339,30 +344,30 @@ function se(v) {
|
|
|
339
344
|
]
|
|
340
345
|
}
|
|
341
346
|
),
|
|
342
|
-
placeholder:
|
|
347
|
+
placeholder: p,
|
|
343
348
|
onSelect: (r) => {
|
|
344
|
-
o == null || o(r == null ? void 0 : r.key, n,
|
|
349
|
+
o == null || o(r == null ? void 0 : r.key, n, c);
|
|
345
350
|
},
|
|
346
|
-
onChange:
|
|
347
|
-
x(""),
|
|
351
|
+
onChange: u ? (r) => {
|
|
352
|
+
x(""), u(r, c);
|
|
348
353
|
} : void 0,
|
|
349
354
|
mode: k ? "multiple" : void 0,
|
|
350
|
-
className: ["w-100",
|
|
355
|
+
className: ["w-100", b].join(" "),
|
|
351
356
|
name: w,
|
|
352
357
|
items: n,
|
|
353
358
|
required: R,
|
|
354
|
-
tooltip:
|
|
359
|
+
tooltip: y,
|
|
355
360
|
tagRender: l,
|
|
356
361
|
rules: P,
|
|
357
362
|
disabled: !e,
|
|
358
|
-
label:
|
|
359
|
-
allowClear:
|
|
363
|
+
label: f,
|
|
364
|
+
allowClear: g,
|
|
360
365
|
onSearch: J,
|
|
361
|
-
loading:
|
|
362
|
-
filterOption:
|
|
363
|
-
var
|
|
366
|
+
loading: m,
|
|
367
|
+
filterOption: h ? (r, s) => {
|
|
368
|
+
var L, U, H;
|
|
364
369
|
try {
|
|
365
|
-
const q = r.toLowerCase().split(/\s+/), K = ((typeof (s == null ? void 0 : s.children) == "string" ? s == null ? void 0 : s.children : (
|
|
370
|
+
const q = r.toLowerCase().split(/\s+/), K = ((typeof (s == null ? void 0 : s.children) == "string" ? s == null ? void 0 : s.children : (U = (L = s == null ? void 0 : s.children) == null ? void 0 : L.props) == null ? void 0 : U.textToHighlight) ?? "").toLowerCase(), Q = (((H = s == null ? void 0 : s.value) == null ? void 0 : H.toString()) ?? "").toLowerCase();
|
|
366
371
|
return q.every(
|
|
367
372
|
(D) => K.indexOf(D) >= 0 || Q.indexOf(D) >= 0
|
|
368
373
|
);
|
|
@@ -370,10 +375,10 @@ function se(v) {
|
|
|
370
375
|
return !0;
|
|
371
376
|
}
|
|
372
377
|
} : void 0,
|
|
373
|
-
itemBuilder:
|
|
378
|
+
itemBuilder: h ? (r) => {
|
|
374
379
|
const s = r.value ? String(r.value) : void 0;
|
|
375
380
|
return /* @__PURE__ */ t(
|
|
376
|
-
|
|
381
|
+
A.Option,
|
|
377
382
|
{
|
|
378
383
|
value: r.key,
|
|
379
384
|
title: s,
|
|
@@ -382,7 +387,7 @@ function se(v) {
|
|
|
382
387
|
Z,
|
|
383
388
|
{
|
|
384
389
|
highlightClassName: "highlight-text",
|
|
385
|
-
searchWords: (
|
|
390
|
+
searchWords: (v ?? "").split(" "),
|
|
386
391
|
autoEscape: !0,
|
|
387
392
|
textToHighlight: s ?? ""
|
|
388
393
|
}
|
|
@@ -391,7 +396,7 @@ function se(v) {
|
|
|
391
396
|
r.key
|
|
392
397
|
);
|
|
393
398
|
} : (r) => /* @__PURE__ */ t(
|
|
394
|
-
|
|
399
|
+
A.Option,
|
|
395
400
|
{
|
|
396
401
|
value: r.key,
|
|
397
402
|
title: r.value,
|
|
@@ -403,23 +408,23 @@ function se(v) {
|
|
|
403
408
|
}
|
|
404
409
|
);
|
|
405
410
|
}
|
|
406
|
-
function
|
|
411
|
+
function me(N) {
|
|
407
412
|
const {
|
|
408
413
|
required: n,
|
|
409
|
-
fieldClassName:
|
|
410
|
-
rules:
|
|
414
|
+
fieldClassName: m,
|
|
415
|
+
rules: C,
|
|
411
416
|
fieldTooltip: d,
|
|
412
417
|
updatable: k,
|
|
413
|
-
label:
|
|
414
|
-
name:
|
|
415
|
-
} =
|
|
418
|
+
label: u,
|
|
419
|
+
name: h
|
|
420
|
+
} = N;
|
|
416
421
|
return /* @__PURE__ */ t(
|
|
417
422
|
j.Item,
|
|
418
423
|
{
|
|
419
|
-
label:
|
|
420
|
-
name:
|
|
424
|
+
label: u,
|
|
425
|
+
name: h,
|
|
421
426
|
required: n,
|
|
422
|
-
rules:
|
|
427
|
+
rules: C,
|
|
423
428
|
tooltip: d,
|
|
424
429
|
children: /* @__PURE__ */ t(
|
|
425
430
|
X,
|
|
@@ -429,16 +434,16 @@ function ce(v) {
|
|
|
429
434
|
defaultFormat: "hex",
|
|
430
435
|
showText: !0,
|
|
431
436
|
trigger: "click",
|
|
432
|
-
className:
|
|
437
|
+
className: m,
|
|
433
438
|
disabled: !k,
|
|
434
|
-
...
|
|
439
|
+
...N.innerProps
|
|
435
440
|
}
|
|
436
441
|
)
|
|
437
442
|
}
|
|
438
443
|
);
|
|
439
444
|
}
|
|
440
445
|
export {
|
|
441
|
-
|
|
446
|
+
me as ColorCrudFieldComponent,
|
|
442
447
|
se as SelectCrudFieldComponent,
|
|
443
448
|
Re as default
|
|
444
449
|
};
|
package/crud/CrudForm.cjs.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),c=require("react"),m=require("antd"),j=require("./CrudField.cjs.js"),b=require("../util/CrudUtil.cjs.js");function v({form:i,purpose:y="new",...g}){return e.jsx(m.Form,{form:i,layout:"vertical",children:e.jsx(x,{...g,purpose:y})})}function x({fields:i,formBuilder:y,grid:g,onDeleteFile:d,onUploadFile:u,purpose:s}){const p=c.useMemo(()=>i.filter(t=>!t.readonly).map(t=>{const a={onUploading:t.type==="image"||t.type==="file"?r=>{var n;t.onUploading&&((n=t.onUploading)==null||n.call(t,r)),u==null||u(r)}:void 0,onDelete:t.type==="image"||t.type==="file"?r=>{var n;t.onUploading&&((n=t.onDelete)==null||n.call(t,r)),d==null||d(r)}:void 0};return e.jsx(c.Fragment,{children:t.grid&&g?e.jsx(m.Col,{...t.grid,children:c.createElement(j.default,{...t,...a,key:typeof t.name=="string"?t.name:String(t.name),updatable:s!=="update"?!0:t.updatable})}):c.createElement(j.default,{...t,...a,key:typeof t.name=="string"?t.name:String(t.name),updatable:s!=="update"?!0:t.updatable})},t.name)}),[i,g,d,u,s]),C=c.useCallback((t,a={})=>{const r=i.find(n=>b.getRealName(n.name)===t);if(r!=null&&r.hidden)return e.jsx(e.Fragment,{});if(r){const n={onUploading:r.type==="image"||r.type==="file"?o=>{var f;r.onUploading&&((f=r.onUploading)==null||f.call(r,o)),u==null||u(o)}:void 0,onDelete:r.type==="image"||r.type==="file"?o=>{var f;r.onUploading&&((f=r.onDelete)==null||f.call(r,o)),d==null||d(o)}:void 0},l=b.getRealName(r.name),h=c.createElement(j.default,{...r,...a,...n,key:typeof l=="string"?l:String(l),updatable:s!=="update"?!0:r.updatable});return a.render?a.render(h):h}return e.jsx(e.Fragment,{})},[i,s]);return e.jsx(e.Fragment,{children:y?e.jsxs(e.Fragment,{children:[y(C,{isAnyFieldHidden(...t){const a=Array.isArray(t)?t:[t];return i.filter(n=>a.includes(n.name)).some(n=>n.hidden)},isAllFieldsHidden(...t){const a=Array.isArray(t)?t:[t];return i.filter(n=>a.includes(n.name)).every(n=>n.hidden)},purpose:s}),e.jsxs(m.Form.Item,{hidden:!0,noStyle:!0,children:[e.jsx(m.Input,{name:"id"}),e.jsx(m.Input,{})]})]}):g?e.jsx(m.Row,{gutter:[8,8],children:p}):p})}exports.CrudForm=v;exports.CrudFormFields=x;
|
package/crud/CrudForm.es.js
CHANGED
|
@@ -6,17 +6,17 @@ import C from "../util/CrudUtil.es.js";
|
|
|
6
6
|
function z({
|
|
7
7
|
form: d,
|
|
8
8
|
purpose: g = "new",
|
|
9
|
-
...
|
|
9
|
+
...c
|
|
10
10
|
}) {
|
|
11
|
-
return /* @__PURE__ */ a(k, { form: d, layout: "vertical", children: /* @__PURE__ */ a(I, { ...
|
|
11
|
+
return /* @__PURE__ */ a(k, { form: d, layout: "vertical", children: /* @__PURE__ */ a(I, { ...c, purpose: g }) });
|
|
12
12
|
}
|
|
13
13
|
function I({
|
|
14
14
|
fields: d,
|
|
15
15
|
formBuilder: g,
|
|
16
|
-
grid:
|
|
16
|
+
grid: c,
|
|
17
17
|
onDeleteFile: m,
|
|
18
18
|
onUploadFile: e,
|
|
19
|
-
purpose:
|
|
19
|
+
purpose: u
|
|
20
20
|
}) {
|
|
21
21
|
const h = N(
|
|
22
22
|
() => d.filter((r) => !r.readonly).map((r) => {
|
|
@@ -30,13 +30,13 @@ function I({
|
|
|
30
30
|
r.onUploading && ((n = r.onDelete) == null || n.call(r, t)), m == null || m(t);
|
|
31
31
|
} : void 0
|
|
32
32
|
};
|
|
33
|
-
return /* @__PURE__ */ a(S.Fragment, { children: r.grid &&
|
|
33
|
+
return /* @__PURE__ */ a(S.Fragment, { children: r.grid && c ? /* @__PURE__ */ a(w, { ...r.grid, children: /* @__PURE__ */ p(
|
|
34
34
|
l,
|
|
35
35
|
{
|
|
36
36
|
...r,
|
|
37
37
|
...i,
|
|
38
38
|
key: typeof r.name == "string" ? r.name : String(r.name),
|
|
39
|
-
updatable:
|
|
39
|
+
updatable: u !== "update" ? !0 : r.updatable
|
|
40
40
|
}
|
|
41
41
|
) }) : /* @__PURE__ */ p(
|
|
42
42
|
l,
|
|
@@ -44,11 +44,11 @@ function I({
|
|
|
44
44
|
...r,
|
|
45
45
|
...i,
|
|
46
46
|
key: typeof r.name == "string" ? r.name : String(r.name),
|
|
47
|
-
updatable:
|
|
47
|
+
updatable: u !== "update" ? !0 : r.updatable
|
|
48
48
|
}
|
|
49
49
|
) }, r.name);
|
|
50
50
|
}),
|
|
51
|
-
[d,
|
|
51
|
+
[d, c, m, e, u]
|
|
52
52
|
), R = j(
|
|
53
53
|
(r, i = {}) => {
|
|
54
54
|
const t = d.find((n) => C.getRealName(n.name) === r);
|
|
@@ -70,14 +70,14 @@ function I({
|
|
|
70
70
|
...i,
|
|
71
71
|
...n,
|
|
72
72
|
key: typeof s == "string" ? s : String(s),
|
|
73
|
-
updatable:
|
|
73
|
+
updatable: u !== "update" ? !0 : t.updatable
|
|
74
74
|
}
|
|
75
75
|
);
|
|
76
76
|
return i.render ? i.render(b) : b;
|
|
77
77
|
}
|
|
78
78
|
return /* @__PURE__ */ a(y, {});
|
|
79
79
|
},
|
|
80
|
-
[d,
|
|
80
|
+
[d, u]
|
|
81
81
|
);
|
|
82
82
|
return /* @__PURE__ */ a(y, { children: g ? /* @__PURE__ */ v(y, { children: [
|
|
83
83
|
g(R, {
|
|
@@ -88,13 +88,14 @@ function I({
|
|
|
88
88
|
isAllFieldsHidden(...r) {
|
|
89
89
|
const i = Array.isArray(r) ? r : [r];
|
|
90
90
|
return d.filter((n) => i.includes(n.name)).every((n) => n.hidden);
|
|
91
|
-
}
|
|
91
|
+
},
|
|
92
|
+
purpose: u
|
|
92
93
|
}),
|
|
93
94
|
/* @__PURE__ */ v(k.Item, { hidden: !0, noStyle: !0, children: [
|
|
94
95
|
/* @__PURE__ */ a(A, { name: "id" }),
|
|
95
96
|
/* @__PURE__ */ a(A, {})
|
|
96
97
|
] })
|
|
97
|
-
] }) :
|
|
98
|
+
] }) : c ? /* @__PURE__ */ a(H, { gutter: [8, 8], children: h }) : h });
|
|
98
99
|
}
|
|
99
100
|
export {
|
|
100
101
|
z as CrudForm,
|