From 4cd7277cba2489b0ae531b0201bd626bc7d86021 Mon Sep 17 00:00:00 2001 From: alexpaxton Date: Fri, 14 Aug 2020 17:27:56 -0700 Subject: [PATCH] Revert "feat(ui): redesign load data page (#19246)" (#19336) This reverts commit 67857f25ae39496696a0b2f52afe014c97436a6d. --- CHANGELOG.md | 1 - ui/cypress/e2e/clientLibraries.test.ts | 68 + ui/cypress/e2e/explorer.test.ts | 7 +- ui/cypress/e2e/loadDataSources.test.ts | 50 - ui/global.d.ts | 18 +- ui/index.d.ts | 11 +- ui/package.json | 2 +- .../components/ViewTokenOverlay.tsx | 2 +- .../authorizations/containers/TokensIndex.tsx | 19 +- ui/src/buckets/containers/BucketsIndex.tsx | 22 +- .../components/ClientArduinoOverlay.tsx | 98 + .../components/ClientCSharpOverlay.tsx | 113 + .../components/ClientGoOverlay.tsx | 86 + .../components/ClientJSOverlay.tsx | 84 + .../components/ClientJavaOverlay.tsx | 104 + .../components/ClientKotlinOverlay.tsx | 83 + .../components/ClientLibraries.tsx | 70 + .../components/ClientLibraryOverlay.scss | 26 + .../components/ClientLibraryOverlay.tsx | 52 + .../components/ClientPHPOverlay.tsx | 100 + .../components/ClientPythonOverlay.tsx | 100 + .../components/ClientRubyOverlay.tsx | 103 + .../components/ClientScalaOverlay.tsx | 86 + ui/src/clientLibraries/constants/index.ts | 692 +++ .../containers/ClientLibrariesPage.tsx | 76 + .../clientLibraries/graphics/ArduinoLogo.tsx | 85 + .../clientLibraries/graphics/CSharpLogo.tsx | 98 + .../clientLibraries/graphics/GithubLogo.tsx | 18 + ui/src/clientLibraries/graphics/GoLogo.tsx | 87 + .../graphics/GoogleLogo.tsx | 0 ui/src/clientLibraries/graphics/JSLogo.tsx | 152 + ui/src/clientLibraries/graphics/JavaLogo.tsx | 106 + .../clientLibraries/graphics/KotlinLogo.tsx | 65 + ui/src/clientLibraries/graphics/PHPLogo.tsx | 36 + .../clientLibraries/graphics/PythonLogo.tsx | 45 + ui/src/clientLibraries/graphics/RubyLogo.tsx | 37 + ui/src/clientLibraries/graphics/ScalaLogo.tsx | 94 + ui/src/clientLibraries/graphics/index.ts | 27 + .../containers/LoginPageContents.tsx | 2 +- .../constants/navigationHierarchy.ts | 20 +- ui/src/scrapers/containers/ScrapersIndex.tsx | 18 +- .../components/LoadDataNavigation.tsx | 12 +- .../components/LoadDataTabbedPage.tsx | 51 +- ui/src/shared/components/CodeSnippet.tsx | 6 +- ui/src/shared/components/CopyButton.tsx | 38 +- ui/src/shared/components/views/Markdown.scss | 12 +- ui/src/shared/constants/routes.ts | 10 +- ui/src/shared/containers/SetOrg.tsx | 43 +- ui/src/shared/selectors/flags.ts | 10 - ui/src/style/chronograf.scss | 1 + ui/src/telegrafs/containers/TelegrafsPage.tsx | 21 +- .../components/WriteDataCodeSnippet.tsx | 58 - .../components/WriteDataDetailsContext.tsx | 95 - .../components/WriteDataDetailsView.scss | 102 - .../components/WriteDataDetailsView.tsx | 79 - .../writeData/components/WriteDataHelper.tsx | 73 - .../components/WriteDataHelperBuckets.tsx | 51 - .../components/WriteDataHelperTokens.tsx | 51 - .../components/WriteDataIndexView.tsx | 46 - .../writeData/components/WriteDataItem.scss | 20 - ui/src/writeData/components/WriteDataItem.tsx | 70 - .../components/WriteDataSearchBar.tsx | 28 - .../writeData/components/WriteDataSection.tsx | 73 - .../components/WriteDataSections.tsx | 55 - .../components/clientLibraries/Arduino.md | 186 - .../components/clientLibraries/CSharp.md | 104 - .../clientLibraries/ClientLibrariesIndex.tsx | 19 - .../components/clientLibraries/Go.md | 89 - .../components/clientLibraries/Java.md | 108 - .../components/clientLibraries/Kotlin.md | 65 - .../components/clientLibraries/Node.md | 64 - .../components/clientLibraries/PHP.md | 66 - .../components/clientLibraries/Python.md | 60 - .../components/clientLibraries/Ruby.md | 79 - .../components/clientLibraries/Scala.md | 83 - .../TelegrafPluginsExplainer.tsx | 43 - .../telegrafPlugins/TelegrafPluginsIndex.tsx | 19 - .../components/telegrafPlugins/activemq.md | 88 - .../components/telegrafPlugins/aerospike.md | 76 - .../telegrafPlugins/amqp_consumer.md | 93 - .../components/telegrafPlugins/apache.md | 84 - .../components/telegrafPlugins/apcupsd.md | 54 - .../components/telegrafPlugins/aurora.md | 63 - .../telegrafPlugins/azure_storage_queue.md | 35 - .../components/telegrafPlugins/bcache.md | 89 - .../components/telegrafPlugins/beanstalkd.md | 98 - .../components/telegrafPlugins/bind.md | 118 - .../components/telegrafPlugins/bond.md | 85 - .../components/telegrafPlugins/burrow.md | 102 - .../components/telegrafPlugins/cassandra.md | 127 - .../components/telegrafPlugins/ceph.md | 386 -- .../components/telegrafPlugins/cgroup.md | 72 - .../components/telegrafPlugins/chrony.md | 93 - .../telegrafPlugins/cisco_telemetry_mdt.md | 44 - .../components/telegrafPlugins/clickhouse.md | 205 - .../telegrafPlugins/cloud_pubsub.md | 98 - .../telegrafPlugins/cloud_pubsub_push.md | 72 - .../components/telegrafPlugins/cloudwatch.md | 213 - .../components/telegrafPlugins/conntrack.md | 56 - .../components/telegrafPlugins/consul.md | 67 - .../components/telegrafPlugins/couchbase.md | 53 - .../components/telegrafPlugins/couchdb.md | 79 - .../components/telegrafPlugins/cpu.md | 67 - .../components/telegrafPlugins/dcos.md | 216 - .../components/telegrafPlugins/disk.md | 76 - .../components/telegrafPlugins/diskio.md | 137 - .../components/telegrafPlugins/disque.md | 38 - .../components/telegrafPlugins/dmcache.md | 47 - .../components/telegrafPlugins/dns_query.md | 73 - .../components/telegrafPlugins/docker.md | 339 -- .../components/telegrafPlugins/docker_log.md | 99 - .../components/telegrafPlugins/dovecot.md | 71 - .../components/telegrafPlugins/ecs.md | 246 - .../telegrafPlugins/elasticsearch.md | 852 ---- .../components/telegrafPlugins/ethtool.md | 33 - .../telegrafPlugins/eventhub_consumer.md | 98 - .../components/telegrafPlugins/exec.md | 65 - .../components/telegrafPlugins/execd.md | 122 - .../components/telegrafPlugins/fail2ban.md | 68 - .../components/telegrafPlugins/fibaro.md | 57 - .../components/telegrafPlugins/file.md | 29 - .../components/telegrafPlugins/filecount.md | 59 - .../components/telegrafPlugins/filestat.md | 39 - .../components/telegrafPlugins/fireboard.md | 58 - .../components/telegrafPlugins/fluentd.md | 64 - .../components/telegrafPlugins/github.md | 64 - .../components/telegrafPlugins/gnmi.md | 73 - .../components/telegrafPlugins/graylog.md | 55 - .../components/telegrafPlugins/haproxy.md | 116 - .../components/telegrafPlugins/hddtemp.md | 41 - .../components/telegrafPlugins/http.md | 66 - .../telegrafPlugins/http_listener_v2.md | 85 - .../telegrafPlugins/http_response.md | 112 - .../components/telegrafPlugins/httpjson.md | 135 - .../components/telegrafPlugins/icinga2.md | 66 - .../components/telegrafPlugins/infiniband.md | 58 - .../components/telegrafPlugins/influxdb.md | 127 - .../telegrafPlugins/influxdb_listener.md | 79 - .../components/telegrafPlugins/internal.md | 88 - .../components/telegrafPlugins/interrupts.md | 83 - .../components/telegrafPlugins/ipmi_sensor.md | 144 - .../components/telegrafPlugins/ipset.md | 71 - .../components/telegrafPlugins/iptables.md | 96 - .../components/telegrafPlugins/ipvs.md | 83 - .../components/telegrafPlugins/jenkins.md | 112 - .../components/telegrafPlugins/jolokia.md | 73 - .../components/telegrafPlugins/jolokia2.md | 186 - .../jti_openconfig_telemetry.md | 63 - .../telegrafPlugins/kafka_consumer.md | 77 - .../telegrafPlugins/kafka_consumer_legacy.md | 43 - .../components/telegrafPlugins/kapacitor.md | 376 -- .../components/telegrafPlugins/kernel.md | 71 - .../telegrafPlugins/kernel_vmstat.md | 225 - .../components/telegrafPlugins/kibana.md | 55 - .../telegrafPlugins/kinesis_consumer.md | 90 - .../telegrafPlugins/kube_inventory.md | 313 -- .../components/telegrafPlugins/kubernetes.md | 166 - .../components/telegrafPlugins/lanz.md | 87 - .../components/telegrafPlugins/leofs.md | 251 -- .../telegrafPlugins/linux_sysctl_fs.md | 9 - .../components/telegrafPlugins/logparser.md | 104 - .../components/telegrafPlugins/logstash.md | 154 - .../components/telegrafPlugins/lustre2.md | 133 - .../components/telegrafPlugins/mailchimp.md | 59 - .../components/telegrafPlugins/marklogic.md | 64 - .../components/telegrafPlugins/mcrouter.md | 103 - .../components/telegrafPlugins/mem.md | 61 - .../components/telegrafPlugins/memcached.md | 84 - .../components/telegrafPlugins/mesos.md | 350 -- .../components/telegrafPlugins/minecraft.md | 84 - .../components/telegrafPlugins/modbus.md | 135 - .../components/telegrafPlugins/mongodb.md | 275 -- .../components/telegrafPlugins/monit.md | 235 - .../telegrafPlugins/mqtt_consumer.md | 84 - .../components/telegrafPlugins/multifile.md | 68 - .../components/telegrafPlugins/mysql.md | 337 -- .../components/telegrafPlugins/nats.md | 42 - .../telegrafPlugins/nats_consumer.md | 63 - .../telegrafPlugins/neptune_apex.md | 149 - .../telegrafPlugins/net_response.md | 56 - .../components/telegrafPlugins/nginx.md | 57 - .../components/telegrafPlugins/nginx_plus.md | 124 - .../telegrafPlugins/nginx_plus_api.md | 255 -- .../components/telegrafPlugins/nginx_sts.md | 116 - .../telegrafPlugins/nginx_upstream_check.md | 75 - .../components/telegrafPlugins/nginx_vts.md | 121 - .../components/telegrafPlugins/nsq.md | 17 - .../telegrafPlugins/nsq_consumer.md | 41 - .../components/telegrafPlugins/nstat.md | 345 -- .../components/telegrafPlugins/ntpq.md | 60 - .../components/telegrafPlugins/nvidia_smi.md | 89 - .../components/telegrafPlugins/openldap.md | 98 - .../components/telegrafPlugins/openntpd.md | 93 - .../components/telegrafPlugins/opensmtpd.md | 103 - .../telegrafPlugins/openweathermap.md | 82 - .../components/telegrafPlugins/passenger.md | 108 - .../components/telegrafPlugins/pf.md | 83 - .../components/telegrafPlugins/pgbouncer.md | 82 - .../components/telegrafPlugins/phpfpm.md | 71 - .../components/telegrafPlugins/ping.md | 174 - .../components/telegrafPlugins/postfix.md | 61 - .../components/telegrafPlugins/postgresql.md | 64 - .../telegrafPlugins/postgresql_extensible.md | 246 - .../components/telegrafPlugins/powerdns.md | 78 - .../telegrafPlugins/powerdns_recursor.md | 163 - .../components/telegrafPlugins/processes.md | 63 - .../components/telegrafPlugins/procstat.md | 173 - .../components/telegrafPlugins/prometheus.md | 171 - .../components/telegrafPlugins/proxmox.md | 62 - .../components/telegrafPlugins/puppetagent.md | 132 - .../components/telegrafPlugins/rabbitmq.md | 229 - .../components/telegrafPlugins/raindrops.md | 49 - .../components/telegrafPlugins/redfish.md | 127 - .../components/telegrafPlugins/redis.md | 188 - .../components/telegrafPlugins/rethinkdb.md | 61 - .../components/telegrafPlugins/riak.md | 78 - .../components/telegrafPlugins/salesforce.md | 48 - .../components/telegrafPlugins/sensors.md | 50 - .../components/telegrafPlugins/sflow.md | 121 - .../components/telegrafPlugins/smart.md | 173 - .../components/telegrafPlugins/snmp.md | 221 - .../components/telegrafPlugins/snmp_legacy.md | 549 --- .../components/telegrafPlugins/snmp_trap.md | 102 - .../telegrafPlugins/socket_listener.md | 142 - .../components/telegrafPlugins/solr.md | 37 - .../components/telegrafPlugins/sqlserver.md | 190 - .../components/telegrafPlugins/stackdriver.md | 162 - .../components/telegrafPlugins/statsd.md | 238 - .../components/telegrafPlugins/suricata.md | 140 - .../components/telegrafPlugins/swap.md | 30 - .../components/telegrafPlugins/synproxy.md | 49 - .../components/telegrafPlugins/syslog.md | 163 - .../components/telegrafPlugins/sysstat.md | 442 -- .../components/telegrafPlugins/system.md | 38 - .../telegrafPlugins/systemd_units.md | 135 - .../components/telegrafPlugins/tail.md | 70 - .../telegrafPlugins/tcp_listener.md | 4 - .../components/telegrafPlugins/teamspeak.md | 45 - .../components/telegrafPlugins/temp.md | 39 - .../components/telegrafPlugins/tengine.md | 71 - .../components/telegrafPlugins/tomcat.md | 77 - .../telegrafPlugins/udp_listener.md | 4 - .../components/telegrafPlugins/unbound.md | 155 - .../components/telegrafPlugins/uwsgi.md | 92 - .../components/telegrafPlugins/varnish.md | 407 -- .../components/telegrafPlugins/vsphere.md | 525 --- .../components/telegrafPlugins/webhooks.md | 61 - .../telegrafPlugins/win_perf_counters.md | 407 -- .../telegrafPlugins/win_services.md | 69 - .../components/telegrafPlugins/wireguard.md | 73 - .../components/telegrafPlugins/wireless.md | 38 - .../components/telegrafPlugins/x509_cert.md | 62 - .../components/telegrafPlugins/zfs.md | 329 -- .../components/telegrafPlugins/zipkin.md | 167 - .../components/telegrafPlugins/zookeeper.md | 85 - .../constants/contentClientLibraries.ts | 112 - .../constants/contentDeveloperTools.ts | 23 - .../writeData/constants/contentFluxSources.ts | 23 - .../constants/contentIntegrations.ts | 23 - .../constants/contentTelegrafPlugins.ts | 1625 ------- ui/src/writeData/constants/index.ts | 54 - .../containers/ClientLibrariesPage.tsx | 45 - .../containers/TelegrafPluginsPage.tsx | 49 - ui/src/writeData/containers/WriteDataPage.tsx | 42 - ui/src/writeData/graphics/activemq.svg | 1 - ui/src/writeData/graphics/aerospike.svg | 1 - ui/src/writeData/graphics/amqp_consumer.svg | 15 - ui/src/writeData/graphics/apache.svg | 1 - ui/src/writeData/graphics/apcupsd.svg | 69 - ui/src/writeData/graphics/arduinoLogo.svg | 33 - ui/src/writeData/graphics/aurora.svg | 1 - .../graphics/azure_storage_queue.svg | 1 - ui/src/writeData/graphics/bcache.svg | 1532 ------- ui/src/writeData/graphics/beanstalkd.svg | 121 - ui/src/writeData/graphics/bind.svg | 20 - ui/src/writeData/graphics/bond.svg | 1532 ------- ui/src/writeData/graphics/burrow.svg | 21 - ui/src/writeData/graphics/cassandra.svg | 1 - ui/src/writeData/graphics/ceph.svg | 58 - ui/src/writeData/graphics/cgroup.svg | 1532 ------- ui/src/writeData/graphics/chrony.svg | 1532 ------- .../graphics/cisco_telemetry_mdt.svg | 1 - ui/src/writeData/graphics/clickhouse.svg | 1 - ui/src/writeData/graphics/cloud_pubsub.svg | 23 - .../writeData/graphics/cloud_pubsub_push.svg | 23 - ui/src/writeData/graphics/cloudwatch.svg | 1 - ui/src/writeData/graphics/conntrack.svg | 56 - ui/src/writeData/graphics/consul.svg | 1 - ui/src/writeData/graphics/couchbase.svg | 37 - ui/src/writeData/graphics/couchdb.svg | 54 - ui/src/writeData/graphics/cpu.svg | 53 - ui/src/writeData/graphics/csharpLogo.svg | 31 - ui/src/writeData/graphics/dcos.svg | 1 - ui/src/writeData/graphics/disk.svg | 11 - ui/src/writeData/graphics/diskio.svg | 11 - ui/src/writeData/graphics/disque.svg | 26 - ui/src/writeData/graphics/dmcache.svg | 1532 ------- ui/src/writeData/graphics/dns_query.svg | 28 - ui/src/writeData/graphics/docker.svg | 84 - ui/src/writeData/graphics/docker_log.svg | 84 - ui/src/writeData/graphics/dovecot.svg | 38 - ui/src/writeData/graphics/ecs.svg | 25 - ui/src/writeData/graphics/elasticsearch.svg | 23 - ui/src/writeData/graphics/ethtool.svg | 1532 ------- .../writeData/graphics/eventhub_consumer.svg | 1 - ui/src/writeData/graphics/exec.svg | 19 - ui/src/writeData/graphics/execd.svg | 19 - ui/src/writeData/graphics/fail2ban.svg | 14 - ui/src/writeData/graphics/fibaro.svg | 17 - ui/src/writeData/graphics/file.svg | 10 - ui/src/writeData/graphics/filecount.svg | 10 - ui/src/writeData/graphics/filestat.svg | 10 - ui/src/writeData/graphics/fireboard.svg | 68 - ui/src/writeData/graphics/fluentd.svg | 1 - ui/src/writeData/graphics/github.svg | 15 - ui/src/writeData/graphics/gnmi.svg | 1 - ui/src/writeData/graphics/goLogo.svg | 54 - ui/src/writeData/graphics/graylog.svg | 1 - ui/src/writeData/graphics/haproxy.svg | 1 - ui/src/writeData/graphics/hddtemp.svg | 11 - ui/src/writeData/graphics/http.svg | 20 - .../writeData/graphics/http_listener_v2.svg | 20 - ui/src/writeData/graphics/http_response.svg | 20 - ui/src/writeData/graphics/httpjson.svg | 1 - ui/src/writeData/graphics/icigna2.svg | 87 - ui/src/writeData/graphics/icinga2.svg | 100 - ui/src/writeData/graphics/infiniband.svg | 90 - ui/src/writeData/graphics/influxdb.svg | 21 - .../writeData/graphics/influxdb_listener.svg | 21 - ui/src/writeData/graphics/inputs.svg | 35 - ui/src/writeData/graphics/internal.svg | 21 - ui/src/writeData/graphics/interrupts.svg | 1532 ------- ui/src/writeData/graphics/ipmi_sensor.svg | 11 - ui/src/writeData/graphics/ipset.svg | 1532 ------- ui/src/writeData/graphics/iptables.svg | 1532 ------- ui/src/writeData/graphics/ipvs.svg | 1532 ------- ui/src/writeData/graphics/javaLogo.svg | 39 - ui/src/writeData/graphics/jenkins.svg | 1 - ui/src/writeData/graphics/jolokia.svg | 49 - ui/src/writeData/graphics/jolokia2.svg | 49 - .../graphics/jti_openconfig_telemetry.svg | 14 - ui/src/writeData/graphics/kafka_consumer.svg | 21 - .../graphics/kafka_consumer_legacy.svg | 21 - ui/src/writeData/graphics/kapacitor.svg | 21 - ui/src/writeData/graphics/kernel.svg | 1532 ------- ui/src/writeData/graphics/kernel_vmstat.svg | 1532 ------- ui/src/writeData/graphics/kibana.svg | 1 - .../writeData/graphics/kinesis_consumer.svg | 1 - ui/src/writeData/graphics/kotlinLogo.svg | 35 - ui/src/writeData/graphics/kube_inventory.svg | 1 - ui/src/writeData/graphics/kubernetes.svg | 1 - ui/src/writeData/graphics/lanz.svg | 16 - ui/src/writeData/graphics/leofs.svg | 85 - ui/src/writeData/graphics/linux_sysctl_fs.svg | 1532 ------- ui/src/writeData/graphics/logparser.svg | 61 - ui/src/writeData/graphics/logstash.svg | 1 - ui/src/writeData/graphics/lustre2.svg | 11 - ui/src/writeData/graphics/mailchimp.svg | 1 - ui/src/writeData/graphics/marklogic.svg | 77 - ui/src/writeData/graphics/mcrouter.svg | 20 - ui/src/writeData/graphics/mem.svg | 12 - ui/src/writeData/graphics/memcached.svg | 1 - ui/src/writeData/graphics/mesos.svg | 1 - ui/src/writeData/graphics/minecraft.svg | 1 - ui/src/writeData/graphics/modbus.svg | 1 - ui/src/writeData/graphics/mongodb.svg | 1 - ui/src/writeData/graphics/monit.svg | 80 - ui/src/writeData/graphics/mqtt_consumer.svg | 35 - ui/src/writeData/graphics/multifile.svg | 93 - ui/src/writeData/graphics/mysql.svg | 1 - ui/src/writeData/graphics/nats.svg | 1 - ui/src/writeData/graphics/nats_consumer.svg | 1 - ui/src/writeData/graphics/neptune_apex.svg | 306 -- ui/src/writeData/graphics/net_response.svg | 14 - ui/src/writeData/graphics/nginx.svg | 1 - ui/src/writeData/graphics/nginx_plus.svg | 1 - ui/src/writeData/graphics/nginx_plus_api.svg | 1 - ui/src/writeData/graphics/nginx_sts.svg | 1 - .../graphics/nginx_upstream_check.svg | 1 - ui/src/writeData/graphics/nginx_vts.svg | 1 - ui/src/writeData/graphics/nodeLogo.svg | 104 - ui/src/writeData/graphics/nsq.svg | 21 - ui/src/writeData/graphics/nsq_consumer.svg | 21 - ui/src/writeData/graphics/nstat.svg | 1532 ------- ui/src/writeData/graphics/ntpq.svg | 11 - ui/src/writeData/graphics/nvidia_smi.svg | 24 - ui/src/writeData/graphics/openldap.svg | 3961 ----------------- ui/src/writeData/graphics/openntpd.svg | 11 - ui/src/writeData/graphics/opensmtpd.svg | 10 - ui/src/writeData/graphics/openweathermap.svg | 25 - ui/src/writeData/graphics/papertrail.svg | 35 - ui/src/writeData/graphics/particle.svg | 35 - ui/src/writeData/graphics/passenger.svg | 1 - ui/src/writeData/graphics/pf.svg | 1 - ui/src/writeData/graphics/pgbouncer.svg | 14 - ui/src/writeData/graphics/phpLogo.svg | 18 - ui/src/writeData/graphics/phpfpm.svg | 19 - ui/src/writeData/graphics/ping.svg | 33 - ui/src/writeData/graphics/placeholderLogo.svg | 35 - ui/src/writeData/graphics/postfix.svg | 22 - ui/src/writeData/graphics/postgresql.svg | 1 - .../graphics/postgresql_extensible.svg | 1 - ui/src/writeData/graphics/powerdns.svg | 1 - .../writeData/graphics/powerdns_recursor.svg | 1 - ui/src/writeData/graphics/processes.svg | 12 - ui/src/writeData/graphics/procstat.svg | 12 - ui/src/writeData/graphics/prometheus.svg | 1 - ui/src/writeData/graphics/proxmox.svg | 101 - ui/src/writeData/graphics/puppetagent.svg | 130 - ui/src/writeData/graphics/pythonLogo.svg | 29 - ui/src/writeData/graphics/rabbitmq.svg | 15 - ui/src/writeData/graphics/raindrops.svg | 30 - ui/src/writeData/graphics/redfish.svg | 13 - ui/src/writeData/graphics/redis.svg | 1 - ui/src/writeData/graphics/rethinkdb.svg | 74 - ui/src/writeData/graphics/riak.svg | 28 - ui/src/writeData/graphics/rubyLogo.svg | 177 - ui/src/writeData/graphics/salesforce.svg | 1 - ui/src/writeData/graphics/scalaLogo.svg | 46 - ui/src/writeData/graphics/sensors.svg | 1532 ------- ui/src/writeData/graphics/sflow.svg | 28 - ui/src/writeData/graphics/smart.svg | 11 - ui/src/writeData/graphics/snmp.svg | 25 - ui/src/writeData/graphics/snmp_legacy.svg | 25 - ui/src/writeData/graphics/snmp_trap.svg | 25 - ui/src/writeData/graphics/socket_listener.svg | 26 - ui/src/writeData/graphics/solr.svg | 40 - ui/src/writeData/graphics/sqlserver.svg | 201 - ui/src/writeData/graphics/stackdriver.svg | 1 - ui/src/writeData/graphics/statsd.svg | 12 - ui/src/writeData/graphics/suricata.svg | 16 - ui/src/writeData/graphics/swap.svg | 11 - ui/src/writeData/graphics/synproxy.svg | 32 - ui/src/writeData/graphics/syslog.svg | 11 - ui/src/writeData/graphics/sysstat.svg | 1532 ------- ui/src/writeData/graphics/system.svg | 11 - ui/src/writeData/graphics/systemd_units.svg | 1532 ------- ui/src/writeData/graphics/tail.svg | 11 - ui/src/writeData/graphics/tcp_listener.svg | 26 - ui/src/writeData/graphics/teamspeak.svg | 1 - ui/src/writeData/graphics/temp.svg | 16 - ui/src/writeData/graphics/tengine.svg | 1 - ui/src/writeData/graphics/tomcat.svg | 1 - ui/src/writeData/graphics/udp_listener.svg | 26 - ui/src/writeData/graphics/unbound.svg | 61 - ui/src/writeData/graphics/uwsgi.svg | 46 - ui/src/writeData/graphics/varnish.svg | 1 - ui/src/writeData/graphics/vsphere.svg | 33 - ui/src/writeData/graphics/webhooks.svg | 1 - .../writeData/graphics/win_perf_counters.svg | 1 - ui/src/writeData/graphics/win_services.svg | 1 - ui/src/writeData/graphics/wireguard.svg | 2 - ui/src/writeData/graphics/wireless.svg | 11 - ui/src/writeData/graphics/x509_cert.svg | 50 - ui/src/writeData/graphics/zfs.svg | 22 - ui/src/writeData/graphics/zipkin.svg | 56 - ui/src/writeData/graphics/zookeeper.svg | 1035 ----- ui/tsconfig.test.json | 2 - ui/webpack.common.ts | 4 - ui/yarn.lock | 2 +- 460 files changed, 2928 insertions(+), 61690 deletions(-) create mode 100644 ui/cypress/e2e/clientLibraries.test.ts delete mode 100644 ui/cypress/e2e/loadDataSources.test.ts create mode 100644 ui/src/clientLibraries/components/ClientArduinoOverlay.tsx create mode 100644 ui/src/clientLibraries/components/ClientCSharpOverlay.tsx create mode 100644 ui/src/clientLibraries/components/ClientGoOverlay.tsx create mode 100644 ui/src/clientLibraries/components/ClientJSOverlay.tsx create mode 100644 ui/src/clientLibraries/components/ClientJavaOverlay.tsx create mode 100644 ui/src/clientLibraries/components/ClientKotlinOverlay.tsx create mode 100644 ui/src/clientLibraries/components/ClientLibraries.tsx create mode 100644 ui/src/clientLibraries/components/ClientLibraryOverlay.scss create mode 100644 ui/src/clientLibraries/components/ClientLibraryOverlay.tsx create mode 100644 ui/src/clientLibraries/components/ClientPHPOverlay.tsx create mode 100644 ui/src/clientLibraries/components/ClientPythonOverlay.tsx create mode 100644 ui/src/clientLibraries/components/ClientRubyOverlay.tsx create mode 100644 ui/src/clientLibraries/components/ClientScalaOverlay.tsx create mode 100644 ui/src/clientLibraries/constants/index.ts create mode 100644 ui/src/clientLibraries/containers/ClientLibrariesPage.tsx create mode 100644 ui/src/clientLibraries/graphics/ArduinoLogo.tsx create mode 100644 ui/src/clientLibraries/graphics/CSharpLogo.tsx create mode 100644 ui/src/clientLibraries/graphics/GithubLogo.tsx create mode 100644 ui/src/clientLibraries/graphics/GoLogo.tsx rename ui/src/{shared => clientLibraries}/graphics/GoogleLogo.tsx (100%) create mode 100644 ui/src/clientLibraries/graphics/JSLogo.tsx create mode 100644 ui/src/clientLibraries/graphics/JavaLogo.tsx create mode 100644 ui/src/clientLibraries/graphics/KotlinLogo.tsx create mode 100644 ui/src/clientLibraries/graphics/PHPLogo.tsx create mode 100644 ui/src/clientLibraries/graphics/PythonLogo.tsx create mode 100644 ui/src/clientLibraries/graphics/RubyLogo.tsx create mode 100644 ui/src/clientLibraries/graphics/ScalaLogo.tsx create mode 100644 ui/src/clientLibraries/graphics/index.ts delete mode 100644 ui/src/writeData/components/WriteDataCodeSnippet.tsx delete mode 100644 ui/src/writeData/components/WriteDataDetailsContext.tsx delete mode 100644 ui/src/writeData/components/WriteDataDetailsView.scss delete mode 100644 ui/src/writeData/components/WriteDataDetailsView.tsx delete mode 100644 ui/src/writeData/components/WriteDataHelper.tsx delete mode 100644 ui/src/writeData/components/WriteDataHelperBuckets.tsx delete mode 100644 ui/src/writeData/components/WriteDataHelperTokens.tsx delete mode 100644 ui/src/writeData/components/WriteDataIndexView.tsx delete mode 100644 ui/src/writeData/components/WriteDataItem.scss delete mode 100644 ui/src/writeData/components/WriteDataItem.tsx delete mode 100644 ui/src/writeData/components/WriteDataSearchBar.tsx delete mode 100644 ui/src/writeData/components/WriteDataSection.tsx delete mode 100644 ui/src/writeData/components/WriteDataSections.tsx delete mode 100644 ui/src/writeData/components/clientLibraries/Arduino.md delete mode 100644 ui/src/writeData/components/clientLibraries/CSharp.md delete mode 100644 ui/src/writeData/components/clientLibraries/ClientLibrariesIndex.tsx delete mode 100644 ui/src/writeData/components/clientLibraries/Go.md delete mode 100644 ui/src/writeData/components/clientLibraries/Java.md delete mode 100644 ui/src/writeData/components/clientLibraries/Kotlin.md delete mode 100644 ui/src/writeData/components/clientLibraries/Node.md delete mode 100644 ui/src/writeData/components/clientLibraries/PHP.md delete mode 100644 ui/src/writeData/components/clientLibraries/Python.md delete mode 100644 ui/src/writeData/components/clientLibraries/Ruby.md delete mode 100644 ui/src/writeData/components/clientLibraries/Scala.md delete mode 100644 ui/src/writeData/components/telegrafPlugins/TelegrafPluginsExplainer.tsx delete mode 100644 ui/src/writeData/components/telegrafPlugins/TelegrafPluginsIndex.tsx delete mode 100644 ui/src/writeData/components/telegrafPlugins/activemq.md delete mode 100644 ui/src/writeData/components/telegrafPlugins/aerospike.md delete mode 100644 ui/src/writeData/components/telegrafPlugins/amqp_consumer.md delete mode 100644 ui/src/writeData/components/telegrafPlugins/apache.md delete mode 100644 ui/src/writeData/components/telegrafPlugins/apcupsd.md delete mode 100644 ui/src/writeData/components/telegrafPlugins/aurora.md delete mode 100644 ui/src/writeData/components/telegrafPlugins/azure_storage_queue.md delete mode 100644 ui/src/writeData/components/telegrafPlugins/bcache.md delete mode 100644 ui/src/writeData/components/telegrafPlugins/beanstalkd.md delete mode 100644 ui/src/writeData/components/telegrafPlugins/bind.md delete mode 100644 ui/src/writeData/components/telegrafPlugins/bond.md delete mode 100644 ui/src/writeData/components/telegrafPlugins/burrow.md delete mode 100644 ui/src/writeData/components/telegrafPlugins/cassandra.md delete mode 100644 ui/src/writeData/components/telegrafPlugins/ceph.md delete mode 100644 ui/src/writeData/components/telegrafPlugins/cgroup.md delete mode 100644 ui/src/writeData/components/telegrafPlugins/chrony.md delete mode 100644 ui/src/writeData/components/telegrafPlugins/cisco_telemetry_mdt.md delete mode 100644 ui/src/writeData/components/telegrafPlugins/clickhouse.md delete mode 100644 ui/src/writeData/components/telegrafPlugins/cloud_pubsub.md delete mode 100644 ui/src/writeData/components/telegrafPlugins/cloud_pubsub_push.md delete mode 100644 ui/src/writeData/components/telegrafPlugins/cloudwatch.md delete mode 100644 ui/src/writeData/components/telegrafPlugins/conntrack.md delete mode 100644 ui/src/writeData/components/telegrafPlugins/consul.md delete mode 100644 ui/src/writeData/components/telegrafPlugins/couchbase.md delete mode 100644 ui/src/writeData/components/telegrafPlugins/couchdb.md delete mode 100644 ui/src/writeData/components/telegrafPlugins/cpu.md delete mode 100644 ui/src/writeData/components/telegrafPlugins/dcos.md delete mode 100644 ui/src/writeData/components/telegrafPlugins/disk.md delete mode 100644 ui/src/writeData/components/telegrafPlugins/diskio.md delete mode 100644 ui/src/writeData/components/telegrafPlugins/disque.md delete mode 100644 ui/src/writeData/components/telegrafPlugins/dmcache.md delete mode 100644 ui/src/writeData/components/telegrafPlugins/dns_query.md delete mode 100644 ui/src/writeData/components/telegrafPlugins/docker.md delete mode 100644 ui/src/writeData/components/telegrafPlugins/docker_log.md delete mode 100644 ui/src/writeData/components/telegrafPlugins/dovecot.md delete mode 100644 ui/src/writeData/components/telegrafPlugins/ecs.md delete mode 100644 ui/src/writeData/components/telegrafPlugins/elasticsearch.md delete mode 100644 ui/src/writeData/components/telegrafPlugins/ethtool.md delete mode 100644 ui/src/writeData/components/telegrafPlugins/eventhub_consumer.md delete mode 100644 ui/src/writeData/components/telegrafPlugins/exec.md delete mode 100644 ui/src/writeData/components/telegrafPlugins/execd.md delete mode 100644 ui/src/writeData/components/telegrafPlugins/fail2ban.md delete mode 100644 ui/src/writeData/components/telegrafPlugins/fibaro.md delete mode 100644 ui/src/writeData/components/telegrafPlugins/file.md delete mode 100644 ui/src/writeData/components/telegrafPlugins/filecount.md delete mode 100644 ui/src/writeData/components/telegrafPlugins/filestat.md delete mode 100644 ui/src/writeData/components/telegrafPlugins/fireboard.md delete mode 100644 ui/src/writeData/components/telegrafPlugins/fluentd.md delete mode 100644 ui/src/writeData/components/telegrafPlugins/github.md delete mode 100644 ui/src/writeData/components/telegrafPlugins/gnmi.md delete mode 100644 ui/src/writeData/components/telegrafPlugins/graylog.md delete mode 100644 ui/src/writeData/components/telegrafPlugins/haproxy.md delete mode 100644 ui/src/writeData/components/telegrafPlugins/hddtemp.md delete mode 100644 ui/src/writeData/components/telegrafPlugins/http.md delete mode 100644 ui/src/writeData/components/telegrafPlugins/http_listener_v2.md delete mode 100644 ui/src/writeData/components/telegrafPlugins/http_response.md delete mode 100644 ui/src/writeData/components/telegrafPlugins/httpjson.md delete mode 100644 ui/src/writeData/components/telegrafPlugins/icinga2.md delete mode 100644 ui/src/writeData/components/telegrafPlugins/infiniband.md delete mode 100644 ui/src/writeData/components/telegrafPlugins/influxdb.md delete mode 100644 ui/src/writeData/components/telegrafPlugins/influxdb_listener.md delete mode 100644 ui/src/writeData/components/telegrafPlugins/internal.md delete mode 100644 ui/src/writeData/components/telegrafPlugins/interrupts.md delete mode 100644 ui/src/writeData/components/telegrafPlugins/ipmi_sensor.md delete mode 100644 ui/src/writeData/components/telegrafPlugins/ipset.md delete mode 100644 ui/src/writeData/components/telegrafPlugins/iptables.md delete mode 100644 ui/src/writeData/components/telegrafPlugins/ipvs.md delete mode 100644 ui/src/writeData/components/telegrafPlugins/jenkins.md delete mode 100644 ui/src/writeData/components/telegrafPlugins/jolokia.md delete mode 100644 ui/src/writeData/components/telegrafPlugins/jolokia2.md delete mode 100644 ui/src/writeData/components/telegrafPlugins/jti_openconfig_telemetry.md delete mode 100644 ui/src/writeData/components/telegrafPlugins/kafka_consumer.md delete mode 100644 ui/src/writeData/components/telegrafPlugins/kafka_consumer_legacy.md delete mode 100644 ui/src/writeData/components/telegrafPlugins/kapacitor.md delete mode 100644 ui/src/writeData/components/telegrafPlugins/kernel.md delete mode 100644 ui/src/writeData/components/telegrafPlugins/kernel_vmstat.md delete mode 100644 ui/src/writeData/components/telegrafPlugins/kibana.md delete mode 100644 ui/src/writeData/components/telegrafPlugins/kinesis_consumer.md delete mode 100644 ui/src/writeData/components/telegrafPlugins/kube_inventory.md delete mode 100644 ui/src/writeData/components/telegrafPlugins/kubernetes.md delete mode 100644 ui/src/writeData/components/telegrafPlugins/lanz.md delete mode 100644 ui/src/writeData/components/telegrafPlugins/leofs.md delete mode 100644 ui/src/writeData/components/telegrafPlugins/linux_sysctl_fs.md delete mode 100644 ui/src/writeData/components/telegrafPlugins/logparser.md delete mode 100644 ui/src/writeData/components/telegrafPlugins/logstash.md delete mode 100644 ui/src/writeData/components/telegrafPlugins/lustre2.md delete mode 100644 ui/src/writeData/components/telegrafPlugins/mailchimp.md delete mode 100644 ui/src/writeData/components/telegrafPlugins/marklogic.md delete mode 100644 ui/src/writeData/components/telegrafPlugins/mcrouter.md delete mode 100644 ui/src/writeData/components/telegrafPlugins/mem.md delete mode 100644 ui/src/writeData/components/telegrafPlugins/memcached.md delete mode 100644 ui/src/writeData/components/telegrafPlugins/mesos.md delete mode 100644 ui/src/writeData/components/telegrafPlugins/minecraft.md delete mode 100644 ui/src/writeData/components/telegrafPlugins/modbus.md delete mode 100644 ui/src/writeData/components/telegrafPlugins/mongodb.md delete mode 100644 ui/src/writeData/components/telegrafPlugins/monit.md delete mode 100644 ui/src/writeData/components/telegrafPlugins/mqtt_consumer.md delete mode 100644 ui/src/writeData/components/telegrafPlugins/multifile.md delete mode 100644 ui/src/writeData/components/telegrafPlugins/mysql.md delete mode 100644 ui/src/writeData/components/telegrafPlugins/nats.md delete mode 100644 ui/src/writeData/components/telegrafPlugins/nats_consumer.md delete mode 100644 ui/src/writeData/components/telegrafPlugins/neptune_apex.md delete mode 100644 ui/src/writeData/components/telegrafPlugins/net_response.md delete mode 100644 ui/src/writeData/components/telegrafPlugins/nginx.md delete mode 100644 ui/src/writeData/components/telegrafPlugins/nginx_plus.md delete mode 100644 ui/src/writeData/components/telegrafPlugins/nginx_plus_api.md delete mode 100644 ui/src/writeData/components/telegrafPlugins/nginx_sts.md delete mode 100644 ui/src/writeData/components/telegrafPlugins/nginx_upstream_check.md delete mode 100644 ui/src/writeData/components/telegrafPlugins/nginx_vts.md delete mode 100644 ui/src/writeData/components/telegrafPlugins/nsq.md delete mode 100644 ui/src/writeData/components/telegrafPlugins/nsq_consumer.md delete mode 100644 ui/src/writeData/components/telegrafPlugins/nstat.md delete mode 100644 ui/src/writeData/components/telegrafPlugins/ntpq.md delete mode 100644 ui/src/writeData/components/telegrafPlugins/nvidia_smi.md delete mode 100644 ui/src/writeData/components/telegrafPlugins/openldap.md delete mode 100644 ui/src/writeData/components/telegrafPlugins/openntpd.md delete mode 100644 ui/src/writeData/components/telegrafPlugins/opensmtpd.md delete mode 100644 ui/src/writeData/components/telegrafPlugins/openweathermap.md delete mode 100644 ui/src/writeData/components/telegrafPlugins/passenger.md delete mode 100644 ui/src/writeData/components/telegrafPlugins/pf.md delete mode 100644 ui/src/writeData/components/telegrafPlugins/pgbouncer.md delete mode 100644 ui/src/writeData/components/telegrafPlugins/phpfpm.md delete mode 100644 ui/src/writeData/components/telegrafPlugins/ping.md delete mode 100644 ui/src/writeData/components/telegrafPlugins/postfix.md delete mode 100644 ui/src/writeData/components/telegrafPlugins/postgresql.md delete mode 100644 ui/src/writeData/components/telegrafPlugins/postgresql_extensible.md delete mode 100644 ui/src/writeData/components/telegrafPlugins/powerdns.md delete mode 100644 ui/src/writeData/components/telegrafPlugins/powerdns_recursor.md delete mode 100644 ui/src/writeData/components/telegrafPlugins/processes.md delete mode 100644 ui/src/writeData/components/telegrafPlugins/procstat.md delete mode 100644 ui/src/writeData/components/telegrafPlugins/prometheus.md delete mode 100644 ui/src/writeData/components/telegrafPlugins/proxmox.md delete mode 100644 ui/src/writeData/components/telegrafPlugins/puppetagent.md delete mode 100644 ui/src/writeData/components/telegrafPlugins/rabbitmq.md delete mode 100644 ui/src/writeData/components/telegrafPlugins/raindrops.md delete mode 100644 ui/src/writeData/components/telegrafPlugins/redfish.md delete mode 100644 ui/src/writeData/components/telegrafPlugins/redis.md delete mode 100644 ui/src/writeData/components/telegrafPlugins/rethinkdb.md delete mode 100644 ui/src/writeData/components/telegrafPlugins/riak.md delete mode 100644 ui/src/writeData/components/telegrafPlugins/salesforce.md delete mode 100644 ui/src/writeData/components/telegrafPlugins/sensors.md delete mode 100644 ui/src/writeData/components/telegrafPlugins/sflow.md delete mode 100644 ui/src/writeData/components/telegrafPlugins/smart.md delete mode 100644 ui/src/writeData/components/telegrafPlugins/snmp.md delete mode 100644 ui/src/writeData/components/telegrafPlugins/snmp_legacy.md delete mode 100644 ui/src/writeData/components/telegrafPlugins/snmp_trap.md delete mode 100644 ui/src/writeData/components/telegrafPlugins/socket_listener.md delete mode 100644 ui/src/writeData/components/telegrafPlugins/solr.md delete mode 100644 ui/src/writeData/components/telegrafPlugins/sqlserver.md delete mode 100644 ui/src/writeData/components/telegrafPlugins/stackdriver.md delete mode 100644 ui/src/writeData/components/telegrafPlugins/statsd.md delete mode 100644 ui/src/writeData/components/telegrafPlugins/suricata.md delete mode 100644 ui/src/writeData/components/telegrafPlugins/swap.md delete mode 100644 ui/src/writeData/components/telegrafPlugins/synproxy.md delete mode 100644 ui/src/writeData/components/telegrafPlugins/syslog.md delete mode 100644 ui/src/writeData/components/telegrafPlugins/sysstat.md delete mode 100644 ui/src/writeData/components/telegrafPlugins/system.md delete mode 100644 ui/src/writeData/components/telegrafPlugins/systemd_units.md delete mode 100644 ui/src/writeData/components/telegrafPlugins/tail.md delete mode 100644 ui/src/writeData/components/telegrafPlugins/tcp_listener.md delete mode 100644 ui/src/writeData/components/telegrafPlugins/teamspeak.md delete mode 100644 ui/src/writeData/components/telegrafPlugins/temp.md delete mode 100644 ui/src/writeData/components/telegrafPlugins/tengine.md delete mode 100644 ui/src/writeData/components/telegrafPlugins/tomcat.md delete mode 100644 ui/src/writeData/components/telegrafPlugins/udp_listener.md delete mode 100644 ui/src/writeData/components/telegrafPlugins/unbound.md delete mode 100644 ui/src/writeData/components/telegrafPlugins/uwsgi.md delete mode 100644 ui/src/writeData/components/telegrafPlugins/varnish.md delete mode 100644 ui/src/writeData/components/telegrafPlugins/vsphere.md delete mode 100644 ui/src/writeData/components/telegrafPlugins/webhooks.md delete mode 100644 ui/src/writeData/components/telegrafPlugins/win_perf_counters.md delete mode 100644 ui/src/writeData/components/telegrafPlugins/win_services.md delete mode 100644 ui/src/writeData/components/telegrafPlugins/wireguard.md delete mode 100644 ui/src/writeData/components/telegrafPlugins/wireless.md delete mode 100644 ui/src/writeData/components/telegrafPlugins/x509_cert.md delete mode 100644 ui/src/writeData/components/telegrafPlugins/zfs.md delete mode 100644 ui/src/writeData/components/telegrafPlugins/zipkin.md delete mode 100644 ui/src/writeData/components/telegrafPlugins/zookeeper.md delete mode 100644 ui/src/writeData/constants/contentClientLibraries.ts delete mode 100644 ui/src/writeData/constants/contentDeveloperTools.ts delete mode 100644 ui/src/writeData/constants/contentFluxSources.ts delete mode 100644 ui/src/writeData/constants/contentIntegrations.ts delete mode 100644 ui/src/writeData/constants/contentTelegrafPlugins.ts delete mode 100644 ui/src/writeData/constants/index.ts delete mode 100644 ui/src/writeData/containers/ClientLibrariesPage.tsx delete mode 100644 ui/src/writeData/containers/TelegrafPluginsPage.tsx delete mode 100644 ui/src/writeData/containers/WriteDataPage.tsx delete mode 100644 ui/src/writeData/graphics/activemq.svg delete mode 100644 ui/src/writeData/graphics/aerospike.svg delete mode 100644 ui/src/writeData/graphics/amqp_consumer.svg delete mode 100644 ui/src/writeData/graphics/apache.svg delete mode 100644 ui/src/writeData/graphics/apcupsd.svg delete mode 100644 ui/src/writeData/graphics/arduinoLogo.svg delete mode 100644 ui/src/writeData/graphics/aurora.svg delete mode 100644 ui/src/writeData/graphics/azure_storage_queue.svg delete mode 100644 ui/src/writeData/graphics/bcache.svg delete mode 100644 ui/src/writeData/graphics/beanstalkd.svg delete mode 100644 ui/src/writeData/graphics/bind.svg delete mode 100644 ui/src/writeData/graphics/bond.svg delete mode 100644 ui/src/writeData/graphics/burrow.svg delete mode 100644 ui/src/writeData/graphics/cassandra.svg delete mode 100644 ui/src/writeData/graphics/ceph.svg delete mode 100644 ui/src/writeData/graphics/cgroup.svg delete mode 100644 ui/src/writeData/graphics/chrony.svg delete mode 100644 ui/src/writeData/graphics/cisco_telemetry_mdt.svg delete mode 100644 ui/src/writeData/graphics/clickhouse.svg delete mode 100644 ui/src/writeData/graphics/cloud_pubsub.svg delete mode 100644 ui/src/writeData/graphics/cloud_pubsub_push.svg delete mode 100644 ui/src/writeData/graphics/cloudwatch.svg delete mode 100644 ui/src/writeData/graphics/conntrack.svg delete mode 100644 ui/src/writeData/graphics/consul.svg delete mode 100644 ui/src/writeData/graphics/couchbase.svg delete mode 100644 ui/src/writeData/graphics/couchdb.svg delete mode 100644 ui/src/writeData/graphics/cpu.svg delete mode 100644 ui/src/writeData/graphics/csharpLogo.svg delete mode 100644 ui/src/writeData/graphics/dcos.svg delete mode 100644 ui/src/writeData/graphics/disk.svg delete mode 100644 ui/src/writeData/graphics/diskio.svg delete mode 100644 ui/src/writeData/graphics/disque.svg delete mode 100644 ui/src/writeData/graphics/dmcache.svg delete mode 100644 ui/src/writeData/graphics/dns_query.svg delete mode 100644 ui/src/writeData/graphics/docker.svg delete mode 100644 ui/src/writeData/graphics/docker_log.svg delete mode 100644 ui/src/writeData/graphics/dovecot.svg delete mode 100644 ui/src/writeData/graphics/ecs.svg delete mode 100644 ui/src/writeData/graphics/elasticsearch.svg delete mode 100644 ui/src/writeData/graphics/ethtool.svg delete mode 100644 ui/src/writeData/graphics/eventhub_consumer.svg delete mode 100644 ui/src/writeData/graphics/exec.svg delete mode 100644 ui/src/writeData/graphics/execd.svg delete mode 100644 ui/src/writeData/graphics/fail2ban.svg delete mode 100644 ui/src/writeData/graphics/fibaro.svg delete mode 100644 ui/src/writeData/graphics/file.svg delete mode 100644 ui/src/writeData/graphics/filecount.svg delete mode 100644 ui/src/writeData/graphics/filestat.svg delete mode 100644 ui/src/writeData/graphics/fireboard.svg delete mode 100644 ui/src/writeData/graphics/fluentd.svg delete mode 100644 ui/src/writeData/graphics/github.svg delete mode 100644 ui/src/writeData/graphics/gnmi.svg delete mode 100644 ui/src/writeData/graphics/goLogo.svg delete mode 100644 ui/src/writeData/graphics/graylog.svg delete mode 100644 ui/src/writeData/graphics/haproxy.svg delete mode 100644 ui/src/writeData/graphics/hddtemp.svg delete mode 100644 ui/src/writeData/graphics/http.svg delete mode 100644 ui/src/writeData/graphics/http_listener_v2.svg delete mode 100644 ui/src/writeData/graphics/http_response.svg delete mode 100644 ui/src/writeData/graphics/httpjson.svg delete mode 100644 ui/src/writeData/graphics/icigna2.svg delete mode 100644 ui/src/writeData/graphics/icinga2.svg delete mode 100644 ui/src/writeData/graphics/infiniband.svg delete mode 100644 ui/src/writeData/graphics/influxdb.svg delete mode 100644 ui/src/writeData/graphics/influxdb_listener.svg delete mode 100644 ui/src/writeData/graphics/inputs.svg delete mode 100644 ui/src/writeData/graphics/internal.svg delete mode 100644 ui/src/writeData/graphics/interrupts.svg delete mode 100644 ui/src/writeData/graphics/ipmi_sensor.svg delete mode 100644 ui/src/writeData/graphics/ipset.svg delete mode 100644 ui/src/writeData/graphics/iptables.svg delete mode 100644 ui/src/writeData/graphics/ipvs.svg delete mode 100644 ui/src/writeData/graphics/javaLogo.svg delete mode 100644 ui/src/writeData/graphics/jenkins.svg delete mode 100644 ui/src/writeData/graphics/jolokia.svg delete mode 100644 ui/src/writeData/graphics/jolokia2.svg delete mode 100644 ui/src/writeData/graphics/jti_openconfig_telemetry.svg delete mode 100644 ui/src/writeData/graphics/kafka_consumer.svg delete mode 100644 ui/src/writeData/graphics/kafka_consumer_legacy.svg delete mode 100644 ui/src/writeData/graphics/kapacitor.svg delete mode 100644 ui/src/writeData/graphics/kernel.svg delete mode 100644 ui/src/writeData/graphics/kernel_vmstat.svg delete mode 100644 ui/src/writeData/graphics/kibana.svg delete mode 100644 ui/src/writeData/graphics/kinesis_consumer.svg delete mode 100644 ui/src/writeData/graphics/kotlinLogo.svg delete mode 100644 ui/src/writeData/graphics/kube_inventory.svg delete mode 100644 ui/src/writeData/graphics/kubernetes.svg delete mode 100644 ui/src/writeData/graphics/lanz.svg delete mode 100644 ui/src/writeData/graphics/leofs.svg delete mode 100644 ui/src/writeData/graphics/linux_sysctl_fs.svg delete mode 100644 ui/src/writeData/graphics/logparser.svg delete mode 100644 ui/src/writeData/graphics/logstash.svg delete mode 100644 ui/src/writeData/graphics/lustre2.svg delete mode 100644 ui/src/writeData/graphics/mailchimp.svg delete mode 100644 ui/src/writeData/graphics/marklogic.svg delete mode 100644 ui/src/writeData/graphics/mcrouter.svg delete mode 100644 ui/src/writeData/graphics/mem.svg delete mode 100644 ui/src/writeData/graphics/memcached.svg delete mode 100644 ui/src/writeData/graphics/mesos.svg delete mode 100644 ui/src/writeData/graphics/minecraft.svg delete mode 100644 ui/src/writeData/graphics/modbus.svg delete mode 100644 ui/src/writeData/graphics/mongodb.svg delete mode 100644 ui/src/writeData/graphics/monit.svg delete mode 100644 ui/src/writeData/graphics/mqtt_consumer.svg delete mode 100644 ui/src/writeData/graphics/multifile.svg delete mode 100644 ui/src/writeData/graphics/mysql.svg delete mode 100644 ui/src/writeData/graphics/nats.svg delete mode 100644 ui/src/writeData/graphics/nats_consumer.svg delete mode 100644 ui/src/writeData/graphics/neptune_apex.svg delete mode 100644 ui/src/writeData/graphics/net_response.svg delete mode 100644 ui/src/writeData/graphics/nginx.svg delete mode 100644 ui/src/writeData/graphics/nginx_plus.svg delete mode 100644 ui/src/writeData/graphics/nginx_plus_api.svg delete mode 100644 ui/src/writeData/graphics/nginx_sts.svg delete mode 100644 ui/src/writeData/graphics/nginx_upstream_check.svg delete mode 100644 ui/src/writeData/graphics/nginx_vts.svg delete mode 100644 ui/src/writeData/graphics/nodeLogo.svg delete mode 100644 ui/src/writeData/graphics/nsq.svg delete mode 100644 ui/src/writeData/graphics/nsq_consumer.svg delete mode 100644 ui/src/writeData/graphics/nstat.svg delete mode 100644 ui/src/writeData/graphics/ntpq.svg delete mode 100644 ui/src/writeData/graphics/nvidia_smi.svg delete mode 100644 ui/src/writeData/graphics/openldap.svg delete mode 100644 ui/src/writeData/graphics/openntpd.svg delete mode 100644 ui/src/writeData/graphics/opensmtpd.svg delete mode 100644 ui/src/writeData/graphics/openweathermap.svg delete mode 100644 ui/src/writeData/graphics/papertrail.svg delete mode 100644 ui/src/writeData/graphics/particle.svg delete mode 100644 ui/src/writeData/graphics/passenger.svg delete mode 100644 ui/src/writeData/graphics/pf.svg delete mode 100644 ui/src/writeData/graphics/pgbouncer.svg delete mode 100644 ui/src/writeData/graphics/phpLogo.svg delete mode 100644 ui/src/writeData/graphics/phpfpm.svg delete mode 100644 ui/src/writeData/graphics/ping.svg delete mode 100644 ui/src/writeData/graphics/placeholderLogo.svg delete mode 100644 ui/src/writeData/graphics/postfix.svg delete mode 100644 ui/src/writeData/graphics/postgresql.svg delete mode 100644 ui/src/writeData/graphics/postgresql_extensible.svg delete mode 100644 ui/src/writeData/graphics/powerdns.svg delete mode 100644 ui/src/writeData/graphics/powerdns_recursor.svg delete mode 100644 ui/src/writeData/graphics/processes.svg delete mode 100644 ui/src/writeData/graphics/procstat.svg delete mode 100644 ui/src/writeData/graphics/prometheus.svg delete mode 100644 ui/src/writeData/graphics/proxmox.svg delete mode 100644 ui/src/writeData/graphics/puppetagent.svg delete mode 100644 ui/src/writeData/graphics/pythonLogo.svg delete mode 100644 ui/src/writeData/graphics/rabbitmq.svg delete mode 100644 ui/src/writeData/graphics/raindrops.svg delete mode 100644 ui/src/writeData/graphics/redfish.svg delete mode 100644 ui/src/writeData/graphics/redis.svg delete mode 100644 ui/src/writeData/graphics/rethinkdb.svg delete mode 100644 ui/src/writeData/graphics/riak.svg delete mode 100644 ui/src/writeData/graphics/rubyLogo.svg delete mode 100644 ui/src/writeData/graphics/salesforce.svg delete mode 100644 ui/src/writeData/graphics/scalaLogo.svg delete mode 100644 ui/src/writeData/graphics/sensors.svg delete mode 100644 ui/src/writeData/graphics/sflow.svg delete mode 100644 ui/src/writeData/graphics/smart.svg delete mode 100644 ui/src/writeData/graphics/snmp.svg delete mode 100644 ui/src/writeData/graphics/snmp_legacy.svg delete mode 100644 ui/src/writeData/graphics/snmp_trap.svg delete mode 100644 ui/src/writeData/graphics/socket_listener.svg delete mode 100644 ui/src/writeData/graphics/solr.svg delete mode 100644 ui/src/writeData/graphics/sqlserver.svg delete mode 100644 ui/src/writeData/graphics/stackdriver.svg delete mode 100644 ui/src/writeData/graphics/statsd.svg delete mode 100644 ui/src/writeData/graphics/suricata.svg delete mode 100644 ui/src/writeData/graphics/swap.svg delete mode 100644 ui/src/writeData/graphics/synproxy.svg delete mode 100644 ui/src/writeData/graphics/syslog.svg delete mode 100644 ui/src/writeData/graphics/sysstat.svg delete mode 100644 ui/src/writeData/graphics/system.svg delete mode 100644 ui/src/writeData/graphics/systemd_units.svg delete mode 100644 ui/src/writeData/graphics/tail.svg delete mode 100644 ui/src/writeData/graphics/tcp_listener.svg delete mode 100644 ui/src/writeData/graphics/teamspeak.svg delete mode 100644 ui/src/writeData/graphics/temp.svg delete mode 100644 ui/src/writeData/graphics/tengine.svg delete mode 100644 ui/src/writeData/graphics/tomcat.svg delete mode 100644 ui/src/writeData/graphics/udp_listener.svg delete mode 100644 ui/src/writeData/graphics/unbound.svg delete mode 100644 ui/src/writeData/graphics/uwsgi.svg delete mode 100644 ui/src/writeData/graphics/varnish.svg delete mode 100644 ui/src/writeData/graphics/vsphere.svg delete mode 100644 ui/src/writeData/graphics/webhooks.svg delete mode 100644 ui/src/writeData/graphics/win_perf_counters.svg delete mode 100644 ui/src/writeData/graphics/win_services.svg delete mode 100644 ui/src/writeData/graphics/wireguard.svg delete mode 100644 ui/src/writeData/graphics/wireless.svg delete mode 100644 ui/src/writeData/graphics/x509_cert.svg delete mode 100644 ui/src/writeData/graphics/zfs.svg delete mode 100644 ui/src/writeData/graphics/zipkin.svg delete mode 100644 ui/src/writeData/graphics/zookeeper.svg diff --git a/CHANGELOG.md b/CHANGELOG.md index 9b9b8bad86e..4df18658846 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,7 +2,6 @@ ### Features -1. [19246](https://github.com/influxdata/influxdb/pull/19246): Redesign load data page to increase discovery and ease of use 1. [19334](https://github.com/influxdata/influxdb/pull/19334): Add --active-config flag to influx to set config for single command ### Bug Fixes diff --git a/ui/cypress/e2e/clientLibraries.test.ts b/ui/cypress/e2e/clientLibraries.test.ts new file mode 100644 index 00000000000..5d57ec533e1 --- /dev/null +++ b/ui/cypress/e2e/clientLibraries.test.ts @@ -0,0 +1,68 @@ +describe('Client Libraries', () => { + beforeEach(() => { + cy.flush() + + cy.signin().then(({body}) => { + const { + org: {id}, + } = body + cy.wrap(body.org).as('org') + + cy.fixture('routes').then(({orgs}) => { + cy.visit(`${orgs}/${id}/load-data/client-libraries`) + }) + }) + }) + + it('open arduino popup', () => { + cy.getByTestID('client-libraries-cards--arduino').click() + cy.getByTestID('overlay--header').contains('Arduino Client Library') + }) + + it('open csharp popup', () => { + cy.getByTestID('client-libraries-cards--csharp').click() + cy.getByTestID('overlay--header').contains('C# Client Library') + }) + + it('open go popup', () => { + cy.getByTestID('client-libraries-cards--go').click() + cy.getByTestID('overlay--header').contains('GO Client Library') + }) + + it('open java popup', () => { + cy.getByTestID('client-libraries-cards--java').click() + cy.getByTestID('overlay--header').contains('Java Client Library') + }) + + it('open javascript popup', () => { + cy.getByTestID('client-libraries-cards--javascript-node').click() + cy.getByTestID('overlay--header').contains( + 'JavaScript/Node.js Client Library' + ) + }) + + it('open Kotlin popup', () => { + cy.getByTestID('client-libraries-cards--kotlin').click() + cy.getByTestID('overlay--header').contains('Kotlin Client Library') + }) + + it('open php popup', () => { + cy.getByTestID('client-libraries-cards--php').click() + cy.getByTestID('overlay--header').contains('PHP Client Library') + }) + + it('open python popup', () => { + cy.getByTestID('client-libraries-cards--python').click() + cy.getByTestID('overlay--header').contains('Python Client Library') + }) + + it('open ruby popup', () => { + cy.getByTestID('client-libraries-cards--ruby').click() + cy.getByTestID('overlay--header').contains('Ruby Client Library') + }) + + it('open scala popup', () => { + cy.getByTestID('client-libraries-cards--scala').click() + cy.getByTestID('overlay--header').contains('Scala Client Library') + }) +}) diff --git a/ui/cypress/e2e/explorer.test.ts b/ui/cypress/e2e/explorer.test.ts index 39f84b78dd1..a3b10d7dfc7 100644 --- a/ui/cypress/e2e/explorer.test.ts +++ b/ui/cypress/e2e/explorer.test.ts @@ -64,12 +64,7 @@ describe('DataExplorer', () => { cy.get('.view-lines').type(fluxCode) }) cy.contains('Submit').click() - cy.get('.cf-tree-nav--toggle').click() - // Can't use the testID to select this nav item because Clockface is silly and uses the same testID twice - // Issue: https://github.com/influxdata/clockface/issues/539 - cy.get('.cf-tree-nav--sub-item-label') - .contains('Buckets') - .click() + cy.getByTestID('nav-item-load-data').click() cy.getByTestID('bucket--card--name _tasks').click() cy.getByTestID('query-builder').should('exist') }) diff --git a/ui/cypress/e2e/loadDataSources.test.ts b/ui/cypress/e2e/loadDataSources.test.ts deleted file mode 100644 index 310ef10fc07..00000000000 --- a/ui/cypress/e2e/loadDataSources.test.ts +++ /dev/null @@ -1,50 +0,0 @@ -describe('Load Data Sources', () => { - beforeEach(() => { - cy.flush() - - cy.signin().then(({body}) => { - const { - org: {id}, - } = body - cy.wrap(body.org).as('org') - - cy.fixture('routes').then(({orgs}) => { - cy.visit(`${orgs}/${id}/load-data/sources`) - }) - }) - }) - - it('navigate to Client Library details view and render it with essentials', () => { - cy.getByTestID('write-data--section client-libraries').within(() => { - cy.getByTestID('square-grid').within(() => { - cy.getByTestIDSubStr('load-data-item') - .first() - .click() - }) - }) - - const contentContainer = cy.getByTestID('load-data-details-content') - contentContainer.should('exist') - contentContainer.children().should('exist') - - const logoElement = cy.getByTestID('load-data-details-thumb') - logoElement.should('exist') - }) - - it('navigate to Telegraf Plugin details view and render it with essentials', () => { - cy.getByTestID('write-data--section telegraf-plugins').within(() => { - cy.getByTestID('square-grid').within(() => { - cy.getByTestIDSubStr('load-data-item') - .first() - .click() - }) - }) - - const contentContainer = cy.getByTestID('load-data-details-content') - contentContainer.should('exist') - contentContainer.children().should('exist') - - const logoElement = cy.getByTestID('load-data-details-thumb') - logoElement.should('exist') - }) -}) diff --git a/ui/global.d.ts b/ui/global.d.ts index f80e0c9c067..d8bffcf26b7 100644 --- a/ui/global.d.ts +++ b/ui/global.d.ts @@ -10,21 +10,11 @@ declare global { interface Window { monaco: MonacoType } - declare module '*.png' { - const value: any - export = value - } - - declare module '*.md' { - const value: string - export default value - } +} - declare module '*.svg' { - export const ReactComponent: SFC> - const src: string - export default src - } +declare module "*.png" { + const value: any; + export = value; } window.monaco = window.monaco || {} diff --git a/ui/index.d.ts b/ui/index.d.ts index e3376a69990..260baffcbc8 100644 --- a/ui/index.d.ts +++ b/ui/index.d.ts @@ -1425,12 +1425,7 @@ declare module 'src/external/dygraph' { // Allow typescript to recognize json files -declare module '*.json' { - const value: any - export default value -} - -declare module '*.md' { - const value: string - export default value +declare module "*.json" { + const value: any; + export default value; } diff --git a/ui/package.json b/ui/package.json index c17e4d0c9b6..d6949868350 100644 --- a/ui/package.json +++ b/ui/package.json @@ -115,7 +115,7 @@ "mutation-observer": "^1.0.3", "optimize-css-assets-webpack-plugin": "^5.0.3", "prettier": "^1.19.1", - "raw-loader": "^4.0.1", + "raw-loader": "^4.0.0", "sass": "^1.22.7", "sass-loader": "^7.1.0", "source-map-loader": "^0.2.4", diff --git a/ui/src/authorizations/components/ViewTokenOverlay.tsx b/ui/src/authorizations/components/ViewTokenOverlay.tsx index 4fe7ed75cba..f20e208c10c 100644 --- a/ui/src/authorizations/components/ViewTokenOverlay.tsx +++ b/ui/src/authorizations/components/ViewTokenOverlay.tsx @@ -37,7 +37,7 @@ export default class ViewTokenOverlay extends PureComponent { } return ( - + +type Props = ReduxProps + @ErrorHandling -class TokensIndex extends Component { +class TokensIndex extends Component { public render() { + const {org} = this.props + return ( <> - + @@ -52,4 +59,8 @@ class TokensIndex extends Component { } } -export default TokensIndex +const mstp = (state: AppState) => ({org: getOrg(state)}) + +const connector = connect(mstp) + +export default connector(TokensIndex) diff --git a/ui/src/buckets/containers/BucketsIndex.tsx b/ui/src/buckets/containers/BucketsIndex.tsx index c402a716df7..dd497c3ebcb 100644 --- a/ui/src/buckets/containers/BucketsIndex.tsx +++ b/ui/src/buckets/containers/BucketsIndex.tsx @@ -1,5 +1,6 @@ // Libraries import React, {Component} from 'react' +import {connect} from 'react-redux' import {Switch, Route} from 'react-router-dom' // Components @@ -20,24 +21,31 @@ import {Page} from '@influxdata/clockface' // Utils import {pageTitleSuffixer} from 'src/shared/utils/pageTitles' +import {getOrg} from 'src/organizations/selectors' // Constants import {ORGS, ORG_ID, BUCKETS, BUCKET_ID} from 'src/shared/constants/routes' // Types -import {ResourceType} from 'src/types' +import {AppState, Organization, ResourceType} from 'src/types' + +interface StateProps { + org: Organization +} const bucketsPath = `/${ORGS}/${ORG_ID}/load-data/${BUCKETS}/${BUCKET_ID}` @ErrorHandling -class BucketsIndex extends Component { +class BucketsIndex extends Component { public render() { + const {org} = this.props + return ( <> - + { + const org = getOrg(state) + + return {org} +} + +export default connect(mstp, null)(BucketsIndex) diff --git a/ui/src/clientLibraries/components/ClientArduinoOverlay.tsx b/ui/src/clientLibraries/components/ClientArduinoOverlay.tsx new file mode 100644 index 00000000000..52fa1f2099f --- /dev/null +++ b/ui/src/clientLibraries/components/ClientArduinoOverlay.tsx @@ -0,0 +1,98 @@ +// Libraries +import React, {FunctionComponent} from 'react' +import {connect} from 'react-redux' + +// Components +import ClientLibraryOverlay from 'src/clientLibraries/components/ClientLibraryOverlay' +import TemplatedCodeSnippet from 'src/shared/components/TemplatedCodeSnippet' + +// Constants +import {clientArduinoLibrary} from 'src/clientLibraries/constants' + +// Types +import {AppState} from 'src/types' + +// Selectors +import {getOrg} from 'src/organizations/selectors' + +interface StateProps { + org: string +} + +type Props = StateProps + +const ClientArduinoOverlay: FunctionComponent = props => { + const { + name, + url, + installingLibraryManagerCodeSnippet, + installingManualCodeSnippet, + initializeClientCodeSnippet, + writingDataPointCodeSnippet, + executeQueryCodeSnippet, + } = clientArduinoLibrary + const {org} = props + const server = window.location.origin + + return ( + +

+ For more detailed and up to date information check out the{' '} + + GitHub Repository + +

+
Install Library
+

Library Manager

+ +

Manual Installation

+ +
Initialize the Client
+ +
Write Data
+ +
Execute a Flux query
+ +
+ ) +} + +const mstp = (state: AppState) => { + return { + org: getOrg(state).id, + } +} + +export {ClientArduinoOverlay} +export default connect(mstp, null)(ClientArduinoOverlay) diff --git a/ui/src/clientLibraries/components/ClientCSharpOverlay.tsx b/ui/src/clientLibraries/components/ClientCSharpOverlay.tsx new file mode 100644 index 00000000000..908913b9a4f --- /dev/null +++ b/ui/src/clientLibraries/components/ClientCSharpOverlay.tsx @@ -0,0 +1,113 @@ +// Libraries +import React, {FunctionComponent} from 'react' +import {connect} from 'react-redux' + +// Components +import ClientLibraryOverlay from 'src/clientLibraries/components/ClientLibraryOverlay' +import TemplatedCodeSnippet from 'src/shared/components/TemplatedCodeSnippet' + +// Constants +import {clientCSharpLibrary} from 'src/clientLibraries/constants' + +// Types +import {AppState} from 'src/types' + +// Selectors +import {getOrg} from 'src/organizations/selectors' + +interface StateProps { + org: string +} + +type Props = StateProps + +const ClientCSharpOverlay: FunctionComponent = props => { + const { + name, + url, + installingPackageManagerCodeSnippet, + installingPackageDotNetCLICodeSnippet, + packageReferenceCodeSnippet, + initializeClientCodeSnippet, + executeQueryCodeSnippet, + writingDataPointCodeSnippet: writingDataDataPointCodeSnippet, + writingDataLineProtocolCodeSnippet, + writingDataPocoCodeSnippet, + pocoClassCodeSnippet, + } = clientCSharpLibrary + const {org} = props + const server = window.location.origin + + return ( + +

