@builder6/server 0.2.0

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 (185) hide show
  1. package/dist/app.controller.d.ts +3 -0
  2. package/dist/app.controller.js +29 -0
  3. package/dist/app.controller.js.map +1 -0
  4. package/dist/app.express.d.ts +2 -0
  5. package/dist/app.express.js +45 -0
  6. package/dist/app.express.js.map +1 -0
  7. package/dist/app.module.d.ts +2 -0
  8. package/dist/app.module.js +48 -0
  9. package/dist/app.module.js.map +1 -0
  10. package/dist/auth/admin.guard.d.ts +8 -0
  11. package/dist/auth/admin.guard.js +47 -0
  12. package/dist/auth/admin.guard.js.map +1 -0
  13. package/dist/auth/auth.controller.d.ts +7 -0
  14. package/dist/auth/auth.controller.js +80 -0
  15. package/dist/auth/auth.controller.js.map +1 -0
  16. package/dist/auth/auth.guard.d.ts +7 -0
  17. package/dist/auth/auth.guard.js +41 -0
  18. package/dist/auth/auth.guard.js.map +1 -0
  19. package/dist/auth/auth.module.d.ts +2 -0
  20. package/dist/auth/auth.module.js +34 -0
  21. package/dist/auth/auth.module.js.map +1 -0
  22. package/dist/auth/auth.service.d.ts +22 -0
  23. package/dist/auth/auth.service.js +172 -0
  24. package/dist/auth/auth.service.js.map +1 -0
  25. package/dist/auth/index.d.ts +5 -0
  26. package/dist/auth/index.js +22 -0
  27. package/dist/auth/index.js.map +1 -0
  28. package/dist/b6.config.d.ts +0 -0
  29. package/dist/b6.config.js +6 -0
  30. package/dist/b6.config.js.map +1 -0
  31. package/dist/b6.server.d.ts +2 -0
  32. package/dist/b6.server.js +276 -0
  33. package/dist/b6.server.js.map +1 -0
  34. package/dist/files/files.controller.d.ts +8 -0
  35. package/dist/files/files.controller.js +110 -0
  36. package/dist/files/files.controller.js.map +1 -0
  37. package/dist/files/files.module.d.ts +2 -0
  38. package/dist/files/files.module.js +25 -0
  39. package/dist/files/files.module.js.map +1 -0
  40. package/dist/files/files.service.d.ts +30 -0
  41. package/dist/files/files.service.js +206 -0
  42. package/dist/files/files.service.js.map +1 -0
  43. package/dist/files/index.d.ts +3 -0
  44. package/dist/files/index.js +20 -0
  45. package/dist/files/index.js.map +1 -0
  46. package/dist/index.d.ts +5 -0
  47. package/dist/index.js +28 -0
  48. package/dist/index.js.map +1 -0
  49. package/dist/main.d.ts +1 -0
  50. package/dist/main.js +10 -0
  51. package/dist/main.js.map +1 -0
  52. package/dist/microsoft365/microsoft365.controller.d.ts +8 -0
  53. package/dist/microsoft365/microsoft365.controller.js +83 -0
  54. package/dist/microsoft365/microsoft365.controller.js.map +1 -0
  55. package/dist/microsoft365/microsoft365.module.d.ts +2 -0
  56. package/dist/microsoft365/microsoft365.module.js +22 -0
  57. package/dist/microsoft365/microsoft365.module.js.map +1 -0
  58. package/dist/microsoft365/microsoft365.service.d.ts +3 -0
  59. package/dist/microsoft365/microsoft365.service.js +32 -0
  60. package/dist/microsoft365/microsoft365.service.js.map +1 -0
  61. package/dist/moleculer/env.config.d.ts +2 -0
  62. package/dist/moleculer/env.config.js +38 -0
  63. package/dist/moleculer/env.config.js.map +1 -0
  64. package/dist/moleculer/moleculer.config.d.ts +2 -0
  65. package/dist/moleculer/moleculer.config.js +78 -0
  66. package/dist/moleculer/moleculer.config.js.map +1 -0
  67. package/dist/moleculer/moleculer.module.d.ts +2 -0
  68. package/dist/moleculer/moleculer.module.js +20 -0
  69. package/dist/moleculer/moleculer.module.js.map +1 -0
  70. package/dist/moleculer/moleculer.service.d.ts +11 -0
  71. package/dist/moleculer/moleculer.service.js +95 -0
  72. package/dist/moleculer/moleculer.service.js.map +1 -0
  73. package/dist/mongodb/index.d.ts +2 -0
  74. package/dist/mongodb/index.js +19 -0
  75. package/dist/mongodb/index.js.map +1 -0
  76. package/dist/mongodb/mongodb.module.d.ts +2 -0
  77. package/dist/mongodb/mongodb.module.js +21 -0
  78. package/dist/mongodb/mongodb.module.js.map +1 -0
  79. package/dist/mongodb/mongodb.service.d.ts +17 -0
  80. package/dist/mongodb/mongodb.service.js +113 -0
  81. package/dist/mongodb/mongodb.service.js.map +1 -0
  82. package/dist/oidc/oidc.controller.d.ts +7 -0
  83. package/dist/oidc/oidc.controller.js +93 -0
  84. package/dist/oidc/oidc.controller.js.map +1 -0
  85. package/dist/oidc/oidc.module.d.ts +2 -0
  86. package/dist/oidc/oidc.module.js +22 -0
  87. package/dist/oidc/oidc.module.js.map +1 -0
  88. package/dist/oidc/oidc.service.d.ts +15 -0
  89. package/dist/oidc/oidc.service.js +38 -0
  90. package/dist/oidc/oidc.service.js.map +1 -0
  91. package/dist/rooms/globals/augmentation.d.ts +25 -0
  92. package/dist/rooms/globals/augmentation.js +3 -0
  93. package/dist/rooms/globals/augmentation.js.map +1 -0
  94. package/dist/rooms/lib/DateToString.d.ts +3 -0
  95. package/dist/rooms/lib/DateToString.js +3 -0
  96. package/dist/rooms/lib/DateToString.js.map +1 -0
  97. package/dist/rooms/lib/Json.d.ts +9 -0
  98. package/dist/rooms/lib/Json.js +18 -0
  99. package/dist/rooms/lib/Json.js.map +1 -0
  100. package/dist/rooms/lib/utils.d.ts +33 -0
  101. package/dist/rooms/lib/utils.js +122 -0
  102. package/dist/rooms/lib/utils.js.map +1 -0
  103. package/dist/rooms/protocol/AuthToken.d.ts +50 -0
  104. package/dist/rooms/protocol/AuthToken.js +49 -0
  105. package/dist/rooms/protocol/AuthToken.js.map +1 -0
  106. package/dist/rooms/protocol/Authentication.d.ts +22 -0
  107. package/dist/rooms/protocol/Authentication.js +3 -0
  108. package/dist/rooms/protocol/Authentication.js.map +1 -0
  109. package/dist/rooms/protocol/BaseActivitiesData.d.ts +4 -0
  110. package/dist/rooms/protocol/BaseActivitiesData.js +3 -0
  111. package/dist/rooms/protocol/BaseActivitiesData.js.map +1 -0
  112. package/dist/rooms/protocol/BaseRoomInfo.d.ts +6 -0
  113. package/dist/rooms/protocol/BaseRoomInfo.js +3 -0
  114. package/dist/rooms/protocol/BaseRoomInfo.js.map +1 -0
  115. package/dist/rooms/protocol/BaseUserMeta.d.ts +10 -0
  116. package/dist/rooms/protocol/BaseUserMeta.js +3 -0
  117. package/dist/rooms/protocol/BaseUserMeta.js.map +1 -0
  118. package/dist/rooms/protocol/ClientMsg.d.ts +41 -0
  119. package/dist/rooms/protocol/ClientMsg.js +13 -0
  120. package/dist/rooms/protocol/ClientMsg.js.map +1 -0
  121. package/dist/rooms/protocol/Comments.d.ts +146 -0
  122. package/dist/rooms/protocol/Comments.js +3 -0
  123. package/dist/rooms/protocol/Comments.js.map +1 -0
  124. package/dist/rooms/protocol/InboxNotifications.d.ts +49 -0
  125. package/dist/rooms/protocol/InboxNotifications.js +3 -0
  126. package/dist/rooms/protocol/InboxNotifications.js.map +1 -0
  127. package/dist/rooms/protocol/Op.d.ts +82 -0
  128. package/dist/rooms/protocol/Op.js +28 -0
  129. package/dist/rooms/protocol/Op.js.map +1 -0
  130. package/dist/rooms/protocol/SerializedCrdt.d.ts +40 -0
  131. package/dist/rooms/protocol/SerializedCrdt.js +19 -0
  132. package/dist/rooms/protocol/SerializedCrdt.js.map +1 -0
  133. package/dist/rooms/protocol/ServerMsg.d.ts +128 -0
  134. package/dist/rooms/protocol/ServerMsg.js +25 -0
  135. package/dist/rooms/protocol/ServerMsg.js.map +1 -0
  136. package/dist/rooms/protocol/VersionHistory.d.ts +9 -0
  137. package/dist/rooms/protocol/VersionHistory.js +3 -0
  138. package/dist/rooms/protocol/VersionHistory.js.map +1 -0
  139. package/dist/rooms/rooms.controller.d.ts +64 -0
  140. package/dist/rooms/rooms.controller.js +401 -0
  141. package/dist/rooms/rooms.controller.js.map +1 -0
  142. package/dist/rooms/rooms.gateway.d.ts +30 -0
  143. package/dist/rooms/rooms.gateway.js +189 -0
  144. package/dist/rooms/rooms.gateway.js.map +1 -0
  145. package/dist/rooms/rooms.guard.d.ts +9 -0
  146. package/dist/rooms/rooms.guard.js +48 -0
  147. package/dist/rooms/rooms.guard.js.map +1 -0
  148. package/dist/rooms/rooms.module.d.ts +2 -0
  149. package/dist/rooms/rooms.module.js +36 -0
  150. package/dist/rooms/rooms.module.js.map +1 -0
  151. package/dist/rooms/rooms.service.d.ts +51 -0
  152. package/dist/rooms/rooms.service.js +223 -0
  153. package/dist/rooms/rooms.service.js.map +1 -0
  154. package/dist/steedos/mongodb.controller.d.ts +13 -0
  155. package/dist/steedos/mongodb.controller.js +355 -0
  156. package/dist/steedos/mongodb.controller.js.map +1 -0
  157. package/dist/steedos/object.service.d.ts +6 -0
  158. package/dist/steedos/object.service.js +34 -0
  159. package/dist/steedos/object.service.js.map +1 -0
  160. package/dist/steedos/steedos.module.d.ts +2 -0
  161. package/dist/steedos/steedos.module.js +27 -0
  162. package/dist/steedos/steedos.module.js.map +1 -0
  163. package/dist/tables/meta.service.d.ts +6 -0
  164. package/dist/tables/meta.service.js +82 -0
  165. package/dist/tables/meta.service.js.map +1 -0
  166. package/dist/tables/records.service.d.ts +13 -0
  167. package/dist/tables/records.service.js +73 -0
  168. package/dist/tables/records.service.js.map +1 -0
  169. package/dist/tables/tables.controller.d.ts +24 -0
  170. package/dist/tables/tables.controller.js +414 -0
  171. package/dist/tables/tables.controller.js.map +1 -0
  172. package/dist/tables/tables.module.d.ts +2 -0
  173. package/dist/tables/tables.module.js +28 -0
  174. package/dist/tables/tables.module.js.map +1 -0
  175. package/package.json +112 -0
  176. package/public/ag-grid/locale_zh.js +595 -0
  177. package/public/grid/index.html +25 -0
  178. package/public/grid/index.js +207 -0
  179. package/public/grid/styles.css +4 -0
  180. package/public/pivot/index.html +30 -0
  181. package/public/pivot/index.js +109 -0
  182. package/public/pivot/styles.css +7 -0
  183. package/views/ag-grid/README.md +15 -0
  184. package/views/ag-grid/ag-grid.hbs +1099 -0
  185. package/views/devextreme/datagrid.hbs +240 -0
