Skip to content

Commit

Permalink
Add Dynamic Text, Static Data Source (#31)
Browse files Browse the repository at this point in the history
* Add Dynamic Text and update plugins

* Add Dynamic Text and Static Data Source

* Fix CI

* Update Dockerfile

* Update CHANGELOG.md

* Update APP screenshot
  • Loading branch information
mikhail-vl authored Oct 29, 2022
1 parent 29d5474 commit 4f6a95d
Show file tree
Hide file tree
Showing 18 changed files with 202 additions and 107 deletions.
5 changes: 3 additions & 2 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,14 +1,15 @@
# Change Log

## 1.4.0 (IN PROGRESS)
## 1.4.0 (2022-10-29)

### Features / Enhancements

- Add YouTube Playlist and Docker information (#24)
- Add Compatibility Check Workflow (#25)
- Update to Grafana 9.1.6 (#26)
- Update to Grafana 9.2.2 (#29)
- Update GitHub Actions to use Node 16 (#30)
- Update CI to Node 16 and Synchronize with Release workflow (#30)
- Add Dynamic Text, Static Data Source (#31)

## 1.3.0 (2022-09-10)

Expand Down
3 changes: 3 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,9 @@ COPY img/background.svg /usr/share/grafana/public/img/g8_login_light.svg
RUN find /usr/share/grafana/public/build/ -name *.js -exec sed -i 's|"AppTitle","Grafana")|"AppTitle","Volkov Labs")|g' {} \;
RUN find /usr/share/grafana/public/build/ -name *.js -exec sed -i 's|"LoginTitle","Welcome to Grafana")|"LoginTitle","Welcome to Volkov Labs")|g' {} \;
RUN find /usr/share/grafana/public/build/ -name *.js -exec sed -i 's|{target:"_blank",id:"documentation",text:"Documentation",icon:"document-info",url:"https://grafana.com/docs/grafana/latest/?utm_source=grafana_footer"},{target:"_blank",id:"support",text:"Support",icon:"question-circle",url:"https://grafana.com/products/enterprise/?utm_source=grafana_footer"},{target:"_blank",id:"community",text:"Community",icon:"comments-alt",url:"https://community.grafana.com/?utm_source=grafana_footer"}||g' {} \;

RUN find /usr/share/grafana/public/build/ -name *.js -exec sed -i 's|{target:"_blank",id:"version",text:`${e.edition}${s}`,url:t.licenseUrl}||g' {} \;
RUN find /usr/share/grafana/public/build/ -name *.js -exec sed -i 's|{target:"_blank",id:"version",text:`v${e.version} (${e.commit})`,url:i?`https://grafana.com/docs/grafana/${l}/release-notes/release-notes-${o}/`:void 0}||g' {} \;
RUN find /usr/share/grafana/public/build/ -name *.js -exec sed -i 's|{target:"_blank",id:"updateVersion",text:"New version available!",icon:"download-alt",url:"https://grafana.com/grafana/download?utm_source=grafana_footer"}||g' {} \;

#############################################################
Expand Down
7 changes: 4 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
# Volkov Labs Application plugin for Grafana
# Volkov Labs Application for Grafana

![Application](https://raw.githubusercontent.com/volkovlabs/volkovlabs-app/main/img/app.png)

[![Grafana 9](https://img.shields.io/badge/Grafana-9.1.6-orange)](https://www.grafana.com)
[![Grafana 9](https://img.shields.io/badge/Grafana-9.2.2-orange)](https://www.grafana.com)
[![YouTube](https://img.shields.io/badge/YouTube-Playlist-red)](https://youtube.com/playlist?list=PLPow72ygztmTm_zY_PYqJtRYpMPpZglYC)
![CI](https://github.com/volkovlabs/volkovlabs-app/workflows/CI/badge.svg)
[![codecov](https://codecov.io/gh/VolkovLabs/volkovlabs-app/branch/main/graph/badge.svg?token=2W9VR0PG5N)](https://codecov.io/gh/VolkovLabs/volkovlabs-app)
Expand All @@ -28,13 +28,14 @@ docker pull ghcr.io/volkovlabs/app:latest
Application plugin includes:

- [RSS/Atom data source](https://github.com/volkovlabs/volkovlabs-rss-datasource)
- [Dynamic text panel](https://github.com/marcusolsson/grafana-dynamictext-panel)
- [Dynamic text panel](https://github.com/volkovlabs/volkovlabs-dynamictext-panel)

## Feedback

We love to hear from users, developers, and the whole community interested in this plugin. These are various ways to get in touch with us:

- Ask a question, request a new feature, and file a bug with [GitHub issues](https://github.com/volkovlabs/volkovlabs-app/issues/new/choose).
- Sponsor our open-source plugins for Grafana with [GitHub Sponsor](https://github.com/sponsors/VolkovLabs).
- Star the repository to show your support.

## License
Expand Down
Binary file modified img/app.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
20 changes: 5 additions & 15 deletions src/components/Plugins/ApacheECharts.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,7 @@ export class ApacheECharts extends PureComponent {
return (
<Card>
<Card.Heading>Apache ECharts Panel</Card.Heading>
<Card.Description>
The ECharts Panel is a plugin for Grafana that allows to visualize Apache ECharts on your Grafana dashboard.
</Card.Description>
<Card.Description>Powerful charting and visualization library Apache ECharts.</Card.Description>
<Card.Figure>
<a
target="_blank"
Expand Down Expand Up @@ -46,7 +44,7 @@ export class ApacheECharts extends PureComponent {
</Card.Tags>
<Card.Actions>
<LinkButton
variant="secondary"
variant="primary"
icon="cloud-download"
target="_blank"
href="https://grafana.com/grafana/plugins/volkovlabs-echarts-panel/"
Expand All @@ -62,23 +60,15 @@ export class ApacheECharts extends PureComponent {
GitHub
</LinkButton>
<LinkButton
variant="secondary"
variant="destructive"
icon="play"
target="_blank"
href="https://www.youtube.com/playlist?list=PLPow72ygztmQHGWFqksEf3LebUfhqBfFu"
>
YouTube
</LinkButton>
<LinkButton
variant="secondary"
icon="file-alt"
target="_blank"
href="https://volkovlabs.com/the-missing-plugin-to-create-business-and-industrial-charts-in-grafana-1d8f7304229f"
>
Medium
YouTube Playlist
</LinkButton>
<LinkButton
variant="secondary"
variant="success"
icon="monitor"
target="_blank"
href="https://live.volkovlabs.io/d/tXQ9_367z/apache-echarts-panel?orgId=1"
Expand Down
18 changes: 6 additions & 12 deletions src/components/Plugins/Balena.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -9,15 +9,12 @@ export class Balena extends PureComponent {
return (
<Card>
<Card.Heading>Balena Application</Card.Heading>
<Card.Description>
The Balena Application plugin for Grafana allows to display device information and manage services using
Balena Supervisor API.
</Card.Description>
<Card.Description>Display device information and manage services using Balena Supervisor API.</Card.Description>
<Card.Figure>
<a
target="_blank"
rel="noreferrer"
href="https://github.com/volkovlabs/volkovlabs-balena-app"
href="https://volkovlabs.io/plugins/volkovlabs-balena-app"
title="Balena Application"
>
<svg id="Balena" width={40} height={40} viewBox="0 0 201 169">
Expand Down Expand Up @@ -51,26 +48,23 @@ export class Balena extends PureComponent {
GitHub
</LinkButton>
<LinkButton
variant="secondary"
variant="destructive"
icon="play"
target="_blank"
href="https://www.youtube.com/playlist?list=PLPow72ygztmRdzBPeQ16cwM7ZvPbXfyHv"
>
YouTube
</LinkButton>
<LinkButton variant="secondary" icon="file-alt" target="_blank" disabled>
Medium
YouTube Playlist
</LinkButton>
<LinkButton
variant="secondary"
variant="success"
icon="monitor"
target="_blank"
href="https://live.volkovlabs.io/d/8DuPr3e7z/balena-application?orgId=1"
>
Live
</LinkButton>
<LinkButton
variant="secondary"
variant="primary"
icon="compass"
target="_blank"
href="https://hub.balena.io/organizations/volkovlabs/projects/balena-app"
Expand Down
19 changes: 5 additions & 14 deletions src/components/Plugins/Base64Image.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,7 @@ export class Base64Image extends PureComponent {
<Card>
<Card.Heading>Base64 Image/Video/Audio/PDF Panel</Card.Heading>
<Card.Description>
The Base64 Image/Video/Audio/PDF Panel is a plugin for Grafana that displays raw and Base64 encoded files in
PNG, JPG, GIF, MP4, WEBM, MP3, OGG, PDF formats.
Display Base64 encoded files in PNG, JPG, GIF, MP4, WEBM, MP3, OGG, PDF formats.
</Card.Description>
<Card.Figure>
<a
Expand All @@ -37,7 +36,7 @@ export class Base64Image extends PureComponent {
</Card.Tags>
<Card.Actions>
<LinkButton
variant="secondary"
variant="primary"
icon="cloud-download"
target="_blank"
href="https://grafana.com/grafana/plugins/volkovlabs-image-panel/"
Expand All @@ -53,23 +52,15 @@ export class Base64Image extends PureComponent {
GitHub
</LinkButton>
<LinkButton
variant="secondary"
variant="destructive"
icon="play"
target="_blank"
href="https://www.youtube.com/playlist?list=PLPow72ygztmQjZ19D7wKHc_6VG3dCjkwo"
>
YouTube
</LinkButton>
<LinkButton
variant="secondary"
icon="file-alt"
target="_blank"
href="https://volkovlabs.com/display-base64-encoded-images-from-any-data-source-on-your-dashboard-398a99ba5b5e"
>
Medium
YouTube Playlist
</LinkButton>
<LinkButton
variant="secondary"
variant="success"
icon="monitor"
target="_blank"
href="https://live.volkovlabs.io/d/bN3aCqe7k/base64-image-pdf?orgId=1"
Expand Down
20 changes: 10 additions & 10 deletions src/components/Plugins/Calendar.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,7 @@ export class Calendar extends PureComponent {
return (
<Card>
<Card.Heading>Calendar Panel</Card.Heading>
<Card.Description>
The Calendar panel plugin for Grafana to display calendar events from data sources.
</Card.Description>
<Card.Description>Display calendar events and change time range.</Card.Description>
<Card.Figure>
<a
target="_blank"
Expand Down Expand Up @@ -54,7 +52,7 @@ export class Calendar extends PureComponent {
</Card.Tags>
<Card.Actions>
<LinkButton
variant="secondary"
variant="primary"
icon="cloud-download"
target="_blank"
href="https://grafana.com/grafana/plugins/marcusolsson-calendar-panel/"
Expand All @@ -69,14 +67,16 @@ export class Calendar extends PureComponent {
>
GitHub
</LinkButton>
<LinkButton variant="secondary" icon="play" target="_blank" href="" disabled>
YouTube
</LinkButton>
<LinkButton variant="secondary" icon="file-alt" target="_blank" href="" disabled>
Medium
<LinkButton
variant="destructive"
icon="play"
target="_blank"
href="https://www.youtube.com/playlist?list=PLPow72ygztmSBVo4p4V5RsCb0z_Rjqisp"
>
YouTube Playlist
</LinkButton>
<LinkButton
variant="secondary"
variant="success"
icon="monitor"
target="_blank"
href="https://live.volkovlabs.io/d/0fgJcb4Vz/calendar-panel?orgId=1"
Expand Down
21 changes: 5 additions & 16 deletions src/components/Plugins/DataManipulation.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,7 @@ export class DataManipulation extends PureComponent {
return (
<Card>
<Card.Heading>Data Manipulation Panel</Card.Heading>
<Card.Description>
The Data Manipulation Form Panel is a plugin for Grafana that can be used to insert, update application data,
and modify configuration directly from your Grafana dashboard.
</Card.Description>
<Card.Description>Insert, update application data, and modify configuration.</Card.Description>
<Card.Figure>
<a
target="_blank"
Expand Down Expand Up @@ -54,7 +51,7 @@ export class DataManipulation extends PureComponent {
</Card.Tags>
<Card.Actions>
<LinkButton
variant="secondary"
variant="primary"
icon="cloud-download"
target="_blank"
href="https://grafana.com/grafana/plugins/volkovlabs-form-panel/"
Expand All @@ -70,23 +67,15 @@ export class DataManipulation extends PureComponent {
GitHub
</LinkButton>
<LinkButton
variant="secondary"
variant="destructive"
icon="play"
target="_blank"
href="https://www.youtube.com/playlist?list=PLPow72ygztmRXSNBxyw0sFnnvNRY_CsSA"
>
YouTube
</LinkButton>
<LinkButton
variant="secondary"
icon="file-alt"
target="_blank"
href="https://volkovlabs.com/data-manipulation-panel-plugin-for-grafana-97f9af2c67e0"
>
Medium
YouTube Playlist
</LinkButton>
<LinkButton
variant="secondary"
variant="success"
icon="monitor"
target="_blank"
href="https://live.volkovlabs.io/d/h5IJk66nk/data-manipulation-panel?orgId=1"
Expand Down
74 changes: 74 additions & 0 deletions src/components/Plugins/DynamicText.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
import React, { PureComponent } from 'react';
import { Card, LinkButton, TagList } from '@grafana/ui';

/**
* Dynamic Text
*/
export class DynamicText extends PureComponent {
render() {
return (
<Card>
<Card.Heading>Dynamic Text Panel</Card.Heading>
<Card.Description>Dynamic, data-driven text.</Card.Description>
<Card.Figure>
<a
target="_blank"
rel="noreferrer"
href="https://volkovlabs.io/plugins/volkovlabs-dynamictext-panel/"
title="Dynamic Text"
>
<svg width={40} height={40} viewBox="0 0 95 95" fill="none" xmlns="http://www.w3.org/2000/svg">
<circle cx="47.5" cy="47.5" r="47.5" fill="#9D70F9" />
<path
d="M35.3045 76C33.6905 76 32.218 75.6063 30.8869 74.8188C29.5724 74.0313 28.5241 72.9757 27.7421 71.6521C26.9601 70.3117 26.5691 68.8289 26.5691 67.2037V61.0714C26.5524 60.619 26.3611 60.2504 25.995 59.9656C25.6456 59.664 25.2296 59.3959 24.7471 59.1614C24.2812 58.9101 23.8735 58.6168 23.5241 58.2817C23.1747 57.9467 23 57.5194 23 57C23 56.4974 23.1747 56.0785 23.5241 55.7434C23.8735 55.4083 24.2812 55.1151 24.7471 54.8638C25.2296 54.5957 25.6456 54.3192 25.995 54.0344C26.3611 53.7328 26.5524 53.381 26.5691 52.9788V46.7963C26.5691 45.1878 26.9601 43.7218 27.7421 42.3982C28.5241 41.0578 29.5724 39.9938 30.8869 39.2063C32.218 38.4021 33.6905 38 35.3045 38H38V44.1323H35.3045C34.822 44.1323 34.381 44.2496 33.9817 44.4841C33.5824 44.7187 33.2579 45.0454 33.0083 45.4643C32.7754 45.8664 32.6589 46.3104 32.6589 46.7963V53.1799C32.6256 53.7496 32.4509 54.2355 32.1348 54.6376C31.8353 55.0229 31.5025 55.3999 31.1364 55.7685C30.7704 56.1204 30.4792 56.5309 30.2629 57C30.4958 57.5194 30.787 57.955 31.1364 58.3069C31.5025 58.6587 31.8353 59.0273 32.1348 59.4127C32.4509 59.7813 32.6256 60.2504 32.6589 60.8201V67.2037C32.6589 67.7064 32.7754 68.1587 33.0083 68.5608C33.2413 68.963 33.5574 69.2813 33.9567 69.5159C34.3561 69.7504 34.8053 69.8677 35.3045 69.8677H38V76H35.3045Z"
fill="white"
/>
<path
d="M59 76V69.8677H61.6955C62.178 69.8677 62.619 69.7504 63.0183 69.5159C63.4176 69.2813 63.7338 68.963 63.9667 68.5608C64.2163 68.1587 64.3411 67.7064 64.3411 67.2037V60.8201C64.3744 60.2504 64.5408 59.7813 64.8403 59.4127C65.1398 59.0273 65.4725 58.6587 65.8386 58.3069C66.2047 57.955 66.4958 57.5194 66.7121 57C66.4958 56.5309 66.2047 56.1204 65.8386 55.7685C65.4892 55.3999 65.1564 55.0229 64.8403 54.6376C64.5408 54.2355 64.3744 53.7496 64.3411 53.1799V46.7963C64.3411 46.3104 64.2163 45.8664 63.9667 45.4643C63.7338 45.0454 63.4176 44.7187 63.0183 44.4841C62.619 44.2496 62.178 44.1323 61.6955 44.1323H59V38H61.6955C63.3095 38 64.7737 38.4021 66.0882 39.2063C67.4193 39.9938 68.4759 41.0578 69.2579 42.3982C70.0399 43.7218 70.4309 45.1878 70.4309 46.7963V52.9788C70.4476 53.381 70.6306 53.7328 70.98 54.0344C71.3295 54.3192 71.7371 54.5957 72.203 54.8638C72.6855 55.1151 73.1015 55.4083 73.4509 55.7434C73.817 56.0785 74 56.4974 74 57C74 57.5194 73.817 57.9467 73.4509 58.2817C73.1015 58.6168 72.6855 58.9101 72.203 59.1614C71.7371 59.3959 71.3295 59.664 70.98 59.9656C70.6306 60.2504 70.4476 60.619 70.4309 61.0714V67.2037C70.4309 68.8289 70.0399 70.3117 69.2579 71.6521C68.4759 72.9757 67.4193 74.0313 66.0882 74.8188C64.7737 75.6063 63.3095 76 61.6955 76H59Z"
fill="white"
/>
<path d="M26.8242 31.7046V22.353H70.4125V31.7046H54.164V76.0001H43.0726V31.7046H26.8242Z" fill="white" />
</svg>
</a>
</Card.Figure>
<Card.Tags>
<TagList tags={['Panel']} />
</Card.Tags>
<Card.Actions>
<LinkButton
variant="primary"
icon="cloud-download"
target="_blank"
href="https://grafana.com/grafana/plugins/marcusolsson-dynamictext-panel/"
>
Grafana Catalog
</LinkButton>
<LinkButton
variant="secondary"
icon="star"
target="_blank"
href="https://github.com/volkovlabs/volkovlabs-dynamictext-panel"
>
GitHub
</LinkButton>
<LinkButton
variant="destructive"
icon="play"
target="_blank"
href="https://www.youtube.com/playlist?list=PLPow72ygztmSRxDiDIAdXNIqD_RxLRjcW"
>
YouTube Playlist
</LinkButton>
<LinkButton
variant="success"
icon="monitor"
target="_blank"
href="https://live.volkovlabs.io/d/2L2sYjVVz/dynamic-text-panel?orgId=1"
>
Live
</LinkButton>
</Card.Actions>
</Card>
);
}
}
Loading

0 comments on commit 4f6a95d

Please sign in to comment.