diff --git a/docker/office/resources/api/documents/api.js b/docker/office/resources/api/documents/api.js
index 2bb822b97..7ef190843 100644
--- a/docker/office/resources/api/documents/api.js
+++ b/docker/office/resources/api/documents/api.js
@@ -11,27 +11,40 @@
window.localStorage.removeItem('ui-theme-id')
} catch (e) {}
//
- window._toolbarClick = function(el, action) {
- window.parent.postMessage({
- source: 'onlyoffice',
- action: action,
- rect: el.getBoundingClientRect()
- }, "*");
- };
- window._toolbarInter = setInterval(function() {
- if (typeof $ === "function") {
- var toolbar = $("#toolbar");
- if (toolbar.find(".hedset").length > 0 && toolbar.find(".hedico").length === 0) {
- var linkSvg = 'data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGNsYXNzPSJpb25pY29uIiB2aWV3Qm94PSIwIDAgNTEyIDUxMiI+PHRpdGxlPkxpbms8L3RpdGxlPjxwYXRoIGQ9Ik0yMDggMzUyaC02NGE5NiA5NiAwIDAxMC0xOTJoNjRNMzA0IDE2MGg2NGE5NiA5NiAwIDAxMCAxOTJoLTY0TTE2My4yOSAyNTZoMTg3LjQyIiBmaWxsPSJub25lIiBzdHJva2U9IiNmNWY1ZjUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgc3Ryb2tlLXdpZHRoPSIzNiIvPjwvc3ZnPg==';
- var historySvg = 'data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGNsYXNzPSJpb25pY29uIiB2aWV3Qm94PSIwIDAgNTEyIDUxMiI+PHRpdGxlPlRpbWVyPC90aXRsZT48cGF0aCBkPSJNMTEyLjkxIDEyOEExOTEuODUgMTkxLjg1IDAgMDA2NCAyNTRjLTEuMTggMTA2LjM1IDg1LjY1IDE5My44IDE5MiAxOTQgMTA2LjIuMiAxOTItODUuODMgMTkyLTE5MiAwLTEwNC41NC04My41NS0xODkuNjEtMTg3LjUtMTkyYTQuMzYgNC4zNiAwIDAwLTQuNSA0LjM3VjE1MiIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjZjVmNWY1IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIHN0cm9rZS13aWR0aD0iMzIiLz48cGF0aCBkPSJNMjMzLjM4IDI3OC42M2wtNzktMTEzYTguMTMgOC4xMyAwIDAxMTEuMzItMTEuMzJsMTEzIDc5YTMyLjUgMzIuNSAwIDAxLTM3LjI1IDUzLjI2IDMzLjIxIDMzLjIxIDAgMDEtOC4wNy03Ljk0eiIgZmlsbD0iI0Y1RjVGNSIvPjwvc3ZnPg==';
- toolbar.find(".hedset").eq(0).before('
' +
- '' +
- '' +
- '
')
- clearInterval(window._toolbarInter);
+ if (window.parent) {
+ window._toolbarClick = function(el, action) {
+ window.parent.postMessage({
+ source: 'onlyoffice',
+ action: action,
+ rect: el.getBoundingClientRect()
+ }, "*");
+ };
+ window._toolbarInter = setInterval(function() {
+ if (typeof $ === "function") {
+ var toolbar = $("#toolbar");
+ if (toolbar.find(".hedset").length > 0) {
+ clearInterval(window._toolbarInter);
+ window.parent.postMessage({
+ source: 'onlyoffice',
+ action: 'ready',
+ }, "*");
+ }
}
- }
- }, 1000);
+ }, 1000);
+ window.addEventListener('message', function(event) {
+ if (event.data === "createMenu") {
+ var toolbar = $("#toolbar");
+ if (toolbar.find(".hedico").length === 0) {
+ var linkSvg = 'data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGNsYXNzPSJpb25pY29uIiB2aWV3Qm94PSIwIDAgNTEyIDUxMiI+PHRpdGxlPkxpbms8L3RpdGxlPjxwYXRoIGQ9Ik0yMDggMzUyaC02NGE5NiA5NiAwIDAxMC0xOTJoNjRNMzA0IDE2MGg2NGE5NiA5NiAwIDAxMCAxOTJoLTY0TTE2My4yOSAyNTZoMTg3LjQyIiBmaWxsPSJub25lIiBzdHJva2U9IiNmNWY1ZjUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgc3Ryb2tlLXdpZHRoPSIzNiIvPjwvc3ZnPg==';
+ var historySvg = 'data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGNsYXNzPSJpb25pY29uIiB2aWV3Qm94PSIwIDAgNTEyIDUxMiI+PHRpdGxlPlRpbWVyPC90aXRsZT48cGF0aCBkPSJNMTEyLjkxIDEyOEExOTEuODUgMTkxLjg1IDAgMDA2NCAyNTRjLTEuMTggMTA2LjM1IDg1LjY1IDE5My44IDE5MiAxOTQgMTA2LjIuMiAxOTItODUuODMgMTkyLTE5MiAwLTEwNC41NC04My41NS0xODkuNjEtMTg3LjUtMTkyYTQuMzYgNC4zNiAwIDAwLTQuNSA0LjM3VjE1MiIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjZjVmNWY1IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIHN0cm9rZS13aWR0aD0iMzIiLz48cGF0aCBkPSJNMjMzLjM4IDI3OC42M2wtNzktMTEzYTguMTMgOC4xMyAwIDAxMTEuMzItMTEuMzJsMTEzIDc5YTMyLjUgMzIuNSAwIDAxLTM3LjI1IDUzLjI2IDMzLjIxIDMzLjIxIDAgMDEtOC4wNy03Ljk0eiIgZmlsbD0iI0Y1RjVGNSIvPjwvc3ZnPg==';
+ toolbar.find(".hedset").eq(0).before('' +
+ '' +
+ '' +
+ '
')
+ }
+ }
+ })
+ }
})(window);
;(function(DocsAPI, window, document, undefined) {
diff --git a/resources/assets/js/pages/manage/components/FileContent.vue b/resources/assets/js/pages/manage/components/FileContent.vue
index a7762a350..13cdd2521 100644
--- a/resources/assets/js/pages/manage/components/FileContent.vue
+++ b/resources/assets/js/pages/manage/components/FileContent.vue
@@ -286,20 +286,25 @@ export default {
},
methods: {
- handleOfficeMessage({data}) {
+ handleOfficeMessage({data, source}) {
if (data.source === 'onlyoffice') {
switch (data.action) {
+ case 'ready':
+ source.postMessage("createMenu", "*");
+ break;
+
case 'link':
this.handleClick('link')
break;
case 'history':
- if (this.$refs.officeHeader) {
- this.$refs.officeHeader.style.top = `${data.rect.top}px`;
- this.$refs.officeHeader.style.left = `${data.rect.left}px`;
- this.$refs.officeHeader.style.width = `${data.rect.width}px`;
- this.$refs.officeHeader.style.height = `${data.rect.height}px`;
- this.$refs.officeHeader.click();
+ const dom = this.$refs.officeHeader;
+ if (dom) {
+ dom.style.top = `${data.rect.top}px`;
+ dom.style.left = `${data.rect.left}px`;
+ dom.style.width = `${data.rect.width}px`;
+ dom.style.height = `${data.rect.height}px`;
+ dom.click();
}
break;
}