const PACKAGE_NAME = "uuidconvert";
const fs = require("fs");

Editor.Panel.extend({
	style: fs.readFileSync(Editor.url(`packages://${PACKAGE_NAME}/static/style/default/index.css`), 'utf-8')
		.concat(fs.readFileSync(Editor.url(`packages://${PACKAGE_NAME}/static/style/default/bootstrap.min.css`), 'utf-8')),

	template: fs.readFileSync(
		Editor.url(`packages://${PACKAGE_NAME}/index.html`), 'utf-8'),

	$: {
		run: '#run',
		uuid: '#uuid',
		asset: '#asset',
		asset2: '#asset2',
		source: '#source',
		isReplaceResource: '#isReplaceResource',
		ReplaceResource: '#ReplaceResource',
		ReplaceResource1: '#ReplaceResource1',
		ReplaceResource2: '#ReplaceResource2',
	},

	ready() {
		this.$run.addEventListener("confirm", this.methods.run.bind(this));
		this.$isReplaceResource.addEventListener("change", this.methods.setReplaceResource.bind(this));
	},

	methods: {
		run() {
			let uuid = "";
			// Editor.log(`$asset: ${this.$asset.value}`);
			if (!this.$uuid.value) {
				if (!this.$asset.value) {
					Editor.error("請輸入要轉換的UUID");
					return;
				} else {
					uuid = this.$asset.value;
				}
			} else {
				uuid = this.$uuid.value;
			}
			let ReplaceResource = this.$isReplaceResource.value;
			if (ReplaceResource) {
				// if (!this.$asset2.value) {
				// 	Editor.error("請輸入要取代的資源");
				// 	return;
				// } else if (!this.$source.value) {
				// 	Editor.error("請輸入要取代的檔案");
				// 	return;
				// }
				Editor.Ipc.sendToMain("uuidconvert:replaceResource", uuid, this.$asset2.value, this.$source.value);
			} else {
				Editor.Ipc.sendToMain("uuidconvert:run-click", uuid);
			}
		},
		setReplaceResource() {
			// Editor.log(`$isReplaceResource: ${this.$isReplaceResource.value}`);
			let ReplaceResource = this.$isReplaceResource.value;
			this.$ReplaceResource.style.display = ReplaceResource ? "" : "none";
			this.$ReplaceResource1.style.display = ReplaceResource ? "none" : "";
			this.$ReplaceResource2.style.display = ReplaceResource ? "" : "none";
		},
	},

	messages: {
	}
});