]>
git.proxmox.com Git - proxmox-widget-toolkit.git/blob - src/panel/NotesView.js
04b6117eebdb58294322d4993f61049bf1e23122
1 Ext
.define('Proxmox.panel.NotesView', {
2 extend
: 'Ext.panel.Panel',
5 title
: gettext("Notes"),
16 text
: gettext('Edit'),
18 let view
= this.up('panel');
25 run_editor: function() {
27 Ext
.create('Proxmox.window.NotesEdit', {
28 pveSelNode
: me
.pveSelNode
,
31 destroy
: () => me
.load(),
34 }).setMaxLength(me
.maxLength
);
40 Proxmox
.Utils
.API2Request({
43 failure: function(response
, opts
) {
44 me
.update(gettext('Error') + " " + response
.htmlStatus
);
45 me
.setCollapsed(false);
47 success: function(response
, opts
) {
48 var data
= response
.result
.data
.description
|| '';
50 let mdHTML
= Proxmox
.Markdown
.parse(data
);
53 if (me
.collapsible
&& me
.collapseMode
=== 'auto') {
54 me
.setCollapsed(data
=== '');
63 me
.getEl().on('dblclick', me
.run_editor
, me
);
65 afterlayout: function() {
67 if (me
.collapsible
&& !me
.getCollapsed() && me
.collapseMode
=== 'always') {
68 me
.setCollapsed(true);
69 me
.collapseMode
= ''; // only once, on initial load!
77 let view
= this.up('panel');
82 initComponent: function() {
84 const type
= me
.pveSelNode
.data
.type
;
86 if (me
.pveSelNode
.data
.id
=== 'root') {
87 me
.url
= '/api2/extjs/cluster/options';
89 const nodename
= me
.pveSelNode
.data
.node
;
91 throw "no node name specified";
94 if (!Ext
.Array
.contains(['node', 'qemu', 'lxc'], type
)) {
95 throw 'invalid type specified';
98 const vmid
= me
.pveSelNode
.data
.vmid
;
99 if (!vmid
&& type
!== 'node') {
100 throw "no VM ID specified";
103 me
.url
= `/api2/extjs/nodes/${nodename}/`;
105 // add the type specific path if qemu/lxc and set the backend's maxLen
106 if (type
=== 'qemu' || type
=== 'lxc') {
107 me
.url
+= `${type}/${vmid}/`;
108 me
.maxLength
= 8 * 1024;
114 if (type
=== 'node' || type
=== '') { // '' is for datacenter
115 me
.down('#tbar').setVisible(true);
116 } else if (me
.pveSelNode
.data
.template
!== 1) {
117 me
.setCollapsible(true);
118 me
.collapseDirection
= 'right';
120 let sp
= Ext
.state
.Manager
.getProvider();
121 me
.collapseMode
= sp
.get('guest-notes-collapse', 'never');
123 if (me
.collapseMode
=== 'auto') {
124 me
.setCollapsed(true);