office-viewer 0.3.1 → 0.3.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/README.md +4 -4
- package/dist/{index.css → office.css} +1 -1
- package/dist/{index.css.map → office.css.map} +1 -1
- package/esm/Excel.d.ts +1 -0
- package/esm/Excel.js +11 -1
- package/esm/excel/render/ScrollBar.js +1 -1
- package/esm/excel/render/autoFilter/sortState/setColumnSortOrder.js +1 -0
- package/esm/excel/render/dnd/getMouseRelativePosition.js +2 -2
- package/lib/Excel.d.ts +1 -0
- package/lib/Excel.js +11 -1
- package/lib/createOfficeViewer.d.ts +1 -1
- package/lib/excel/lang/lang.d.ts +1 -1
- package/lib/excel/render/ScrollBar.js +1 -1
- package/lib/excel/render/autoFilter/sortState/getColumnSortOrder.d.ts +1 -1
- package/lib/excel/render/autoFilter/sortState/setColumnSortOrder.js +1 -0
- package/lib/excel/render/dnd/getMouseRelativePosition.js +2 -2
- package/package.json +3 -3
package/README.md
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
# 说明
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Word 和 Excel 渲染器,目前接口还未完全稳定,新版可能会修改,请参考 examples
|
|
4
4
|
|
|
5
|
-
##
|
|
5
|
+
## Word 渲染
|
|
6
6
|
|
|
7
7
|
### 原理
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
Word 渲染器,原理是将 docx 里的 xml 格式转成 html
|
|
10
10
|
|
|
11
11
|
相对于 Canvas 渲染,这个实现方案比较简单,最终页面也可以很方便复制,但无法保证和原始 docx 文件展现一致,因为有部分功能难以在 HTML 中实现,比如图文环绕效果。
|
|
12
12
|
|
|
@@ -29,7 +29,7 @@ docx 渲染器,原理是将 docx 里的 xml 格式转成 html
|
|
|
29
29
|
- [docx](https://github.com/dolanmiu/docx) 的类型定义
|
|
30
30
|
- [docxjs](https://github.com/zVolodymyr/docxjs) 里格式的实现
|
|
31
31
|
|
|
32
|
-
##
|
|
32
|
+
## Excel 渲染
|
|
33
33
|
|
|
34
34
|
### 原理
|
|
35
35
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sourceRoot":"","sources":["../scss/excel/excel.scss","../scss/excel/button.scss","../scss/excel/toolbar.scss","../scss/excel/checkbox.scss","../scss/excel/divider.scss","../scss/excel/input.scss","../scss/excel/select.scss","../scss/excel/formula-bar.scss","../scss/excel/sheet-tab-bar.scss","../scss/excel/sheet-tab/tab-list.scss","../scss/excel/content.scss","../scss/excel/scroll-bar.scss","../scss/excel/resize-box.scss","../scss/excel/auto-filter.scss","../scss/excel/auto-filter/sort-state.scss","../scss/excel/auto-filter/filters.scss","../scss/excel/auto-filter/custom-filters.scss","../scss/excel/cell-editor.scss","../scss/excel/chart.scss","../scss/excel/pic.scss"],"names":[],"mappings":";AAAA;AAEA;AACE;EACA;EAGA;EACA;EACA;EACA;EACA;;;ACXF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;ACpBF;AACA;EACE;EACA;;;ACHF;EACE;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;ACnBF;EACE;EACA;EACA;EACA;EACA;EACA;;;ACNF;EACE;EACA;EACA;EACA;EACA;EACA,QLwBa;;;AKrBf;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AClBF;EACE;EACA;;;ACFF;AACA;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;AACA;EACE;;;AAGF;AACA;EACE;EACA;EACA;EACA;EACA;EACA;;;AC9BF;AACA;EACE;EACA;EACA;EACA;EACA;;;ACNF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;EAEA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,ST5BqB;ES6BrB;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE,kBTrCe;;;ASwCjB;EACE,kBTzCe;;;AS4CjB;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAOF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;;AAEA;EACE;EACA,kBT9Fa;;;ASkGjB;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;ADpIF;EACE;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;;;AAGF;AAAA;EAEE;;;AEhCF;AACA;EACE;EACA;EACA;EACA,SVSgB;;;AUNlB;AACA;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;ACrBF;EACE;EACA;EACA;EACA;EACA,SXamB;;;AWVrB;EACE;EACA;EACA;EACA;EACA,SXKmB;;;AWFrB;EACE;EACA;;;AAGF;EACE;;;ACtBF;AAEA;EACE;EACA;EACA,SZamB;;;AYVrB;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,SZG2B;;;AapB7B;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA,SbMoB;;;AaHtB;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAEA,SbXoB;EaYpB;;;AC7BF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAGF;EACE;;;ACpCF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AClBF;EACE;EACA;EACA;;;AAGF;AACA;EACE;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;;;ACnBF;EACE;;;ACDF;EACE;EACA,SlBqBc;;;AmBvBhB;EACE;EACA,SnBsBY;EmBrBZ","file":"
|
|
1
|
+
{"version":3,"sourceRoot":"","sources":["../scss/excel/excel.scss","../scss/excel/button.scss","../scss/excel/toolbar.scss","../scss/excel/checkbox.scss","../scss/excel/divider.scss","../scss/excel/input.scss","../scss/excel/select.scss","../scss/excel/formula-bar.scss","../scss/excel/sheet-tab-bar.scss","../scss/excel/sheet-tab/tab-list.scss","../scss/excel/content.scss","../scss/excel/scroll-bar.scss","../scss/excel/resize-box.scss","../scss/excel/auto-filter.scss","../scss/excel/auto-filter/sort-state.scss","../scss/excel/auto-filter/filters.scss","../scss/excel/auto-filter/custom-filters.scss","../scss/excel/cell-editor.scss","../scss/excel/chart.scss","../scss/excel/pic.scss"],"names":[],"mappings":";AAAA;AAEA;AACE;EACA;EAGA;EACA;EACA;EACA;EACA;;;ACXF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;ACpBF;AACA;EACE;EACA;;;ACHF;EACE;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;ACnBF;EACE;EACA;EACA;EACA;EACA;EACA;;;ACNF;EACE;EACA;EACA;EACA;EACA;EACA,QLwBa;;;AKrBf;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AClBF;EACE;EACA;;;ACFF;AACA;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;AACA;EACE;;;AAGF;AACA;EACE;EACA;EACA;EACA;EACA;EACA;;;AC9BF;AACA;EACE;EACA;EACA;EACA;EACA;;;ACNF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;EAEA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,ST5BqB;ES6BrB;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE,kBTrCe;;;ASwCjB;EACE,kBTzCe;;;AS4CjB;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAOF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;;AAEA;EACE;EACA,kBT9Fa;;;ASkGjB;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;ADpIF;EACE;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;;;AAGF;AAAA;EAEE;;;AEhCF;AACA;EACE;EACA;EACA;EACA,SVSgB;;;AUNlB;AACA;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;ACrBF;EACE;EACA;EACA;EACA;EACA,SXamB;;;AWVrB;EACE;EACA;EACA;EACA;EACA,SXKmB;;;AWFrB;EACE;EACA;;;AAGF;EACE;;;ACtBF;AAEA;EACE;EACA;EACA,SZamB;;;AYVrB;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,SZG2B;;;AapB7B;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA,SbMoB;;;AaHtB;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAEA,SbXoB;EaYpB;;;AC7BF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAGF;EACE;;;ACpCF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AClBF;EACE;EACA;EACA;;;AAGF;AACA;EACE;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;;;ACnBF;EACE;;;ACDF;EACE;EACA,SlBqBc;;;AmBvBhB;EACE;EACA,SnBsBY;EmBrBZ","file":"office.css"}
|
package/esm/Excel.d.ts
CHANGED
package/esm/Excel.js
CHANGED
|
@@ -20,7 +20,7 @@ var defaultRenderOptions = {
|
|
|
20
20
|
return get(data, path);
|
|
21
21
|
},
|
|
22
22
|
useWorker: false,
|
|
23
|
-
height:
|
|
23
|
+
height: 500,
|
|
24
24
|
gridLineColor: '#D4D4D4',
|
|
25
25
|
gridLineWidth: 1,
|
|
26
26
|
dragGridLineColor: '#5D5D5D',
|
|
@@ -53,6 +53,8 @@ var defaultRenderOptions = {
|
|
|
53
53
|
var Excel = /** @class */ (function () {
|
|
54
54
|
function Excel(docFile, fileName, renderOptions, parser) {
|
|
55
55
|
if (parser === void 0) { parser = new ZipPackageParser(); }
|
|
56
|
+
// 后续优化一下
|
|
57
|
+
this.loaded = false;
|
|
56
58
|
this.id = Excel.globalId++;
|
|
57
59
|
this.parser = parser;
|
|
58
60
|
this.docFile = docFile;
|
|
@@ -71,6 +73,9 @@ var Excel = /** @class */ (function () {
|
|
|
71
73
|
return __generator(this, function (_b) {
|
|
72
74
|
switch (_b.label) {
|
|
73
75
|
case 0:
|
|
76
|
+
if (this.loaded) {
|
|
77
|
+
return [2 /*return*/];
|
|
78
|
+
}
|
|
74
79
|
this.parser.load(this.docFile);
|
|
75
80
|
startParse = performance.now();
|
|
76
81
|
_a = this;
|
|
@@ -81,6 +86,7 @@ var Excel = /** @class */ (function () {
|
|
|
81
86
|
console.log('parse time', performance.now() - startParse, 'ms');
|
|
82
87
|
console.log('excelFile', this.excelFile);
|
|
83
88
|
}
|
|
89
|
+
this.loaded = true;
|
|
84
90
|
return [2 /*return*/];
|
|
85
91
|
}
|
|
86
92
|
});
|
|
@@ -95,6 +101,9 @@ var Excel = /** @class */ (function () {
|
|
|
95
101
|
return __generator(this, function (_b) {
|
|
96
102
|
switch (_b.label) {
|
|
97
103
|
case 0:
|
|
104
|
+
if (this.loaded) {
|
|
105
|
+
return [2 /*return*/];
|
|
106
|
+
}
|
|
98
107
|
// 目前 csv 的实现复用了 xlsx 的解析
|
|
99
108
|
this.parser.load(emptyXLSX);
|
|
100
109
|
_a = this;
|
|
@@ -112,6 +121,7 @@ var Excel = /** @class */ (function () {
|
|
|
112
121
|
if (this.fileName) {
|
|
113
122
|
this.excelFile.workbook.sheets[0].name = this.fileName.split('/').pop();
|
|
114
123
|
}
|
|
124
|
+
this.loaded = true;
|
|
115
125
|
return [2 /*return*/];
|
|
116
126
|
}
|
|
117
127
|
});
|
|
@@ -70,7 +70,7 @@ var ScrollBar = /** @class */ (function () {
|
|
|
70
70
|
xScrollBarContent.addEventListener('scroll', function (event) {
|
|
71
71
|
var currentSheet = _this.workbook.getActiveSheet();
|
|
72
72
|
var sheetScrollLeft = currentSheet.getScrollLeft();
|
|
73
|
-
var scrollBarLeft =
|
|
73
|
+
var scrollBarLeft = xScrollBarContent.scrollLeft;
|
|
74
74
|
if (Math.round(sheetScrollLeft) !== Math.round(scrollBarLeft)) {
|
|
75
75
|
currentSheet.setScrollLeft(xScrollBarContent.scrollLeft);
|
|
76
76
|
_this.workbook.uiEvent.emit('SCROLL_X', xScrollBarContent.scrollLeft);
|
|
@@ -23,6 +23,7 @@ function setColumnSortOrder(sheet, colIndex, rangeRef, autoFilter, sortOrder, he
|
|
|
23
23
|
ref: sortStateRef,
|
|
24
24
|
sortCondition: [sortCondition]
|
|
25
25
|
};
|
|
26
|
+
sheet.applyAutoFilter(autoFilter, headerRowCount);
|
|
26
27
|
return;
|
|
27
28
|
}
|
|
28
29
|
if (autoFilter.sortState.sortCondition === undefined) {
|
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
*/
|
|
4
4
|
function getMouseRelativePosition(container, event) {
|
|
5
5
|
var dataContainerOffset = container.getBoundingClientRect();
|
|
6
|
-
var offsetX = event.
|
|
7
|
-
var offsetY = event.
|
|
6
|
+
var offsetX = event.clientX - dataContainerOffset.x;
|
|
7
|
+
var offsetY = event.clientY - dataContainerOffset.y;
|
|
8
8
|
return { offsetX: offsetX, offsetY: offsetY };
|
|
9
9
|
}
|
|
10
10
|
|
package/lib/Excel.d.ts
CHANGED
package/lib/Excel.js
CHANGED
|
@@ -42,7 +42,7 @@ var defaultRenderOptions = {
|
|
|
42
42
|
return get.get(data, path);
|
|
43
43
|
},
|
|
44
44
|
useWorker: false,
|
|
45
|
-
height:
|
|
45
|
+
height: 500,
|
|
46
46
|
gridLineColor: '#D4D4D4',
|
|
47
47
|
gridLineWidth: 1,
|
|
48
48
|
dragGridLineColor: '#5D5D5D',
|
|
@@ -75,6 +75,8 @@ var defaultRenderOptions = {
|
|
|
75
75
|
var Excel = /** @class */ (function () {
|
|
76
76
|
function Excel(docFile, fileName, renderOptions, parser) {
|
|
77
77
|
if (parser === void 0) { parser = new ZipPackageParser["default"](); }
|
|
78
|
+
// 后续优化一下
|
|
79
|
+
this.loaded = false;
|
|
78
80
|
this.id = Excel.globalId++;
|
|
79
81
|
this.parser = parser;
|
|
80
82
|
this.docFile = docFile;
|
|
@@ -93,6 +95,9 @@ var Excel = /** @class */ (function () {
|
|
|
93
95
|
return tslib.__generator(this, function (_b) {
|
|
94
96
|
switch (_b.label) {
|
|
95
97
|
case 0:
|
|
98
|
+
if (this.loaded) {
|
|
99
|
+
return [2 /*return*/];
|
|
100
|
+
}
|
|
96
101
|
this.parser.load(this.docFile);
|
|
97
102
|
startParse = performance.now();
|
|
98
103
|
_a = this;
|
|
@@ -103,6 +108,7 @@ var Excel = /** @class */ (function () {
|
|
|
103
108
|
console.log('parse time', performance.now() - startParse, 'ms');
|
|
104
109
|
console.log('excelFile', this.excelFile);
|
|
105
110
|
}
|
|
111
|
+
this.loaded = true;
|
|
106
112
|
return [2 /*return*/];
|
|
107
113
|
}
|
|
108
114
|
});
|
|
@@ -117,6 +123,9 @@ var Excel = /** @class */ (function () {
|
|
|
117
123
|
return tslib.__generator(this, function (_b) {
|
|
118
124
|
switch (_b.label) {
|
|
119
125
|
case 0:
|
|
126
|
+
if (this.loaded) {
|
|
127
|
+
return [2 /*return*/];
|
|
128
|
+
}
|
|
120
129
|
// 目前 csv 的实现复用了 xlsx 的解析
|
|
121
130
|
this.parser.load(emptyXLSX.emptyXLSX);
|
|
122
131
|
_a = this;
|
|
@@ -134,6 +143,7 @@ var Excel = /** @class */ (function () {
|
|
|
134
143
|
if (this.fileName) {
|
|
135
144
|
this.excelFile.workbook.sheets[0].name = this.fileName.split('/').pop();
|
|
136
145
|
}
|
|
146
|
+
this.loaded = true;
|
|
137
147
|
return [2 /*return*/];
|
|
138
148
|
}
|
|
139
149
|
});
|
|
@@ -13,4 +13,4 @@ import { PackageParser } from './package/PackageParser';
|
|
|
13
13
|
* @param parser 文件解析器,支持 zip 和 xml 两种,也可以扩展
|
|
14
14
|
* @returns OfficeViewer 实例
|
|
15
15
|
*/
|
|
16
|
-
export declare function createOfficeViewer(docFile: ArrayBuffer, renderOptions?: Partial<RenderOptions>, fileName?: string, parser?: PackageParser): Promise<
|
|
16
|
+
export declare function createOfficeViewer(docFile: ArrayBuffer, renderOptions?: Partial<RenderOptions>, fileName?: string, parser?: PackageParser): Promise<Excel | Word | UnSupport>;
|
package/lib/excel/lang/lang.d.ts
CHANGED
|
@@ -23,7 +23,7 @@ declare const languages: {
|
|
|
23
23
|
count: string;
|
|
24
24
|
sum: string;
|
|
25
25
|
};
|
|
26
|
-
zh_CN: Record<"
|
|
26
|
+
zh_CN: Record<"autoFilter.sortAscending" | "autoFilter.sortDescending" | "checkBox.selectAll" | "checkBox.search" | "customFilter.equal" | "customFilter.notEqual" | "customFilter.greaterThan" | "customFilter.greaterThanOrEqual" | "customFilter.lessThan" | "customFilter.lessThanOrEqual" | "customFilter.beginsWith" | "customFilter.notBeginsWith" | "customFilter.endsWith" | "customFilter.notEndsWith" | "customFilter.contains" | "customFilter.notContains" | "customFilter.and" | "customFilter.or" | "average" | "count" | "sum", string>;
|
|
27
27
|
};
|
|
28
28
|
export type Language = keyof typeof languages;
|
|
29
29
|
export declare function getTranslate(language: string): (key: EnKeys) => string;
|
|
@@ -74,7 +74,7 @@ var ScrollBar = /** @class */ (function () {
|
|
|
74
74
|
xScrollBarContent.addEventListener('scroll', function (event) {
|
|
75
75
|
var currentSheet = _this.workbook.getActiveSheet();
|
|
76
76
|
var sheetScrollLeft = currentSheet.getScrollLeft();
|
|
77
|
-
var scrollBarLeft =
|
|
77
|
+
var scrollBarLeft = xScrollBarContent.scrollLeft;
|
|
78
78
|
if (Math.round(sheetScrollLeft) !== Math.round(scrollBarLeft)) {
|
|
79
79
|
currentSheet.setScrollLeft(xScrollBarContent.scrollLeft);
|
|
80
80
|
_this.workbook.uiEvent.emit('SCROLL_X', xScrollBarContent.scrollLeft);
|
|
@@ -3,4 +3,4 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import { CT_SortState } from '../../../../openxml/ExcelTypes';
|
|
5
5
|
import { RangeRef } from '../../../types/RangeRef';
|
|
6
|
-
export declare function getColumnSortOrder(colIndex: number, rangeRef: RangeRef, sortState?: CT_SortState): "
|
|
6
|
+
export declare function getColumnSortOrder(colIndex: number, rangeRef: RangeRef, sortState?: CT_SortState): "asc" | "desc" | "none";
|
|
@@ -27,6 +27,7 @@ function setColumnSortOrder(sheet, colIndex, rangeRef, autoFilter, sortOrder, he
|
|
|
27
27
|
ref: sortStateRef,
|
|
28
28
|
sortCondition: [sortCondition]
|
|
29
29
|
};
|
|
30
|
+
sheet.applyAutoFilter(autoFilter, headerRowCount);
|
|
30
31
|
return;
|
|
31
32
|
}
|
|
32
33
|
if (autoFilter.sortState.sortCondition === undefined) {
|
|
@@ -7,8 +7,8 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
7
7
|
*/
|
|
8
8
|
function getMouseRelativePosition(container, event) {
|
|
9
9
|
var dataContainerOffset = container.getBoundingClientRect();
|
|
10
|
-
var offsetX = event.
|
|
11
|
-
var offsetY = event.
|
|
10
|
+
var offsetX = event.clientX - dataContainerOffset.x;
|
|
11
|
+
var offsetY = event.clientY - dataContainerOffset.y;
|
|
12
12
|
return { offsetX: offsetX, offsetY: offsetY };
|
|
13
13
|
}
|
|
14
14
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "office-viewer",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.4",
|
|
4
4
|
"description": "office 文档在线预览",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"module": "esm/index.js",
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
"scripts": {
|
|
9
9
|
"dev": "vite --host",
|
|
10
10
|
"start": "vite --host",
|
|
11
|
-
"build": "npm run clean-dist && cross-env NODE_ENV=production rollup -c && sass scss/office.scss dist/
|
|
11
|
+
"build": "npm run clean-dist && cross-env NODE_ENV=production rollup -c && sass scss/office.scss dist/office.css",
|
|
12
12
|
"build-esm": "npm run clean-dist && cross-env NODE_ENV=production rollup -c rollup.esm.config.js",
|
|
13
13
|
"test": "jest",
|
|
14
14
|
"lib": "npm run clean-dist && cross-env NODE_ENV=production IS_LIB=1 rollup -c",
|
|
@@ -119,4 +119,4 @@
|
|
|
119
119
|
"printBasicPrototype": false
|
|
120
120
|
}
|
|
121
121
|
}
|
|
122
|
-
}
|
|
122
|
+
}
|