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

jingrow.ui.form.on("Jsite Domain", {
	refresh(frm) {
		// 添加同步按钮到右上角
		frm.add_custom_button(__('同步域名信息'), function() {
			sync_domain_info(frm);
		});
	},
});

// 同步域名信息函数
function sync_domain_info(frm) {
	if (!frm.pg.domain) {
		jingrow.msgprint(__('当前记录没有域名信息'));
		return;
	}
	
	// 显示加载状态
	frm.dashboard.clear_headline();
	frm.dashboard.set_headline(__('正在同步域名信息...'));
	
	// 调用API同步域名信息
	jingrow.call({
		method: 'jcloud.api.domain_west.sync_domain_info_from_west',
		args: {
			domain: frm.pg.domain
		},
		callback: function(r) {
			frm.dashboard.clear_headline();
			
			// 检查响应结构
			if (r && r.message && r.message.status === 'success') {
				jingrow.msgprint({
					title: __('同步成功'),
					message: __('域名信息已成功同步'),
					indicator: 'green'
				});
				
				// 刷新页面以显示更新后的数据
				frm.refresh();
			} else {
				jingrow.msgprint({
					title: __('同步失败'),
					message: (r && r.message && r.message.message) || __('同步域名信息时发生错误'),
					indicator: 'red'
				});
			}
		},
		error: function(err) {
			frm.dashboard.clear_headline();
			jingrow.msgprint({
				title: __('同步失败'),
				message: __('网络错误或服务器异常'),
				indicator: 'red'
			});
		}
	});
}
