gridjs-spreadsheet 25.6.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.
Files changed (22) hide show
  1. package/113a871731ce1f8a28d02ff60e8d9478.svg +914 -0
  2. package/9ab1b217edd126e8925e88cc8f25a154.svg +88 -0
  3. package/example/Dockerfile +7 -10
  4. package/example/pom.xml +3 -3
  5. package/example/src/main/java/com/aspose/gridjs/demo/MyConfig.java +2 -14
  6. package/example/src/main/java/com/aspose/gridjs/demo/controller/GridJs2Controller.java +9 -9
  7. package/example/src/main/resources/application.properties +7 -3
  8. package/example/src/main/resources/templates/fileFromUpload.html +18 -17
  9. package/example/src/main/resources/templates/index.html +1 -1
  10. package/package.json +1 -1
  11. package/readme.md +35 -22
  12. package/xspreadsheet.css +256 -7
  13. package/xspreadsheet.js +5 -5
  14. package/example/src/main/java/com/aspose/gridjs/demo/MyConfig.java.bak +0 -31
  15. package/example/src/main/resources/static/xspread/content/img/20130527034914143.gif +0 -0
  16. package/example/src/main/resources/static/xspread/content/img/20130527034914229.gif +0 -0
  17. package/example/src/main/resources/static/xspread/content/img/20130527034916363.gif +0 -0
  18. package/example/src/main/resources/static/xspread/content/img/20130527034917946.gif +0 -0
  19. package/example/src/main/resources/static/xspread/content/img/20130527034918372.gif +0 -0
  20. package/preview.gif +0 -0
  21. /package/{555f60323063f2b68b6eac7ce9c45b19.svg → example/src/main/resources/static/xspread/555f60323063f2b68b6eac7ce9c45b19.svg} +0 -0
  22. /package/{a3b683289420fd8ec937908397907279.svg → example/src/main/resources/static/xspread/a3b683289420fd8ec937908397907279.svg} +0 -0
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;
@@ -661,11 +661,43 @@ body {
661
661
  background: #f5f6f7;
662
662
  display: flex;
663
663
  }
664
+ .x-spreadsheet-scroll-button-container {
665
+ display: flex;
666
+ align-items: center;
667
+ flex-shrink: 0;
668
+ border-left: 1px solid #e0e2e4;
669
+ padding: 0 5px;
670
+ }
671
+ .x-spreadsheet-scroll-button {
672
+ width: 20px;
673
+ height: 20px;
674
+ line-height: 18px;
675
+ text-align: center;
676
+ cursor: pointer;
677
+ border: 1px solid #ccc;
678
+ border-radius: 50%;
679
+ margin: 0 2px;
680
+ user-select: none;
681
+ font-weight: bold;
682
+ color: #666;
683
+ background-color: #fff;
684
+ transition: background-color 0.2s, opacity 0.2s;
685
+ }
686
+ .x-spreadsheet-scroll-button:hover {
687
+ background-color: #f0f0f0;
688
+ }
689
+ .x-spreadsheet-scroll-button[disabled] {
690
+ opacity: 0.4;
691
+ cursor: not-allowed;
692
+ background-color: #f5f5f5;
693
+ pointer-events: none;
694
+ }
664
695
  .x-spreadsheet-bottombar {
665
696
  position: relative;
666
697
  border-top: 1px solid #e0e2e4;
667
698
  display: flex;
668
699
  justify-content: space-between;
700
+ align-items: center;
669
701
  }
