@vtx/components 3.1.42 → 3.1.44

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.
Files changed (131) hide show
  1. package/lib/_util/useColSize.js.map +1 -1
  2. package/lib/index.js.map +1 -1
  3. package/lib/style/index.less +2 -2
  4. package/lib/style/themes/compact.less +1 -1
  5. package/lib/style/themes/dark.less +9 -9
  6. package/lib/style/themes/default.less +7 -7
  7. package/lib/style/themes/index.less +1 -1
  8. package/lib/style/themes/variable.less +5 -5
  9. package/lib/vtx-color-picker/index.js.map +1 -1
  10. package/lib/vtx-color-picker/style/css.js.map +1 -1
  11. package/lib/vtx-color-picker/style/index.js.map +1 -1
  12. package/lib/vtx-combogrid/Combogrid.js.map +1 -1
  13. package/lib/vtx-combogrid/index.js.map +1 -1
  14. package/lib/vtx-combogrid/style/css.js.map +1 -1
  15. package/lib/vtx-combogrid/style/index.js.map +1 -1
  16. package/lib/vtx-combogrid/style/index.less +29 -29
  17. package/lib/vtx-datagrid/Alert.js.map +1 -1
  18. package/lib/vtx-datagrid/ColumnSetting.js.map +1 -1
  19. package/lib/vtx-datagrid/index.js.map +1 -1
  20. package/lib/vtx-datagrid/renderColumnButtons.js.map +1 -1
  21. package/lib/vtx-datagrid/style/css.js.map +1 -1
  22. package/lib/vtx-datagrid/style/index.js.map +1 -1
  23. package/lib/vtx-datagrid/style/index.less +223 -223
  24. package/lib/vtx-date-picker/QdatePicker.js.map +1 -1
  25. package/lib/vtx-date-picker/generatePicker.js.map +1 -1
  26. package/lib/vtx-date-picker/index.js.map +1 -1
  27. package/lib/vtx-date-picker/style/css.js.map +1 -1
  28. package/lib/vtx-date-picker/style/index.js.map +1 -1
  29. package/lib/vtx-date-picker/style/index.less +39 -39
  30. package/lib/vtx-editor/index.js.map +1 -1
  31. package/lib/vtx-editor/style/css.js.map +1 -1
  32. package/lib/vtx-editor/style/index.js.map +1 -1
  33. package/lib/vtx-editor/style/index.less +8 -8
  34. package/lib/vtx-ellipsis-text/index.js.map +1 -1
  35. package/lib/vtx-ellipsis-text/style/css.js.map +1 -1
  36. package/lib/vtx-ellipsis-text/style/index.js.map +1 -1
  37. package/lib/vtx-ellipsis-text/style/index.less +13 -13
  38. package/lib/vtx-export/index.js +2 -2
  39. package/lib/vtx-export/index.js.map +1 -1
  40. package/lib/vtx-export/style/css.js.map +1 -1
  41. package/lib/vtx-export/style/index.js.map +1 -1
  42. package/lib/vtx-form-layout/Card.js.map +1 -1
  43. package/lib/vtx-form-layout/Divider.js.map +1 -1
  44. package/lib/vtx-form-layout/FormItem.js.map +1 -1
  45. package/lib/vtx-form-layout/Row.js.map +1 -1
  46. package/lib/vtx-form-layout/demo/Modal.less +43 -43
  47. package/lib/vtx-form-layout/index.js.map +1 -1
  48. package/lib/vtx-form-layout/style/css.js.map +1 -1
  49. package/lib/vtx-form-layout/style/index.js.map +1 -1
  50. package/lib/vtx-form-layout/style/index.less +216 -216
  51. package/lib/vtx-image/Preview.js.map +1 -1
  52. package/lib/vtx-image/PreviewGroup.js.map +1 -1
  53. package/lib/vtx-import/index.js +1 -1
  54. package/lib/vtx-import/index.js.map +1 -1
  55. package/lib/vtx-import/result.js.map +1 -1
  56. package/lib/vtx-import/style/css.js.map +1 -1
  57. package/lib/vtx-import/style/index.js.map +1 -1
  58. package/lib/vtx-import/style/index.less +8 -8
  59. package/lib/vtx-import2/CheckResult.js.map +1 -1
  60. package/lib/vtx-import2/Content.js.map +1 -1
  61. package/lib/vtx-import2/DownloadSvg.js.map +1 -1
  62. package/lib/vtx-import2/ImportResult.js.map +1 -1
  63. package/lib/vtx-import2/UploadSvg.js.map +1 -1
  64. package/lib/vtx-import2/index.js +1 -1
  65. package/lib/vtx-import2/index.js.map +1 -1
  66. package/lib/vtx-import2/style/css.js.map +1 -1
  67. package/lib/vtx-import2/style/index.js.map +1 -1
  68. package/lib/vtx-import2/style/index.less +102 -102
  69. package/lib/vtx-input/TextArea.js.map +1 -1
  70. package/lib/vtx-input/index.js.map +1 -1
  71. package/lib/vtx-input/style/css.js.map +1 -1
  72. package/lib/vtx-input/style/index.js.map +1 -1
  73. package/lib/vtx-input/style/index.less +24 -24
  74. package/lib/vtx-modal/index.js +2 -2
  75. package/lib/vtx-modal/index.js.map +1 -1
  76. package/lib/vtx-modal/style/css.js.map +1 -1
  77. package/lib/vtx-modal/style/index.js.map +1 -1
  78. package/lib/vtx-page-layout/Content.js.map +1 -1
  79. package/lib/vtx-page-layout/TableLayout.js +10 -10
  80. package/lib/vtx-page-layout/TableLayout.js.map +1 -1
  81. package/lib/vtx-page-layout/TableWrap.js.map +1 -1
  82. package/lib/vtx-page-layout/container.js.map +1 -1
  83. package/lib/vtx-page-layout/style/index.less +138 -138
  84. package/lib/vtx-scrollable-row/index.js.map +1 -1
  85. package/lib/vtx-scrollable-row/style/css.js.map +1 -1
  86. package/lib/vtx-scrollable-row/style/index.js.map +1 -1
  87. package/lib/vtx-scrollable-row/style/index.less +113 -113
  88. package/lib/vtx-search/VtxCol.js.map +1 -1
  89. package/lib/vtx-search/VtxRow.js.map +1 -1
  90. package/lib/vtx-search/index.js.map +1 -1
  91. package/lib/vtx-search/style/css.js.map +1 -1
  92. package/lib/vtx-search/style/index.js.map +1 -1
  93. package/lib/vtx-search/style/index.less +83 -83
  94. package/lib/vtx-search-map-input/index.js.map +1 -1
  95. package/lib/vtx-search-map-input/style/css.js.map +1 -1
  96. package/lib/vtx-search-map-input/style/index.js.map +1 -1
  97. package/lib/vtx-select/style/css.js.map +1 -1
  98. package/lib/vtx-select/style/index.js.map +1 -1
  99. package/lib/vtx-select/style/index.less +68 -68
  100. package/lib/vtx-signature/index.js.map +1 -1
  101. package/lib/vtx-signature/style/css.js.map +1 -1
  102. package/lib/vtx-signature/style/index.js.map +1 -1
  103. package/lib/vtx-signature/style/index.less +33 -33
  104. package/lib/vtx-split-pane/Resizer.js.map +1 -1
  105. package/lib/vtx-split-pane/SplitPane.js +4 -4
  106. package/lib/vtx-split-pane/SplitPane.js.map +1 -1
  107. package/lib/vtx-split-pane/style/css.js.map +1 -1
  108. package/lib/vtx-split-pane/style/index.js.map +1 -1
  109. package/lib/vtx-split-pane/style/index.less +76 -76
  110. package/lib/vtx-statistics-column/style/index.less +59 -59
  111. package/lib/vtx-time-picker/index.js.map +1 -1
  112. package/lib/vtx-time-picker/style/css.js.map +1 -1
  113. package/lib/vtx-time-picker/style/index.js.map +1 -1
  114. package/lib/vtx-upload/FilePreview.js.map +1 -1
  115. package/lib/vtx-upload/style/css.js.map +1 -1
  116. package/lib/vtx-upload/style/index.js.map +1 -1
  117. package/lib/vtx-upload/style/index.less +61 -61
  118. package/lib/vtx-wang-editor/style/css.js.map +1 -1
  119. package/lib/vtx-wang-editor/style/index.js.map +1 -1
  120. package/lib/vtx-wang-editor/style/index.less +12 -12
  121. package/lib/vtx-wang-editor/wangEditorUtil.js.map +1 -1
  122. package/lib/vtx-ztree/index.js +2 -2
  123. package/lib/vtx-ztree/index.js.map +1 -1
  124. package/lib/vtx-ztree/style/css.js.map +1 -1
  125. package/lib/vtx-ztree/style/index.js.map +1 -1
  126. package/lib/vtx-ztree/style/index.less +45 -45
  127. package/lib/vtx-ztree-select/index.js.map +1 -1
  128. package/lib/vtx-ztree-select/style/css.js.map +1 -1
  129. package/lib/vtx-ztree-select/style/index.js.map +1 -1
  130. package/lib/vtx-ztree-select/style/index.less +99 -99
  131. 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: @text-color;
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: @text-color;
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: @text-color;
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: @text-color;
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 +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';\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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"}
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';\r\nimport Viewer from 'viewerjs';\r\nimport PropTypes from 'prop-types';\r\n\r\nimport isObject from '../_util/isObject';\r\n\r\n// 单张\r\nconst VIEWER = 'viewer';\r\n// 多张\r\nconst GALLERY = 'gallery';\r\nfunction checkMode(x) {\r\n let mode = '';\r\n if (isObject(x)) {\r\n mode = VIEWER;\r\n }\r\n if (Array.isArray(x)) {\r\n const len = x.length;\r\n mode = len == 0 ? '' : len == 1 ? VIEWER : GALLERY;\r\n }\r\n return mode;\r\n}\r\n\r\nexport default function Preview(props) {\r\n const [container, setContainer] = useState();\r\n const [viewer, setViewer] = useState();\r\n const { photo, index, visible, onClose, onIndexChange, options } = props;\r\n\r\n // let container;\r\n useEffect(() => {\r\n const viewerOption = {\r\n button: true, // 显示右上角关闭按钮\r\n navbar: false, // 显示缩略图导航\r\n title: true, // 显示当前图片的标题(现实 alt 属性及图片尺寸)\r\n toolbar: true, // 是否显示工具栏\r\n tooltip: true, // 显示缩放百分比\r\n movable: true, // 图片是否可移动\r\n zoomable: true, // 图片是否可缩放\r\n rotatable: true, // 图片是否可旋转\r\n scalable: true, // 图片是否可翻转\r\n transition: true, // 使用 CSS3 过度\r\n ...options,\r\n };\r\n\r\n const container = document.createElement('div');\r\n const viewer = new Viewer(container, {\r\n url(image) {\r\n return image.src;\r\n },\r\n // 关闭后\r\n hidden() {\r\n onClose && onClose();\r\n },\r\n view(e) {\r\n onIndexChange && onIndexChange(e.detail.index);\r\n },\r\n ...viewerOption,\r\n });\r\n setContainer(container);\r\n setViewer(viewer);\r\n return () => {\r\n viewer && viewer.destroy();\r\n };\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (visible) {\r\n if (container.childNodes.length > 0) {\r\n container.innerHTML = '';\r\n }\r\n const mode = checkMode(photo);\r\n let newIndex = index;\r\n // 单张\r\n if (mode === VIEWER) {\r\n newIndex = 0;\r\n const { src, alt } = isObject(photo) ? photo : photo[0];\r\n const imgElem = document.createElement('img');\r\n imgElem.src = src;\r\n imgElem.alt = alt;\r\n container.appendChild(imgElem);\r\n }\r\n // 多张\r\n if (mode === GALLERY) {\r\n const len = photo.length - 1;\r\n newIndex = index < 0 ? 0 : index;\r\n newIndex = index > len ? len : index;\r\n const ulElem = document.createElement('ul');\r\n photo.map(item => {\r\n const liElem = document.createElement('li');\r\n const imgElem = document.createElement('img');\r\n imgElem.src = item.src;\r\n imgElem.alt = item.alt;\r\n liElem.appendChild(imgElem);\r\n ulElem.appendChild(liElem);\r\n });\r\n container.appendChild(ulElem);\r\n }\r\n viewer.update();\r\n viewer.view(newIndex);\r\n }\r\n }, [visible]);\r\n\r\n return <></>;\r\n}\r\n\r\nPreview.propTypes = {\r\n photo: PropTypes.oneOfType([PropTypes.object, PropTypes.array]),\r\n index: PropTypes.number,\r\n visible: PropTypes.bool,\r\n onClose: PropTypes.func,\r\n onIndexChange: PropTypes.func,\r\n options: PropTypes.object,\r\n};\r\n"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA;AACA,IAAMA,MAAM,GAAG,QAAf,C,CACA;;AACA,IAAMC,OAAO,GAAG,SAAhB;;AACA,SAASC,SAAT,CAAmBC,CAAnB,EAAsB;EAClB,IAAIC,IAAI,GAAG,EAAX;;EACA,IAAI,IAAAC,oBAAA,EAASF,CAAT,CAAJ,EAAiB;IACbC,IAAI,GAAGJ,MAAP;EACH;;EACD,IAAIM,KAAK,CAACC,OAAN,CAAcJ,CAAd,CAAJ,EAAsB;IAClB,IAAMK,GAAG,GAAGL,CAAC,CAACM,MAAd;IACAL,IAAI,GAAGI,GAAG,IAAI,CAAP,GAAW,EAAX,GAAgBA,GAAG,IAAI,CAAP,GAAWR,MAAX,GAAoBC,OAA3C;EACH;;EACD,OAAOG,IAAP;AACH;;AAEc,SAASM,OAAT,CAAiBC,KAAjB,EAAwB;EACnC,gBAAkC,IAAAC,eAAA,GAAlC;EAAA;EAAA,IAAOC,SAAP;EAAA,IAAkBC,YAAlB;;EACA,iBAA4B,IAAAF,eAAA,GAA5B;EAAA;EAAA,IAAOG,MAAP;EAAA,IAAeC,SAAf;;EACA,IAAQC,KAAR,GAAmEN,KAAnE,CAAQM,KAAR;EAAA,IAAeC,KAAf,GAAmEP,KAAnE,CAAeO,KAAf;EAAA,IAAsBC,OAAtB,GAAmER,KAAnE,CAAsBQ,OAAtB;EAAA,IAA+BC,OAA/B,GAAmET,KAAnE,CAA+BS,OAA/B;EAAA,IAAwCC,aAAxC,GAAmEV,KAAnE,CAAwCU,aAAxC;EAAA,IAAuDC,OAAvD,GAAmEX,KAAnE,CAAuDW,OAAvD,CAHmC,CAKnC;;EACA,IAAAC,gBAAA,EAAU,YAAM;IACZ,IAAMC,YAAY;MACdC,MAAM,EAAE,IADM;MACA;MACdC,MAAM,EAAE,KAFM;MAEC;MACfC,KAAK,EAAE,IAHO;MAGD;MACbC,OAAO,EAAE,IAJK;MAIC;MACfC,OAAO,EAAE,IALK;MAKC;MACfC,OAAO,EAAE,IANK;MAMC;MACfC,QAAQ,EAAE,IAPI;MAOE;MAChBC,SAAS,EAAE,IARG;MAQG;MACjBC,QAAQ,EAAE,IATI;MASE;MAChBC,UAAU,EAAE;IAVE,GAWXZ,OAXW,CAAlB;;IAcA,IAAMT,SAAS,GAAGsB,QAAQ,CAACC,aAAT,CAAuB,KAAvB,CAAlB;IACA,IAAMrB,MAAM,GAAG,IAAIsB,oBAAJ,CAAWxB,SAAX;MACXyB,GADW,eACPC,KADO,EACA;QACP,OAAOA,KAAK,CAACC,GAAb;MACH,CAHU;MAIX;MACAC,MALW,oBAKF;QACLrB,OAAO,IAAIA,OAAO,EAAlB;MACH,CAPU;MAQXsB,IARW,gBAQNC,CARM,EAQH;QACJtB,aAAa,IAAIA,aAAa,CAACsB,CAAC,CAACC,MAAF,CAAS1B,KAAV,CAA9B;MACH;IAVU,GAWRM,YAXQ,EAAf;IAaAV,YAAY,CAACD,SAAD,CAAZ;IACAG,SAAS,CAACD,MAAD,CAAT;IACA,OAAO,YAAM;MACTA,MAAM,IAAIA,MAAM,CAAC8B,OAAP,EAAV;IACH,CAFD;EAGH,CAlCD,EAkCG,EAlCH;EAoCA,IAAAtB,gBAAA,EAAU,YAAM;IACZ,IAAIJ,OAAJ,EAAa;MACT,IAAIN,SAAS,CAACiC,UAAV,CAAqBrC,MAArB,GAA8B,CAAlC,EAAqC;QACjCI,SAAS,CAACkC,SAAV,GAAsB,EAAtB;MACH;;MACD,IAAM3C,IAAI,GAAGF,SAAS,CAACe,KAAD,CAAtB;MACA,IAAI+B,QAAQ,GAAG9B,KAAf,CALS,CAMT;;MACA,IAAId,IAAI,KAAKJ,MAAb,EAAqB;QACjBgD,QAAQ,GAAG,CAAX;;QACA,WAAqB,IAAA3C,oBAAA,EAASY,KAAT,IAAkBA,KAAlB,GAA0BA,KAAK,CAAC,CAAD,CAApD;QAAA,IAAQuB,GAAR,QAAQA,GAAR;QAAA,IAAaS,GAAb,QAAaA,GAAb;;QACA,IAAMC,OAAO,GAAGf,QAAQ,CAACC,aAAT,CAAuB,KAAvB,CAAhB;QACAc,OAAO,CAACV,GAAR,GAAcA,GAAd;QACAU,OAAO,CAACD,GAAR,GAAcA,GAAd;QACApC,SAAS,CAACsC,WAAV,CAAsBD,OAAtB;MACH,CAdQ,CAeT;;;MACA,IAAI9C,IAAI,KAAKH,OAAb,EAAsB;QAClB,IAAMO,GAAG,GAAGS,KAAK,CAACR,MAAN,GAAe,CAA3B;QACAuC,QAAQ,GAAG9B,KAAK,GAAG,CAAR,GAAY,CAAZ,GAAgBA,KAA3B;QACA8B,QAAQ,GAAG9B,KAAK,GAAGV,GAAR,GAAcA,GAAd,GAAoBU,KAA/B;QACA,IAAMkC,MAAM,GAAGjB,QAAQ,CAACC,aAAT,CAAuB,IAAvB,CAAf;QACAnB,KAAK,CAACoC,GAAN,CAAU,UAAAC,IAAI,EAAI;UACd,IAAMC,MAAM,GAAGpB,QAAQ,CAACC,aAAT,CAAuB,IAAvB,CAAf;UACA,IAAMc,OAAO,GAAGf,QAAQ,CAACC,aAAT,CAAuB,KAAvB,CAAhB;UACAc,OAAO,CAACV,GAAR,GAAcc,IAAI,CAACd,GAAnB;UACAU,OAAO,CAACD,GAAR,GAAcK,IAAI,CAACL,GAAnB;UACAM,MAAM,CAACJ,WAAP,CAAmBD,OAAnB;UACAE,MAAM,CAACD,WAAP,CAAmBI,MAAnB;QACH,CAPD;QAQA1C,SAAS,CAACsC,WAAV,CAAsBC,MAAtB;MACH;;MACDrC,MAAM,CAACyC,MAAP;MACAzC,MAAM,CAAC2B,IAAP,CAAYM,QAAZ;IACH;EACJ,CAnCD,EAmCG,CAAC7B,OAAD,CAnCH;EAqCA,oBAAO,iEAAP;AACH;;AAEDT,OAAO,CAAC+C,SAAR,GAAoB;EAChBxC,KAAK,EAAEyC,qBAAA,CAAUC,SAAV,CAAoB,CAACD,qBAAA,CAAUE,MAAX,EAAmBF,qBAAA,CAAUG,KAA7B,CAApB,CADS;EAEhB3C,KAAK,EAAEwC,qBAAA,CAAUI,MAFD;EAGhB3C,OAAO,EAAEuC,qBAAA,CAAUK,IAHH;EAIhB3C,OAAO,EAAEsC,qBAAA,CAAUM,IAJH;EAKhB3C,aAAa,EAAEqC,qBAAA,CAAUM,IALT;EAMhB1C,OAAO,EAAEoC,qBAAA,CAAUE;AANH,CAApB"}
@@ -1 +1 @@
1
- {"version":3,"file":"PreviewGroup.js","names":["context","React","createContext","Provider","PreviewGroup","props","useState","photo","setPhoto","current","setCurrent","visible","setVisible","onIndexChange","registerImage","src","alt","id","oldPhoto","newPhoto","index","findIndex","item","push","isPreviewGroup","setShowPreview","children","propTypes","PropTypes","node","func"],"sources":["vtx-image/PreviewGroup.jsx"],"sourcesContent":["import React, { useState } from 'react';\nimport PropTypes from 'prop-types';\nimport Preview from './Preview';\n\nexport const context = React.createContext({});\nconst { Provider } = context;\n\nexport default function PreviewGroup(props) {\n const [photo, setPhoto] = useState([]);\n const [current, setCurrent] = useState(0);\n const [visible, setVisible] = useState(false);\n\n const { onIndexChange } = props;\n\n const registerImage = ({ src, alt, id }) => {\n setPhoto(oldPhoto => {\n const newPhoto = [...oldPhoto];\n const index = oldPhoto.findIndex(item => item.id === id);\n if (index < 0) {\n newPhoto.push({ src, alt, id });\n } else {\n newPhoto[index] = { src, alt, id };\n }\n return newPhoto;\n });\n };\n\n return (\n <Provider\n value={{\n isPreviewGroup: true,\n current,\n setCurrent,\n setShowPreview: setVisible,\n registerImage,\n }}\n >\n {props.children}\n <Preview\n visible={visible}\n index={photo.findIndex(item => item.id === current)}\n photo={photo}\n onClose={() => setVisible(false)}\n onIndexChange={onIndexChange}\n />\n </Provider>\n );\n}\n\nPreviewGroup.propTypes = {\n children: PropTypes.node,\n onIndexChange: PropTypes.func,\n};\n"],"mappings":";;;;;;;;;;AAAA;;AACA;;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEO,IAAMA,OAAO,gBAAGC,iBAAA,CAAMC,aAAN,CAAoB,EAApB,CAAhB;;;AACP,IAAQC,QAAR,GAAqBH,OAArB,CAAQG,QAAR;;AAEe,SAASC,YAAT,CAAsBC,KAAtB,EAA6B;EACxC,gBAA0B,IAAAC,eAAA,EAAS,EAAT,CAA1B;EAAA;EAAA,IAAOC,KAAP;EAAA,IAAcC,QAAd;;EACA,iBAA8B,IAAAF,eAAA,EAAS,CAAT,CAA9B;EAAA;EAAA,IAAOG,OAAP;EAAA,IAAgBC,UAAhB;;EACA,iBAA8B,IAAAJ,eAAA,EAAS,KAAT,CAA9B;EAAA;EAAA,IAAOK,OAAP;EAAA,IAAgBC,UAAhB;;EAEA,IAAQC,aAAR,GAA0BR,KAA1B,CAAQQ,aAAR;;EAEA,IAAMC,aAAa,GAAG,SAAhBA,aAAgB,OAAsB;IAAA,IAAnBC,GAAmB,QAAnBA,GAAmB;IAAA,IAAdC,GAAc,QAAdA,GAAc;IAAA,IAATC,EAAS,QAATA,EAAS;IACxCT,QAAQ,CAAC,UAAAU,QAAQ,EAAI;MACjB,IAAMC,QAAQ,sBAAOD,QAAP,CAAd;;MACA,IAAME,KAAK,GAAGF,QAAQ,CAACG,SAAT,CAAmB,UAAAC,IAAI;QAAA,OAAIA,IAAI,CAACL,EAAL,KAAYA,EAAhB;MAAA,CAAvB,CAAd;;MACA,IAAIG,KAAK,GAAG,CAAZ,EAAe;QACXD,QAAQ,CAACI,IAAT,CAAc;UAAER,GAAG,EAAHA,GAAF;UAAOC,GAAG,EAAHA,GAAP;UAAYC,EAAE,EAAFA;QAAZ,CAAd;MACH,CAFD,MAEO;QACHE,QAAQ,CAACC,KAAD,CAAR,GAAkB;UAAEL,GAAG,EAAHA,GAAF;UAAOC,GAAG,EAAHA,GAAP;UAAYC,EAAE,EAAFA;QAAZ,CAAlB;MACH;;MACD,OAAOE,QAAP;IACH,CATO,CAAR;EAUH,CAXD;;EAaA,oBACI,gCAAC,QAAD;IACI,KAAK,EAAE;MACHK,cAAc,EAAE,IADb;MAEHf,OAAO,EAAPA,OAFG;MAGHC,UAAU,EAAVA,UAHG;MAIHe,cAAc,EAAEb,UAJb;MAKHE,aAAa,EAAbA;IALG;EADX,GASKT,KAAK,CAACqB,QATX,eAUI,gCAAC,mBAAD;IACI,OAAO,EAAEf,OADb;IAEI,KAAK,EAAEJ,KAAK,CAACc,SAAN,CAAgB,UAAAC,IAAI;MAAA,OAAIA,IAAI,CAACL,EAAL,KAAYR,OAAhB;IAAA,CAApB,CAFX;IAGI,KAAK,EAAEF,KAHX;IAII,OAAO,EAAE;MAAA,OAAMK,UAAU,CAAC,KAAD,CAAhB;IAAA,CAJb;IAKI,aAAa,EAAEC;EALnB,EAVJ,CADJ;AAoBH;;AAEDT,YAAY,CAACuB,SAAb,GAAyB;EACrBD,QAAQ,EAAEE,qBAAA,CAAUC,IADC;EAErBhB,aAAa,EAAEe,qBAAA,CAAUE;AAFJ,CAAzB"}
1
+ {"version":3,"file":"PreviewGroup.js","names":["context","React","createContext","Provider","PreviewGroup","props","useState","photo","setPhoto","current","setCurrent","visible","setVisible","onIndexChange","registerImage","src","alt","id","oldPhoto","newPhoto","index","findIndex","item","push","isPreviewGroup","setShowPreview","children","propTypes","PropTypes","node","func"],"sources":["vtx-image/PreviewGroup.jsx"],"sourcesContent":["import React, { useState } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport Preview from './Preview';\r\n\r\nexport const context = React.createContext({});\r\nconst { Provider } = context;\r\n\r\nexport default function PreviewGroup(props) {\r\n const [photo, setPhoto] = useState([]);\r\n const [current, setCurrent] = useState(0);\r\n const [visible, setVisible] = useState(false);\r\n\r\n const { onIndexChange } = props;\r\n\r\n const registerImage = ({ src, alt, id }) => {\r\n setPhoto(oldPhoto => {\r\n const newPhoto = [...oldPhoto];\r\n const index = oldPhoto.findIndex(item => item.id === id);\r\n if (index < 0) {\r\n newPhoto.push({ src, alt, id });\r\n } else {\r\n newPhoto[index] = { src, alt, id };\r\n }\r\n return newPhoto;\r\n });\r\n };\r\n\r\n return (\r\n <Provider\r\n value={{\r\n isPreviewGroup: true,\r\n current,\r\n setCurrent,\r\n setShowPreview: setVisible,\r\n registerImage,\r\n }}\r\n >\r\n {props.children}\r\n <Preview\r\n visible={visible}\r\n index={photo.findIndex(item => item.id === current)}\r\n photo={photo}\r\n onClose={() => setVisible(false)}\r\n onIndexChange={onIndexChange}\r\n />\r\n </Provider>\r\n );\r\n}\r\n\r\nPreviewGroup.propTypes = {\r\n children: PropTypes.node,\r\n onIndexChange: PropTypes.func,\r\n};\r\n"],"mappings":";;;;;;;;;;AAAA;;AACA;;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEO,IAAMA,OAAO,gBAAGC,iBAAA,CAAMC,aAAN,CAAoB,EAApB,CAAhB;;;AACP,IAAQC,QAAR,GAAqBH,OAArB,CAAQG,QAAR;;AAEe,SAASC,YAAT,CAAsBC,KAAtB,EAA6B;EACxC,gBAA0B,IAAAC,eAAA,EAAS,EAAT,CAA1B;EAAA;EAAA,IAAOC,KAAP;EAAA,IAAcC,QAAd;;EACA,iBAA8B,IAAAF,eAAA,EAAS,CAAT,CAA9B;EAAA;EAAA,IAAOG,OAAP;EAAA,IAAgBC,UAAhB;;EACA,iBAA8B,IAAAJ,eAAA,EAAS,KAAT,CAA9B;EAAA;EAAA,IAAOK,OAAP;EAAA,IAAgBC,UAAhB;;EAEA,IAAQC,aAAR,GAA0BR,KAA1B,CAAQQ,aAAR;;EAEA,IAAMC,aAAa,GAAG,SAAhBA,aAAgB,OAAsB;IAAA,IAAnBC,GAAmB,QAAnBA,GAAmB;IAAA,IAAdC,GAAc,QAAdA,GAAc;IAAA,IAATC,EAAS,QAATA,EAAS;IACxCT,QAAQ,CAAC,UAAAU,QAAQ,EAAI;MACjB,IAAMC,QAAQ,sBAAOD,QAAP,CAAd;;MACA,IAAME,KAAK,GAAGF,QAAQ,CAACG,SAAT,CAAmB,UAAAC,IAAI;QAAA,OAAIA,IAAI,CAACL,EAAL,KAAYA,EAAhB;MAAA,CAAvB,CAAd;;MACA,IAAIG,KAAK,GAAG,CAAZ,EAAe;QACXD,QAAQ,CAACI,IAAT,CAAc;UAAER,GAAG,EAAHA,GAAF;UAAOC,GAAG,EAAHA,GAAP;UAAYC,EAAE,EAAFA;QAAZ,CAAd;MACH,CAFD,MAEO;QACHE,QAAQ,CAACC,KAAD,CAAR,GAAkB;UAAEL,GAAG,EAAHA,GAAF;UAAOC,GAAG,EAAHA,GAAP;UAAYC,EAAE,EAAFA;QAAZ,CAAlB;MACH;;MACD,OAAOE,QAAP;IACH,CATO,CAAR;EAUH,CAXD;;EAaA,oBACI,gCAAC,QAAD;IACI,KAAK,EAAE;MACHK,cAAc,EAAE,IADb;MAEHf,OAAO,EAAPA,OAFG;MAGHC,UAAU,EAAVA,UAHG;MAIHe,cAAc,EAAEb,UAJb;MAKHE,aAAa,EAAbA;IALG;EADX,GASKT,KAAK,CAACqB,QATX,eAUI,gCAAC,mBAAD;IACI,OAAO,EAAEf,OADb;IAEI,KAAK,EAAEJ,KAAK,CAACc,SAAN,CAAgB,UAAAC,IAAI;MAAA,OAAIA,IAAI,CAACL,EAAL,KAAYR,OAAhB;IAAA,CAApB,CAFX;IAGI,KAAK,EAAEF,KAHX;IAII,OAAO,EAAE;MAAA,OAAMK,UAAU,CAAC,KAAD,CAAhB;IAAA,CAJb;IAKI,aAAa,EAAEC;EALnB,EAVJ,CADJ;AAoBH;;AAEDT,YAAY,CAACuB,SAAb,GAAyB;EACrBD,QAAQ,EAAEE,qBAAA,CAAUC,IADC;EAErBhB,aAAa,EAAEe,qBAAA,CAAUE;AAFJ,CAAzB"}
@@ -169,7 +169,7 @@ function VtxImport(props) {
169
169
  if (state.useFormData) {
170
170
  var request = new XMLHttpRequest();
171
171
  request.open('POST', postUrl);
172
- request.setRequestHeader('Authorization', token ? "Bear ".concat(token) : '');
172
+ request.setRequestHeader('Authorization', token ? "Bearer ".concat(token) : '');
173
173
  request.setRequestHeader('access_token', token ? "".concat(token) : '');
174
174
 
175
175
  request.onreadystatechange = function (e) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["getUrlParam","token","VtxImport","props","useSet","fileForm","fileInput","iframe","useFormData","window","FormData","uploading","visible","fileKey","accept","resultVisible","resultData","modalWidth","columns","title","dataIndex","key","state","setState","getPostURL","postUrl","uploadURL","postData","postArray","k","undefined","push","encodeURIComponent","length","join","closeModal","value","close","uploadSuccess","data","afterUpload","parseData","JSON","parse","Array","isArray","map","item","index","messages","filter","result","message","error","msg","templateURL","modalProps","className","onCancel","maskClosable","footer","open","request","XMLHttpRequest","setRequestHeader","onreadystatechange","e","target","readyState","response","fmd","append","files","send","info","resultProps","dataSource","hideVisible","children","dom","display","propTypes","PropTypes","bool","string","object","func","number","array"],"sources":["vtx-import/index.jsx"],"sourcesContent":["import React from 'react';\nimport Modal from 'antd/lib/modal';\nimport Button from 'antd/lib/button';\nimport message from 'antd/lib/message';\nimport PropTypes from 'prop-types';\nimport useSet from '../_util/useSet';\nimport VtxImportResult from './result';\nimport getUrlParam from '@vtx/utils/lib/getUrlParam';\nconst { token } = getUrlParam();\nfunction VtxImport(props) {\n const [state, setState] = useSet({\n fileForm: null, // form表单\n fileInput: null, // 保存上传的文件\n iframe: null, // form表单提交之后跳转的\n useFormData: window.FormData ? true : false, // 是否查看\n uploading: false, // 表单提交的状态\n visible: props.visible || false,\n fileKey: props.fileKey || 'file',\n accept:\n props.accept ||\n 'application/vnd.ms-excel,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet,text/csv',\n resultVisible: false, // 导入结果查看弹窗\n resultData: [], // 导入结果查看\n modalWidth: props.modalWidth || 800,\n columns: props.columns || [\n {\n title: '行号',\n dataIndex: 'lineNum',\n key: 'lineNum',\n },\n {\n title: '错误说明',\n dataIndex: 'messages',\n key: 'messages',\n },\n ],\n });\n // 获取上传地址(拼接参数)\n const getPostURL = () => {\n const postUrl = props.uploadURL;\n const postData = props.postData || {};\n const postArray = [];\n for (const k in postData) {\n if (postData[k] !== undefined && postData[k] !== null && postData[k] !== '') {\n postArray.push(`${k}=${encodeURIComponent(postData[k])}`);\n }\n }\n return postArray.length > 0 ? `${postUrl}?${postArray.join('&')}` : postUrl;\n };\n const closeModal = () => {\n state.fileInput.value = '';\n if (typeof props.close === 'function') {\n props.close();\n } else {\n setState({\n visible: !state.visible,\n });\n }\n };\n // 上传之后的回调 - 展示报错信息\n const uploadSuccess = data => {\n state.fileInput.value = '';\n setState({\n uploading: false,\n });\n if (typeof props.afterUpload === 'function') {\n afterUpload(data);\n }\n const parseData = JSON.parse(data);\n if (Array.isArray(parseData?.data)) {\n setState({\n resultVisible: true,\n resultData: parseData.data\n .map((item, index) => ({\n ...item,\n key: index,\n messages: item.messages.join(','),\n }))\n .filter(item => item.messages.length !== 0),\n });\n } else {\n // 新增其他错误提示\n if (parseData.result !== 0) {\n message.error(parseData?.msg || '服务器异常');\n }\n }\n };\n const { templateURL, uploadURL, afterUpload } = props;\n const modalProps = {\n className: 'vtx-import-modal',\n visible: state.visible,\n title: '导入',\n onCancel: () => closeModal(),\n maskClosable: false,\n footer: [\n templateURL ? (\n <Button\n key=\"downloadTemple\"\n onClick={() => {\n window.open(templateURL);\n }}\n >\n 下载模板\n </Button>\n ) : null,\n <Button\n key=\"uploadSubmit\"\n type=\"primary\"\n loading={state.uploading}\n onClick={() => {\n const postUrl = getPostURL();\n if (state.fileInput.value) {\n setState({\n uploading: true,\n });\n if (state.useFormData) {\n const request = new XMLHttpRequest();\n request.open('POST', postUrl);\n request.setRequestHeader('Authorization', token ? `Bear ${token}` : '');\n request.setRequestHeader('access_token', token ? `${token}` : '');\n request.onreadystatechange = e => {\n if (e.target.readyState == 4) {\n uploadSuccess(e.target.response);\n }\n };\n const fmd = new FormData();\n fmd.append(state.fileKey, state.fileInput.files[0]);\n request.send(fmd);\n }\n } else {\n message.info('请选择需要上传的文件');\n }\n }}\n >\n 上传\n </Button>,\n <Button\n key=\"closeWindow\"\n onClick={() => {\n closeModal();\n }}\n >\n 关闭\n </Button>,\n ],\n };\n const resultProps = {\n visible: state.resultVisible,\n dataSource: state.resultData,\n columns: state.columns,\n hideVisible: () => {\n setState({\n resultVisible: false,\n });\n },\n modalWidth: state.modalWidth,\n };\n return (\n <Modal {...modalProps}>\n {props.children}\n <form\n encType=\"multipart/form-data\"\n method=\"post\"\n target=\"tmp\"\n action={uploadURL}\n ref={dom => {\n if (dom) state.fileForm = dom;\n }}\n >\n <input\n type=\"file\"\n name={state.fileKey}\n accept={state.accept}\n ref={dom => {\n if (dom) state.fileInput = dom;\n }}\n />\n </form>\n <iframe\n name=\"tmp\"\n style={{ display: 'none' }}\n ref={dom => {\n if (dom) state.iframe = dom;\n }}\n ></iframe>\n {state.resultVisible && <VtxImportResult {...resultProps} />}\n </Modal>\n );\n}\nVtxImport.propTypes = {\n visible: PropTypes.bool,\n templateURL: PropTypes.string,\n uploadURL: PropTypes.string,\n postData: PropTypes.object,\n fileKey: PropTypes.string,\n accept: PropTypes.string,\n close: PropTypes.func,\n afterUpload: PropTypes.func,\n modalWidth: PropTypes.number,\n columns: PropTypes.array,\n children: PropTypes.object,\n};\nexport default VtxImport;\n"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;;;;;;;;;;;;;AACA,mBAAkB,IAAAA,wBAAA,GAAlB;AAAA,IAAQC,KAAR,gBAAQA,KAAR;;AACA,SAASC,SAAT,CAAmBC,KAAnB,EAA0B;EACtB,cAA0B,IAAAC,mBAAA,EAAO;IAC7BC,QAAQ,EAAE,IADmB;IACb;IAChBC,SAAS,EAAE,IAFkB;IAEZ;IACjBC,MAAM,EAAE,IAHqB;IAGf;IACdC,WAAW,EAAEC,MAAM,CAACC,QAAP,GAAkB,IAAlB,GAAyB,KAJT;IAIgB;IAC7CC,SAAS,EAAE,KALkB;IAKX;IAClBC,OAAO,EAAET,KAAK,CAACS,OAAN,IAAiB,KANG;IAO7BC,OAAO,EAAEV,KAAK,CAACU,OAAN,IAAiB,MAPG;IAQ7BC,MAAM,EACFX,KAAK,CAACW,MAAN,IACA,qGAVyB;IAW7BC,aAAa,EAAE,KAXc;IAWP;IACtBC,UAAU,EAAE,EAZiB;IAYb;IAChBC,UAAU,EAAEd,KAAK,CAACc,UAAN,IAAoB,GAbH;IAc7BC,OAAO,EAAEf,KAAK,CAACe,OAAN,IAAiB,CACtB;MACIC,KAAK,EAAE,IADX;MAEIC,SAAS,EAAE,SAFf;MAGIC,GAAG,EAAE;IAHT,CADsB,EAMtB;MACIF,KAAK,EAAE,MADX;MAEIC,SAAS,EAAE,UAFf;MAGIC,GAAG,EAAE;IAHT,CANsB;EAdG,CAAP,CAA1B;EAAA;EAAA,IAAOC,KAAP;EAAA,IAAcC,QAAd,eADsB,CA4BtB;;;EACA,IAAMC,UAAU,GAAG,SAAbA,UAAa,GAAM;IACrB,IAAMC,OAAO,GAAGtB,KAAK,CAACuB,SAAtB;IACA,IAAMC,QAAQ,GAAGxB,KAAK,CAACwB,QAAN,IAAkB,EAAnC;IACA,IAAMC,SAAS,GAAG,EAAlB;;IACA,KAAK,IAAMC,CAAX,IAAgBF,QAAhB,EAA0B;MACtB,IAAIA,QAAQ,CAACE,CAAD,CAAR,KAAgBC,SAAhB,IAA6BH,QAAQ,CAACE,CAAD,CAAR,KAAgB,IAA7C,IAAqDF,QAAQ,CAACE,CAAD,CAAR,KAAgB,EAAzE,EAA6E;QACzED,SAAS,CAACG,IAAV,WAAkBF,CAAlB,cAAuBG,kBAAkB,CAACL,QAAQ,CAACE,CAAD,CAAT,CAAzC;MACH;IACJ;;IACD,OAAOD,SAAS,CAACK,MAAV,GAAmB,CAAnB,aAA0BR,OAA1B,cAAqCG,SAAS,CAACM,IAAV,CAAe,GAAf,CAArC,IAA6DT,OAApE;EACH,CAVD;;EAWA,IAAMU,UAAU,GAAG,SAAbA,UAAa,GAAM;IACrBb,KAAK,CAAChB,SAAN,CAAgB8B,KAAhB,GAAwB,EAAxB;;IACA,IAAI,OAAOjC,KAAK,CAACkC,KAAb,KAAuB,UAA3B,EAAuC;MACnClC,KAAK,CAACkC,KAAN;IACH,CAFD,MAEO;MACHd,QAAQ,CAAC;QACLX,OAAO,EAAE,CAACU,KAAK,CAACV;MADX,CAAD,CAAR;IAGH;EACJ,CATD,CAxCsB,CAkDtB;;;EACA,IAAM0B,aAAa,GAAG,SAAhBA,aAAgB,CAAAC,IAAI,EAAI;IAC1BjB,KAAK,CAAChB,SAAN,CAAgB8B,KAAhB,GAAwB,EAAxB;IACAb,QAAQ,CAAC;MACLZ,SAAS,EAAE;IADN,CAAD,CAAR;;IAGA,IAAI,OAAOR,KAAK,CAACqC,WAAb,KAA6B,UAAjC,EAA6C;MACzCA,WAAW,CAACD,IAAD,CAAX;IACH;;IACD,IAAME,SAAS,GAAGC,IAAI,CAACC,KAAL,CAAWJ,IAAX,CAAlB;;IACA,IAAIK,KAAK,CAACC,OAAN,CAAcJ,SAAd,aAAcA,SAAd,uBAAcA,SAAS,CAAEF,IAAzB,CAAJ,EAAoC;MAChChB,QAAQ,CAAC;QACLR,aAAa,EAAE,IADV;QAELC,UAAU,EAAEyB,SAAS,CAACF,IAAV,CACPO,GADO,CACH,UAACC,IAAD,EAAOC,KAAP;UAAA,uCACED,IADF;YAED1B,GAAG,EAAE2B,KAFJ;YAGDC,QAAQ,EAAEF,IAAI,CAACE,QAAL,CAAcf,IAAd,CAAmB,GAAnB;UAHT;QAAA,CADG,EAMPgB,MANO,CAMA,UAAAH,IAAI;UAAA,OAAIA,IAAI,CAACE,QAAL,CAAchB,MAAd,KAAyB,CAA7B;QAAA,CANJ;MAFP,CAAD,CAAR;IAUH,CAXD,MAWO;MACH;MACA,IAAIQ,SAAS,CAACU,MAAV,KAAqB,CAAzB,EAA4B;QACxBC,mBAAA,CAAQC,KAAR,CAAc,CAAAZ,SAAS,SAAT,IAAAA,SAAS,WAAT,YAAAA,SAAS,CAAEa,GAAX,KAAkB,OAAhC;MACH;IACJ;EACJ,CA1BD;;EA2BA,IAAQC,WAAR,GAAgDpD,KAAhD,CAAQoD,WAAR;EAAA,IAAqB7B,SAArB,GAAgDvB,KAAhD,CAAqBuB,SAArB;EAAA,IAAgCc,WAAhC,GAAgDrC,KAAhD,CAAgCqC,WAAhC;EACA,IAAMgB,UAAU,GAAG;IACfC,SAAS,EAAE,kBADI;IAEf7C,OAAO,EAAEU,KAAK,CAACV,OAFA;IAGfO,KAAK,EAAE,IAHQ;IAIfuC,QAAQ,EAAE;MAAA,OAAMvB,UAAU,EAAhB;IAAA,CAJK;IAKfwB,YAAY,EAAE,KALC;IAMfC,MAAM,EAAE,CACJL,WAAW,gBACP,gCAAC,kBAAD;MACI,GAAG,EAAC,gBADR;MAEI,OAAO,EAAE,mBAAM;QACX9C,MAAM,CAACoD,IAAP,CAAYN,WAAZ;MACH;IAJL,8BADO,GASP,IAVA,eAWJ,gCAAC,kBAAD;MACI,GAAG,EAAC,cADR;MAEI,IAAI,EAAC,SAFT;MAGI,OAAO,EAAEjC,KAAK,CAACX,SAHnB;MAII,OAAO,EAAE,mBAAM;QACX,IAAMc,OAAO,GAAGD,UAAU,EAA1B;;QACA,IAAIF,KAAK,CAAChB,SAAN,CAAgB8B,KAApB,EAA2B;UACvBb,QAAQ,CAAC;YACLZ,SAAS,EAAE;UADN,CAAD,CAAR;;UAGA,IAAIW,KAAK,CAACd,WAAV,EAAuB;YACnB,IAAMsD,OAAO,GAAG,IAAIC,cAAJ,EAAhB;YACAD,OAAO,CAACD,IAAR,CAAa,MAAb,EAAqBpC,OAArB;YACAqC,OAAO,CAACE,gBAAR,CAAyB,eAAzB,EAA0C/D,KAAK,kBAAWA,KAAX,IAAqB,EAApE;YACA6D,OAAO,CAACE,gBAAR,CAAyB,cAAzB,EAAyC/D,KAAK,aAAMA,KAAN,IAAgB,EAA9D;;YACA6D,OAAO,CAACG,kBAAR,GAA6B,UAAAC,CAAC,EAAI;cAC9B,IAAIA,CAAC,CAACC,MAAF,CAASC,UAAT,IAAuB,CAA3B,EAA8B;gBAC1B9B,aAAa,CAAC4B,CAAC,CAACC,MAAF,CAASE,QAAV,CAAb;cACH;YACJ,CAJD;;YAKA,IAAMC,GAAG,GAAG,IAAI5D,QAAJ,EAAZ;YACA4D,GAAG,CAACC,MAAJ,CAAWjD,KAAK,CAACT,OAAjB,EAA0BS,KAAK,CAAChB,SAAN,CAAgBkE,KAAhB,CAAsB,CAAtB,CAA1B;YACAV,OAAO,CAACW,IAAR,CAAaH,GAAb;UACH;QACJ,CAlBD,MAkBO;UACHlB,mBAAA,CAAQsB,IAAR,CAAa,YAAb;QACH;MACJ;IA3BL,kBAXI,eA0CJ,gCAAC,kBAAD;MACI,GAAG,EAAC,aADR;MAEI,OAAO,EAAE,mBAAM;QACXvC,UAAU;MACb;IAJL,kBA1CI;EANO,CAAnB;EA0DA,IAAMwC,WAAW,GAAG;IAChB/D,OAAO,EAAEU,KAAK,CAACP,aADC;IAEhB6D,UAAU,EAAEtD,KAAK,CAACN,UAFF;IAGhBE,OAAO,EAAEI,KAAK,CAACJ,OAHC;IAIhB2D,WAAW,EAAE,uBAAM;MACftD,QAAQ,CAAC;QACLR,aAAa,EAAE;MADV,CAAD,CAAR;IAGH,CARe;IAShBE,UAAU,EAAEK,KAAK,CAACL;EATF,CAApB;EAWA,oBACI,gCAAC,iBAAD,EAAWuC,UAAX,EACKrD,KAAK,CAAC2E,QADX,eAEI;IACI,OAAO,EAAC,qBADZ;IAEI,MAAM,EAAC,MAFX;IAGI,MAAM,EAAC,KAHX;IAII,MAAM,EAAEpD,SAJZ;IAKI,GAAG,EAAE,aAAAqD,GAAG,EAAI;MACR,IAAIA,GAAJ,EAASzD,KAAK,CAACjB,QAAN,GAAiB0E,GAAjB;IACZ;EAPL,gBASI;IACI,IAAI,EAAC,MADT;IAEI,IAAI,EAAEzD,KAAK,CAACT,OAFhB;IAGI,MAAM,EAAES,KAAK,CAACR,MAHlB;IAII,GAAG,EAAE,aAAAiE,GAAG,EAAI;MACR,IAAIA,GAAJ,EAASzD,KAAK,CAAChB,SAAN,GAAkByE,GAAlB;IACZ;EANL,EATJ,CAFJ,eAoBI;IACI,IAAI,EAAC,KADT;IAEI,KAAK,EAAE;MAAEC,OAAO,EAAE;IAAX,CAFX;IAGI,GAAG,EAAE,aAAAD,GAAG,EAAI;MACR,IAAIA,GAAJ,EAASzD,KAAK,CAACf,MAAN,GAAewE,GAAf;IACZ;EALL,EApBJ,EA2BKzD,KAAK,CAACP,aAAN,iBAAuB,gCAAC,kBAAD,EAAqB4D,WAArB,CA3B5B,CADJ;AA+BH;;AACDzE,SAAS,CAAC+E,SAAV,GAAsB;EAClBrE,OAAO,EAAEsE,qBAAA,CAAUC,IADD;EAElB5B,WAAW,EAAE2B,qBAAA,CAAUE,MAFL;EAGlB1D,SAAS,EAAEwD,qBAAA,CAAUE,MAHH;EAIlBzD,QAAQ,EAAEuD,qBAAA,CAAUG,MAJF;EAKlBxE,OAAO,EAAEqE,qBAAA,CAAUE,MALD;EAMlBtE,MAAM,EAAEoE,qBAAA,CAAUE,MANA;EAOlB/C,KAAK,EAAE6C,qBAAA,CAAUI,IAPC;EAQlB9C,WAAW,EAAE0C,qBAAA,CAAUI,IARL;EASlBrE,UAAU,EAAEiE,qBAAA,CAAUK,MATJ;EAUlBrE,OAAO,EAAEgE,qBAAA,CAAUM,KAVD;EAWlBV,QAAQ,EAAEI,qBAAA,CAAUG;AAXF,CAAtB;eAaenF,S"}
1
+ {"version":3,"file":"index.js","names":["getUrlParam","token","VtxImport","props","useSet","fileForm","fileInput","iframe","useFormData","window","FormData","uploading","visible","fileKey","accept","resultVisible","resultData","modalWidth","columns","title","dataIndex","key","state","setState","getPostURL","postUrl","uploadURL","postData","postArray","k","undefined","push","encodeURIComponent","length","join","closeModal","value","close","uploadSuccess","data","afterUpload","parseData","JSON","parse","Array","isArray","map","item","index","messages","filter","result","message","error","msg","templateURL","modalProps","className","onCancel","maskClosable","footer","open","request","XMLHttpRequest","setRequestHeader","onreadystatechange","e","target","readyState","response","fmd","append","files","send","info","resultProps","dataSource","hideVisible","children","dom","display","propTypes","PropTypes","bool","string","object","func","number","array"],"sources":["vtx-import/index.jsx"],"sourcesContent":["import React from 'react';\r\nimport Modal from 'antd/lib/modal';\r\nimport Button from 'antd/lib/button';\r\nimport message from 'antd/lib/message';\r\nimport PropTypes from 'prop-types';\r\nimport useSet from '../_util/useSet';\r\nimport VtxImportResult from './result';\r\nimport getUrlParam from '@vtx/utils/lib/getUrlParam';\r\nconst { token } = getUrlParam();\r\nfunction VtxImport(props) {\r\n const [state, setState] = useSet({\r\n fileForm: null, // form表单\r\n fileInput: null, // 保存上传的文件\r\n iframe: null, // form表单提交之后跳转的\r\n useFormData: window.FormData ? true : false, // 是否查看\r\n uploading: false, // 表单提交的状态\r\n visible: props.visible || false,\r\n fileKey: props.fileKey || 'file',\r\n accept:\r\n props.accept ||\r\n 'application/vnd.ms-excel,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet,text/csv',\r\n resultVisible: false, // 导入结果查看弹窗\r\n resultData: [], // 导入结果查看\r\n modalWidth: props.modalWidth || 800,\r\n columns: props.columns || [\r\n {\r\n title: '行号',\r\n dataIndex: 'lineNum',\r\n key: 'lineNum',\r\n },\r\n {\r\n title: '错误说明',\r\n dataIndex: 'messages',\r\n key: 'messages',\r\n },\r\n ],\r\n });\r\n // 获取上传地址(拼接参数)\r\n const getPostURL = () => {\r\n const postUrl = props.uploadURL;\r\n const postData = props.postData || {};\r\n const postArray = [];\r\n for (const k in postData) {\r\n if (postData[k] !== undefined && postData[k] !== null && postData[k] !== '') {\r\n postArray.push(`${k}=${encodeURIComponent(postData[k])}`);\r\n }\r\n }\r\n return postArray.length > 0 ? `${postUrl}?${postArray.join('&')}` : postUrl;\r\n };\r\n const closeModal = () => {\r\n state.fileInput.value = '';\r\n if (typeof props.close === 'function') {\r\n props.close();\r\n } else {\r\n setState({\r\n visible: !state.visible,\r\n });\r\n }\r\n };\r\n // 上传之后的回调 - 展示报错信息\r\n const uploadSuccess = data => {\r\n state.fileInput.value = '';\r\n setState({\r\n uploading: false,\r\n });\r\n if (typeof props.afterUpload === 'function') {\r\n afterUpload(data);\r\n }\r\n const parseData = JSON.parse(data);\r\n if (Array.isArray(parseData?.data)) {\r\n setState({\r\n resultVisible: true,\r\n resultData: parseData.data\r\n .map((item, index) => ({\r\n ...item,\r\n key: index,\r\n messages: item.messages.join(','),\r\n }))\r\n .filter(item => item.messages.length !== 0),\r\n });\r\n } else {\r\n // 新增其他错误提示\r\n if (parseData.result !== 0) {\r\n message.error(parseData?.msg || '服务器异常');\r\n }\r\n }\r\n };\r\n const { templateURL, uploadURL, afterUpload } = props;\r\n const modalProps = {\r\n className: 'vtx-import-modal',\r\n visible: state.visible,\r\n title: '导入',\r\n onCancel: () => closeModal(),\r\n maskClosable: false,\r\n footer: [\r\n templateURL ? (\r\n <Button\r\n key=\"downloadTemple\"\r\n onClick={() => {\r\n window.open(templateURL);\r\n }}\r\n >\r\n 下载模板\r\n </Button>\r\n ) : null,\r\n <Button\r\n key=\"uploadSubmit\"\r\n type=\"primary\"\r\n loading={state.uploading}\r\n onClick={() => {\r\n const postUrl = getPostURL();\r\n if (state.fileInput.value) {\r\n setState({\r\n uploading: true,\r\n });\r\n if (state.useFormData) {\r\n const request = new XMLHttpRequest();\r\n request.open('POST', postUrl);\r\n request.setRequestHeader('Authorization', token ? `Bearer ${token}` : '');\r\n request.setRequestHeader('access_token', token ? `${token}` : '');\r\n request.onreadystatechange = e => {\r\n if (e.target.readyState == 4) {\r\n uploadSuccess(e.target.response);\r\n }\r\n };\r\n const fmd = new FormData();\r\n fmd.append(state.fileKey, state.fileInput.files[0]);\r\n request.send(fmd);\r\n }\r\n } else {\r\n message.info('请选择需要上传的文件');\r\n }\r\n }}\r\n >\r\n 上传\r\n </Button>,\r\n <Button\r\n key=\"closeWindow\"\r\n onClick={() => {\r\n closeModal();\r\n }}\r\n >\r\n 关闭\r\n </Button>,\r\n ],\r\n };\r\n const resultProps = {\r\n visible: state.resultVisible,\r\n dataSource: state.resultData,\r\n columns: state.columns,\r\n hideVisible: () => {\r\n setState({\r\n resultVisible: false,\r\n });\r\n },\r\n modalWidth: state.modalWidth,\r\n };\r\n return (\r\n <Modal {...modalProps}>\r\n {props.children}\r\n <form\r\n encType=\"multipart/form-data\"\r\n method=\"post\"\r\n target=\"tmp\"\r\n action={uploadURL}\r\n ref={dom => {\r\n if (dom) state.fileForm = dom;\r\n }}\r\n >\r\n <input\r\n type=\"file\"\r\n name={state.fileKey}\r\n accept={state.accept}\r\n ref={dom => {\r\n if (dom) state.fileInput = dom;\r\n }}\r\n />\r\n </form>\r\n <iframe\r\n name=\"tmp\"\r\n style={{ display: 'none' }}\r\n ref={dom => {\r\n if (dom) state.iframe = dom;\r\n }}\r\n ></iframe>\r\n {state.resultVisible && <VtxImportResult {...resultProps} />}\r\n </Modal>\r\n );\r\n}\r\nVtxImport.propTypes = {\r\n visible: PropTypes.bool,\r\n templateURL: PropTypes.string,\r\n uploadURL: PropTypes.string,\r\n postData: PropTypes.object,\r\n fileKey: PropTypes.string,\r\n accept: PropTypes.string,\r\n close: PropTypes.func,\r\n afterUpload: PropTypes.func,\r\n modalWidth: PropTypes.number,\r\n columns: PropTypes.array,\r\n children: PropTypes.object,\r\n};\r\nexport default VtxImport;\r\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"result.js","names":["VtxImportResult","props","useSet","visible","dataSource","columns","modalWidth","state","modalProps","bodyStyle","backgroundColor","title","onCancel","hideVisible","width","maskClosable","footer","newTableProps","startIndex","size","headFootHeight","pagination","autoFit","maxHeight","overflow","propTypes","PropTypes","bool","array","number","func"],"sources":["vtx-import/result.jsx"],"sourcesContent":["import React from 'react';\nimport Modal from 'antd/lib/modal';\nimport Button from 'antd/lib/button';\nimport PropTypes from 'prop-types';\nimport useSet from '../_util/useSet';\nimport VtxDatagrid from '../vtx-datagrid';\n\nfunction VtxImportResult(props) {\n const [state] = useSet({\n visible: props.visible || false,\n dataSource: props.dataSource || [],\n columns: props.columns,\n modalWidth: props.modalWidth,\n });\n const modalProps = {\n bodyStyle: {\n backgroundColor: '#f8f8f8',\n },\n visible: state.visible,\n title: '导入结果',\n onCancel: () => {\n if (typeof props.hideVisible === 'function') {\n props.hideVisible();\n }\n },\n width: state.modalWidth,\n maskClosable: false,\n footer: [\n <Button\n key=\"closeWindow\"\n onClick={() => {\n if (typeof props.hideVisible === 'function') {\n props.hideVisible();\n }\n }}\n >\n 关闭\n </Button>,\n ],\n };\n const newTableProps = {\n columns: state.columns,\n dataSource: state.dataSource,\n startIndex: 1,\n size: 'small',\n headFootHeight: 50,\n pagination: false,\n autoFit: false,\n };\n return (\n <Modal {...modalProps}>\n <div style={{ maxHeight: 600, width: '100%', overflow: 'auto' }}>\n <VtxDatagrid toolbar={false} {...newTableProps} />\n </div>\n </Modal>\n );\n}\nVtxImportResult.propTypes = {\n visible: PropTypes.bool,\n dataSource: PropTypes.array,\n columns: PropTypes.array,\n modalWidth: PropTypes.number,\n hideVisible: PropTypes.func,\n};\nexport default VtxImportResult;\n"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;;;;;;;;;AAEA,SAASA,eAAT,CAAyBC,KAAzB,EAAgC;EAC5B,cAAgB,IAAAC,mBAAA,EAAO;IACnBC,OAAO,EAAEF,KAAK,CAACE,OAAN,IAAiB,KADP;IAEnBC,UAAU,EAAEH,KAAK,CAACG,UAAN,IAAoB,EAFb;IAGnBC,OAAO,EAAEJ,KAAK,CAACI,OAHI;IAInBC,UAAU,EAAEL,KAAK,CAACK;EAJC,CAAP,CAAhB;EAAA;EAAA,IAAOC,KAAP;;EAMA,IAAMC,UAAU,GAAG;IACfC,SAAS,EAAE;MACPC,eAAe,EAAE;IADV,CADI;IAIfP,OAAO,EAAEI,KAAK,CAACJ,OAJA;IAKfQ,KAAK,EAAE,MALQ;IAMfC,QAAQ,EAAE,oBAAM;MACZ,IAAI,OAAOX,KAAK,CAACY,WAAb,KAA6B,UAAjC,EAA6C;QACzCZ,KAAK,CAACY,WAAN;MACH;IACJ,CAVc;IAWfC,KAAK,EAAEP,KAAK,CAACD,UAXE;IAYfS,YAAY,EAAE,KAZC;IAafC,MAAM,EAAE,cACJ,gCAAC,kBAAD;MACI,GAAG,EAAC,aADR;MAEI,OAAO,EAAE,mBAAM;QACX,IAAI,OAAOf,KAAK,CAACY,WAAb,KAA6B,UAAjC,EAA6C;UACzCZ,KAAK,CAACY,WAAN;QACH;MACJ;IANL,kBADI;EAbO,CAAnB;EA0BA,IAAMI,aAAa,GAAG;IAClBZ,OAAO,EAAEE,KAAK,CAACF,OADG;IAElBD,UAAU,EAAEG,KAAK,CAACH,UAFA;IAGlBc,UAAU,EAAE,CAHM;IAIlBC,IAAI,EAAE,OAJY;IAKlBC,cAAc,EAAE,EALE;IAMlBC,UAAU,EAAE,KANM;IAOlBC,OAAO,EAAE;EAPS,CAAtB;EASA,oBACI,gCAAC,iBAAD,EAAWd,UAAX,eACI;IAAK,KAAK,EAAE;MAAEe,SAAS,EAAE,GAAb;MAAkBT,KAAK,EAAE,MAAzB;MAAiCU,QAAQ,EAAE;IAA3C;EAAZ,gBACI,gCAAC,uBAAD;IAAa,OAAO,EAAE;EAAtB,GAAiCP,aAAjC,EADJ,CADJ,CADJ;AAOH;;AACDjB,eAAe,CAACyB,SAAhB,GAA4B;EACxBtB,OAAO,EAAEuB,qBAAA,CAAUC,IADK;EAExBvB,UAAU,EAAEsB,qBAAA,CAAUE,KAFE;EAGxBvB,OAAO,EAAEqB,qBAAA,CAAUE,KAHK;EAIxBtB,UAAU,EAAEoB,qBAAA,CAAUG,MAJE;EAKxBhB,WAAW,EAAEa,qBAAA,CAAUI;AALC,CAA5B;eAOe9B,e"}
1
+ {"version":3,"file":"result.js","names":["VtxImportResult","props","useSet","visible","dataSource","columns","modalWidth","state","modalProps","bodyStyle","backgroundColor","title","onCancel","hideVisible","width","maskClosable","footer","newTableProps","startIndex","size","headFootHeight","pagination","autoFit","maxHeight","overflow","propTypes","PropTypes","bool","array","number","func"],"sources":["vtx-import/result.jsx"],"sourcesContent":["import React from 'react';\r\nimport Modal from 'antd/lib/modal';\r\nimport Button from 'antd/lib/button';\r\nimport PropTypes from 'prop-types';\r\nimport useSet from '../_util/useSet';\r\nimport VtxDatagrid from '../vtx-datagrid';\r\n\r\nfunction VtxImportResult(props) {\r\n const [state] = useSet({\r\n visible: props.visible || false,\r\n dataSource: props.dataSource || [],\r\n columns: props.columns,\r\n modalWidth: props.modalWidth,\r\n });\r\n const modalProps = {\r\n bodyStyle: {\r\n backgroundColor: '#f8f8f8',\r\n },\r\n visible: state.visible,\r\n title: '导入结果',\r\n onCancel: () => {\r\n if (typeof props.hideVisible === 'function') {\r\n props.hideVisible();\r\n }\r\n },\r\n width: state.modalWidth,\r\n maskClosable: false,\r\n footer: [\r\n <Button\r\n key=\"closeWindow\"\r\n onClick={() => {\r\n if (typeof props.hideVisible === 'function') {\r\n props.hideVisible();\r\n }\r\n }}\r\n >\r\n 关闭\r\n </Button>,\r\n ],\r\n };\r\n const newTableProps = {\r\n columns: state.columns,\r\n dataSource: state.dataSource,\r\n startIndex: 1,\r\n size: 'small',\r\n headFootHeight: 50,\r\n pagination: false,\r\n autoFit: false,\r\n };\r\n return (\r\n <Modal {...modalProps}>\r\n <div style={{ maxHeight: 600, width: '100%', overflow: 'auto' }}>\r\n <VtxDatagrid toolbar={false} {...newTableProps} />\r\n </div>\r\n </Modal>\r\n );\r\n}\r\nVtxImportResult.propTypes = {\r\n visible: PropTypes.bool,\r\n dataSource: PropTypes.array,\r\n columns: PropTypes.array,\r\n modalWidth: PropTypes.number,\r\n hideVisible: PropTypes.func,\r\n};\r\nexport default VtxImportResult;\r\n"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;;;;;;;;;AAEA,SAASA,eAAT,CAAyBC,KAAzB,EAAgC;EAC5B,cAAgB,IAAAC,mBAAA,EAAO;IACnBC,OAAO,EAAEF,KAAK,CAACE,OAAN,IAAiB,KADP;IAEnBC,UAAU,EAAEH,KAAK,CAACG,UAAN,IAAoB,EAFb;IAGnBC,OAAO,EAAEJ,KAAK,CAACI,OAHI;IAInBC,UAAU,EAAEL,KAAK,CAACK;EAJC,CAAP,CAAhB;EAAA;EAAA,IAAOC,KAAP;;EAMA,IAAMC,UAAU,GAAG;IACfC,SAAS,EAAE;MACPC,eAAe,EAAE;IADV,CADI;IAIfP,OAAO,EAAEI,KAAK,CAACJ,OAJA;IAKfQ,KAAK,EAAE,MALQ;IAMfC,QAAQ,EAAE,oBAAM;MACZ,IAAI,OAAOX,KAAK,CAACY,WAAb,KAA6B,UAAjC,EAA6C;QACzCZ,KAAK,CAACY,WAAN;MACH;IACJ,CAVc;IAWfC,KAAK,EAAEP,KAAK,CAACD,UAXE;IAYfS,YAAY,EAAE,KAZC;IAafC,MAAM,EAAE,cACJ,gCAAC,kBAAD;MACI,GAAG,EAAC,aADR;MAEI,OAAO,EAAE,mBAAM;QACX,IAAI,OAAOf,KAAK,CAACY,WAAb,KAA6B,UAAjC,EAA6C;UACzCZ,KAAK,CAACY,WAAN;QACH;MACJ;IANL,kBADI;EAbO,CAAnB;EA0BA,IAAMI,aAAa,GAAG;IAClBZ,OAAO,EAAEE,KAAK,CAACF,OADG;IAElBD,UAAU,EAAEG,KAAK,CAACH,UAFA;IAGlBc,UAAU,EAAE,CAHM;IAIlBC,IAAI,EAAE,OAJY;IAKlBC,cAAc,EAAE,EALE;IAMlBC,UAAU,EAAE,KANM;IAOlBC,OAAO,EAAE;EAPS,CAAtB;EASA,oBACI,gCAAC,iBAAD,EAAWd,UAAX,eACI;IAAK,KAAK,EAAE;MAAEe,SAAS,EAAE,GAAb;MAAkBT,KAAK,EAAE,MAAzB;MAAiCU,QAAQ,EAAE;IAA3C;EAAZ,gBACI,gCAAC,uBAAD;IAAa,OAAO,EAAE;EAAtB,GAAiCP,aAAjC,EADJ,CADJ,CADJ;AAOH;;AACDjB,eAAe,CAACyB,SAAhB,GAA4B;EACxBtB,OAAO,EAAEuB,qBAAA,CAAUC,IADK;EAExBvB,UAAU,EAAEsB,qBAAA,CAAUE,KAFE;EAGxBvB,OAAO,EAAEqB,qBAAA,CAAUE,KAHK;EAIxBtB,UAAU,EAAEoB,qBAAA,CAAUG,MAJE;EAKxBhB,WAAW,EAAEa,qBAAA,CAAUI;AALC,CAA5B;eAOe9B,e"}
@@ -1 +1 @@
1
- {"version":3,"file":"css.js","names":[],"sources":["vtx-import/style/index.js"],"sourcesContent":["import 'antd/lib/modal/style';\nimport 'antd/lib/button/style';\nimport 'antd/lib/message/style';\nimport './index.less';\n"],"mappings":";;AAAA;;AACA;;AACA;;AACA"}
1
+ {"version":3,"file":"css.js","names":[],"sources":["vtx-import/style/index.js"],"sourcesContent":["import 'antd/lib/modal/style';\r\nimport 'antd/lib/button/style';\r\nimport 'antd/lib/message/style';\r\nimport './index.less';\r\n"],"mappings":";;AAAA;;AACA;;AACA;;AACA"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["vtx-import/style/index.js"],"sourcesContent":["import 'antd/lib/modal/style';\nimport 'antd/lib/button/style';\nimport 'antd/lib/message/style';\nimport './index.less';\n"],"mappings":";;AAAA;;AACA;;AACA;;AACA"}
1
+ {"version":3,"file":"index.js","names":[],"sources":["vtx-import/style/index.js"],"sourcesContent":["import 'antd/lib/modal/style';\r\nimport 'antd/lib/button/style';\r\nimport 'antd/lib/message/style';\r\nimport './index.less';\r\n"],"mappings":";;AAAA;;AACA;;AACA;;AACA"}
@@ -1,8 +1,8 @@
1
- @import (reference) '~antd/lib/style/themes/index.less';
2
- @prefix-cls: vtx-datagrid;
3
-
4
- .@{prefix-cls} when(@theme=default) {
5
- &-modal {
6
- background-color: '#f8f8f8';
7
- }
8
- }
1
+ @import (reference) '~antd/lib/style/themes/index.less';
2
+ @prefix-cls: vtx-datagrid;
3
+
4
+ .@{prefix-cls} when(@theme=default) {
5
+ &-modal {
6
+ background-color: '#f8f8f8';
7
+ }
8
+ }