gridjs-spreadsheet 25.3.0 → 25.5.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.
- package/example/Dockerfile +10 -7
- package/example/pom.xml +2 -2
- package/example/src/main/java/com/aspose/gridjs/demo/GridjsdemoApplication.java +15 -14
- package/example/src/main/java/com/aspose/gridjs/demo/MyConfig.java +31 -0
- package/example/src/main/java/com/aspose/gridjs/demo/controller/GridJs2Controller.java +38 -401
- package/example/src/main/resources/application.properties +3 -7
- package/example/src/main/resources/static/xspread/content/img/20130527034914143.gif +0 -0
- package/example/src/main/resources/static/xspread/content/img/20130527034914229.gif +0 -0
- package/example/src/main/resources/static/xspread/content/img/20130527034916363.gif +0 -0
- package/example/src/main/resources/static/xspread/content/img/20130527034917946.gif +0 -0
- package/example/src/main/resources/static/xspread/content/img/20130527034918372.gif +0 -0
- package/example/src/main/resources/templates/fileFromUpload.html +18 -19
- package/example/src/main/resources/templates/index.html +2 -2
- package/package.json +1 -1
- package/preview.gif +0 -0
- package/readme.md +53 -4
- package/xspreadsheet.css +51 -3
- package/xspreadsheet.js +5 -5
- package/2922578eabb1a88d1974da56c65189ba.svg +0 -907
- package/9ab1b217edd126e8925e88cc8f25a154.svg +0 -88
- /package/{example/src/main/resources/static/xspread/555f60323063f2b68b6eac7ce9c45b19.svg → 555f60323063f2b68b6eac7ce9c45b19.svg} +0 -0
- /package/{example/src/main/resources/static/xspread/a3b683289420fd8ec937908397907279.svg → a3b683289420fd8ec937908397907279.svg} +0 -0
|
@@ -2,16 +2,12 @@ spring.application.name=gridjsdemo
|
|
|
2
2
|
spring.servlet.multipart.enabled=true
|
|
3
3
|
spring.servlet.multipart.max-file-size=10MB
|
|
4
4
|
spring.servlet.multipart.max-request-size=10MB
|
|
5
|
-
#for local test
|
|
6
5
|
#testconfig.ListDir=D:\\codebase\\customerissue\\wb\\tempfromdownload\\
|
|
7
|
-
#
|
|
8
|
-
#testconfig.CachePath=F:\\storage\\gridjs_temp
|
|
9
|
-
#testconfig.UploadPath=F:\\storage\\upload
|
|
10
|
-
#testconfig.AsposeLicensePath=F:\\aspose.lic
|
|
11
|
-
#for docker linux
|
|
6
|
+
#for linux
|
|
12
7
|
testconfig.ListDir=/app/wb
|
|
13
|
-
testconfig.FileName=
|
|
8
|
+
testconfig.FileName=chart.xlsx
|
|
14
9
|
testconfig.CachePath=/app/grid_cache
|
|
15
10
|
testconfig.UploadPath=/app/upload
|
|
16
11
|
testconfig.AsposeLicensePath=/app/license
|
|
12
|
+
|
|
17
13
|
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -5,24 +5,23 @@
|
|
|
5
5
|
<meta name="viewport" content="width=device-width" />
|
|
6
6
|
<title>gridjs-web-demo</title>
|
|
7
7
|
|
|
8
|
-
<style>
|
|
9
|
-
::-webkit-scrollbar, ::-webkit-scrollbar-button {
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
::-webkit-scrollbar-track {
|
|
15
|
-
-webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);
|
|
16
|
-
border-radius: 10px;
|
|
17
|
-
background-color: #FFF;
|
|
18
|
-
}
|
|
8
|
+
<style>
|
|
9
|
+
::-webkit-scrollbar, ::-webkit-scrollbar-button {
|
|
10
|
+
width: 8px;
|
|
11
|
+
height: 8px;
|
|
12
|
+
}
|
|
19
13
|
|
|
20
|
-
::-webkit-scrollbar-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
}
|
|
14
|
+
::-webkit-scrollbar-track {
|
|
15
|
+
-webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.3);
|
|
16
|
+
border-radius: 10px;
|
|
17
|
+
background-color: #FFF;
|
|
18
|
+
}
|
|
25
19
|
|
|
20
|
+
::-webkit-scrollbar-thumb {
|
|
21
|
+
border-radius: 10px;
|
|
22
|
+
-webkit-box-shadow: inset 0 0 6px rgba(0,0,0,.3);
|
|
23
|
+
background-color: #AAA;
|
|
24
|
+
}
|
|
26
25
|
html, body {
|
|
27
26
|
margin: 0;
|
|
28
27
|
padding: 0;
|
|
@@ -43,8 +42,8 @@ html, body {
|
|
|
43
42
|
height: 100%;
|
|
44
43
|
object-fit: contain; /* 对于图像或视频很有用 */
|
|
45
44
|
}
|
|
46
|
-
</style>
|
|
47
|
-
<!--<link rel="stylesheet" href="./quantumui.min.22.5.5.2.css?v=20220312" />-->
|
|
45
|
+
</style>
|
|
46
|
+
<!--<link rel="stylesheet" href="./quantumui.min.22.5.5.2.css?v=20220312" />-->
|
|
48
47
|
<link rel="stylesheet" href="/xspread/bootstrap.min.22.5.5.2.css?v=20220315" />
|
|
49
48
|
<script src="/xspread/jquery-2.1.1.js"></script>
|
|
50
49
|
<link rel="stylesheet" href="/xspread/jquery-ui.min.css" />
|
|
@@ -165,7 +164,7 @@ html, body {
|
|
|
165
164
|
const imageuploadurl1 = "/GridJs2/AddImage";
|
|
166
165
|
const imageuploadurl2 = "/GridJs2/AddImageByURL";
|
|
167
166
|
const imagecopyurl = "/GridJs2/CopyImage"; // x.spreadsheet.locale('zh-cn');
|
|
168
|
-
const lazyLoadingUrl = "/GridJs2/
|
|
167
|
+
const lazyLoadingUrl = "/GridJs2/LazyLoadingStreamJson";
|
|
169
168
|
xs = x_spreadsheet('#gridjs-demo-uid', option).loadData(sheets).change((cdata) => {
|
|
170
169
|
console.log(cdata);
|
|
171
170
|
console.log(xs.validate());
|
|
@@ -52,7 +52,7 @@ html, body {
|
|
|
52
52
|
<!-- <script src="vconsole.min.js"></script> -->
|
|
53
53
|
<!--for local reference-->
|
|
54
54
|
<!--
|
|
55
|
-
|
|
55
|
+
<link rel="stylesheet" href="/xspread/xspreadsheet.css?v=20230525" />
|
|
56
56
|
<script src="/xspread/xspreadsheet.js?v=20230525"></script>
|
|
57
57
|
-->
|
|
58
58
|
|
|
@@ -165,7 +165,7 @@ html, body {
|
|
|
165
165
|
const imageuploadurl1 = "/GridJs2/AddImage";
|
|
166
166
|
const imageuploadurl2 = "/GridJs2/AddImageByURL";
|
|
167
167
|
const imagecopyurl = "/GridJs2/CopyImage"; // x.spreadsheet.locale('zh-cn');
|
|
168
|
-
const lazyLoadingUrl = "/GridJs2/
|
|
168
|
+
const lazyLoadingUrl = "/GridJs2/LazyLoadingStreamJson";
|
|
169
169
|
xs = x_spreadsheet('#gridjs-demo-uid', option).loadData(sheets).change((cdata) => {
|
|
170
170
|
console.log(cdata);
|
|
171
171
|
console.log(xs.validate());
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "gridjs-spreadsheet",
|
|
3
|
-
"version": "25.
|
|
3
|
+
"version": "25.5.0",
|
|
4
4
|
"description": "this is the client side script for GridJs which is a lightweight, scalable, and customizable toolkit that provides cross-platform web applications, enables convenient development for editing or viewing Excel/Spreadsheet files, offers simple deployment, and provides easy-to-use APIs based on JSON format.",
|
|
5
5
|
"types": "index.d.ts",
|
|
6
6
|
"main": "xspreadsheet.js",
|
package/preview.gif
ADDED
|
Binary file
|
package/readme.md
CHANGED
|
@@ -163,14 +163,42 @@ const s = new Spreadsheet("#gridjs-demo")
|
|
|
163
163
|
|
|
164
164
|
## Bind events
|
|
165
165
|
```javascript
|
|
166
|
-
//single selection
|
|
166
|
+
// single selection
|
|
167
167
|
xs.on('cell-selected', (cell, ri, ci) => {});
|
|
168
|
-
//range selection
|
|
168
|
+
// range selection
|
|
169
169
|
xs.on('cells-selected', (cell, { sri, sci, eri, eci }) => {});
|
|
170
|
-
//shape/image selection
|
|
170
|
+
// shape/image selection
|
|
171
171
|
xs.on('object-selected', (obj) => { console.log('obj id:', obj.id, ', type: ', obj.type); })
|
|
172
172
|
// edited on cell
|
|
173
173
|
xs.on('cell-edited', (text, ri, ci) => {});
|
|
174
|
+
// cells updated
|
|
175
|
+
xs.on('cells-updated', (name, cells) => {
|
|
176
|
+
console.log('cells updated for sheet name:', name);
|
|
177
|
+
cells.forEach((acell, index, array) => {
|
|
178
|
+
console.log('acell got updated:', acell);
|
|
179
|
+
})
|
|
180
|
+
})
|
|
181
|
+
// cells deleted
|
|
182
|
+
xs.on('cells-deleted', (range) => {
|
|
183
|
+
console.log('cells deleted :', range);
|
|
184
|
+
})
|
|
185
|
+
// rows deleted
|
|
186
|
+
xs.on('rows-deleted', (ri, n) => {
|
|
187
|
+
console.log('rows-deleted :', ri, ",size", n);
|
|
188
|
+
})
|
|
189
|
+
// columns deleted
|
|
190
|
+
xs.on('columns-deleted', (ci, n) => {
|
|
191
|
+
console.log('columns-deleted :', ci, ",size", n);
|
|
192
|
+
})
|
|
193
|
+
// rows inserted
|
|
194
|
+
xs.on('rows-inserted', (ri, n) => {
|
|
195
|
+
console.log('rows-inserted :', ri, ",size", n);
|
|
196
|
+
})
|
|
197
|
+
// columns inserted
|
|
198
|
+
xs.on('columns-inserted', (ci, n) => {
|
|
199
|
+
console.log('columns-inserted :', ci, ",size", n);
|
|
200
|
+
})
|
|
201
|
+
|
|
174
202
|
```
|
|
175
203
|
|
|
176
204
|
## update cell-text
|
|
@@ -196,6 +224,7 @@ xs.cellStyle(ri, ci);
|
|
|
196
224
|
- Paint format
|
|
197
225
|
- Clear format
|
|
198
226
|
- Format
|
|
227
|
+
- Number Format
|
|
199
228
|
- Font/Font size/ bold/italic/Underline/Strike
|
|
200
229
|
- Highlight
|
|
201
230
|
- Shape/Image resize/rotate/position ajustment
|
|
@@ -226,6 +255,7 @@ xs.cellStyle(ri, ci);
|
|
|
226
255
|
- Insert/Delete form controls
|
|
227
256
|
- Insert/Delete common shapes for autoshape
|
|
228
257
|
- Support display two colors gradient in fill effects
|
|
258
|
+
- Mobile compatibility
|
|
229
259
|
|
|
230
260
|
|
|
231
261
|
## Github-Demos
|
|
@@ -283,12 +313,31 @@ v25.1:
|
|
|
283
313
|
|
|
284
314
|
- support copy/paste from MS-Excel
|
|
285
315
|
|
|
316
|
+
v25.2:
|
|
317
|
+
|
|
318
|
+
- support copy/paste from MS-Excel
|
|
319
|
+
- enhancement for automatic operations for user’s convenience, such as extending blank row/column, page scrolling, …
|
|
320
|
+
|
|
321
|
+
v25.3:
|
|
322
|
+
|
|
323
|
+
- support more shotcut keys
|
|
324
|
+
- support pasting the content copied from excel to multiple target areas
|
|
325
|
+
|
|
326
|
+
v25.4:
|
|
327
|
+
|
|
328
|
+
- support show statistics information in the lower right corner when cells are selected
|
|
329
|
+
|
|
330
|
+
v25.5:
|
|
331
|
+
|
|
332
|
+
- add support for Polish menus.
|
|
333
|
+
- support APIs for insert/delete rows/columns
|
|
334
|
+
|
|
286
335
|
## License
|
|
287
336
|
|
|
288
337
|
MIT
|
|
289
338
|
|
|
290
339
|
## Support
|
|
291
340
|
|
|
292
|
-
You can ask any question or request features using the [Forum](https://forum.aspose.com/c/cells).
|
|
341
|
+
You can ask any question or request features or report bugs using the [Forum](https://forum.aspose.com/c/cells).
|
|
293
342
|
|
|
294
343
|
[Product Page](https://products.aspose.com/cells) | [Product Documentation](https://docs.aspose.com/cells/net/aspose-cells-gridjs/) | [Blog](https://blog.aspose.com/category/cells/) |[API Reference](https://reference.aspose.com/cells/net/aspose.cells.gridjs/) | [Source Code Samples](https://github.com/aspose-cells/Aspose.Cells-for-.NET/tree/master/Examples_GridJs) | [Free Support](https://forum.aspose.com/c/cells)
|
package/xspreadsheet.css
CHANGED
|
@@ -145,14 +145,14 @@ body {
|
|
|
145
145
|
height: 60px;
|
|
146
146
|
margin: 10px;
|
|
147
147
|
background-repeat: no-repeat;
|
|
148
|
-
background-image: url(
|
|
148
|
+
background-image: url(555f60323063f2b68b6eac7ce9c45b19.svg);
|
|
149
149
|
}
|
|
150
150
|
.x-spreadsheet-banner-icon-s {
|
|
151
151
|
width: 30px;
|
|
152
152
|
height: 30px;
|
|
153
153
|
margin: 5px;
|
|
154
154
|
background-repeat: no-repeat;
|
|
155
|
-
background-image: url(
|
|
155
|
+
background-image: url(555f60323063f2b68b6eac7ce9c45b19.svg);
|
|
156
156
|
}
|
|
157
157
|
.x-spreadsheet-banner-filename {
|
|
158
158
|
width: max-content;
|
|
@@ -656,6 +656,8 @@ body {
|
|
|
656
656
|
.x-spreadsheet-bottombar {
|
|
657
657
|
position: relative;
|
|
658
658
|
border-top: 1px solid #e0e2e4;
|
|
659
|
+
display: flex;
|
|
660
|
+
justify-content: space-between;
|
|
659
661
|
}
|
|
660
662
|
.x-spreadsheet-bottombar .x-spreadsheet-menu > li {
|
|
661
663
|
line-height: 40px;
|
|
@@ -665,6 +667,24 @@ body {
|
|
|
665
667
|
vertical-align: middle;
|
|
666
668
|
border-right: 1px solid #e8eaed;
|
|
667
669
|
}
|
|
670
|
+
.x-spreadsheet-bottombar .x-spreadsheet-stats {
|
|
671
|
+
border-left: 1px solid #e0e2e4;
|
|
672
|
+
padding: 0 10px;
|
|
673
|
+
height: 40px;
|
|
674
|
+
display: flex;
|
|
675
|
+
align-items: center;
|
|
676
|
+
color: #666;
|
|
677
|
+
font-size: 12px;
|
|
678
|
+
overflow: hidden;
|
|
679
|
+
}
|
|
680
|
+
.x-spreadsheet-bottombar .x-spreadsheet-stat-item {
|
|
681
|
+
margin-right: 12px;
|
|
682
|
+
white-space: nowrap;
|
|
683
|
+
}
|
|
684
|
+
.x-spreadsheet-bottombar [class^="x-spreadsheet-stat-value-"] {
|
|
685
|
+
font-weight: bold;
|
|
686
|
+
color: #333;
|
|
687
|
+
}
|
|
668
688
|
.x-spreadsheet-menu {
|
|
669
689
|
list-style: none;
|
|
670
690
|
margin: 0;
|
|
@@ -1274,7 +1294,7 @@ form fieldset select {
|
|
|
1274
1294
|
display: inline-block;
|
|
1275
1295
|
}
|
|
1276
1296
|
.x-spreadsheet-icon .x-spreadsheet-icon-img {
|
|
1277
|
-
background-image: url(
|
|
1297
|
+
background-image: url(a3b683289420fd8ec937908397907279.svg);
|
|
1278
1298
|
position: absolute;
|
|
1279
1299
|
width: 262px;
|
|
1280
1300
|
height: 444px;
|
|
@@ -1835,6 +1855,34 @@ input[type=number]::-webkit-outer-spin-button {
|
|
|
1835
1855
|
border-top: none;
|
|
1836
1856
|
flex: 1;
|
|
1837
1857
|
}
|
|
1858
|
+
.x-spreadsheet-selector-dropdown-button {
|
|
1859
|
+
position: absolute;
|
|
1860
|
+
width: 24px;
|
|
1861
|
+
height: 18px;
|
|
1862
|
+
background-color: rgba(224, 224, 224, 0.32);
|
|
1863
|
+
border: 1px solid #ccc;
|
|
1864
|
+
border-radius: 3px;
|
|
1865
|
+
display: flex;
|
|
1866
|
+
justify-content: center;
|
|
1867
|
+
align-items: center;
|
|
1868
|
+
cursor: pointer;
|
|
1869
|
+
box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
|
|
1870
|
+
transition: background-color 0.2s;
|
|
1871
|
+
z-index: 1000;
|
|
1872
|
+
}
|
|
1873
|
+
.x-spreadsheet-hover-highlight {
|
|
1874
|
+
background-color: rgba(75, 137, 255, 0.1);
|
|
1875
|
+
position: absolute;
|
|
1876
|
+
}
|
|
1877
|
+
.x-spreadsheet-selector-dropdown-button:hover {
|
|
1878
|
+
background-color: #d5d5d5;
|
|
1879
|
+
}
|
|
1880
|
+
.x-spreadsheet-selector-dropdown-button::after {
|
|
1881
|
+
content: '';
|
|
1882
|
+
border-left: 4px solid transparent;
|
|
1883
|
+
border-right: 4px solid transparent;
|
|
1884
|
+
border-top: 6px solid #777;
|
|
1885
|
+
}
|
|
1838
1886
|
.x-spreadsheet-bar-label {
|
|
1839
1887
|
flex: 0 0 auto;
|
|
1840
1888
|
display: inline-block;
|