]>
git.proxmox.com Git - pve-manager.git/blob - www/manager6/window/SafeDestroy.js
1 /* Popup a message window
2 * where the user has to manually enter the resource ID
3 * to enable the destroy button
5 Ext
.define('PVE.window.SafeDestroy', {
6 extend
: 'Ext.window.Window',
7 alias
: 'widget.pveSafeDestroy',
9 title
: gettext('Confirm'),
11 buttonAlign
: 'center',
14 layout
: { type
:'hbox' },
15 defaultFocus
: 'confirmField',
27 getParams: function() {
29 if (Ext
.Object
.isEmpty(me
.params
)) {
32 return '?' + Ext
.Object
.toQueryString(me
.params
);
37 xclass
: 'Ext.app.ViewController',
40 'field[name=confirm]': {
41 change: function(f
, value
) {
42 var view
= this.getView();
43 var removeButton
= this.lookupReference('removeButton');
44 if (value
=== view
.getItem().id
.toString()) {
45 removeButton
.enable();
47 removeButton
.disable();
50 specialkey: function (field
, event
) {
51 var removeButton
= this.lookupReference('removeButton');
52 if (!removeButton
.isDisabled() && event
.getKey() == event
.ENTER
) {
53 removeButton
.fireEvent('click', removeButton
, event
);
57 'button[reference=removeButton]': {
59 var view
= this.getView();
60 Proxmox
.Utils
.API2Request({
61 url
: view
.getUrl() + view
.getParams(),
64 failure: function(response
, opts
) {
66 Ext
.Msg
.alert('Error', response
.htmlStatus
);
68 success: function(response
, options
) {
69 var hasProgressBar
= view
.showProgress
&&
70 response
.result
.data
? true : false;
73 // stay around so we can trigger our close events
74 // when background action is completed
77 var upid
= response
.result
.data
;
78 var win
= Ext
.create('Proxmox.window.TaskProgress', {
81 destroy: function () {
100 cls
: [ Ext
.baseCSSPrefix
+ 'message-box-icon',
101 Ext
.baseCSSPrefix
+ 'message-box-warning',
102 Ext
.baseCSSPrefix
+ 'dlg-icon']
114 reference
: 'messageCmp'
117 itemId
: 'confirmField',
118 reference
: 'confirmField',
130 reference
: 'removeButton',
131 text
: gettext('Remove'),
136 initComponent : function() {
141 var item
= me
.getItem();
143 if (!Ext
.isDefined(item
.id
)) {
144 throw "no ID specified";
147 if (!Ext
.isDefined(item
.type
)) {
148 throw "no VM type specified";
151 var messageCmp
= me
.lookupReference('messageCmp');
154 if (item
.type
=== 'VM') {
155 msg
= Proxmox
.Utils
.format_task_description('qmdestroy', item
.id
);
156 } else if (item
.type
=== 'CT') {
157 msg
= Proxmox
.Utils
.format_task_description('vzdestroy', item
.id
);
158 } else if (item
.type
=== 'CephPool') {
159 msg
= Proxmox
.Utils
.format_task_description('cephdestroypool', item
.id
);
160 } else if (item
.type
=== 'Image') {
161 msg
= Proxmox
.Utils
.format_task_description('unknownimgdel', item
.id
);
163 throw "unknown item type specified";
166 messageCmp
.setHtml(msg
);
168 var confirmField
= me
.lookupReference('confirmField');
169 msg
= gettext('Please enter the ID to confirm') +
170 ' (' + item
.id
+ ')';
171 confirmField
.setFieldLabel(msg
);