670
702
  .x-spreadsheet-bottombar .x-spreadsheet-menu > li {
671
703
  line-height: 40px;
@@ -673,10 +705,8 @@ body {
673
705
  padding-top: 0;
674
706
  padding-bottom: 0;
675
707
  vertical-align: middle;
676
- border-right: 1px solid #e8eaed;
677
708
  }
678
709
  .x-spreadsheet-bottombar .x-spreadsheet-stats {
679
- border-left: 1px solid #e0e2e4;
680
710
  padding: 0 10px;
681
711
  height: 40px;
682
712
  display: flex;
@@ -693,14 +723,64 @@ body {
693
723
  font-weight: bold;
694
724
  color: #333;
695
725
  }
726
+ .x-spreadsheet-menu-wrapper {
727
+ position: relative;
728
+ flex-grow: 1;
729
+ min-width: 0;
730
+ display: flex;
731
+ align-items: center;
732
+ }
733
+ .x-spreadsheet-menu-wrapper::before,
734
+ .x-spreadsheet-menu-wrapper::after {
735
+ content: '';
736
+ position: absolute;
737
+ top: 0;
738
+ bottom: 0;
739
+ width: 20px;
740
+ pointer-events: none;
741
+ z-index: 2;
742
+ transition: opacity 0.3s;
743
+ opacity: 0;
744
+ }
745
+ .x-spreadsheet-menu-wrapper::before {
746
+ left: 0;
747
+ background: linear-gradient(to right, rgba(0, 0, 0, 0.12), transparent);
748
+ }
749
+ .x-spreadsheet-menu-wrapper::after {
750
+ right: 0;
751
+ background: linear-gradient(to left, rgba(0, 0, 0, 0.12), transparent);
752
+ }
753
+ .x-spreadsheet-menu-wrapper.scrollable-left::before {
754
+ opacity: 1;
755
+ }
756
+ .x-spreadsheet-menu-wrapper.scrollable-right::after {
757
+ opacity: 1;
758
+ }
696
759
  .x-spreadsheet-menu {
697
760
  list-style: none;
698
761
  margin: 0;
699
762
  padding: 0;
700
763
  user-select: none;
764
+ display: flex;
765
+ overflow-x: auto;
766
+ scrollbar-width: none;
767
+ }
768
+ .x-spreadsheet-menu::-webkit-scrollbar {
769
+ display: none;
770
+ }
771
+ .x-spreadsheet-bottombar-actions {
772
+ display: flex;
773
+ align-items: center;
774
+ flex-shrink: 0;
775
+ padding: 0 5px;
776
+ height: 100%;
777
+ }
778
+ .x-spreadsheet-bottombar-actions .x-spreadsheet-icon,
779
+ .x-spreadsheet-bottombar-actions .x-spreadsheet-dropdown {
780
+ margin: 0 6px;
701
781
  }
702
782
  .x-spreadsheet-menu > li {
703
- float: left;
783
+ flex-shrink: 0;
704
784
  line-height: 1.25em;
705
785
  padding: 0.785em 1em;
706
786
  margin: 0;
@@ -734,7 +814,6 @@ body {
734
814
  position: absolute;
735
815
  top: 50%;
736
816
  right: 5px;
737
- /* 适当调整右侧间距 */
738
817
  transform: translateY(-50%);
739
818
  width: 0;
740
819
  height: 0;
@@ -1302,7 +1381,7 @@ form fieldset select {
1302
1381
  display: inline-block;
1303
1382
  }
1304
1383
  .x-spreadsheet-icon .x-spreadsheet-icon-img {
1305
- background-image: url(a3b683289420fd8ec937908397907279.svg);
1384
+ background-image: url(113a871731ce1f8a28d02ff60e8d9478.svg);
1306
1385
  position: absolute;
1307
1386
  width: 262px;
1308
1387
  height: 444px;
@@ -2027,4 +2106,174 @@ dialog p {
2027
2106
  margin-top: 10px;
2028
2107
  width: 60px;
2029
2108
  }
2109
+ .x-spreadsheet-item.parent {
2110
+ position: relative;
2111
+ }
2112
+ .x-spreadsheet-contextmenu-submenu {
2113
+ position: absolute;
2114
+ display: none;
2115
+ background: #fff;
2116
+ border: 1px solid #e0e2e4;
2117
+ box-shadow: 1px 2px 5px 2px rgba(51, 51, 51, 0.15);
2118
+ z-index: 101;
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;
2135
+ }
2136
+ .x-spreadsheet-item.parent .label {
2137
+ float: right;
2138
+ font-size: 0.8em;
2139
+ color: #999;
2140
+ line-height: inherit;
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
+ }
2030
2279