+ For more detailed and up to date information check out the{' '} + + GitHub Repository + +

+
Install Package
+

Package Manager

+ +

.NET CLI

+ +

Package Reference

+ +
Initialize the Client
+ +
Write Data
+

Option 1: Use InfluxDB Line Protocol to write data

+ +

Option 2: Use a Data Point to write data

+ +

Option 3: Use POCO and corresponding Class to write data

+ + +
Execute a Flux query
+ +
+ ) +} + +const mstp = (state: AppState) => { + return { + org: getOrg(state).id, + } +} + +export {ClientCSharpOverlay} +export default connect(mstp, null)(ClientCSharpOverlay) diff --git a/ui/src/clientLibraries/components/ClientGoOverlay.tsx b/ui/src/clientLibraries/components/ClientGoOverlay.tsx new file mode 100644 index 00000000000..b2563b192a8 --- /dev/null +++ b/ui/src/clientLibraries/components/ClientGoOverlay.tsx @@ -0,0 +1,86 @@ +// Libraries +import React, {FunctionComponent} from 'react' +import {connect} from 'react-redux' + +// Components +import ClientLibraryOverlay from 'src/clientLibraries/components/ClientLibraryOverlay' +import TemplatedCodeSnippet from 'src/shared/components/TemplatedCodeSnippet' + +// Constants +import {clientGoLibrary} from 'src/clientLibraries/constants' + +// Types +import {AppState} from 'src/types' + +// Selectors +import {getOrg} from 'src/organizations/selectors' + +interface StateProps { + org: string +} + +type Props = StateProps + +const ClientGoOverlay: FunctionComponent = props => { + const { + name, + url, + initializeClientCodeSnippet, + writingDataLineProtocolCodeSnippet, + writingDataPointCodeSnippet, + executeQueryCodeSnippet, + } = clientGoLibrary + const {org} = props + const server = window.location.origin + + return ( + +

