diff options
| author | bob <bcz@cs.brown.edu> | 2020-02-07 13:58:24 -0500 |
|---|---|---|
| committer | bob <bcz@cs.brown.edu> | 2020-02-07 13:58:24 -0500 |
| commit | ccedb9302632fcdbc75292b90942a34b98bebcee (patch) | |
| tree | bcf200acbe57e570d9b2bafc9a64f623d7544fe3 /src/client/views/MetadataEntryMenu.tsx | |
| parent | 92a5efa6876db1a497640aeb13fef5c8d99b102d (diff) | |
restored things that cause problems.
Diffstat (limited to 'src/client/views/MetadataEntryMenu.tsx')
| -rw-r--r-- | src/client/views/MetadataEntryMenu.tsx | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/src/client/views/MetadataEntryMenu.tsx b/src/client/views/MetadataEntryMenu.tsx index ac152bf67..23b21ae0c 100644 --- a/src/client/views/MetadataEntryMenu.tsx +++ b/src/client/views/MetadataEntryMenu.tsx @@ -133,7 +133,23 @@ export class MetadataEntryMenu extends React.Component<MetadataEntryProps>{ } getKeySuggestions = async (value: string): Promise<string[]> => { - return []; + value = value.toLowerCase(); + let docs = this.props.docs; + if (typeof docs === "function") { + if (this.props.suggestWithFunction) { + docs = docs(); + } else { + return []; + } + } + docs = await docs; + if (docs instanceof Doc) { + return Object.keys(docs).filter(key => key.toLowerCase().startsWith(value)); + } else { + const keys = new Set<string>(); + docs.forEach(doc => Doc.allKeys(doc).forEach(key => keys.add(key))); + return Array.from(keys).filter(key => key.toLowerCase().startsWith(value)); + } } getSuggestionValue = (suggestion: string) => suggestion; |
