diff --git a/static/plugin_dbui/locale/dbui-lang-fr.js b/static/plugin_dbui/locale/dbui-lang-fr.js index e41af98d4e02dfaf3f3f6dc31d94ca526384db67..73581d72ca952243ab2139087e4680058bd8628d 100644 --- a/static/plugin_dbui/locale/dbui-lang-fr.js +++ b/static/plugin_dbui/locale/dbui-lang-fr.js @@ -63,6 +63,13 @@ Ext.define('App.local.fr.grid.button.ExpertMenu', { textReset : 'Reset' }); +Ext.define('App.local.fr.grid.plugin.Export', { + override: 'App.grid.plugin.Export', + textToCSV : 'Exporter en CSV...', + textToLaTeX : 'Exporter en LaTeX...', + textToPDF : 'Exporter en PDF...' +}); + Ext.define('App.local.fr.grid.plugin.Paging', { override: 'App.grid.plugin.Paging', textPlus : 'Plus', diff --git a/static/plugin_dbui/resources/css/kde-oxygen.css b/static/plugin_dbui/resources/css/kde-oxygen.css index da0abe8a59eb22e23d718028aa40404a35320d2d..bc782f9e112c61afc1770d0258392e0374533111 100644 --- a/static/plugin_dbui/resources/css/kde-oxygen.css +++ b/static/plugin_dbui/resources/css/kde-oxygen.css @@ -5,61 +5,76 @@ */ .xaction-create { - background-image: url(../icons/oxygen/document-new.png); + background-image: url(../icons/oxygen/16x16/document-new.png); background-repeat: no-repeat; } .xaction-duplicate { - background-image: url(../icons/oxygen/edit-copy.png); + background-image: url(../icons/oxygen/16x16/edit-copy.png); background-repeat: no-repeat; } .xaction-destroy { - background-image: url(../icons/oxygen/edit-delete.png); + background-image: url(../icons/oxygen/16x16/edit-delete.png); background-repeat: no-repeat; } .xaction-download { - background-image: url(../icons/oxygen/go-down.png); + background-image: url(../icons/oxygen/16x16/go-down.png); background-repeat: no-repeat; } .xaction-export { - background-image: url(../icons/oxygen/document-export.png); + background-image: url(../icons/oxygen/16x16/document-export.png); background-repeat: no-repeat; } .xaction-go-down { - background-image: url(../icons/oxygen/go-down.png); + background-image: url(../icons/oxygen/16x16/go-down.png); background-repeat: no-repeat; } .xaction-go-up { - background-image: url(../icons/oxygen/go-up.png); + background-image: url(../icons/oxygen/16x16/go-up.png); background-repeat: no-repeat; } .xaction-import { - background-image: url(../icons/oxygen/document-import.png); + background-image: url(../icons/oxygen/16x16/document-import.png); background-repeat: no-repeat; } .xaction-update { - background-image: url(../icons/oxygen/edit-text-frame-update.png); + background-image: url(../icons/oxygen/16x16/edit-text-frame-update.png); background-repeat: no-repeat; } .xaction-view { - background-image: url(../icons/oxygen/view-form.png); + background-image: url(../icons/oxygen/16x16/view-form.png); background-repeat: no-repeat; } .xapplication-exit { - background-image: url(../icons/oxygen/application-exit.png); + background-image: url(../icons/oxygen/16x16/application-exit.png); + background-repeat: no-repeat; +} + +.xminetype-csv { + background-image: url(../icons/oxygen/16x16/text-csv.png); + background-repeat: no-repeat; +} + +.xminetype-tex { + background-image: url(../icons/oxygen/16x16/text-x-tex.png); + background-repeat: no-repeat; +} + +.xminetype-pdf { + background-image: url(../icons/oxygen/16x16/application-pdf.png); background-repeat: no-repeat; } .xuser-identity { - background-image: url(../icons/oxygen/user-identity.png); + background-image: url(../icons/oxygen/16x16/user-identity.png); background-repeat: no-repeat; } diff --git a/static/plugin_dbui/resources/icons/oxygen/application-exit.png b/static/plugin_dbui/resources/icons/oxygen/16x16/application-exit.png similarity index 100% rename from static/plugin_dbui/resources/icons/oxygen/application-exit.png rename to static/plugin_dbui/resources/icons/oxygen/16x16/application-exit.png diff --git a/static/plugin_dbui/resources/icons/oxygen/16x16/application-pdf.png b/static/plugin_dbui/resources/icons/oxygen/16x16/application-pdf.png new file mode 100644 index 0000000000000000000000000000000000000000..ad6a39f3f2385bec3a40b9e03484f636a5c3bfc8 Binary files /dev/null and b/static/plugin_dbui/resources/icons/oxygen/16x16/application-pdf.png differ diff --git a/static/plugin_dbui/resources/icons/oxygen/archive-insert.png b/static/plugin_dbui/resources/icons/oxygen/16x16/archive-insert.png similarity index 100% rename from static/plugin_dbui/resources/icons/oxygen/archive-insert.png rename to static/plugin_dbui/resources/icons/oxygen/16x16/archive-insert.png diff --git a/static/plugin_dbui/resources/icons/oxygen/archive-remove.png b/static/plugin_dbui/resources/icons/oxygen/16x16/archive-remove.png similarity index 100% rename from static/plugin_dbui/resources/icons/oxygen/archive-remove.png rename to static/plugin_dbui/resources/icons/oxygen/16x16/archive-remove.png diff --git a/static/plugin_dbui/resources/icons/oxygen/arrow-down.png b/static/plugin_dbui/resources/icons/oxygen/16x16/arrow-down.png similarity index 100% rename from static/plugin_dbui/resources/icons/oxygen/arrow-down.png rename to static/plugin_dbui/resources/icons/oxygen/16x16/arrow-down.png diff --git a/static/plugin_dbui/resources/icons/oxygen/dialog-close.png b/static/plugin_dbui/resources/icons/oxygen/16x16/dialog-close.png similarity index 100% rename from static/plugin_dbui/resources/icons/oxygen/dialog-close.png rename to static/plugin_dbui/resources/icons/oxygen/16x16/dialog-close.png diff --git a/static/plugin_dbui/resources/icons/oxygen/document-export.png b/static/plugin_dbui/resources/icons/oxygen/16x16/document-export.png similarity index 100% rename from static/plugin_dbui/resources/icons/oxygen/document-export.png rename to static/plugin_dbui/resources/icons/oxygen/16x16/document-export.png diff --git a/static/plugin_dbui/resources/icons/oxygen/document-import.png b/static/plugin_dbui/resources/icons/oxygen/16x16/document-import.png similarity index 100% rename from static/plugin_dbui/resources/icons/oxygen/document-import.png rename to static/plugin_dbui/resources/icons/oxygen/16x16/document-import.png diff --git a/static/plugin_dbui/resources/icons/oxygen/document-new.png b/static/plugin_dbui/resources/icons/oxygen/16x16/document-new.png similarity index 100% rename from static/plugin_dbui/resources/icons/oxygen/document-new.png rename to static/plugin_dbui/resources/icons/oxygen/16x16/document-new.png diff --git a/static/plugin_dbui/resources/icons/oxygen/document-open-folder.png b/static/plugin_dbui/resources/icons/oxygen/16x16/document-open-folder.png similarity index 100% rename from static/plugin_dbui/resources/icons/oxygen/document-open-folder.png rename to static/plugin_dbui/resources/icons/oxygen/16x16/document-open-folder.png diff --git a/static/plugin_dbui/resources/icons/oxygen/edit-copy.png b/static/plugin_dbui/resources/icons/oxygen/16x16/edit-copy.png similarity index 100% rename from static/plugin_dbui/resources/icons/oxygen/edit-copy.png rename to static/plugin_dbui/resources/icons/oxygen/16x16/edit-copy.png diff --git a/static/plugin_dbui/resources/icons/oxygen/edit-cut.png b/static/plugin_dbui/resources/icons/oxygen/16x16/edit-cut.png similarity index 100% rename from static/plugin_dbui/resources/icons/oxygen/edit-cut.png rename to static/plugin_dbui/resources/icons/oxygen/16x16/edit-cut.png diff --git a/static/plugin_dbui/resources/icons/oxygen/edit-delete.png b/static/plugin_dbui/resources/icons/oxygen/16x16/edit-delete.png similarity index 100% rename from static/plugin_dbui/resources/icons/oxygen/edit-delete.png rename to static/plugin_dbui/resources/icons/oxygen/16x16/edit-delete.png diff --git a/static/plugin_dbui/resources/icons/oxygen/edit-rename.png b/static/plugin_dbui/resources/icons/oxygen/16x16/edit-rename.png similarity index 100% rename from static/plugin_dbui/resources/icons/oxygen/edit-rename.png rename to static/plugin_dbui/resources/icons/oxygen/16x16/edit-rename.png diff --git a/static/plugin_dbui/resources/icons/oxygen/edit-text-frame-update.png b/static/plugin_dbui/resources/icons/oxygen/16x16/edit-text-frame-update.png similarity index 100% rename from static/plugin_dbui/resources/icons/oxygen/edit-text-frame-update.png rename to static/plugin_dbui/resources/icons/oxygen/16x16/edit-text-frame-update.png diff --git a/static/plugin_dbui/resources/icons/oxygen/folder-yellow.png b/static/plugin_dbui/resources/icons/oxygen/16x16/folder-yellow.png similarity index 100% rename from static/plugin_dbui/resources/icons/oxygen/folder-yellow.png rename to static/plugin_dbui/resources/icons/oxygen/16x16/folder-yellow.png diff --git a/static/plugin_dbui/resources/icons/oxygen/folder.png b/static/plugin_dbui/resources/icons/oxygen/16x16/folder.png similarity index 100% rename from static/plugin_dbui/resources/icons/oxygen/folder.png rename to static/plugin_dbui/resources/icons/oxygen/16x16/folder.png diff --git a/static/plugin_dbui/resources/icons/oxygen/go-down.png b/static/plugin_dbui/resources/icons/oxygen/16x16/go-down.png similarity index 100% rename from static/plugin_dbui/resources/icons/oxygen/go-down.png rename to static/plugin_dbui/resources/icons/oxygen/16x16/go-down.png diff --git a/static/plugin_dbui/resources/icons/oxygen/go-up.png b/static/plugin_dbui/resources/icons/oxygen/16x16/go-up.png similarity index 100% rename from static/plugin_dbui/resources/icons/oxygen/go-up.png rename to static/plugin_dbui/resources/icons/oxygen/16x16/go-up.png diff --git a/static/plugin_dbui/resources/icons/oxygen/tab-close.png b/static/plugin_dbui/resources/icons/oxygen/16x16/tab-close.png similarity index 100% rename from static/plugin_dbui/resources/icons/oxygen/tab-close.png rename to static/plugin_dbui/resources/icons/oxygen/16x16/tab-close.png diff --git a/static/plugin_dbui/resources/icons/oxygen/16x16/text-csv.png b/static/plugin_dbui/resources/icons/oxygen/16x16/text-csv.png new file mode 100644 index 0000000000000000000000000000000000000000..4f9e1981e72948a74f66e07c6e6c570f58dcc563 Binary files /dev/null and b/static/plugin_dbui/resources/icons/oxygen/16x16/text-csv.png differ diff --git a/static/plugin_dbui/resources/icons/oxygen/text-field.png b/static/plugin_dbui/resources/icons/oxygen/16x16/text-field.png similarity index 100% rename from static/plugin_dbui/resources/icons/oxygen/text-field.png rename to static/plugin_dbui/resources/icons/oxygen/16x16/text-field.png diff --git a/static/plugin_dbui/resources/icons/oxygen/16x16/text-x-tex.png b/static/plugin_dbui/resources/icons/oxygen/16x16/text-x-tex.png new file mode 100644 index 0000000000000000000000000000000000000000..1bd3a794195e9cecb5cc5776b1bce35ca26b5ba4 Binary files /dev/null and b/static/plugin_dbui/resources/icons/oxygen/16x16/text-x-tex.png differ diff --git a/static/plugin_dbui/resources/icons/oxygen/user-identity.png b/static/plugin_dbui/resources/icons/oxygen/16x16/user-identity.png similarity index 100% rename from static/plugin_dbui/resources/icons/oxygen/user-identity.png rename to static/plugin_dbui/resources/icons/oxygen/16x16/user-identity.png diff --git a/static/plugin_dbui/resources/icons/oxygen/vcs_update.png b/static/plugin_dbui/resources/icons/oxygen/16x16/vcs_update.png similarity index 100% rename from static/plugin_dbui/resources/icons/oxygen/vcs_update.png rename to static/plugin_dbui/resources/icons/oxygen/16x16/vcs_update.png diff --git a/static/plugin_dbui/resources/icons/oxygen/view-form-table.png b/static/plugin_dbui/resources/icons/oxygen/16x16/view-form-table.png similarity index 100% rename from static/plugin_dbui/resources/icons/oxygen/view-form-table.png rename to static/plugin_dbui/resources/icons/oxygen/16x16/view-form-table.png diff --git a/static/plugin_dbui/resources/icons/oxygen/view-form.png b/static/plugin_dbui/resources/icons/oxygen/16x16/view-form.png similarity index 100% rename from static/plugin_dbui/resources/icons/oxygen/view-form.png rename to static/plugin_dbui/resources/icons/oxygen/16x16/view-form.png diff --git a/static/plugin_dbui/resources/icons/oxygen/view-refresh.png b/static/plugin_dbui/resources/icons/oxygen/16x16/view-refresh.png similarity index 100% rename from static/plugin_dbui/resources/icons/oxygen/view-refresh.png rename to static/plugin_dbui/resources/icons/oxygen/16x16/view-refresh.png diff --git a/static/plugin_dbui/resources/icons/oxygen/window-close.png b/static/plugin_dbui/resources/icons/oxygen/16x16/window-close.png similarity index 100% rename from static/plugin_dbui/resources/icons/oxygen/window-close.png rename to static/plugin_dbui/resources/icons/oxygen/16x16/window-close.png diff --git a/static/plugin_dbui/src/grid/plugin/Export.js b/static/plugin_dbui/src/grid/plugin/Export.js index d660ca854e98c7235c0cd6cfae6235f0b6e75f4f..89e1f00e73f54a75486c7a8a3f338be5d5f549ad 100644 --- a/static/plugin_dbui/src/grid/plugin/Export.js +++ b/static/plugin_dbui/src/grid/plugin/Export.js @@ -1,6 +1,10 @@ /** - * The plugin to export the content of the grid into a file. - * Several format are available: CSV, latex, pdf, ... + * The plugin export the content of the grid, as display on the screen, + * into a file. Several formats are available: CSV, LaTex and PDF. + * + * A context menu gives access to the different possibilities. + * + * @since 0.6.1.7 * */ Ext.define('App.grid.plugin.Export', { @@ -8,10 +12,33 @@ Ext.define('App.grid.plugin.Export', { extend: 'Ext.AbstractPlugin', alias: 'plugin.pGridExport', + /** + * @cfg {String} + * The CSV delimiter for stirng. + */ delimiter: '"', + + /** + * @cfg {String} + * The new line separator used in the CSV file. + */ newLine: '\n', + + /** + * @cfg {String} + * The CSV field separator. + * + */ separator: ',', + // private properties for internationalization + textToCSV: 'Export to CSV...', + textToLaTeX: 'Export to LaTeX...', + textToPDF: 'Export to PDF...', + + // private short cut + menu: null, + // Pre-defined configuration pluginId: 'gridExport', @@ -25,8 +52,36 @@ Ext.define('App.grid.plugin.Export', { "use strict"; + // keep track of the grid this.setCmp(grid); + // the context menu + this.menu = Ext.create('Ext.menu.Menu', { + items : [{ + text: this.textToCSV, + iconCls: 'xminetype-csv', + handler: this.toCSV, + scope: this + }, { + text: this.textToLaTeX, + iconCls: 'xminetype-tex', + handler: this.toLaTeX, + scope: this + }, { + text: this.textToPDF, + iconCls: 'xminetype-pdf', + handler: this.toPDF, + scope: this + }] + }); + + grid.on({ + 'containercontextmenu': this.onContainerContextMenu, + 'headercontextmenu': this.onHeaderContextMenu, + 'itemcontextmenu': this.onItemContextMenu, + scope: this + }); + }, // private @@ -41,10 +96,61 @@ Ext.define('App.grid.plugin.Export', { return value; }, + /** + * Show the context menu when right clicking in an empty grid. + * + * @param {App.grid.Panel} grid + * @param {Ext.EventObject} event + * @param {Object} eOpts + * + */ + onContainerContextMenu: function (grid, event, eOpts) { + + "use strict"; + + event.stopEvent(); + this.menu.showAt(event.getXY()); + }, + + /** + * Inhibit the context menu when right clicking in the grid header. + * + * @param {Ext.grid.header.Container} gridheader + * @param {Ext.grid.column.Column} column + * @param {Ext.EventObject} event + * @param {HTMLElement} html + * @param {Object} eOpts + * + */ + onHeaderContextMenu: function (gridheader, colum, event, html, eOpts) { + + "use strict"; + event.stopEvent(); + }, + + /** + * Show the context menu when right clicking in the non-empty grid. + * + * @param {Ext.view.View} view + * @param {Ext.data.Model} record + * @param {HTMLElement} item + * @param {Ext.EventObject} event + * @param {Object} eOpts + * + */ + onItemContextMenu: function (view, record, item, index, event, eOpts) { + + "use strict"; + + event.stopEvent(); + this.menu.showAt(event.getXY()); + }, + /** * Export the content of the grid as a CSV file. * The method scan the HTML to find the rendered headers, rows * and cells content. + * * Hidden columns and rows are ignored. */ toCSV: function () { @@ -120,5 +226,25 @@ Ext.define('App.grid.plugin.Export', { }); link.dom.click(); link.destroy(); + }, + + /** + * Export the content of the grid as a LaTex file. + * + */ + toLaTeX: function () { + + "use strict"; + + }, + + /** + * Export the content of the grid as a PDF file. + * + */ + toPDF: function () { + + "use strict"; + } }); \ No newline at end of file diff --git a/views/reports/report_4.html b/views/reports/report_4.html index e0af6328d563807fcffd3a58b920866d4f8bc125..95887ef091cb3f88cc102e182c472abb960625f3 100644 --- a/views/reports/report_4.html +++ b/views/reports/report_4.html @@ -1,4 +1,3 @@ -Click on a row to launch the export ... {{ #-------------------------------------------------------------------------- # @@ -45,8 +44,4 @@ Click on a row to launch the export ... renderTo: 'grid-{{=divgrid}}' }); - grid.on('select', function () { - this.getPlugin('gridExport').toCSV(); - }, grid); - </script>