fix widget api buttons
Signed-off-by: Julien Veyssier <eneiluj@posteo.net>
This commit is contained in:
@@ -41,7 +41,6 @@ use OCP\IURLGenerator;
|
|||||||
use OCP\Util;
|
use OCP\Util;
|
||||||
|
|
||||||
class DeckWidget implements IAPIWidget, IButtonWidget, IIconWidget {
|
class DeckWidget implements IAPIWidget, IButtonWidget, IIconWidget {
|
||||||
|
|
||||||
private IL10N $l10n;
|
private IL10N $l10n;
|
||||||
private OverviewService $dashboardService;
|
private OverviewService $dashboardService;
|
||||||
private IURLGenerator $urlGenerator;
|
private IURLGenerator $urlGenerator;
|
||||||
@@ -117,14 +116,14 @@ class DeckWidget implements IAPIWidget, IButtonWidget, IIconWidget {
|
|||||||
$upcomingCards = $this->dashboardService->findUpcomingCards($userId);
|
$upcomingCards = $this->dashboardService->findUpcomingCards($userId);
|
||||||
$nowTimestamp = (new Datetime())->getTimestamp();
|
$nowTimestamp = (new Datetime())->getTimestamp();
|
||||||
$sinceTimestamp = $since !== null ? (new Datetime($since))->getTimestamp() : null;
|
$sinceTimestamp = $since !== null ? (new Datetime($since))->getTimestamp() : null;
|
||||||
$upcomingCards = array_filter($upcomingCards, static function(array $card) use ($nowTimestamp, $sinceTimestamp) {
|
$upcomingCards = array_filter($upcomingCards, static function (array $card) use ($nowTimestamp, $sinceTimestamp) {
|
||||||
if ($card['duedate']) {
|
if ($card['duedate']) {
|
||||||
$ts = (new Datetime($card['duedate']))->getTimestamp();
|
$ts = (new Datetime($card['duedate']))->getTimestamp();
|
||||||
return $ts > $nowTimestamp && ($sinceTimestamp === null || $ts > $sinceTimestamp);
|
return $ts > $nowTimestamp && ($sinceTimestamp === null || $ts > $sinceTimestamp);
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
});
|
});
|
||||||
usort($upcomingCards, static function($a, $b) {
|
usort($upcomingCards, static function ($a, $b) {
|
||||||
$a = new Datetime($a['duedate']);
|
$a = new Datetime($a['duedate']);
|
||||||
$ta = $a->getTimestamp();
|
$ta = $a->getTimestamp();
|
||||||
$b = new Datetime($b['duedate']);
|
$b = new Datetime($b['duedate']);
|
||||||
@@ -134,13 +133,13 @@ class DeckWidget implements IAPIWidget, IButtonWidget, IIconWidget {
|
|||||||
$upcomingCards = array_slice($upcomingCards, 0, $limit);
|
$upcomingCards = array_slice($upcomingCards, 0, $limit);
|
||||||
$urlGenerator = $this->urlGenerator;
|
$urlGenerator = $this->urlGenerator;
|
||||||
$dateTimeFormatter = $this->dateTimeFormatter;
|
$dateTimeFormatter = $this->dateTimeFormatter;
|
||||||
return array_map(static function(array $card) use ($urlGenerator, $dateTimeFormatter) {
|
return array_map(static function (array $card) use ($urlGenerator, $dateTimeFormatter) {
|
||||||
$formattedDueDate = $dateTimeFormatter->formatDateTime(new DateTime($card['duedate']));
|
$formattedDueDate = $dateTimeFormatter->formatDateTime(new DateTime($card['duedate']));
|
||||||
return new WidgetItem(
|
return new WidgetItem(
|
||||||
$card['title'] . ' (' . $formattedDueDate . ')',
|
$card['title'] . ' (' . $formattedDueDate . ')',
|
||||||
implode(
|
implode(
|
||||||
', ',
|
', ',
|
||||||
array_map(static function(Label $label) {
|
array_map(static function (Label $label) {
|
||||||
return $label->jsonSerialize()['title'];
|
return $label->jsonSerialize()['title'];
|
||||||
}, $card['labels'])
|
}, $card['labels'])
|
||||||
),
|
),
|
||||||
@@ -160,19 +159,12 @@ class DeckWidget implements IAPIWidget, IButtonWidget, IIconWidget {
|
|||||||
*/
|
*/
|
||||||
public function getWidgetButtons(string $userId): array {
|
public function getWidgetButtons(string $userId): array {
|
||||||
return [
|
return [
|
||||||
new WidgetButton(
|
|
||||||
WidgetButton::TYPE_NEW,
|
|
||||||
$this->urlGenerator->getAbsoluteURL(
|
|
||||||
$this->urlGenerator->linkToRoute(Application::APP_ID . '.page.index')
|
|
||||||
),
|
|
||||||
$this->l10n->t('Add card')
|
|
||||||
),
|
|
||||||
new WidgetButton(
|
new WidgetButton(
|
||||||
WidgetButton::TYPE_MORE,
|
WidgetButton::TYPE_MORE,
|
||||||
$this->urlGenerator->getAbsoluteURL(
|
$this->urlGenerator->getAbsoluteURL(
|
||||||
$this->urlGenerator->linkToRoute(Application::APP_ID . '.page.index')
|
$this->urlGenerator->linkToRoute(Application::APP_ID . '.page.index')
|
||||||
),
|
),
|
||||||
$this->l10n->t('Add card')
|
$this->l10n->t('Load more')
|
||||||
),
|
),
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user