gridjs-spreadsheet 25.7.0 → 25.8.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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "gridjs-spreadsheet",
3
- "version": "25.7.0",
3
+ "version": "25.8.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/readme.md CHANGED
@@ -171,6 +171,34 @@ xs.on('cells-selected', (cell, { sri, sci, eri, eci }) => {});
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
@@ -259,13 +289,13 @@ Modern browsers(chrome, firefox, Safari).
259
289
 
260
290
  v24.9.1:
261
291
 
262
- - fix bug that fail to insert column in the new added worksheet
263
- - fix bug that fail to rename worksheet
264
- - support lazy loading
292
+ - Fix bug that fail to insert column in the new added worksheet
293
+ - Fix bug that fail to rename worksheet
294
+ - Support lazy loading
265
295
 
266
296
  v24.10:
267
297
 
268
- - support a view option to show formulas
298
+ - Support a view option to show formulas
269
299
 
270
300
  v24.11:
271
301
 
@@ -273,15 +303,52 @@ v24.11:
273
303
 
274
304
  v24.12:
275
305
 
276
- - support API to show HTML nodes and interact with HTML nodes at specified cell positions
277
- - support pre-check event for row/column delete/insert operations
278
- - support row/column insert/delete events for client APIs
279
- - support events for updating cells
280
- - support multiple instances on one page
306
+ - Support API to show HTML nodes and interact with HTML nodes at specified cell positions
307
+ - Support pre-check event for row/column delete/insert operations
308
+ - Support row/column insert/delete events for client APIs
309
+ - Support events for updating cells
310
+ - Support multiple instances on one page
281
311
 
282
312
  v25.1:
283
313
 
284
- - support copy/paste from MS-Excel
314
+ - Support copy/paste from MS-Excel
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
+
335
+ v25.6:
336
+
337
+ - Support APIs for resize rows/columns
338
+ - Support APIs for hide/unhide rows/columns
339
+
340
+ v25.7:
341
+
342
+ - Support APIs to enable /disable editable range
343
+ - Support APIs to add/modify/delete worksheet 
344
+ - Support APIs to add/modify/delete comment
345
+ - Support APIs to set attribute for range of cells
346
+ - Support APIs to delete for range of cells
347
+
348
+ v25.8:
349
+
350
+ - Support automatic text wrapping
351
+ - Support API to apply font setting in textbox control
285
352
 
286
353
  ## License
287
354
 
@@ -289,6 +356,6 @@ MIT
289
356
 
290
357
  ## Support
291
358
 
