@zat-design/sisyphus-react 3.8.2 → 3.8.3-beta.1
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/coverage/lcov-report/src/.umi/core/devScripts.ts.html +241 -0
- package/coverage/lcov-report/src/.umi/core/history.ts.html +148 -0
- package/coverage/lcov-report/src/.umi/core/index.html +206 -0
- package/coverage/lcov-report/src/.umi/core/plugin.ts.html +109 -0
- package/coverage/lcov-report/src/.umi/core/pluginRegister.ts.html +160 -0
- package/coverage/lcov-report/src/.umi/core/polyfill.ts.html +97 -0
- package/coverage/lcov-report/src/.umi/core/routes.ts.html +26050 -0
- package/coverage/lcov-report/src/.umi/core/umiExports.ts.html +112 -0
- package/coverage/lcov-report/src/.umi/dumi/demos/index.html +116 -0
- package/coverage/lcov-report/src/.umi/dumi/demos/index.ts.html +6340 -0
- package/coverage/lcov-report/src/.umi/dumi/index.html +116 -0
- package/coverage/lcov-report/src/.umi/dumi/layout.tsx.html +109 -0
- package/coverage/lcov-report/src/.umi/index.html +116 -0
- package/coverage/lcov-report/src/.umi/plugin-antd/index.html +116 -0
- package/coverage/lcov-report/src/.umi/plugin-antd/runtime.tsx.html +172 -0
- package/coverage/lcov-report/src/.umi/plugin-helmet/exports.ts.html +94 -0
- package/coverage/lcov-report/src/.umi/plugin-helmet/index.html +116 -0
- package/coverage/lcov-report/src/.umi/plugin-initial-state/Provider.tsx.html +196 -0
- package/coverage/lcov-report/src/.umi/plugin-initial-state/exports.ts.html +106 -0
- package/coverage/lcov-report/src/.umi/plugin-initial-state/index.html +146 -0
- package/coverage/lcov-report/src/.umi/plugin-initial-state/models/index.html +116 -0
- package/coverage/lcov-report/src/.umi/plugin-initial-state/models/initialState.ts.html +88 -0
- package/coverage/lcov-report/src/.umi/plugin-initial-state/runtime.tsx.html +124 -0
- package/coverage/lcov-report/src/.umi/plugin-locale/SelectLang.tsx.html +1246 -0
- package/coverage/lcov-report/src/.umi/plugin-locale/index.html +161 -0
- package/coverage/lcov-report/src/.umi/plugin-locale/locale.tsx.html +268 -0
- package/coverage/lcov-report/src/.umi/plugin-locale/localeExports.ts.html +778 -0
- package/coverage/lcov-report/src/.umi/plugin-locale/runtime.tsx.html +115 -0
- package/coverage/lcov-report/src/.umi/plugin-model/Provider.tsx.html +202 -0
- package/coverage/lcov-report/src/.umi/plugin-model/helpers/constant.tsx.html +97 -0
- package/coverage/lcov-report/src/.umi/plugin-model/helpers/dispatcher.tsx.html +142 -0
- package/coverage/lcov-report/src/.umi/plugin-model/helpers/executor.tsx.html +334 -0
- package/coverage/lcov-report/src/.umi/plugin-model/helpers/index.html +146 -0
- package/coverage/lcov-report/src/.umi/plugin-model/index.html +146 -0
- package/coverage/lcov-report/src/.umi/plugin-model/runtime.tsx.html +121 -0
- package/coverage/lcov-report/src/.umi/plugin-model/useModel.tsx.html +298 -0
- package/coverage/lcov-report/src/.umi/plugin-request/index.html +116 -0
- package/coverage/lcov-report/src/.umi/plugin-request/request.ts.html +919 -0
- package/coverage/lcov-report/src/.umi/umi.ts.html +268 -0
- package/dist/index.esm.css +16 -8
- package/dist/less.esm.css +16 -8
- package/es/ProEditTable/components/RenderField/ListChangedWrapper.js +7 -6
- package/es/ProEditTable/components/RenderField/index.js +1 -0
- package/es/ProEnum/hooks/useEnumRequest.js +1 -1
- package/es/ProEnum/index.js +2 -2
- package/es/ProForm/components/base/InputNumber/index.js +1 -1
- package/es/ProForm/components/combination/Group/component/ComRender.d.ts +1 -0
- package/es/ProForm/components/combination/Group/component/ComRender.js +4 -2
- package/es/ProForm/components/combination/Group/index.js +6 -3
- package/es/ProForm/components/render/ChangedWrapper.js +8 -2
- package/es/ProForm/components/render/Render.js +3 -2
- package/es/ProForm/components/render/propsType.d.ts +4 -0
- package/es/ProForm/style/index.less +15 -2
- package/es/ProForm/utils/useShouldUpdate.js +21 -6
- package/es/ProTable/components/FormatColumn/index.d.ts +3 -1
- package/es/ProTable/components/FormatColumn/index.js +134 -24
- package/es/ProTable/components/RenderColumn/index.d.ts +1 -0
- package/es/ProTable/components/RenderColumn/index.js +22 -7
- package/es/ProTable/index.js +20 -5
- package/es/ProTable/style/index.less +8 -6
- package/lib/ProEditTable/components/RenderField/ListChangedWrapper.js +10 -9
- package/lib/ProEditTable/components/RenderField/index.js +1 -0
- package/lib/ProEnum/hooks/useEnumRequest.js +1 -1
- package/lib/ProEnum/index.js +2 -2
- package/lib/ProForm/components/base/InputNumber/index.js +1 -1
- package/lib/ProForm/components/combination/Group/component/ComRender.d.ts +1 -0
- package/lib/ProForm/components/combination/Group/component/ComRender.js +4 -2
- package/lib/ProForm/components/combination/Group/index.js +6 -3
- package/lib/ProForm/components/render/ChangedWrapper.js +8 -2
- package/lib/ProForm/components/render/Render.js +3 -2
- package/lib/ProForm/components/render/propsType.d.ts +4 -0
- package/lib/ProForm/style/index.less +15 -2
- package/lib/ProForm/utils/useShouldUpdate.js +19 -4
- package/lib/ProTable/components/FormatColumn/index.d.ts +3 -1
- package/lib/ProTable/components/FormatColumn/index.js +133 -23
- package/lib/ProTable/components/RenderColumn/index.d.ts +1 -0
- package/lib/ProTable/components/RenderColumn/index.js +22 -7
- package/lib/ProTable/index.js +20 -5
- package/lib/ProTable/style/index.less +8 -6
- package/package.json +4 -3
- package/.vscode/extensions.json +0 -5
|
@@ -0,0 +1,268 @@
|
|
|
1
|
+
|
|
2
|
+
<!doctype html>
|
|
3
|
+
<html lang="en">
|
|
4
|
+
|
|
5
|
+
<head>
|
|
6
|
+
<title>Code coverage report for src/.umi/umi.ts</title>
|
|
7
|
+
<meta charset="utf-8" />
|
|
8
|
+
<link rel="stylesheet" href="../../prettify.css" />
|
|
9
|
+
<link rel="stylesheet" href="../../base.css" />
|
|
10
|
+
<link rel="shortcut icon" type="image/x-icon" href="../../favicon.png" />
|
|
11
|
+
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
12
|
+
<style type='text/css'>
|
|
13
|
+
.coverage-summary .sorter {
|
|
14
|
+
background-image: url(../../sort-arrow-sprite.png);
|
|
15
|
+
}
|
|
16
|
+
</style>
|
|
17
|
+
</head>
|
|
18
|
+
|
|
19
|
+
<body>
|
|
20
|
+
<div class='wrapper'>
|
|
21
|
+
<div class='pad1'>
|
|
22
|
+
<h1><a href="../../index.html">All files</a> / <a href="index.html">src/.umi</a> umi.ts</h1>
|
|
23
|
+
<div class='clearfix'>
|
|
24
|
+
|
|
25
|
+
<div class='fl pad1y space-right2'>
|
|
26
|
+
<span class="strong">0% </span>
|
|
27
|
+
<span class="quiet">Statements</span>
|
|
28
|
+
<span class='fraction'>0/14</span>
|
|
29
|
+
</div>
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
<div class='fl pad1y space-right2'>
|
|
33
|
+
<span class="strong">0% </span>
|
|
34
|
+
<span class="quiet">Branches</span>
|
|
35
|
+
<span class='fraction'>0/7</span>
|
|
36
|
+
</div>
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
<div class='fl pad1y space-right2'>
|
|
40
|
+
<span class="strong">0% </span>
|
|
41
|
+
<span class="quiet">Functions</span>
|
|
42
|
+
<span class='fraction'>0/4</span>
|
|
43
|
+
</div>
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
<div class='fl pad1y space-right2'>
|
|
47
|
+
<span class="strong">0% </span>
|
|
48
|
+
<span class="quiet">Lines</span>
|
|
49
|
+
<span class='fraction'>0/13</span>
|
|
50
|
+
</div>
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
</div>
|
|
54
|
+
<p class="quiet">
|
|
55
|
+
Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
|
|
56
|
+
</p>
|
|
57
|
+
<template id="filterTemplate">
|
|
58
|
+
<div class="quiet">
|
|
59
|
+
Filter:
|
|
60
|
+
<input oninput="onInput()" type="search" id="fileSearch">
|
|
61
|
+
</div>
|
|
62
|
+
</template>
|
|
63
|
+
</div>
|
|
64
|
+
<div class='status-line low'></div>
|
|
65
|
+
<pre><table class="coverage">
|
|
66
|
+
<tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
|
|
67
|
+
<a name='L2'></a><a href='#L2'>2</a>
|
|
68
|
+
<a name='L3'></a><a href='#L3'>3</a>
|
|
69
|
+
<a name='L4'></a><a href='#L4'>4</a>
|
|
70
|
+
<a name='L5'></a><a href='#L5'>5</a>
|
|
71
|
+
<a name='L6'></a><a href='#L6'>6</a>
|
|
72
|
+
<a name='L7'></a><a href='#L7'>7</a>
|
|
73
|
+
<a name='L8'></a><a href='#L8'>8</a>
|
|
74
|
+
<a name='L9'></a><a href='#L9'>9</a>
|
|
75
|
+
<a name='L10'></a><a href='#L10'>10</a>
|
|
76
|
+
<a name='L11'></a><a href='#L11'>11</a>
|
|
77
|
+
<a name='L12'></a><a href='#L12'>12</a>
|
|
78
|
+
<a name='L13'></a><a href='#L13'>13</a>
|
|
79
|
+
<a name='L14'></a><a href='#L14'>14</a>
|
|
80
|
+
<a name='L15'></a><a href='#L15'>15</a>
|
|
81
|
+
<a name='L16'></a><a href='#L16'>16</a>
|
|
82
|
+
<a name='L17'></a><a href='#L17'>17</a>
|
|
83
|
+
<a name='L18'></a><a href='#L18'>18</a>
|
|
84
|
+
<a name='L19'></a><a href='#L19'>19</a>
|
|
85
|
+
<a name='L20'></a><a href='#L20'>20</a>
|
|
86
|
+
<a name='L21'></a><a href='#L21'>21</a>
|
|
87
|
+
<a name='L22'></a><a href='#L22'>22</a>
|
|
88
|
+
<a name='L23'></a><a href='#L23'>23</a>
|
|
89
|
+
<a name='L24'></a><a href='#L24'>24</a>
|
|
90
|
+
<a name='L25'></a><a href='#L25'>25</a>
|
|
91
|
+
<a name='L26'></a><a href='#L26'>26</a>
|
|
92
|
+
<a name='L27'></a><a href='#L27'>27</a>
|
|
93
|
+
<a name='L28'></a><a href='#L28'>28</a>
|
|
94
|
+
<a name='L29'></a><a href='#L29'>29</a>
|
|
95
|
+
<a name='L30'></a><a href='#L30'>30</a>
|
|
96
|
+
<a name='L31'></a><a href='#L31'>31</a>
|
|
97
|
+
<a name='L32'></a><a href='#L32'>32</a>
|
|
98
|
+
<a name='L33'></a><a href='#L33'>33</a>
|
|
99
|
+
<a name='L34'></a><a href='#L34'>34</a>
|
|
100
|
+
<a name='L35'></a><a href='#L35'>35</a>
|
|
101
|
+
<a name='L36'></a><a href='#L36'>36</a>
|
|
102
|
+
<a name='L37'></a><a href='#L37'>37</a>
|
|
103
|
+
<a name='L38'></a><a href='#L38'>38</a>
|
|
104
|
+
<a name='L39'></a><a href='#L39'>39</a>
|
|
105
|
+
<a name='L40'></a><a href='#L40'>40</a>
|
|
106
|
+
<a name='L41'></a><a href='#L41'>41</a>
|
|
107
|
+
<a name='L42'></a><a href='#L42'>42</a>
|
|
108
|
+
<a name='L43'></a><a href='#L43'>43</a>
|
|
109
|
+
<a name='L44'></a><a href='#L44'>44</a>
|
|
110
|
+
<a name='L45'></a><a href='#L45'>45</a>
|
|
111
|
+
<a name='L46'></a><a href='#L46'>46</a>
|
|
112
|
+
<a name='L47'></a><a href='#L47'>47</a>
|
|
113
|
+
<a name='L48'></a><a href='#L48'>48</a>
|
|
114
|
+
<a name='L49'></a><a href='#L49'>49</a>
|
|
115
|
+
<a name='L50'></a><a href='#L50'>50</a>
|
|
116
|
+
<a name='L51'></a><a href='#L51'>51</a>
|
|
117
|
+
<a name='L52'></a><a href='#L52'>52</a>
|
|
118
|
+
<a name='L53'></a><a href='#L53'>53</a>
|
|
119
|
+
<a name='L54'></a><a href='#L54'>54</a>
|
|
120
|
+
<a name='L55'></a><a href='#L55'>55</a>
|
|
121
|
+
<a name='L56'></a><a href='#L56'>56</a>
|
|
122
|
+
<a name='L57'></a><a href='#L57'>57</a>
|
|
123
|
+
<a name='L58'></a><a href='#L58'>58</a>
|
|
124
|
+
<a name='L59'></a><a href='#L59'>59</a>
|
|
125
|
+
<a name='L60'></a><a href='#L60'>60</a>
|
|
126
|
+
<a name='L61'></a><a href='#L61'>61</a>
|
|
127
|
+
<a name='L62'></a><a href='#L62'>62</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral"> </span>
|
|
128
|
+
<span class="cline-any cline-neutral"> </span>
|
|
129
|
+
<span class="cline-any cline-neutral"> </span>
|
|
130
|
+
<span class="cline-any cline-neutral"> </span>
|
|
131
|
+
<span class="cline-any cline-neutral"> </span>
|
|
132
|
+
<span class="cline-any cline-neutral"> </span>
|
|
133
|
+
<span class="cline-any cline-neutral"> </span>
|
|
134
|
+
<span class="cline-any cline-neutral"> </span>
|
|
135
|
+
<span class="cline-any cline-neutral"> </span>
|
|
136
|
+
<span class="cline-any cline-neutral"> </span>
|
|
137
|
+
<span class="cline-any cline-neutral"> </span>
|
|
138
|
+
<span class="cline-any cline-neutral"> </span>
|
|
139
|
+
<span class="cline-any cline-neutral"> </span>
|
|
140
|
+
<span class="cline-any cline-no"> </span>
|
|
141
|
+
<span class="cline-any cline-neutral"> </span>
|
|
142
|
+
<span class="cline-any cline-no"> </span>
|
|
143
|
+
<span class="cline-any cline-neutral"> </span>
|
|
144
|
+
<span class="cline-any cline-neutral"> </span>
|
|
145
|
+
<span class="cline-any cline-neutral"> </span>
|
|
146
|
+
<span class="cline-any cline-no"> </span>
|
|
147
|
+
<span class="cline-any cline-neutral"> </span>
|
|
148
|
+
<span class="cline-any cline-neutral"> </span>
|
|
149
|
+
<span class="cline-any cline-neutral"> </span>
|
|
150
|
+
<span class="cline-any cline-neutral"> </span>
|
|
151
|
+
<span class="cline-any cline-neutral"> </span>
|
|
152
|
+
<span class="cline-any cline-neutral"> </span>
|
|
153
|
+
<span class="cline-any cline-neutral"> </span>
|
|
154
|
+
<span class="cline-any cline-neutral"> </span>
|
|
155
|
+
<span class="cline-any cline-neutral"> </span>
|
|
156
|
+
<span class="cline-any cline-neutral"> </span>
|
|
157
|
+
<span class="cline-any cline-neutral"> </span>
|
|
158
|
+
<span class="cline-any cline-neutral"> </span>
|
|
159
|
+
<span class="cline-any cline-no"> </span>
|
|
160
|
+
<span class="cline-any cline-neutral"> </span>
|
|
161
|
+
<span class="cline-any cline-neutral"> </span>
|
|
162
|
+
<span class="cline-any cline-neutral"> </span>
|
|
163
|
+
<span class="cline-any cline-neutral"> </span>
|
|
164
|
+
<span class="cline-any cline-no"> </span>
|
|
165
|
+
<span class="cline-any cline-neutral"> </span>
|
|
166
|
+
<span class="cline-any cline-neutral"> </span>
|
|
167
|
+
<span class="cline-any cline-neutral"> </span>
|
|
168
|
+
<span class="cline-any cline-no"> </span>
|
|
169
|
+
<span class="cline-any cline-neutral"> </span>
|
|
170
|
+
<span class="cline-any cline-neutral"> </span>
|
|
171
|
+
<span class="cline-any cline-neutral"> </span>
|
|
172
|
+
<span class="cline-any cline-neutral"> </span>
|
|
173
|
+
<span class="cline-any cline-neutral"> </span>
|
|
174
|
+
<span class="cline-any cline-neutral"> </span>
|
|
175
|
+
<span class="cline-any cline-no"> </span>
|
|
176
|
+
<span class="cline-any cline-neutral"> </span>
|
|
177
|
+
<span class="cline-any cline-no"> </span>
|
|
178
|
+
<span class="cline-any cline-no"> </span>
|
|
179
|
+
<span class="cline-any cline-no"> </span>
|
|
180
|
+
<span class="cline-any cline-no"> </span>
|
|
181
|
+
<span class="cline-any cline-no"> </span>
|
|
182
|
+
<span class="cline-any cline-neutral"> </span>
|
|
183
|
+
<span class="cline-any cline-neutral"> </span>
|
|
184
|
+
<span class="cline-any cline-no"> </span>
|
|
185
|
+
<span class="cline-any cline-neutral"> </span>
|
|
186
|
+
<span class="cline-any cline-neutral"> </span>
|
|
187
|
+
<span class="cline-any cline-neutral"> </span>
|
|
188
|
+
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">// @ts-nocheck
|
|
189
|
+
import './core/polyfill';
|
|
190
|
+
import '@@/core/devScripts';
|
|
191
|
+
import { plugin } from './core/plugin';
|
|
192
|
+
import './core/pluginRegister';
|
|
193
|
+
import { createHistory } from './core/history';
|
|
194
|
+
import { ApplyPluginsType } from '/Users/zakj/Desktop/pro/za-material-warehouse/node_modules/@umijs/runtime';
|
|
195
|
+
import { renderClient } from '/Users/zakj/Desktop/pro/za-material-warehouse/node_modules/@umijs/renderer-react/dist/index.js';
|
|
196
|
+
import { getRoutes } from './core/routes';
|
|
197
|
+
|
|
198
|
+
|
|
199
|
+
import '../global.less';
|
|
200
|
+
import { _onCreate } from './plugin-locale/locale';
|
|
201
|
+
<span class="cstat-no" title="statement not covered" >_onCreate();</span>
|
|
202
|
+
|
|
203
|
+
const getClientRender = <span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >(a</span>rgs: { hot?: boolean; routes?: any[] } = <span class="branch-0 cbranch-no" title="branch not covered" >{})</span> => <span class="cstat-no" title="statement not covered" >plugin.applyPlugins({</span></span>
|
|
204
|
+
key: 'render',
|
|
205
|
+
type: ApplyPluginsType.compose,
|
|
206
|
+
initialValue: <span class="fstat-no" title="function not covered" >()</span> => {
|
|
207
|
+
const opts = <span class="cstat-no" title="statement not covered" >plugin.applyPlugins({</span>
|
|
208
|
+
key: 'modifyClientRenderOpts',
|
|
209
|
+
type: ApplyPluginsType.modify,
|
|
210
|
+
initialValue: {
|
|
211
|
+
routes: args.routes || getRoutes(),
|
|
212
|
+
plugin,
|
|
213
|
+
history: createHistory(args.hot),
|
|
214
|
+
isServer: process.env.__IS_SERVER,
|
|
215
|
+
dynamicImport: true,
|
|
216
|
+
rootElement: 'root',
|
|
217
|
+
defaultTitle: `sisyphus(3.4.3-beta.6)`,
|
|
218
|
+
},
|
|
219
|
+
});
|
|
220
|
+
<span class="cstat-no" title="statement not covered" > return renderClient(opts);</span>
|
|
221
|
+
},
|
|
222
|
+
args,
|
|
223
|
+
});
|
|
224
|
+
|
|
225
|
+
const clientRender = <span class="cstat-no" title="statement not covered" >getClientRender();</span>
|
|
226
|
+
export default clientRender();
|
|
227
|
+
|
|
228
|
+
|
|
229
|
+
<span class="cstat-no" title="statement not covered" > window.g_umi = {</span>
|
|
230
|
+
version: '3.5.41',
|
|
231
|
+
};
|
|
232
|
+
|
|
233
|
+
|
|
234
|
+
// hot module replacement
|
|
235
|
+
// @ts-ignore
|
|
236
|
+
<span class="cstat-no" title="statement not covered" >if (module.hot) {</span>
|
|
237
|
+
// @ts-ignore
|
|
238
|
+
<span class="cstat-no" title="statement not covered" > module.hot.accept('./core/routes', <span class="fstat-no" title="function not covered" >()</span> => {</span>
|
|
239
|
+
const ret = <span class="cstat-no" title="statement not covered" >require('./core/routes');</span>
|
|
240
|
+
<span class="cstat-no" title="statement not covered" > if (ret.then) {</span>
|
|
241
|
+
<span class="cstat-no" title="statement not covered" > ret.then(<span class="fstat-no" title="function not covered" >({</span> getRoutes }) => {</span>
|
|
242
|
+
<span class="cstat-no" title="statement not covered" > getClientRender({ hot: true, routes: getRoutes() })();</span>
|
|
243
|
+
});
|
|
244
|
+
} else {
|
|
245
|
+
<span class="cstat-no" title="statement not covered" > getClientRender({ hot: true, routes: ret.getRoutes() })();</span>
|
|
246
|
+
}
|
|
247
|
+
});
|
|
248
|
+
}
|
|
249
|
+
</pre></td></tr></table></pre>
|
|
250
|
+
|
|
251
|
+
<div class='push'></div><!-- for sticky footer -->
|
|
252
|
+
</div><!-- /wrapper -->
|
|
253
|
+
<div class='footer quiet pad2 space-top1 center small'>
|
|
254
|
+
Code coverage generated by
|
|
255
|
+
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
256
|
+
at 2024-01-24T02:49:50.075Z
|
|
257
|
+
</div>
|
|
258
|
+
<script src="../../prettify.js"></script>
|
|
259
|
+
<script>
|
|
260
|
+
window.onload = function () {
|
|
261
|
+
prettyPrint();
|
|
262
|
+
};
|
|
263
|
+
</script>
|
|
264
|
+
<script src="../../sorter.js"></script>
|
|
265
|
+
<script src="../../block-navigation.js"></script>
|
|
266
|
+
</body>
|
|
267
|
+
</html>
|
|
268
|
+
|
package/dist/index.esm.css
CHANGED
|
@@ -1899,20 +1899,22 @@
|
|
|
1899
1899
|
.pro-table .ant-table-tbody .ant-table-cell-fix-right {
|
|
1900
1900
|
background: unset !important;
|
|
1901
1901
|
}
|
|
1902
|
-
.pro-table .ant-table-
|
|
1903
|
-
background: #d2fff4 !important;
|
|
1902
|
+
.pro-table tbody.ant-table-tbody tr.ant-table-row.new-cell {
|
|
1903
|
+
background: var(--zaui-contract-bg-add, #d2fff4) !important;
|
|
1904
|
+
background-color: var(--zaui-contract-bg-add, #d2fff4) !important;
|
|
1904
1905
|
}
|
|
1905
|
-
.pro-table .ant-table-
|
|
1906
|
-
background: #d2fff4 !important;
|
|
1906
|
+
.pro-table tbody.ant-table-tbody tr.ant-table-row.new-cell td.ant-table-cell {
|
|
1907
|
+
background: var(--zaui-contract-bg-add, #d2fff4) !important;
|
|
1908
|
+
background-color: var(--zaui-contract-bg-add, #d2fff4) !important;
|
|
1907
1909
|
border-bottom: 1px solid var(--zaui-form-control-line, #dcdcdc);
|
|
1908
1910
|
}
|
|
1909
|
-
.pro-table .ant-table-
|
|
1911
|
+
.pro-table tbody.ant-table-tbody .ant-table-cell .varied-cell {
|
|
1910
1912
|
margin-left: -8px;
|
|
1911
1913
|
padding: var(--zaui-space-size-xs, 4px) var(--zaui-space-size-sm, 8px);
|
|
1912
1914
|
background: var(--zaui-contract-bg, #fffaa1) !important;
|
|
1913
1915
|
border-radius: var(--zaui-border-radius, 8px);
|
|
1914
1916
|
}
|
|
1915
|
-
.pro-table .ant-table-
|
|
1917
|
+
.pro-table tbody.ant-table-tbody .varied-cell.empty-cell {
|
|
1916
1918
|
width: 24.5px;
|
|
1917
1919
|
}
|
|
1918
1920
|
.pro-table .copyable-table-cell .ant-typography {
|
|
@@ -3073,7 +3075,7 @@ span.ant-input-group-compact.pro-range-limit .forever-checkbox {
|
|
|
3073
3075
|
padding: 5px 0;
|
|
3074
3076
|
}
|
|
3075
3077
|
.pro-form .pro-form-item-changed .ant-input-textarea > textarea {
|
|
3076
|
-
background: var(--zaui-contract-bg, #fffaa1);
|
|
3078
|
+
background: var(--zaui-contract-bg, #fffaa1) !important;
|
|
3077
3079
|
}
|
|
3078
3080
|
.pro-form .pro-form-item-changed .pro-form-view-container {
|
|
3079
3081
|
padding: 4px 8px;
|
|
@@ -3130,13 +3132,19 @@ span.ant-input-group-compact.pro-range-limit .forever-checkbox {
|
|
|
3130
3132
|
padding: 5px 0;
|
|
3131
3133
|
}
|
|
3132
3134
|
.pro-form .pro-form-item-add .ant-input-textarea > textarea {
|
|
3133
|
-
background: var(--zaui-contract-bg-add, #d2fff4);
|
|
3135
|
+
background: var(--zaui-contract-bg-add, #d2fff4) !important;
|
|
3134
3136
|
}
|
|
3135
3137
|
.pro-form .pro-form-item-add .pro-form-view-container {
|
|
3136
3138
|
padding: 4px 8px;
|
|
3137
3139
|
background: var(--zaui-contract-bg-add, #d2fff4);
|
|
3138
3140
|
border-radius: 4px;
|
|
3139
3141
|
}
|
|
3142
|
+
.changed-tooltip .original-value-container .ant-space-item:nth-child(1) {
|
|
3143
|
+
white-space: nowrap;
|
|
3144
|
+
}
|
|
3145
|
+
.changed-tooltip .current-value-container .ant-space-item:nth-child(1) {
|
|
3146
|
+
white-space: nowrap;
|
|
3147
|
+
}
|
|
3140
3148
|
.pro-upload .pro-upload-dragger .pro-upload-handle-box {
|
|
3141
3149
|
padding: var(--zaui-space-size-sm, 8px);
|
|
3142
3150
|
background: #f8f9fa;
|
package/dist/less.esm.css
CHANGED
|
@@ -1899,20 +1899,22 @@
|
|
|
1899
1899
|
.pro-table .ant-table-tbody .ant-table-cell-fix-right {
|
|
1900
1900
|
background: unset !important;
|
|
1901
1901
|
}
|
|
1902
|
-
.pro-table .ant-table-
|
|
1903
|
-
background: #d2fff4 !important;
|
|
1902
|
+
.pro-table tbody.ant-table-tbody tr.ant-table-row.new-cell {
|
|
1903
|
+
background: var(--zaui-contract-bg-add, #d2fff4) !important;
|
|
1904
|
+
background-color: var(--zaui-contract-bg-add, #d2fff4) !important;
|
|
1904
1905
|
}
|
|
1905
|
-
.pro-table .ant-table-
|
|
1906
|
-
background: #d2fff4 !important;
|
|
1906
|
+
.pro-table tbody.ant-table-tbody tr.ant-table-row.new-cell td.ant-table-cell {
|
|
1907
|
+
background: var(--zaui-contract-bg-add, #d2fff4) !important;
|
|
1908
|
+
background-color: var(--zaui-contract-bg-add, #d2fff4) !important;
|
|
1907
1909
|
border-bottom: 1px solid var(--zaui-form-control-line, #dcdcdc);
|
|
1908
1910
|
}
|
|
1909
|
-
.pro-table .ant-table-
|
|
1911
|
+
.pro-table tbody.ant-table-tbody .ant-table-cell .varied-cell {
|
|
1910
1912
|
margin-left: -8px;
|
|
1911
1913
|
padding: var(--zaui-space-size-xs, 4px) var(--zaui-space-size-sm, 8px);
|
|
1912
1914
|
background: var(--zaui-contract-bg, #fffaa1) !important;
|
|
1913
1915
|
border-radius: var(--zaui-border-radius, 8px);
|
|
1914
1916
|
}
|
|
1915
|
-
.pro-table .ant-table-
|
|
1917
|
+
.pro-table tbody.ant-table-tbody .varied-cell.empty-cell {
|
|
1916
1918
|
width: 24.5px;
|
|
1917
1919
|
}
|
|
1918
1920
|
.pro-table .copyable-table-cell .ant-typography {
|
|
@@ -3073,7 +3075,7 @@ span.ant-input-group-compact.pro-range-limit .forever-checkbox {
|
|
|
3073
3075
|
padding: 5px 0;
|
|
3074
3076
|
}
|
|
3075
3077
|
.pro-form .pro-form-item-changed .ant-input-textarea > textarea {
|
|
3076
|
-
background: var(--zaui-contract-bg, #fffaa1);
|
|
3078
|
+
background: var(--zaui-contract-bg, #fffaa1) !important;
|
|
3077
3079
|
}
|
|
3078
3080
|
.pro-form .pro-form-item-changed .pro-form-view-container {
|
|
3079
3081
|
padding: 4px 8px;
|
|
@@ -3130,13 +3132,19 @@ span.ant-input-group-compact.pro-range-limit .forever-checkbox {
|
|
|
3130
3132
|
padding: 5px 0;
|
|
3131
3133
|
}
|
|
3132
3134
|
.pro-form .pro-form-item-add .ant-input-textarea > textarea {
|
|
3133
|
-
background: var(--zaui-contract-bg-add, #d2fff4);
|
|
3135
|
+
background: var(--zaui-contract-bg-add, #d2fff4) !important;
|
|
3134
3136
|
}
|
|
3135
3137
|
.pro-form .pro-form-item-add .pro-form-view-container {
|
|
3136
3138
|
padding: 4px 8px;
|
|
3137
3139
|
background: var(--zaui-contract-bg-add, #d2fff4);
|
|
3138
3140
|
border-radius: 4px;
|
|
3139
3141
|
}
|
|
3142
|
+
.changed-tooltip .original-value-container .ant-space-item:nth-child(1) {
|
|
3143
|
+
white-space: nowrap;
|
|
3144
|
+
}
|
|
3145
|
+
.changed-tooltip .current-value-container .ant-space-item:nth-child(1) {
|
|
3146
|
+
white-space: nowrap;
|
|
3147
|
+
}
|
|
3140
3148
|
.pro-upload .pro-upload-dragger .pro-upload-handle-box {
|
|
3141
3149
|
padding: var(--zaui-space-size-sm, 8px);
|
|
3142
3150
|
background: #f8f9fa;
|
|
@@ -1,10 +1,11 @@
|
|
|
1
|
+
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
|
1
2
|
import "antd/es/space/style";
|
|
2
3
|
import _Space from "antd/es/space";
|
|
3
4
|
import "antd/es/tooltip/style";
|
|
4
5
|
import _Tooltip from "antd/es/tooltip";
|
|
5
6
|
import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
|
|
6
7
|
import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
|
|
7
|
-
var _excluded = ["name", "names", "namesStr", "originalName", "originalNames", "originalValues", "form", "equalWith", "rowKeyPath", "children", "type", "normalize", "valuePropName"];
|
|
8
|
+
var _excluded = ["name", "names", "namesStr", "originalName", "originalNames", "originalValues", "form", "equalWith", "rowKeyPath", "children", "type", "normalize", "getValueProps", "valuePropName"];
|
|
8
9
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
9
10
|
import React, { useMemo } from 'react';
|
|
10
11
|
import classNames from 'classnames';
|
|
@@ -65,6 +66,7 @@ var getOriginalValue = function getOriginalValue(_ref) {
|
|
|
65
66
|
}) : get(originalValues, originalName);
|
|
66
67
|
};
|
|
67
68
|
var ListChangedWrapper = function ListChangedWrapper(props) {
|
|
69
|
+
var _getValueProps;
|
|
68
70
|
var name = props.name,
|
|
69
71
|
names = props.names,
|
|
70
72
|
namesStr = props.namesStr,
|
|
@@ -79,6 +81,7 @@ var ListChangedWrapper = function ListChangedWrapper(props) {
|
|
|
79
81
|
children = props.children,
|
|
80
82
|
type = props.type,
|
|
81
83
|
normalize = props.normalize,
|
|
84
|
+
getValueProps = props.getValueProps,
|
|
82
85
|
_props$valuePropName = props.valuePropName,
|
|
83
86
|
valuePropName = _props$valuePropName === void 0 ? 'value' : _props$valuePropName,
|
|
84
87
|
rest = _objectWithoutProperties(props, _excluded);
|
|
@@ -124,12 +127,10 @@ var ListChangedWrapper = function ListChangedWrapper(props) {
|
|
|
124
127
|
return target.parentElement;
|
|
125
128
|
},
|
|
126
129
|
title: _jsxs(_Space, {
|
|
127
|
-
children: ["\u521D\u59CB\u503C\uFF1A", /*#__PURE__*/React.isValidElement(children) ? /*#__PURE__*/React.cloneElement(children, _objectSpread(_objectSpread({}, children), {}, {
|
|
130
|
+
children: ["\u521D\u59CB\u503C\uFF1A", /*#__PURE__*/React.isValidElement(children) ? /*#__PURE__*/React.cloneElement(children, _objectSpread(_objectSpread({}, children), {}, _defineProperty(_defineProperty({
|
|
128
131
|
// @ts-ignore
|
|
129
|
-
isView: true
|
|
130
|
-
|
|
131
|
-
checked: type === 'Switch' ? originalValue : undefined
|
|
132
|
-
})) : undefined]
|
|
132
|
+
isView: true
|
|
133
|
+
}, valuePropName, getValueProps ? (_getValueProps = getValueProps(originalValue)) === null || _getValueProps === void 0 ? void 0 : _getValueProps[valuePropName] : props[valuePropName]), "checked", type === 'Switch' ? originalValue : undefined))) : undefined]
|
|
133
134
|
}),
|
|
134
135
|
children: _jsx("div", {
|
|
135
136
|
className: diffClassName,
|
|
@@ -42,7 +42,7 @@ var useEnumRequest = function useEnumRequest(props, dispatch) {
|
|
|
42
42
|
}
|
|
43
43
|
var logDebug = function logDebug(msg) {
|
|
44
44
|
if (props.debugger) {
|
|
45
|
-
console.
|
|
45
|
+
console.warn('proEnum:', msg);
|
|
46
46
|
}
|
|
47
47
|
};
|
|
48
48
|
var enumRes = useRequestFunc(useRequest === null || useRequest === void 0 ? void 0 : useRequest.service, _objectSpread(_objectSpread({
|
package/es/ProEnum/index.js
CHANGED
|
@@ -53,8 +53,8 @@ var ProEnum = function ProEnum(props) {
|
|
|
53
53
|
showCodeName = _ref2.showCodeName,
|
|
54
54
|
resProps = _objectWithoutProperties(_ref2, _excluded2);
|
|
55
55
|
enumProps.showCodeName = (_enumProps$showCodeNa = enumProps.showCodeName) !== null && _enumProps$showCodeNa !== void 0 ? _enumProps$showCodeNa : showCodeName;
|
|
56
|
-
var label = '';
|
|
57
|
-
var fieldValue = '';
|
|
56
|
+
var label = 'label';
|
|
57
|
+
var fieldValue = 'value';
|
|
58
58
|
var _useState = useState(dataSource || []),
|
|
59
59
|
_useState2 = _slicedToArray(_useState, 2),
|
|
60
60
|
dataList = _useState2[0],
|
|
@@ -82,7 +82,7 @@ var InputNumber = function InputNumber(props) {
|
|
|
82
82
|
var _parser = function parser(value, precision) {
|
|
83
83
|
if (value === '') return value;
|
|
84
84
|
var num = Number(value.replace(/[\s,]+/g, ''));
|
|
85
|
-
return Number.isNaN(num) || !precision && precision !== 0 ? Number.isNaN(Number(value)) ? null : value : num.toFixed(precision);
|
|
85
|
+
return Number.isNaN(num) || !precision && precision !== 0 ? Number.isNaN(Number(value)) ? null : Number(value) : Number(num.toFixed(precision));
|
|
86
86
|
};
|
|
87
87
|
if (valueType) {
|
|
88
88
|
switch (valueType) {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
|
|
2
2
|
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
|
3
3
|
import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
|
|
4
|
-
var _excluded = ["type", "confirm", "component", "fieldProps", "contextProps", "before", "after", "getValueProps", "valuePropName", "valueType"];
|
|
4
|
+
var _excluded = ["type", "confirm", "component", "fieldProps", "contextProps", "before", "after", "getValueProps", "valuePropName", "valueType", "isView"];
|
|
5
5
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
6
6
|
import React from 'react';
|
|
7
7
|
import ConfirmWrapper from '../../../../components/render/ConfirmWrapper';
|
|
@@ -41,6 +41,7 @@ var ComRender = function ComRender(props) {
|
|
|
41
41
|
_props$valuePropName = props.valuePropName,
|
|
42
42
|
valuePropName = _props$valuePropName === void 0 ? 'value' : _props$valuePropName,
|
|
43
43
|
valueType = props.valueType,
|
|
44
|
+
isView = props.isView,
|
|
44
45
|
rest = _objectWithoutProperties(props, _excluded);
|
|
45
46
|
var TypeComponent = componentMap[type];
|
|
46
47
|
var mergedGetValueProps = getValueProps || function (val) {
|
|
@@ -53,7 +54,8 @@ var ComRender = function ComRender(props) {
|
|
|
53
54
|
return _jsx(FieldProvider, {
|
|
54
55
|
value: _objectSpread(_objectSpread({}, contextProps), {}, {
|
|
55
56
|
valueType: valueType,
|
|
56
|
-
type: type
|
|
57
|
+
type: type,
|
|
58
|
+
isView: isView
|
|
57
59
|
}),
|
|
58
60
|
children: Com
|
|
59
61
|
});
|
|
@@ -27,7 +27,8 @@ var Group = function Group(props) {
|
|
|
27
27
|
onChange = props.onChange,
|
|
28
28
|
otherProps = props.otherProps,
|
|
29
29
|
disabled = props.disabled,
|
|
30
|
-
id = props.id
|
|
30
|
+
id = props.id,
|
|
31
|
+
isView = props.isView;
|
|
31
32
|
var contextProps = ProForm.useFieldProps() || {};
|
|
32
33
|
var names = contextProps.names,
|
|
33
34
|
name = contextProps.name,
|
|
@@ -70,7 +71,8 @@ var Group = function Group(props) {
|
|
|
70
71
|
children: space.compact || (space === null || space === void 0 ? void 0 : space.separator) ? _jsx(_Space.Compact, {
|
|
71
72
|
children: columns.map(function (column, index) {
|
|
72
73
|
return _jsx(ComRender, _objectSpread(_objectSpread({
|
|
73
|
-
contextProps: contextProps
|
|
74
|
+
contextProps: contextProps,
|
|
75
|
+
isView: isView
|
|
74
76
|
}, column), {}, {
|
|
75
77
|
otherProps: otherProps
|
|
76
78
|
}), column.name);
|
|
@@ -80,7 +82,8 @@ var Group = function Group(props) {
|
|
|
80
82
|
}, omit(space, ['separator', 'compact'])), {}, {
|
|
81
83
|
children: columns.map(function (column, index) {
|
|
82
84
|
return _jsx(ComRender, _objectSpread(_objectSpread({
|
|
83
|
-
contextProps: contextProps
|
|
85
|
+
contextProps: contextProps,
|
|
86
|
+
isView: isView
|
|
84
87
|
}, column), {}, {
|
|
85
88
|
otherProps: otherProps
|
|
86
89
|
}), column.name);
|
|
@@ -5,7 +5,7 @@ import _Tooltip from "antd/es/tooltip";
|
|
|
5
5
|
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
|
6
6
|
import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
|
|
7
7
|
import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
|
|
8
|
-
var _excluded = ["name", "names", "namesStr", "form", "equalWith", "children", "type", "diffConfig", "valuePropName", "normalize"];
|
|
8
|
+
var _excluded = ["name", "names", "namesStr", "form", "equalWith", "children", "type", "diffConfig", "valuePropName", "normalize", "getValueProps"];
|
|
9
9
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
10
10
|
import classNames from 'classnames';
|
|
11
11
|
import { get } from 'lodash';
|
|
@@ -26,6 +26,7 @@ var ChangedWrapper = function ChangedWrapper(props) {
|
|
|
26
26
|
_props$valuePropName = props.valuePropName,
|
|
27
27
|
valuePropName = _props$valuePropName === void 0 ? 'value' : _props$valuePropName,
|
|
28
28
|
normalize = props.normalize,
|
|
29
|
+
getValueProps = props.getValueProps,
|
|
29
30
|
rest = _objectWithoutProperties(props, _excluded);
|
|
30
31
|
var _useProConfig = useProConfig('ProForm'),
|
|
31
32
|
isDiffAll = _useProConfig.isDiffAll;
|
|
@@ -53,9 +54,10 @@ var ChangedWrapper = function ChangedWrapper(props) {
|
|
|
53
54
|
var isChanged = diffType === 'changed';
|
|
54
55
|
var tipContent = useMemo(function () {
|
|
55
56
|
if (!isWatch || noChange) return undefined;
|
|
57
|
+
var valueProps = getValueProps ? getValueProps(originalValue) : originalValue;
|
|
56
58
|
return /*#__PURE__*/React.isValidElement(children) ? /*#__PURE__*/React.cloneElement(children, _objectSpread(_objectSpread({}, children.props), {}, _defineProperty({
|
|
57
59
|
isView: true
|
|
58
|
-
}, valuePropName,
|
|
60
|
+
}, valuePropName, valueProps === null || valueProps === void 0 ? void 0 : valueProps.value))) : undefined;
|
|
59
61
|
}, [originalValue, children]);
|
|
60
62
|
if (!isWatch || noChange) {
|
|
61
63
|
// 嵌套子组件
|
|
@@ -87,9 +89,13 @@ var ChangedWrapper = function ChangedWrapper(props) {
|
|
|
87
89
|
},
|
|
88
90
|
title: _jsxs(_Space, {
|
|
89
91
|
direction: "vertical",
|
|
92
|
+
className: "changed-tooltip",
|
|
90
93
|
children: [_jsxs(_Space, {
|
|
94
|
+
align: "start",
|
|
95
|
+
className: "original-value-container",
|
|
91
96
|
children: ["\u521D\u59CB\u503C\uFF1A", tipContent]
|
|
92
97
|
}), _showEllipse && _jsxs(_Space, {
|
|
98
|
+
className: "current-value-container",
|
|
93
99
|
children: ["\u5F53\u524D\u503C\uFF1A", /*#__PURE__*/React.isValidElement(children) ? /*#__PURE__*/React.cloneElement(children, _objectSpread(_objectSpread(_objectSpread({}, children.props), rest), {}, {
|
|
94
100
|
isView: true
|
|
95
101
|
})) : undefined]
|
|
@@ -155,7 +155,7 @@ var Render = function Render(props) {
|
|
|
155
155
|
};
|
|
156
156
|
}
|
|
157
157
|
/** 移除多余参数,防止透传给formItem报错 */
|
|
158
|
-
var _otherFormItemProps = omit(otherFormItemProps, ['component', 'names', 'format', 'toISOString', 'toCSTString', 'switchValue', 'precision', 'clearNotShow']);
|
|
158
|
+
var _otherFormItemProps = omit(otherFormItemProps, ['component', 'names', 'format', 'toISOString', 'toCSTString', 'switchValue', 'precision', 'clearNotShow', 'dependNames']);
|
|
159
159
|
/**
|
|
160
160
|
* globalControl 全局控制优先
|
|
161
161
|
* globalControl true时,优先级 全局【formDisabled】> formitem上【column.disabled】 > 组件上【fieldProps.disabled】
|
|
@@ -426,7 +426,7 @@ var Render = function Render(props) {
|
|
|
426
426
|
span: 24 // 默认占一行
|
|
427
427
|
});
|
|
428
428
|
}
|
|
429
|
-
if (diffConfig) {
|
|
429
|
+
if (diffConfig === null || diffConfig === void 0 ? void 0 : diffConfig.originalValues) {
|
|
430
430
|
child = _jsx(ChangedWrapper, {
|
|
431
431
|
name: formItemProps.name,
|
|
432
432
|
names: otherProps.names,
|
|
@@ -438,6 +438,7 @@ var Render = function Render(props) {
|
|
|
438
438
|
onChange: handleChange,
|
|
439
439
|
valuePropName: _otherFormItemProps.valuePropName,
|
|
440
440
|
normalize: _otherFormItemProps.normalize,
|
|
441
|
+
getValueProps: _otherFormItemProps.getValueProps,
|
|
441
442
|
children: child
|
|
442
443
|
});
|
|
443
444
|
}
|
|
@@ -182,6 +182,8 @@ export interface ProFormColumnProps<Values = any> extends Omit<FormItemProps<Val
|
|
|
182
182
|
}) => React.ReactElement<any, any> | string | undefined | null;
|
|
183
183
|
viewType?: ViewType;
|
|
184
184
|
colProps?: ColProps;
|
|
185
|
+
/** 依赖刷新字段列表 */
|
|
186
|
+
dependNames?: NamePath[];
|
|
185
187
|
/**
|
|
186
188
|
* @description 表单item的props属性
|
|
187
189
|
* @deprecated 将于下个版本 4.0.0 被弃用
|
|
@@ -190,6 +192,8 @@ export interface ProFormColumnProps<Values = any> extends Omit<FormItemProps<Val
|
|
|
190
192
|
formItemProps?: FormItemProps<Values> & {
|
|
191
193
|
index?: number;
|
|
192
194
|
namePath?: NamePath;
|
|
195
|
+
/** 依赖刷新字段列表 */
|
|
196
|
+
dependNames?: NamePath[];
|
|
193
197
|
};
|
|
194
198
|
/**
|
|
195
199
|
* @description 表单props属性
|