Commit Graph

544 Commits

Author SHA1 Message Date
Torkel Ödegaard
de7856cf93 PluginConfig: Fixed plugin config page navigation when using subpath (#17364) 2019-06-05 13:24:48 +02:00
Ryan McKinley
574a37e46f
@grafana/runtime: expose location update (#17428) 2019-06-04 16:20:55 +02:00
Ryan McKinley
96ba32d0c8
Add a @grafana/runtime package with backendSrv interface (#16533)
grafana-runtime/tsconfig.json imports query to avoid a build error  ¯\_(ツ)_/¯
2019-06-03 17:55:59 +02:00
Ryan McKinley
9e7fa74682 DataSourcePlugin: Avoid anuglar injector if only one parameter (#17239) 2019-05-23 11:56:00 +02:00
Ryan McKinley
7e3ac4ebde
AppPlugin: add an init function (#17150) 2019-05-20 13:05:23 -07:00
Ryan McKinley
ae1df1cf89
Plugins: expose rxjs matching 6.4.0 (#17148)
* expose rxjs

* remove super old observable export
2019-05-18 08:31:25 -07:00
Ryan McKinley
a87a763d83 DataSourcePlugin: support custom tabs (#16859)
* use ConfigEditor

* add tabs

* add tabs

* set the nav in state

* remove actions

* reorder imports

* catch plugin loading errors

* better text

* keep props

* fix typo

* update snapshot

* rename tab to page

* add missing pages
2019-05-14 07:55:49 +02:00
Ryan McKinley
1d7bb2a763 DataSourceApi: convert interface to abstract class (#16979)
* DataSourceApi as class

* add diff signature

* Prometheus: moved directUrl to jsonData
2019-05-10 11:37:43 +02:00
Ryan McKinley
56702902a1 Plugins: Remove dataFormats key and add skipDataQuery (#16984) 2019-05-10 07:46:14 +02:00
Marcus Efraimsson
0c1530c7a8
plugins: fix how datemath utils are exposed to plugins (#16976)
Fixes a regression accidentally introduced by #16890 so that datemath 
utils are exposed to plugins in a backward-compatible way.

Fixes #16962
2019-05-09 15:27:52 +02:00
Hugo Häggmark
ceb9f0855b
Chore: Replaces moment with Grafanas DateTime (#16919)
* Wip: Initial commit

* Refactor: Replaces moment.utc(

* Refactor: replaces the last isMoment statements

* Refactor: Removes almost all moment imports

* Refactor: Moves moment_wrapper to grafana/ui

* Refactor: Renames momentWrapper

* Refactor: Removes one more moment import

* Refactor: Removes unitOfTime import

* Fix: Fixes Prettier error

* Refactor: Renames DateTimeType to DateTime

* Refactor: Renames isDateTimeType to isDateTime

* Refactor: Renames dateTime to dateTime

* Feature: Bans moment imports and types
2019-05-08 13:51:44 +02:00
Ryan McKinley
b08cf1e7ac
Plugins: update beta notice style (#16928) 2019-05-07 15:58:03 -07:00
Torkel Ödegaard
6d6242c153
BarGauge: New multi series enabled gauge like panel with horizontal and vertical layouts and 3 display modes (#16918)
* BarGauge: switched to beta and updated beta notice design

* Updated snapshot
2019-05-07 12:18:08 +02:00
Ryan McKinley
d881976c9d Refactor: move datemath to grafana/ui (#16890)
* move datemath to grafana/ui

* don't reference @grafana/ui from its own component
2019-05-06 12:36:42 +02:00
Fernando Kramer
16d5df1cba PluginsList: Removed icons and updated snapshots (#16872)
Fixes #16833
2019-05-03 13:19:01 +02:00
Ryan McKinley
ece4d2201c DataSources: minor typescript cleanups and comments (#16860)
* datasource interface cleanup

* more types

* use PluginInclude
2019-05-03 06:26:30 +02:00
Ryan McKinley
013f1b8d19
App Plugins: support react pages and tabs (#16586) 2019-05-02 10:15:39 -07:00
Ryan McKinley
51a98565dc
Refactor: consistant plugin/meta usage (#16834) 2019-04-30 22:36:46 -07:00
Ryan McKinley
26bd76b4c2
Refactor: move NavModel to @grafana/ui (#16813) 2019-04-30 07:46:46 -07:00
Ryan McKinley
7dbe719fda
Plugins: rename vizPlugin to panelPlugin (#16802) 2019-04-29 09:20:58 -07:00
Ryan McKinley
c5097e2ef3
Plugins: move app/feature/plugin properties into PluginMeta (#16809) 2019-04-29 09:14:39 -07:00
Ryan McKinley
5c2d38126d
Plugins: move PanelPluginMeta to grafana/ui (#16804) 2019-04-29 08:17:35 -07:00
Ryan McKinley
7146d576e6
Plugins: move datasource specific meta out of the main meta type (#16803) 2019-04-29 07:38:17 -07:00
Torkel Ödegaard
060e97bea8
Plugins: ReactPanelPlugin to VizPanelPlugin (#16779)
* Plugins: ReactPanelPlugin renamed

* Plugins: renamed PanelPlugin to PanelPluginMeta and VizPanelPlugin to PanelPlugin
2019-04-26 19:16:38 +02:00
Dominik Prokop
7aeae84c52
Feature: Enable React based options editors for Datasource plugins (#16748) 2019-04-24 23:18:51 +02:00
teajo
80cca9c12e AppPlugin: avoid app plugin navigation slowness (#16675)
navigation between pages in app plugin is slow, due to use of non angular native promise

Fixes #16672
2019-04-19 08:41:59 -07:00
Patrick O'Carroll
d040e336c1 UI: Remove old icons (#16335)
* removed unsused grafana-icon classes, replaced grafana-icons with gicons

* replaced old dashboard and datasource icons with gicon, fixed so icons on plugin list are shown

* removed unsused grafana-icon classes, replaced grafana-icons with gicons

* replaced old dashboard and datasource icons with gicon, fixed so icons on plugin list are shown

* replaced fontawesome cog, eye, link and edit with gicons

* updated snapshot

* fixed color of cog in dashboard nav, removed icons from buttons, ran preitterier on some files

* changed opacity on getting started icons and fixed getting started button

* .5 -> 0.5 fix for prettier
2019-04-17 15:18:32 +02:00
Ryan McKinley
5a0cf1a83c AppPlugins: fix app support and add an alpha example (#16528)
* app pages

* app pages

* workign example

* started alpha support

* bump controller limit

* bump controller limit

* existing plugin pages work again

* save Plugin in cache

* remove AppPage wip
2019-04-15 16:54:00 +02:00
Hugo Häggmark
7eabc282e9
Chore: Adds typings to lodash (#16590) 2019-04-15 12:11:52 +02:00
Ryan McKinley
08a22c806f
DirectInput: new alpha datasource that lets you enter data via CSV
Initial alpha datasource that saves data directly in a panel or in the shared datasource configs.
2019-04-12 10:13:36 -07:00
Ryan McKinley
d27de81a91
Plugins: expose getBackendSrv() to plugins (#15268)
Temporarily expose getBackendSrv while we figure out a long term solution.  This will unblock developing some more complex react external plugins.
2019-04-12 09:45:22 -07:00
Ryan McKinley
3c21a121eb Plugins: Unifying alpha state & options for all plugins (#16530)
* app pages

* app pages

* workign example

* started alpha support

* remove app stuff

* show warning on alpha/beta panels

* put app back on plugin file

* fix go

* add enum for PluginType and PluginIncludeType

* Refactoring and moving settings to plugins section

fixes #16529
2019-04-12 13:46:42 +02:00
Ryan McKinley
d6887bf77f Plugins: Optionally preload some plugins during frontend app boot (#15266)
* auto load

* update comments

* gofmt

* use preload from json

* fix formatting

* change general plugin loader to app

* Refactoring: Plugin preloading #15266
2019-04-11 08:02:22 +02:00
Torkel Ödegaard
47e51cb6b3
Refactor: Plugin exports & data source / panel types (#16364)
* wip: began work off removing meta and pluginExports from DataSourceApi interface

* WIP: changing how plugins are exports and loaded

* Down the refactoring rabit hole that keeps expanding

* TestData now returns DataSourcePlugin

* Refactoring: fixed app config page loading, type renamings and more typings

* Refactor: Correct casing on DatasourceStatus => DataSourceStatus
2019-04-04 18:30:15 +02:00
Torkel Ödegaard
0d55141a2d Panels: Refactoring how panel plugins sets hooks and components, #16166 2019-03-24 15:56:32 +01:00
Torkel Ödegaard
ac82fc03d9 Merge branch 'piechart-react' of https://github.com/CorpGlory/grafana into CorpGlory-piechart-react 2019-03-20 19:01:37 +01:00
ryan
985f057ab3 revert most options sharing 2019-03-14 13:20:24 -07:00
corpglory-dev
a550e5388a Merge branch 'master' of https://github.com/grafana/grafana into piechart-react 2019-03-13 19:31:40 +03:00
Torkel Ödegaard
9e7d1f4275
Merge pull request #15466 from grafana/bar-gauge-poc
New Bar Gauge panel
2019-03-13 11:12:33 +01:00
Torkel Ödegaard
71159fb606 Merge remote-tracking branch 'origin/master' into bar-gauge-poc 2019-03-13 08:26:06 +01:00
ryan
90510b5ffb Merge remote-tracking branch 'grafana/master' into alpha-react-virtualized-table
* grafana/master:
  Fixed type issues introduced by adding angular types
  Typescript noAny fixes, start of a long journey
  Updated code stats collection
  Updated path to new script
  POC on collecting metrics in ci process
  renamed default variables: s -> sm, m -> md, l -> lg
  removed gf-form-margin variable and replaced with space- variables where it was used
  heatmap: able to hide buckets with zero value #12080
  s -> sm, m -> md, l -> lg
  heatmap: fix prometheus buckets sorting, closes #15637
  s -> sm, m -> md, l -> lg
  removed headings-margin-bottom variable
  remove kbn test
  Added scopedVars argument in datasourceSrv.get in DataPanel
  Refactoring of multi-value datasource PR #15812
  fixed minor misstake with dashboard padding
  removed -margin, replaced with new general variables
  added new space variables to margins in AddPanelWidget, add_data_source, dashboard_settings and sidemenu
  added new variables for spacing, set margins in _cards with new variables
  Make datasource variables multiselect and dashboard repeatable
2019-03-12 09:04:20 -07:00
Torkel Ödegaard
aeb3553491 Added scopedVars argument in datasourceSrv.get in DataPanel 2019-03-11 18:36:49 +01:00
Torkel Ödegaard
bf72b26c2c Refactoring of multi-value datasource PR #15812 2019-03-11 15:44:11 +01:00
Torkel Ödegaard
a8486806aa Merge branch 'multiselect-repeatby-datasource' of https://github.com/jdoupe/grafana into jdoupe-multiselect-repeatby-datasource 2019-03-11 14:14:26 +01:00
corpglory-dev
7bc741c4e2 piechart -> pieChart 2019-03-08 13:51:25 +03:00
ryan
ea5db92996 Merge remote-tracking branch 'grafana/master' into alpha-react-table
* grafana/master:
  Fixed styling of gicon's in dropdown menus
  cleanup plugin versions
  use explore icon
  fix comments
  typescript functions on replace
  remove console.log
  add ScopedVars to replace function
  Expose onQueryChange to angular plugins
  fix allow anonymous initial bind for ldap search
2019-03-06 00:59:27 -08:00
ryan
909d425008 cleanup plugin versions 2019-03-05 23:40:03 -08:00
Jeremy Doupe
3f27d3ea23 Make datasource variables multiselect and dashboard repeatable
closes #7492 (and #7030)
2019-03-05 22:47:22 -06:00
ryan
f59ccdf59c add a basic alpha react table 2019-03-05 16:07:46 -08:00
Peter Holmberg
58f194b483 Merge branch 'master' into bar-gauge-poc 2019-02-21 10:38:26 +01:00
corpglory-dev
77f848b56d Merge branch 'master' of https://github.com/grafana/grafana into piechart-react 2019-02-19 21:27:22 +03:00
corpglory-dev
a053fb5908 Add piechart to builtInPlugins 2019-02-19 20:24:50 +03:00
Dominik Prokop
88a46e6dd4 Bump Prettier version (#15532)
* Fix prettier version to 1.16.4
2019-02-19 15:41:35 +01:00
Torkel Ödegaard
843f8b04d4 Began experimenting with a bar gauge 2019-02-15 12:55:35 +01:00
Torkel Ödegaard
cfea8bdcae Prettier had not been running as a precommit hook for some time so had to run in on all files again 2019-02-13 11:14:53 +01:00
Torkel Ödegaard
a1453607a9 Changed noQueries to a dataFormats array that will allow a panel to define supported formats and prefered (first in array) 2019-02-12 16:05:29 +01:00
ijin08
0642c52693 created new color variables, changed primary to blue, changed success-btns to primary-btns. 2019-02-05 12:05:02 +01:00
Daniel Lee
a3e09d8bbc azuremonitor: fixes merge conflict in yarn.lock 2019-01-29 15:35:43 +01:00
Johannes Schill
e448a140f5 chore: Fix typings and add Page-component to DataSourceDashboards #14762 2019-01-28 23:19:19 +01:00
Daniel Lee
e4f4cb814c Merge branch 'master' into azure-monitor 2019-01-28 19:23:34 +01:00
Torkel Ödegaard
ecab597e5e renaming DataSource type to DataSourceSettings and moved to grafana ui 2019-01-17 18:51:07 +01:00
Torkel Ödegaard
febb9e7168 Moved data source and data query types 2019-01-17 17:59:47 +01:00
Torkel Ödegaard
4fc9d794ca Moved plugin types to @grafana/ui 2019-01-17 17:37:34 +01:00
Torkel Ödegaard
a201c76c5f wip: moved plugin exports 2019-01-17 17:04:24 +01:00
Torkel Ödegaard
a6683dd90e Merge branch 'master' into react-query-editor 2019-01-17 14:57:49 +01:00
Daniel Lee
dd96f2a522 azuremonitor: move files into grafana
Initial port of the code from the plugin - lots of small things to fix.
2019-01-17 10:55:03 +01:00
Johannes Schill
1dfabf498a chore: Replace the deprecated SFC with FC 2019-01-17 09:27:43 +01:00
Johannes Schill
00646b80c6 chore: Reduce code duplication by letting the page component adding the header and taking care of the page title 2019-01-17 09:01:17 +01:00
Johannes Schill
234713466e test: Update snapshots and mocks 2019-01-16 16:29:07 +01:00
Johannes Schill
feeb3ea56d feat: Generate page titles from navModel 2019-01-16 16:03:15 +01:00
Johannes Schill
25304629bd test: Updated snapshots 2019-01-16 16:03:15 +01:00
Johannes Schill
d426981d1d fix: Add Pages component to Plugins and TeamList 2019-01-16 16:03:15 +01:00
Torkel Ödegaard
4bad76c0f4 Merge branch 'master' into react-query-editor 2019-01-16 12:23:25 +01:00
Torkel Ödegaard
33feb26fb5 WIP: good progress on react query editor support 2019-01-15 11:40:12 +01:00
Torkel Ödegaard
6b4dcb38ea Restored http settings directive that was hidden in an unused angular controller page 2019-01-14 21:21:58 +01:00
Torkel Ödegaard
b9a3239edb removed old unused angular stuff, rename 2019-01-14 15:01:47 +01:00
Simon Podlipsky
d42f821c87 Update rxjs 2018-12-27 20:37:44 +01:00
Torkel Ödegaard
98d26354c1 Added a form component to @grafana/ui 2018-12-25 11:42:23 +01:00
Torkel Ödegaard
2fec5c7577 Grafana ui lib is starting to work 2018-12-21 12:27:43 +01:00
Torkel Ödegaard
6e66b2b906 breaking up grafana into multiple packages poc 2018-12-20 16:56:46 +01:00
Torkel Ödegaard
f089c7ee5e Grafana ui library poc 2018-12-20 09:25:04 +01:00
Peter Holmberg
a44a07593f panel help working 2018-12-18 14:40:54 +01:00
Torkel Ödegaard
79933299c7 Merge branch 'develop' of github.com:grafana/grafana into develop 2018-12-07 15:09:09 +01:00
Torkel Ödegaard
eb6d0e9f51 Merge branch 'master' into develop 2018-12-07 14:59:38 +01:00
Erik Sundell
68c2d2631e filter out build in datasources. add unit test 2018-12-07 14:11:40 +01:00
Johannes Schill
fadabd997a Restore PluginEditCtrl accidently removed 2018-12-06 16:06:47 +01:00
Daniel Lee
721e1d7555 renames Grafana Logging ds to Loki 2018-12-06 00:42:31 +01:00
Torkel Ödegaard
ab33cfd7c8 minor css fixes 2018-12-03 03:31:55 -08:00
Erik Sundell
3d45b5ba73 make getAll return array instead of object 2018-11-30 09:48:59 +01:00
Erik Sundell
df75fb0e6d remove obsolete test 2018-11-30 09:32:36 +01:00
Erik Sundell
3162dda088 remove explore check - make it possible to load all datasources 2018-11-29 10:46:50 +01:00
Erik Sundell
eaf9a0b39a initial commit 2018-11-22 18:22:15 +01:00
Erik Sundell
a5947e820c Merge branch 'master' into develop 2018-11-22 13:43:25 +01:00
Daniel Lee
4aeea56342
Merge pull request #14007 from grafana/stackdriver-template-query-editor
Stackdriver template query editor
2018-11-20 13:41:18 +01:00
Torkel Ödegaard
649d727805 Merge branch 'master' into develop 2018-11-20 09:47:23 +01:00
Torkel Ödegaard
f44e634da4 switch slider changes 2018-11-20 09:39:56 +01:00
Erik Sundell
0aeaec1ac6 stackdriver: add support for template variables 2018-11-19 14:44:40 +01:00
David
634d71a657
Merge pull request #14052 from grafana/davkal/explore-query-importer
Explore: POC for datasource query importers
2018-11-16 14:55:19 +00:00
David Kaltschmidt
411719bc70 Explore: POC for datasource query importers
Explore is about keeping context between datasources if possible. When
changing from metrics to logging, some of the filtering can be kept to
narrow down logging streams relevant to the metrics.

- adds `importQueries` function in language providers
- query import dependent on origin datasource
- implemented  prometheus-to-logging import: keeping label selectors
  that are common to both datasources
- added types
2018-11-16 13:52:58 +00:00
Alexander Zobnin
8c7f4ac188
fix datasource testing 2018-11-16 13:17:41 +03:00
Torkel Ödegaard
1eecda48f8 Moved query manipulations from metrics controller to metrics tab so they are more easily shared between angular and react panels 2018-11-14 14:40:03 +01:00
Erik Sundell
e698202fae stackdriver: use new naming convention for query editor all over 2018-11-13 10:57:10 +01:00
Torkel Ödegaard
9820c7806c some cleanup of unused stuff and type fixes 2018-11-13 08:09:12 +01:00
Torkel Ödegaard
9dbb0db684 completed work on panel not found view 2018-11-13 07:54:02 +01:00
Torkel Ödegaard
727efa5a03 Merge branch 'pane-edit-ux-tabs' into develop 2018-11-12 16:25:13 +01:00
Torkel Ödegaard
e0feb72637 Merge remote-tracking branch 'origin/data-source-settings-to-react' into develop 2018-11-12 16:17:05 +01:00
Torkel Ödegaard
1bad8db94c data source picker demo state 2018-11-09 15:50:09 +01:00
Erik Sundell
f0cba0b0d8 stackdriver: rename default component 2018-11-09 13:55:08 +01:00
Erik Sundell
149c649132 stackdriver: more renaming 2018-11-09 13:55:08 +01:00
Erik Sundell
33c9217cc9 stackdriver: refactoring - rename react components and file structure changes 2018-11-09 13:55:08 +01:00
Erik Sundell
1969ad41e8 stackdriver: refactor stackdriver query ctrl 2018-11-09 13:53:44 +01:00
Erik Sundell
4f7d3fccb7 stackdriver: make sure default template query editor state is propagted to parent angular scope 2018-11-09 13:53:44 +01:00
Erik Sundell
637b91ab8d stackdriver: conditional template component rendering 2018-11-09 13:53:44 +01:00
Erik Sundell
efd3343d19 stackdriver: add basic directive for loading react plugin components 2018-11-09 13:51:37 +01:00
Peter Holmberg
b536a9f760 can render something 2018-11-08 16:40:53 +01:00
Peter Holmberg
ffc06e9962 extract store from configurestore 2018-11-05 16:54:48 +01:00
Peter Holmberg
e37fa486ed remove replaced components 2018-11-01 14:31:14 +01:00
Peter Holmberg
f15ed848f9 Merge branch 'master' into data-source-settings-to-react 2018-11-01 13:52:53 +01:00
Peter Holmberg
6493f96ac7 updated snap 2018-11-01 13:47:40 +01:00
Torkel Ödegaard
7885453bcd listen for changes in angular land and propagate that back to react 2018-10-31 09:19:08 -07:00
David Kaltschmidt
cf19ecc8f5 Make Explore plugin exports explicit 2018-10-30 14:38:34 +01:00
David Kaltschmidt
d0776937b5 Pluggable components from datasource plugins
- when instantiating a datasource, the datasource service checks if the
  plugin module exports Explore components, and if so, attaches them to
  the datasource
- Explore component makes all major internal pluggable from a datasource
  `exploreComponents` property
- Moved Prometheus query field to promehteus datasource and registered
  it as an exported Explore component
- Added new Start page for Explore, also exported from the datasource
2018-10-29 15:14:36 +01:00
Peter Holmberg
596a83407e fixed routes and page 2018-10-24 16:17:25 +02:00
Torkel Ödegaard
11f66bb909 fixed issue with template refresh 2018-10-19 09:43:54 +02:00
Torkel Ödegaard
dddbe62d6c Merge branch 'master' into react-panels-step1 2018-10-19 09:15:37 +02:00
Peter Holmberg
ab2be340f7 remove not used file 2018-10-18 09:34:51 +02:00
Peter Holmberg
f25a843a2c created view 2018-10-17 14:36:18 +02:00
Peter Holmberg
ee0cc9bd77 Merge branch 'master' into data-source-instance-to-react 2018-10-16 12:14:11 +02:00
Torkel Ödegaard
8e85295b2b react panels query processing 2018-10-14 18:19:49 +02:00
Torkel Ödegaard
cd4619dad1 working on react data / query exectution 2018-10-14 15:39:34 +02:00
Torkel Ödegaard
8ba865bf57 Merge branch 'master' into react-panels-step1 2018-10-12 13:31:20 +02:00
Peter Holmberg
02e7d713a1 Added Loading state on org pages 2018-10-11 11:49:34 +02:00
Torkel Ödegaard
d2bdf8cff1 wip: fixed issues now things are starting to work as before for angular panels 2018-10-09 17:07:13 +02:00
Peter Holmberg
61cac5fd61 reverted back and using angular for settings and dashboards 2018-10-08 16:01:17 +02:00
Torkel Ödegaard
4f852bb4ae ux: more minor ds setting tweaks 2018-10-05 13:09:41 -07:00
Torkel Ödegaard
2860a50065 ux: tweaks to add datasource page and datasource settings page 2018-10-05 12:55:34 -07:00
Torkel Ödegaard
dcb7f0d492 Merge branch 'master' into react-panels-ux-idea2 2018-10-04 09:08:19 +02:00
Peter Holmberg
ef5180bae0 fixed toggle buttons 2018-10-03 13:04:31 +02:00
Peter Holmberg
45113e6c8b updated after pr feedback 2018-10-03 10:54:15 +02:00
Torkel Ödegaard
afdec3d1b0
Revert "Revert "Org users to react"" 2018-10-03 09:43:10 +02:00
Torkel Ödegaard
fe4f2f71c3
Revert "Org users to react" 2018-10-03 09:40:37 +02:00
Peter Holmberg
09b681326e Merge branch 'master' into org-users-to-react 2018-10-02 11:18:01 +02:00
Torkel Ödegaard
f37a60dcd5 Merge branch 'data-sources-list-to-react' 2018-10-02 09:33:58 +02:00
Peter Holmberg
a43ede70bc added default prop instead of specifying prop 2018-10-01 14:02:13 +02:00
Peter Holmberg
8f99276606 first crude display 2018-09-28 17:21:00 +02:00
Daniel Lee
9b90b835b2 Merge remote-tracking branch 'origin/master' into stackdriver-plugin 2018-09-28 16:20:40 +02:00
Peter Holmberg
da856187d8 snaps 2018-09-28 14:57:56 +02:00
Peter Holmberg
21cfc11009 implemented general actionbar 2018-09-28 14:34:58 +02:00
Peter Holmberg
166f93cf54 components, test, removed old not used files 2018-09-28 11:05:34 +02:00
Peter Holmberg
11ee65d35a deletez 2018-09-27 14:51:00 +02:00