[pve-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 pve-devel mailing list