@file-viewer/renderer-spreadsheet 2.1.2 → 2.1.4
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/dist/spreadsheet.js +45 -25
- package/package.json +2 -2
package/dist/spreadsheet.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { createFileViewerWorkerController, createFileViewerZoomChangeEmitter as createZoomChangeEmitter, registerFileViewerZoomProvider, resolveFileViewerSpreadsheetWorkerUrl, unregisterFileViewerZoomProvider, } from '@file-viewer/core';
|
|
1
|
+
import { createFileViewerWorkerController, createFileViewerTranslator, createFileViewerZoomChangeEmitter as createZoomChangeEmitter, registerFileViewerZoomProvider, resolveFileViewerSpreadsheetWorkerUrl, unregisterFileViewerZoomProvider, } from '@file-viewer/core';
|
|
2
2
|
import { buildRows, clampWindowStart, collectWindowStarts, createEmptyVirtualState, DEFAULT_SHEET_DEFAULTS, displayCellKey, getDataKey, INDEX_COLUMN_KEY, markWindowState, ROW_STATE_FIELD, RowState, WINDOW_SIZE, } from './spreadsheet/state.js';
|
|
3
3
|
import { buildColumns, createTableConfig, detectIndexOffset, getDisplayColumns, getRowHeight, HEADER_HEIGHT, INDEX_COLUMN_WIDTH, normalizeCellStyle, normalizeRowHeight, RESIZABLE_COLUMN_MIN_WIDTH, } from './spreadsheet/view.js';
|
|
4
4
|
const spreadsheetStyle = `
|
|
@@ -193,34 +193,46 @@ const renderFileViewerSpreadsheet = async (buffer, target, _type, context) => {
|
|
|
193
193
|
var _a, _b, _c, _d;
|
|
194
194
|
const documentRef = target.ownerDocument;
|
|
195
195
|
const EVirtTable = await loadEVirtTable();
|
|
196
|
+
const t = createFileViewerTranslator(context === null || context === void 0 ? void 0 : context.options);
|
|
196
197
|
const zoomEmitter = createZoomChangeEmitter();
|
|
197
198
|
const root = documentRef.createElement('div');
|
|
198
199
|
root.className = 'excel-wrapper';
|
|
199
200
|
root.dataset.viewerZoomProvider = 'xlsx';
|
|
200
201
|
const loading = documentRef.createElement('div');
|
|
201
202
|
loading.className = 'loading';
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
203
|
+
const loadingCard = documentRef.createElement('div');
|
|
204
|
+
loadingCard.className = 'loading-card';
|
|
205
|
+
const loadingBrand = documentRef.createElement('div');
|
|
206
|
+
loadingBrand.className = 'loading-brand';
|
|
207
|
+
loadingBrand.textContent = 'XLSX';
|
|
208
|
+
const loadingCopy = documentRef.createElement('div');
|
|
209
|
+
loadingCopy.className = 'loading-copy';
|
|
210
|
+
const loadingKicker = documentRef.createElement('span');
|
|
211
|
+
loadingKicker.className = 'loading-kicker';
|
|
212
|
+
loadingKicker.textContent = t('spreadsheet.loading.kicker');
|
|
213
|
+
const loadingTitle = documentRef.createElement('strong');
|
|
214
|
+
loadingTitle.dataset.loadingTitle = 'true';
|
|
215
|
+
loadingTitle.textContent = t('spreadsheet.loading.title');
|
|
216
|
+
const loadingHint = documentRef.createElement('p');
|
|
217
|
+
loadingHint.textContent = t('spreadsheet.loading.hint');
|
|
218
|
+
loadingCopy.append(loadingKicker, loadingTitle, loadingHint);
|
|
219
|
+
const loadingSpinner = documentRef.createElement('span');
|
|
220
|
+
loadingSpinner.className = 'loading-spinner';
|
|
221
|
+
loadingCard.append(loadingBrand, loadingCopy, loadingSpinner);
|
|
222
|
+
loading.appendChild(loadingCard);
|
|
213
223
|
const error = documentRef.createElement('div');
|
|
214
224
|
error.className = 'error hidden';
|
|
215
225
|
const tableWrapper = documentRef.createElement('div');
|
|
216
226
|
tableWrapper.className = 'table-wrapper';
|
|
217
227
|
const sheetLoading = documentRef.createElement('div');
|
|
218
228
|
sheetLoading.className = 'sheet-loading hidden';
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
229
|
+
const sheetLoadingDot = documentRef.createElement('span');
|
|
230
|
+
sheetLoadingDot.className = 'sheet-loading-dot';
|
|
231
|
+
const sheetLoadingText = documentRef.createElement('span');
|
|
232
|
+
sheetLoadingText.textContent = t('spreadsheet.loading.streaming');
|
|
233
|
+
const sheetLoadingSummary = documentRef.createElement('span');
|
|
234
|
+
sheetLoadingSummary.className = 'sheet-loading-summary';
|
|
235
|
+
sheetLoading.append(sheetLoadingDot, sheetLoadingText, sheetLoadingSummary);
|
|
224
236
|
const tableHostShell = documentRef.createElement('div');
|
|
225
237
|
tableHostShell.className = 'table-host';
|
|
226
238
|
const tableHost = documentRef.createElement('div');
|
|
@@ -236,7 +248,7 @@ const renderFileViewerSpreadsheet = async (buffer, target, _type, context) => {
|
|
|
236
248
|
toolbar.className = 'toolbar';
|
|
237
249
|
const sheetTabsBar = documentRef.createElement('div');
|
|
238
250
|
sheetTabsBar.className = 'btn-group';
|
|
239
|
-
sheetTabsBar.setAttribute('aria-label', '
|
|
251
|
+
sheetTabsBar.setAttribute('aria-label', t('spreadsheet.tabs.ariaLabel'));
|
|
240
252
|
const summary = documentRef.createElement('div');
|
|
241
253
|
summary.className = 'summary';
|
|
242
254
|
toolbar.append(sheetTabsBar, summary);
|
|
@@ -293,17 +305,22 @@ const renderFileViewerSpreadsheet = async (buffer, target, _type, context) => {
|
|
|
293
305
|
const getSheetLoadingText = () => {
|
|
294
306
|
var _a;
|
|
295
307
|
if (!sheets.length) {
|
|
296
|
-
return '
|
|
308
|
+
return t('spreadsheet.state.parsingWorkbook');
|
|
297
309
|
}
|
|
298
310
|
const activeName = (_a = getActiveSheet()) === null || _a === void 0 ? void 0 : _a.name;
|
|
299
|
-
return activeName
|
|
311
|
+
return activeName
|
|
312
|
+
? t('spreadsheet.state.preparingSheetNamed', { name: activeName })
|
|
313
|
+
: t('spreadsheet.state.preparingSheet');
|
|
300
314
|
};
|
|
301
315
|
const getCachedSummary = () => {
|
|
302
316
|
if (!totalRows) {
|
|
303
317
|
return '';
|
|
304
318
|
}
|
|
305
319
|
const cachedRows = Math.min(loadedWindowCount * WINDOW_SIZE, totalRows);
|
|
306
|
-
return
|
|
320
|
+
return t('spreadsheet.state.cachedRows', {
|
|
321
|
+
cached: cachedRows.toLocaleString(),
|
|
322
|
+
total: totalRows.toLocaleString(),
|
|
323
|
+
});
|
|
307
324
|
};
|
|
308
325
|
const getStatusSummary = () => {
|
|
309
326
|
var _a, _b;
|
|
@@ -313,9 +330,12 @@ const renderFileViewerSpreadsheet = async (buffer, target, _type, context) => {
|
|
|
313
330
|
return '';
|
|
314
331
|
}
|
|
315
332
|
if (!cols) {
|
|
316
|
-
return
|
|
333
|
+
return t('spreadsheet.state.rows', { rows: rows.toLocaleString() });
|
|
317
334
|
}
|
|
318
|
-
return
|
|
335
|
+
return t('spreadsheet.state.rowsAndColumns', {
|
|
336
|
+
rows: rows.toLocaleString(),
|
|
337
|
+
cols: cols.toLocaleString(),
|
|
338
|
+
});
|
|
319
339
|
};
|
|
320
340
|
const getZoomState = () => ({
|
|
321
341
|
scale: zoom,
|
|
@@ -919,13 +939,13 @@ const renderFileViewerSpreadsheet = async (buffer, target, _type, context) => {
|
|
|
919
939
|
virtualState.loadingWindows.clear();
|
|
920
940
|
syncWindowStats();
|
|
921
941
|
}
|
|
922
|
-
errorMessage = message || '
|
|
942
|
+
errorMessage = message || t('spreadsheet.error.parseFailed');
|
|
923
943
|
renderChrome();
|
|
924
944
|
});
|
|
925
945
|
controller.onWorkerError((event) => {
|
|
926
946
|
sheetInitializing = false;
|
|
927
947
|
loadingState = false;
|
|
928
|
-
errorMessage = event.message || '
|
|
948
|
+
errorMessage = event.message || t('spreadsheet.error.workerFailed');
|
|
929
949
|
renderChrome();
|
|
930
950
|
});
|
|
931
951
|
(_c = context === null || context === void 0 ? void 0 : context.registerExportAdapter) === null || _c === void 0 ? void 0 : _c.call(context, {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@file-viewer/renderer-spreadsheet",
|
|
3
|
-
"version": "2.1.
|
|
3
|
+
"version": "2.1.4",
|
|
4
4
|
"private": false,
|
|
5
5
|
"type": "module",
|
|
6
6
|
"description": "Standalone spreadsheet renderer plugin for Flyfish File Viewer powered by styled-exceljs and e-virt-table.",
|
|
@@ -68,7 +68,7 @@
|
|
|
68
68
|
"LICENSE"
|
|
69
69
|
],
|
|
70
70
|
"dependencies": {
|
|
71
|
-
"@file-viewer/core": "^2.1.
|
|
71
|
+
"@file-viewer/core": "^2.1.4",
|
|
72
72
|
"e-virt-table": "^1.3.26",
|
|
73
73
|
"styled-exceljs": "0.21.1",
|
|
74
74
|
"tinycolor2": "^1.6.0"
|