diff options
-rw-r--r-- | src/data/composite/wiki-data/withParsedCommentaryEntries.js | 23 | ||||
-rw-r--r-- | src/util/wiki-data.js | 2 |
2 files changed, 24 insertions, 1 deletions
diff --git a/src/data/composite/wiki-data/withParsedCommentaryEntries.js b/src/data/composite/wiki-data/withParsedCommentaryEntries.js index f0404a5d..f70a3ee9 100644 --- a/src/data/composite/wiki-data/withParsedCommentaryEntries.js +++ b/src/data/composite/wiki-data/withParsedCommentaryEntries.js @@ -95,6 +95,8 @@ export default templateCompositeFrom({ 'artistDisplayText', 'annotation', 'date', + 'accessDate', + 'accessKind', ]), }), @@ -150,11 +152,28 @@ export default templateCompositeFrom({ }, { + dependencies: ['#entries.accessDate'], + compute: (continuation, { + ['#entries.accessDate']: accessDate, + }) => continuation({ + ['#entries.accessDate']: + accessDate.map(date => date ? new Date(date) : null), + }), + }, + + fillMissingListItems({ + list: '#entries.accessKind', + fill: input.value(null), + }), + + { dependencies: [ '#entries.artists', '#entries.artistDisplayText', '#entries.annotation', '#entries.date', + '#entries.accessDate', + '#entries.accessKind', '#entries.body', ], @@ -163,6 +182,8 @@ export default templateCompositeFrom({ ['#entries.artistDisplayText']: artistDisplayText, ['#entries.annotation']: annotation, ['#entries.date']: date, + ['#entries.accessDate']: accessDate, + ['#entries.accessKind']: accessKind, ['#entries.body']: body, }) => continuation({ ['#parsedCommentaryEntries']: @@ -171,6 +192,8 @@ export default templateCompositeFrom({ artistDisplayText, annotation, date, + accessDate, + accessKind, body, }), }), diff --git a/src/util/wiki-data.js b/src/util/wiki-data.js index c0cb5418..8c318d02 100644 --- a/src/util/wiki-data.js +++ b/src/util/wiki-data.js @@ -90,7 +90,7 @@ export function getKebabCase(name) { // out of the original string based on the indices matched using this. // const commentaryRegexRaw = - String.raw`^<i>(?<artistReferences>.+?)(?:\|(?<artistDisplayText>.+))?:<\/i>(?: \((?<annotation>(?:.*?(?=,|\)[^)]*$))*?)(?:,? ?(?<date>[a-zA-Z]+ [0-9]{1,2}, [0-9]{4,4}|[0-9]{1,2} [^,]*[0-9]{4,4}|[0-9]{1,4}[-/][0-9]{1,4}[-/][0-9]{1,4}))?\))?`; + String.raw`^<i>(?<artistReferences>.+?)(?:\|(?<artistDisplayText>.+))?:<\/i>(?: \((?<annotation>(?:.*?(?=,|\)[^)]*$))*?)(?:,? ?(?<date>[a-zA-Z]+ [0-9]{1,2}, [0-9]{4,4}|[0-9]{1,2} [^,]*[0-9]{4,4}|[0-9]{1,4}[-/][0-9]{1,4}[-/][0-9]{1,4}))?(?: (?<accessKind>captured|accessed) (?<accessDate>[a-zA-Z]+ [0-9]{1,2}, [0-9]{4,4}|[0-9]{1,2} [^,]*[0-9]{4,4}|[0-9]{1,4}[-/][0-9]{1,4}[-/][0-9]{1,4}))?\))?`; export const commentaryRegexCaseInsensitive = new RegExp(commentaryRegexRaw, 'gmi'); export const commentaryRegexCaseSensitive = |