+ For more detailed and up to date information check out the{' '} + + GitHub Repository + +

+
Initialize the Client
+ +
Write Data
+

Option 1: Use InfluxDB Line Protocol to write data

+ +

Option 2: Use a Data Point to write data

+ +
Execute a Flux query
+ +
+ ) +} + +const mstp = (state: AppState) => { + return { + org: getOrg(state).id, + } +} + +export {ClientGoOverlay} +export default connect(mstp, null)(ClientGoOverlay) diff --git a/ui/src/clientLibraries/components/ClientJSOverlay.tsx b/ui/src/clientLibraries/components/ClientJSOverlay.tsx new file mode 100644 index 00000000000..9736ac7ec24 --- /dev/null +++ b/ui/src/clientLibraries/components/ClientJSOverlay.tsx @@ -0,0 +1,84 @@ +// Libraries +import React, {FunctionComponent} from 'react' +import {connect} from 'react-redux' + +// Components +import ClientLibraryOverlay from 'src/clientLibraries/components/ClientLibraryOverlay' +import TemplatedCodeSnippet from 'src/shared/components/TemplatedCodeSnippet' + +// Constants +import {clientJSLibrary} from 'src/clientLibraries/constants' + +// Types +import {AppState} from 'src/types' + +// Selectors +import {getOrg} from 'src/organizations/selectors' + +interface StateProps { + org: string +} + +type Props = StateProps + +const ClientJSOverlay: FunctionComponent = props => { + const { + name, + url, + initializeNPMCodeSnippet, + initializeClientCodeSnippet, + executeQueryCodeSnippet, + writingDataLineProtocolCodeSnippet, + } = clientJSLibrary + const {org} = props + const server = window.location.origin + + return ( + +

