import {
	observable,
	action,
	computed
} from 'mobx';

export default class DialogStore {
	constructor(root) {
		this.root = root;
	}

	get dialogProps() {
		return {
			hasScroll: true,
			icon: 'icon-coms-hrm',
			iconBgcolor: '#217346',
		}
	}

	@observable visible = false;
	@observable title = '';
	@observable style = {};
	@observable mark = '';

	@action init = (config) => {
		Object.keys(config).forEach(key => {
			this[key] = config[key];
		})
	}

	@action openDialog = () => {
		this.visible = true;
	}

	@action closeDialog = () => {
		this.visible = false;

		this._closeDialog && this._closeDialog();
	}

	@computed get buttons() {
		const mark = (this.mark !== undefined) ? this.mark : '';
		return this.root[`${mark}DialogButtons`];
	}

	@computed get moreBtn() {
		const mark = (this.mark !== undefined) ? this.mark : '';
		return this.root[`${mark}MoreBtn`];
	}


}