@yelon/util 15.1.2 → 15.2.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (220) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +22 -22
  3. package/array/array-type.service.d.ts +68 -68
  4. package/array/array.service.d.ts +78 -78
  5. package/array/index.d.ts +2 -2
  6. package/browser/cookie.service.d.ts +67 -67
  7. package/browser/copy.d.ts +6 -6
  8. package/browser/index.d.ts +5 -5
  9. package/browser/is-empty.d.ts +6 -6
  10. package/browser/scroll.service.d.ts +37 -37
  11. package/browser/style.d.ts +21 -21
  12. package/config/abc/date-picker.type.d.ts +52 -52
  13. package/config/abc/error-collect.type.d.ts +10 -10
  14. package/config/abc/exception.type.d.ts +9 -9
  15. package/config/abc/image.type.d.ts +15 -15
  16. package/config/abc/index.d.ts +17 -17
  17. package/config/abc/loading.type.d.ts +31 -31
  18. package/config/abc/lodop.type.d.ts +33 -33
  19. package/config/abc/media.type.d.ts +11 -11
  20. package/config/abc/onboarding.type.d.ts +4 -4
  21. package/config/abc/page-header.type.d.ts +39 -39
  22. package/config/abc/pdf.type.d.ts +35 -35
  23. package/config/abc/qr.type.d.ts +25 -25
  24. package/config/abc/se.type.d.ts +32 -32
  25. package/config/abc/sg.type.d.ts +10 -10
  26. package/config/abc/st.type.d.ts +465 -465
  27. package/config/abc/sv.type.d.ts +14 -14
  28. package/config/abc/xlsx.type.d.ts +12 -12
  29. package/config/abc/zip.type.d.ts +10 -10
  30. package/config/acl/acl.type.d.ts +32 -32
  31. package/config/auth/auth.type.d.ts +55 -55
  32. package/config/bis/bis.type.d.ts +7 -7
  33. package/config/cache/cache.type.d.ts +40 -40
  34. package/config/chart/chart.type.d.ts +33 -33
  35. package/config/config.service.d.ts +13 -13
  36. package/config/config.types.d.ts +48 -48
  37. package/config/index.d.ts +14 -14
  38. package/config/mock/mock.type.d.ts +18 -18
  39. package/config/sf/sf.type.d.ts +133 -133
  40. package/config/socket/socket.type.d.ts +4 -4
  41. package/config/theme/http.type.d.ts +14 -14
  42. package/config/theme/i18n.type.d.ts +14 -14
  43. package/config/theme/index.d.ts +3 -3
  44. package/config/theme/responsive.type.d.ts +12 -12
  45. package/config/util/array.type.d.ts +22 -22
  46. package/config/util/currency.type.d.ts +39 -39
  47. package/date-time/index.d.ts +2 -2
  48. package/date-time/picker.d.ts +68 -68
  49. package/date-time/time.d.ts +29 -29
  50. package/decorator/convert.d.ts +24 -24
  51. package/decorator/index.d.ts +2 -2
  52. package/decorator/zone-outside.d.ts +35 -35
  53. package/esm2020/array/array-type.service.mjs +1 -1
  54. package/esm2020/array/array.mjs +4 -4
  55. package/esm2020/array/array.service.mjs +276 -276
  56. package/esm2020/array/index.mjs +2 -2
  57. package/esm2020/browser/browser.mjs +4 -4
  58. package/esm2020/browser/cookie.service.mjs +102 -102
  59. package/esm2020/browser/copy.mjs +27 -27
  60. package/esm2020/browser/index.mjs +5 -5
  61. package/esm2020/browser/is-empty.mjs +18 -18
  62. package/esm2020/browser/scroll.service.mjs +87 -87
  63. package/esm2020/browser/style.mjs +37 -37
  64. package/esm2020/config/abc/date-picker.type.mjs +1 -1
  65. package/esm2020/config/abc/error-collect.type.mjs +1 -1
  66. package/esm2020/config/abc/exception.type.mjs +1 -1
  67. package/esm2020/config/abc/image.type.mjs +1 -1
  68. package/esm2020/config/abc/index.mjs +17 -17
  69. package/esm2020/config/abc/loading.type.mjs +1 -1
  70. package/esm2020/config/abc/lodop.type.mjs +1 -1
  71. package/esm2020/config/abc/media.type.mjs +1 -1
  72. package/esm2020/config/abc/onboarding.type.mjs +1 -1
  73. package/esm2020/config/abc/page-header.type.mjs +1 -1
  74. package/esm2020/config/abc/pdf.type.mjs +1 -1
  75. package/esm2020/config/abc/qr.type.mjs +1 -1
  76. package/esm2020/config/abc/se.type.mjs +1 -1
  77. package/esm2020/config/abc/sg.type.mjs +1 -1
  78. package/esm2020/config/abc/st.type.mjs +1 -1
  79. package/esm2020/config/abc/sv.type.mjs +2 -2
  80. package/esm2020/config/abc/xlsx.type.mjs +1 -1
  81. package/esm2020/config/abc/zip.type.mjs +1 -1
  82. package/esm2020/config/acl/acl.type.mjs +1 -1
  83. package/esm2020/config/auth/auth.type.mjs +1 -1
  84. package/esm2020/config/bis/bis.type.mjs +1 -1
  85. package/esm2020/config/cache/cache.type.mjs +1 -1
  86. package/esm2020/config/chart/chart.type.mjs +1 -1
  87. package/esm2020/config/config.mjs +4 -4
  88. package/esm2020/config/config.service.mjs +36 -36
  89. package/esm2020/config/config.types.mjs +8 -8
  90. package/esm2020/config/index.mjs +14 -14
  91. package/esm2020/config/mock/mock.type.mjs +1 -1
  92. package/esm2020/config/sf/sf.type.mjs +1 -1
  93. package/esm2020/config/socket/socket.type.mjs +1 -1
  94. package/esm2020/config/theme/http.type.mjs +1 -1
  95. package/esm2020/config/theme/i18n.type.mjs +1 -1
  96. package/esm2020/config/theme/index.mjs +3 -3
  97. package/esm2020/config/theme/responsive.type.mjs +1 -1
  98. package/esm2020/config/util/array.type.mjs +1 -1
  99. package/esm2020/config/util/currency.type.mjs +1 -1
  100. package/esm2020/date-time/date-time.mjs +4 -4
  101. package/esm2020/date-time/index.mjs +2 -2
  102. package/esm2020/date-time/picker.mjs +115 -115
  103. package/esm2020/date-time/time.mjs +88 -88
  104. package/esm2020/decorator/convert.mjs +57 -57
  105. package/esm2020/decorator/decorator.mjs +4 -4
  106. package/esm2020/decorator/index.mjs +2 -2
  107. package/esm2020/decorator/zone-outside.mjs +56 -56
  108. package/esm2020/form/form.mjs +4 -4
  109. package/esm2020/form/index.mjs +2 -2
  110. package/esm2020/form/match-control.mjs +29 -29
  111. package/esm2020/form/validators.mjs +80 -80
  112. package/esm2020/format/currency.service.mjs +237 -237
  113. package/esm2020/format/currency.types.mjs +7 -7
  114. package/esm2020/format/format.mjs +4 -4
  115. package/esm2020/format/index.mjs +4 -4
  116. package/esm2020/format/string.mjs +84 -84
  117. package/esm2020/format/validate.mjs +93 -93
  118. package/esm2020/index.mjs +11 -11
  119. package/esm2020/math/in-range.mjs +24 -24
  120. package/esm2020/math/index.mjs +2 -2
  121. package/esm2020/math/math.mjs +4 -4
  122. package/esm2020/math/round.mjs +52 -52
  123. package/esm2020/other/assert.mjs +66 -66
  124. package/esm2020/other/deep.mjs +78 -76
  125. package/esm2020/other/favicon.mjs +28 -28
  126. package/esm2020/other/index.mjs +7 -7
  127. package/esm2020/other/lazy.service.mjs +131 -131
  128. package/esm2020/other/logger.mjs +32 -32
  129. package/esm2020/other/other.mjs +4 -4
  130. package/esm2020/other/path-to-regexp.service.mjs +238 -238
  131. package/esm2020/other/resize.mjs +3 -3
  132. package/esm2020/pipes/currency/cny.pipe.mjs +22 -22
  133. package/esm2020/pipes/currency/index.mjs +4 -4
  134. package/esm2020/pipes/currency/mega.pipe.mjs +28 -28
  135. package/esm2020/pipes/currency/module.mjs +18 -18
  136. package/esm2020/pipes/currency/pipe-currency.mjs +4 -4
  137. package/esm2020/pipes/currency/price.pipe.mjs +26 -26
  138. package/esm2020/pipes/filter/filter.pipe.mjs +18 -18
  139. package/esm2020/pipes/filter/index.mjs +2 -2
  140. package/esm2020/pipes/filter/module.mjs +16 -16
  141. package/esm2020/pipes/filter/pipe-filter.mjs +4 -4
  142. package/esm2020/pipes/format/index.mjs +2 -2
  143. package/esm2020/pipes/format/mask.pipe.mjs +33 -33
  144. package/esm2020/pipes/format/module.mjs +16 -16
  145. package/esm2020/pipes/format/pipe-format.mjs +4 -4
  146. package/esm2020/pipes/index.mjs +3 -3
  147. package/esm2020/pipes/pipes.mjs +4 -4
  148. package/esm2020/token/index.mjs +2 -2
  149. package/esm2020/token/page-visibility.mjs +14 -14
  150. package/esm2020/token/token.mjs +4 -4
  151. package/esm2020/token/window.mjs +16 -16
  152. package/esm2020/yelon-util.mjs +4 -4
  153. package/fesm2015/array.mjs +254 -254
  154. package/fesm2015/browser.mjs +283 -283
  155. package/fesm2015/config.mjs +56 -56
  156. package/fesm2015/date-time.mjs +207 -207
  157. package/fesm2015/decorator.mjs +121 -121
  158. package/fesm2015/form.mjs +118 -118
  159. package/fesm2015/format.mjs +413 -413
  160. package/fesm2015/math.mjs +85 -85
  161. package/fesm2015/other.mjs +589 -587
  162. package/fesm2015/other.mjs.map +1 -1
  163. package/fesm2015/pipe-currency.mjs +96 -96
  164. package/fesm2015/pipe-filter.mjs +40 -40
  165. package/fesm2015/pipe-format.mjs +55 -55
  166. package/fesm2015/pipes.mjs +8 -8
  167. package/fesm2015/token.mjs +37 -37
  168. package/fesm2015/yelon-util.mjs +16 -16
  169. package/fesm2020/array.mjs +284 -284
  170. package/fesm2020/browser.mjs +279 -279
  171. package/fesm2020/config.mjs +54 -54
  172. package/fesm2020/date-time.mjs +211 -211
  173. package/fesm2020/decorator.mjs +121 -121
  174. package/fesm2020/form.mjs +118 -118
  175. package/fesm2020/format.mjs +431 -431
  176. package/fesm2020/math.mjs +85 -85
  177. package/fesm2020/other.mjs +586 -584
  178. package/fesm2020/other.mjs.map +1 -1
  179. package/fesm2020/pipe-currency.mjs +94 -94
  180. package/fesm2020/pipe-filter.mjs +40 -40
  181. package/fesm2020/pipe-format.mjs +55 -55
  182. package/fesm2020/pipes.mjs +8 -8
  183. package/fesm2020/token.mjs +37 -37
  184. package/fesm2020/yelon-util.mjs +16 -16
  185. package/form/index.d.ts +2 -2
  186. package/form/match-control.d.ts +15 -15
  187. package/form/validators.d.ts +62 -62
  188. package/format/currency.service.d.ts +37 -37
  189. package/format/currency.types.d.ts +77 -77
  190. package/format/index.d.ts +4 -4
  191. package/format/string.d.ts +44 -44
  192. package/format/validate.d.ts +72 -72
  193. package/index.d.ts +11 -11
  194. package/math/in-range.d.ts +14 -14
  195. package/math/index.d.ts +2 -2
  196. package/math/round.d.ts +33 -33
  197. package/other/assert.d.ts +36 -36
  198. package/other/deep.d.ts +35 -33
  199. package/other/favicon.d.ts +2 -2
  200. package/other/index.d.ts +7 -7
  201. package/other/lazy.service.d.ts +48 -48
  202. package/other/logger.d.ts +5 -5
  203. package/other/path-to-regexp.service.d.ts +26 -26
  204. package/other/resize.d.ts +1 -1
  205. package/package.json +157 -157
  206. package/pipes/currency/cny.pipe.d.ts +15 -15
  207. package/pipes/currency/index.d.ts +4 -4
  208. package/pipes/currency/mega.pipe.d.ts +16 -16
  209. package/pipes/currency/module.d.ts +9 -9
  210. package/pipes/currency/price.pipe.d.ts +19 -19
  211. package/pipes/filter/filter.pipe.d.ts +13 -13
  212. package/pipes/filter/index.d.ts +2 -2
  213. package/pipes/filter/module.d.ts +7 -7
  214. package/pipes/format/index.d.ts +2 -2
  215. package/pipes/format/mask.pipe.d.ts +27 -27
  216. package/pipes/format/module.d.ts +7 -7
  217. package/pipes/index.d.ts +3 -3
  218. package/token/index.d.ts +2 -2
  219. package/token/page-visibility.d.ts +8 -8
  220. package/token/window.d.ts +7 -7