292
- You can ask any question or request features using the [Forum](https://forum.aspose.com/c/cells).
359
+ You can ask any question or request features or report bugs using the [Forum](https://forum.aspose.com/c/cells).
293
360
 
294
361
  [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(555f60323063f2b68b6eac7ce9c45b19.svg);
148
+ background-image: url(9ab1b217edd126e8925e88cc8f25a154.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(555f60323063f2b68b6eac7ce9c45b19.svg);
155
+ background-image: url(9ab1b217edd126e8925e88cc8f25a154.svg);
156
156
  }
157
157
  .x-spreadsheet-banner-filename {
158
158
  width: max-content;
@@ -1381,7 +1381,7 @@ form fieldset select {
1381
1381
  display: inline-block;
1382
1382
  }
1383
1383
  .x-spreadsheet-icon .x-spreadsheet-icon-img {
1384
- background-image: url(ae125bc972519a804601f2ead209255c.svg);
1384
+ background-image: url(113a871731ce1f8a28d02ff60e8d9478.svg);
1385
1385
  position: absolute;
1386
1386
  width: 262px;
1387
1387
  height: 444px;
@@ -2112,12 +2112,26 @@ dialog p {
2112
2112
  .x-spreadsheet-contextmenu-submenu {
2113
2113
  position: absolute;
2114
2114
  display: none;
2115
- padding: 5px 0;
2116
2115
  background: #fff;
2117
2116
  border: 1px solid #e0e2e4;
2118
2117
  box-shadow: 1px 2px 5px 2px rgba(51, 51, 51, 0.15);
2119
2118
  z-index: 101;
2120
- width: 260px;
2119
+ width: max-content;
2120
+ }
2121
+ .x-spreadsheet-custom-button {
2122
+ border: 1px solid #ddd;
2123
+ background-color: white;
2124
+ color: #333;
2125
+ padding: 4px 12px;
2126
+ border-radius: 6px;
2127
+ cursor: pointer;
2128
+ font-size: 13px;
2129
+ transition: background-color 0.2s ease;
2130
+ outline: none;
2131
+ }
2132
+ .x-spreadsheet-custom-button:hover {
2133
+ background-color: #e9ecef;
2134
+ border-color: #ccc;
2121
2135
  }
2122
2136
  .x-spreadsheet-item.parent .label {
2123
2137
  float: right;
@@ -2125,4 +2139,141 @@ dialog p {
2125
2139
  color: #999;
2126
2140
  line-height: inherit;
2127
2141
  }
2142
+ .x-spreadsheet-alignment-page {
2143
+ display: flex;
2144
+ padding: 15px;
2145
+ gap: 25px;
2146
+ height: 100%;
2147
+ }
2148
+ .x-spreadsheet-alignment-page .left-section {
2149
+ display: flex;
2150
+ flex-direction: column;
2151
+ gap: 20px;
2152
+ flex: 1;
2153
+ }
2154
+ .x-spreadsheet-alignment-page .right-section {
2155
+ flex: 0 0 160px;
2156
+ }
2157
+ .x-spreadsheet-alignment-page .x-spreadsheet-modal-component-section-container {
2158
+ padding-bottom: 10px;
2159
+ border-bottom: 1px solid #e0e2e4;
2160
+ }
2161
+ .x-spreadsheet-alignment-page .x-spreadsheet-modal-component-section-container:last-child {
2162
+ border-bottom: none;
2163
+ }
2164
+ .x-spreadsheet-alignment-page .x-spreadsheet-modal-component-dropdown {
2165
+ width: 100%;
2166
+ align-items: center;
2167
+ flex-direction: row;
2168
+ }
2169
+ .x-spreadsheet-alignment-page .x-spreadsheet-modal-component-dropdown label {
2170
+ flex: 0 0 80px;
2171
+ }
2172
+ .x-spreadsheet-alignment-page .x-spreadsheet-modal-component-dropdown select {
2173
+ flex: 1;
2174
+ }
2175
+ .x-spreadsheet-alignment-page .x-spreadsheet-modal-component-checkbox {
2176
+ margin-top: 5px;
2177
+ }
2178
+ .x-spreadsheet-orientation-container {
2179
+ display: flex;
2180
+ align-items: center;
2181
+ flex-direction: column;
2182
+ min-width: unset;
2183
+ }
2184
+ .x-spreadsheet-orientation-box-container {
2185
+ display: flex;
2186
+ height: 200px;
2187
+ align-items: stretch;
2188
+ }
2189
+ .x-spreadsheet-orientation-box {
2190
+ width: 150px;
2191
+ height: 200px;
2192
+ border: 1px solid #999;
2193
+ position: relative;
2194
+ user-select: none;
2195
+ cursor: pointer;
2196
+ }
2197
+ .x-spreadsheet-orientation-pointer {
2198
+ width: 100%;
2199
+ position: absolute;
2200
+ top: 45%;
2201
+ left: calc(10px + 5%);
2202
+ transform-origin: 0 50%;
2203
+ display: flex;
2204
+ align-items: center;
2205
+ }
2206
+ .x-spreadsheet-orientation-pointer .degree-text {
2207
+ color: #333;
2208
+ padding-right: 5px;
2209
+ }
2210
+ .x-spreadsheet-orientation-line {
2211
+ width: 35%;
2212
+ height: 2px;
2213
+ background-color: red;
2214
+ margin-left: 2px;
2215
+ }
2216
+ .x-spreadsheet-orientation-line::after {
2217
+ content: '';
2218
+ position: absolute;
2219
+ right: 58%;
2220
+ top: 50%;
2221
+ transform: translateY(-50%) rotate(45deg);
2222
+ width: 8px;
2223
+ height: 8px;
2224
+ background-color: red;
2225
+ }
2226
+ .x-spreadsheet-orientation-v-btn {
2227
+ display: flex;
2228
+ flex-direction: column;
2229
+ justify-content: center;
2230
+ align-items: center;
2231
+ padding: 10px 5px;
2232
+ margin-right: 10px;
2233
+ border: 1px solid #999;
2234
+ cursor: pointer;
2235
+ background-color: #fff;
2236
+ width: 30px;
2237
+ box-sizing: border-box;
2238
+ }
2239
+ .x-spreadsheet-orientation-v-btn span {
2240
+ display: block;
2241
+ line-height: 1.2;
2242
+ }
2243
+ .x-spreadsheet-orientation-v-btn.active {
2244
+ background-color: #000;
2245
+ border-color: #000;
2246
+ color: #fff;
2247
+ }
2248
+ .x-spreadsheet-orientation-input-container {
2249
+ margin-top: 10px;
2250
+ display: flex;
2251
+ align-items: center;
2252
+ }
2253
+ .x-spreadsheet-orientation-input-container .x-spreadsheet-modal-component-input-div {
2254
+ width: 60px;
2255
+ }
2256
+ .x-spreadsheet-orientation-input-container .x-spreadsheet-modal-component-input-div input {
2257
+ text-align: right;
2258
+ }
2259
+ .x-spreadsheet-orientation-input-container span {
2260
+ margin-left: 5px;
2261
+ }
2262
+ .x-spreadsheet-orientation-point {
2263
+ position: absolute;
2264
+ background-color: black;
2265
+ }
2266
+ .x-spreadsheet-orientation-point.minor {
2267
+ width: 4px;
2268
+ height: 4px;
2269
+ transform: translate(-50%, -50%);
2270
+ }
2271
+ .x-spreadsheet-orientation-point:not(.minor) {
2272
+ width: 8px;
2273
+ height: 8px;
2274
+ transform: translate(-50%, -50%) rotate(45deg);
2275
+ }
2276
+ .x-spreadsheet-orientation-point.active {
2277
+ background-color: red;
2278
+ }
2128
2279