[pbs-devel] [PATCH proxmox-backup v3 5/6] fix #3607: ui: refactor notes by moving the panel/window to widget kit
Stefan Sterz
s.sterz at proxmox.com
Fri Mar 4 12:32:01 CET 2022
for better re-use between pbs and pve move the markdown notes panel
and editor window to the widget kit and unify them there.
Signed-off-by: Stefan Sterz <s.sterz at proxmox.com>
---
www/Makefile | 1 -
www/NodeNotes.js | 2 +-
www/panel/MarkdownNotes.js | 130 -------------------------------------
3 files changed, 1 insertion(+), 132 deletions(-)
delete mode 100644 www/panel/MarkdownNotes.js
diff --git a/www/Makefile b/www/Makefile
index aff0c901..922d8de9 100644
--- a/www/Makefile
+++ b/www/Makefile
@@ -81,7 +81,6 @@ JSSRC= \
panel/StorageAndDisks.js \
panel/UsageChart.js \
panel/NodeInfo.js \
- panel/MarkdownNotes.js \
ZFSList.js \
DirectoryList.js \
LoginView.js \
diff --git a/www/NodeNotes.js b/www/NodeNotes.js
index 7fa3f2e6..f237f556 100644
--- a/www/NodeNotes.js
+++ b/www/NodeNotes.js
@@ -11,7 +11,7 @@ Ext.define('PBS.NodeNotes', {
xtype: 'container',
layout: 'fit',
items: [{
- xtype: 'pbsMarkdownNotes',
+ xtype: 'pmxNotesView',
tools: false,
border: false,
node: 'localhost',
diff --git a/www/panel/MarkdownNotes.js b/www/panel/MarkdownNotes.js
deleted file mode 100644
index 6d601401..00000000
--- a/www/panel/MarkdownNotes.js
+++ /dev/null
@@ -1,130 +0,0 @@
-Ext.define('PBS.panel.MarkdownNotes', {
- extend: 'Ext.panel.Panel',
- xtype: 'pbsMarkdownNotes',
- mixins: ['Proxmox.Mixin.CBind'],
-
- title: gettext("Notes"),
- bodyPadding: 10,
- scrollable: true,
- animCollapse: false,
- maxLength: 64*1022,
-
- cbindData: function(initalConfig) {
- let me = this;
-
- if (!me.node) {
- throw 'no node provided, cannot construct url';
- }
-
- me.url = `/api2/extjs/nodes/${me.node}/config`;
- return {};
- },
-
- run_editor: function() {
- let me = this;
- Ext.create('Proxmox.window.Edit', {
- title: gettext('Notes'),
- onlineHelp: 'markdown_basics',
- width: 800,
- height: 600,
- resizable: true,
- layout: 'fit',
- defaultButton: undefined,
- items: {
- xtype: 'textarea',
- maxLength: me.maxLength,
- name: 'description',
- height: '100%',
- value: '',
- hideLabel: true,
- emptyText: gettext('You can use Markdown for rich text formatting.'),
- fieldStyle: {
- 'white-space': 'pre-wrap',
- 'font-family': 'monospace',
- },
- },
- url: me.url,
- listeners: {
- destroy: function() {
- me.load();
- },
- },
- autoShow: true,
- autoLoad: true,
- });
- },
-
- setNotes: function(value) {
- let me = this;
- var data = value || '';
-
- let mdHtml = Proxmox.Markdown.parse(data);
- me.update(mdHtml);
-
- if (me.collapsible && me.collapseMode === 'auto') {
- me.setCollapsed(data === '');
- }
- },
-
- load: function() {
- var me = this;
-
- Proxmox.Utils.API2Request({
- url: me.url,
- waitMsgTarget: me,
- failure: function(response, opts) {
- Ext.Msg.alert(gettext('Error'), response.htmlStatus);
- me.setCollapsed(false);
- },
- success: function(response, opts) {
- me.setNotes(response.result.data.description);
- },
- });
- },
-
- listeners: {
- render: function(c) {
- var me = this;
- me.getEl().on('dblclick', me.run_editor, me);
- },
- afterlayout: function() {
- let me = this;
- if (me.collapsible && !me.getCollapsed() && me.collapseMode === 'always') {
- me.setCollapsed(true);
- me.collapseMode = ''; // only once, on initial load!
- }
- },
- },
-
- tools: [{
- type: 'gear',
- handler: function() {
- this.up('panel').run_editor();
- },
- }],
-
- tbar: {
- itemId: 'tbar',
- hidden: true,
- items: [
- {
- text: gettext('Edit'),
- handler: function() {
- this.up('panel').run_editor();
- },
- },
- ],
- },
-
- initComponent: function() {
- var me = this;
-
- me.callParent();
-
- if (me.enableTbar === true) {
- me.down('#tbar').setVisible(true);
- }
-
- me.load();
- },
-});
--
2.30.2
More information about the pbs-devel
mailing list