+ For more detailed and up to date information check out the{' '} + + GitHub Repository + +

+
Install via NPM
+ +
Initialize the Client
+ +
Write Data
+ +
Execute a Flux query
+ +
+ ) +} + +const mstp = (state: AppState) => { + const {id} = getOrg(state) + + return { + org: id, + } +} + +export {ClientJSOverlay} +export default connect(mstp)(ClientJSOverlay) diff --git a/ui/src/clientLibraries/components/ClientJavaOverlay.tsx b/ui/src/clientLibraries/components/ClientJavaOverlay.tsx new file mode 100644 index 00000000000..0ad4f19731e --- /dev/null +++ b/ui/src/clientLibraries/components/ClientJavaOverlay.tsx @@ -0,0 +1,104 @@ +// Libraries +import React, {FunctionComponent} from 'react' +import {connect} from 'react-redux' + +// Components +import ClientLibraryOverlay from 'src/clientLibraries/components/ClientLibraryOverlay' +import TemplatedCodeSnippet from 'src/shared/components/TemplatedCodeSnippet' + +// Constants +import {clientJavaLibrary} from 'src/clientLibraries/constants' + +// Types +import {AppState} from 'src/types' + +// Selectors +import {getOrg} from 'src/organizations/selectors' + +interface StateProps { + org: string +} + +type Props = StateProps + +const ClientJavaOverlay: FunctionComponent = props => { + const { + name, + url, + buildWithMavenCodeSnippet, + buildWithGradleCodeSnippet, + initializeClientCodeSnippet, + executeQueryCodeSnippet, + writingDataLineProtocolCodeSnippet, + writingDataPointCodeSnippet, + writingDataPojoCodeSnippet, + pojoClassCodeSnippet, + } = clientJavaLibrary + const {org} = props + const server = window.location.origin + + return ( + +

