@signalplus/params-about 1.0.5-alpha → 1.0.5-alpha2

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/index.d.ts CHANGED
@@ -11,7 +11,9 @@ declare enum ParamType {
11
11
  ExpiryLimit = 6,
12
12
  Expiry = 7,
13
13
  Phone = 8,
14
- Text = 9
14
+ Text = 9,
15
+ ExpiryValue = 10,
16
+ InstrumentValue = 11
15
17
  }
16
18
  interface BaseInputProps {
17
19
  value?: any;
@@ -31,6 +33,7 @@ interface ParamRendererProps extends BaseInputProps {
31
33
  valueType?: ParamType;
32
34
  value?: ParamValueStruct;
33
35
  expiriesOptions?: string[];
36
+ instrumentsOptions?: string[];
34
37
  onChange?(val: ParamValueStruct): void;
35
38
  }
36
39
  declare class ParamRenderer extends PureComponent<ParamRendererProps> {
@@ -75,6 +78,7 @@ interface ParamFormProps {
75
78
  parentOptions: ParentSelectorProps['parentOptions'];
76
79
  allKeys: string[];
77
80
  expiriesOptions: string[];
81
+ instrumentsOptions: string[];
78
82
  initialValues?: Partial<ParamFormData>;
79
83
  groupEditable?: boolean;
80
84
  onChange?(data: ParamFormData): void;
@@ -120,6 +124,7 @@ interface ParamValueEditorData {
120
124
  interface ParamValueEditorProps {
121
125
  allParams: ParentSelectorProps['parentOptions'];
122
126
  expiriesOptions: string[];
127
+ instrumentsOptions: string[];
123
128
  valueType: ParamType;
124
129
  initialValues: ParamValueEditorData;
125
130
  onChange?(data: ParamValueEditorData): void;
@@ -331,7 +336,7 @@ declare function expiryValidator(val: string, enableEmpty?: boolean): "Should no
331
336
  declare function expiriesValidator(val: string[]): string;
332
337
  declare function keyValidator(val: string, allKeys: string[]): "Should not be empty" | "" | "Out of format: should be a combination of the following chars `_.0-9a-zA-Z`" | "This key has been used";
333
338
  declare function isExpired(val?: string): boolean;
334
- declare function sameGroupNameValidator(val: string, paramList: LocalParamItem[], projectName: string, templateName: string, parentNames?: string): string | undefined;
339
+ declare function sameGroupNameValidator(val: string, paramList: LocalParamItem[], projectName: string, templateName: string, parentNames?: string): string;
335
340
  declare function validatorCvt(validator: (val: any, values: any) => ValidateInfo['string'], form?: () => any): (_: any, val: any) => Promise<any>;
336
341
 
337
342
  export { BaseInputProps, LocalParamItem, ParamForm, ParamFormData, ParamFormModal, ParamFormProps, ParamGroupEditor, ParamGroupEditorData, ParamGroupEditorModal, ParamGroupEditorModalEl, ParamGroupEditorProps, ParamItem, ParamMover, ParamMoverData, ParamMoverModal, ParamMoverModalEl, ParamMoverProps, ParamMoverState, ParamRenderer, ParamRendererProps, ParamType, ParamTypeConfig, ParamTypeOptions, ParamValueEditor, ParamValueEditorData, ParamValueEditorModal, ParamValueEditorModalEl, ParamValueEditorProps, ParamValueStruct, ValidateInfo, emptyValidator, expiriesValidator, expiryValidator, formatNum, isExpired, isNullLike, keyValidator, numRangeValidator, paramValidator, sameGroupNameValidator, validatorCvt };
@@ -0,0 +1,84 @@
1
+ @import './var';
2
+
3
+ .param-expiries-value {
4
+ padding: calc((#{$input-height} - 20px) / 2) 0;
5
+
6
+ &.readonly {
7
+ padding: calc((#{$input-readonly-height} - 20px) / 2) 0;
8
+ }
9
+
10
+ .param-number-range {
11
+ margin: 0 0 0 10px;
12
+ }
13
+
14
+ .param-number-range-prefix {
15
+ display: none;
16
+ }
17
+
18
+ .param-number-suffix {
19
+ padding: 0 7px;
20
+ }
21
+ }
22
+
23
+ .param-expiries-value-val {
24
+ display: block;
25
+
26
+ &:after {
27
+ content: ';';
28
+ }
29
+ }
30
+
31
+ .param-expiries-value-inputs {
32
+ display: grid;
33
+ grid-row-gap: 10px;
34
+ grid-column-gap: 10px;
35
+ grid-template-rows: auto;
36
+ grid-template-columns: auto auto auto auto;
37
+
38
+ .param-expiries,
39
+ .param-number-range,
40
+ .param-arr-ops {
41
+ height: 30px;
42
+ padding-top: 0;
43
+ padding-right: 0;
44
+ margin: 0;
45
+
46
+ &.readonly {
47
+ height: 20px;
48
+ line-height: 18px;
49
+
50
+ .param-expiries-val {
51
+ margin-top: 0;
52
+ }
53
+ }
54
+
55
+ .param-expiries-placeholder,
56
+ .param-expiries-val {
57
+ margin-top: 4px;
58
+ }
59
+
60
+ .param-number-range-sep {
61
+ margin: 0 6px;
62
+ }
63
+ }
64
+
65
+ .param-arr-ops {
66
+ padding: 0;
67
+ }
68
+
69
+ //.param-arr-ops:nth-child(8):last-child {
70
+ //
71
+ // .param-arr-ops-del {
72
+ // visibility: hidden;
73
+ // pointer-events: none;
74
+ // }
75
+ //}
76
+ }
77
+
78
+ .param-expiries-popover {
79
+ padding: 0 !important;
80
+
81
+ .ant-popover-arrow {
82
+ display: none;
83
+ }
84
+ }
package/lib/css/index.css CHANGED
@@ -1 +1 @@
1
- .param-parent-selector.readonly .ant-select-selector{padding:0 !important;border-color:transparent !important;background:transparent !important;cursor:initial !important}.param-parent-selector.readonly .ant-select-selection-item{color:#333 !important}.param-parent-selector.readonly .ant-select-arrow{display:none !important}.param-form.param-value-editor .ant-form-item-label,.param-value-editor.param-value-editor .ant-form-item-label,.param-group-editor.param-value-editor .ant-form-item-label,.param-mover.param-value-editor .ant-form-item-label{width:150px}.param-form .ant-form-item-label,.param-value-editor .ant-form-item-label,.param-group-editor .ant-form-item-label,.param-mover .ant-form-item-label{width:80px;padding:0 15px 0 0}.param-form .ant-form-item-label>label,.param-value-editor .ant-form-item-label>label,.param-group-editor .ant-form-item-label>label,.param-mover .ant-form-item-label>label{height:40px}.param-form .ant-form-item-label>label:after,.param-value-editor .ant-form-item-label>label:after,.param-group-editor .ant-form-item-label>label:after,.param-mover .ant-form-item-label>label:after{content:none !important}.param-form input.ant-input.ant-input,.param-form .ant-select-selector.ant-select-selector,.param-form .ant-cascader.ant-cascader,.param-value-editor input.ant-input.ant-input,.param-value-editor .ant-select-selector.ant-select-selector,.param-value-editor .ant-cascader.ant-cascader,.param-group-editor input.ant-input.ant-input,.param-group-editor .ant-select-selector.ant-select-selector,.param-group-editor .ant-cascader.ant-cascader,.param-mover input.ant-input.ant-input,.param-mover .ant-select-selector.ant-select-selector,.param-mover .ant-cascader.ant-cascader{height:40px !important}.param-form input.ant-input.ant-input input,.param-form input.ant-input.ant-input .ant-select-selection-placeholder,.param-form input.ant-input.ant-input .ant-select-selection-item,.param-form .ant-select-selector.ant-select-selector input,.param-form .ant-select-selector.ant-select-selector .ant-select-selection-placeholder,.param-form .ant-select-selector.ant-select-selector .ant-select-selection-item,.param-form .ant-cascader.ant-cascader input,.param-form .ant-cascader.ant-cascader .ant-select-selection-placeholder,.param-form .ant-cascader.ant-cascader .ant-select-selection-item,.param-value-editor input.ant-input.ant-input input,.param-value-editor input.ant-input.ant-input .ant-select-selection-placeholder,.param-value-editor input.ant-input.ant-input .ant-select-selection-item,.param-value-editor .ant-select-selector.ant-select-selector input,.param-value-editor .ant-select-selector.ant-select-selector .ant-select-selection-placeholder,.param-value-editor .ant-select-selector.ant-select-selector .ant-select-selection-item,.param-value-editor .ant-cascader.ant-cascader input,.param-value-editor .ant-cascader.ant-cascader .ant-select-selection-placeholder,.param-value-editor .ant-cascader.ant-cascader .ant-select-selection-item,.param-group-editor input.ant-input.ant-input input,.param-group-editor input.ant-input.ant-input .ant-select-selection-placeholder,.param-group-editor input.ant-input.ant-input .ant-select-selection-item,.param-group-editor .ant-select-selector.ant-select-selector input,.param-group-editor .ant-select-selector.ant-select-selector .ant-select-selection-placeholder,.param-group-editor .ant-select-selector.ant-select-selector .ant-select-selection-item,.param-group-editor .ant-cascader.ant-cascader input,.param-group-editor .ant-cascader.ant-cascader .ant-select-selection-placeholder,.param-group-editor .ant-cascader.ant-cascader .ant-select-selection-item,.param-mover input.ant-input.ant-input input,.param-mover input.ant-input.ant-input .ant-select-selection-placeholder,.param-mover input.ant-input.ant-input .ant-select-selection-item,.param-mover .ant-select-selector.ant-select-selector input,.param-mover .ant-select-selector.ant-select-selector .ant-select-selection-placeholder,.param-mover .ant-select-selector.ant-select-selector .ant-select-selection-item,.param-mover .ant-cascader.ant-cascader input,.param-mover .ant-cascader.ant-cascader .ant-select-selection-placeholder,.param-mover .ant-cascader.ant-cascader .ant-select-selection-item{height:calc(40px - 2px) !important;line-height:calc(40px - 2px) !important}.param-form textarea.ant-input.ant-input,.param-value-editor textarea.ant-input.ant-input,.param-group-editor textarea.ant-input.ant-input,.param-mover textarea.ant-input.ant-input{height:100px;min-height:40px;padding:9px 10px}.param-form .ant-form-item.ant-form-item:not(.ant-form-item-with-help),.param-value-editor .ant-form-item.ant-form-item:not(.ant-form-item-with-help),.param-group-editor .ant-form-item.ant-form-item:not(.ant-form-item-with-help),.param-mover .ant-form-item.ant-form-item:not(.ant-form-item-with-help){margin:0 0 12px}.param-form .ant-form-item-explain.ant-form-item-explain,.param-value-editor .ant-form-item-explain.ant-form-item-explain,.param-group-editor .ant-form-item-explain.ant-form-item-explain,.param-mover .ant-form-item-explain.ant-form-item-explain{height:auto;min-height:auto;margin:0 0 12px;font-size:12px;line-height:14px}.param-form .react-file-name,.param-value-editor .react-file-name,.param-group-editor .react-file-name,.param-mover .react-file-name{display:none !important}.param-form .ant-row,.param-value-editor .ant-row,.param-group-editor .ant-row,.param-mover .ant-row{display:flex}.param-form .param-default-value,.param-form .param-value-before,.param-value-editor .param-default-value,.param-value-editor .param-value-before,.param-group-editor .param-default-value,.param-group-editor .param-value-before,.param-mover .param-default-value,.param-mover .param-value-before{padding:calc((40px - 30px) / 2) 0}.param-form .param-default-value .ant-form-item-label>label,.param-form .param-value-before .ant-form-item-label>label,.param-value-editor .param-default-value .ant-form-item-label>label,.param-value-editor .param-value-before .ant-form-item-label>label,.param-group-editor .param-default-value .ant-form-item-label>label,.param-group-editor .param-value-before .ant-form-item-label>label,.param-mover .param-default-value .ant-form-item-label>label,.param-mover .param-value-before .ant-form-item-label>label{height:30px}.param-image-upload.param-image-upload .react-file-input{border-color:#d9d9d9}.param-bool{flex:1;display:flex;align-items:center;height:40px}.param-bool.readonly{height:30px}.param-bool-option{display:inline-flex;align-items:center;margin:0 16px 0 0;cursor:pointer}.param-bool-option>svg{margin:0 5px 0 0}.active{color:#006fa7}.param-expiries{position:relative;flex:1;max-width:100%;min-width:calc(7em + 24px + 2px);padding:calc((40px - 22px) / 2) calc(1em + 14px) calc((40px - 22px) / 2) 10px;line-height:0;border:1px solid #d9d9d9;border-radius:2px;cursor:pointer;background:#fff}.param-expiries.readonly{padding:calc((30px - 20px) / 2) 0;border-color:transparent;overflow:initial;white-space:initial;cursor:default;background:transparent}.param-expiries.readonly.multiple{white-space:pre-wrap}.param-expiries.multiple{text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.param-expiries-arrow{position:absolute;top:50%;right:7px;margin:-0.5em 0 0;color:#d9d9d9 !important}.param-expiries-val{display:inline-block;margin:0 6px 0 0;line-height:20px;white-space:initial;vertical-align:middle}.param-expiries-placeholder{display:inline-block;margin:0 6px 0 0;line-height:20px;color:rgba(0,0,0,0.25);max-width:100%;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;vertical-align:middle}.param-expiries-multi-val{display:inline-block;margin:0 6px 0 0;padding:0 3px 0 8px;line-height:20px;border-radius:2px;background:rgba(0,0,0,0.1);vertical-align:middle}.param-expiries-multi-val svg{display:inline-block;margin:0 0 0 4px;color:#999;cursor:pointer}.param-expiries-popover .ant-popover-inner-content{max-height:50vh;overflow-y:auto}.param-expiries-option{display:flex;align-items:center;justify-content:space-between;width:240px;margin:0 -16px;padding:0 16px;line-height:30px;color:rgba(51,51,51,0.6);cursor:pointer}.param-expiries-option.param-expiries-option-checked{font-weight:bold;color:#333}.param-expiries-option.param-expiries-option-disabled{cursor:not-allowed;opacity:0.5}.param-expiries-option:hover{color:#333;background:rgba(0,0,0,0.1)}.param-expiries-option svg{color:#57be6a}.param-expiries-limit{padding:calc((40px - 20px) / 2) 0}.param-expiries-limit.readonly{padding:calc((30px - 20px) / 2) 0}.param-expiries-limit .param-number-range{margin:0 0 0 10px}.param-expiries-limit .param-number-range-prefix{display:none}.param-expiries-limit .param-number-suffix{padding:0 7px}.param-expiries-limit-val{display:block}.param-expiries-limit-val:after{content:';'}.param-expiries-limit-val-sep{padding:0 4px;color:#999}.param-expiries-limit-inputs{display:grid;grid-row-gap:10px;grid-column-gap:10px;grid-template-rows:auto;grid-template-columns:auto auto auto auto}.param-expiries-limit-inputs .param-expiries,.param-expiries-limit-inputs .param-number-range,.param-expiries-limit-inputs .param-arr-ops{height:30px;padding-top:0;padding-right:0;margin:0}.param-expiries-limit-inputs .param-expiries.readonly,.param-expiries-limit-inputs .param-number-range.readonly,.param-expiries-limit-inputs .param-arr-ops.readonly{height:20px;line-height:18px}.param-expiries-limit-inputs .param-expiries.readonly .param-expiries-val,.param-expiries-limit-inputs .param-number-range.readonly .param-expiries-val,.param-expiries-limit-inputs .param-arr-ops.readonly .param-expiries-val{margin-top:0}.param-expiries-limit-inputs .param-expiries .param-expiries-placeholder,.param-expiries-limit-inputs .param-expiries .param-expiries-val,.param-expiries-limit-inputs .param-number-range .param-expiries-placeholder,.param-expiries-limit-inputs .param-number-range .param-expiries-val,.param-expiries-limit-inputs .param-arr-ops .param-expiries-placeholder,.param-expiries-limit-inputs .param-arr-ops .param-expiries-val{margin-top:4px}.param-expiries-limit-inputs .param-expiries .param-number-range-sep,.param-expiries-limit-inputs .param-number-range .param-number-range-sep,.param-expiries-limit-inputs .param-arr-ops .param-number-range-sep{margin:0 6px}.param-expiries-limit-inputs .param-arr-ops{padding:0}.param-expiries-popover{padding:0 !important}.param-expiries-popover .ant-popover-arrow{display:none}.param-number{flex:1;display:flex;align-items:center;height:40px}.param-number.readonly{height:30px}.param-number.readonly .param-number-suffix{padding:0;margin:0 0 0 1px;border:none;background:none}.param-number-val{position:relative;z-index:1;margin:0}.param-number-suffix{display:flex;align-items:center;justify-content:center;position:relative;z-index:0;flex:none;height:100%;padding:0 14px;margin:0 0 0 -2px;border-radius:2px;border:1px solid #d9d9d9;background:#f2f2f2}.param-number-range{flex:1;display:flex;align-items:center;height:40px}.param-number-range .param-number{height:100%}.param-number-range.readonly{height:30px}.param-number-range.readonly .param-number{flex:none}.param-number-range .param-number-range-prefix{margin:0 8px 0 0}.param-number-range .param-number-range-sep{margin:0 10px}.param-text-array{padding:calc((40px - 30px) / 2) 0}.param-arr-item{display:flex;align-items:center;height:30px;margin:0 0 4px}.param-arr-item>input{flex:none;width:160px}.param-arr-ops{display:flex;align-items:center;justify-content:center;flex-wrap:nowrap;height:100%;padding:0 10px}.param-arr-ops .param-arr-ops-add,.param-arr-ops .param-arr-ops-del{display:flex;align-items:center;justify-content:center;width:30px;height:100%;border-radius:4px;color:#006FA7}.param-arr-ops .param-arr-ops-add:hover,.param-arr-ops .param-arr-ops-del:hover{background:rgba(0,0,0,0.1)}.param-arr-ops .param-arr-ops-del{color:#006FA7}.param-text{flex:1;display:flex;align-items:center;height:40px}.param-text.readonly{height:30px}.param-text-val{position:relative;z-index:1;margin:0}.param-renderer{box-sizing:border-box;margin:0;line-height:20px;color:#333}.param-renderer.readonly input,.param-renderer.readonly select,.param-renderer.readonly .select{padding:0;border:none;box-shadow:none}.param-renderer.readonly textarea{padding:calc((30px - 20px - 2px) / 2) 10px}.param-renderer *{box-sizing:border-box}.param-renderer textarea,.param-renderer input,.param-renderer select,.param-renderer .select{flex:1;width:50px;height:100%;padding:0 10px;border:1px solid #d9d9d9;border-radius:2px;outline:none;box-shadow:none;background:#fff}.param-renderer textarea::placeholder,.param-renderer input::placeholder,.param-renderer select::placeholder,.param-renderer .select::placeholder{color:rgba(0,0,0,0.25)}.param-renderer textarea:hover,.param-renderer input:hover,.param-renderer select:hover,.param-renderer .select:hover{border-color:#006FA7}.param-renderer textarea:focus,.param-renderer input:focus,.param-renderer select:focus,.param-renderer .select:focus{border-color:#006FA7;box-shadow:0 0 0 2px rgba(0,111,167,0.1)}.param-renderer textarea{width:100%;padding:calc((40px - 20px - 2px) / 2) 10px}
1
+ .param-parent-selector.readonly .ant-select-selector{padding:0 !important;border-color:transparent !important;background:transparent !important;cursor:initial !important}.param-parent-selector.readonly .ant-select-selection-item{color:#333 !important}.param-parent-selector.readonly .ant-select-arrow{display:none !important}.param-form.param-value-editor .ant-form-item-label,.param-value-editor.param-value-editor .ant-form-item-label,.param-group-editor.param-value-editor .ant-form-item-label,.param-mover.param-value-editor .ant-form-item-label{width:150px}.param-form .ant-form-item-label,.param-value-editor .ant-form-item-label,.param-group-editor .ant-form-item-label,.param-mover .ant-form-item-label{width:80px;padding:0 15px 0 0}.param-form .ant-form-item-label>label,.param-value-editor .ant-form-item-label>label,.param-group-editor .ant-form-item-label>label,.param-mover .ant-form-item-label>label{height:40px}.param-form .ant-form-item-label>label:after,.param-value-editor .ant-form-item-label>label:after,.param-group-editor .ant-form-item-label>label:after,.param-mover .ant-form-item-label>label:after{content:none !important}.param-form input.ant-input.ant-input,.param-form .ant-select-selector.ant-select-selector,.param-form .ant-cascader.ant-cascader,.param-value-editor input.ant-input.ant-input,.param-value-editor .ant-select-selector.ant-select-selector,.param-value-editor .ant-cascader.ant-cascader,.param-group-editor input.ant-input.ant-input,.param-group-editor .ant-select-selector.ant-select-selector,.param-group-editor .ant-cascader.ant-cascader,.param-mover input.ant-input.ant-input,.param-mover .ant-select-selector.ant-select-selector,.param-mover .ant-cascader.ant-cascader{height:40px !important}.param-form input.ant-input.ant-input input,.param-form input.ant-input.ant-input .ant-select-selection-placeholder,.param-form input.ant-input.ant-input .ant-select-selection-item,.param-form .ant-select-selector.ant-select-selector input,.param-form .ant-select-selector.ant-select-selector .ant-select-selection-placeholder,.param-form .ant-select-selector.ant-select-selector .ant-select-selection-item,.param-form .ant-cascader.ant-cascader input,.param-form .ant-cascader.ant-cascader .ant-select-selection-placeholder,.param-form .ant-cascader.ant-cascader .ant-select-selection-item,.param-value-editor input.ant-input.ant-input input,.param-value-editor input.ant-input.ant-input .ant-select-selection-placeholder,.param-value-editor input.ant-input.ant-input .ant-select-selection-item,.param-value-editor .ant-select-selector.ant-select-selector input,.param-value-editor .ant-select-selector.ant-select-selector .ant-select-selection-placeholder,.param-value-editor .ant-select-selector.ant-select-selector .ant-select-selection-item,.param-value-editor .ant-cascader.ant-cascader input,.param-value-editor .ant-cascader.ant-cascader .ant-select-selection-placeholder,.param-value-editor .ant-cascader.ant-cascader .ant-select-selection-item,.param-group-editor input.ant-input.ant-input input,.param-group-editor input.ant-input.ant-input .ant-select-selection-placeholder,.param-group-editor input.ant-input.ant-input .ant-select-selection-item,.param-group-editor .ant-select-selector.ant-select-selector input,.param-group-editor .ant-select-selector.ant-select-selector .ant-select-selection-placeholder,.param-group-editor .ant-select-selector.ant-select-selector .ant-select-selection-item,.param-group-editor .ant-cascader.ant-cascader input,.param-group-editor .ant-cascader.ant-cascader .ant-select-selection-placeholder,.param-group-editor .ant-cascader.ant-cascader .ant-select-selection-item,.param-mover input.ant-input.ant-input input,.param-mover input.ant-input.ant-input .ant-select-selection-placeholder,.param-mover input.ant-input.ant-input .ant-select-selection-item,.param-mover .ant-select-selector.ant-select-selector input,.param-mover .ant-select-selector.ant-select-selector .ant-select-selection-placeholder,.param-mover .ant-select-selector.ant-select-selector .ant-select-selection-item,.param-mover .ant-cascader.ant-cascader input,.param-mover .ant-cascader.ant-cascader .ant-select-selection-placeholder,.param-mover .ant-cascader.ant-cascader .ant-select-selection-item{height:calc(40px - 2px) !important;line-height:calc(40px - 2px) !important}.param-form textarea.ant-input.ant-input,.param-value-editor textarea.ant-input.ant-input,.param-group-editor textarea.ant-input.ant-input,.param-mover textarea.ant-input.ant-input{height:100px;min-height:40px;padding:9px 10px}.param-form .ant-form-item.ant-form-item:not(.ant-form-item-with-help),.param-value-editor .ant-form-item.ant-form-item:not(.ant-form-item-with-help),.param-group-editor .ant-form-item.ant-form-item:not(.ant-form-item-with-help),.param-mover .ant-form-item.ant-form-item:not(.ant-form-item-with-help){margin:0 0 12px}.param-form .ant-form-item-explain.ant-form-item-explain,.param-value-editor .ant-form-item-explain.ant-form-item-explain,.param-group-editor .ant-form-item-explain.ant-form-item-explain,.param-mover .ant-form-item-explain.ant-form-item-explain{height:auto;min-height:auto;margin:0 0 12px;font-size:12px;line-height:14px}.param-form .react-file-name,.param-value-editor .react-file-name,.param-group-editor .react-file-name,.param-mover .react-file-name{display:none !important}.param-form .ant-row,.param-value-editor .ant-row,.param-group-editor .ant-row,.param-mover .ant-row{display:flex}.param-form .param-default-value,.param-form .param-value-before,.param-value-editor .param-default-value,.param-value-editor .param-value-before,.param-group-editor .param-default-value,.param-group-editor .param-value-before,.param-mover .param-default-value,.param-mover .param-value-before{padding:calc((40px - 30px) / 2) 0}.param-form .param-default-value .ant-form-item-label>label,.param-form .param-value-before .ant-form-item-label>label,.param-value-editor .param-default-value .ant-form-item-label>label,.param-value-editor .param-value-before .ant-form-item-label>label,.param-group-editor .param-default-value .ant-form-item-label>label,.param-group-editor .param-value-before .ant-form-item-label>label,.param-mover .param-default-value .ant-form-item-label>label,.param-mover .param-value-before .ant-form-item-label>label{height:30px}.param-image-upload.param-image-upload .react-file-input{border-color:#d9d9d9}.param-bool{flex:1;display:flex;align-items:center;height:40px}.param-bool.readonly{height:30px}.param-bool-option{display:inline-flex;align-items:center;margin:0 16px 0 0;cursor:pointer}.param-bool-option>svg{margin:0 5px 0 0}.active{color:#006fa7}.param-expiries{position:relative;flex:1;max-width:100%;min-width:calc(7em + 24px + 2px);padding:calc((40px - 22px) / 2) calc(1em + 14px) calc((40px - 22px) / 2) 10px;line-height:0;border:1px solid #d9d9d9;border-radius:2px;cursor:pointer;background:#fff}.param-expiries.readonly{padding:calc((30px - 20px) / 2) 0;border-color:transparent;overflow:initial;white-space:initial;cursor:default;background:transparent}.param-expiries.readonly.multiple{white-space:pre-wrap}.param-expiries.multiple{text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.param-expiries-arrow{position:absolute;top:50%;right:7px;margin:-0.5em 0 0;color:#d9d9d9 !important}.param-expiries-val{display:inline-block;margin:0 6px 0 0;line-height:20px;white-space:initial;vertical-align:middle}.param-expiries-placeholder{display:inline-block;margin:0 6px 0 0;line-height:20px;color:rgba(0,0,0,0.25);max-width:100%;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;vertical-align:middle}.param-expiries-multi-val{display:inline-block;margin:0 6px 0 0;padding:0 3px 0 8px;line-height:20px;border-radius:2px;background:rgba(0,0,0,0.1);vertical-align:middle}.param-expiries-multi-val svg{display:inline-block;margin:0 0 0 4px;color:#999;cursor:pointer}.param-expiries-popover .ant-popover-inner-content{max-height:50vh;overflow-y:auto}.param-expiries-option{display:flex;align-items:center;justify-content:space-between;width:240px;margin:0 -16px;padding:0 16px;line-height:30px;color:rgba(51,51,51,0.6);cursor:pointer}.param-expiries-option.param-expiries-option-checked{font-weight:bold;color:#333}.param-expiries-option.param-expiries-option-disabled{cursor:not-allowed;opacity:0.5}.param-expiries-option:hover{color:#333;background:rgba(0,0,0,0.1)}.param-expiries-option svg{color:#57be6a}.param-expiries-limit{padding:calc((40px - 20px) / 2) 0}.param-expiries-limit.readonly{padding:calc((30px - 20px) / 2) 0}.param-expiries-limit .param-number-range{margin:0 0 0 10px}.param-expiries-limit .param-number-range-prefix{display:none}.param-expiries-limit .param-number-suffix{padding:0 7px}.param-expiries-limit-val{display:block}.param-expiries-limit-val:after{content:';'}.param-expiries-limit-val-sep{padding:0 4px;color:#999}.param-expiries-limit-inputs{display:grid;grid-row-gap:10px;grid-column-gap:10px;grid-template-rows:auto;grid-template-columns:auto auto auto auto}.param-expiries-limit-inputs .param-expiries,.param-expiries-limit-inputs .param-number-range,.param-expiries-limit-inputs .param-arr-ops{height:30px;padding-top:0;padding-right:0;margin:0}.param-expiries-limit-inputs .param-expiries.readonly,.param-expiries-limit-inputs .param-number-range.readonly,.param-expiries-limit-inputs .param-arr-ops.readonly{height:20px;line-height:18px}.param-expiries-limit-inputs .param-expiries.readonly .param-expiries-val,.param-expiries-limit-inputs .param-number-range.readonly .param-expiries-val,.param-expiries-limit-inputs .param-arr-ops.readonly .param-expiries-val{margin-top:0}.param-expiries-limit-inputs .param-expiries .param-expiries-placeholder,.param-expiries-limit-inputs .param-expiries .param-expiries-val,.param-expiries-limit-inputs .param-number-range .param-expiries-placeholder,.param-expiries-limit-inputs .param-number-range .param-expiries-val,.param-expiries-limit-inputs .param-arr-ops .param-expiries-placeholder,.param-expiries-limit-inputs .param-arr-ops .param-expiries-val{margin-top:4px}.param-expiries-limit-inputs .param-expiries .param-number-range-sep,.param-expiries-limit-inputs .param-number-range .param-number-range-sep,.param-expiries-limit-inputs .param-arr-ops .param-number-range-sep{margin:0 6px}.param-expiries-limit-inputs .param-arr-ops{padding:0}.param-expiries-popover{padding:0 !important}.param-expiries-popover .ant-popover-arrow{display:none}.param-number{flex:1;display:flex;align-items:center;height:40px}.param-number.readonly{height:30px}.param-number.readonly .param-number-suffix{padding:0;margin:0 0 0 1px;border:none;background:none}.param-number-val{position:relative;z-index:1;margin:0}.param-number-suffix{display:flex;align-items:center;justify-content:center;position:relative;z-index:0;flex:none;height:100%;padding:0 14px;margin:0 0 0 -2px;border-radius:2px;border:1px solid #d9d9d9;background:#f2f2f2}.param-number-range{flex:1;display:flex;align-items:center;height:40px}.param-number-range .param-number{height:100%}.param-number-range.readonly{height:30px}.param-number-range.readonly .param-number{flex:none}.param-number-range .param-number-range-prefix{margin:0 8px 0 0}.param-number-range .param-number-range-sep{margin:0 10px}.param-text-array{padding:calc((40px - 30px) / 2) 0}.param-arr-item{display:flex;align-items:center;height:30px;margin:0 0 4px}.param-arr-item>input{flex:none;width:160px}.param-arr-ops{display:flex;align-items:center;justify-content:center;flex-wrap:nowrap;height:100%;padding:0 10px}.param-arr-ops .param-arr-ops-add,.param-arr-ops .param-arr-ops-del{display:flex;align-items:center;justify-content:center;width:30px;height:100%;border-radius:4px;color:#006FA7}.param-arr-ops .param-arr-ops-add:hover,.param-arr-ops .param-arr-ops-del:hover{background:rgba(0,0,0,0.1)}.param-arr-ops .param-arr-ops-del{color:#006FA7}.param-text{flex:1;display:flex;align-items:center;height:40px}.param-text.readonly{height:30px}.param-text-val{position:relative;z-index:1;margin:0}.param-expiries-value{padding:calc((40px - 20px) / 2) 0}.param-expiries-value.readonly{padding:calc((30px - 20px) / 2) 0}.param-expiries-value .param-number-range{margin:0 0 0 10px}.param-expiries-value .param-number-range-prefix{display:none}.param-expiries-value .param-number-suffix{padding:0 7px}.param-expiries-value-val{display:block}.param-expiries-value-val:after{content:';'}.param-expiries-value-inputs{display:grid;grid-row-gap:10px;grid-column-gap:10px;grid-template-rows:auto;grid-template-columns:auto auto auto auto}.param-expiries-value-inputs .param-expiries,.param-expiries-value-inputs .param-number-range,.param-expiries-value-inputs .param-arr-ops{height:30px;padding-top:0;padding-right:0;margin:0}.param-expiries-value-inputs .param-expiries.readonly,.param-expiries-value-inputs .param-number-range.readonly,.param-expiries-value-inputs .param-arr-ops.readonly{height:20px;line-height:18px}.param-expiries-value-inputs .param-expiries.readonly .param-expiries-val,.param-expiries-value-inputs .param-number-range.readonly .param-expiries-val,.param-expiries-value-inputs .param-arr-ops.readonly .param-expiries-val{margin-top:0}.param-expiries-value-inputs .param-expiries .param-expiries-placeholder,.param-expiries-value-inputs .param-expiries .param-expiries-val,.param-expiries-value-inputs .param-number-range .param-expiries-placeholder,.param-expiries-value-inputs .param-number-range .param-expiries-val,.param-expiries-value-inputs .param-arr-ops .param-expiries-placeholder,.param-expiries-value-inputs .param-arr-ops .param-expiries-val{margin-top:4px}.param-expiries-value-inputs .param-expiries .param-number-range-sep,.param-expiries-value-inputs .param-number-range .param-number-range-sep,.param-expiries-value-inputs .param-arr-ops .param-number-range-sep{margin:0 6px}.param-expiries-value-inputs .param-arr-ops{padding:0}.param-expiries-popover{padding:0 !important}.param-expiries-popover .ant-popover-arrow{display:none}.param-renderer{box-sizing:border-box;margin:0;line-height:20px;color:#333}.param-renderer.readonly input,.param-renderer.readonly select,.param-renderer.readonly .select{padding:0;border:none;box-shadow:none}.param-renderer.readonly textarea{padding:calc((30px - 20px - 2px) / 2) 10px}.param-renderer *{box-sizing:border-box}.param-renderer textarea,.param-renderer input,.param-renderer select,.param-renderer .select{flex:1;width:50px;height:100%;padding:0 10px;border:1px solid #d9d9d9;border-radius:2px;outline:none;box-shadow:none;background:#fff}.param-renderer textarea::placeholder,.param-renderer input::placeholder,.param-renderer select::placeholder,.param-renderer .select::placeholder{color:rgba(0,0,0,0.25)}.param-renderer textarea:hover,.param-renderer input:hover,.param-renderer select:hover,.param-renderer .select:hover{border-color:#006FA7}.param-renderer textarea:focus,.param-renderer input:focus,.param-renderer select:focus,.param-renderer .select:focus{border-color:#006FA7;box-shadow:0 0 0 2px rgba(0,111,167,0.1)}.param-renderer textarea{width:100%;padding:calc((40px - 20px - 2px) / 2) 10px}
@@ -1,12 +1,13 @@
1
- @import "./var";
2
- @import "./ParamForm/index";
3
- @import "./Bool";
4
- @import "./Expiries";
5
- @import "./ExpiriesLimit";
6
- @import "./Num";
7
- @import "./NumRange";
8
- @import "./TextArray";
9
- @import "./Text";
1
+ @import './var';
2
+ @import './ParamForm/index';
3
+ @import './Bool';
4
+ @import './Expiries';
5
+ @import './ExpiriesLimit';
6
+ @import './Num';
7
+ @import './NumRange';
8
+ @import './TextArray';
9
+ @import './Text';
10
+ @import './ExpiriesValue';
10
11
 
11
12
  .param-renderer {
12
13
  box-sizing: border-box;
@@ -15,8 +16,9 @@
15
16
  color: $text-color;
16
17
 
17
18
  &.readonly {
18
-
19
- input, select, .select {
19
+ input,
20
+ select,
21
+ .select {
20
22
  padding: 0;
21
23
  border: none;
22
24
  box-shadow: none;
@@ -31,7 +33,10 @@
31
33
  box-sizing: border-box;
32
34
  }
33
35
 
34
- textarea, input, select, .select {
36
+ textarea,
37
+ input,
38
+ select,
39
+ .select {
35
40
  flex: 1;
36
41
  width: 50px;
37
42
  height: 100%;
package/lib/es/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Bundle of @signalplus/params-about
3
- * Generated: 2023-05-08
4
- * Version: 1.0.5-alpha
3
+ * Generated: 2023-05-11
4
+ * Version: 1.0.5-alpha2
5
5
  * License: MIT
6
6
  * Author: 2631541504@qq.com
7
7
  */
@@ -11,7 +11,7 @@ import classNames from 'classnames';
11
11
  import dayjs from 'dayjs';
12
12
  import Big from 'big.js';
13
13
  import { PlusOutlined, DeleteOutlined, CloseOutlined, CheckOutlined, DownOutlined } from '@ant-design/icons';
14
- import { Popover, Cascader, Input, Select, Form, Button, message, Modal } from 'antd';
14
+ import { Popover, Input, Cascader, Select, Form, Button, message, Modal } from 'antd';
15
15
  import ReactGlobalComp from 'react-global-comp';
16
16
  import { isEqual } from 'lodash-es';
17
17
  import ReactFileInput from '@livelybone/react-file-input';
@@ -193,6 +193,8 @@ var ParamType;
193
193
  ParamType[ParamType["Expiry"] = 7] = "Expiry";
194
194
  ParamType[ParamType["Phone"] = 8] = "Phone";
195
195
  ParamType[ParamType["Text"] = 9] = "Text";
196
+ ParamType[ParamType["ExpiryValue"] = 10] = "ExpiryValue";
197
+ ParamType[ParamType["InstrumentValue"] = 11] = "InstrumentValue";
196
198
  })(ParamType || (ParamType = {}));
197
199
 
198
200
  function _arrayWithHoles(arr) {
@@ -327,10 +329,10 @@ function isExpired(val) {
327
329
  function sameGroupNameValidator(val, paramList, projectName, templateName, parentNames) {
328
330
  var error = emptyValidator(val);
329
331
  if (error) return error;
330
- var hasSame = paramList.some(function (_it) {
332
+ var hasSame = paramList === null || paramList === void 0 ? void 0 : paramList.some(function (_it) {
331
333
  return _it.name === val;
332
334
  });
333
- return hasSame ? "\u8BE5\u53C2\u6570\u7EC4\u540D\u79F0\u5728".concat(projectName, ">").concat(templateName).concat(parentNames ? '>' + parentNames : '', "\u4E0B\u5DF2\u5B58\u5728") : undefined;
335
+ return hasSame ? "\u8BE5\u53C2\u6570\u7EC4\u540D\u79F0\u5728".concat(projectName, ">").concat(templateName).concat(parentNames ? '>' + parentNames : '', "\u4E0B\u5DF2\u5B58\u5728") : '';
334
336
  }
335
337
  function validatorCvt(validator, form) {
336
338
  return function (_, val) {
@@ -1045,6 +1047,462 @@ var ExpiriesLimit = /*#__PURE__*/function (_PureComponent) {
1045
1047
  return ExpiriesLimit;
1046
1048
  }(PureComponent);
1047
1049
 
1050
+ var ExpiriesValueList = /*#__PURE__*/function (_PureComponent) {
1051
+ _inherits(ExpiriesValueList, _PureComponent);
1052
+
1053
+ var _super = _createSuper(ExpiriesValueList);
1054
+
1055
+ function ExpiriesValueList() {
1056
+ var _this;
1057
+
1058
+ _classCallCheck(this, ExpiriesValueList);
1059
+
1060
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
1061
+ args[_key] = arguments[_key];
1062
+ }
1063
+
1064
+ _this = _super.call.apply(_super, [this].concat(args));
1065
+
1066
+ _defineProperty(_assertThisInitialized(_this), "value", []);
1067
+
1068
+ _defineProperty(_assertThisInitialized(_this), "isEmptyItem", function (item) {
1069
+ var _item$expiry;
1070
+
1071
+ return !((_item$expiry = item.expiry) === null || _item$expiry === void 0 ? void 0 : _item$expiry.trim()) && isNullLike(item.value);
1072
+ });
1073
+
1074
+ _defineProperty(_assertThisInitialized(_this), "onChange", function (i, val, key) {
1075
+ var _this$props$onChange, _this$props;
1076
+
1077
+ var value = _toConsumableArray(_this.value);
1078
+
1079
+ if (!value[i]) value[i] = {
1080
+ expiry: ''
1081
+ };
1082
+ if (key) value[i][key] = val;else value[i] = _objectSpread2(_objectSpread2({}, value[i]), val);
1083
+ (_this$props$onChange = (_this$props = _this.props).onChange) === null || _this$props$onChange === void 0 ? void 0 : _this$props$onChange.call(_this$props, value.length === 1 && _this.isEmptyItem(value[0]) ? [] : value);
1084
+ });
1085
+
1086
+ _defineProperty(_assertThisInitialized(_this), "onAdd", function (i) {
1087
+ var _this$props$onChange2, _this$props2, _this$props$onBlur, _this$props3;
1088
+
1089
+ var value = _toConsumableArray(_this.value);
1090
+
1091
+ value.splice(i + 1, 0, {
1092
+ expiry: ''
1093
+ });
1094
+ (_this$props$onChange2 = (_this$props2 = _this.props).onChange) === null || _this$props$onChange2 === void 0 ? void 0 : _this$props$onChange2.call(_this$props2, value);
1095
+ (_this$props$onBlur = (_this$props3 = _this.props).onBlur) === null || _this$props$onBlur === void 0 ? void 0 : _this$props$onBlur.call(_this$props3);
1096
+ });
1097
+
1098
+ _defineProperty(_assertThisInitialized(_this), "onDel", function (i) {
1099
+ var _this$props$onChange3, _this$props4, _this$props$onBlur2, _this$props5;
1100
+
1101
+ var value = _toConsumableArray(_this.value);
1102
+
1103
+ value.splice(i, 1);
1104
+ (_this$props$onChange3 = (_this$props4 = _this.props).onChange) === null || _this$props$onChange3 === void 0 ? void 0 : _this$props$onChange3.call(_this$props4, value.length === 1 && _this.isEmptyItem(value[0]) ? [] : value);
1105
+ (_this$props$onBlur2 = (_this$props5 = _this.props).onBlur) === null || _this$props$onBlur2 === void 0 ? void 0 : _this$props$onBlur2.call(_this$props5);
1106
+ });
1107
+
1108
+ return _this;
1109
+ }
1110
+
1111
+ _createClass(ExpiriesValueList, [{
1112
+ key: "render",
1113
+ value: function render() {
1114
+ var _this$props$value,
1115
+ _this$props$value2,
1116
+ _this2 = this;
1117
+
1118
+ this.value = ((_this$props$value = this.props.value) === null || _this$props$value === void 0 ? void 0 : _this$props$value.filter(function (it) {
1119
+ return !isExpired(it.expiry);
1120
+ })) || [];
1121
+ if (!this.value.length) this.value.push({
1122
+ expiry: ''
1123
+ });
1124
+ return /*#__PURE__*/React.createElement("div", {
1125
+ className: classNames('param-expiries-limit', {
1126
+ readonly: this.props.readonly
1127
+ }, this.props.className),
1128
+ style: this.props.style
1129
+ }, this.props.readonly ? ((_this$props$value2 = this.props.value) === null || _this$props$value2 === void 0 ? void 0 : _this$props$value2.length) ? this.value.filter(function (it) {
1130
+ return it.expiry;
1131
+ }).map(function (it, i) {
1132
+ return /*#__PURE__*/React.createElement("span", {
1133
+ className: "param-expiries-limit-val",
1134
+ key: i
1135
+ }, it.expiry, /*#__PURE__*/React.createElement("span", {
1136
+ className: "param-expiries-limit-val-sep"
1137
+ }, "/"), !isNullLike(it.value) ? it.value : '-');
1138
+ }) : '-' : /*#__PURE__*/React.createElement("div", {
1139
+ className: "param-expiries-limit-inputs"
1140
+ }, /*#__PURE__*/React.createElement("div", {
1141
+ className: "param-expiries readonly"
1142
+ }, /*#__PURE__*/React.createElement("span", {
1143
+ className: "param-expiries-val"
1144
+ }, "Expiry")), /*#__PURE__*/React.createElement("div", {
1145
+ className: "param-number-range readonly"
1146
+ }, "Value"), /*#__PURE__*/React.createElement("div", {
1147
+ className: "param-arr-ops readonly"
1148
+ }), /*#__PURE__*/React.createElement("div", {
1149
+ className: "param-arr-ops readonly"
1150
+ }), this.value.map(function (it, i) {
1151
+ return /*#__PURE__*/React.createElement(React.Fragment, {
1152
+ key: i
1153
+ }, /*#__PURE__*/React.createElement(Expiries, {
1154
+ style: {
1155
+ width: 240
1156
+ },
1157
+ multiple: false,
1158
+ options: _this2.props.options,
1159
+ value: [it.expiry],
1160
+ onChange: function onChange(val) {
1161
+ return _this2.onChange(i, val[0], 'expiry');
1162
+ },
1163
+ calcDisabled: function calcDisabled(expiry) {
1164
+ return _this2.value.some(function (item) {
1165
+ return item !== it && item.expiry === expiry;
1166
+ });
1167
+ },
1168
+ onBlur: _this2.props.onBlur
1169
+ }), /*#__PURE__*/React.createElement(Num, {
1170
+ style: {
1171
+ height: 30,
1172
+ width: 180
1173
+ },
1174
+ value: it.value,
1175
+ onChange: function onChange(val) {
1176
+ return _this2.onChange(i, {
1177
+ value: val
1178
+ });
1179
+ },
1180
+ onBlur: _this2.props.onBlur
1181
+ }), /*#__PURE__*/React.createElement("div", {
1182
+ className: "param-arr-ops readonly"
1183
+ }), /*#__PURE__*/React.createElement("div", {
1184
+ className: "param-arr-ops"
1185
+ }, /*#__PURE__*/React.createElement(PlusOutlined, {
1186
+ className: "param-arr-ops-add",
1187
+ onClick: _this2.onAdd.bind(null, i)
1188
+ }), /*#__PURE__*/React.createElement(DeleteOutlined, {
1189
+ className: "param-arr-ops-del",
1190
+ onClick: _this2.onDel.bind(null, i)
1191
+ })));
1192
+ })));
1193
+ }
1194
+ }]);
1195
+
1196
+ return ExpiriesValueList;
1197
+ }(PureComponent);
1198
+
1199
+ var Instruments = /*#__PURE__*/function (_PureComponent) {
1200
+ _inherits(Instruments, _PureComponent);
1201
+
1202
+ var _super = _createSuper(Instruments);
1203
+
1204
+ function Instruments() {
1205
+ var _this;
1206
+
1207
+ _classCallCheck(this, Instruments);
1208
+
1209
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
1210
+ args[_key] = arguments[_key];
1211
+ }
1212
+
1213
+ _this = _super.call.apply(_super, [this].concat(args));
1214
+
1215
+ _defineProperty(_assertThisInitialized(_this), "state", {
1216
+ visible: false,
1217
+ showList: _toConsumableArray(_this.props.options || [])
1218
+ });
1219
+
1220
+ _defineProperty(_assertThisInitialized(_this), "handleVisibleChange", function (visible) {
1221
+ return _this.setState({
1222
+ visible: visible
1223
+ });
1224
+ });
1225
+
1226
+ _defineProperty(_assertThisInitialized(_this), "onChange", function (val) {
1227
+ var _this$props$value, _this$props$onChange, _this$props, _this$props$onBlur, _this$props2;
1228
+
1229
+ var value = _toConsumableArray(((_this$props$value = _this.props.value) === null || _this$props$value === void 0 ? void 0 : _this$props$value.filter(function (item) {
1230
+ var _this$props$options;
1231
+
1232
+ return (_this$props$options = _this.props.options) === null || _this$props$options === void 0 ? void 0 : _this$props$options.includes(item);
1233
+ })) || []);
1234
+
1235
+ if (_this.props.multiple !== false) {
1236
+ var index = value.findIndex(function (it) {
1237
+ return it === val;
1238
+ });
1239
+ if (index > -1) value.splice(index, 1);else value.push(val);
1240
+ } else {
1241
+ value = [val];
1242
+ }
1243
+
1244
+ (_this$props$onChange = (_this$props = _this.props).onChange) === null || _this$props$onChange === void 0 ? void 0 : _this$props$onChange.call(_this$props, value);
1245
+ (_this$props$onBlur = (_this$props2 = _this.props).onBlur) === null || _this$props$onBlur === void 0 ? void 0 : _this$props$onBlur.call(_this$props2);
1246
+ if (_this.props.multiple === false) _this.handleVisibleChange(false);
1247
+ });
1248
+
1249
+ _defineProperty(_assertThisInitialized(_this), "inputValueChange", function (val) {
1250
+ var _this$props$options2;
1251
+
1252
+ var showList = ((_this$props$options2 = _this.props.options) === null || _this$props$options2 === void 0 ? void 0 : _this$props$options2.filter(function (it) {
1253
+ return it.includes(val.toUpperCase());
1254
+ })) || [];
1255
+
1256
+ _this.setState({
1257
+ showList: showList
1258
+ });
1259
+ });
1260
+
1261
+ return _this;
1262
+ }
1263
+
1264
+ _createClass(Instruments, [{
1265
+ key: "renderValue",
1266
+ value: function renderValue() {
1267
+ var _this$props$value2,
1268
+ _this2 = this;
1269
+
1270
+ var value = (_this$props$value2 = this.props.value) === null || _this$props$value2 === void 0 ? void 0 : _this$props$value2.filter(function (it) {
1271
+ return it;
1272
+ });
1273
+
1274
+ if (this.props.readonly) {
1275
+ return /*#__PURE__*/React.createElement("span", {
1276
+ className: "param-expiries-val"
1277
+ }, (value === null || value === void 0 ? void 0 : value.join(', ')) || '-');
1278
+ }
1279
+
1280
+ var placeholder = /*#__PURE__*/React.createElement("span", {
1281
+ className: "param-expiries-placeholder"
1282
+ }, "Choose");
1283
+
1284
+ if (this.props.multiple === false) {
1285
+ var _this$props$value3;
1286
+
1287
+ var _val = (_this$props$value3 = this.props.value) === null || _this$props$value3 === void 0 ? void 0 : _this$props$value3[0];
1288
+
1289
+ return !_val ? placeholder : /*#__PURE__*/React.createElement("span", {
1290
+ className: "param-expiries-val"
1291
+ }, _val);
1292
+ }
1293
+
1294
+ if (!(value === null || value === void 0 ? void 0 : value.length)) return placeholder;
1295
+ return value.map(function (it) {
1296
+ return /*#__PURE__*/React.createElement("span", {
1297
+ className: "param-expiries-multi-val",
1298
+ key: it,
1299
+ onClick: function onClick(e) {
1300
+ return e.stopPropagation();
1301
+ }
1302
+ }, it, /*#__PURE__*/React.createElement(CloseOutlined, {
1303
+ onClick: _this2.onChange.bind(null, it)
1304
+ }));
1305
+ });
1306
+ }
1307
+ }, {
1308
+ key: "render",
1309
+ value: function render() {
1310
+ var _this3 = this,
1311
+ _this$state$showList;
1312
+
1313
+ return /*#__PURE__*/React.createElement(Popover, {
1314
+ overlayClassName: "param-expiries-popover",
1315
+ trigger: 'click',
1316
+ placement: 'bottomLeft',
1317
+ visible: !this.props.readonly && this.state.visible,
1318
+ onVisibleChange: this.handleVisibleChange,
1319
+ content: /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Input, {
1320
+ onChange: function onChange(e) {
1321
+ return _this3.inputValueChange(e.target.value);
1322
+ }
1323
+ }), /*#__PURE__*/React.createElement("div", {
1324
+ style: {
1325
+ marginTop: 2,
1326
+ width: 178,
1327
+ height: 300,
1328
+ overflowY: 'auto',
1329
+ overflowX: 'hidden'
1330
+ }
1331
+ }, (_this$state$showList = this.state.showList) === null || _this$state$showList === void 0 ? void 0 : _this$state$showList.map(function (it) {
1332
+ var _this3$props$value, _this3$props$calcDisa, _this3$props, _this3$onChange;
1333
+
1334
+ var checked = (_this3$props$value = _this3.props.value) === null || _this3$props$value === void 0 ? void 0 : _this3$props$value.includes(it);
1335
+ var disabled = (_this3$props$calcDisa = (_this3$props = _this3.props).calcDisabled) === null || _this3$props$calcDisa === void 0 ? void 0 : _this3$props$calcDisa.call(_this3$props, it);
1336
+ return /*#__PURE__*/React.createElement("div", {
1337
+ className: classNames('param-expiries-option', {
1338
+ 'param-expiries-option-checked': checked,
1339
+ 'param-expiries-option-disabled': disabled
1340
+ }),
1341
+ key: it,
1342
+ onClick: disabled ? undefined : (_this3$onChange = _this3.onChange) === null || _this3$onChange === void 0 ? void 0 : _this3$onChange.bind(null, it)
1343
+ }, it, checked && /*#__PURE__*/React.createElement(CheckOutlined, null));
1344
+ })))
1345
+ }, /*#__PURE__*/React.createElement("div", {
1346
+ className: classNames('param-expiries', {
1347
+ readonly: this.props.readonly,
1348
+ multiple: this.props.multiple !== false
1349
+ }, this.props.className),
1350
+ style: this.props.style
1351
+ }, this.renderValue(), !this.props.readonly && this.props.options && /*#__PURE__*/React.createElement(DownOutlined, {
1352
+ className: "param-expiries-arrow"
1353
+ })));
1354
+ }
1355
+ }]);
1356
+
1357
+ return Instruments;
1358
+ }(PureComponent);
1359
+
1360
+ var InstrumentsValueList = /*#__PURE__*/function (_PureComponent) {
1361
+ _inherits(InstrumentsValueList, _PureComponent);
1362
+
1363
+ var _super = _createSuper(InstrumentsValueList);
1364
+
1365
+ function InstrumentsValueList() {
1366
+ var _this;
1367
+
1368
+ _classCallCheck(this, InstrumentsValueList);
1369
+
1370
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
1371
+ args[_key] = arguments[_key];
1372
+ }
1373
+
1374
+ _this = _super.call.apply(_super, [this].concat(args));
1375
+
1376
+ _defineProperty(_assertThisInitialized(_this), "value", []);
1377
+
1378
+ _defineProperty(_assertThisInitialized(_this), "isEmptyItem", function (item) {
1379
+ var _item$instrument;
1380
+
1381
+ return !((_item$instrument = item.instrument) === null || _item$instrument === void 0 ? void 0 : _item$instrument.trim()) && isNullLike(item.value);
1382
+ });
1383
+
1384
+ _defineProperty(_assertThisInitialized(_this), "onChange", function (i, val, key) {
1385
+ var _this$props$onChange, _this$props;
1386
+
1387
+ var value = _toConsumableArray(_this.value);
1388
+
1389
+ if (!value[i]) value[i] = {
1390
+ instrument: ''
1391
+ };
1392
+ if (key) value[i][key] = val;else value[i] = _objectSpread2(_objectSpread2({}, value[i]), val);
1393
+ (_this$props$onChange = (_this$props = _this.props).onChange) === null || _this$props$onChange === void 0 ? void 0 : _this$props$onChange.call(_this$props, value.length === 1 && _this.isEmptyItem(value[0]) ? [] : value);
1394
+ });
1395
+
1396
+ _defineProperty(_assertThisInitialized(_this), "onAdd", function (i) {
1397
+ var _this$props$onChange2, _this$props2, _this$props$onBlur, _this$props3;
1398
+
1399
+ var value = _toConsumableArray(_this.value);
1400
+
1401
+ value.splice(i + 1, 0, {
1402
+ instrument: ''
1403
+ });
1404
+ (_this$props$onChange2 = (_this$props2 = _this.props).onChange) === null || _this$props$onChange2 === void 0 ? void 0 : _this$props$onChange2.call(_this$props2, value);
1405
+ (_this$props$onBlur = (_this$props3 = _this.props).onBlur) === null || _this$props$onBlur === void 0 ? void 0 : _this$props$onBlur.call(_this$props3);
1406
+ });
1407
+
1408
+ _defineProperty(_assertThisInitialized(_this), "onDel", function (i) {
1409
+ var _this$props$onChange3, _this$props4, _this$props$onBlur2, _this$props5;
1410
+
1411
+ var value = _toConsumableArray(_this.value);
1412
+
1413
+ value.splice(i, 1);
1414
+ (_this$props$onChange3 = (_this$props4 = _this.props).onChange) === null || _this$props$onChange3 === void 0 ? void 0 : _this$props$onChange3.call(_this$props4, value.length === 1 && _this.isEmptyItem(value[0]) ? [] : value);
1415
+ (_this$props$onBlur2 = (_this$props5 = _this.props).onBlur) === null || _this$props$onBlur2 === void 0 ? void 0 : _this$props$onBlur2.call(_this$props5);
1416
+ });
1417
+
1418
+ return _this;
1419
+ }
1420
+
1421
+ _createClass(InstrumentsValueList, [{
1422
+ key: "render",
1423
+ value: function render() {
1424
+ var _this$props$value,
1425
+ _this2 = this;
1426
+
1427
+ this.value = this.props.value || [];
1428
+ if (!this.value.length) this.value.push({
1429
+ instrument: ''
1430
+ });
1431
+ return /*#__PURE__*/React.createElement("div", {
1432
+ className: classNames('param-expiries-limit', {
1433
+ readonly: this.props.readonly
1434
+ }, this.props.className),
1435
+ style: this.props.style
1436
+ }, this.props.readonly ? ((_this$props$value = this.props.value) === null || _this$props$value === void 0 ? void 0 : _this$props$value.length) ? this.value.filter(function (it) {
1437
+ return it.instrument;
1438
+ }).map(function (it, i) {
1439
+ return /*#__PURE__*/React.createElement("span", {
1440
+ className: "param-expiries-limit-val",
1441
+ key: i
1442
+ }, it.instrument, /*#__PURE__*/React.createElement("span", {
1443
+ className: "param-expiries-limit-val-sep"
1444
+ }, "/"), !isNullLike(it.value) ? it.value : '-');
1445
+ }) : '-' : /*#__PURE__*/React.createElement("div", {
1446
+ className: "param-expiries-limit-inputs"
1447
+ }, /*#__PURE__*/React.createElement("div", {
1448
+ className: "param-expiries readonly"
1449
+ }, /*#__PURE__*/React.createElement("span", {
1450
+ className: "param-expiries-val"
1451
+ }, "Instrument")), /*#__PURE__*/React.createElement("div", {
1452
+ className: "param-number-range readonly"
1453
+ }, "Value"), /*#__PURE__*/React.createElement("div", {
1454
+ className: "param-arr-ops readonly"
1455
+ }), /*#__PURE__*/React.createElement("div", {
1456
+ className: "param-arr-ops readonly"
1457
+ }), this.value.map(function (it, i) {
1458
+ return /*#__PURE__*/React.createElement(React.Fragment, {
1459
+ key: i
1460
+ }, /*#__PURE__*/React.createElement(Instruments, {
1461
+ style: {
1462
+ width: 210
1463
+ },
1464
+ multiple: false,
1465
+ options: _this2.props.options,
1466
+ value: [it.instrument],
1467
+ onChange: function onChange(val) {
1468
+ return _this2.onChange(i, val[0], 'instrument');
1469
+ },
1470
+ calcDisabled: function calcDisabled(instrument) {
1471
+ return _this2.value.some(function (item) {
1472
+ return item !== it && item.instrument === instrument;
1473
+ });
1474
+ },
1475
+ onBlur: _this2.props.onBlur
1476
+ }), /*#__PURE__*/React.createElement(Num, {
1477
+ style: {
1478
+ height: 30,
1479
+ width: 210
1480
+ },
1481
+ value: it.value,
1482
+ onChange: function onChange(val) {
1483
+ return _this2.onChange(i, {
1484
+ value: val
1485
+ });
1486
+ },
1487
+ onBlur: _this2.props.onBlur
1488
+ }), /*#__PURE__*/React.createElement("div", {
1489
+ className: "param-arr-ops readonly"
1490
+ }), /*#__PURE__*/React.createElement("div", {
1491
+ className: "param-arr-ops"
1492
+ }, /*#__PURE__*/React.createElement(PlusOutlined, {
1493
+ className: "param-arr-ops-add",
1494
+ onClick: _this2.onAdd.bind(null, i)
1495
+ }), /*#__PURE__*/React.createElement(DeleteOutlined, {
1496
+ className: "param-arr-ops-del",
1497
+ onClick: _this2.onDel.bind(null, i)
1498
+ })));
1499
+ })));
1500
+ }
1501
+ }]);
1502
+
1503
+ return InstrumentsValueList;
1504
+ }(PureComponent);
1505
+
1048
1506
  function initState$1(props) {
1049
1507
  return {
1050
1508
  preProps: props
@@ -1219,6 +1677,53 @@ var ParamTypeConfig = (_ParamTypeConfig = {}, _defineProperty(_ParamTypeConfig,
1219
1677
  key: 'text',
1220
1678
  Comp: Text,
1221
1679
  validator: emptyValidator
1680
+ }), _defineProperty(_ParamTypeConfig, ParamType.ExpiryValue, {
1681
+ name: '到期日 Value',
1682
+ key: 'expiryNumberList',
1683
+ Comp: ExpiriesValueList,
1684
+ validator: function validator($val) {
1685
+ if (!($val === null || $val === void 0 ? void 0 : $val.length)) return '';
1686
+
1687
+ for (var i = 0; i < $val.length; i++) {
1688
+ var val = $val[i];
1689
+ var error = expiryValidator(val === null || val === void 0 ? void 0 : val.expiry);
1690
+
1691
+ if (error) {
1692
+ return "Expiry field of the ".concat(i + 1, "th item: ").concat(error);
1693
+ }
1694
+
1695
+ if (!isNullLike(val.expiry) && isNullLike(val.value)) {
1696
+ return "The ".concat(i + 1, "th item: expiry shold not be empty");
1697
+ }
1698
+
1699
+ if (isNullLike(val.expiry) && !isNullLike(val.value)) {
1700
+ return "The ".concat(i + 1, "th item: value shold not be empty");
1701
+ }
1702
+ }
1703
+
1704
+ return '';
1705
+ }
1706
+ }), _defineProperty(_ParamTypeConfig, ParamType.InstrumentValue, {
1707
+ name: 'Instrument Value',
1708
+ key: 'instrumentNumberList',
1709
+ Comp: InstrumentsValueList,
1710
+ validator: function validator($val) {
1711
+ if (!($val === null || $val === void 0 ? void 0 : $val.length)) return '';
1712
+
1713
+ for (var i = 0; i < $val.length; i++) {
1714
+ var val = $val[i];
1715
+
1716
+ if (!isNullLike(val.instrument) && isNullLike(val.value)) {
1717
+ return "The ".concat(i + 1, "th item: instrument shold not be empty");
1718
+ }
1719
+
1720
+ if (isNullLike(val.instrument) && !isNullLike(val.value)) {
1721
+ return "The ".concat(i + 1, "th item: value shold not be empty");
1722
+ }
1723
+ }
1724
+
1725
+ return '';
1726
+ }
1222
1727
  }), _ParamTypeConfig);
1223
1728
  function paramValidator(val, values, enableEmpty) {
1224
1729
  var _config$validator;
@@ -1282,7 +1787,7 @@ var ParamRenderer = /*#__PURE__*/function (_PureComponent) {
1282
1787
  value: function render() {
1283
1788
  var Comp = this.typeConfig.Comp;
1284
1789
  return /*#__PURE__*/React.createElement(Comp, Object.assign({}, this.props, {
1285
- options: this.props.expiriesOptions,
1790
+ options: this.typeConfig.key === 'expiryNumberList' ? this.props.expiriesOptions : this.props.instrumentsOptions,
1286
1791
  value: this.value,
1287
1792
  onChange: this.onChange,
1288
1793
  className: classNames('param-renderer', this.props.className)
@@ -1451,6 +1956,7 @@ var ParamForm = /*#__PURE__*/function (_PureComponent) {
1451
1956
 
1452
1957
  return /*#__PURE__*/React.createElement(ParamRenderer, Object.assign({}, props, {
1453
1958
  expiriesOptions: _this2.props.expiriesOptions,
1959
+ instrumentsOptions: _this2.props.instrumentsOptions,
1454
1960
  valueType: (_this2$ref$current$ge = (_this2$ref$current = _this2.ref.current) === null || _this2$ref$current === void 0 ? void 0 : _this2$ref$current.getFieldValue('valueType')) !== null && _this2$ref$current$ge !== void 0 ? _this2$ref$current$ge : (_this2$props$initialV = _this2.props.initialValues) === null || _this2$props$initialV === void 0 ? void 0 : _this2$props$initialV.valueType
1455
1961
  }));
1456
1962
  },
@@ -1685,6 +2191,7 @@ var ParamValueEditor = /*#__PURE__*/function (_PureComponent) {
1685
2191
  return /*#__PURE__*/React.createElement(ParamRenderer, Object.assign({}, props, {
1686
2192
  readonly: true,
1687
2193
  expiriesOptions: _this2.props.expiriesOptions,
2194
+ instrumentsOptions: _this2.props.instrumentsOptions,
1688
2195
  valueType: _this2.props.valueType
1689
2196
  }));
1690
2197
  }
@@ -1696,6 +2203,7 @@ var ParamValueEditor = /*#__PURE__*/function (_PureComponent) {
1696
2203
  return /*#__PURE__*/React.createElement(ParamRenderer, Object.assign({}, props, {
1697
2204
  readonly: true,
1698
2205
  expiriesOptions: _this2.props.expiriesOptions,
2206
+ instrumentsOptions: _this2.props.instrumentsOptions,
1699
2207
  valueType: _this2.props.valueType
1700
2208
  }));
1701
2209
  }
@@ -1705,6 +2213,7 @@ var ParamValueEditor = /*#__PURE__*/function (_PureComponent) {
1705
2213
  Comp: function Comp(props) {
1706
2214
  return /*#__PURE__*/React.createElement(ParamRenderer, Object.assign({}, props, {
1707
2215
  expiriesOptions: _this2.props.expiriesOptions,
2216
+ instrumentsOptions: _this2.props.instrumentsOptions,
1708
2217
  valueType: _this2.props.valueType
1709
2218
  }));
1710
2219
  },
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@signalplus/params-about",
3
- "version": "1.0.5-alpha",
3
+ "version": "1.0.5-alpha2",
4
4
  "description": "A description for the module",
5
5
  "main": "./lib/umd/index.js",
6
6
  "module": "./lib/es/index.js",
@@ -12,6 +12,7 @@
12
12
  "build:dts": "cross-env NODE_ENV=production BUILD_ENV=dts rollup -c",
13
13
  "dev": "rm -rf ./lib && cross-env BUILD_ENV=watch node watch.js",
14
14
  "build": "rimraf ./lib && npm run build:css && npm run build:js && npm run build:dts",
15
+ "build:npm": "npm run build:css && npm run build:js && npm run build:dts",
15
16
  "build:test": "rimraf ./test-lib && cross-env NODE_ENV=test rollup -c rollup.config.test.js --sourcemap",
16
17
  "test": "npm run build:test && cross-env NODE_ENV=test istanbul cover node_modules/mocha/bin/_mocha -- ./test",
17
18
  "changelog": "conventional-changelog -p angular -i CHANGELOG.md -s -r 0",