@@ -0,0 +1,207 @@
1
+ async function initializeGrid(baseId = 'test', tableId='test') {
2
+ const tableResponse = await fetch(`/b6/v0/meta/bases/${baseId}/tables/${tableId}`);
3
+ const table = await tableResponse.json();
4
+
5
+ console.log(table)
6
+
7
+ function isNotEmpty(value) {
8
+ return value !== undefined && value !== null && value !== "";
9
+ }
10
+
11
+ var customDataSource = new DevExpress.data.CustomStore({
12
+ key: "_id",
13
+ load: function(loadOptions) {
14
+ var d = $.Deferred();
15
+ var params = {};
16
+
17
+ [
18
+ "filter",
19
+ "group",
20
+ "groupSummary",
21
+ "parentIds",
22
+ "requireGroupCount",
23
+ "requireTotalCount",
24
+ "searchExpr",
25
+ "searchOperation",
26
+ "searchValue",
27
+ "select",
28
+ "sort",
29
+ "skip",
30
+ "take",
31
+ "totalSummary",
32
+ "userData"
33
+ ].forEach(function(i) {
34
+ if(i in loadOptions && isNotEmpty(loadOptions[i])) {
35
+ params[i] = JSON.stringify(loadOptions[i]);
36
+ }
37
+ });
38
+
39
+ $.getJSON(`/b6/v0/${baseId}/${tableId}`, params)
40
+ .done(function(response) {
41
+ d.resolve(response.data, {
42
+ totalCount: response.totalCount,
43
+ summary: response.summary,
44
+ groupCount: response.groupCount
45
+ });
46
+ })
47
+ .fail(function() { throw "Data loading error" });
48
+ return d.promise();
49
+ },
50
+
51
+ insert: function(values) {
52
+ var deferred = $.Deferred();
53
+ $.ajax({
54
+ url: `/b6/v0/${baseId}/${tableId}`,
55
+ method: "POST",
56
+ contentType: "application/json",
57
+ data: JSON.stringify(values)
58
+ })
59
+ .done(deferred.resolve)
60
+ .fail(function(e){
61
+ deferred.reject("Insertion failed");
62
+ });
63
+ return deferred.promise();
64
+ },
65
+ remove: function(key) {
66
+ var deferred = $.Deferred();
67
+ $.ajax({
68
+ url: `/b6/v0/${baseId}/${tableId}/` + encodeURIComponent(key),
69
+ method: "DELETE"
70
+ })
71
+ .done(deferred.resolve)
72
+ .fail(function(e){
73
+ deferred.reject("Deletion failed");
74
+ });
75
+ return deferred.promise();
76
+ },
77
+ update: function(key, values) {
78
+ var deferred = $.Deferred();
79
+ $.ajax({
80
+ url: `/b6/v0/${baseId}/${tableId}/` + encodeURIComponent(key),
81
+ method: "PUT",
82
+ contentType: "application/json",
83
+ data: JSON.stringify(values)
84
+ })
85
+ .done(deferred.resolve)
86
+ .fail(function(e){
87
+ deferred.reject("Update failed");
88
+ });
89
+ return deferred.promise();
90
+ }
91
+ // Needed to process selected value(s) in the SelectBox, Lookup, Autocomplete, and DropDownBox
92
+ // byKey: function(key) {
93
+ // var d = new $.Deferred();
94
+ // $.get('https://mydomain.com/MyDataService?id=' + key)
95
+ // .done(function(result) {
96
+ // d.resolve(result);
97
+ // });
98
+ // return d.promise();
99
+ // }
100
+ });
101
+
102
+
103
+ const columns = table.fields.map(field => {
104
+ let dataType;
105
+
106
+ // 根据字段类型设置 dataType
107
+ switch (field.type) {
108
+ case 'text':
109
+ dataType = 'string';
110
+ break;
111
+ case 'number':
112
+ dataType = 'number';
113
+ break;
114
+ case 'date':
115
+ dataType = 'date';
116
+ break;
117
+ case 'datetime':
118
+ dataType = 'datetime';
119
+ break;
120
+ case 'boolean':
121
+ dataType = 'boolean';
122
+ break;
123
+ default:
124
+ dataType = 'string'; // 默认类型
125
+ }
126
+
127
+ return {
128
+ dataField: field.name.toLowerCase(), // 假设字段名需要小写
129
+ caption: field.name,
130
+ dataType: dataType,
131
+ };
132
+ });
133
+
134
+ $('#gridContainer').dxDataGrid({
135
+ dataSource: customDataSource,
136
+ paging: {
137
+ pageSize: 10,
138
+ },
139
+ pager: {
140
+ visible: true,
141
+ showPageSizeSelector: true,
142
+ allowedPageSizes: [10, 25, 50, 100],
143
+ },
144
+ remoteOperations: true,
145
+ searchPanel: {
146
+ visible: true,
147
+ highlightCaseSensitive: true,
148
+ },
149
+ groupPanel: { visible: true },
150
+ grouping: {
151
+ autoExpandAll: false,
152
+ },
153
+ editing: {
154
+ mode: 'popup',
155
+ allowUpdating: true,
156
+ allowAdding: true,
157
+ allowDeleting: true,
158
+ popup: {
159
+ title: 'Employee Info',
160
+ showTitle: true,
161
+ width: 700,
162
+ height: 525,
163
+ },
164
+ },
165
+ filterPanel: { visible: true },
166
+ headerFilter: { visible: true },
167
+ selection: {
168
+ mode: 'multiple',
169
+ },
170
+ allowColumnReordering: true,
171
+ allowColumnResizing: true,
172
+ columnAutoWidth: true,
173
+ columnChooser: {
174
+ enabled: true,
175
+ },
176
+ columnFixing: {
177
+ enabled: true,
178
+ },
179
+ rowAlternationEnabled: true,
180
+ showBorders: true,
181
+ width: '100%',
182
+ columns: columns,
183
+ export: {
184
+ enabled: true,
185
+ allowExportSelectedData: true,
186
+ },
187
+ onExporting(e) {
188
+ const workbook = new ExcelJS.Workbook();
189
+ const worksheet = workbook.addWorksheet(table.name);
190
+
191
+ DevExpress.excelExporter.exportDataGrid({
192
+ component: e.component,
193
+ worksheet,
194
+ autoFilterEnabled: true,
195
+ }).then(() => {
196
+ workbook.xlsx.writeBuffer().then((buffer) => {
197
+ saveAs(new Blob([buffer], { type: 'application/octet-stream' }),`${table.name}.xlsx`);
198
+ });
199
+ });
200
+ },
201
+ onContentReady(e) {
202
+ },
203
+ });
204
+ }
205
+
206
+ $(() => {initializeGrid()})
207
+
@@ -0,0 +1,4 @@
1
+ .dx-datagrid .dx-data-row > td.bullet {
2
+ padding-top: 0;
3
+ padding-bottom: 0;
4
+ }
@@ -0,0 +1,30 @@
1
+ <!DOCTYPE html>
2
+ <html xmlns="http://www.w3.org/1999/xhtml" lang="en">
3
+ <head>
4
+ <title>Pivot Grid</title>
5
+ <meta http-equiv="X-UA-Compatible" content="IE=edge" />
6
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
7
+ <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=5.0" />
8
+ <script src="https://cdn.jsdelivr.net/npm/jquery@3.5.1/dist/jquery.min.js"></script>
9
+ <script src="https://cdn.jsdelivr.net/npm/cldrjs@0.4.4/dist/cldr.min.js"></script>
10
+ <script src="https://cdn.jsdelivr.net/npm/cldrjs@0.4.4/dist/cldr/event.js"></script>
11
+ <script src="https://cdn.jsdelivr.net/npm/cldrjs@0.4.4/dist/cldr/supplemental.min.js"></script>
12
+ <script src="https://cdn.jsdelivr.net/npm/cldrjs@0.4.4/dist/cldr/unresolved.min.js"></script>
13
+ <script src="https://cdn.jsdelivr.net/npm/exceljs@4.4.0/dist/exceljs.min.js"></script>
14
+ <script src="https://cdn.jsdelivr.net/npm/filesaver.js@1.3.4/FileSaver.js"></script>
15
+ <link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/devextreme@22.2.14/dist/css/dx.material.blue.light.css" />
16
+ <script src="https://cdn.jsdelivr.net/npm/devextreme@22.2.14/dist/js/dx.all.js"></script>
17
+ <!-- <script src="https://cdn.jsdelivr.net/npm/devextreme-aspnet-data@4.0.2/js/dx.aspnet.data.js"></script> -->
18
+
19
+ <link rel="stylesheet" type="text/css" href="styles.css" />
20
+ <script src="index.js"></script>
21
+ </head>
22
+ <body class="dx-viewport">
23
+ <div class="demo-container">
24
+ <div id="pivotgrid-demo">
25
+ <div id="pivotgrid-chart"></div>
26
+ <div id="pivotgrid"></div>
27
+ </div>
28
+ </div>
29
+ </body>
30
+ </html>
@@ -0,0 +1,109 @@
1
+ async function initializeGrid(baseId = 'test', tableId='test') {
2
+ const tableResponse = await fetch(`/b6/v0/meta/bases/${baseId}/tables/${tableId}`);
3
+ const table = await tableResponse.json();
4
+
5
+ console.log(table)
6
+
7
+ function isNotEmpty(value) {
8
+ return value !== undefined && value !== null && value !== "";
9
+ }
10
+
11
+ var customDataSource = {
12
+ key: "_id",
13
+ remoteOperations: true,
14
+ load: function(loadOptions) {
15
+ var d = $.Deferred();
16
+ var params = {};
17
+
18
+ [
19
+ "filter",
20
+ "group",
21
+ "groupSummary",
22
+ "parentIds",
23
+ "requireGroupCount",
24
+ "requireTotalCount",
25
+ "searchExpr",
26
+ "searchOperation",
27
+ "searchValue",
28
+ "select",
29
+ "sort",
30
+ "skip",
31
+ "take",
32
+ "totalSummary",
33
+ "userData"
34
+ ].forEach(function(i) {
35
+ if(i in loadOptions && isNotEmpty(loadOptions[i])) {
36
+ params[i] = JSON.stringify(loadOptions[i]);
37
+ }
38
+ });
39
+
40
+ $.getJSON(`/b6/v0/${baseId}/${tableId}`, params)
41
+ .done(function(response) {
42
+ d.resolve(response.data, {
43
+ totalCount: response.totalCount,
44
+ summary: response.summary,
45
+ groupCount: response.groupCount
46
+ });
47
+ })
48
+ .fail(function() { throw "Data loading error" });
49
+ return d.promise();
50
+ },
51
+ };
52
+
53
+ const pivotGridChart = $('#pivotgrid-chart').dxChart({
54
+ commonSeriesSettings: {
55
+ type: 'bar',
56
+ },
57
+ tooltip: {
58
+ enabled: true,
59
+ format: 'currency',
60
+ customizeTooltip(args) {
61
+ return {
62
+ html: `${args.seriesName} | Total<div class='currency'>${args.valueText}</div>`,
63
+ };
64
+ },
65
+ },
66
+ size: {
67
+ height: 200,
68
+ },
69
+ adaptiveLayout: {
70
+ width: 450,
71
+ },
72
+ }).dxChart('instance');
73
+
74
+ const pivotGrid = $('#pivotgrid').dxPivotGrid({
75
+ allowSortingBySummary: true,
76
+ allowFiltering: true,
77
+ showBorders: true,
78
+ showColumnGrandTotals: false,
79
+ showRowGrandTotals: false,
80
+ showRowTotals: false,
81
+ showColumnTotals: false,
82
+ fieldChooser: {
83
+ enabled: true,
84
+ allowSearch: true,
85
+ height: 600,
86
+ },
87
+ headerFilter: {
88
+ search: {
89
+ enabled: true,
90
+ },
91
+ showRelevantValues: true,
92
+ width: 300,
93
+ height: 400,
94
+ },
95
+ fieldPanel: {
96
+ visible: true,
97
+ },
98
+ dataSource: customDataSource,
99
+ }).dxPivotGrid('instance');
100
+
101
+ pivotGrid.bindChart(pivotGridChart, {
102
+ dataFieldsDisplayMode: 'splitPanes',
103
+ alternateDataFields: false,
104
+ });
105
+ }
106
+
107
+
108
+ $(() => {initializeGrid()})
109
+
@@ -0,0 +1,7 @@
1
+ #pivotgrid {
2
+ margin-top: 20px;
3
+ }
4
+
5
+ .currency {
6
+ text-align: center;
7
+ }
@@ -0,0 +1,15 @@
1
+ ## 数据校验
2
+
3
+ 先校验字段值有效性,校验合法的各种字段类型值,再校验用户配置的校验规则,最终把所有校验错误信息合并提示给用户。
4
+
5
+ ### 字段类型校验
6
+
7
+ 各种字段类型校验规则:
8
+
9
+ - number: 合法number,小数位数
10
+ - date: 合法的日期格式,YYYY-MM-DD、YYYY/MM/DD,兼容前导0省略情况,另外兼容了 YYYY-MM-DDTHH:MM:SS.SSSZ 这种服务端返回的格式(复制其它字段列保存时,是保存整行数据,日期列会自动取这种格式提交)
11
+ - select: 数据类型只支持字符串,且必须是字段定义过的选项范围内值
12
+ - boolean: true/false TRUE/FALSE
13
+
14
+ 其它逻辑:每种字段类型校验失败都不会去主动变更转换字段值,以原始值交给ag-grid显示以明显告知用户数据不合法。
15
+