+ For more detailed and up to date information check out the{' '} + + GitHub Repository + +

+
Add Dependency
+

Build with Maven

+ +

Build with Gradle

+ +
Initialize the Client
+ +
Write Data
+

Option 1: Use InfluxDB Line Protocol to write data

+ +

Option 2: Use a Data Point to write data

+ +

Option 3: Use POJO and corresponding class to write data

+ + +
Execute a Flux query
+ +
+ ) +} + +const mstp = (state: AppState) => { + return { + org: getOrg(state).id, + } +} + +export {ClientJavaOverlay} +export default connect(mstp, null)(ClientJavaOverlay) diff --git a/ui/src/clientLibraries/components/ClientKotlinOverlay.tsx b/ui/src/clientLibraries/components/ClientKotlinOverlay.tsx new file mode 100644 index 00000000000..6b32be7e594 --- /dev/null +++ b/ui/src/clientLibraries/components/ClientKotlinOverlay.tsx @@ -0,0 +1,83 @@ +// Libraries +import React, {FunctionComponent} from 'react' +import {connect} from 'react-redux' + +// Components +import ClientLibraryOverlay from 'src/clientLibraries/components/ClientLibraryOverlay' +import TemplatedCodeSnippet from 'src/shared/components/TemplatedCodeSnippet' + +// Constants +import {clientKotlinLibrary} from 'src/clientLibraries/constants' + +// Types +import {AppState} from 'src/types' + +// Selectors +import {getOrg} from 'src/organizations/selectors' + +interface StateProps { + org: string +} + +type Props = StateProps + +const ClientKotlinOverlay: FunctionComponent = props => { + const { + name, + url, + buildWithMavenCodeSnippet, + buildWithGradleCodeSnippet, + initializeClientCodeSnippet, + executeQueryCodeSnippet, + } = clientKotlinLibrary + const {org} = props + const server = window.location.origin + + return ( + +

