Skip to content

Commit

Permalink
fixed object preview btn
Browse files Browse the repository at this point in the history
  • Loading branch information
benwalch committed Feb 6, 2025
1 parent a90db51 commit bc08566
Show file tree
Hide file tree
Showing 2 changed files with 27 additions and 23 deletions.
2 changes: 2 additions & 0 deletions UPGRADE.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
# Upgrade Notes

## 5.1.2
- [BUBGFIX] fixed object preview button
## 5.1.1
- [IMPROVEMENT] alternate route event: getter for current route item
## 5.1.0
Expand Down
48 changes: 25 additions & 23 deletions public/js/backend/i18n-object-preview.js
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
pimcore.registerNS('pimcore.plugin.i18n.objectPreview');
pimcore.plugin.i18n.objectPreview = Class.create({

objectInstance: null,

initialize: function () {
document.addEventListener(pimcore.events.postOpenObject, (e) => {
this.postOpenObject(e.detail.object, e.detail.type);
Expand All @@ -14,30 +12,28 @@ pimcore.plugin.i18n.objectPreview = Class.create({
return;
}

this.objectInstance = objectInstance;

let sitesStore = pimcore.globalmanager.get('sites');
if (sitesStore.isLoading()) {
sitesStore.addListener('load', () => this.modifyObjectPreviewBtn());
sitesStore.addListener('load', () => this.modifyObjectPreviewBtn(objectInstance));
return;
}

this.modifyObjectPreviewBtn();
this.modifyObjectPreviewBtn(objectInstance);
},

modifyObjectPreviewBtn: function() {
modifyObjectPreviewBtn: function(objectInstance) {
let locales = pimcore.settings.websiteLanguages;
let sitesStore = pimcore.globalmanager.get('sites');

let index = this.objectInstance.toolbar.items.length;
let origPreviewButton = this.objectInstance.toolbar.items.find(e => typeof e === 'object' && e.iconCls === 'pimcore_material_icon_preview pimcore_material_icon')
let index = objectInstance.toolbar.items.length;
let origPreviewButton = objectInstance.toolbar.items.find(e => typeof e === 'object' && e.iconCls === 'pimcore_material_icon_preview pimcore_material_icon')

if (origPreviewButton) {
index = this.objectInstance.toolbar.items.indexOf(origPreviewButton);
this.objectInstance.toolbar.remove(origPreviewButton);
index = objectInstance.toolbar.items.indexOf(origPreviewButton);
objectInstance.toolbar.remove(origPreviewButton);
}

let previewButton = this.objectInstance.toolbar.insert(index, {
let previewButton = objectInstance.toolbar.insert(index, {
tooltip: t('open'),
scale: 'medium',
iconCls: 'pimcore_material_icon_preview pimcore_material_icon',
Expand All @@ -49,33 +45,39 @@ pimcore.plugin.i18n.objectPreview = Class.create({
let locale = locales[0];
previewButton.menu.insert({
text: siteItem.data.domain + ' [' + locale + ']',
handler: () => this.openObjectPreview({
i18n_locale: locale,
i18n_site: siteItem.data.id
})
handler: () => this.openObjectPreview(
objectInstance,
{
i18n_locale: locale,
i18n_site: siteItem.data.id
}
)
})
} else {
previewButton.menu.insert({
text: siteItem.data.domain,
menu: locales.map(locale => new Object({
text: locale,
handler: () => this.openObjectPreview({
i18n_locale: locale,
i18n_site: siteItem.data.id
})
handler: () => this.openObjectPreview(
objectInstance,
{
i18n_locale: locale,
i18n_site: siteItem.data.id
}
)
}))
});
}
});
},

openObjectPreview: function(params) {
openObjectPreview: function(objectInstance, params) {
let url = Routing.generate('pimcore_admin_dataobject_dataobject_preview', {
id: this.objectInstance.data.general.id,
id: objectInstance.data.general.id,
time: (new Date()).getTime(),
...params
});
this.objectInstance.saveToSession(() => {
objectInstance.saveToSession(() => {
window.open(url);
})
}
Expand Down

0 comments on commit bc08566

Please sign in to comment.