summaryrefslogtreecommitdiff
path: root/src/web/app/desktop/api
diff options
context:
space:
mode:
authorsyuilo <syuilotan@yahoo.co.jp>2018-02-18 12:35:18 +0900
committersyuilo <syuilotan@yahoo.co.jp>2018-02-18 12:35:18 +0900
commit99b34993640eb91a591faa4bccf7d7b6f176ad97 (patch)
treef45bd1e385dc9a78f5322e233767cbb44e3fa2cf /src/web/app/desktop/api
parentwip (diff)
downloadsharkey-99b34993640eb91a591faa4bccf7d7b6f176ad97.tar.gz
sharkey-99b34993640eb91a591faa4bccf7d7b6f176ad97.tar.bz2
sharkey-99b34993640eb91a591faa4bccf7d7b6f176ad97.zip
wip
Diffstat (limited to 'src/web/app/desktop/api')
-rw-r--r--src/web/app/desktop/api/choose-drive-file.ts18
-rw-r--r--src/web/app/desktop/api/choose-drive-folder.ts8
-rw-r--r--src/web/app/desktop/api/contextmenu.ts16
-rw-r--r--src/web/app/desktop/api/dialog.ts19
-rw-r--r--src/web/app/desktop/api/input.ts19
5 files changed, 76 insertions, 4 deletions
diff --git a/src/web/app/desktop/api/choose-drive-file.ts b/src/web/app/desktop/api/choose-drive-file.ts
new file mode 100644
index 0000000000..e048441713
--- /dev/null
+++ b/src/web/app/desktop/api/choose-drive-file.ts
@@ -0,0 +1,18 @@
+import MkChooseFileFromDriveWindow from '../views/components/choose-file-from-drive-window.vue';
+
+export default function(opts) {
+ return new Promise((res, rej) => {
+ const o = opts || {};
+ const w = new MkChooseFileFromDriveWindow({
+ propsData: {
+ title: o.title,
+ multiple: o.multiple,
+ initFolder: o.currentFolder
+ }
+ }).$mount();
+ w.$once('selected', file => {
+ res(file);
+ });
+ document.body.appendChild(w.$el);
+ });
+}
diff --git a/src/web/app/desktop/api/choose-drive-folder.ts b/src/web/app/desktop/api/choose-drive-folder.ts
index a5116f7bcd..9b33a20d9a 100644
--- a/src/web/app/desktop/api/choose-drive-folder.ts
+++ b/src/web/app/desktop/api/choose-drive-folder.ts
@@ -1,12 +1,12 @@
-import MkChooseFolderFromDriveWindow from '../../../common/views/components/choose-folder-from-drive-window.vue';
+import MkChooseFolderFromDriveWindow from '../views/components/choose-folder-from-drive-window.vue';
-export default function(this: any, opts) {
+export default function(opts) {
return new Promise((res, rej) => {
const o = opts || {};
const w = new MkChooseFolderFromDriveWindow({
- parent: this,
propsData: {
- title: o.title
+ title: o.title,
+ initFolder: o.currentFolder
}
}).$mount();
w.$once('selected', folder => {
diff --git a/src/web/app/desktop/api/contextmenu.ts b/src/web/app/desktop/api/contextmenu.ts
new file mode 100644
index 0000000000..b70d7122d3
--- /dev/null
+++ b/src/web/app/desktop/api/contextmenu.ts
@@ -0,0 +1,16 @@
+import Ctx from '../views/components/context-menu.vue';
+
+export default function(e, menu, opts?) {
+ const o = opts || {};
+ const vm = new Ctx({
+ propsData: {
+ menu,
+ x: e.pageX - window.pageXOffset,
+ y: e.pageY - window.pageYOffset,
+ }
+ }).$mount();
+ vm.$once('closed', () => {
+ if (o.closed) o.closed();
+ });
+ document.body.appendChild(vm.$el);
+}
diff --git a/src/web/app/desktop/api/dialog.ts b/src/web/app/desktop/api/dialog.ts
new file mode 100644
index 0000000000..07935485b0
--- /dev/null
+++ b/src/web/app/desktop/api/dialog.ts
@@ -0,0 +1,19 @@
+import Dialog from '../views/components/dialog.vue';
+
+export default function(opts) {
+ return new Promise<string>((res, rej) => {
+ const o = opts || {};
+ const d = new Dialog({
+ propsData: {
+ title: o.title,
+ text: o.text,
+ modal: o.modal,
+ buttons: o.actions
+ }
+ }).$mount();
+ d.$once('clicked', id => {
+ res(id);
+ });
+ document.body.appendChild(d.$el);
+ });
+}
diff --git a/src/web/app/desktop/api/input.ts b/src/web/app/desktop/api/input.ts
new file mode 100644
index 0000000000..a5ab07138a
--- /dev/null
+++ b/src/web/app/desktop/api/input.ts
@@ -0,0 +1,19 @@
+import InputDialog from '../views/components/input-dialog.vue';
+
+export default function(opts) {
+ return new Promise<string>((res, rej) => {
+ const o = opts || {};
+ const d = new InputDialog({
+ propsData: {
+ title: o.title,
+ placeholder: o.placeholder,
+ default: o.default,
+ type: o.type || 'text'
+ }
+ }).$mount();
+ d.$once('done', text => {
+ res(text);
+ });
+ document.body.appendChild(d.$el);
+ });
+}