+ For more detailed and up to date information check out the{' '} + + GitHub Repository + +

+
Add Dependency
+

Build with Maven

+ +

Build with Gradle

+ +
Initialize the Client
+ +
Execute a Flux query
+ +
+ ) +} + +const mstp = (state: AppState) => { + return { + org: getOrg(state).id, + } +} + +export {ClientKotlinOverlay} +export default connect(mstp, null)(ClientKotlinOverlay) diff --git a/ui/src/clientLibraries/components/ClientLibraries.tsx b/ui/src/clientLibraries/components/ClientLibraries.tsx new file mode 100644 index 00000000000..f340d708907 --- /dev/null +++ b/ui/src/clientLibraries/components/ClientLibraries.tsx @@ -0,0 +1,70 @@ +// Libraries +import _ from 'lodash' +import React, {FunctionComponent, createElement} from 'react' +import {withRouter, RouteComponentProps, Link} from 'react-router-dom' + +// Components +import { + Grid, + SelectableCard, + SquareGrid, + ComponentSize, +} from '@influxdata/clockface' +import CodeSnippet from 'src/shared/components/CodeSnippet' + +// Mocks +import {clientLibraries} from 'src/clientLibraries/constants' + +interface OwnProps { + orgID: string +} + +type Props = OwnProps & RouteComponentProps<{orgID: string}> + +const ClientLibraries: FunctionComponent = ({orgID, history}) => { + return ( + + + +

