Newer
Older
smart-home-server / webclient / src / js / components / screens / scripts / scripts-funcs.js
function sidebarTemplate(active) {
	return Helper.template.sidebarNav([
		{
			content: `<span class="list-label"><i class="ph ph-cpu"></i> Scopes</span>`,
			route: "/#!/scripts/scopes",
			is_active: active == "scopes"
		},
		{
			content: `<span class="list-label"><i class="ph ph-play"></i> Actions</span>`,
			route: "/#!/scripts/actions",
			is_active: active == "actions"
		},
		{
			content: `<span class="list-label"><i class="ph ph-magnifying-glass"></i> Regular</span>`,
			route: "/#!/scripts/regular",
			is_active: active == "regular"
		}
	]);
}

function runActionScript(sh_api, alias, cb) {
	sh_api.scripts.run({
		alias: alias,
		params: {}
	}, (err, data, meta) => {
		if(data) {
			cb(true);

			setTimeout(() => Screens.reinit(), 1000);

			setTimeout(() => Toasts.createSuccess(
				`${alias} running`,
				`<b>${alias}</b> running success`
			).show(), 300);
		} else {
			cb(false);

			setTimeout(() => Toasts.createError(
				`${alias} failed`,
				`<b>${alias}</b> running failed`
			).show(), 300);
		}
	});
}

export {
	sidebarTemplate,
	runActionScript
}