]> git.proxmox.com Git - pve-manager.git/commitdiff
ui: move NotesView panel and NotesEdit window to widget kit
authorStefan Sterz <s.sterz@proxmox.com>
Tue, 12 Apr 2022 10:34:22 +0000 (12:34 +0200)
committerThomas Lamprecht <t.lamprecht@proxmox.com>
Wed, 13 Apr 2022 09:35:30 +0000 (11:35 +0200)
this removes the NotesView panel and NotesEdit and replaces them with
with the version from the widget kit. requires a bump of the widget
toolkit.

Signed-off-by: Stefan Sterz <s.sterz@proxmox.com>
www/manager6/Makefile
www/manager6/dc/Config.js
www/manager6/node/Config.js
www/manager6/panel/GuestSummary.js
www/manager6/panel/NotesView.js [deleted file]
www/manager6/window/NotesEdit.js [deleted file]

index d488c3a8c77327b01816e30e02b841c5956f7e3d..2c7b1e70fea99a4a1301175c0265889d9ae666de 100644 (file)
@@ -84,7 +84,6 @@ JSSRC=                                                        \
        panel/BackupJobPrune.js                         \
        panel/HealthWidget.js                           \
        panel/IPSet.js                                  \
-       panel/NotesView.js                              \
        panel/RunningChart.js                           \
        panel/StatusPanel.js                            \
        panel/GuestStatusView.js                        \
@@ -102,7 +101,6 @@ JSSRC=                                                      \
        window/FirewallLograteEdit.js                   \
        window/LoginWindow.js                           \
        window/Migrate.js                               \
-       window/NotesEdit.js                             \
        window/Prune.js                                 \
        window/Restore.js                               \
        window/SafeDestroyGuest.js                      \
index 9c54b19d3ca925845ee3f6bbfed6fb9759b52e32..13ded12e88ab5c13745186e7e544dd7c8b473fb2 100644 (file)
@@ -28,7 +28,7 @@ Ext.define('PVE.dc.Config', {
                itemId: 'summary',
            },
            {
-               xtype: 'pveNotesView',
+               xtype: 'pmxNotesView',
                title: gettext('Notes'),
                iconCls: 'fa fa-sticky-note-o',
                itemId: 'notes',
index 68f803918946ad3e667159c374f1204f83718ce3..52357df8799eb7230a1ad3ac0f437e848c9c04b6 100644 (file)
@@ -129,7 +129,7 @@ Ext.define('PVE.node.Config', {
                    itemId: 'summary',
                },
                {
-                   xtype: 'pveNotesView',
+                   xtype: 'pmxNotesView',
                    title: gettext('Notes'),
                    iconCls: 'fa fa-sticky-note-o',
                    itemId: 'notes',
index 82cc7a7fa6e781790b1a0e5c61713606d27b202a..35721419d2d4831e258bba8177ed6999b7c35a7a 100644 (file)
@@ -40,7 +40,7 @@ Ext.define('PVE.qemu.Summary', {
                rstore: rstore,
            },
            {
-               xtype: 'pveNotesView',
+               xtype: 'pmxNotesView',
                flex: 1,
                padding: template ? '5' : '0 0 0 5',
                itemId: 'notesview',
diff --git a/www/manager6/panel/NotesView.js b/www/manager6/panel/NotesView.js
deleted file mode 100644 (file)
index 7c8299d..0000000
+++ /dev/null
@@ -1,129 +0,0 @@
-Ext.define('PVE.panel.NotesView', {
-    extend: 'Ext.panel.Panel',
-    xtype: 'pveNotesView',
-
-    title: gettext("Notes"),
-    bodyPadding: 10,
-    scrollable: true,
-    animCollapse: false,
-    maxLength: 64 * 1024,
-
-    tbar: {
-       itemId: 'tbar',
-       hidden: true,
-       items: [
-           {
-               text: gettext('Edit'),
-               handler: function() {
-                   let view = this.up('panel');
-                   view.run_editor();
-               },
-           },
-       ],
-    },
-
-    run_editor: function() {
-       let me = this;
-       Ext.create('PVE.window.NotesEdit', {
-           pveSelNode: me.pveSelNode,
-           url: me.url,
-           listeners: {
-               destroy: () => me.load(),
-           },
-           autoShow: true,
-       }).setMaxLength(me.maxLength);
-    },
-
-    load: function() {
-       var me = this;
-
-       Proxmox.Utils.API2Request({
-           url: me.url,
-           waitMsgTarget: me,
-           failure: function(response, opts) {
-               me.update(gettext('Error') + " " + response.htmlStatus);
-               me.setCollapsed(false);
-           },
-           success: function(response, opts) {
-               var data = response.result.data.description || '';
-
-               let mdHTML = Proxmox.Markdown.parse(data);
-               me.update(mdHTML);
-
-               if (me.collapsible && me.collapseMode === 'auto') {
-                   me.setCollapsed(data === '');
-               }
-           },
-       });
-    },
-
-    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() {
-           let view = this.up('panel');
-           view.run_editor();
-       },
-    }],
-
-    initComponent: function() {
-       const me = this;
-       const type = me.pveSelNode.data.type;
-
-       if (me.pveSelNode.data.id === 'root') {
-           me.url = '/api2/extjs/cluster/options';
-       } else {
-           const nodename = me.pveSelNode.data.node;
-           if (!nodename) {
-               throw "no node name specified";
-           }
-
-           if (!Ext.Array.contains(['node', 'qemu', 'lxc'], type)) {
-               throw 'invalid type specified';
-           }
-
-           const vmid = me.pveSelNode.data.vmid;
-           if (!vmid && type !== 'node') {
-               throw "no VM ID specified";
-           }
-
-           me.url = `/api2/extjs/nodes/${nodename}/`;
-
-           // add the type specific path if qemu/lxc and set the backend's maxLen
-           if (type === 'qemu' || type === 'lxc') {
-               me.url += `${type}/${vmid}/`;
-               me.maxLength = 8 * 1024;
-           }
-           me.url += 'config';
-       }
-
-       me.callParent();
-       if (type === 'node' || type === '') { // '' is for datacenter
-           me.down('#tbar').setVisible(true);
-       } else if (me.pveSelNode.data.template !== 1) {
-           me.setCollapsible(true);
-           me.collapseDirection = 'right';
-
-           let sp = Ext.state.Manager.getProvider();
-           me.collapseMode = sp.get('guest-notes-collapse', 'never');
-
-           if (me.collapseMode === 'auto') {
-               me.setCollapsed(true);
-           }
-       }
-       me.load();
-    },
-});
diff --git a/www/manager6/window/NotesEdit.js b/www/manager6/window/NotesEdit.js
deleted file mode 100644 (file)
index 4649843..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-Ext.define('PVE.window.NotesEdit', {
-    extend: 'Proxmox.window.Edit',
-
-    title: gettext('Notes'),
-    onlineHelp: 'markdown_basics',
-
-    width: 800,
-    height: '600px',
-
-    resizable: true,
-    layout: 'fit',
-
-    autoLoad: true,
-    defaultButton: undefined,
-
-    setMaxLength: function(maxLength) {
-       let me = this;
-
-       let area = me.down('textarea[name="description"]');
-       area.maxLength = maxLength;
-       area.validate();
-
-       return me;
-    },
-
-    items: {
-       xtype: 'textarea',
-       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',
-       },
-    },
-});