diff --git a/ONLYOFFICE Online Editors-OE-v2.5.0.exe b/ONLYOFFICE Online Editors-OE-v2.5.3.exe
similarity index 91%
rename from ONLYOFFICE Online Editors-OE-v2.5.0.exe
rename to ONLYOFFICE Online Editors-OE-v2.5.3.exe
index 84d4d9dd..232b0ad2 100644
Binary files a/ONLYOFFICE Online Editors-OE-v2.5.0.exe and b/ONLYOFFICE Online Editors-OE-v2.5.3.exe differ
diff --git a/OfficeWeb/apps/common/main/lib/view/Header.js b/OfficeWeb/apps/common/main/lib/view/Header.js
index d5b6adf6..d027a208 100644
--- a/OfficeWeb/apps/common/main/lib/view/Header.js
+++ b/OfficeWeb/apps/common/main/lib/view/Header.js
@@ -71,7 +71,7 @@
}
var dc = Ext.fly("header-documentcaption");
if (dc) {
- Ext.DomHelper.overwrite(dc, value);
+ Ext.DomHelper.overwrite(dc, Ext.htmlEncode(value));
}
return value;
},
diff --git a/OfficeWeb/sdk/Common/Charts/charts.js b/OfficeWeb/sdk/Common/Charts/charts.js
index 695c4cc9..5c70c1ee 100644
--- a/OfficeWeb/sdk/Common/Charts/charts.js
+++ b/OfficeWeb/sdk/Common/Charts/charts.js
@@ -67,60 +67,7 @@ function ChartStyleManager() {
var bReady = false;
_this.colorMap = [];
_this.baseColors = [];
- _this.init = function (options) {
- _this.colorMap = [];
- var api_doc = window["editor"];
- var api_sheet = window["Asc"]["editor"];
- var themeColors = [];
- if (api_sheet) {
- themeColors = api_sheet.GuiControlColorsMap;
- } else {
- themeColors = getDocColors(api_doc, options);
- }
- function getDocColors(api, options) {
- var _theme = api.WordControl.m_oLogicDocument.theme;
- var _clrMap = api.WordControl.m_oLogicDocument.clrSchemeMap ? api.WordControl.m_oLogicDocument.clrSchemeMap.color_map : undefined;
- var arr_colors = new Array(10);
- var rgba = {
- R: 0,
- G: 0,
- B: 0,
- A: 255
- };
- var array_colors_types = [6, 15, 7, 16, 0, 1, 2, 3, 4, 5];
- var _count = array_colors_types.length;
- var color = new CUniColor();
- color.color = new CSchemeColor();
- for (var i = 0; i < _count; ++i) {
- color.color.id = array_colors_types[i];
- if (!options) {
- color.Calculate(_theme, _clrMap, rgba);
- } else {
- color.Calculate(options.theme, options.slide, options.layout, options.master, {
- R: 0,
- G: 0,
- B: 0,
- A: 255
- });
- }
- var _rgba = color.RGBA;
- arr_colors[i] = new CColor(_rgba.R, _rgba.G, _rgba.B);
- }
- return arr_colors;
- }
- _this.colorMap[1] = ["#555555", "#9E9E9E", "#727272", "#464646", "#838383", "#C1C1C1"];
- _this.colorMap[2] = [themeColors[4].get_hex(), themeColors[5].get_hex(), themeColors[6].get_hex(), themeColors[7].get_hex(), themeColors[8].get_hex(), themeColors[9].get_hex()];
- _this.colorMap[3] = [themeColors[4].get_hex()];
- _this.colorMap[4] = [themeColors[5].get_hex()];
- _this.colorMap[5] = [themeColors[6].get_hex()];
- _this.colorMap[6] = [themeColors[7].get_hex()];
- _this.colorMap[7] = [themeColors[8].get_hex()];
- _this.colorMap[8] = [themeColors[9].get_hex()];
- for (var i = 0; i < themeColors.length; i++) {
- _this.baseColors.push(themeColors[i].get_hex());
- }
- bReady = true;
- };
+ _this.init = function (options) {};
_this.isReady = function () {
return bReady;
};
@@ -162,263 +109,7 @@ function ChartPreviewManager() {
previewGroups[c_oAscChartType.scatter][c_oAscChartSubType.normal] = [];
previewGroups[c_oAscChartType.stock] = [];
previewGroups[c_oAscChartType.stock][c_oAscChartSubType.normal] = [];
- _this.init = function (options) {
- var startTime = new Date();
- var api_doc = window["editor"];
- var api_sheet = window["Asc"]["editor"];
- var styleManager = api_doc ? api_doc.chartStyleManager : api_sheet.chartStyleManager;
- var chartRender = new ChartRender(options);
- var preview_w = 50,
- preview_h = 50;
- function createItem(value) {
- return {
- numFormatStr: "General",
- isDateTimeFormat: false,
- val: value,
- isHidden: false
- };
- }
- function fillChartData(chart) {
- chart.data = [];
- chart.series = [];
- var uniColors = chart.generateUniColors(4);
- switch (chart.type) {
- case c_oAscChartType.line:
- switch (chart.subType) {
- case c_oAscChartSubType.normal:
- var ser = new asc_CChartSeria();
- ser.Val.NumCache = [createItem(2), createItem(3), createItem(2), createItem(3)];
- ser.OutlineColor = uniColors[0];
- chart.series.push(ser);
- ser = new asc_CChartSeria();
- ser.Val.NumCache = [createItem(1), createItem(2), createItem(3), createItem(2)];
- ser.OutlineColor = uniColors[1];
- chart.series.push(ser);
- break;
- case c_oAscChartSubType.stacked:
- var ser = new asc_CChartSeria();
- ser.Val.NumCache = [createItem(1), createItem(6), createItem(2), createItem(8)];
- ser.OutlineColor = uniColors[0];
- chart.series.push(ser);
- ser = new asc_CChartSeria();
- ser.Val.NumCache = [createItem(4), createItem(4), createItem(4), createItem(5)];
- ser.OutlineColor = uniColors[1];
- chart.series.push(ser);
- break;
- case c_oAscChartSubType.stackedPer:
- var ser = new asc_CChartSeria();
- ser.Val.NumCache = [createItem(2), createItem(4), createItem(2), createItem(4)];
- ser.OutlineColor = uniColors[0];
- chart.series.push(ser);
- ser = new asc_CChartSeria();
- ser.Val.NumCache = [createItem(2), createItem(2), createItem(2), createItem(2)];
- ser.OutlineColor = uniColors[1];
- chart.series.push(ser);
- break;
- }
- break;
- case c_oAscChartType.hbar:
- var uniColorsReverse = OfficeExcel.array_reverse(uniColors);
- switch (chart.subType) {
- case c_oAscChartSubType.normal:
- var ser = new asc_CChartSeria();
- ser.Val.NumCache = [createItem(4)];
- ser.OutlineColor = uniColors[0];
- chart.series.push(ser);
- var ser = new asc_CChartSeria();
- ser.Val.NumCache = [createItem(3)];
- ser.OutlineColor = uniColors[1];
- chart.series.push(ser);
- var ser = new asc_CChartSeria();
- ser.Val.NumCache = [createItem(2)];
- ser.OutlineColor = uniColors[2];
- chart.series.push(ser);
- var ser = new asc_CChartSeria();
- ser.Val.NumCache = [createItem(1)];
- ser.OutlineColor = uniColors[3];
- chart.series.push(ser);
- break;
- case c_oAscChartSubType.stacked:
- var ser = new asc_CChartSeria();
- ser.Val.NumCache = [createItem(4), createItem(3), createItem(2), createItem(1)];
- ser.OutlineColor = uniColors[0];
- chart.series.push(ser);
- ser = new asc_CChartSeria();
- ser.Val.NumCache = [createItem(5), createItem(4), createItem(3), createItem(2)];
- ser.OutlineColor = uniColors[1];
- chart.series.push(ser);
- break;
- case c_oAscChartSubType.stackedPer:
- var ser = new asc_CChartSeria();
- ser.Val.NumCache = [createItem(7), createItem(5), createItem(3), createItem(1)];
- ser.OutlineColor = uniColors[0];
- chart.series.push(ser);
- ser = new asc_CChartSeria();
- ser.Val.NumCache = [createItem(7), createItem(6), createItem(5), createItem(4)];
- ser.OutlineColor = uniColors[1];
- chart.series.push(ser);
- break;
- }
- break;
- case c_oAscChartType.bar:
- switch (chart.subType) {
- case c_oAscChartSubType.normal:
- var ser = new asc_CChartSeria();
- ser.Val.NumCache = [createItem(1)];
- ser.OutlineColor = uniColors[0];
- chart.series.push(ser);
- var ser = new asc_CChartSeria();
- ser.Val.NumCache = [createItem(2)];
- ser.OutlineColor = uniColors[1];
- chart.series.push(ser);
- var ser = new asc_CChartSeria();
- ser.Val.NumCache = [createItem(3)];
- ser.OutlineColor = uniColors[2];
- chart.series.push(ser);
- var ser = new asc_CChartSeria();
- ser.Val.NumCache = [createItem(4)];
- ser.OutlineColor = uniColors[3];
- chart.series.push(ser);
- break;
- case c_oAscChartSubType.stacked:
- var ser = new asc_CChartSeria();
- ser.Val.NumCache = [createItem(1), createItem(2), createItem(3), createItem(4)];
- ser.OutlineColor = uniColors[0];
- chart.series.push(ser);
- ser = new asc_CChartSeria();
- ser.Val.NumCache = [createItem(2), createItem(3), createItem(4), createItem(5)];
- ser.OutlineColor = uniColors[1];
- chart.series.push(ser);
- break;
- case c_oAscChartSubType.stackedPer:
- var ser = new asc_CChartSeria();
- ser.Val.NumCache = [createItem(1), createItem(3), createItem(5), createItem(7)];
- ser.OutlineColor = uniColors[0];
- chart.series.push(ser);
- ser = new asc_CChartSeria();
- ser.Val.NumCache = [createItem(4), createItem(5), createItem(6), createItem(7)];
- ser.OutlineColor = uniColors[1];
- chart.series.push(ser);
- break;
- }
- break;
- case c_oAscChartType.pie:
- var ser = new asc_CChartSeria();
- ser.Val.NumCache = [createItem(3), createItem(1)];
- ser.OutlineColor = uniColors[0];
- chart.series.push(ser);
- break;
- case c_oAscChartType.area:
- switch (chart.subType) {
- case c_oAscChartSubType.normal:
- var ser = new asc_CChartSeria();
- ser.Val.NumCache = [createItem(0), createItem(8), createItem(5), createItem(6)];
- ser.OutlineColor = uniColors[0];
- chart.series.push(ser);
- ser = new asc_CChartSeria();
- ser.Val.NumCache = [createItem(0), createItem(4), createItem(2), createItem(9)];
- ser.OutlineColor = uniColors[1];
- chart.series.push(ser);
- break;
- case c_oAscChartSubType.stacked:
- var ser = new asc_CChartSeria();
- ser.Val.NumCache = [createItem(0), createItem(8), createItem(5), createItem(11)];
- ser.OutlineColor = uniColors[0];
- chart.series.push(ser);
- ser = new asc_CChartSeria();
- ser.Val.NumCache = [createItem(4), createItem(4), createItem(4), createItem(4)];
- ser.OutlineColor = uniColors[1];
- chart.series.push(ser);
- break;
- case c_oAscChartSubType.stackedPer:
- var ser = new asc_CChartSeria();
- ser.Val.NumCache = [createItem(0), createItem(4), createItem(1), createItem(16)];
- ser.OutlineColor = uniColors[0];
- chart.series.push(ser);
- ser = new asc_CChartSeria();
- ser.Val.NumCache = [createItem(4), createItem(4), createItem(4), createItem(4)];
- ser.OutlineColor = uniColors[1];
- chart.series.push(ser);
- break;
- }
- break;
- case c_oAscChartType.scatter:
- var ser = new asc_CChartSeria();
- ser.Val.NumCache = [createItem(1), createItem(5)];
- ser.OutlineColor = uniColors[0];
- chart.series.push(ser);
- ser = new asc_CChartSeria();
- ser.Val.NumCache = [createItem(2), createItem(6)];
- ser.OutlineColor = uniColors[1];
- chart.series.push(ser);
- break;
- default:
- var ser = new asc_CChartSeria();
- ser.Val.NumCache = [createItem(3), createItem(5), createItem(7)];
- ser.OutlineColor = uniColors[0];
- chart.series.push(ser);
- ser = new asc_CChartSeria();
- ser.Val.NumCache = [createItem(10), createItem(12), createItem(14)];
- ser.OutlineColor = uniColors[1];
- chart.series.push(ser);
- ser = new asc_CChartSeria();
- ser.Val.NumCache = [createItem(1), createItem(3), createItem(5)];
- ser.OutlineColor = uniColors[2];
- chart.series.push(ser);
- ser = new asc_CChartSeria();
- ser.Val.NumCache = [createItem(8), createItem(10), createItem(12)];
- ser.OutlineColor = uniColors[3];
- chart.series.push(ser);
- break;
- }
- }
- for (var chartType in previewGroups) {
- var group = [];
- var maxCol = 2,
- maxRow = 2;
- if (chartType == c_oAscChartType.stock) {
- maxCol = 4;
- maxRow = 3;
- }
- for (var style in styleManager.colorMap) {
- var chart = new asc_CChart();
- chart.range.interval = "Sheet1!A1:C3";
- chart.xAxis.bShow = chart.xAxis.bGrid = false;
- chart.yAxis.bShow = chart.yAxis.bGrid = false;
- chart.legend.bShow = false;
- chart.type = chartType;
- chart.styleId = parseInt(style);
- switch (chartType) {
- case c_oAscChartType.line:
- case c_oAscChartType.bar:
- case c_oAscChartType.hbar:
- case c_oAscChartType.area:
- chart.subType = c_oAscChartSubType.normal;
- fillChartData(chart);
- var chartBase64 = chartRender.insertChart(chart, null, preview_w, preview_h, false, true).toDataURL();
- previewGroups[chartType][c_oAscChartSubType.normal][style] = chartBase64;
- chart.subType = c_oAscChartSubType.stacked;
- fillChartData(chart);
- var chartBase64 = chartRender.insertChart(chart, null, preview_w, preview_h, false, true).toDataURL();
- previewGroups[chartType][c_oAscChartSubType.stacked][style] = chartBase64;
- chart.subType = c_oAscChartSubType.stackedPer;
- fillChartData(chart);
- var chartBase64 = chartRender.insertChart(chart, null, preview_w, preview_h, false, true).toDataURL();
- previewGroups[chartType][c_oAscChartSubType.stackedPer][style] = chartBase64;
- break;
- case c_oAscChartType.pie:
- case c_oAscChartType.scatter:
- case c_oAscChartType.stock:
- chart.subType = c_oAscChartSubType.normal;
- fillChartData(chart);
- var chartBase64 = chartRender.insertChart(chart, null, preview_w, preview_h, false, true).toDataURL();
- previewGroups[chartType][c_oAscChartSubType.normal][style] = chartBase64;
- break;
- }
- }
- }
- bReady = true;
- };
+ _this.init = function (options) {};
_this.isReady = function () {
return bReady;
};
diff --git a/OfficeWeb/sdk/Common/Charts/excanvas/EXCANVAS-LICENSE.txt b/OfficeWeb/sdk/Common/Charts/excanvas/EXCANVAS-LICENSE.txt
deleted file mode 100644
index 6e802f34..00000000
--- a/OfficeWeb/sdk/Common/Charts/excanvas/EXCANVAS-LICENSE.txt
+++ /dev/null
@@ -1,214 +0,0 @@
- Versions
- ========
- The excanvas.original.js is the original unminified and uncompressed library. The excanvas.compressed.js has been minified by hand and
- Gzip compressed.
-
- License for excanvas.js
- =======================
-
- This license is applicable to excanvas.original.js and excanvas.compressed.js ONLY.
-
- License
- =======
-
- Apache License
- Version 2.0, January 2004
- http://www.apache.org/licenses/
-
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
- 1. Definitions.
-
- "License" shall mean the terms and conditions for use, reproduction,
- and distribution as defined by Sections 1 through 9 of this document.
-
- "Licensor" shall mean the copyright owner or entity authorized by
- the copyright owner that is granting the License.
-
- "Legal Entity" shall mean the union of the acting entity and all
- other entities that control, are controlled by, or are under common
- control with that entity. For the purposes of this definition,
- "control" means (i) the power, direct or indirect, to cause the
- direction or management of such entity, whether by contract or
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
- outstanding shares, or (iii) beneficial ownership of such entity.
-
- "You" (or "Your") shall mean an individual or Legal Entity
- exercising permissions granted by this License.
-
- "Source" form shall mean the preferred form for making modifications,
- including but not limited to software source code, documentation
- source, and configuration files.
-
- "Object" form shall mean any form resulting from mechanical
- transformation or translation of a Source form, including but
- not limited to compiled object code, generated documentation,
- and conversions to other media types.
-
- "Work" shall mean the work of authorship, whether in Source or
- Object form, made available under the License, as indicated by a
- copyright notice that is included in or attached to the work
- (an example is provided in the Appendix below).
-
- "Derivative Works" shall mean any work, whether in Source or Object
- form, that is based on (or derived from) the Work and for which the
- editorial revisions, annotations, elaborations, or other modifications
- represent, as a whole, an original work of authorship. For the purposes
- of this License, Derivative Works shall not include works that remain
- separable from, or merely link (or bind by name) to the interfaces of,
- the Work and Derivative Works thereof.
-
- "Contribution" shall mean any work of authorship, including
- the original version of the Work and any modifications or additions
- to that Work or Derivative Works thereof, that is intentionally
- submitted to Licensor for inclusion in the Work by the copyright owner
- or by an individual or Legal Entity authorized to submit on behalf of
- the copyright owner. For the purposes of this definition, "submitted"
- means any form of electronic, verbal, or written communication sent
- to the Licensor or its representatives, including but not limited to
- communication on electronic mailing lists, source code control systems,
- and issue tracking systems that are managed by, or on behalf of, the
- Licensor for the purpose of discussing and improving the Work, but
- excluding communication that is conspicuously marked or otherwise
- designated in writing by the copyright owner as "Not a Contribution."
-
- "Contributor" shall mean Licensor and any individual or Legal Entity
- on behalf of whom a Contribution has been received by Licensor and
- subsequently incorporated within the Work.
-
- 2. Grant of Copyright License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- copyright license to reproduce, prepare Derivative Works of,
- publicly display, publicly perform, sublicense, and distribute the
- Work and such Derivative Works in Source or Object form.
-
- 3. Grant of Patent License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- (except as stated in this section) patent license to make, have made,
- use, offer to sell, sell, import, and otherwise transfer the Work,
- where such license applies only to those patent claims licensable
- by such Contributor that are necessarily infringed by their
- Contribution(s) alone or by combination of their Contribution(s)
- with the Work to which such Contribution(s) was submitted. If You
- institute patent litigation against any entity (including a
- cross-claim or counterclaim in a lawsuit) alleging that the Work
- or a Contribution incorporated within the Work constitutes direct
- or contributory patent infringement, then any patent licenses
- granted to You under this License for that Work shall terminate
- as of the date such litigation is filed.
-
- 4. Redistribution. You may reproduce and distribute copies of the
- Work or Derivative Works thereof in any medium, with or without
- modifications, and in Source or Object form, provided that You
- meet the following conditions:
-
- (a) You must give any other recipients of the Work or
- Derivative Works a copy of this License; and
-
- (b) You must cause any modified files to carry prominent notices
- stating that You changed the files; and
-
- (c) You must retain, in the Source form of any Derivative Works
- that You distribute, all copyright, patent, trademark, and
- attribution notices from the Source form of the Work,
- excluding those notices that do not pertain to any part of
- the Derivative Works; and
-
- (d) If the Work includes a "NOTICE" text file as part of its
- distribution, then any Derivative Works that You distribute must
- include a readable copy of the attribution notices contained
- within such NOTICE file, excluding those notices that do not
- pertain to any part of the Derivative Works, in at least one
- of the following places: within a NOTICE text file distributed
- as part of the Derivative Works; within the Source form or
- documentation, if provided along with the Derivative Works; or,
- within a display generated by the Derivative Works, if and
- wherever such third-party notices normally appear. The contents
- of the NOTICE file are for informational purposes only and
- do not modify the License. You may add Your own attribution
- notices within Derivative Works that You distribute, alongside
- or as an addendum to the NOTICE text from the Work, provided
- that such additional attribution notices cannot be construed
- as modifying the License.
-
- You may add Your own copyright statement to Your modifications and
- may provide additional or different license terms and conditions
- for use, reproduction, or distribution of Your modifications, or
- for any such Derivative Works as a whole, provided Your use,
- reproduction, and distribution of the Work otherwise complies with
- the conditions stated in this License.
-
- 5. Submission of Contributions. Unless You explicitly state otherwise,
- any Contribution intentionally submitted for inclusion in the Work
- by You to the Licensor shall be under the terms and conditions of
- this License, without any additional terms or conditions.
- Notwithstanding the above, nothing herein shall supersede or modify
- the terms of any separate license agreement you may have executed
- with Licensor regarding such Contributions.
-
- 6. Trademarks. This License does not grant permission to use the trade
- names, trademarks, service marks, or product names of the Licensor,
- except as required for reasonable and customary use in describing the
- origin of the Work and reproducing the content of the NOTICE file.
-
- 7. Disclaimer of Warranty. Unless required by applicable law or
- agreed to in writing, Licensor provides the Work (and each
- Contributor provides its Contributions) on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- implied, including, without limitation, any warranties or conditions
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
- PARTICULAR PURPOSE. You are solely responsible for determining the
- appropriateness of using or redistributing the Work and assume any
- risks associated with Your exercise of permissions under this License.
-
- 8. Limitation of Liability. In no event and under no legal theory,
- whether in tort (including negligence), contract, or otherwise,
- unless required by applicable law (such as deliberate and grossly
- negligent acts) or agreed to in writing, shall any Contributor be
- liable to You for damages, including any direct, indirect, special,
- incidental, or consequential damages of any character arising as a
- result of this License or out of the use or inability to use the
- Work (including but not limited to damages for loss of goodwill,
- work stoppage, computer failure or malfunction, or any and all
- other commercial damages or losses), even if such Contributor
- has been advised of the possibility of such damages.
-
- 9. Accepting Warranty or Additional Liability. While redistributing
- the Work or Derivative Works thereof, You may choose to offer,
- and charge a fee for, acceptance of support, warranty, indemnity,
- or other liability obligations and/or rights consistent with this
- License. However, in accepting such obligations, You may act only
- on Your own behalf and on Your sole responsibility, not on behalf
- of any other Contributor, and only if You agree to indemnify,
- defend, and hold each Contributor harmless for any liability
- incurred by, or claims asserted against, such Contributor by reason
- of your accepting any such warranty or additional liability.
-
- END OF TERMS AND CONDITIONS
-
- APPENDIX: How to apply the Apache License to your work.
-
- To apply the Apache License to your work, attach the following
- boilerplate notice, with the fields enclosed by brackets "[]"
- replaced with your own identifying information. (Don't include
- the brackets!) The text should be enclosed in the appropriate
- comment syntax for the file format. We also recommend that a
- file or class name and description of purpose be included on the
- same "printed page" as the copyright notice for easier
- identification within third-party archives.
-
- Copyright [yyyy] [name of copyright owner]
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
\ No newline at end of file
diff --git a/OfficeWeb/sdk/Common/Charts/excanvas/HTACCESS-SAMPLE b/OfficeWeb/sdk/Common/Charts/excanvas/HTACCESS-SAMPLE
deleted file mode 100644
index e497658d..00000000
--- a/OfficeWeb/sdk/Common/Charts/excanvas/HTACCESS-SAMPLE
+++ /dev/null
@@ -1,13 +0,0 @@
-##
-## This is an example Apache .htaccess file that can be used to add the required
-## Content-Encoding: header to the compressed version of the ExCanvas library.
-## This .htaccess file is ONLY required for the compressed version. The
-## necessary header is this:
-## Content-Encoding: gzip
-##
-## If you are not using the compressed version, or are doing the compression
-## yourself (it could for example, be built into your web server), then you
-## do not need this file.
-##
-
-AddEncoding gzip .js
\ No newline at end of file
diff --git a/OfficeWeb/sdk/Common/Charts/excanvas/excanvas.compressed.js b/OfficeWeb/sdk/Common/Charts/excanvas/excanvas.compressed.js
deleted file mode 100644
index fc3d35c7..00000000
Binary files a/OfficeWeb/sdk/Common/Charts/excanvas/excanvas.compressed.js and /dev/null differ
diff --git a/OfficeWeb/sdk/Common/Charts/excanvas/excanvas.original.js b/OfficeWeb/sdk/Common/Charts/excanvas/excanvas.original.js
deleted file mode 100644
index d6c5dab2..00000000
--- a/OfficeWeb/sdk/Common/Charts/excanvas/excanvas.original.js
+++ /dev/null
@@ -1,1073 +0,0 @@
-/*
- * (c) Copyright Ascensio System SIA 2010-2014
- *
- * This program is a free software product. You can redistribute it and/or
- * modify it under the terms of the GNU Affero General Public License (AGPL)
- * version 3 as published by the Free Software Foundation. In accordance with
- * Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
- * that Ascensio System SIA expressly excludes the warranty of non-infringement
- * of any third-party rights.
- *
- * This program is distributed WITHOUT ANY WARRANTY; without even the implied
- * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
- * details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
- *
- * You can contact Ascensio System SIA at Lubanas st. 125a-25, Riga, Latvia,
- * EU, LV-1021.
- *
- * The interactive user interfaces in modified source and object code versions
- * of the Program must display Appropriate Legal Notices, as required under
- * Section 5 of the GNU AGPL version 3.
- *
- * Pursuant to Section 7(b) of the License you must retain the original Product
- * logo when distributing the program. Pursuant to Section 7(e) we decline to
- * grant you any rights under trademark law for use of our trademarks.
- *
- * All the Product's GUI elements, including illustrations and icon sets, as
- * well as technical writing content are licensed under the terms of the
- * Creative Commons Attribution-ShareAlike 4.0 International. See the License
- * terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
- *
- */
- if (!document.createElement("canvas").getContext) {
- (function () {
- var m = Math;
- var mr = m.round;
- var ms = m.sin;
- var mc = m.cos;
- var abs = m.abs;
- var sqrt = m.sqrt;
- var Z = 10;
- var Z2 = Z / 2;
- var IE_VERSION = +navigator.userAgent.match(/MSIE ([\d.]+)?/)[1];
- function getContext() {
- return this.context_ || (this.context_ = new CanvasRenderingContext2D_(this));
- }
- var slice = Array.prototype.slice;
- function bind(f, obj, var_args) {
- var a = slice.call(arguments, 2);
- return function () {
- return f.apply(obj, a.concat(slice.call(arguments)));
- };
- }
- function encodeHtmlAttribute(s) {
- return String(s).replace(/&/g, "&").replace(/"/g, """);
- }
- function addNamespace(doc, prefix, urn) {
- if (!doc.namespaces[prefix]) {
- if (IE_VERSION >= 7) {
- doc.namespaces.add(prefix, urn).doImport("#default#VML");
- } else {
- doc.namespaces.add(prefix, urn);
- }
- }
- }
- function addNamespacesAndStylesheet(doc) {
- addNamespace(doc, "g_vml_", "urn:schemas-microsoft-com:vml");
- addNamespace(doc, "g_o_", "urn:schemas-microsoft-com:office:office");
- if (!doc.styleSheets["ex_canvas_"]) {
- var ss = doc.createStyleSheet();
- ss.owningElement.id = "ex_canvas_";
- ss.cssText = "canvas{display:inline-block;overflow:hidden;" + "text-align:left;width:300px;height:150px}";
- }
- }
- addNamespacesAndStylesheet(document);
- var G_vmlCanvasManager_ = {
- init: function (opt_doc) {
- var doc = opt_doc || document;
- doc.createElement("canvas");
- doc.attachEvent("onreadystatechange", bind(this.init_, this, doc));
- },
- init_: function (doc) {
- var els = doc.getElementsByTagName("canvas");
- for (var i = 0; i < els.length; i++) {
- this.initElement(els[i]);
- }
- },
- initElement: function (el) {
- if (!el.getContext) {
- el.getContext = getContext;
- addNamespacesAndStylesheet(el.ownerDocument);
- el.innerHTML = "";
- el.attachEvent("onpropertychange", onPropertyChange);
- el.attachEvent("onresize", onResize);
- var attrs = el.attributes;
- if (attrs.width && attrs.width.specified) {
- el.style.width = attrs.width.nodeValue + "px";
- } else {
- el.width = el.clientWidth;
- }
- if (attrs.height && attrs.height.specified) {
- el.style.height = attrs.height.nodeValue + "px";
- } else {
- el.height = el.clientHeight;
- }
- }
- return el;
- }
- };
- function onPropertyChange(e) {
- var el = e.srcElement;
- switch (e.propertyName) {
- case "width":
- el.getContext().clearRect();
- el.style.width = el.attributes.width.nodeValue + "px";
- el.firstChild.style.width = el.clientWidth + "px";
- break;
- case "height":
- el.getContext().clearRect();
- el.style.height = el.attributes.height.nodeValue + "px";
- el.firstChild.style.height = el.clientHeight + "px";
- break;
- }
- }
- function onResize(e) {
- var el = e.srcElement;
- if (el.firstChild) {
- el.firstChild.style.width = el.clientWidth + "px";
- el.firstChild.style.height = el.clientHeight + "px";
- }
- }
- G_vmlCanvasManager_.init();
- var decToHex = [];
- for (var i = 0; i < 16; i++) {
- for (var j = 0; j < 16; j++) {
- decToHex[i * 16 + j] = i.toString(16) + j.toString(16);
- }
- }
- function createMatrixIdentity() {
- return [[1, 0, 0], [0, 1, 0], [0, 0, 1]];
- }
- function matrixMultiply(m1, m2) {
- var result = createMatrixIdentity();
- for (var x = 0; x < 3; x++) {
- for (var y = 0; y < 3; y++) {
- var sum = 0;
- for (var z = 0; z < 3; z++) {
- sum += m1[x][z] * m2[z][y];
- }
- result[x][y] = sum;
- }
- }
- return result;
- }
- function copyState(o1, o2) {
- o2.fillStyle = o1.fillStyle;
- o2.lineCap = o1.lineCap;
- o2.lineJoin = o1.lineJoin;
- o2.lineWidth = o1.lineWidth;
- o2.miterLimit = o1.miterLimit;
- o2.shadowBlur = o1.shadowBlur;
- o2.shadowColor = o1.shadowColor;
- o2.shadowOffsetX = o1.shadowOffsetX;
- o2.shadowOffsetY = o1.shadowOffsetY;
- o2.strokeStyle = o1.strokeStyle;
- o2.globalAlpha = o1.globalAlpha;
- o2.font = o1.font;
- o2.textAlign = o1.textAlign;
- o2.textBaseline = o1.textBaseline;
- o2.arcScaleX_ = o1.arcScaleX_;
- o2.arcScaleY_ = o1.arcScaleY_;
- o2.lineScale_ = o1.lineScale_;
- }
- var colorData = {
- aliceblue: "#F0F8FF",
- antiquewhite: "#FAEBD7",
- aquamarine: "#7FFFD4",
- azure: "#F0FFFF",
- beige: "#F5F5DC",
- bisque: "#FFE4C4",
- black: "#000000",
- blanchedalmond: "#FFEBCD",
- blueviolet: "#8A2BE2",
- brown: "#A52A2A",
- burlywood: "#DEB887",
- cadetblue: "#5F9EA0",
- chartreuse: "#7FFF00",
- chocolate: "#D2691E",
- coral: "#FF7F50",
- cornflowerblue: "#6495ED",
- cornsilk: "#FFF8DC",
- crimson: "#DC143C",
- cyan: "#00FFFF",
- darkblue: "#00008B",
- darkcyan: "#008B8B",
- darkgoldenrod: "#B8860B",
- darkgray: "#A9A9A9",
- darkgreen: "#006400",
- darkgrey: "#A9A9A9",
- darkkhaki: "#BDB76B",
- darkmagenta: "#8B008B",
- darkolivegreen: "#556B2F",
- darkorange: "#FF8C00",
- darkorchid: "#9932CC",
- darkred: "#8B0000",
- darksalmon: "#E9967A",
- darkseagreen: "#8FBC8F",
- darkslateblue: "#483D8B",
- darkslategray: "#2F4F4F",
- darkslategrey: "#2F4F4F",
- darkturquoise: "#00CED1",
- darkviolet: "#9400D3",
- deeppink: "#FF1493",
- deepskyblue: "#00BFFF",
- dimgray: "#696969",
- dimgrey: "#696969",
- dodgerblue: "#1E90FF",
- firebrick: "#B22222",
- floralwhite: "#FFFAF0",
- forestgreen: "#228B22",
- gainsboro: "#DCDCDC",
- ghostwhite: "#F8F8FF",
- gold: "#FFD700",
- goldenrod: "#DAA520",
- grey: "#808080",
- greenyellow: "#ADFF2F",
- honeydew: "#F0FFF0",
- hotpink: "#FF69B4",
- indianred: "#CD5C5C",
- indigo: "#4B0082",
- ivory: "#FFFFF0",
- khaki: "#F0E68C",
- lavender: "#E6E6FA",
- lavenderblush: "#FFF0F5",
- lawngreen: "#7CFC00",
- lemonchiffon: "#FFFACD",
- lightblue: "#ADD8E6",
- lightcoral: "#F08080",
- lightcyan: "#E0FFFF",
- lightgoldenrodyellow: "#FAFAD2",
- lightgreen: "#90EE90",
- lightgrey: "#D3D3D3",
- lightpink: "#FFB6C1",
- lightsalmon: "#FFA07A",
- lightseagreen: "#20B2AA",
- lightskyblue: "#87CEFA",
- lightslategray: "#778899",
- lightslategrey: "#778899",
- lightsteelblue: "#B0C4DE",
- lightyellow: "#FFFFE0",
- limegreen: "#32CD32",
- linen: "#FAF0E6",
- magenta: "#FF00FF",
- mediumaquamarine: "#66CDAA",
- mediumblue: "#0000CD",
- mediumorchid: "#BA55D3",
- mediumpurple: "#9370DB",
- mediumseagreen: "#3CB371",
- mediumslateblue: "#7B68EE",
- mediumspringgreen: "#00FA9A",
- mediumturquoise: "#48D1CC",
- mediumvioletred: "#C71585",
- midnightblue: "#191970",
- mintcream: "#F5FFFA",
- mistyrose: "#FFE4E1",
- moccasin: "#FFE4B5",
- navajowhite: "#FFDEAD",
- oldlace: "#FDF5E6",
- olivedrab: "#6B8E23",
- orange: "#FFA500",
- orangered: "#FF4500",
- orchid: "#DA70D6",
- palegoldenrod: "#EEE8AA",
- palegreen: "#98FB98",
- paleturquoise: "#AFEEEE",
- palevioletred: "#DB7093",
- papayawhip: "#FFEFD5",
- peachpuff: "#FFDAB9",
- peru: "#CD853F",
- pink: "#FFC0CB",
- plum: "#DDA0DD",
- powderblue: "#B0E0E6",
- rosybrown: "#BC8F8F",
- royalblue: "#4169E1",
- saddlebrown: "#8B4513",
- salmon: "#FA8072",
- sandybrown: "#F4A460",
- seagreen: "#2E8B57",
- seashell: "#FFF5EE",
- sienna: "#A0522D",
- skyblue: "#87CEEB",
- slateblue: "#6A5ACD",
- slategray: "#708090",
- slategrey: "#708090",
- snow: "#FFFAFA",
- springgreen: "#00FF7F",
- steelblue: "#4682B4",
- tan: "#D2B48C",
- thistle: "#D8BFD8",
- tomato: "#FF6347",
- turquoise: "#40E0D0",
- violet: "#EE82EE",
- wheat: "#F5DEB3",
- whitesmoke: "#F5F5F5",
- yellowgreen: "#9ACD32"
- };
- function getRgbHslContent(styleString) {
- var start = styleString.indexOf("(", 3);
- var end = styleString.indexOf(")", start + 1);
- var parts = styleString.substring(start + 1, end).split(",");
- if (parts.length != 4 || styleString.charAt(3) != "a") {
- parts[3] = 1;
- }
- return parts;
- }
- function percent(s) {
- return parseFloat(s) / 100;
- }
- function clamp(v, min, max) {
- return Math.min(max, Math.max(min, v));
- }
- function hslToRgb(parts) {
- var r, g, b, h, s, l;
- h = parseFloat(parts[0]) / 360 % 360;
- if (h < 0) {
- h++;
- }
- s = clamp(percent(parts[1]), 0, 1);
- l = clamp(percent(parts[2]), 0, 1);
- if (s == 0) {
- r = g = b = l;
- } else {
- var q = l < 0.5 ? l * (1 + s) : l + s - l * s;
- var p = 2 * l - q;
- r = hueToRgb(p, q, h + 1 / 3);
- g = hueToRgb(p, q, h);
- b = hueToRgb(p, q, h - 1 / 3);
- }
- return "#" + decToHex[Math.floor(r * 255)] + decToHex[Math.floor(g * 255)] + decToHex[Math.floor(b * 255)];
- }
- function hueToRgb(m1, m2, h) {
- if (h < 0) {
- h++;
- }
- if (h > 1) {
- h--;
- }
- if (6 * h < 1) {
- return m1 + (m2 - m1) * 6 * h;
- } else {
- if (2 * h < 1) {
- return m2;
- } else {
- if (3 * h < 2) {
- return m1 + (m2 - m1) * (2 / 3 - h) * 6;
- } else {
- return m1;
- }
- }
- }
- }
- function processStyle(styleString) {
- var str, alpha = 1;
- styleString = String(styleString);
- if (styleString.charAt(0) == "#") {
- str = styleString;
- } else {
- if (/^rgb/.test(styleString)) {
- var parts = getRgbHslContent(styleString);
- var str = "#",
- n;
- for (var i = 0; i < 3; i++) {
- if (parts[i].indexOf("%") != -1) {
- n = Math.floor(percent(parts[i]) * 255);
- } else {
- n = +parts[i];
- }
- str += decToHex[clamp(n, 0, 255)];
- }
- alpha = +parts[3];
- } else {
- if (/^hsl/.test(styleString)) {
- var parts = getRgbHslContent(styleString);
- str = hslToRgb(parts);
- alpha = parts[3];
- } else {
- str = colorData[styleString] || styleString;
- }
- }
- }
- return {
- color: str,
- alpha: alpha
- };
- }
- var DEFAULT_STYLE = {
- style: "normal",
- variant: "normal",
- weight: "normal",
- size: 10,
- family: "sans-serif"
- };
- var fontStyleCache = {};
- function processFontStyle(styleString) {
- if (fontStyleCache[styleString]) {
- return fontStyleCache[styleString];
- }
- var el = document.createElement("div");
- var style = el.style;
- try {
- style.font = styleString;
- } catch(ex) {}
- return fontStyleCache[styleString] = {
- style: style.fontStyle || DEFAULT_STYLE.style,
- variant: style.fontVariant || DEFAULT_STYLE.variant,
- weight: style.fontWeight || DEFAULT_STYLE.weight,
- size: style.fontSize || DEFAULT_STYLE.size,
- family: style.fontFamily || DEFAULT_STYLE.family
- };
- }
- function getComputedStyle(style, element) {
- var computedStyle = {};
- for (var p in style) {
- computedStyle[p] = style[p];
- }
- var canvasFontSize = parseFloat(element.currentStyle.fontSize),
- fontSize = parseFloat(style.size);
- if (typeof style.size == "number") {
- computedStyle.size = style.size;
- } else {
- if (style.size.indexOf("px") != -1) {
- computedStyle.size = fontSize;
- } else {
- if (style.size.indexOf("em") != -1) {
- computedStyle.size = canvasFontSize * fontSize;
- } else {
- if (style.size.indexOf("%") != -1) {
- computedStyle.size = (canvasFontSize / 100) * fontSize;
- } else {
- if (style.size.indexOf("pt") != -1) {
- computedStyle.size = fontSize / 0.75;
- } else {
- computedStyle.size = canvasFontSize;
- }
- }
- }
- }
- }
- computedStyle.size *= 0.981;
- return computedStyle;
- }
- function buildStyle(style) {
- return style.style + " " + style.variant + " " + style.weight + " " + style.size + "px " + style.family;
- }
- function processLineCap(lineCap) {
- switch (lineCap) {
- case "butt":
- return "flat";
- case "round":
- return "round";
- case "square":
- default:
- return "square";
- }
- }
- function CanvasRenderingContext2D_(canvasElement) {
- this.m_ = createMatrixIdentity();
- this.mStack_ = [];
- this.aStack_ = [];
- this.currentPath_ = [];
- this.strokeStyle = "#000";
- this.fillStyle = "#000";
- this.lineWidth = 1;
- this.lineJoin = "miter";
- this.lineCap = "butt";
- this.miterLimit = Z * 1;
- this.globalAlpha = 1;
- this.font = "10px sans-serif";
- this.textAlign = "left";
- this.textBaseline = "alphabetic";
- this.canvas = canvasElement;
- var cssText = "width:" + canvasElement.clientWidth + "px;height:" + canvasElement.clientHeight + "px;overflow:hidden;position:absolute";
- var el = canvasElement.ownerDocument.createElement("div");
- el.style.cssText = cssText;
- canvasElement.appendChild(el);
- var overlayEl = el.cloneNode(false);
- overlayEl.style.backgroundColor = "red";
- overlayEl.style.filter = "alpha(opacity=0)";
- canvasElement.appendChild(overlayEl);
- this.element_ = el;
- this.arcScaleX_ = 1;
- this.arcScaleY_ = 1;
- this.lineScale_ = 1;
- }
- var contextPrototype = CanvasRenderingContext2D_.prototype;
- contextPrototype.clearRect = function () {
- if (this.textMeasureEl_) {
- this.textMeasureEl_.removeNode(true);
- this.textMeasureEl_ = null;
- }
- this.element_.innerHTML = "";
- };
- contextPrototype.beginPath = function () {
- this.currentPath_ = [];
- };
- contextPrototype.moveTo = function (aX, aY) {
- var p = this.getCoords_(aX, aY);
- this.currentPath_.push({
- type: "moveTo",
- x: p.x,
- y: p.y
- });
- this.currentX_ = p.x;
- this.currentY_ = p.y;
- };
- contextPrototype.lineTo = function (aX, aY) {
- var p = this.getCoords_(aX, aY);
- this.currentPath_.push({
- type: "lineTo",
- x: p.x,
- y: p.y
- });
- this.currentX_ = p.x;
- this.currentY_ = p.y;
- };
- contextPrototype.bezierCurveTo = function (aCP1x, aCP1y, aCP2x, aCP2y, aX, aY) {
- var p = this.getCoords_(aX, aY);
- var cp1 = this.getCoords_(aCP1x, aCP1y);
- var cp2 = this.getCoords_(aCP2x, aCP2y);
- bezierCurveTo(this, cp1, cp2, p);
- };
- function bezierCurveTo(self, cp1, cp2, p) {
- self.currentPath_.push({
- type: "bezierCurveTo",
- cp1x: cp1.x,
- cp1y: cp1.y,
- cp2x: cp2.x,
- cp2y: cp2.y,
- x: p.x,
- y: p.y
- });
- self.currentX_ = p.x;
- self.currentY_ = p.y;
- }
- contextPrototype.quadraticCurveTo = function (aCPx, aCPy, aX, aY) {
- var cp = this.getCoords_(aCPx, aCPy);
- var p = this.getCoords_(aX, aY);
- var cp1 = {
- x: this.currentX_ + 2 / 3 * (cp.x - this.currentX_),
- y: this.currentY_ + 2 / 3 * (cp.y - this.currentY_)
- };
- var cp2 = {
- x: cp1.x + (p.x - this.currentX_) / 3,
- y: cp1.y + (p.y - this.currentY_) / 3
- };
- bezierCurveTo(this, cp1, cp2, p);
- };
- contextPrototype.arc = function (aX, aY, aRadius, aStartAngle, aEndAngle, aClockwise) {
- aRadius *= Z;
- var arcType = aClockwise ? "at" : "wa";
- var xStart = aX + mc(aStartAngle) * aRadius - Z2;
- var yStart = aY + ms(aStartAngle) * aRadius - Z2;
- var xEnd = aX + mc(aEndAngle) * aRadius - Z2;
- var yEnd = aY + ms(aEndAngle) * aRadius - Z2;
- if (xStart == xEnd && !aClockwise) {
- xStart += 0.125;
- }
- var p = this.getCoords_(aX, aY);
- var pStart = this.getCoords_(xStart, yStart);
- var pEnd = this.getCoords_(xEnd, yEnd);
- this.currentPath_.push({
- type: arcType,
- x: p.x,
- y: p.y,
- radius: aRadius,
- xStart: pStart.x,
- yStart: pStart.y,
- xEnd: pEnd.x,
- yEnd: pEnd.y
- });
- };
- contextPrototype.rect = function (aX, aY, aWidth, aHeight) {
- this.moveTo(aX, aY);
- this.lineTo(aX + aWidth, aY);
- this.lineTo(aX + aWidth, aY + aHeight);
- this.lineTo(aX, aY + aHeight);
- this.closePath();
- };
- contextPrototype.strokeRect = function (aX, aY, aWidth, aHeight) {
- var oldPath = this.currentPath_;
- this.beginPath();
- this.moveTo(aX, aY);
- this.lineTo(aX + aWidth, aY);
- this.lineTo(aX + aWidth, aY + aHeight);
- this.lineTo(aX, aY + aHeight);
- this.closePath();
- this.stroke();
- this.currentPath_ = oldPath;
- };
- contextPrototype.fillRect = function (aX, aY, aWidth, aHeight) {
- var oldPath = this.currentPath_;
- this.beginPath();
- this.moveTo(aX, aY);
- this.lineTo(aX + aWidth, aY);
- this.lineTo(aX + aWidth, aY + aHeight);
- this.lineTo(aX, aY + aHeight);
- this.closePath();
- this.fill();
- this.currentPath_ = oldPath;
- };
- contextPrototype.createLinearGradient = function (aX0, aY0, aX1, aY1) {
- var gradient = new CanvasGradient_("gradient");
- gradient.x0_ = aX0;
- gradient.y0_ = aY0;
- gradient.x1_ = aX1;
- gradient.y1_ = aY1;
- return gradient;
- };
- contextPrototype.createRadialGradient = function (aX0, aY0, aR0, aX1, aY1, aR1) {
- var gradient = new CanvasGradient_("gradientradial");
- gradient.x0_ = aX0;
- gradient.y0_ = aY0;
- gradient.r0_ = aR0;
- gradient.x1_ = aX1;
- gradient.y1_ = aY1;
- gradient.r1_ = aR1;
- return gradient;
- };
- contextPrototype.drawImage = function (image, var_args) {
- var dx, dy, dw, dh, sx, sy, sw, sh;
- var oldRuntimeWidth = image.runtimeStyle.width;
- var oldRuntimeHeight = image.runtimeStyle.height;
- image.runtimeStyle.width = "auto";
- image.runtimeStyle.height = "auto";
- var w = image.width;
- var h = image.height;
- image.runtimeStyle.width = oldRuntimeWidth;
- image.runtimeStyle.height = oldRuntimeHeight;
- if (arguments.length == 3) {
- dx = arguments[1];
- dy = arguments[2];
- sx = sy = 0;
- sw = dw = w;
- sh = dh = h;
- } else {
- if (arguments.length == 5) {
- dx = arguments[1];
- dy = arguments[2];
- dw = arguments[3];
- dh = arguments[4];
- sx = sy = 0;
- sw = w;
- sh = h;
- } else {
- if (arguments.length == 9) {
- sx = arguments[1];
- sy = arguments[2];
- sw = arguments[3];
- sh = arguments[4];
- dx = arguments[5];
- dy = arguments[6];
- dw = arguments[7];
- dh = arguments[8];
- } else {
- throw Error("Invalid number of arguments");
- }
- }
- }
- var d = this.getCoords_(dx, dy);
- var w2 = sw / 2;
- var h2 = sh / 2;
- var vmlStr = [];
- var W = 10;
- var H = 10;
- vmlStr.push(" ', '", "");
- this.element_.insertAdjacentHTML("BeforeEnd", vmlStr.join(""));
- };
- contextPrototype.stroke = function (aFill) {
- var lineStr = [];
- var lineOpen = false;
- var W = 10;
- var H = 10;
- lineStr.push(" max.x) {
- max.x = p.x;
- }
- if (min.y == null || p.y < min.y) {
- min.y = p.y;
- }
- if (max.y == null || p.y > max.y) {
- max.y = p.y;
- }
- }
- }
- lineStr.push(' ">');
- if (!aFill) {
- appendStroke(this, lineStr);
- } else {
- appendFill(this, lineStr, min, max);
- }
- lineStr.push("");
- this.element_.insertAdjacentHTML("beforeEnd", lineStr.join(""));
- };
- function appendStroke(ctx, lineStr) {
- var a = processStyle(ctx.strokeStyle);
- var color = a.color;
- var opacity = a.alpha * ctx.globalAlpha;
- var lineWidth = ctx.lineScale_ * ctx.lineWidth;
- if (lineWidth < 1) {
- opacity *= lineWidth;
- }
- lineStr.push("');
- }
- function appendFill(ctx, lineStr, min, max) {
- var fillStyle = ctx.fillStyle;
- var arcScaleX = ctx.arcScaleX_;
- var arcScaleY = ctx.arcScaleY_;
- var width = max.x - min.x;
- var height = max.y - min.y;
- if (fillStyle instanceof CanvasGradient_) {
- var angle = 0;
- var focus = {
- x: 0,
- y: 0
- };
- var shift = 0;
- var expansion = 1;
- if (fillStyle.type_ == "gradient") {
- var x0 = fillStyle.x0_ / arcScaleX;
- var y0 = fillStyle.y0_ / arcScaleY;
- var x1 = fillStyle.x1_ / arcScaleX;
- var y1 = fillStyle.y1_ / arcScaleY;
- var p0 = ctx.getCoords_(x0, y0);
- var p1 = ctx.getCoords_(x1, y1);
- var dx = p1.x - p0.x;
- var dy = p1.y - p0.y;
- angle = Math.atan2(dx, dy) * 180 / Math.PI;
- if (angle < 0) {
- angle += 360;
- }
- if (angle < 1e-06) {
- angle = 0;
- }
- } else {
- var p0 = ctx.getCoords_(fillStyle.x0_, fillStyle.y0_);
- focus = {
- x: (p0.x - min.x) / width,
- y: (p0.y - min.y) / height
- };
- width /= arcScaleX * Z;
- height /= arcScaleY * Z;
- var dimension = m.max(width, height);
- shift = 2 * fillStyle.r0_ / dimension;
- expansion = 2 * fillStyle.r1_ / dimension - shift;
- }
- var stops = fillStyle.colors_;
- stops.sort(function (cs1, cs2) {
- return cs1.offset - cs2.offset;
- });
- var length = stops.length;
- var color1 = stops[0].color;
- var color2 = stops[length - 1].color;
- var opacity1 = stops[0].alpha * ctx.globalAlpha;
- var opacity2 = stops[length - 1].alpha * ctx.globalAlpha;
- var colors = [];
- for (var i = 0; i < length; i++) {
- var stop = stops[i];
- colors.push(stop.offset * expansion + shift + " " + stop.color);
- }
- lineStr.push('');
- } else {
- if (fillStyle instanceof CanvasPattern_) {
- if (width && height) {
- var deltaLeft = -min.x;
- var deltaTop = -min.y;
- lineStr.push("');
- }
- } else {
- var a = processStyle(ctx.fillStyle);
- var color = a.color;
- var opacity = a.alpha * ctx.globalAlpha;
- lineStr.push('');
- }
- }
- }
- contextPrototype.fill = function () {
- this.stroke(true);
- };
- contextPrototype.closePath = function () {
- this.currentPath_.push({
- type: "close"
- });
- };
- contextPrototype.getCoords_ = function (aX, aY) {
- var m = this.m_;
- return {
- x: Z * (aX * m[0][0] + aY * m[1][0] + m[2][0]) - Z2,
- y: Z * (aX * m[0][1] + aY * m[1][1] + m[2][1]) - Z2
- };
- };
- contextPrototype.save = function () {
- var o = {};
- copyState(this, o);
- this.aStack_.push(o);
- this.mStack_.push(this.m_);
- this.m_ = matrixMultiply(createMatrixIdentity(), this.m_);
- };
- contextPrototype.restore = function () {
- if (this.aStack_.length) {
- copyState(this.aStack_.pop(), this);
- this.m_ = this.mStack_.pop();
- }
- };
- function matrixIsFinite(m) {
- return isFinite(m[0][0]) && isFinite(m[0][1]) && isFinite(m[1][0]) && isFinite(m[1][1]) && isFinite(m[2][0]) && isFinite(m[2][1]);
- }
- function setM(ctx, m, updateLineScale) {
- if (!matrixIsFinite(m)) {
- return;
- }
- ctx.m_ = m;
- if (updateLineScale) {
- var det = m[0][0] * m[1][1] - m[0][1] * m[1][0];
- ctx.lineScale_ = sqrt(abs(det));
- }
- }
- contextPrototype.translate = function (aX, aY) {
- var m1 = [[1, 0, 0], [0, 1, 0], [aX, aY, 1]];
- setM(this, matrixMultiply(m1, this.m_), false);
- };
- contextPrototype.rotate = function (aRot) {
- var c = mc(aRot);
- var s = ms(aRot);
- var m1 = [[c, s, 0], [-s, c, 0], [0, 0, 1]];
- setM(this, matrixMultiply(m1, this.m_), false);
- };
- contextPrototype.scale = function (aX, aY) {
- this.arcScaleX_ *= aX;
- this.arcScaleY_ *= aY;
- var m1 = [[aX, 0, 0], [0, aY, 0], [0, 0, 1]];
- setM(this, matrixMultiply(m1, this.m_), true);
- };
- contextPrototype.transform = function (m11, m12, m21, m22, dx, dy) {
- var m1 = [[m11, m12, 0], [m21, m22, 0], [dx, dy, 1]];
- setM(this, matrixMultiply(m1, this.m_), true);
- };
- contextPrototype.setTransform = function (m11, m12, m21, m22, dx, dy) {
- var m = [[m11, m12, 0], [m21, m22, 0], [dx, dy, 1]];
- setM(this, m, true);
- };
- contextPrototype.drawText_ = function (text, x, y, maxWidth, stroke) {
- var m = this.m_,
- delta = 1000,
- left = 0,
- right = delta,
- offset = {
- x: 0,
- y: 0
- },
- lineStr = [];
- var fontStyle = getComputedStyle(processFontStyle(this.font), this.element_);
- var fontStyleString = buildStyle(fontStyle);
- var elementStyle = this.element_.currentStyle;
- var textAlign = this.textAlign.toLowerCase();
- switch (textAlign) {
- case "left":
- case "center":
- case "right":
- break;
- case "end":
- textAlign = elementStyle.direction == "ltr" ? "right" : "left";
- break;
- case "start":
- textAlign = elementStyle.direction == "rtl" ? "right" : "left";
- break;
- default:
- textAlign = "left";
- }
- switch (this.textBaseline) {
- case "hanging":
- case "top":
- offset.y = fontStyle.size / 1.75;
- break;
- case "middle":
- break;
- default:
- case null:
- case "alphabetic":
- case "ideographic":
- case "bottom":
- offset.y = -fontStyle.size / 2.25;
- break;
- }
- switch (textAlign) {
- case "right":
- left = delta;
- right = 0.05;
- break;
- case "center":
- left = right = delta / 2;
- break;
- }
- var d = this.getCoords_(x + offset.x, y + offset.y);
- lineStr.push('');
- if (stroke) {
- appendStroke(this, lineStr);
- } else {
- appendFill(this, lineStr, {
- x: -left,
- y: 0
- },
- {
- x: right,
- y: fontStyle.size
- });
- }
- var skewM = m[0][0].toFixed(3) + "," + m[1][0].toFixed(3) + "," + m[0][1].toFixed(3) + "," + m[1][1].toFixed(3) + ",0,0";
- var skewOffset = mr(d.x / Z) + "," + mr(d.y / Z);
- lineStr.push('', '', '');
- this.element_.insertAdjacentHTML("beforeEnd", lineStr.join(""));
- };
- contextPrototype.fillText = function (text, x, y, maxWidth) {
- this.drawText_(text, x, y, maxWidth, false);
- };
- contextPrototype.strokeText = function (text, x, y, maxWidth) {
- this.drawText_(text, x, y, maxWidth, true);
- };
- contextPrototype.measureText = function (text) {
- if (!this.textMeasureEl_) {
- var s = '';
- this.element_.insertAdjacentHTML("beforeEnd", s);
- this.textMeasureEl_ = this.element_.lastChild;
- }
- var doc = this.element_.ownerDocument;
- this.textMeasureEl_.innerHTML = "";
- this.textMeasureEl_.style.font = this.font;
- this.textMeasureEl_.appendChild(doc.createTextNode(text));
- return {
- width: this.textMeasureEl_.offsetWidth
- };
- };
- contextPrototype.clip = function () {};
- contextPrototype.arcTo = function () {};
- contextPrototype.createPattern = function (image, repetition) {
- return new CanvasPattern_(image, repetition);
- };
- function CanvasGradient_(aType) {
- this.type_ = aType;
- this.x0_ = 0;
- this.y0_ = 0;
- this.r0_ = 0;
- this.x1_ = 0;
- this.y1_ = 0;
- this.r1_ = 0;
- this.colors_ = [];
- }
- CanvasGradient_.prototype.addColorStop = function (aOffset, aColor) {
- aColor = processStyle(aColor);
- this.colors_.push({
- offset: aOffset,
- color: aColor.color,
- alpha: aColor.alpha
- });
- };
- function CanvasPattern_(image, repetition) {
- assertImageIsValid(image);
- switch (repetition) {
- case "repeat":
- case null:
- case "":
- this.repetition_ = "repeat";
- break;
- case "repeat-x":
- case "repeat-y":
- case "no-repeat":
- this.repetition_ = repetition;
- break;
- default:
- throwException("SYNTAX_ERR");
- }
- this.src_ = image.src;
- this.width_ = image.width;
- this.height_ = image.height;
- }
- function throwException(s) {
- throw new DOMException_(s);
- }
- function assertImageIsValid(img) {
- if (!img || img.nodeType != 1 || img.tagName != "IMG") {
- throwException("TYPE_MISMATCH_ERR");
- }
- if (img.readyState != "complete") {
- throwException("INVALID_STATE_ERR");
- }
- }
- function DOMException_(s) {
- this.code = this[s];
- this.message = s + ": DOM Exception " + this.code;
- }
- var p = DOMException_.prototype = new Error;
- p.INDEX_SIZE_ERR = 1;
- p.DOMSTRING_SIZE_ERR = 2;
- p.HIERARCHY_REQUEST_ERR = 3;
- p.WRONG_DOCUMENT_ERR = 4;
- p.INVALID_CHARACTER_ERR = 5;
- p.NO_DATA_ALLOWED_ERR = 6;
- p.NO_MODIFICATION_ALLOWED_ERR = 7;
- p.NOT_FOUND_ERR = 8;
- p.NOT_SUPPORTED_ERR = 9;
- p.INUSE_ATTRIBUTE_ERR = 10;
- p.INVALID_STATE_ERR = 11;
- p.SYNTAX_ERR = 12;
- p.INVALID_MODIFICATION_ERR = 13;
- p.NAMESPACE_ERR = 14;
- p.INVALID_ACCESS_ERR = 15;
- p.VALIDATION_ERR = 16;
- p.TYPE_MISMATCH_ERR = 17;
- G_vmlCanvasManager = G_vmlCanvasManager_;
- CanvasRenderingContext2D = CanvasRenderingContext2D_;
- CanvasGradient = CanvasGradient_;
- CanvasPattern = CanvasPattern_;
- DOMException = DOMException_;
- })();
-}
\ No newline at end of file
diff --git a/OfficeWeb/sdk/Common/Shapes/Serialize.js b/OfficeWeb/sdk/Common/Shapes/Serialize.js
index fcac03aa..22586d74 100644
--- a/OfficeWeb/sdk/Common/Shapes/Serialize.js
+++ b/OfficeWeb/sdk/Common/Shapes/Serialize.js
@@ -3361,34 +3361,6 @@ function BinaryPPTYLoader() {
case 3:
var _length = s.GetLong();
var _pos = s.cur;
- _chart = new CChartAsGroup(this.TempGroupObject);
- if (g_oTableId) {
- g_oTableId.m_bTurnOff = true;
- }
- var chart = new asc_CChart();
- if (g_oTableId) {
- g_oTableId.m_bTurnOff = false;
- }
- var _stream = new FT_Stream2();
- _stream.data = s.data;
- _stream.pos = s.pos;
- _stream.cur = s.cur;
- _stream.size = s.size;
- var oBinary_ChartReader = new Binary_ChartReader(_stream, chart, _chart);
- oBinary_ChartReader.ReadExternal(_length);
- if (null != chart.range.interval && chart.range.interval.length > 0) {
- if (_xfrm) {
- if (_chart.setXfrm) {
- _chart.setXfrm(_xfrm.offX, _xfrm.offY, _xfrm.extX, _xfrm.extY, _xfrm.rot, _xfrm.flipH, _xfrm.flipV);
- } else {
- _chart.setPosition(_xfrm.offX, _xfrm.offY);
- _chart.setExtents(_xfrm.extX, _xfrm.extY);
- }
- }
- _chart.setAscChart(chart);
- } else {
- _chart = null;
- }
s.Seek2(_pos + _length);
break;
default:
@@ -3441,19 +3413,6 @@ function BinaryPPTYLoader() {
case 3:
var _length = s.GetLong();
var _pos = s.cur;
- if (typeof CChartAsGroup !== "undefined") {
- _chart = new CChartAsGroup(this.TempMainObject);
- var _stream = new FT_Stream2();
- _stream.data = s.data;
- _stream.pos = s.pos;
- _stream.cur = s.cur;
- _stream.size = s.size;
- var oBinary_ChartReader = new Binary_ChartReader(_stream, _chart.chart, _chart);
- oBinary_ChartReader.ReadExternal(_length);
- if (null == _chart.chart.range.interval || _chart.chart.range.interval.length <= 0) {
- _chart = null;
- }
- }
s.Seek2(_pos + _length);
break;
default:
diff --git a/OfficeWeb/sdk/Word/Editor/Serialize2.js b/OfficeWeb/sdk/Word/Editor/Serialize2.js
index e0a29b73..90ea8e61 100644
--- a/OfficeWeb/sdk/Word/Editor/Serialize2.js
+++ b/OfficeWeb/sdk/Word/Editor/Serialize2.js
@@ -9185,6 +9185,14 @@ function Binary_DocumentTableReader(doc, oReadResult, openParams, stream, bAllow
}
if (null != oParaDrawing.Extent) {
oParaDrawing.setExtent(oParaDrawing.Extent.W, oParaDrawing.Extent.H);
+ var bChartDisabled = true;
+ if (bChartDisabled && oParaDrawing.isChart) {
+ delete oParaDrawing.isChart;
+ var Image = new WordImage(oParaDrawing, doc, doc.DrawingDocument, null);
+ var src = "";
+ Image.init(src, oParaDrawing.Extent.W, oParaDrawing.Extent.H, null);
+ oParaDrawing.Set_GraphicObject(Image);
+ }
}
if (null != oParaDrawing.wrappingPolygon) {
oParaDrawing.addWrapPolygon(oParaDrawing.wrappingPolygon);
@@ -9399,19 +9407,25 @@ function Binary_DocumentTableReader(doc, oReadResult, openParams, stream, bAllow
oParaDrawing.Set_GraphicObject(grObject);
} else {
if (c_oSerImageType2.Chart === type) {
- var oNewGraphicObj = new CChartAsGroup();
- if (g_oTableId) {
- g_oTableId.m_bTurnOff = true;
- }
- var chart = new asc_CChart();
- if (g_oTableId) {
- g_oTableId.m_bTurnOff = false;
- }
- var oBinary_ChartReader = new Binary_ChartReader(this.stream, chart, oNewGraphicObj);
- oBinary_ChartReader.ReadExternal(length);
- if (null != chart.range.interval && chart.range.interval.length > 0) {
- oNewGraphicObj.setAscChart(chart);
- oParaDrawing.Set_GraphicObject(oNewGraphicObj);
+ var bChartDisabled = true;
+ if (bChartDisabled) {
+ oParaDrawing.isChart = true;
+ res = c_oSerConstants.ReadUnknown;
+ } else {
+ var oNewGraphicObj = new CChartAsGroup();
+ if (g_oTableId) {
+ g_oTableId.m_bTurnOff = true;
+ }
+ var chart = new asc_CChart();
+ if (g_oTableId) {
+ g_oTableId.m_bTurnOff = false;
+ }
+ var oBinary_ChartReader = new Binary_ChartReader(this.stream, chart, oNewGraphicObj);
+ oBinary_ChartReader.ReadExternal(length);
+ if (null != chart.range.interval && chart.range.interval.length > 0) {
+ oNewGraphicObj.setAscChart(chart);
+ oParaDrawing.Set_GraphicObject(oNewGraphicObj);
+ }
}
} else {
if (c_oSerImageType2.AllowOverlap === type) {
diff --git a/OfficeWeb/sdk/Word/api.js b/OfficeWeb/sdk/Word/api.js
index 11409721..b144cc0b 100644
--- a/OfficeWeb/sdk/Word/api.js
+++ b/OfficeWeb/sdk/Word/api.js
@@ -819,8 +819,6 @@ function asc_docs_api(name) {
g_bIsDocumentCopyPaste = true;
this.DocumentReaderMode = null;
this.isChartEditor = false;
- this.chartStyleManager = new ChartStyleManager();
- this.chartPreviewManager = new ChartPreviewManager();
this.IsLongActionCurrent = false;
this.ParcedDocument = false;
this.isStartCoAuthoringOnEndLoad = false;