Unified · Split
| @@ -630,6 +630,45 @@ namespace GrafanaAdapters · 629 unmodified lines | ||
| 630 | 630 | }); |
| 631 | 631 | } |
| 632 | 632 | |
| 633 | + /// <summary> | |
| 634 | + /// Search data source for a list of columns from a specific table. | |
| 635 | + /// </summary> | |
| 636 | + /// <param name="request">Table Name.</param> | |
| 637 | + public virtual Task<string[]> SearchFields(Target request) | |
| 638 | + { | |
| 639 | + return Task.Factory.StartNew(() => { | |
| 640 | + return Metadata.Tables[request.target].Columns.Cast<DataColumn>().Select(x => x.ColumnName).ToArray(); | |
| 641 | + }); | |
| 642 | + } | |
| 643 | + | |
| 644 | + | |
| 645 | + /// <summary> | |
| 646 | + /// Search data source for a list of tables. | |
| 647 | + /// </summary> | |
| 648 | + /// <param name="request">Request.</param> | |
| 649 | + public virtual Task<string[]> SearchFilters(Target request) | |
| 650 | + { | |
| 651 | + return Task.Factory.StartNew(() => { | |
| 652 | + return Metadata.Tables.Cast<DataTable>().Select(x => x.TableName).ToArray(); | |
| 653 | + }); | |
| 654 | + } | |
| 655 | + | |
| 656 | + /// <summary> | |
| 657 | + /// Search data source for a list of columns from a specific table. | |
| 658 | + /// </summary> | |
| 659 | + /// <param name="request">Table Name.</param> | |
| 660 | + public virtual Task<string[]> SearchOrderBys(Target request) | |
| 661 | + { | |
| 662 | + return Task.Factory.StartNew(() => { | |
| 663 | + IEnumerable<string> ascStrings = Metadata.Tables[request.target].Columns.Cast<DataColumn>().Select(x => x.ColumnName + " ASC").ToArray(); | |
| 664 | + IEnumerable<string> descStrings = Metadata.Tables[request.target].Columns.Cast<DataColumn>().Select(x => x.ColumnName + " DESC").ToArray(); | |
| 665 | + return ascStrings.Union(descStrings).OrderBy(x => x).ToArray(); | |
| 666 | + }); | |
| 667 | + } | |
| 668 | + | |
| 669 | + | |
| 670 | + | |
| 671 | + | |
| 633 | 672 | /// <summary> |
| 634 | 673 | /// Queries data source for annotations in a time-range (e.g., Alarms). |
| 635 | 674 | /// </summary> |