@@ -1,465 +1,465 @@
1
- import { HttpHeaders, HttpParams } from '@angular/common/http';
2
- import { TemplateRef, TrackByFunction } from '@angular/core';
3
- import { Observable } from 'rxjs';
4
- import type { NzSafeAny } from 'ng-zorro-antd/core/types';
5
- import type { NzDrawerOptions } from 'ng-zorro-antd/drawer';
6
- import type { ModalOptions } from 'ng-zorro-antd/modal';
7
- import type { PaginationItemRenderContext } from 'ng-zorro-antd/pagination';
8
- export interface YunzaiSTConfig {
9
- /**
10
- * 起始页码,默认为:`1`
11
- */
12
- pi?: number;
13
- /**
14
- * 每页数量,默认:`10`
15
- */
16
- ps?: number;
17
- /**
18
- * 是否显示边框,默认:`false`
19
- */
20
- bordered?: boolean;
21
- /**
22
- * table大小,默认:`default`
23
- */
24
- size?: 'small' | 'middle' | 'default';
25
- /**
26
- * 是否开启响应式,默认:`true`
27
- */
28
- responsive?: boolean;
29
- /**
30
- * 是否在小屏幕下才显示顶部与底部,默认:`false`
31
- */
32
- responsiveHideHeaderFooter?: boolean;
33
- /** 请求体配置 */
34
- req?: {
35
- /**
36
- * 分页类型,默认:`page`
37
- * - `page` 使用 `pi`,`ps` 组合
38
- * - `skip` 使用 `skip`,`limit` 组合
39
- */
40
- type?: 'page' | 'skip';
41
- /**
42
- * Whether to ignore `null` or `unfind` values in parameters
43
- *
44
- * 是否忽略参数中 `null` 或 `undefind` 值
45
- */
46
- ignoreParamNull?: Boolean;
47
- /** 请求方法,默认:`GET` */
48
- method?: string;
49
- /** 请求体 `Header` */
50
- headers?: NzSafeAny;
51
- /**
52
- * 重命名参数 `pi`、`ps`,默认:`{ pi: 'pi', ps: 'ps', skip: 'skip', limit: 'limit' }`
53
- * - `{ pi: 'Page' }` => `pi` 会被替换成 Page
54
- */
55
- reName?: {
56
- pi?: string;
57
- ps?: string;
58
- skip?: string;
59
- limit?: string;
60
- };
61
- /**
62
- * 是否将请求所有参数数据都放入 `body` 当中(`url` 地址本身参数除外),仅当 `method: 'POST'` 时有效,默认:`false`
63
- */
64
- allInBody?: boolean;
65
- /**
66
- * 是否延迟加载数据,即渲染结束后不会主动发起请求,默认:`false`
67
- */
68
- lazyLoad?: boolean;
69
- /**
70
- * 请求前数据处理
71
- */
72
- process?: (requestOptions: NzSafeAny) => NzSafeAny;
73
- };
74
- /** 返回体配置 */
75
- res?: {
76
- /**
77
- * 重命名返回参数 `total`、`list`,默认:`{ list: ['list'], total: ['total'] }`
78
- * - `{ total: 'Total' }` => Total 会被当作 `total`
79
- */
80
- reName?: {
81
- total?: string | string[];
82
- list?: string | string[];
83
- } | ((result: NzSafeAny, options: {
84
- pi: number;
85
- ps: number;
86
- total: number;
87
- }) => {
88
- total: number;
89
- list: NzSafeAny[];
90
- });
91
- /**
92
- * 数据预处理
93
- */
94
- process?: (data: NzSafeAny[], rawData?: NzSafeAny) => NzSafeAny[];
95
- };
96
- /** 返回体配置 */
97
- page?: {
98
- /**
99
- * 前端分页,当 `data` 为`any[]` 或 `Observable<any[]>` 有效,默认:`true`
100
- * - `true` 由 `st` 根据 `data` 长度受控分页,包括:排序、过滤等
101
- * - `false` 由用户通过 `total` 和 `data` 参数受控分页,并维护 `(change)` 当分页变更时重新加载数据
102
- */
103
- front?: boolean;
104
- /**
105
- * 后端分页是否采用`0`基索引,只在`data`类型为`string`时有效,默认:`false`
106
- */
107
- zeroIndexed?: boolean;
108
- /**
109
- * 指定分页显示的位置,默认:`bottom`
110
- */
111
- position?: 'top' | 'bottom' | 'both';
112
- /**
113
- * 指定分页分页方向,默认:`right`
114
- */
115
- placement?: 'left' | 'center' | 'right';
116
- /**
117
- * 是否显示分页器,默认:`true`
118
- */
119
- show?: boolean;
120
- /**
121
- * 是否显示分页器中改变页数,默认:`false`
122
- */
123
- showSize?: boolean;
124
- /**
125
- * 分页器中每页显示条目数下拉框值,默认:`[10, 20, 30, 40, 50]`
126
- */
127
- pageSizes?: number[];
128
- /**
129
- * 是否显示分页器中快速跳转,默认:`false`
130
- */
131
- showQuickJumper?: boolean;
132
- /**
133
- * 是否显示总数据量,默认:`true`
134
- * - `boolean` 类型显示与否,默认模板:`共 {{total}} 条`
135
- * - `string` 自定义模板,模板变量:
136
- * - `{{total}}` 表示数据总量
137
- * - `{{range[0]}}` 表示当前页开始数量值
138
- * - `{{range[1]}}` 表示当前页结束数量值
139
- */
140
- total?: string | boolean;
141
- /**
142
- * 用于自定义页码的结构,用法参照 Pagination 组件
143
- */
144
- itemRender?: TemplateRef<PaginationItemRenderContext> | null;
145
- /**
146
- * 当添加该属性时,显示为简单分页,默认:`false`
147
- */
148
- simple?: boolean;
149
- /**
150
- * 切换分页时返回顶部,默认:`true`
151
- */
152
- toTop?: boolean;
153
- /**
154
- * 返回顶部偏移值,默认:`100`
155
- */
156
- toTopOffset?: number;
157
- };
158
- /**
159
- * 重命名排序值,`columns` 的重命名高于属性
160
- */
161
- sortReName?: {
162
- ascend?: string;
163
- descend?: string;
164
- };
165
- /**
166
- * 单排序规则
167
- * - 若不指定,则返回:`columnName=ascend|descend`
168
- * - 若指定,则返回:`sort=columnName.(ascend|descend)`
169
- */
170
- singleSort?: {
171
- /** 请求参数名,默认:`sort` */
172
- key?: string;
173
- /** 列名与状态间分隔符,默认:`.` */
174
- nameSeparator?: string;
175
- };
176
- /**
177
- * 是否多排序,当 `sort` 多个相同值时自动合并,建议后端支持时使用
178
- */
179
- multiSort?: {
180
- /** 请求参数名,默认:`sort` */
181
- key?: string;
182
- /** 不同属性间分隔符,默认:`-` */
183
- separator?: string;
184
- /** 列名与状态间分隔符,默认:`.` */
185
- nameSeparator?: string;
186
- /**
187
- * 是否以数组的形式传递参数
188
- * - `true` 表示使用 `url?sort=name.asc&sort=age.desc` 形式
189
- * - `false` 表示使用 `url?sort=name.asc-age.desc` 形式
190
- */
191
- arrayParam?: boolean;
192
- /**
193
- * 是否全局多排序模式,默认:`true`
194
- * - `true` 表示所有 `st` 默认为多排序
195
- * - `false` 表示需要为每个 `st` 添加 `multiSort` 才会视为多排序模式
196
- */
197
- global?: boolean;
198
- /**
199
- * 是否保持空值的键名,默认:`true`
200
- * - `true` 表示不管是否有排序都会发送 `key` 键名
201
- * - `false` 表示无排序动作时不会发送 `key` 键名
202
- */
203
- keepEmptyKey?: boolean;
204
- };
205
- /**
206
- * 按钮模态框配置
207
- */
208
- modal?: {
209
- /**
210
- * 是否只传递纯净数据
211
- */
212
- pureRecoard?: boolean;
213
- /**
214
- * 指定模态框目标组件的接收参数名,默认:`record`
215
- */
216
- paramsName?: string;
217
- /** 大小;例如:lg、600,默认:`lg` */
218
- size?: 'sm' | 'md' | 'lg' | 'xl' | '' | number;
219
- /** 对话框 [ModalOptions](https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/components/modal/modal-types.ts) 参数 */
220
- modalOptions?: ModalOptions;
221
- /** 是否精准(默认:`true`),若返回值非空值(`null`或`undefined`)视为成功,否则视为错误 */
222
- exact?: boolean;
223
- };
224
- /**
225
- * 按钮抽屉配置
226
- */
227
- drawer?: {
228
- /**
229
- * 是否只传递纯净数据
230
- */
231
- pureRecoard?: boolean;
232
- /**
233
- * 抽屉目标组件的接收参数名,默认:`record`
234
- */
235
- paramsName?: string;
236
- /**
237
- * 大小;例如:lg、600,默认:`md`
238
- *
239
- * | 类型 | 默认大小 |
240
- * | --- | ------ |
241
- * | `sm` | `300` |
242
- * | `md` | `600` |
243
- * | `lg` | `900` |
244
- * | `xl` | `1200` |
245
- *
246
- * > 以上值,可通过覆盖相应的LESS参数自行调整
247
- */
248
- size?: 'sm' | 'md' | 'lg' | 'xl' | number;
249
- /**
250
- * 是否包含底部工具条,默认:`true`
251
- */
252
- footer?: boolean;
253
- /**
254
- * 底部工具条高度,默认:`55`
255
- */
256
- footerHeight?: number;
257
- /** 抽屉 [NzDrawerOptions](https://ng.ant.design/components/drawer/zh#nzdraweroptions) 参数 */
258
- drawerOptions?: NzDrawerOptions;
259
- };
260
- /**
261
- * 气泡参数
262
- */
263
- pop?: {
264
- /**
265
- * Title of the popover, default: `确认删除吗?`
266
- */
267
- title?: string;
268
- /**
269
- * Popover trigger mode, default: `click`
270
- */
271
- trigger?: 'click' | 'focus' | 'hover';
272
- /**
273
- * The position of the popover relative to the target, default: `top`
274
- */
275
- placement?: 'top' | 'left' | 'right' | 'bottom' | 'topLeft' | 'topRight' | 'bottomLeft' | 'bottomRight' | 'leftTop' | 'leftBottom' | 'rightTop' | 'rightBottom';
276
- /**
277
- * Class name of the popover card
278
- */
279
- overlayClassName?: string;
280
- /**
281
- * Style of the popover card
282
- */
283
- overlayStyle?: {
284
- [key: string]: string;
285
- };
286
- /**
287
- * Text of the Cancel button
288
- */
289
- cancelText?: string;
290
- /**
291
- * Text of the Confirm button
292
- */
293
- okText?: string;
294
- /**
295
- * Button `type` of the Confirm button
296
- */
297
- okType?: 'primary' | 'ghost' | 'dashed' | 'danger' | 'default';
298
- /**
299
- * Customize icon of confirmation
300
- */
301
- icon?: string;
302
- };
303
- /**
304
- * 过滤按钮确认文本
305
- */
306
- filterConfirmText?: string;
307
- /**
308
- * 过滤按钮重置文本
309
- */
310
- filterClearText?: string;
311
- /**
312
- * 按钮图标
313
- */
314
- btnIcon?: {
315
- /** 图标主题风格,默认:`outline` */
316
- theme?: 'outline' | 'twotone' | 'fill';
317
- /** 是否有旋转动画,默认:`false` */
318
- spin?: boolean;
319
- /** 仅适用双色图标,设置双色图标的主要颜色,仅对当前 icon 生效 */
320
- twoToneColor?: string;
321
- /** 指定来自 IconFont 的图标类型 */
322
- iconfont?: string;
323
- };
324
- /**
325
- * 行号索引,默认:`1`
326
- * - 计算规则为:`index + noIndex`
327
- */
328
- noIndex?: number;
329
- /**
330
- * 表格行的类名
331
- */
332
- rowClassName?: (record: NzSafeAny, index: number) => string;
333
- /**
334
- * 通过点击行来展开子行,Default: `false`
335
- */
336
- expandRowByClick?: boolean;
337
- /**
338
- * 手风琴模式,Default: `false`
339
- */
340
- expandAccordion?: boolean;
341
- /**
342
- * 指定 `width` 模式
343
- */
344
- widthMode?: {
345
- /**
346
- * 宽度类型,默认:`default`
347
- * - `default` 默认行为
348
- * - `strict` 严格模式,即强制按 `width` 指定的宽度呈现,并根据 `strictBehavior` 类型处理
349
- */
350
- type?: 'strict' | 'default';
351
- /**
352
- * 严格模式的处理行为,默认:`truncate`
353
- * - `wrap` 强制换行
354
- * - `truncate` 截短
355
- */
356
- strictBehavior?: 'wrap' | 'truncate';
357
- };
358
- /**
359
- * Default: `54`
360
- */
361
- virtualItemSize?: number;
362
- /**
363
- * Default: `200`
364
- */
365
- virtualMaxBufferPx?: number;
366
- /**
367
- * Default: `100`
368
- */
369
- virtualMinBufferPx?: number;
370
- /**
371
- * The TrackByFunction to use for tracking changes
372
- */
373
- virtualForTrackBy?: TrackByFunction<unknown>;
374
- /**
375
- * Conditional expression rendering behavior, can be set to `hide` (default) or `disabled`, Default: `hide`
376
- */
377
- iifBehavior?: 'hide' | 'disabled';
378
- /**
379
- * The spinning indicator
380
- */
381
- loadingIndicator?: TemplateRef<void>;
382
- /**
383
- * Specifies a delay in milliseconds for loading state (prevent flush)
384
- */
385
- loadingDelay?: number;
386
- /**
387
- * Custom no result content
388
- */
389
- noResult?: string | TemplateRef<void>;
390
- /**
391
- * Safe rendering type, default: `safeHtml`
392
- *
393
- * 安全渲染方式,默认:`safeHtml`
394
- */
395
- safeType?: 'text' | 'html' | 'safeHtml';
396
- /**
397
- * Override the default request behavior, you can customize your own request implementation, for example: Graphql
398
- *
399
- * 覆盖默认的请求行为,可以自定义自己的请求实现,例如:Graphql
400
- */
401
- customRequest?: (options: {
402
- method: string;
403
- url: string;
404
- options: {
405
- body?: unknown;
406
- headers?: HttpHeaders | {
407
- [header: string]: string | string[];
408
- };
409
- params?: HttpParams | {
410
- [param: string]: string | string[];
411
- };
412
- };
413
- }) => Observable<NzSafeAny>;
414
- /**
415
- * Date format
416
- *
417
- * 日期格式化
418
- */
419
- date?: {
420
- /**
421
- * Format string, default: `yyyy-MM-dd HH:mm`
422
- *
423
- * 格式化字符串,默认:`yyyy-MM-dd HH:mm`
424
- */
425
- format: string;
426
- };
427
- yn?: {
428
- /**
429
- * 真值条件,(默认:`true`)
430
- */
431
- truth?: unknown;
432
- /**
433
- * 徽章 `true` 时文本,(默认:`是`)
434
- */
435
- yes?: string;
436
- /**
437
- * 徽章 `false` 时文本,(默认:`否`)
438
- */
439
- no?: string;
440
- /**
441
- * 徽章显示风格,默认:`icon`
442
- * - `full` 图标和文本
443
- * - `icon` 图标
444
- * - `text` 文本
445
- */
446
- mode?: 'full' | 'icon' | 'text';
447
- };
448
- /**
449
- * Max button option can be showed, and the extra part are auto generated under `more`
450
- *
451
- * 配置最多显示多少个按钮,多余部分自动生成至 `更多` 下面
452
- *
453
- * > 注意:若在 `buttons` 下配置过按钮组会导致其失效
454
- */
455
- maxMultipleButton?: {
456
- /**
457
- * 更多按钮文本,默认:`更多`
458
- */
459
- text?: string;
460
- /**
461
- * 超出数量自动合并,默认:`2`
462
- */
463
- count?: number;
464
- };
465
- }
1
+ import { HttpHeaders, HttpParams } from '@angular/common/http';
2
+ import { TemplateRef, TrackByFunction } from '@angular/core';
3
+ import { Observable } from 'rxjs';
4
+ import type { NzSafeAny } from 'ng-zorro-antd/core/types';
5
+ import type { NzDrawerOptions } from 'ng-zorro-antd/drawer';
6
+ import type { ModalOptions } from 'ng-zorro-antd/modal';
7
+ import type { PaginationItemRenderContext } from 'ng-zorro-antd/pagination';
8
+ export interface YunzaiSTConfig {
9
+ /**
10
+ * 起始页码,默认为:`1`
11
+ */
12
+ pi?: number;
13
+ /**
14
+ * 每页数量,默认:`10`
15
+ */
16
+ ps?: number;
17
+ /**
18
+ * 是否显示边框,默认:`false`
19
+ */
20
+ bordered?: boolean;
21
+ /**
22
+ * table大小,默认:`default`
23
+ */
24
+ size?: 'small' | 'middle' | 'default';
25
+ /**
26
+ * 是否开启响应式,默认:`true`
27
+ */
28
+ responsive?: boolean;
29
+ /**
30
+ * 是否在小屏幕下才显示顶部与底部,默认:`false`
31
+ */
32
+ responsiveHideHeaderFooter?: boolean;
33
+ /** 请求体配置 */
34
+ req?: {
35
+ /**
36
+ * 分页类型,默认:`page`
37
+ * - `page` 使用 `pi`,`ps` 组合
38
+ * - `skip` 使用 `skip`,`limit` 组合
39
+ */
40
+ type?: 'page' | 'skip';
41
+ /**
42
+ * Whether to ignore `null` or `unfind` values in parameters
43
+ *
44
+ * 是否忽略参数中 `null` 或 `undefind` 值
45
+ */
46
+ ignoreParamNull?: Boolean;
47
+ /** 请求方法,默认:`GET` */
48
+ method?: string;
49
+ /** 请求体 `Header` */
50
+ headers?: NzSafeAny;
51
+ /**
52
+ * 重命名参数 `pi`、`ps`,默认:`{ pi: 'pi', ps: 'ps', skip: 'skip', limit: 'limit' }`
53
+ * - `{ pi: 'Page' }` => `pi` 会被替换成 Page
54
+ */
55
+ reName?: {
56
+ pi?: string;
57
+ ps?: string;
58
+ skip?: string;
59
+ limit?: string;
60
+ };
61
+ /**
62
+ * 是否将请求所有参数数据都放入 `body` 当中(`url` 地址本身参数除外),仅当 `method: 'POST'` 时有效,默认:`false`
63
+ */
64
+ allInBody?: boolean;
65
+ /**
66
+ * 是否延迟加载数据,即渲染结束后不会主动发起请求,默认:`false`
67
+ */
68
+ lazyLoad?: boolean;
69
+ /**
70
+ * 请求前数据处理
71
+ */
72
+ process?: (requestOptions: NzSafeAny) => NzSafeAny;
73
+ };
74
+ /** 返回体配置 */
75
+ res?: {
76
+ /**
77
+ * 重命名返回参数 `total`、`list`,默认:`{ list: ['list'], total: ['total'] }`
78
+ * - `{ total: 'Total' }` => Total 会被当作 `total`
79
+ */
80
+ reName?: {
81
+ total?: string | string[];
82
+ list?: string | string[];
83
+ } | ((result: NzSafeAny, options: {
84
+ pi: number;
85
+ ps: number;
86
+ total: number;
87
+ }) => {
88
+ total: number;
89
+ list: NzSafeAny[];
90
+ });
91
+ /**
92
+ * 数据预处理
93
+ */
94
+ process?: (data: NzSafeAny[], rawData?: NzSafeAny) => NzSafeAny[];
95
+ };
96
+ /** 返回体配置 */
97
+ page?: {
98
+ /**
99
+ * 前端分页,当 `data` 为`any[]` 或 `Observable<any[]>` 有效,默认:`true`
100
+ * - `true` 由 `st` 根据 `data` 长度受控分页,包括:排序、过滤等
101
+ * - `false` 由用户通过 `total` 和 `data` 参数受控分页,并维护 `(change)` 当分页变更时重新加载数据
102
+ */
103
+ front?: boolean;
104
+ /**
105
+ * 后端分页是否采用`0`基索引,只在`data`类型为`string`时有效,默认:`false`
106
+ */
107
+ zeroIndexed?: boolean;
108
+ /**
109
+ * 指定分页显示的位置,默认:`bottom`
110
+ */
111
+ position?: 'top' | 'bottom' | 'both';
112
+ /**
113
+ * 指定分页分页方向,默认:`right`
114
+ */
115
+ placement?: 'left' | 'center' | 'right';
116
+ /**
117
+ * 是否显示分页器,默认:`true`
118
+ */
119
+ show?: boolean;
120
+ /**
121
+ * 是否显示分页器中改变页数,默认:`false`
122
+ */
123
+ showSize?: boolean;
124
+ /**
125
+ * 分页器中每页显示条目数下拉框值,默认:`[10, 20, 30, 40, 50]`
126
+ */
127
+ pageSizes?: number[];
128
+ /**
129
+ * 是否显示分页器中快速跳转,默认:`false`
130
+ */
131
+ showQuickJumper?: boolean;
132
+ /**
133
+ * 是否显示总数据量,默认:`true`
134
+ * - `boolean` 类型显示与否,默认模板:`共 {{total}} 条`
135
+ * - `string` 自定义模板,模板变量:
136
+ * - `{{total}}` 表示数据总量
137
+ * - `{{range[0]}}` 表示当前页开始数量值
138
+ * - `{{range[1]}}` 表示当前页结束数量值
139
+ */
140
+ total?: string | boolean;
141
+ /**
142
+ * 用于自定义页码的结构,用法参照 Pagination 组件
143
+ */
144
+ itemRender?: TemplateRef<PaginationItemRenderContext> | null;
145
+ /**
146
+ * 当添加该属性时,显示为简单分页,默认:`false`
147
+ */
148
+ simple?: boolean;
149
+ /**
150
+ * 切换分页时返回顶部,默认:`true`
151
+ */
152
+ toTop?: boolean;
153
+ /**
154
+ * 返回顶部偏移值,默认:`100`
155
+ */
156
+ toTopOffset?: number;
157
+ };
158
+ /**
159
+ * 重命名排序值,`columns` 的重命名高于属性
160
+ */
161
+ sortReName?: {
162
+ ascend?: string;
163
+ descend?: string;
164
+ };
165
+ /**
166
+ * 单排序规则
167
+ * - 若不指定,则返回:`columnName=ascend|descend`
168
+ * - 若指定,则返回:`sort=columnName.(ascend|descend)`
169
+ */
170
+ singleSort?: {
171
+ /** 请求参数名,默认:`sort` */
172
+ key?: string;
173
+ /** 列名与状态间分隔符,默认:`.` */
174
+ nameSeparator?: string;
175
+ };
176
+ /**
177
+ * 是否多排序,当 `sort` 多个相同值时自动合并,建议后端支持时使用
178
+ */
179
+ multiSort?: {
180
+ /** 请求参数名,默认:`sort` */
181
+ key?: string;
182
+ /** 不同属性间分隔符,默认:`-` */
183
+ separator?: string;
184
+ /** 列名与状态间分隔符,默认:`.` */
185
+ nameSeparator?: string;
186
+ /**
187
+ * 是否以数组的形式传递参数
188
+ * - `true` 表示使用 `url?sort=name.asc&sort=age.desc` 形式
189
+ * - `false` 表示使用 `url?sort=name.asc-age.desc` 形式
190
+ */
191
+ arrayParam?: boolean;
192
+ /**
193
+ * 是否全局多排序模式,默认:`true`
194
+ * - `true` 表示所有 `st` 默认为多排序
195
+ * - `false` 表示需要为每个 `st` 添加 `multiSort` 才会视为多排序模式
196
+ */
197
+ global?: boolean;
198
+ /**
199
+ * 是否保持空值的键名,默认:`true`
200
+ * - `true` 表示不管是否有排序都会发送 `key` 键名
201
+ * - `false` 表示无排序动作时不会发送 `key` 键名
202
+ */
203
+ keepEmptyKey?: boolean;
204
+ };
205
+ /**
206
+ * 按钮模态框配置
207
+ */
208
+ modal?: {
209
+ /**
210
+ * 是否只传递纯净数据
211
+ */
212
+ pureRecoard?: boolean;
213
+ /**
214
+ * 指定模态框目标组件的接收参数名,默认:`record`
215
+ */
216
+ paramsName?: string;
217
+ /** 大小;例如:lg、600,默认:`lg` */
218
+ size?: 'sm' | 'md' | 'lg' | 'xl' | '' | number;
219
+ /** 对话框 [ModalOptions](https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/components/modal/modal-types.ts) 参数 */
220
+ modalOptions?: ModalOptions;
221
+ /** 是否精准(默认:`true`),若返回值非空值(`null`或`undefined`)视为成功,否则视为错误 */
222
+ exact?: boolean;
223
+ };
224
+ /**
225
+ * 按钮抽屉配置
226
+ */
227
+ drawer?: {
228
+ /**
229
+ * 是否只传递纯净数据
230
+ */
231
+ pureRecoard?: boolean;
232
+ /**
233
+ * 抽屉目标组件的接收参数名,默认:`record`
234
+ */
235
+ paramsName?: string;
236
+ /**
237
+ * 大小;例如:lg、600,默认:`md`
238
+ *
239
+ * | 类型 | 默认大小 |
240
+ * | --- | ------ |
241
+ * | `sm` | `300` |
242
+ * | `md` | `600` |
243
+ * | `lg` | `900` |
244
+ * | `xl` | `1200` |
245
+ *
246
+ * > 以上值,可通过覆盖相应的LESS参数自行调整
247
+ */
248
+ size?: 'sm' | 'md' | 'lg' | 'xl' | number;
249
+ /**
250
+ * 是否包含底部工具条,默认:`true`
251
+ */
252
+ footer?: boolean;
253
+ /**
254
+ * 底部工具条高度,默认:`55`
255
+ */
256
+ footerHeight?: number;
257
+ /** 抽屉 [NzDrawerOptions](https://ng.ant.design/components/drawer/zh#nzdraweroptions) 参数 */
258
+ drawerOptions?: NzDrawerOptions;
259
+ };
260
+ /**
261
+ * 气泡参数
262
+ */
263
+ pop?: {
264
+ /**
265
+ * Title of the popover, default: `确认删除吗?`
266
+ */
267
+ title?: string;
268
+ /**
269
+ * Popover trigger mode, default: `click`
270
+ */
271
+ trigger?: 'click' | 'focus' | 'hover';
272
+ /**
273
+ * The position of the popover relative to the target, default: `top`
274
+ */
275
+ placement?: 'top' | 'left' | 'right' | 'bottom' | 'topLeft' | 'topRight' | 'bottomLeft' | 'bottomRight' | 'leftTop' | 'leftBottom' | 'rightTop' | 'rightBottom';
276
+ /**
277
+ * Class name of the popover card
278
+ */
279
+ overlayClassName?: string;
280
+ /**
281
+ * Style of the popover card
282
+ */
283
+ overlayStyle?: {
284
+ [key: string]: string;
285
+ };
286
+ /**
287
+ * Text of the Cancel button
288
+ */
289
+ cancelText?: string;
290
+ /**
291
+ * Text of the Confirm button
292
+ */
293
+ okText?: string;
294
+ /**
295
+ * Button `type` of the Confirm button
296
+ */
297
+ okType?: 'primary' | 'ghost' | 'dashed' | 'danger' | 'default';
298
+ /**
299
+ * Customize icon of confirmation
300
+ */
301
+ icon?: string;
302
+ };
303
+ /**
304
+ * 过滤按钮确认文本
305
+ */
306
+ filterConfirmText?: string;
307
+ /**
308
+ * 过滤按钮重置文本
309
+ */
310
+ filterClearText?: string;
311
+ /**
312
+ * 按钮图标
313
+ */
314
+ btnIcon?: {
315
+ /** 图标主题风格,默认:`outline` */
316
+ theme?: 'outline' | 'twotone' | 'fill';
317
+ /** 是否有旋转动画,默认:`false` */
318
+ spin?: boolean;
319
+ /** 仅适用双色图标,设置双色图标的主要颜色,仅对当前 icon 生效 */
320
+ twoToneColor?: string;
321
+ /** 指定来自 IconFont 的图标类型 */
322
+ iconfont?: string;
323
+ };
324
+ /**
325
+ * 行号索引,默认:`1`
326
+ * - 计算规则为:`index + noIndex`
327
+ */
328
+ noIndex?: number;
329
+ /**
330
+ * 表格行的类名
331
+ */
332
+ rowClassName?: (record: NzSafeAny, index: number) => string;
333
+ /**
334
+ * 通过点击行来展开子行,Default: `false`
335
+ */
336
+ expandRowByClick?: boolean;
337
+ /**
338
+ * 手风琴模式,Default: `false`
339
+ */
340
+ expandAccordion?: boolean;
341
+ /**
342
+ * 指定 `width` 模式
343
+ */
344
+ widthMode?: {
345
+ /**
346
+ * 宽度类型,默认:`default`
347
+ * - `default` 默认行为
348
+ * - `strict` 严格模式,即强制按 `width` 指定的宽度呈现,并根据 `strictBehavior` 类型处理
349
+ */
350
+ type?: 'strict' | 'default';
351
+ /**
352
+ * 严格模式的处理行为,默认:`truncate`
353
+ * - `wrap` 强制换行
354
+ * - `truncate` 截短
355
+ */
356
+ strictBehavior?: 'wrap' | 'truncate';
357
+ };
358
+ /**
359
+ * Default: `54`
360
+ */
361
+ virtualItemSize?: number;
362
+ /**
363
+ * Default: `200`
364
+ */
365
+ virtualMaxBufferPx?: number;
366
+ /**
367
+ * Default: `100`
368
+ */
369
+ virtualMinBufferPx?: number;
370
+ /**
371
+ * The TrackByFunction to use for tracking changes
372
+ */
373
+ virtualForTrackBy?: TrackByFunction<unknown>;
374
+ /**
375
+ * Conditional expression rendering behavior, can be set to `hide` (default) or `disabled`, Default: `hide`
376
+ */
377
+ iifBehavior?: 'hide' | 'disabled';
378
+ /**
379
+ * The spinning indicator
380
+ */
381
+ loadingIndicator?: TemplateRef<void>;
382
+ /**
383
+ * Specifies a delay in milliseconds for loading state (prevent flush)
384
+ */
385
+ loadingDelay?: number;
386
+ /**
387
+ * Custom no result content
388
+ */
389
+ noResult?: string | TemplateRef<void>;
390
+ /**
391
+ * Safe rendering type, default: `safeHtml`
392
+ *
393
+ * 安全渲染方式,默认:`safeHtml`
394
+ */
395
+ safeType?: 'text' | 'html' | 'safeHtml';
396
+ /**
397
+ * Override the default request behavior, you can customize your own request implementation, for example: Graphql
398
+ *
399
+ * 覆盖默认的请求行为,可以自定义自己的请求实现,例如:Graphql
400
+ */
401
+ customRequest?: (options: {
402
+ method: string;
403
+ url: string;
404
+ options: {
405
+ body?: unknown;
406
+ headers?: HttpHeaders | {
407
+ [header: string]: string | string[];
408
+ };
409
+ params?: HttpParams | {
410
+ [param: string]: string | string[];
411
+ };
412
+ };
413
+ }) => Observable<NzSafeAny>;
414
+ /**
415
+ * Date format
416
+ *
417
+ * 日期格式化
418
+ */
419
+ date?: {
420
+ /**
421
+ * Format string, default: `yyyy-MM-dd HH:mm`
422
+ *
423
+ * 格式化字符串,默认:`yyyy-MM-dd HH:mm`
424
+ */
425
+ format: string;
426
+ };
427
+ yn?: {
428
+ /**
429
+ * 真值条件,(默认:`true`)
430
+ */
431
+ truth?: unknown;
432
+ /**
433
+ * 徽章 `true` 时文本,(默认:`是`)
434
+ */
435
+ yes?: string;
436
+ /**
437
+ * 徽章 `false` 时文本,(默认:`否`)
438
+ */
439
+ no?: string;
440
+ /**
441
+ * 徽章显示风格,默认:`icon`
442
+ * - `full` 图标和文本
443
+ * - `icon` 图标
444
+ * - `text` 文本
445
+ */
446
+ mode?: 'full' | 'icon' | 'text';
447
+ };
448
+ /**
449
+ * Max button option can be showed, and the extra part are auto generated under `more`
450
+ *
451
+ * 配置最多显示多少个按钮,多余部分自动生成至 `更多` 下面
452
+ *
453
+ * > 注意:若在 `buttons` 下配置过按钮组会导致其失效
454
+ */
455
+ maxMultipleButton?: {
456
+ /**
457
+ * 更多按钮文本,默认:`更多`
458
+ */
459
+ text?: string;
460
+ /**
461
+ * 超出数量自动合并,默认:`2`
462
+ */
463
+ count?: number;
464
+ };
465
+ }