1
0
mirror of https://github.com/flarum/core.git synced 2025-10-14 08:24:28 +02:00
Files
php-flarum/js/forum/src/components/post-header-meta.js
2015-04-25 22:28:39 +09:30

43 lines
1.5 KiB
JavaScript

import Component from 'flarum/component';
import humanTime from 'flarum/helpers/human-time';
import fullTime from 'flarum/helpers/full-time';
/**
Component for the meta part of a post header. Displays the time, and when
clicked, shows a dropdown containing more information about the post
(number, full time, permalink).
*/
export default class PostHeaderMeta extends Component {
view() {
var post = this.props.post;
var discussion = post.discussion();
var params = {
id: discussion.id(),
slug: discussion.slug(),
near: post.number()
};
var permalink = window.location.origin+app.route('discussion.near', params);
var touch = 'ontouchstart' in document.documentElement;
// When the dropdown menu is shown, select the contents of the permalink
// input so that the user can quickly copy the URL.
var selectPermalink = function() {
var input = $(this).parent().find('.permalink');
setTimeout(() => input.select());
m.redraw.strategy('none');
}
return m('span.dropdown',
m('a.dropdown-toggle[href=javascript:;][data-toggle=dropdown]', {onclick: selectPermalink}, humanTime(post.time())),
m('div.dropdown-menu.post-meta', [
m('span.number', 'Post #'+post.number()),
m('span.time', fullTime(post.time())),
touch
? m('a.btn.btn-default.permalink', {href: permalink}, permalink)
: m('input.form-control.permalink', {value: permalink, onclick: (e) => e.stopPropagation()})
])
);
}
}