iceshrimp/src/client/app/desktop/api/input.ts

20 lines
459 B
TypeScript
Raw Normal View History

2018-05-27 18:12:39 +09:00
import OS from '../../mios';
2018-02-18 12:35:18 +09:00
import InputDialog from '../views/components/input-dialog.vue';
2018-05-27 18:12:39 +09:00
export default (os: OS) => opts => {
2018-02-18 12:35:18 +09:00
return new Promise<string>((res, rej) => {
const o = opts || {};
2018-05-27 18:12:39 +09:00
const d = os.new(InputDialog, {
title: o.title,
placeholder: o.placeholder,
default: o.default,
type: o.type || 'text',
allowEmpty: o.allowEmpty
});
2018-02-18 12:35:18 +09:00
d.$once('done', text => {
res(text);
});
document.body.appendChild(d.$el);
});
2018-05-27 18:12:39 +09:00
};