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;