wip
This commit is contained in:
@ -128,17 +128,17 @@
|
||||
this.upload(item.getAsFile());
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
this.onkeypress = (e) => {
|
||||
if ((e.which == 10 || e.which == 13) && e.ctrlKey) {
|
||||
this.send();
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
this.selectFile = () => {
|
||||
this.refs.file.click();
|
||||
}
|
||||
};
|
||||
|
||||
this.selectFileFromDrive = () => {
|
||||
const browser = document.body.appendChild(document.createElement('mk-select-file-from-drive-window'));
|
||||
@ -150,7 +150,7 @@
|
||||
event.one('selected', files => {
|
||||
files.forEach(this.addFile);
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
this.send = () => {
|
||||
this.sending = true;
|
||||
@ -165,11 +165,12 @@
|
||||
this.sending = false;
|
||||
this.update();
|
||||
});
|
||||
};
|
||||
|
||||
this.clear = () => {
|
||||
this.refs.text.value = '';
|
||||
this.files = [];
|
||||
this.update();
|
||||
}
|
||||
};
|
||||
</script>
|
||||
</mk-messaging-form>
|
||||
|
@ -303,7 +303,7 @@
|
||||
this.history = history;
|
||||
this.update();
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
this.search = () => {
|
||||
const q = this.refs.search.value;
|
||||
@ -322,14 +322,16 @@
|
||||
this.update();
|
||||
.catch (err) =>
|
||||
console.error err
|
||||
};
|
||||
|
||||
this.on-search-keydown = (e) => {
|
||||
key = e.which
|
||||
this.on-search-keydown = e => {
|
||||
const key = e.which;
|
||||
switch (key)
|
||||
| 9, 40 => // Key[TAB] or Key[↓]
|
||||
e.preventDefault();
|
||||
e.stopPropagation();
|
||||
this.refs.search-result.childNodes[0].focus();
|
||||
};
|
||||
|
||||
this.on-search-result-keydown = (i, e) => {
|
||||
key = e.which
|
||||
@ -350,6 +352,7 @@
|
||||
e.preventDefault();
|
||||
e.stopPropagation();
|
||||
(this.refs.search-result.childNodes[i].next-element-sibling || this.refs.search-result.childNodes[0]).focus();
|
||||
};
|
||||
|
||||
</script>
|
||||
</mk-messaging>
|
||||
|
@ -206,25 +206,29 @@
|
||||
this.mixin('i');
|
||||
this.mixin('text');
|
||||
|
||||
this.message = this.opts.message
|
||||
@message.is_me = @message.user.id == this.I.id
|
||||
this.message = this.opts.message;
|
||||
this.message.is_me = this.message.user.id == this.I.id;
|
||||
|
||||
this.on('mount', () => {
|
||||
if @message.text?
|
||||
tokens = @analyze @message.text
|
||||
if (this.message.text) {
|
||||
const tokens = this.analyze(this.message.text);
|
||||
|
||||
this.refs.text.innerHTML = @compile tokens
|
||||
this.refs.text.innerHTML = this.compile(tokens);
|
||||
|
||||
this.refs.text.children.for-each (e) =>
|
||||
if e.tag-name == 'MK-URL'
|
||||
riot.mount e
|
||||
this.refs.text.children.forEach(e => {
|
||||
if (e.tagName == 'MK-URL') riot.mount(e);
|
||||
});
|
||||
|
||||
// URLをプレビュー
|
||||
tokens
|
||||
.filter (t) -> t.type == 'link'
|
||||
.map (t) =>
|
||||
this.preview = this.refs.text.appendChild document.createElement 'mk-url-preview'
|
||||
riot.mount @preview, do
|
||||
.filter(t => t.type == 'link')
|
||||
.map(t => {
|
||||
const el = this.refs.text.appendChild(document.createElement('mk-url-preview'));
|
||||
riot.mount(el, {
|
||||
url: t.content
|
||||
});
|
||||
});
|
||||
}
|
||||
});
|
||||
</script>
|
||||
</mk-messaging-message>
|
||||
|
Reference in New Issue
Block a user