+ Use the following URL when initializing each Client Library. The + Token can be generated on the +  Tokens tab + . +

+ +
+
+ + + + {clientLibraries.map(cl => { + const handleClick = (): void => { + history.push( + `/orgs/${orgID}/load-data/client-libraries/${cl.id}` + ) + } + + return ( + + + {createElement(cl.image)} + + + ) + })} + + + +
+ ) +} + +export default withRouter(ClientLibraries) diff --git a/ui/src/clientLibraries/components/ClientLibraryOverlay.scss b/ui/src/clientLibraries/components/ClientLibraryOverlay.scss new file mode 100644 index 00000000000..1c4145ba3cd --- /dev/null +++ b/ui/src/clientLibraries/components/ClientLibraryOverlay.scss @@ -0,0 +1,26 @@ +/* + Client Library Overlay +*/ + +.client-library-overlay { + code { + font-weight: 600; + color: $c-potassium; + } + + pre { + display: inline-block; + width: 100%; + padding: $ix-marg-c; + background-color: $g0-obsidian; + border-radius: $ix-radius; + margin-bottom: $ix-marg-c; + overflow-x: auto; + + &:last-of-type { + margin-bottom: 0; + } + + @include custom-scrollbar-round($g0-obsidian, $c-star); + } +} diff --git a/ui/src/clientLibraries/components/ClientLibraryOverlay.tsx b/ui/src/clientLibraries/components/ClientLibraryOverlay.tsx new file mode 100644 index 00000000000..bca42c7949f --- /dev/null +++ b/ui/src/clientLibraries/components/ClientLibraryOverlay.tsx @@ -0,0 +1,52 @@ +// Libraries +import React, {FunctionComponent} from 'react' +import {connect} from 'react-redux' +import {withRouter, RouteComponentProps} from 'react-router-dom' + +// Components +import {Overlay} from '@influxdata/clockface' + +// Types +import {AppState, Organization} from 'src/types' + +// Selectors +import {getOrg} from 'src/organizations/selectors' + +interface OwnProps { + title: string + children: React.ReactNode +} + +interface StateProps { + org: Organization +} + +type Props = OwnProps & StateProps & RouteComponentProps<{orgID: string}> + +const ClientLibraryOverlay: FunctionComponent = ({ + title, + children, + history, + org, +}) => { + const onDismiss = () => { + history.push(`/orgs/${org.id}/load-data/client-libraries`) + } + + return ( + + + + + {children} + + + + ) +} + +const mstp = (state: AppState) => ({ + org: getOrg(state), +}) + +export default connect(mstp)(withRouter(ClientLibraryOverlay)) diff --git a/ui/src/clientLibraries/components/ClientPHPOverlay.tsx b/ui/src/clientLibraries/components/ClientPHPOverlay.tsx new file mode 100644 index 00000000000..ea6825ab4c6 --- /dev/null +++ b/ui/src/clientLibraries/components/ClientPHPOverlay.tsx @@ -0,0 +1,100 @@ +// Libraries +import React, {FunctionComponent} from 'react' +import {connect} from 'react-redux' + +// Components +import ClientLibraryOverlay from 'src/clientLibraries/components/ClientLibraryOverlay' +import TemplatedCodeSnippet from 'src/shared/components/TemplatedCodeSnippet' + +// Constants +import {clientPHPLibrary} from 'src/clientLibraries/constants' + +// Selectors +import {getOrg} from 'src/organizations/selectors' + +// Types +import {AppState} from 'src/types' + +interface StateProps { + org: string +} + +type Props = StateProps + +const ClientPHPOverlay: FunctionComponent = props => { + const { + name, + url, + initializeComposerCodeSnippet, + initializeClientCodeSnippet, + executeQueryCodeSnippet, + writingDataLineProtocolCodeSnippet, + writingDataPointCodeSnippet, + writingDataArrayCodeSnippet, + } = clientPHPLibrary + const {org} = props + const server = window.location.origin + + return ( + +

+ For more detailed and up to date information check out the{' '} + + GitHub Repository + +

+
Install via Composer
+ +
Initialize the Client
+ +
Write Data
+

Option 1: Use InfluxDB Line Protocol to write data

+ +

