@vtx/components 3.1.61 → 3.1.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/lib/_util/useColSize.js.map +1 -1
- package/lib/style/index.less +2 -2
- package/lib/style/themes/compact.less +1 -1
- package/lib/style/themes/dark.less +9 -9
- package/lib/style/themes/default.less +7 -7
- package/lib/style/themes/index.less +1 -1
- package/lib/style/themes/variable.less +5 -5
- package/lib/vtx-color-picker/index.js.map +1 -1
- package/lib/vtx-color-picker/style/css.js.map +1 -1
- package/lib/vtx-color-picker/style/index.js.map +1 -1
- package/lib/vtx-combogrid/Combogrid.js.map +1 -1
- package/lib/vtx-combogrid/index.js.map +1 -1
- package/lib/vtx-combogrid/style/css.js.map +1 -1
- package/lib/vtx-combogrid/style/index.js.map +1 -1
- package/lib/vtx-datagrid/Alert.js.map +1 -1
- package/lib/vtx-datagrid/ColumnSetting.js +18 -12
- package/lib/vtx-datagrid/ColumnSetting.js.map +1 -1
- package/lib/vtx-datagrid/index.js +10 -8
- package/lib/vtx-datagrid/index.js.map +1 -1
- package/lib/vtx-datagrid/renderColumnButtons.js.map +1 -1
- package/lib/vtx-datagrid/style/css.js.map +1 -1
- package/lib/vtx-datagrid/style/index.js.map +1 -1
- package/lib/vtx-date-picker/QdatePicker.js.map +1 -1
- package/lib/vtx-date-picker/generatePicker.js.map +1 -1
- package/lib/vtx-date-picker/index.js.map +1 -1
- package/lib/vtx-date-picker/style/css.js.map +1 -1
- package/lib/vtx-date-picker/style/index.js.map +1 -1
- package/lib/vtx-date-picker/style/index.less +39 -39
- package/lib/vtx-editor/index.js.map +1 -1
- package/lib/vtx-editor/style/css.js.map +1 -1
- package/lib/vtx-editor/style/index.js.map +1 -1
- package/lib/vtx-editor/style/index.less +8 -8
- package/lib/vtx-ellipsis-text/index.js.map +1 -1
- package/lib/vtx-ellipsis-text/style/css.js.map +1 -1
- package/lib/vtx-ellipsis-text/style/index.js.map +1 -1
- package/lib/vtx-ellipsis-text/style/index.less +13 -13
- package/lib/vtx-export/style/css.js.map +1 -1
- package/lib/vtx-export/style/index.js.map +1 -1
- package/lib/vtx-form-layout/Card.js.map +1 -1
- package/lib/vtx-form-layout/Divider.js.map +1 -1
- package/lib/vtx-form-layout/FormItem.js.map +1 -1
- package/lib/vtx-form-layout/Row.js.map +1 -1
- package/lib/vtx-form-layout/demo/Modal.less +43 -43
- package/lib/vtx-form-layout/index.js.map +1 -1
- package/lib/vtx-form-layout/style/css.js.map +1 -1
- package/lib/vtx-form-layout/style/index.js.map +1 -1
- package/lib/vtx-form-layout/style/index.less +216 -216
- package/lib/vtx-image/Image.js +40 -7
- package/lib/vtx-image/Image.js.map +1 -1
- package/lib/vtx-image/Preview.js.map +1 -1
- package/lib/vtx-image/PreviewGroup.js.map +1 -1
- package/lib/vtx-image/style/index.css +37 -6
- package/lib/vtx-image/style/index.less +24 -1
- package/lib/vtx-import/result.js.map +1 -1
- package/lib/vtx-import/style/css.js.map +1 -1
- package/lib/vtx-import/style/index.js.map +1 -1
- package/lib/vtx-import/style/index.less +8 -8
- package/lib/vtx-import2/CheckResult.js.map +1 -1
- package/lib/vtx-import2/Content.js.map +1 -1
- package/lib/vtx-import2/DownloadSvg.js.map +1 -1
- package/lib/vtx-import2/ImportResult.js.map +1 -1
- package/lib/vtx-import2/UploadSvg.js.map +1 -1
- package/lib/vtx-import2/style/css.js.map +1 -1
- package/lib/vtx-import2/style/index.js.map +1 -1
- package/lib/vtx-import2/style/index.less +102 -102
- package/lib/vtx-input/TextArea.js.map +1 -1
- package/lib/vtx-input/index.js.map +1 -1
- package/lib/vtx-input/style/css.js.map +1 -1
- package/lib/vtx-input/style/index.js.map +1 -1
- package/lib/vtx-input/style/index.less +24 -24
- package/lib/vtx-modal/index.js +2 -2
- package/lib/vtx-modal/index.js.map +1 -1
- package/lib/vtx-modal/style/css.js.map +1 -1
- package/lib/vtx-modal/style/index.js.map +1 -1
- package/lib/vtx-modal/style/index.less +101 -101
- package/lib/vtx-page-layout/Content.js.map +1 -1
- package/lib/vtx-page-layout/TableLayout.js +10 -10
- package/lib/vtx-page-layout/TableLayout.js.map +1 -1
- package/lib/vtx-page-layout/TableWrap.js.map +1 -1
- package/lib/vtx-page-layout/container.js.map +1 -1
- package/lib/vtx-page-layout/style/index.less +138 -138
- package/lib/vtx-scrollable-row/index.js.map +1 -1
- package/lib/vtx-scrollable-row/style/css.js.map +1 -1
- package/lib/vtx-scrollable-row/style/index.js.map +1 -1
- package/lib/vtx-scrollable-row/style/index.less +113 -113
- package/lib/vtx-search/VtxCol.js.map +1 -1
- package/lib/vtx-search/VtxRow.js.map +1 -1
- package/lib/vtx-search/style/css.js.map +1 -1
- package/lib/vtx-search/style/index.js.map +1 -1
- package/lib/vtx-search-map-input/index.js.map +1 -1
- package/lib/vtx-search-map-input/style/css.js.map +1 -1
- package/lib/vtx-search-map-input/style/index.js.map +1 -1
- package/lib/vtx-select/style/css.js.map +1 -1
- package/lib/vtx-select/style/index.js.map +1 -1
- package/lib/vtx-select/style/index.less +68 -68
- package/lib/vtx-signature/index.js.map +1 -1
- package/lib/vtx-signature/style/css.js.map +1 -1
- package/lib/vtx-signature/style/index.js.map +1 -1
- package/lib/vtx-signature/style/index.less +33 -33
- package/lib/vtx-split-pane/Resizer.js.map +1 -1
- package/lib/vtx-split-pane/SplitPane.js +4 -4
- package/lib/vtx-split-pane/SplitPane.js.map +1 -1
- package/lib/vtx-split-pane/style/css.js.map +1 -1
- package/lib/vtx-split-pane/style/index.js.map +1 -1
- package/lib/vtx-split-pane/style/index.less +76 -76
- package/lib/vtx-statistics-column/style/index.less +59 -59
- package/lib/vtx-time-picker/index.js.map +1 -1
- package/lib/vtx-time-picker/style/css.js.map +1 -1
- package/lib/vtx-time-picker/style/index.js.map +1 -1
- package/lib/vtx-upload/FilePreview.js.map +1 -1
- package/lib/vtx-upload/style/css.js.map +1 -1
- package/lib/vtx-upload/style/index.js.map +1 -1
- package/lib/vtx-upload/style/index.less +61 -61
- package/lib/vtx-wang-editor/style/css.js.map +1 -1
- package/lib/vtx-wang-editor/style/index.js.map +1 -1
- package/lib/vtx-wang-editor/style/index.less +12 -12
- package/lib/vtx-wang-editor/wangEditorUtil.js.map +1 -1
- package/lib/vtx-ztree/index.js +2 -2
- package/lib/vtx-ztree/index.js.map +1 -1
- package/lib/vtx-ztree/style/css.js.map +1 -1
- package/lib/vtx-ztree/style/index.js.map +1 -1
- package/lib/vtx-ztree/style/index.less +45 -45
- package/lib/vtx-ztree-select/index.js.map +1 -1
- package/lib/vtx-ztree-select/style/css.js.map +1 -1
- package/lib/vtx-ztree-select/style/index.js.map +1 -1
- package/lib/vtx-ztree-select/style/index.less +107 -107
- package/package.json +126 -126
|
@@ -1,216 +1,216 @@
|
|
|
1
|
-
@import (reference) '~antd/lib/style/themes/index.less';
|
|
2
|
-
|
|
3
|
-
@view-item-margin-bottom: 16px;
|
|
4
|
-
|
|
5
|
-
.vtx-form-layout {
|
|
6
|
-
position: relative;
|
|
7
|
-
display: flex;
|
|
8
|
-
flex-flow: row wrap;
|
|
9
|
-
width: 100%;
|
|
10
|
-
padding: 0 @padding-lg;
|
|
11
|
-
overflow: hidden;
|
|
12
|
-
.vtx-form-item {
|
|
13
|
-
.ant-form-item-label {
|
|
14
|
-
text-overflow: ellipsis;
|
|
15
|
-
label::after {
|
|
16
|
-
content: '';
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
&-vertical {
|
|
20
|
-
flex-direction: column;
|
|
21
|
-
.ant-form-item-row {
|
|
22
|
-
flex-direction: column;
|
|
23
|
-
margin-bottom: 20px;
|
|
24
|
-
}
|
|
25
|
-
.ant-form-item-label,
|
|
26
|
-
.ant-form-item-control {
|
|
27
|
-
line-height: @line-height-base;
|
|
28
|
-
}
|
|
29
|
-
.ant-form-item-label {
|
|
30
|
-
margin-bottom: 8px;
|
|
31
|
-
padding: 0 !important;
|
|
32
|
-
white-space: initial;
|
|
33
|
-
text-align: left;
|
|
34
|
-
label {
|
|
35
|
-
height: auto;
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
.ant-form-item-explain {
|
|
40
|
-
font-size: @font-size-sm;
|
|
41
|
-
}
|
|
42
|
-
&--inline {
|
|
43
|
-
flex: none;
|
|
44
|
-
flex-direction: row;
|
|
45
|
-
flex-wrap: nowrap;
|
|
46
|
-
margin-right: 16px;
|
|
47
|
-
margin-bottom: @view-item-margin-bottom !important;
|
|
48
|
-
row-gap: 0;
|
|
49
|
-
.ant-form-item-control-input {
|
|
50
|
-
min-height: auto;
|
|
51
|
-
}
|
|
52
|
-
.ant-form-item-label {
|
|
53
|
-
flex: none;
|
|
54
|
-
margin-bottom: 0;
|
|
55
|
-
& > label {
|
|
56
|
-
height: auto;
|
|
57
|
-
color: fade(@text-color, 65);
|
|
58
|
-
}
|
|
59
|
-
label::after {
|
|
60
|
-
content: ':';
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
&--view {
|
|
65
|
-
.ant-form-item-label,
|
|
66
|
-
.ant-form-item-control {
|
|
67
|
-
line-height: @line-height-base;
|
|
68
|
-
}
|
|
69
|
-
.ant-form-item-label {
|
|
70
|
-
& > label {
|
|
71
|
-
height: auto;
|
|
72
|
-
color: fade(@text-color, 65);
|
|
73
|
-
}
|
|
74
|
-
label::after {
|
|
75
|
-
content: ':';
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
.ant-form-item-control {
|
|
79
|
-
color: @text-color;
|
|
80
|
-
.ant-form-item-control-input {
|
|
81
|
-
min-height: auto;
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
.vtx-form-item-col {
|
|
87
|
-
.ant-form-item {
|
|
88
|
-
margin-bottom: 20px;
|
|
89
|
-
}
|
|
90
|
-
.vtx-form-item--view {
|
|
91
|
-
margin-bottom: 0;
|
|
92
|
-
}
|
|
93
|
-
.ant-form-item-with-help {
|
|
94
|
-
margin-bottom: 0;
|
|
95
|
-
}
|
|
96
|
-
.ant-form-item-explain {
|
|
97
|
-
min-height: 20px;
|
|
98
|
-
}
|
|
99
|
-
}
|
|
100
|
-
.vtx-form-card {
|
|
101
|
-
position: relative;
|
|
102
|
-
width: 100%;
|
|
103
|
-
overflow: hidden;
|
|
104
|
-
&-expand-icon {
|
|
105
|
-
color: fade(@text-color, 75%);
|
|
106
|
-
transition: transform 0.24s, -webkit-transform 0.24s;
|
|
107
|
-
}
|
|
108
|
-
.ant-card-body {
|
|
109
|
-
padding: 0;
|
|
110
|
-
}
|
|
111
|
-
.ant-card-head-wrapper,
|
|
112
|
-
.ant-card-head-title {
|
|
113
|
-
font-weight: bold;
|
|
114
|
-
line-height: 1;
|
|
115
|
-
}
|
|
116
|
-
&-content {
|
|
117
|
-
display: flex;
|
|
118
|
-
flex-flow: row wrap;
|
|
119
|
-
padding: 20px 24px;
|
|
120
|
-
padding-bottom: 0;
|
|
121
|
-
&::after {
|
|
122
|
-
clear: both;
|
|
123
|
-
}
|
|
124
|
-
&::before,
|
|
125
|
-
&::after {
|
|
126
|
-
display: table;
|
|
127
|
-
content: '';
|
|
128
|
-
}
|
|
129
|
-
}
|
|
130
|
-
&-content-hide {
|
|
131
|
-
display: none;
|
|
132
|
-
}
|
|
133
|
-
}
|
|
134
|
-
.vtx-form-card + .vtx-form-card {
|
|
135
|
-
margin-top: 20px;
|
|
136
|
-
}
|
|
137
|
-
.vtx-form-pane {
|
|
138
|
-
position: relative;
|
|
139
|
-
box-sizing: border-box;
|
|
140
|
-
width: 100%;
|
|
141
|
-
&::after {
|
|
142
|
-
clear: both;
|
|
143
|
-
}
|
|
144
|
-
&::before,
|
|
145
|
-
&::after {
|
|
146
|
-
display: table;
|
|
147
|
-
content: '';
|
|
148
|
-
}
|
|
149
|
-
&-title {
|
|
150
|
-
margin-bottom: 16px;
|
|
151
|
-
overflow: hidden;
|
|
152
|
-
color: @text-color;
|
|
153
|
-
font-weight: 500;
|
|
154
|
-
line-height: @line-height-base;
|
|
155
|
-
list-style: none;
|
|
156
|
-
}
|
|
157
|
-
&-content {
|
|
158
|
-
display: flex;
|
|
159
|
-
flex-flow: row wrap;
|
|
160
|
-
&::after {
|
|
161
|
-
clear: both;
|
|
162
|
-
}
|
|
163
|
-
&::before,
|
|
164
|
-
&::after {
|
|
165
|
-
display: table;
|
|
166
|
-
content: '';
|
|
167
|
-
}
|
|
168
|
-
}
|
|
169
|
-
}
|
|
170
|
-
.vtx-form-divider {
|
|
171
|
-
margin: 0;
|
|
172
|
-
margin-bottom: 20px;
|
|
173
|
-
&--small {
|
|
174
|
-
margin-bottom: 16px;
|
|
175
|
-
}
|
|
176
|
-
}
|
|
177
|
-
.vtx-form-tabs {
|
|
178
|
-
width: 100%;
|
|
179
|
-
.ant-tabs-bar {
|
|
180
|
-
padding-right: @padding-sm;
|
|
181
|
-
padding-left: @padding-sm;
|
|
182
|
-
border-bottom: none;
|
|
183
|
-
}
|
|
184
|
-
.ant-tabs-tab {
|
|
185
|
-
padding: 5px 0 10px 0;
|
|
186
|
-
}
|
|
187
|
-
}
|
|
188
|
-
&-vertical {
|
|
189
|
-
padding: 0 @padding-sm;
|
|
190
|
-
.vtx-form-item-col {
|
|
191
|
-
padding-right: @padding-sm;
|
|
192
|
-
padding-left: @padding-sm;
|
|
193
|
-
}
|
|
194
|
-
.vtx-form-card-content {
|
|
195
|
-
padding: 20px @padding-sm;
|
|
196
|
-
padding-bottom: 0;
|
|
197
|
-
}
|
|
198
|
-
.vtx-form-pane-title {
|
|
199
|
-
padding: 0 @padding-sm;
|
|
200
|
-
}
|
|
201
|
-
}
|
|
202
|
-
&-has-card {
|
|
203
|
-
padding: 0;
|
|
204
|
-
.vtx-form-tabs .ant-tabs-bar {
|
|
205
|
-
padding: 0 @padding-lg;
|
|
206
|
-
}
|
|
207
|
-
}
|
|
208
|
-
&-view {
|
|
209
|
-
.vtx-form-item-col {
|
|
210
|
-
margin-bottom: @view-item-margin-bottom;
|
|
211
|
-
}
|
|
212
|
-
.vtx-form-divider {
|
|
213
|
-
margin-bottom: @view-item-margin-bottom;
|
|
214
|
-
}
|
|
215
|
-
}
|
|
216
|
-
}
|
|
1
|
+
@import (reference) '~antd/lib/style/themes/index.less';
|
|
2
|
+
|
|
3
|
+
@view-item-margin-bottom: 16px;
|
|
4
|
+
|
|
5
|
+
.vtx-form-layout {
|
|
6
|
+
position: relative;
|
|
7
|
+
display: flex;
|
|
8
|
+
flex-flow: row wrap;
|
|
9
|
+
width: 100%;
|
|
10
|
+
padding: 0 @padding-lg;
|
|
11
|
+
overflow: hidden;
|
|
12
|
+
.vtx-form-item {
|
|
13
|
+
.ant-form-item-label {
|
|
14
|
+
text-overflow: ellipsis;
|
|
15
|
+
label::after {
|
|
16
|
+
content: '';
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
&-vertical {
|
|
20
|
+
flex-direction: column;
|
|
21
|
+
.ant-form-item-row {
|
|
22
|
+
flex-direction: column;
|
|
23
|
+
margin-bottom: 20px;
|
|
24
|
+
}
|
|
25
|
+
.ant-form-item-label,
|
|
26
|
+
.ant-form-item-control {
|
|
27
|
+
line-height: @line-height-base;
|
|
28
|
+
}
|
|
29
|
+
.ant-form-item-label {
|
|
30
|
+
margin-bottom: 8px;
|
|
31
|
+
padding: 0 !important;
|
|
32
|
+
white-space: initial;
|
|
33
|
+
text-align: left;
|
|
34
|
+
label {
|
|
35
|
+
height: auto;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
.ant-form-item-explain {
|
|
40
|
+
font-size: @font-size-sm;
|
|
41
|
+
}
|
|
42
|
+
&--inline {
|
|
43
|
+
flex: none;
|
|
44
|
+
flex-direction: row;
|
|
45
|
+
flex-wrap: nowrap;
|
|
46
|
+
margin-right: 16px;
|
|
47
|
+
margin-bottom: @view-item-margin-bottom !important;
|
|
48
|
+
row-gap: 0;
|
|
49
|
+
.ant-form-item-control-input {
|
|
50
|
+
min-height: auto;
|
|
51
|
+
}
|
|
52
|
+
.ant-form-item-label {
|
|
53
|
+
flex: none;
|
|
54
|
+
margin-bottom: 0;
|
|
55
|
+
& > label {
|
|
56
|
+
height: auto;
|
|
57
|
+
color: fade(@text-color, 65);
|
|
58
|
+
}
|
|
59
|
+
label::after {
|
|
60
|
+
content: ':';
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
&--view {
|
|
65
|
+
.ant-form-item-label,
|
|
66
|
+
.ant-form-item-control {
|
|
67
|
+
line-height: @line-height-base;
|
|
68
|
+
}
|
|
69
|
+
.ant-form-item-label {
|
|
70
|
+
& > label {
|
|
71
|
+
height: auto;
|
|
72
|
+
color: fade(@text-color, 65);
|
|
73
|
+
}
|
|
74
|
+
label::after {
|
|
75
|
+
content: ':';
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
.ant-form-item-control {
|
|
79
|
+
color: @text-color;
|
|
80
|
+
.ant-form-item-control-input {
|
|
81
|
+
min-height: auto;
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
.vtx-form-item-col {
|
|
87
|
+
.ant-form-item {
|
|
88
|
+
margin-bottom: 20px;
|
|
89
|
+
}
|
|
90
|
+
.vtx-form-item--view {
|
|
91
|
+
margin-bottom: 0;
|
|
92
|
+
}
|
|
93
|
+
.ant-form-item-with-help {
|
|
94
|
+
margin-bottom: 0;
|
|
95
|
+
}
|
|
96
|
+
.ant-form-item-explain {
|
|
97
|
+
min-height: 20px;
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
.vtx-form-card {
|
|
101
|
+
position: relative;
|
|
102
|
+
width: 100%;
|
|
103
|
+
overflow: hidden;
|
|
104
|
+
&-expand-icon {
|
|
105
|
+
color: fade(@text-color, 75%);
|
|
106
|
+
transition: transform 0.24s, -webkit-transform 0.24s;
|
|
107
|
+
}
|
|
108
|
+
.ant-card-body {
|
|
109
|
+
padding: 0;
|
|
110
|
+
}
|
|
111
|
+
.ant-card-head-wrapper,
|
|
112
|
+
.ant-card-head-title {
|
|
113
|
+
font-weight: bold;
|
|
114
|
+
line-height: 1;
|
|
115
|
+
}
|
|
116
|
+
&-content {
|
|
117
|
+
display: flex;
|
|
118
|
+
flex-flow: row wrap;
|
|
119
|
+
padding: 20px 24px;
|
|
120
|
+
padding-bottom: 0;
|
|
121
|
+
&::after {
|
|
122
|
+
clear: both;
|
|
123
|
+
}
|
|
124
|
+
&::before,
|
|
125
|
+
&::after {
|
|
126
|
+
display: table;
|
|
127
|
+
content: '';
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
&-content-hide {
|
|
131
|
+
display: none;
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
.vtx-form-card + .vtx-form-card {
|
|
135
|
+
margin-top: 20px;
|
|
136
|
+
}
|
|
137
|
+
.vtx-form-pane {
|
|
138
|
+
position: relative;
|
|
139
|
+
box-sizing: border-box;
|
|
140
|
+
width: 100%;
|
|
141
|
+
&::after {
|
|
142
|
+
clear: both;
|
|
143
|
+
}
|
|
144
|
+
&::before,
|
|
145
|
+
&::after {
|
|
146
|
+
display: table;
|
|
147
|
+
content: '';
|
|
148
|
+
}
|
|
149
|
+
&-title {
|
|
150
|
+
margin-bottom: 16px;
|
|
151
|
+
overflow: hidden;
|
|
152
|
+
color: @text-color;
|
|
153
|
+
font-weight: 500;
|
|
154
|
+
line-height: @line-height-base;
|
|
155
|
+
list-style: none;
|
|
156
|
+
}
|
|
157
|
+
&-content {
|
|
158
|
+
display: flex;
|
|
159
|
+
flex-flow: row wrap;
|
|
160
|
+
&::after {
|
|
161
|
+
clear: both;
|
|
162
|
+
}
|
|
163
|
+
&::before,
|
|
164
|
+
&::after {
|
|
165
|
+
display: table;
|
|
166
|
+
content: '';
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
.vtx-form-divider {
|
|
171
|
+
margin: 0;
|
|
172
|
+
margin-bottom: 20px;
|
|
173
|
+
&--small {
|
|
174
|
+
margin-bottom: 16px;
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
.vtx-form-tabs {
|
|
178
|
+
width: 100%;
|
|
179
|
+
.ant-tabs-bar {
|
|
180
|
+
padding-right: @padding-sm;
|
|
181
|
+
padding-left: @padding-sm;
|
|
182
|
+
border-bottom: none;
|
|
183
|
+
}
|
|
184
|
+
.ant-tabs-tab {
|
|
185
|
+
padding: 5px 0 10px 0;
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
&-vertical {
|
|
189
|
+
padding: 0 @padding-sm;
|
|
190
|
+
.vtx-form-item-col {
|
|
191
|
+
padding-right: @padding-sm;
|
|
192
|
+
padding-left: @padding-sm;
|
|
193
|
+
}
|
|
194
|
+
.vtx-form-card-content {
|
|
195
|
+
padding: 20px @padding-sm;
|
|
196
|
+
padding-bottom: 0;
|
|
197
|
+
}
|
|
198
|
+
.vtx-form-pane-title {
|
|
199
|
+
padding: 0 @padding-sm;
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
&-has-card {
|
|
203
|
+
padding: 0;
|
|
204
|
+
.vtx-form-tabs .ant-tabs-bar {
|
|
205
|
+
padding: 0 @padding-lg;
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
&-view {
|
|
209
|
+
.vtx-form-item-col {
|
|
210
|
+
margin-bottom: @view-item-margin-bottom;
|
|
211
|
+
}
|
|
212
|
+
.vtx-form-divider {
|
|
213
|
+
margin-bottom: @view-item-margin-bottom;
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
}
|
package/lib/vtx-image/Image.js
CHANGED
|
@@ -19,12 +19,20 @@ var _PreviewGroup = _interopRequireWildcard(require("./PreviewGroup"));
|
|
|
19
19
|
|
|
20
20
|
var _useSet3 = _interopRequireDefault(require("../_util/useSet"));
|
|
21
21
|
|
|
22
|
+
var _UndoOutlined = _interopRequireDefault(require("@ant-design/icons/UndoOutlined"));
|
|
23
|
+
|
|
24
|
+
var _RedoOutlined = _interopRequireDefault(require("@ant-design/icons/RedoOutlined"));
|
|
25
|
+
|
|
22
26
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
23
27
|
|
|
24
28
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
25
29
|
|
|
26
30
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
27
31
|
|
|
32
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
33
|
+
|
|
34
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
35
|
+
|
|
28
36
|
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
29
37
|
|
|
30
38
|
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
@@ -63,7 +71,8 @@ function VtxImage(props) {
|
|
|
63
71
|
viewerVisible: false,
|
|
64
72
|
// 是否查看
|
|
65
73
|
visible: false,
|
|
66
|
-
photo: undefined
|
|
74
|
+
photo: undefined,
|
|
75
|
+
rotate: 0
|
|
67
76
|
}),
|
|
68
77
|
_useSet2 = _slicedToArray(_useSet, 2),
|
|
69
78
|
state = _useSet2[0],
|
|
@@ -79,7 +88,8 @@ function VtxImage(props) {
|
|
|
79
88
|
_props$preview = props.preview,
|
|
80
89
|
preview = _props$preview === void 0 ? true : _props$preview,
|
|
81
90
|
className = props.className,
|
|
82
|
-
style = props.style,
|
|
91
|
+
_props$style = props.style,
|
|
92
|
+
style = _props$style === void 0 ? {} : _props$style,
|
|
83
93
|
src = props.src,
|
|
84
94
|
thumb = props.thumb,
|
|
85
95
|
alt = props.alt,
|
|
@@ -94,7 +104,9 @@ function VtxImage(props) {
|
|
|
94
104
|
_onClick = props.onClick,
|
|
95
105
|
aspectFit = props.aspectFit,
|
|
96
106
|
_props$isDark = props.isDark,
|
|
97
|
-
isDark = _props$isDark === void 0 ? false : _props$isDark
|
|
107
|
+
isDark = _props$isDark === void 0 ? false : _props$isDark,
|
|
108
|
+
_props$showTool = props.showTool,
|
|
109
|
+
showTool = _props$showTool === void 0 ? false : _props$showTool;
|
|
98
110
|
|
|
99
111
|
var _useContext = (0, _react.useContext)(_PreviewGroup.context),
|
|
100
112
|
isPreviewGroup = _useContext.isPreviewGroup,
|
|
@@ -114,12 +126,22 @@ function VtxImage(props) {
|
|
|
114
126
|
alt: alt
|
|
115
127
|
});
|
|
116
128
|
}
|
|
117
|
-
}, [src]);
|
|
129
|
+
}, [src]);
|
|
130
|
+
|
|
131
|
+
function rotateImage(isPlus) {
|
|
132
|
+
var rotate = isPlus ? state.rotate + 90 : state.rotate - 90;
|
|
133
|
+
setState({
|
|
134
|
+
rotate: rotate
|
|
135
|
+
});
|
|
136
|
+
} // 图片props属性
|
|
137
|
+
|
|
118
138
|
|
|
119
139
|
var imgProps = {
|
|
120
140
|
src: thumb || src,
|
|
121
141
|
className: className,
|
|
122
|
-
style: style,
|
|
142
|
+
style: _objectSpread(_objectSpread({}, style), {}, {
|
|
143
|
+
transform: "rotateZ(".concat(state.rotate, "deg)")
|
|
144
|
+
}),
|
|
123
145
|
alt: alt,
|
|
124
146
|
onClick: function onClick() {
|
|
125
147
|
if (!src || isError) {
|
|
@@ -196,7 +218,17 @@ function VtxImage(props) {
|
|
|
196
218
|
if (src && !isError && aspectFit) {
|
|
197
219
|
imgRender = /*#__PURE__*/_react["default"].createElement("div", {
|
|
198
220
|
className: (0, _classnames2["default"])("".concat(prefixCls, "-aspectFit"), _defineProperty({}, "".concat(prefixCls, "-preview"), preview))
|
|
199
|
-
}, /*#__PURE__*/_react["default"].createElement("img", imgProps)
|
|
221
|
+
}, /*#__PURE__*/_react["default"].createElement("img", imgProps), showTool && /*#__PURE__*/_react["default"].createElement("div", {
|
|
222
|
+
className: (0, _classnames2["default"])("".concat(prefixCls, "-tool"))
|
|
223
|
+
}, /*#__PURE__*/_react["default"].createElement(_UndoOutlined["default"], {
|
|
224
|
+
onClick: function onClick() {
|
|
225
|
+
rotateImage(false);
|
|
226
|
+
}
|
|
227
|
+
}), /*#__PURE__*/_react["default"].createElement(_RedoOutlined["default"], {
|
|
228
|
+
onClick: function onClick() {
|
|
229
|
+
rotateImage(true);
|
|
230
|
+
}
|
|
231
|
+
})));
|
|
200
232
|
}
|
|
201
233
|
|
|
202
234
|
return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, imgRender, !isPreviewGroup && preview && /*#__PURE__*/_react["default"].createElement(_Preview["default"], {
|
|
@@ -224,7 +256,8 @@ VtxImage.propTypes = {
|
|
|
224
256
|
errorText: _propTypes["default"].string,
|
|
225
257
|
onClick: _propTypes["default"].func,
|
|
226
258
|
aspectFit: _propTypes["default"].bool,
|
|
227
|
-
isDark: _propTypes["default"].bool
|
|
259
|
+
isDark: _propTypes["default"].bool,
|
|
260
|
+
showTool: _propTypes["default"].bool
|
|
228
261
|
};
|
|
229
262
|
VtxImage.setImageConfig = setImageConfig;
|
|
230
263
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Image.js","names":["defaultEmptyImageSrc","defaultErrorImageSrc","defaultEmptyText","defaultErrorText","uuid","VtxImage","props","React","useState","currentId","useSet","isError","isEmptyImageError","isErrorImageError","viewerVisible","visible","photo","undefined","state","setState","prefixCls","preview","className","style","src","thumb","alt","emptyImageSrc","errorImageSrc","emptyText","errorText","onClick","aspectFit","isDark","useContext","context","isPreviewGroup","setCurrent","setGroupShowPreview","setShowPreview","registerImage","useEffect","id","imgProps","onError","imgRender","classnames","propTypes","PropTypes","string","object","bool","func","setImageConfig","options","PreviewGroup","VtxImagePreview","Preview"],"sources":["vtx-image/Image.jsx"],"sourcesContent":["import React, { useEffect, useContext } from 'react';\r\nimport classnames from 'classnames';\r\nimport PropTypes from 'prop-types';\r\n\r\nimport Preview from './Preview';\r\nimport PreviewGroup, { context } from './PreviewGroup';\r\nimport useSet from '../_util/useSet';\r\n\r\nlet defaultEmptyImageSrc = '';\r\nlet defaultErrorImageSrc = '';\r\nlet defaultEmptyText = '暂无图片';\r\nlet defaultErrorText = '图片出错';\r\n\r\nlet uuid = 0;\r\n\r\nfunction VtxImage(props) {\r\n const [currentId] = React.useState(() => {\r\n uuid += 1;\r\n return uuid;\r\n });\r\n\r\n const [state, setState] = useSet({\r\n isError: false, // 图片是否加载失败\r\n isEmptyImageError: false, // 空白图片是否加载失败\r\n isErrorImageError: false, // 报错图片是否加载失败\r\n viewerVisible: false, // 是否查看\r\n visible: false,\r\n photo: undefined,\r\n });\r\n const { isError, isEmptyImageError, isErrorImageError, visible, photo } = state;\r\n\r\n const {\r\n prefixCls = 'vtx-image',\r\n preview = true,\r\n className,\r\n style,\r\n src,\r\n thumb,\r\n alt,\r\n emptyImageSrc = defaultEmptyImageSrc,\r\n errorImageSrc = defaultErrorImageSrc,\r\n emptyText = defaultEmptyText,\r\n errorText = defaultErrorText,\r\n onClick,\r\n aspectFit,\r\n isDark = false,\r\n } = props;\r\n\r\n const {\r\n isPreviewGroup,\r\n setCurrent,\r\n setShowPreview: setGroupShowPreview,\r\n registerImage,\r\n } = useContext(context);\r\n\r\n useEffect(() => {\r\n setState({\r\n isError: false,\r\n });\r\n if (isPreviewGroup && preview) {\r\n registerImage({ id: currentId, src, alt });\r\n }\r\n }, [src]);\r\n\r\n // 图片props属性\r\n const imgProps = {\r\n src: thumb || src,\r\n className,\r\n style,\r\n alt,\r\n onClick: () => {\r\n if (!src || isError) {\r\n return null;\r\n }\r\n onClick && onClick();\r\n if (preview) {\r\n if (isPreviewGroup) {\r\n setCurrent(currentId);\r\n setGroupShowPreview(true);\r\n } else {\r\n setState({\r\n visible: true,\r\n photo: {\r\n src,\r\n alt,\r\n },\r\n });\r\n }\r\n }\r\n },\r\n onError: () => {\r\n setState({\r\n isError: true,\r\n });\r\n },\r\n };\r\n\r\n // 无图片\r\n if (!src) {\r\n // 有替代图片\r\n if (emptyImageSrc && !isEmptyImageError) {\r\n imgProps.src = emptyImageSrc;\r\n imgProps.onError = () => {\r\n setState({ isEmptyImageError: true });\r\n };\r\n } else {\r\n // 没有替代图片或替代图片无法加载\r\n return (\r\n <div className={`${prefixCls}-nodata${isDark ? '-dark' : ''}`} style={style}>\r\n <p>{emptyText}</p>\r\n </div>\r\n );\r\n }\r\n }\r\n\r\n // 图片出错\r\n if (isError) {\r\n if (errorImageSrc && !isErrorImageError) {\r\n imgProps['data-error-img'] = src;\r\n imgProps.src = errorImageSrc;\r\n imgProps.onError = () => {\r\n setState({ isErrorImageError: true });\r\n };\r\n } else {\r\n // 无法加载报错图片\r\n return (\r\n <div className={`${prefixCls}-error${isDark ? '-dark' : ''}`} data-error-img={src} style={style}>\r\n <p>{errorText}</p>\r\n </div>\r\n );\r\n }\r\n }\r\n\r\n let imgRender = <img {...imgProps} />;\r\n // 缩放\r\n if (src && !isError && aspectFit) {\r\n imgRender = (\r\n <div\r\n className={classnames(`${prefixCls}-aspectFit`, {\r\n [`${prefixCls}-preview`]: preview,\r\n })}\r\n >\r\n <img {...imgProps} />\r\n </div>\r\n );\r\n }\r\n return (\r\n <>\r\n {imgRender}\r\n {!isPreviewGroup && preview && (\r\n <Preview\r\n visible={visible}\r\n photo={photo}\r\n onClose={() => setState({ visible: false })}\r\n />\r\n )}\r\n </>\r\n );\r\n}\r\n\r\nVtxImage.propTypes = {\r\n prefixCls: PropTypes.string,\r\n className: PropTypes.string,\r\n style: PropTypes.object,\r\n preview: PropTypes.bool,\r\n src: PropTypes.string,\r\n thumb: PropTypes.string,\r\n alt: PropTypes.string,\r\n emptyImageSrc: PropTypes.string,\r\n errorImageSrc: PropTypes.string,\r\n emptyText: PropTypes.string,\r\n errorText: PropTypes.string,\r\n onClick: PropTypes.func,\r\n aspectFit: PropTypes.bool,\r\n isDark: PropTypes.bool,\r\n};\r\n\r\nVtxImage.setImageConfig = setImageConfig;\r\n\r\nfunction setImageConfig(options) {\r\n const { emptyImageSrc, errorImageSrc, emptyText, errorText } = options;\r\n\r\n if (emptyImageSrc !== undefined) {\r\n defaultEmptyImageSrc = emptyImageSrc;\r\n }\r\n if (errorImageSrc !== undefined) {\r\n defaultErrorImageSrc = errorImageSrc;\r\n }\r\n if (emptyText !== undefined) {\r\n defaultEmptyText = emptyText;\r\n }\r\n if (errorText !== undefined) {\r\n defaultErrorText = errorText;\r\n }\r\n}\r\n\r\nVtxImage.PreviewGroup = PreviewGroup;\r\nVtxImage.VtxImagePreview = Preview;\r\n\r\nexport default VtxImage;\r\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Image.js","names":["defaultEmptyImageSrc","defaultErrorImageSrc","defaultEmptyText","defaultErrorText","uuid","VtxImage","props","React","useState","currentId","useSet","isError","isEmptyImageError","isErrorImageError","viewerVisible","visible","photo","undefined","rotate","state","setState","prefixCls","preview","className","style","src","thumb","alt","emptyImageSrc","errorImageSrc","emptyText","errorText","onClick","aspectFit","isDark","showTool","useContext","context","isPreviewGroup","setCurrent","setGroupShowPreview","setShowPreview","registerImage","useEffect","id","rotateImage","isPlus","imgProps","transform","onError","imgRender","classnames","propTypes","PropTypes","string","object","bool","func","setImageConfig","options","PreviewGroup","VtxImagePreview","Preview"],"sources":["vtx-image/Image.jsx"],"sourcesContent":["import React, { useEffect, useContext } from 'react';\r\nimport classnames from 'classnames';\r\nimport PropTypes from 'prop-types';\r\n\r\nimport Preview from './Preview';\r\nimport PreviewGroup, { context } from './PreviewGroup';\r\nimport useSet from '../_util/useSet';\r\n\r\nimport UndoOutlined from '@ant-design/icons/UndoOutlined';\r\nimport RedoOutlined from '@ant-design/icons/RedoOutlined';\r\n\r\nlet defaultEmptyImageSrc = '';\r\nlet defaultErrorImageSrc = '';\r\nlet defaultEmptyText = '暂无图片';\r\nlet defaultErrorText = '图片出错';\r\n\r\nlet uuid = 0;\r\n\r\nfunction VtxImage(props) {\r\n const [currentId] = React.useState(() => {\r\n uuid += 1;\r\n return uuid;\r\n });\r\n\r\n const [state, setState] = useSet({\r\n isError: false, // 图片是否加载失败\r\n isEmptyImageError: false, // 空白图片是否加载失败\r\n isErrorImageError: false, // 报错图片是否加载失败\r\n viewerVisible: false, // 是否查看\r\n visible: false,\r\n photo: undefined,\r\n rotate: 0\r\n });\r\n const { isError, isEmptyImageError, isErrorImageError, visible, photo } = state;\r\n\r\n const {\r\n prefixCls = 'vtx-image',\r\n preview = true,\r\n className,\r\n style = {},\r\n src,\r\n thumb,\r\n alt,\r\n emptyImageSrc = defaultEmptyImageSrc,\r\n errorImageSrc = defaultErrorImageSrc,\r\n emptyText = defaultEmptyText,\r\n errorText = defaultErrorText,\r\n onClick,\r\n aspectFit,\r\n isDark = false,\r\n showTool = false,\r\n } = props;\r\n\r\n const {\r\n isPreviewGroup,\r\n setCurrent,\r\n setShowPreview: setGroupShowPreview,\r\n registerImage,\r\n } = useContext(context);\r\n\r\n useEffect(() => {\r\n setState({\r\n isError: false,\r\n });\r\n if (isPreviewGroup && preview) {\r\n registerImage({ id: currentId, src, alt });\r\n }\r\n }, [src]);\r\n\r\n function rotateImage(isPlus) {\r\n let rotate = isPlus ? (state.rotate+90) : (state.rotate-90)\r\n setState({rotate: rotate})\r\n }\r\n\r\n // 图片props属性\r\n const imgProps = {\r\n src: thumb || src,\r\n className,\r\n style: {\r\n ...style,\r\n transform: `rotateZ(${state.rotate}deg)`\r\n },\r\n alt,\r\n onClick: () => {\r\n if (!src || isError) {\r\n return null;\r\n }\r\n onClick && onClick();\r\n if (preview) {\r\n if (isPreviewGroup) {\r\n setCurrent(currentId);\r\n setGroupShowPreview(true);\r\n } else {\r\n setState({\r\n visible: true,\r\n photo: {\r\n src,\r\n alt,\r\n },\r\n });\r\n }\r\n }\r\n },\r\n onError: () => {\r\n setState({\r\n isError: true,\r\n });\r\n },\r\n };\r\n\r\n // 无图片\r\n if (!src) {\r\n // 有替代图片\r\n if (emptyImageSrc && !isEmptyImageError) {\r\n imgProps.src = emptyImageSrc;\r\n imgProps.onError = () => {\r\n setState({ isEmptyImageError: true });\r\n };\r\n } else {\r\n // 没有替代图片或替代图片无法加载\r\n return (\r\n <div className={`${prefixCls}-nodata${isDark ? '-dark' : ''}`} style={style}>\r\n <p>{emptyText}</p>\r\n </div>\r\n );\r\n }\r\n }\r\n\r\n // 图片出错\r\n if (isError) {\r\n if (errorImageSrc && !isErrorImageError) {\r\n imgProps['data-error-img'] = src;\r\n imgProps.src = errorImageSrc;\r\n imgProps.onError = () => {\r\n setState({ isErrorImageError: true });\r\n };\r\n } else {\r\n // 无法加载报错图片\r\n return (\r\n <div className={`${prefixCls}-error${isDark ? '-dark' : ''}`} data-error-img={src} style={style}>\r\n <p>{errorText}</p>\r\n </div>\r\n );\r\n }\r\n }\r\n\r\n let imgRender = <img {...imgProps} />;\r\n \r\n // 缩放\r\n if (src && !isError && aspectFit) {\r\n imgRender = (\r\n <div\r\n className={classnames(`${prefixCls}-aspectFit`, {\r\n [`${prefixCls}-preview`]: preview,\r\n })}\r\n >\r\n <img {...imgProps} />\r\n {\r\n showTool && \r\n <div className={classnames(`${prefixCls}-tool`)}>\r\n <UndoOutlined onClick={()=>{rotateImage(false);}}/>\r\n <RedoOutlined onClick={()=>{rotateImage(true);}}/>\r\n </div>\r\n }\r\n </div>\r\n );\r\n }\r\n return (\r\n <>\r\n {imgRender}\r\n {!isPreviewGroup && preview && (\r\n <Preview\r\n visible={visible}\r\n photo={photo}\r\n onClose={() => setState({ visible: false })}\r\n />\r\n )}\r\n </>\r\n );\r\n}\r\n\r\nVtxImage.propTypes = {\r\n prefixCls: PropTypes.string,\r\n className: PropTypes.string,\r\n style: PropTypes.object,\r\n preview: PropTypes.bool,\r\n src: PropTypes.string,\r\n thumb: PropTypes.string,\r\n alt: PropTypes.string,\r\n emptyImageSrc: PropTypes.string,\r\n errorImageSrc: PropTypes.string,\r\n emptyText: PropTypes.string,\r\n errorText: PropTypes.string,\r\n onClick: PropTypes.func,\r\n aspectFit: PropTypes.bool,\r\n isDark: PropTypes.bool,\r\n showTool: PropTypes.bool,\r\n};\r\n\r\nVtxImage.setImageConfig = setImageConfig;\r\n\r\nfunction setImageConfig(options) {\r\n const { emptyImageSrc, errorImageSrc, emptyText, errorText } = options;\r\n\r\n if (emptyImageSrc !== undefined) {\r\n defaultEmptyImageSrc = emptyImageSrc;\r\n }\r\n if (errorImageSrc !== undefined) {\r\n defaultErrorImageSrc = errorImageSrc;\r\n }\r\n if (emptyText !== undefined) {\r\n defaultEmptyText = emptyText;\r\n }\r\n if (errorText !== undefined) {\r\n defaultErrorText = errorText;\r\n }\r\n}\r\n\r\nVtxImage.PreviewGroup = PreviewGroup;\r\nVtxImage.VtxImagePreview = Preview;\r\n\r\nexport default VtxImage;\r\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Preview.js","names":["VIEWER","GALLERY","checkMode","x","mode","isObject","Array","isArray","len","length","Preview","props","useState","container","setContainer","viewer","setViewer","photo","index","visible","onClose","onIndexChange","options","useEffect","viewerOption","button","navbar","title","toolbar","tooltip","movable","zoomable","rotatable","scalable","transition","document","createElement","Viewer","url","image","src","hidden","view","e","detail","destroy","childNodes","innerHTML","newIndex","alt","imgElem","appendChild","ulElem","map","item","liElem","update","propTypes","PropTypes","oneOfType","object","array","number","bool","func"],"sources":["vtx-image/Preview.jsx"],"sourcesContent":["import React, { useEffect, useState } from 'react';\
|
|
1
|
+
{"version":3,"file":"Preview.js","names":["VIEWER","GALLERY","checkMode","x","mode","isObject","Array","isArray","len","length","Preview","props","useState","container","setContainer","viewer","setViewer","photo","index","visible","onClose","onIndexChange","options","useEffect","viewerOption","button","navbar","title","toolbar","tooltip","movable","zoomable","rotatable","scalable","transition","document","createElement","Viewer","url","image","src","hidden","view","e","detail","destroy","childNodes","innerHTML","newIndex","alt","imgElem","appendChild","ulElem","map","item","liElem","update","propTypes","PropTypes","oneOfType","object","array","number","bool","func"],"sources":["vtx-image/Preview.jsx"],"sourcesContent":["import React, { useEffect, useState } from 'react';\nimport Viewer from 'viewerjs';\nimport PropTypes from 'prop-types';\n\nimport isObject from '../_util/isObject';\n\n// 单张\nconst VIEWER = 'viewer';\n// 多张\nconst GALLERY = 'gallery';\nfunction checkMode(x) {\n let mode = '';\n if (isObject(x)) {\n mode = VIEWER;\n }\n if (Array.isArray(x)) {\n const len = x.length;\n mode = len == 0 ? '' : len == 1 ? VIEWER : GALLERY;\n }\n return mode;\n}\n\nexport default function Preview(props) {\n const [container, setContainer] = useState();\n const [viewer, setViewer] = useState();\n const { photo, index, visible, onClose, onIndexChange, options } = props;\n\n // let container;\n useEffect(() => {\n const viewerOption = {\n button: true, // 显示右上角关闭按钮\n navbar: false, // 显示缩略图导航\n title: true, // 显示当前图片的标题(现实 alt 属性及图片尺寸)\n toolbar: true, // 是否显示工具栏\n tooltip: true, // 显示缩放百分比\n movable: true, // 图片是否可移动\n zoomable: true, // 图片是否可缩放\n rotatable: true, // 图片是否可旋转\n scalable: true, // 图片是否可翻转\n transition: true, // 使用 CSS3 过度\n ...options,\n };\n\n const container = document.createElement('div');\n const viewer = new Viewer(container, {\n url(image) {\n return image.src;\n },\n // 关闭后\n hidden() {\n onClose && onClose();\n },\n view(e) {\n onIndexChange && onIndexChange(e.detail.index);\n },\n ...viewerOption,\n });\n setContainer(container);\n setViewer(viewer);\n return () => {\n viewer && viewer.destroy();\n };\n }, []);\n\n useEffect(() => {\n if (visible) {\n if (container.childNodes.length > 0) {\n container.innerHTML = '';\n }\n const mode = checkMode(photo);\n let newIndex = index;\n // 单张\n if (mode === VIEWER) {\n newIndex = 0;\n const { src, alt } = isObject(photo) ? photo : photo[0];\n const imgElem = document.createElement('img');\n imgElem.src = src;\n imgElem.alt = alt;\n container.appendChild(imgElem);\n }\n // 多张\n if (mode === GALLERY) {\n const len = photo.length - 1;\n newIndex = index < 0 ? 0 : index;\n newIndex = index > len ? len : index;\n const ulElem = document.createElement('ul');\n photo.map(item => {\n const liElem = document.createElement('li');\n const imgElem = document.createElement('img');\n imgElem.src = item.src;\n imgElem.alt = item.alt;\n liElem.appendChild(imgElem);\n ulElem.appendChild(liElem);\n });\n container.appendChild(ulElem);\n }\n viewer.update();\n viewer.view(newIndex);\n }\n }, [visible]);\n\n return <></>;\n}\n\nPreview.propTypes = {\n photo: PropTypes.oneOfType([PropTypes.object, PropTypes.array]),\n index: PropTypes.number,\n visible: PropTypes.bool,\n onClose: PropTypes.func,\n onIndexChange: PropTypes.func,\n options: PropTypes.object,\n};\n"],"mappings":"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"}
|