// Copyright (c) 2025, JINGROW and contributors
// For license information, please see license.txt

jingrow.ui.form.on("Delete Record", {
	refresh: function(frm) {
		// 禁用保存按钮，因为我们只需要通过删除按钮来保存
		frm.disable_save();

		// 移除已有的自定义按钮，避免重复
		frm.clear_custom_buttons && frm.clear_custom_buttons();

		// 在表单底部添加删除按钮
		if (!frm.$delete_btn) {
			frm.$delete_btn = $('<button class="btn btn-primary" style="margin:32px;">'+__('删除记录')+'</button>')
				.on('click', function() {
					if (!frm.pg.pagetype || !frm.pg.record_name) {
						jingrow.msgprint(__('请先选择 PageType 和 Record Name'));
						return;
					}
					jingrow.confirm(__('确认删除该记录及其关联记录？此操作不可恢复！'), function() {
						frm.call({
							method: 'delete_record_with_dependencies',
							args: {
								pagetype: frm.pg.pagetype,
								record_name: frm.pg.record_name
							},
							callback: function(r) {
								if (!r.exc) {
									frm.set_value('record_name', '');
									jingrow.msgprint(__('删除成功！'));
								}
							}
						});
					});
				});
			// 插入到表单底部
			frm.$wrapper.find('.form-page').last().append(frm.$delete_btn);
		}
	},

	pagetype: function(frm) {
		// 当 PageType 改变时，清空 Record Name
		if (frm.is_dirty()) {
			frm.set_value('record_name', '');
		}
	}
});
