2016-03-31 12:42:29 +03:00
i n c l u d e . . / . . / d e f i n e s . m k
2023-06-23 10:08:44 +03:00
ESLINT ?= $( if $( shell command -v pve-eslint) , pve-eslint, eslint)
2020-07-07 18:59:42 +03:00
JSSRC = \
2016-03-31 12:42:29 +03:00
Parser.js \
StateProvider.js \
2020-07-07 18:59:42 +03:00
Utils.js \
2023-02-22 10:51:49 +03:00
UIOptions.js \
2020-10-28 12:35:24 +03:00
Toolkit.js \
2020-07-07 18:59:42 +03:00
VNCConsole.js \
2016-03-31 12:42:29 +03:00
button/ConsoleButton.js \
2019-10-30 13:19:35 +03:00
button/Revert.js \
2016-04-04 13:35:23 +03:00
button/Split.js \
2017-10-31 17:52:09 +03:00
controller/StorageEdit.js \
2019-09-17 12:35:48 +03:00
data/PermPathStore.js \
2016-03-31 12:42:29 +03:00
data/ResourceStore.js \
2018-01-15 17:17:57 +03:00
data/model/RRDModels.js \
2024-04-22 11:16:45 +03:00
container/TwoColumnContainer.js \
2020-07-07 18:59:42 +03:00
form/ACMEAPISelector.js \
form/ACMEAccountSelector.js \
form/ACMEPluginSelector.js \
form/AgentFeatureSelector.js \
2023-10-11 16:59:42 +03:00
form/BackupCompressionSelector.js \
2020-07-07 18:59:42 +03:00
form/BackupModeSelector.js \
2019-11-27 13:24:46 +03:00
form/BandwidthSelector.js \
2020-07-07 18:59:42 +03:00
form/BridgeSelector.js \
form/BusTypeSelector.js \
form/CPUModelSelector.js \
form/CacheTypeSelector.js \
form/CalendarEvent.js \
form/CephPoolSelector.js \
2021-10-25 17:01:36 +03:00
form/CephFSSelector.js \
2022-12-14 15:43:06 +03:00
form/ComboBoxSetStoreNode.js \
2020-07-07 18:59:42 +03:00
form/ContentTypeSelector.js \
form/ControllerSelector.js \
form/DayOfWeekSelector.js \
form/DiskFormatSelector.js \
form/DiskStorageSelector.js \
form/FileSelector.js \
form/FirewallPolicySelector.js \
form/GlobalSearchField.js \
2016-03-31 12:42:29 +03:00
form/GroupSelector.js \
2016-12-13 12:07:40 +03:00
form/GuestIDSelector.js \
2021-06-16 12:36:02 +03:00
form/HashAlgorithmSelector.js \
2020-07-07 18:59:42 +03:00
form/HotplugFeatureSelector.js \
form/IPProtocolSelector.js \
form/IPRefSelector.js \
form/MDevSelector.js \
2016-03-31 12:42:29 +03:00
form/MemoryField.js \
2023-06-16 16:05:35 +03:00
form/MultiPCISelector.js \
2016-03-31 12:42:29 +03:00
form/NetworkCardSelector.js \
form/NodeSelector.js \
2023-08-03 15:17:04 +03:00
form/NotificationModeSelector.js \
form/NotificationTargetSelector.js \
form/NotificationPolicySelector.js \
2018-11-22 13:35:43 +03:00
form/PCISelector.js \
2023-06-16 16:05:31 +03:00
form/PCIMapSelector.js \
2020-07-07 18:59:42 +03:00
form/PermPathSelector.js \
form/PoolSelector.js \
2021-10-12 15:32:33 +03:00
form/PreallocationSelector.js \
2020-07-07 18:59:42 +03:00
form/PrivilegesSelector.js \
form/QemuBiosSelector.js \
form/SDNControllerSelector.js \
form/SDNZoneSelector.js \
2021-04-22 00:53:36 +03:00
form/SDNVnetSelector.js \
form/SDNIpamSelector.js \
form/SDNDnsSelector.js \
2020-07-07 18:59:42 +03:00
form/ScsiHwSelector.js \
2016-03-31 12:42:29 +03:00
form/SecurityGroupSelector.js \
form/SnapshotSelector.js \
2019-10-07 16:23:51 +03:00
form/SpiceEnhancementSelector.js \
2022-12-14 15:43:06 +03:00
form/StorageScanNodeSelector.js \
2020-07-07 18:59:42 +03:00
form/StorageSelector.js \
2020-04-09 17:10:44 +03:00
form/TFASelector.js \
2020-07-07 18:59:42 +03:00
form/TokenSelector.js \
form/USBSelector.js \
2023-06-16 16:05:32 +03:00
form/USBMapSelector.js \
2020-07-07 18:59:42 +03:00
form/UserSelector.js \
form/VLanField.js \
form/VMCPUFlagSelector.js \
form/VMSelector.js \
form/VNCKeyboardSelector.js \
form/ViewSelector.js \
form/iScsiProviderSelector.js \
2022-11-16 18:48:07 +03:00
form/TagColorGrid.js \
2022-11-16 18:48:08 +03:00
form/ListField.js \
2022-11-16 18:48:10 +03:00
form/Tag.js \
2022-11-16 18:48:11 +03:00
form/TagEdit.js \
2023-07-17 15:34:24 +03:00
form/MultiFileButton.js \
2023-10-25 14:09:38 +03:00
form/TagFieldSet.js \
2023-11-20 18:45:42 +03:00
form/IsoSelector.js \
2020-07-07 18:59:42 +03:00
grid/BackupView.js \
2016-03-31 12:42:29 +03:00
grid/FirewallAliases.js \
grid/FirewallOptions.js \
2020-07-07 18:59:42 +03:00
grid/FirewallRules.js \
grid/PoolMembers.js \
grid/Replication.js \
grid/ResourceGrid.js \
2020-10-28 12:35:24 +03:00
panel/ConfigPanel.js \
2024-04-16 15:09:53 +03:00
panel/BackupAdvancedOptions.js \
2021-09-08 13:38:03 +03:00
panel/BackupJobPrune.js \
2020-10-28 12:35:24 +03:00
panel/HealthWidget.js \
panel/IPSet.js \
panel/RunningChart.js \
panel/StatusPanel.js \
panel/GuestStatusView.js \
panel/GuestSummary.js \
panel/TemplateStatusView.js \
2021-10-05 14:29:00 +03:00
panel/MultiDiskEdit.js \
2020-10-28 12:35:24 +03:00
tree/ResourceTree.js \
tree/SnapshotTree.js \
2023-06-16 16:05:38 +03:00
tree/ResourceMapTree.js \
2023-11-17 14:39:58 +03:00
tree/DhcpTree.js \
2020-10-28 12:35:24 +03:00
window/Backup.js \
window/BackupConfig.js \
window/BulkAction.js \
window/CephInstall.js \
window/Clone.js \
window/FirewallEnableEdit.js \
window/FirewallLograteEdit.js \
window/LoginWindow.js \
window/Migrate.js \
2020-11-24 16:00:53 +03:00
window/Prune.js \
2020-10-28 12:35:24 +03:00
window/Restore.js \
2021-04-19 16:14:37 +03:00
window/SafeDestroyGuest.js \
2021-10-25 16:47:54 +03:00
window/SafeDestroyStorage.js \
2020-10-28 12:35:24 +03:00
window/Settings.js \
window/Snapshot.js \
window/StartupEdit.js \
2021-07-03 01:44:01 +03:00
window/DownloadUrlToStorage.js \
2021-11-08 11:53:46 +03:00
window/UploadToStorage.js \
2021-11-11 14:07:08 +03:00
window/ScheduleSimulator.js \
2020-10-28 12:35:24 +03:00
window/Wizard.js \
2022-04-07 15:33:58 +03:00
window/GuestDiskReassign.js \
fix #4474: ui: guest stop: offer to overrule active shutdown tasks
Implement a new "guest stop" confirmation message box which first
checks if there is an active shutdown task for the same guest that is
visible to the logged-in user. If there is at least one, the dialog
displays an additional default-on checkbox for overruling active
shutdown tasks. If the user confirms and the checkbox is checked, the
UI sends a guest stop API request with the `overrule-shutdown`
parameter set to 1. If there are no active shutdown tasks, or the
checkbox is unchecked, the UI sends a guest stop API request without
`overrule-shutdown`.
To avoid an additional API request for querying active shutdown tasks,
check the UI's current view of cluster tasks instead, which is fetched
from the `pve-cluster-tasks` store.
As the UI might hold an outdated task list, there are some
opportunities for races, e.g., the UI may miss a new shutdown task or
consider a shutdown task active even though it has already terminated.
These races either result in a surviving shutdown task that the user
still needs to abort manually, or a superfluous `override-shutdown=1`
parameter that does not actually abort any tasks. Since "stop
overrules shutdown" is merely a convenience feature, both outcomes
seem bearable.
The confirmation message box is now always marked as dangerous (with a
warning sign icon), whereas previously it was only marked dangerous if
the stop issued from the guest panel, but not when issued from the
resource tree command menu.
Signed-off-by: Friedrich Weber <f.weber@proxmox.com>
Reviewed-by: Dominik Csapak <d.csapak@proxmox.com>
[ TL: squash in some slightly opinionated code/style clean-ups ]
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2024-04-12 17:15:53 +03:00
window/GuestStop.js \
2023-02-22 10:51:51 +03:00
window/TreeSettingsEdit.js \
2023-06-16 16:05:37 +03:00
window/PCIMapEdit.js \
window/USBMapEdit.js \
2024-03-08 17:38:44 +03:00
window/GuestImport.js \
2020-07-07 18:59:42 +03:00
ha/Fencing.js \
ha/GroupEdit.js \
ha/GroupSelector.js \
ha/Groups.js \
ha/ResourceEdit.js \
ha/Resources.js \
ha/Status.js \
ha/StatusView.js \
2020-10-28 12:35:24 +03:00
dc/ACLView.js \
dc/ACMEClusterView.js \
dc/ACMEPluginEdit.js \
dc/AuthEditBase.js \
dc/AuthEditAD.js \
dc/AuthEditLDAP.js \
2021-07-01 15:25:02 +03:00
dc/AuthEditOpenId.js \
2020-10-28 12:35:24 +03:00
dc/AuthView.js \
2021-09-09 18:45:13 +03:00
dc/BackupJobDetail.js \
2020-10-28 12:35:24 +03:00
dc/Backup.js \
dc/Cluster.js \
dc/ClusterEdit.js \
dc/Config.js \
dc/CorosyncLinkEdit.js \
dc/GroupEdit.js \
dc/GroupView.js \
dc/Guests.js \
dc/Health.js \
dc/Log.js \
dc/NodeView.js \
dc/OptionView.js \
dc/PermissionView.js \
dc/PoolEdit.js \
dc/PoolView.js \
dc/RoleEdit.js \
dc/RoleView.js \
dc/SecurityGroups.js \
dc/StorageView.js \
dc/Summary.js \
dc/Support.js \
dc/SyncWindow.js \
dc/Tasks.js \
dc/TokenEdit.js \
dc/TokenView.js \
dc/UserEdit.js \
dc/UserView.js \
2020-11-20 17:12:28 +03:00
dc/MetricServerView.js \
2022-11-16 18:48:09 +03:00
dc/UserTagAccessEdit.js \
dc/RegisteredTagsEdit.js \
2023-01-17 14:46:59 +03:00
dc/RealmSyncJob.js \
2023-06-16 16:05:39 +03:00
dc/PCIMapView.js \
dc/USBMapView.js \
2020-07-07 18:59:42 +03:00
lxc/CmdMenu.js \
lxc/Config.js \
lxc/CreateWizard.js \
2024-04-17 11:44:19 +03:00
lxc/DeviceEdit.js \
2020-07-07 18:59:42 +03:00
lxc/DNS.js \
lxc/FeaturesEdit.js \
lxc/MPEdit.js \
lxc/MPResize.js \
lxc/Network.js \
lxc/Options.js \
lxc/ResourceEdit.js \
lxc/Resources.js \
2021-10-05 14:29:01 +03:00
lxc/MultiMPEdit.js \
2020-07-07 18:59:42 +03:00
menu/MenuItem.js \
menu/TemplateMenu.js \
2020-10-28 12:35:24 +03:00
ceph/CephInstallWizard.js \
ceph/Config.js \
ceph/Crush.js \
ceph/FS.js \
ceph/Log.js \
ceph/Monitor.js \
ceph/OSD.js \
2022-12-12 15:14:51 +03:00
ceph/OSDDetails.js \
2020-10-28 12:35:24 +03:00
ceph/Pool.js \
ceph/ServiceList.js \
ceph/Services.js \
ceph/Status.js \
ceph/StatusDetail.js \
2020-07-07 18:59:42 +03:00
node/ACME.js \
node/Certificates.js \
node/CmdMenu.js \
node/Config.js \
node/Directory.js \
2018-07-30 11:26:08 +03:00
node/LVM.js \
2018-07-30 11:26:09 +03:00
node/LVMThin.js \
2016-03-31 12:42:29 +03:00
node/StatusView.js \
node/Subscription.js \
2020-07-07 18:59:42 +03:00
node/Summary.js \
node/ZFS.js \
2022-05-06 15:39:10 +03:00
node/NodeOptionsView.js \
2020-07-07 18:59:42 +03:00
pool/Config.js \
pool/StatusView.js \
pool/Summary.js \
qemu/AgentIPView.js \
qemu/AudioEdit.js \
2016-03-31 12:42:29 +03:00
qemu/BootOrderEdit.js \
qemu/CDEdit.js \
2020-07-07 18:59:42 +03:00
qemu/CIDriveEdit.js \
qemu/CloudInit.js \
qemu/CmdMenu.js \
qemu/Config.js \
qemu/CreateWizard.js \
qemu/DisplayEdit.js \
2016-03-31 12:42:29 +03:00
qemu/HDEdit.js \
2016-09-12 13:02:38 +03:00
qemu/HDEfi.js \
2021-10-04 18:29:21 +03:00
qemu/HDTPM.js \
2020-07-07 18:59:42 +03:00
qemu/HDMove.js \
qemu/HDResize.js \
2016-03-31 12:42:29 +03:00
qemu/HardwareView.js \
2020-07-07 18:59:42 +03:00
qemu/IPConfigEdit.js \
qemu/KeyboardEdit.js \
2021-03-04 15:52:08 +03:00
qemu/MachineEdit.js \
2020-07-07 18:59:42 +03:00
qemu/MemoryEdit.js \
qemu/Monitor.js \
2021-10-05 14:29:02 +03:00
qemu/MultiHDEdit.js \
2020-07-07 18:59:42 +03:00
qemu/NetworkEdit.js \
qemu/OSDefaults.js \
qemu/OSTypeEdit.js \
2016-03-31 12:42:29 +03:00
qemu/Options.js \
2018-11-22 13:35:45 +03:00
qemu/PCIEdit.js \
2020-07-07 18:59:42 +03:00
qemu/ProcessorEdit.js \
qemu/QemuBiosEdit.js \
qemu/RNGEdit.js \
2018-03-15 18:21:34 +03:00
qemu/SSHKey.js \
2020-07-07 18:59:42 +03:00
qemu/ScsiHwEdit.js \
qemu/SerialEdit.js \
qemu/Smbios1Edit.js \
2019-03-28 18:25:06 +03:00
qemu/SystemEdit.js \
2020-07-07 18:59:42 +03:00
qemu/USBEdit.js \
sdn/Browser.js \
sdn/ControllerView.js \
sdn/Status.js \
sdn/StatusView.js \
sdn/VnetEdit.js \
sdn/VnetView.js \
2023-06-07 15:03:56 +03:00
sdn/VnetACLView.js \
2021-04-22 00:53:36 +03:00
sdn/VnetPanel.js \
sdn/SubnetEdit.js \
sdn/SubnetView.js \
2020-07-07 18:59:42 +03:00
sdn/ZoneContentView.js \
2023-06-07 15:03:56 +03:00
sdn/ZoneContentPanel.js \
2020-07-07 18:59:42 +03:00
sdn/ZoneView.js \
2023-11-17 14:39:57 +03:00
sdn/IpamEdit.js \
2021-04-22 00:53:36 +03:00
sdn/OptionsPanel.js \
2020-07-07 18:59:42 +03:00
sdn/controllers/Base.js \
sdn/controllers/EvpnEdit.js \
2021-04-22 00:53:36 +03:00
sdn/controllers/BgpEdit.js \
2023-09-13 14:38:42 +03:00
sdn/controllers/IsisEdit.js \
2021-04-22 00:53:36 +03:00
sdn/IpamView.js \
sdn/ipams/Base.js \
sdn/ipams/NetboxEdit.js \
sdn/ipams/PVEIpamEdit.js \
sdn/ipams/PhpIpamEdit.js \
sdn/DnsView.js \
sdn/dns/Base.js \
sdn/dns/PowerdnsEdit.js \
2020-07-07 18:59:42 +03:00
sdn/zones/Base.js \
sdn/zones/EvpnEdit.js \
sdn/zones/QinQEdit.js \
2020-07-01 10:11:10 +03:00
sdn/zones/SimpleEdit.js \
2020-07-07 18:59:42 +03:00
sdn/zones/VlanEdit.js \
sdn/zones/VxlanEdit.js \
2020-11-15 21:34:52 +03:00
storage/ContentView.js \
2020-11-13 16:16:25 +03:00
storage/BackupView.js \
2018-03-27 15:19:46 +03:00
storage/Base.js \
2016-03-31 12:42:29 +03:00
storage/Browser.js \
2018-03-16 17:02:34 +03:00
storage/CIFSEdit.js \
2020-07-07 18:59:42 +03:00
storage/CephFSEdit.js \
storage/DirEdit.js \
2016-03-31 12:42:29 +03:00
storage/GlusterFsEdit.js \
2020-11-13 16:16:27 +03:00
storage/ImageView.js \
2016-03-31 12:42:29 +03:00
storage/IScsiEdit.js \
storage/LVMEdit.js \
storage/LvmThinEdit.js \
2021-06-23 23:59:29 +03:00
storage/BTRFSEdit.js \
2020-07-07 18:59:42 +03:00
storage/NFSEdit.js \
2020-07-07 19:29:09 +03:00
storage/PBSEdit.js \
2016-03-31 12:42:29 +03:00
storage/RBDEdit.js \
2020-07-07 18:59:42 +03:00
storage/StatusView.js \
storage/Summary.js \
2020-11-13 16:16:24 +03:00
storage/TemplateView.js \
2016-03-31 12:42:29 +03:00
storage/ZFSEdit.js \
storage/ZFSPoolEdit.js \
2024-03-08 17:37:28 +03:00
storage/ESXIEdit.js \
2020-10-28 12:35:24 +03:00
Workspace.js \
2020-07-07 18:59:42 +03:00
# end of JSSRC list
2016-03-31 12:42:29 +03:00
2022-11-14 14:38:28 +03:00
WIDGETKIT = /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js
2021-05-28 12:11:15 +03:00
all :
2020-07-20 17:34:31 +03:00
2024-02-29 20:47:01 +03:00
pvemanagerlib.js : OnlineHelpInfo .js $( JSSRC )
2023-05-29 15:11:36 +03:00
cat OnlineHelpInfo.js $( JSSRC) >$@ .tmp
2016-10-13 12:26:06 +03:00
mv $@ .tmp $@
2024-03-04 16:46:31 +03:00
OnlineHelpInfo.js : $( JSSRC ) $( WIDGETKIT )
2022-11-14 14:38:28 +03:00
/usr/bin/asciidoc-pve scan-extjs $^ >$@ .tmp
2016-03-31 12:42:29 +03:00
mv $@ .tmp $@
2019-05-31 14:41:49 +03:00
.PHONY : install
2016-03-31 12:42:29 +03:00
install : pvemanagerlib .js
2024-03-04 16:46:31 +03:00
install -d $( WWWJSDIR)
install -m 0644 pvemanagerlib.js $( WWWJSDIR)
2016-03-31 12:42:29 +03:00
.PHONY : clean
clean :
2021-05-19 17:56:50 +03:00
rm -rf pvemanagerlib.js OnlineHelpInfo.js .lint-incremental