From d4f4f2203cf8e9843fe20c4e021563822157ba4d Mon Sep 17 00:00:00 2001 From: Christian Fasching Date: Thu, 26 Jul 2018 16:34:13 +0200 Subject: [PATCH] updated for pimcore 5.4 --- README.md | 8 + composer.json | 2 +- src/Resources/public/css/admin.css | 124 +++--- .../js/Web2Print/favoriteOutputDefinitions.js | 408 +++++++++--------- .../pimcore/document/tags/metaentry/table.js | 256 +++++------ .../document/tags/outputchanneltable.js | 4 +- 6 files changed, 405 insertions(+), 397 deletions(-) diff --git a/README.md b/README.md index 6a89c76..ef9850a 100644 --- a/README.md +++ b/README.md @@ -74,6 +74,14 @@ See example: [toc.js](https://github.com/pimcore/web2print-tools/blob/master/Res See full documentation and examples: [pdfreactor-manual](http://www.pdfreactor.com/product/doc/manual.pdf) +## Running with Pimcore < 5.4 +With Pimcore 5.4 the location of static Pimcore files like icons has changed. In order to make this bundle work +with Pimcore < 5.4, please add following rewrite rule to your `.htaccess`. +``` + # rewrite rule for pre pimcore 5.4 core static files + RewriteRule ^bundles/pimcoreadmin/(.*) /pimcore/static6/$1 [PT,L] +``` + # Migration from Pimcore 4 - change table name from `plugin_web2print_favorite_outputdefinitions` to `bundle_web2print_favorite_outputdefinitions` ```sql diff --git a/composer.json b/composer.json index 8017154..f78e9e9 100644 --- a/composer.json +++ b/composer.json @@ -6,7 +6,7 @@ "sort-packages": true }, "require": { - "pimcore/core-version": ">=5.2.0 <5.4", + "pimcore/core-version": ">=5.2.0 <5.5", "pimcore/output-data-config-toolkit-bundle": "~2" }, "autoload": { diff --git a/src/Resources/public/css/admin.css b/src/Resources/public/css/admin.css index 96855f5..e32ca33 100644 --- a/src/Resources/public/css/admin.css +++ b/src/Resources/public/css/admin.css @@ -1,62 +1,62 @@ -/** - * Pimcore - * - * This source file is available under two different licenses: - * - GNU General Public License version 3 (GPLv3) - * - Pimcore Enterprise License (PEL) - * Full copyright and license information is available in - * LICENSE.md which is distributed with this source code. - * - * @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org) - * @license http://www.pimcore.org/license GPLv3 and PEL - */ - - -.bundle_outputdataconfig_icon { - background: url("/pimcore/static6/img/flat-color-icons/grid.svg") center center no-repeat !important; -} -.bundle_outputdataconfig_icon_overlay:before { - position: absolute; - width: 12px; - height: 12px; - bottom: 0px; - right: 0px; - content: ""; - background: url(/pimcore/static6/img/flat-color-icons/go.svg) center center no-repeat !important; -} - -#pimcore_menu_web2print { - background-image: url("/pimcore/static6/img/flat-color-icons/news.svg") !important; -} - -.bundle_web2print_custom_areas { - background: url("/pimcore/static6/img/flat-color-icons/area.svg") center center no-repeat !important; -} -.bundle_web2print_custom_areas_overlay:before { - position: absolute; - width: 12px; - height: 12px; - bottom: 0px; - right: 0px; - content: ""; - background: url(/pimcore/static6/img/flat-color-icons/star.svg) center center no-repeat !important; -} - - - - -.bundle_web2print_customAreas_config, .bundle_web2print_custom_area_icon { - background: url(/pimcore/static6/img/icon/layout_content.png) left center no-repeat !important; -} - - - - -.bundle_web2print_customarea_file_css { - background: url(/pimcore/static6/img/icon/css.png) left center no-repeat !important; -} - -.bundle_web2print_customarea_file_php { - background: url(/pimcore/static6/img/icon/html.png) left center no-repeat !important; -} - +/** + * Pimcore + * + * This source file is available under two different licenses: + * - GNU General Public License version 3 (GPLv3) + * - Pimcore Enterprise License (PEL) + * Full copyright and license information is available in + * LICENSE.md which is distributed with this source code. + * + * @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org) + * @license http://www.pimcore.org/license GPLv3 and PEL + */ + + +.bundle_outputdataconfig_icon { + background: url("/bundles/pimcoreadmin/img/flat-color-icons/grid.svg") center center no-repeat !important; +} +.bundle_outputdataconfig_icon_overlay:before { + position: absolute; + width: 12px; + height: 12px; + bottom: 0px; + right: 0px; + content: ""; + background: url(/bundles/pimcoreadmin/img/flat-color-icons/go.svg) center center no-repeat !important; +} + +#pimcore_menu_web2print { + background-image: url("/bundles/pimcoreadmin/img/flat-color-icons/news.svg") !important; +} + +.bundle_web2print_custom_areas { + background: url("/bundles/pimcoreadmin/img/flat-color-icons/area.svg") center center no-repeat !important; +} +.bundle_web2print_custom_areas_overlay:before { + position: absolute; + width: 12px; + height: 12px; + bottom: 0px; + right: 0px; + content: ""; + background: url(/bundles/pimcoreadmin/img/flat-color-icons/star.svg) center center no-repeat !important; +} + + + + +.bundle_web2print_customAreas_config, .bundle_web2print_custom_area_icon { + background: url(/bundles/pimcoreadmin/img/icon/layout_content.png) left center no-repeat !important; +} + + + + +.bundle_web2print_customarea_file_css { + background: url(/bundles/pimcoreadmin/img/icon/css.png) left center no-repeat !important; +} + +.bundle_web2print_customarea_file_php { + background: url(/bundles/pimcoreadmin/img/icon/html.png) left center no-repeat !important; +} + diff --git a/src/Resources/public/js/Web2Print/favoriteOutputDefinitions.js b/src/Resources/public/js/Web2Print/favoriteOutputDefinitions.js index e63d53d..ccfeb0d 100644 --- a/src/Resources/public/js/Web2Print/favoriteOutputDefinitions.js +++ b/src/Resources/public/js/Web2Print/favoriteOutputDefinitions.js @@ -1,204 +1,204 @@ -/** - * Pimcore - * - * This source file is available under two different licenses: - * - GNU General Public License version 3 (GPLv3) - * - Pimcore Enterprise License (PEL) - * Full copyright and license information is available in - * LICENSE.md which is distributed with this source code. - * - * @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org) - * @license http://www.pimcore.org/license GPLv3 and PEL - */ - - -pimcore.registerNS("pimcore.bundle.web2print.favoriteOutputDefinitionsTable"); -pimcore.bundle.web2print.favoriteOutputDefinitionsTable = Class.create({ - - dataUrl: '/admin/web2printtools/admin/favorite-output-definitions-table-proxy', - - initialize: function () { - this.getTabPanel(); - }, - - activate: function (filter) { - var tabPanel = Ext.getCmp("pimcore_panel_tabs"); - tabPanel.setActiveItem("bundle_web2print_favorite_outputdefinitions"); - }, - - getHint: function () { - return ""; - }, - - getTabPanel: function () { - if (!this.panel) { - this.panel = new Ext.Panel({ - id: "bundle_web2print_favorite_outputdefinitions", - iconCls: "bundle_outputdataconfig_icon bundle_outputdataconfig_icon_overlay", - title: t("web2print_favorite_outputdefinitions"), - border: false, - layout: "fit", - closable: true, - items: [this.createGrid()] - }); - - var tabPanel = Ext.getCmp("pimcore_panel_tabs"); - tabPanel.add(this.panel); - tabPanel.setActiveItem("bundle_web2print_favorite_outputdefinitions"); - - this.panel.on("destroy", function () { - pimcore.globalmanager.remove("web2print.favorite_outputdefinitions"); - }.bind(this)); - - pimcore.layout.refresh(); - } - - return this.panel; - }, - - createGrid: function (response) { - var itemsPerPage = pimcore.helpers.grid.getDefaultPageSize(); - - this.store = pimcore.helpers.grid.buildDefaultStore( - this.dataUrl, - [ - {name: 'id'}, - {name: 'description'}, - {name: 'o_classId'}, - {name: 'configuration'} - ], - itemsPerPage - ); - this.pagingtoolbar = pimcore.helpers.grid.buildDefaultPagingToolbar(this.store); - - var gridColumns = []; - - gridColumns.push({header: "ID", width: 40, sortable: true, dataIndex: 'id'}); - gridColumns.push({ - header: t("description"), - flex: 200, - sortable: true, - dataIndex: 'description', - filter: 'string', - editor: new Ext.form.TextField({}) - }); - gridColumns.push({ - header: t("class"), width: 200, sortable: true, dataIndex: 'o_classId', - editor: new Ext.form.ComboBox({ - triggerAction: 'all', - editable: false, - valueField: 'id', - displayField: 'text', - store: pimcore.globalmanager.get("object_types_store") - }), - renderer: function (value) { - var store = pimcore.globalmanager.get("object_types_store"); - var classObject = store.getById(value); - if (classObject) { - return classObject.data.text; - } - } - }); - - gridColumns.push({ - hideable: false, - xtype: 'actioncolumn', - width: 30, - items: [ - { - tooltip: t("keyvalue_detailed_configuration"), - iconCls: "bundle_outputdataconfig_icon bundle_outputdataconfig_icon_overlay", - handler: function (grid, rowIndex) { - - var data = grid.getStore().getAt(rowIndex); - - var channel = { - id: "SOME-ID", - channel: data.data.description, - o_classId: data.data.o_classId, - configuration: Ext.decode(data.data.configuration) - }; - - var dialog = new pimcore.bundle.outputDataConfigToolkit.OutputDataConfigDialog( - channel, - this.saveConfigDialog.bind(this, grid, rowIndex) - ); - - }.bind(this) - } - ] - }); - - gridColumns.push({ - hideable: false, - xtype: 'actioncolumn', - width: 40, - items: [ - { - tooltip: t('remove'), - icon: "/pimcore/static6/img/flat-color-icons/delete.svg", - handler: function (grid, rowIndex) { - grid.getStore().removeAt(rowIndex); - }.bind(this) - } - ] - }); - - this.grid = Ext.create('Ext.grid.Panel', { - frame: false, - store: this.store, - border: true, - columns: gridColumns, - loadMask: true, - bodyCls: "pimcore_editable_grid", - stripeRows: true, - trackMouseOver: true, - viewConfig: { - forceFit: false - }, - plugins: [ - Ext.create('Ext.grid.plugin.CellEditing', { - clicksToEdit: 1 - }), - 'pimcore.gridfilters' - ], - selModel: Ext.create('Ext.selection.RowModel', {}), - bbar: this.pagingtoolbar, - tbar: [ - { - text: t('add'), - handler: this.onAdd.bind(this), - iconCls: "pimcore_icon_add" - } - ] - }); - - this.store.load(); - - return this.grid; - }, - - onAdd: function (btn, ev) { - var u = {}; - this.grid.store.insert(0, u); - }, - - saveConfigDialog: function (grid, rowIndex, configData) { - - var data = grid.getStore().getAt(rowIndex); - Ext.Ajax.request({ - url: '/admin/outputdataconfig/admin/get-attribute-labels', - method: 'POST', - params: { - classId: data.data.o_classId, - configuration: Ext.encode(configData.config) - }, - success: function (response) { - var responseObject = Ext.decode(response.responseText); - data.set("configuration", Ext.encode(responseObject.configuration)); - }.bind(this) - }); - } - -}); - +/** + * Pimcore + * + * This source file is available under two different licenses: + * - GNU General Public License version 3 (GPLv3) + * - Pimcore Enterprise License (PEL) + * Full copyright and license information is available in + * LICENSE.md which is distributed with this source code. + * + * @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org) + * @license http://www.pimcore.org/license GPLv3 and PEL + */ + + +pimcore.registerNS("pimcore.bundle.web2print.favoriteOutputDefinitionsTable"); +pimcore.bundle.web2print.favoriteOutputDefinitionsTable = Class.create({ + + dataUrl: '/admin/web2printtools/admin/favorite-output-definitions-table-proxy', + + initialize: function () { + this.getTabPanel(); + }, + + activate: function (filter) { + var tabPanel = Ext.getCmp("pimcore_panel_tabs"); + tabPanel.setActiveItem("bundle_web2print_favorite_outputdefinitions"); + }, + + getHint: function () { + return ""; + }, + + getTabPanel: function () { + if (!this.panel) { + this.panel = new Ext.Panel({ + id: "bundle_web2print_favorite_outputdefinitions", + iconCls: "bundle_outputdataconfig_icon bundle_outputdataconfig_icon_overlay", + title: t("web2print_favorite_outputdefinitions"), + border: false, + layout: "fit", + closable: true, + items: [this.createGrid()] + }); + + var tabPanel = Ext.getCmp("pimcore_panel_tabs"); + tabPanel.add(this.panel); + tabPanel.setActiveItem("bundle_web2print_favorite_outputdefinitions"); + + this.panel.on("destroy", function () { + pimcore.globalmanager.remove("web2print.favorite_outputdefinitions"); + }.bind(this)); + + pimcore.layout.refresh(); + } + + return this.panel; + }, + + createGrid: function (response) { + var itemsPerPage = pimcore.helpers.grid.getDefaultPageSize(); + + this.store = pimcore.helpers.grid.buildDefaultStore( + this.dataUrl, + [ + {name: 'id'}, + {name: 'description'}, + {name: 'o_classId'}, + {name: 'configuration'} + ], + itemsPerPage + ); + this.pagingtoolbar = pimcore.helpers.grid.buildDefaultPagingToolbar(this.store); + + var gridColumns = []; + + gridColumns.push({header: "ID", width: 40, sortable: true, dataIndex: 'id'}); + gridColumns.push({ + header: t("description"), + flex: 200, + sortable: true, + dataIndex: 'description', + filter: 'string', + editor: new Ext.form.TextField({}) + }); + gridColumns.push({ + header: t("class"), width: 200, sortable: true, dataIndex: 'o_classId', + editor: new Ext.form.ComboBox({ + triggerAction: 'all', + editable: false, + valueField: 'id', + displayField: 'text', + store: pimcore.globalmanager.get("object_types_store") + }), + renderer: function (value) { + var store = pimcore.globalmanager.get("object_types_store"); + var classObject = store.getById(value); + if (classObject) { + return classObject.data.text; + } + } + }); + + gridColumns.push({ + hideable: false, + xtype: 'actioncolumn', + width: 30, + items: [ + { + tooltip: t("keyvalue_detailed_configuration"), + iconCls: "bundle_outputdataconfig_icon bundle_outputdataconfig_icon_overlay", + handler: function (grid, rowIndex) { + + var data = grid.getStore().getAt(rowIndex); + + var channel = { + id: "SOME-ID", + channel: data.data.description, + o_classId: data.data.o_classId, + configuration: Ext.decode(data.data.configuration) + }; + + var dialog = new pimcore.bundle.outputDataConfigToolkit.OutputDataConfigDialog( + channel, + this.saveConfigDialog.bind(this, grid, rowIndex) + ); + + }.bind(this) + } + ] + }); + + gridColumns.push({ + hideable: false, + xtype: 'actioncolumn', + width: 40, + items: [ + { + tooltip: t('remove'), + icon: "/bundles/pimcoreadmin/img/flat-color-icons/delete.svg", + handler: function (grid, rowIndex) { + grid.getStore().removeAt(rowIndex); + }.bind(this) + } + ] + }); + + this.grid = Ext.create('Ext.grid.Panel', { + frame: false, + store: this.store, + border: true, + columns: gridColumns, + loadMask: true, + bodyCls: "pimcore_editable_grid", + stripeRows: true, + trackMouseOver: true, + viewConfig: { + forceFit: false + }, + plugins: [ + Ext.create('Ext.grid.plugin.CellEditing', { + clicksToEdit: 1 + }), + 'pimcore.gridfilters' + ], + selModel: Ext.create('Ext.selection.RowModel', {}), + bbar: this.pagingtoolbar, + tbar: [ + { + text: t('add'), + handler: this.onAdd.bind(this), + iconCls: "pimcore_icon_add" + } + ] + }); + + this.store.load(); + + return this.grid; + }, + + onAdd: function (btn, ev) { + var u = {}; + this.grid.store.insert(0, u); + }, + + saveConfigDialog: function (grid, rowIndex, configData) { + + var data = grid.getStore().getAt(rowIndex); + Ext.Ajax.request({ + url: '/admin/outputdataconfig/admin/get-attribute-labels', + method: 'POST', + params: { + classId: data.data.o_classId, + configuration: Ext.encode(configData.config) + }, + success: function (response) { + var responseObject = Ext.decode(response.responseText); + data.set("configuration", Ext.encode(responseObject.configuration)); + }.bind(this) + }); + } + +}); + diff --git a/src/Resources/public/js/pimcore/document/tags/metaentry/table.js b/src/Resources/public/js/pimcore/document/tags/metaentry/table.js index 1d53596..d297a45 100644 --- a/src/Resources/public/js/pimcore/document/tags/metaentry/table.js +++ b/src/Resources/public/js/pimcore/document/tags/metaentry/table.js @@ -1,128 +1,128 @@ -/** - * Pimcore - * - * This source file is available under two different licenses: - * - GNU General Public License version 3 (GPLv3) - * - Pimcore Enterprise License (PEL) - * Full copyright and license information is available in - * LICENSE.md which is distributed with this source code. - * - * @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org) - * @license http://www.pimcore.org/license GPLv3 and PEL - */ - - -pimcore.registerNS("pimcore.document.tags.metaentry.table"); -pimcore.document.tags.metaentry.table = Class.create(pimcore.document.tags.metaentry.abstract, { - - subtype: "table", - - openDialog: function(record) { - var nameText = new Ext.form.TextField({ - name: "name", - fieldLabel: t('web2print_outputchanneltable_name'), - length: 255, - width: 400, - value: record.data.path - }); - - this.valueStore = new Ext.data.JsonStore({ - fields: ["value", "span"], - data: record.data.config ? record.data.config.values : [] - }); - - var valueGrid = Ext.create('Ext.grid.Panel', { - bodyCls: "pimcore_editable_grid", - tbar: [{ - xtype: "tbtext", - text: t("web2print_outputchanneltable_values") - }, "-", { - xtype: "button", - iconCls: "pimcore_icon_add", - handler: function () { - var u = { - value: "", - span: 1 - }; - this.valueStore.insert(0, u); - }.bind(this) - }], - plugins: [ - Ext.create('Ext.grid.plugin.CellEditing', { - clicksToEdit: 1 - }) - ], - viewConfig: { - plugins: { - ptype: 'gridviewdragdrop', - dragroup: 'element' - } - }, - style: "margin-top: 10px", - store: this.valueStore, - width: "100%", - selModel: Ext.create('Ext.selection.RowModel', {}), - columnLines: true, - columns: [ - {header: t("web2print_outputchanneltable_value"), sortable: false, dataIndex: 'value', editor: new Ext.form.TextField({}), flex: 320}, - {header: t("web2print_outputchanneltable_span"), sortable: false, dataIndex: 'span', editor: new Ext.form.NumberField({}), width: 80}, - { - xtype: 'actioncolumn', - width: 40, - items: [ - { - tooltip: t('remove'), - icon: "/pimcore/static6/img/flat-color-icons/delete.svg", - handler: function (grid, rowIndex) { - grid.getStore().removeAt(rowIndex); - }.bind(this) - } - ] - } - ], - autoHeight: true - }); - - var configPanel = new Ext.form.FormPanel({ - bodyStyle: "padding: 10px;", - autoScroll: true, - items: [nameText, valueGrid], - buttons: [{ - text: t("apply"), - iconCls: "pimcore_icon_apply", - handler: function () { - this.updateMetaEntry(record, configPanel.getForm().getFieldValues()); - }.bind(this) - }] - }); - - this.metaEntryWindow = new Ext.Window({ - width: 550, - height: 300, - modal: true, - title: t('web2print_outputchanneltable_metaentry'), - layout: "fit", - items: [configPanel] - }); - - this.metaEntryWindow.show(); - }, - - updateMetaEntry: function(record, values) { - record.set("path", values.name); - - - var options = []; - this.valueStore.commitChanges(); - this.valueStore.each(function (rec) { - options.push({ - value: rec.get("value"), - span: rec.get("span") - }); - }); - - record.set("config", {'values': options}); - this.metaEntryWindow.close(); - } - -}); +/** + * Pimcore + * + * This source file is available under two different licenses: + * - GNU General Public License version 3 (GPLv3) + * - Pimcore Enterprise License (PEL) + * Full copyright and license information is available in + * LICENSE.md which is distributed with this source code. + * + * @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org) + * @license http://www.pimcore.org/license GPLv3 and PEL + */ + + +pimcore.registerNS("pimcore.document.tags.metaentry.table"); +pimcore.document.tags.metaentry.table = Class.create(pimcore.document.tags.metaentry.abstract, { + + subtype: "table", + + openDialog: function(record) { + var nameText = new Ext.form.TextField({ + name: "name", + fieldLabel: t('web2print_outputchanneltable_name'), + length: 255, + width: 400, + value: record.data.path + }); + + this.valueStore = new Ext.data.JsonStore({ + fields: ["value", "span"], + data: record.data.config ? record.data.config.values : [] + }); + + var valueGrid = Ext.create('Ext.grid.Panel', { + bodyCls: "pimcore_editable_grid", + tbar: [{ + xtype: "tbtext", + text: t("web2print_outputchanneltable_values") + }, "-", { + xtype: "button", + iconCls: "pimcore_icon_add", + handler: function () { + var u = { + value: "", + span: 1 + }; + this.valueStore.insert(0, u); + }.bind(this) + }], + plugins: [ + Ext.create('Ext.grid.plugin.CellEditing', { + clicksToEdit: 1 + }) + ], + viewConfig: { + plugins: { + ptype: 'gridviewdragdrop', + dragroup: 'element' + } + }, + style: "margin-top: 10px", + store: this.valueStore, + width: "100%", + selModel: Ext.create('Ext.selection.RowModel', {}), + columnLines: true, + columns: [ + {header: t("web2print_outputchanneltable_value"), sortable: false, dataIndex: 'value', editor: new Ext.form.TextField({}), flex: 320}, + {header: t("web2print_outputchanneltable_span"), sortable: false, dataIndex: 'span', editor: new Ext.form.NumberField({}), width: 80}, + { + xtype: 'actioncolumn', + width: 40, + items: [ + { + tooltip: t('remove'), + icon: "/bundles/pimcoreadmin/img/flat-color-icons/delete.svg", + handler: function (grid, rowIndex) { + grid.getStore().removeAt(rowIndex); + }.bind(this) + } + ] + } + ], + autoHeight: true + }); + + var configPanel = new Ext.form.FormPanel({ + bodyStyle: "padding: 10px;", + autoScroll: true, + items: [nameText, valueGrid], + buttons: [{ + text: t("apply"), + iconCls: "pimcore_icon_apply", + handler: function () { + this.updateMetaEntry(record, configPanel.getForm().getFieldValues()); + }.bind(this) + }] + }); + + this.metaEntryWindow = new Ext.Window({ + width: 550, + height: 300, + modal: true, + title: t('web2print_outputchanneltable_metaentry'), + layout: "fit", + items: [configPanel] + }); + + this.metaEntryWindow.show(); + }, + + updateMetaEntry: function(record, values) { + record.set("path", values.name); + + + var options = []; + this.valueStore.commitChanges(); + this.valueStore.each(function (rec) { + options.push({ + value: rec.get("value"), + span: rec.get("span") + }); + }); + + record.set("config", {'values': options}); + this.metaEntryWindow.close(); + } + +}); diff --git a/src/Resources/public/js/pimcore/document/tags/outputchanneltable.js b/src/Resources/public/js/pimcore/document/tags/outputchanneltable.js index f7e23a4..78c5b0e 100644 --- a/src/Resources/public/js/pimcore/document/tags/outputchanneltable.js +++ b/src/Resources/public/js/pimcore/document/tags/outputchanneltable.js @@ -108,7 +108,7 @@ pimcore.document.tags.outputchanneltable = Class.create(pimcore.document.tag, { width: 40, items: [{ tooltip: t('open'), - icon: "/pimcore/static6/img/flat-color-icons/cursor.svg", + icon: "/bundles/pimcoreadmin/img/flat-color-icons/cursor.svg", handler: function (grid, rowIndex) { var data = grid.getStore().getAt(rowIndex); @@ -129,7 +129,7 @@ pimcore.document.tags.outputchanneltable = Class.create(pimcore.document.tag, { width: 40, items: [{ tooltip: t('remove'), - icon: "/pimcore/static6/img/flat-color-icons/delete.svg", + icon: "/bundles/pimcoreadmin/img/flat-color-icons/delete.svg", handler: function (grid, rowIndex) { grid.getStore().removeAt(rowIndex); }.bind(this)