Option 2: Use a Data Point to write data

+ +

Option 3: Use an Array structure to write data

+ +
Execute a Flux query
+ +
+ ) +} + +const mstp = (state: AppState) => { + const {id} = getOrg(state) + + return { + org: id, + } +} + +export {ClientPHPOverlay} +export default connect(mstp, null)(ClientPHPOverlay) diff --git a/ui/src/clientLibraries/components/ClientPythonOverlay.tsx b/ui/src/clientLibraries/components/ClientPythonOverlay.tsx new file mode 100644 index 00000000000..7a9a4cb5867 --- /dev/null +++ b/ui/src/clientLibraries/components/ClientPythonOverlay.tsx @@ -0,0 +1,100 @@ +// Libraries +import React, {FunctionComponent} from 'react' +import {connect} from 'react-redux' + +// Components +import ClientLibraryOverlay from 'src/clientLibraries/components/ClientLibraryOverlay' +import TemplatedCodeSnippet from 'src/shared/components/TemplatedCodeSnippet' + +// Constants +import {clientPythonLibrary} from 'src/clientLibraries/constants' + +// Selectors +import {getOrg} from 'src/organizations/selectors' + +// Types +import {AppState} from 'src/types' + +interface StateProps { + org: string +} + +type Props = StateProps + +const ClientPythonOverlay: FunctionComponent = props => { + const { + name, + url, + initializePackageCodeSnippet, + initializeClientCodeSnippet, + executeQueryCodeSnippet, + writingDataLineProtocolCodeSnippet, + writingDataPointCodeSnippet, + writingDataBatchCodeSnippet, + } = clientPythonLibrary + const {org} = props + const server = window.location.origin + + return ( + +

+ For more detailed and up to date information check out the{' '} + + GitHub Repository + +

+
Install Package
+ +
Initialize the Client
+ +
Write Data
+

Option 1: Use InfluxDB Line Protocol to write data

+ +

Option 2: Use a Data Point to write data

+ +

Option 3: Use a Batch Sequence to write data

+ +
Execute a Flux query
+ +
+ ) +} + +const mstp = (state: AppState) => { + const {id} = getOrg(state) + + return { + org: id, + } +} + +export {ClientPythonOverlay} +export default connect(mstp, null)(ClientPythonOverlay) diff --git a/ui/src/clientLibraries/components/ClientRubyOverlay.tsx b/ui/src/clientLibraries/components/ClientRubyOverlay.tsx new file mode 100644 index 00000000000..1b3cb65e405 --- /dev/null +++ b/ui/src/clientLibraries/components/ClientRubyOverlay.tsx @@ -0,0 +1,103 @@ +// Libraries +import React, {FunctionComponent} from 'react' +import {connect} from 'react-redux' + +// Components +import ClientLibraryOverlay from 'src/clientLibraries/components/ClientLibraryOverlay' +import TemplatedCodeSnippet from 'src/shared/components/TemplatedCodeSnippet' + +// Constants +import {clientRubyLibrary} from 'src/clientLibraries/constants' + +// Selectors +import {getOrg} from 'src/organizations/selectors' + +// Types +import {AppState} from 'src/types' + +interface StateProps { + org: string +} + +type Props = StateProps + +const ClientRubyOverlay: FunctionComponent = props => { + const { + name, + url, + initializeGemCodeSnippet, + initializeClientCodeSnippet, + executeQueryCodeSnippet, + writingDataLineProtocolCodeSnippet, + writingDataPointCodeSnippet, + writingDataHashCodeSnippet, + writingDataBatchCodeSnippet, + } = clientRubyLibrary + const {org} = props + const server = window.location.origin + + return ( + +

+ For more detailed and up to date information check out the{' '} + + GitHub Repository + +

+
Install the Gem
+ +
Initialize the Client
+ +
Write Data
+

Option 1: Use InfluxDB Line Protocol to write data

+ +

Option 2: Use a Data Point to write data

+ +

Option 3: Use a Hash to write data

+ +

Option 4: Use a Batch Sequence to write data

+ +
Execute a Flux query
+ +
+ ) +} + +const mstp = (state: AppState) => { + const {id} = getOrg(state) + + return { + org: id, + } +} + +export {ClientRubyOverlay} +export default connect(mstp, null)(ClientRubyOverlay) diff --git a/ui/src/clientLibraries/components/ClientScalaOverlay.tsx b/ui/src/clientLibraries/components/ClientScalaOverlay.tsx new file mode 100644 index 00000000000..842f4a682a3 --- /dev/null +++ b/ui/src/clientLibraries/components/ClientScalaOverlay.tsx @@ -0,0 +1,86 @@ +// Libraries +import React, {FunctionComponent} from 'react' +import {connect} from 'react-redux' + +// Components +import ClientLibraryOverlay from 'src/clientLibraries/components/ClientLibraryOverlay' +import TemplatedCodeSnippet from 'src/shared/components/TemplatedCodeSnippet' + +// Constants +import {clientScalaLibrary} from 'src/clientLibraries/constants' + +// Types +import {AppState} from 'src/types' + +// Selectors +import {getOrg} from 'src/organizations/selectors' + +interface StateProps { + org: string +} + +type Props = StateProps + +const ClientScalaOverlay: FunctionComponent = props => { + const { + name, + url, + buildWithSBTCodeSnippet, + buildWithMavenCodeSnippet, + buildWithGradleCodeSnippet, + initializeClientCodeSnippet, + executeQueryCodeSnippet, + } = clientScalaLibrary + const {org} = props + const server = window.location.origin + + return ( + +

+ For more detailed and up to date information check out the{' '} + + GitHub Repository + +

+
Add Dependency
+

Build with sbt

+ +

Build with Maven

+ +

Build with Gradle

+ +
Initialize the Client
+ +
Execute a Flux query
+ +
+ ) +} + +const mstp = (state: AppState) => { + return { + org: getOrg(state).id, + } +} + +export {ClientScalaOverlay} +export default connect(mstp, null)(ClientScalaOverlay) diff --git a/ui/src/clientLibraries/constants/index.ts b/ui/src/clientLibraries/constants/index.ts new file mode 100644 index 00000000000..dd3e7245296 --- /dev/null +++ b/ui/src/clientLibraries/constants/index.ts @@ -0,0 +1,692 @@ +import {SFC} from 'react' +import { + ArduinoLogo, + CSharpLogo, + GoLogo, + JavaLogo, + JSLogo, + KotlinLogo, + PHPLogo, + PythonLogo, + RubyLogo, + ScalaLogo, +} from '../graphics' + +export interface ClientLibrary { + id: string + name: string + url: string + image: SFC +} + +export const clientArduinoLibrary = { + id: 'arduino', + name: 'Arduino', + url: 'https://github.com/tobiasschuerg/InfluxDB-Client-for-Arduino', + image: ArduinoLogo, + installingLibraryManagerCodeSnippet: `1. Open the Arduino IDE and click to the "Sketch" menu and then Include Library > Manage Libraries. +2. Type 'influxdb' in the search box +3. Install the 'InfluxDBClient for Arduino' library`, + installingManualCodeSnippet: `1. cd /library. +2. git clone <%= url %> +3. Restart the Arduino IDE`, + initializeClientCodeSnippet: `#if defined(ESP32) +#include +WiFiMulti wifiMulti; +#define DEVICE "ESP32" +#elif defined(ESP8266) +#include +ESP8266WiFiMulti wifiMulti; +#define DEVICE "ESP8266" +#endif + +#include +#include + +// WiFi AP SSID +#define WIFI_SSID "SSID" +// WiFi password +#define WIFI_PASSWORD "PASSWORD" +// InfluxDB v2 server url, e.g. https://eu-central-1-1.aws.cloud2.influxdata.com (Use: InfluxDB UI -> Load Data -> Client Libraries) +#define INFLUXDB_URL "<%= server %>" +// InfluxDB v2 server or cloud API authentication token (Use: InfluxDB UI -> Data -> Tokens -> - ) -} - -export default WriteDataSearchBar diff --git a/ui/src/writeData/components/WriteDataSection.tsx b/ui/src/writeData/components/WriteDataSection.tsx deleted file mode 100644 index ff9c5fd2604..00000000000 --- a/ui/src/writeData/components/WriteDataSection.tsx +++ /dev/null @@ -1,73 +0,0 @@ -// Libraries -import React, {FC, useContext} from 'react' - -// Contexts -import {WriteDataSearchContext} from 'src/writeData/containers/WriteDataPage' - -// Components -import { - SquareGrid, - ComponentSize, - Heading, - HeadingElement, - FontWeight, -} from '@influxdata/clockface' -import WriteDataItem from 'src/writeData/components/WriteDataItem' - -// Constants -import {doesItemMatchSearchTerm} from 'src/writeData/constants' - -// Types -import {WriteDataSection} from 'src/writeData/constants' - -const WriteDataSection: FC> = ({ - id, - name, - description, - items, -}) => { - const {searchTerm} = useContext(WriteDataSearchContext) - - const filteredItems = items.filter(item => - doesItemMatchSearchTerm(item.name, searchTerm) - ) - - const sortedItems = filteredItems.sort((a, b) => - a.name.toLowerCase().localeCompare(b.name.toLowerCase()) - ) - - return ( -
- - {name} - - - {description} - - - {sortedItems.map(item => ( - - ))} - -
- ) -} - -export default WriteDataSection diff --git a/ui/src/writeData/components/WriteDataSections.tsx b/ui/src/writeData/components/WriteDataSections.tsx deleted file mode 100644 index 12869ec23e6..00000000000 --- a/ui/src/writeData/components/WriteDataSections.tsx +++ /dev/null @@ -1,55 +0,0 @@ -// Libraries -import React, {FC, useContext} from 'react' - -// Contexts -import {WriteDataSearchContext} from 'src/writeData/containers/WriteDataPage' - -// Constants -import { - WRITE_DATA_SECTIONS, - sectionContainsMatchingItems, -} from 'src/writeData/constants' - -// Utils -import {isFlagEnabled} from 'src/shared/utils/featureFlag' - -// Components -import {EmptyState, ComponentSize} from '@influxdata/clockface' -import WriteDataSection from 'src/writeData/components/WriteDataSection' - -const WriteDataSections: FC = () => { - const {searchTerm} = useContext(WriteDataSearchContext) - - const filteredSections = WRITE_DATA_SECTIONS.filter(section => { - const containsMatches = sectionContainsMatchingItems(section, searchTerm) - const featureFlagEnabled = isFlagEnabled(section.featureFlag) - - return containsMatches && featureFlagEnabled - }) - - if (!filteredSections.length) { - return ( - -

- Nothing matched {`"${searchTerm}"`} -

-
- ) - } - - return ( - <> - {filteredSections.map(section => ( - - ))} - - ) -} - -export default WriteDataSections diff --git a/ui/src/writeData/components/clientLibraries/Arduino.md b/ui/src/writeData/components/clientLibraries/Arduino.md deleted file mode 100644 index 1f4d0000296..00000000000 --- a/ui/src/writeData/components/clientLibraries/Arduino.md +++ /dev/null @@ -1,186 +0,0 @@ -For more detailed and up to date information check out the [GitHub Respository](https://github.com/tobiasschuerg/InfluxDB-Client-for-Arduino) - -##### Install Library - -Library Manager - -``` -1. Open the Arduino IDE and click to the "Sketch" menu and then Include Library > Manage Libraries. -2. Type 'influxdb' in the search box -3. Install the 'InfluxDBClient for Arduino' library -``` - -Manual Installation - -``` -1. cd /library. -2. git clone https://github.com/tobiasschuerg/InfluxDB-Client-for-Arduino -3. Restart the Arduino IDE -``` - -##### Initialize the Client - -``` -#if defined(ESP32) -#include -WiFiMulti wifiMulti; -#define DEVICE "ESP32" -#elif defined(ESP8266) -#include -ESP8266WiFiMulti wifiMulti; -#define DEVICE "ESP8266" -#endif - -#include -#include - -// WiFi AP SSID -#define WIFI_SSID "SSID" -// WiFi password -#define WIFI_PASSWORD "PASSWORD" -// InfluxDB v2 server url, e.g. https://eu-central-1-1.aws.cloud2.influxdata.com (Use: InfluxDB UI -> Load Data -> Client Libraries) -#define INFLUXDB_URL "<%= server %>" -// InfluxDB v2 server or cloud API authentication token (Use: InfluxDB UI -> Data -> Tokens ->