Remove statics

This commit is contained in:
toasted-nutbread 2020-04-09 21:59:02 -04:00
parent 75c5c7aabc
commit d7e4ff067e

View File

@ -44,7 +44,7 @@ class DisplayGenerator {
const debugInfoContainer = node.querySelector('.debug-info'); const debugInfoContainer = node.querySelector('.debug-info');
const bodyContainer = node.querySelector('.term-entry-body'); const bodyContainer = node.querySelector('.term-entry-body');
const pitches = DisplayGenerator._getPitchInfos(details); const pitches = this._getPitchInfos(details);
const pitchCount = pitches.reduce((i, v) => i + v[1].length, 0); const pitchCount = pitches.reduce((i, v) => i + v[1].length, 0);
const expressionMulti = Array.isArray(details.expressions); const expressionMulti = Array.isArray(details.expressions);
@ -70,11 +70,11 @@ class DisplayGenerator {
let expressions = details.expressions; let expressions = details.expressions;
expressions = Array.isArray(expressions) ? expressions.map((e) => [e, termTags]) : null; expressions = Array.isArray(expressions) ? expressions.map((e) => [e, termTags]) : null;
DisplayGenerator._appendMultiple(expressionsContainer, this.createTermExpression.bind(this), expressions, [[details, termTags]]); this._appendMultiple(expressionsContainer, this.createTermExpression.bind(this), expressions, [[details, termTags]]);
DisplayGenerator._appendMultiple(reasonsContainer, this.createTermReason.bind(this), details.reasons); this._appendMultiple(reasonsContainer, this.createTermReason.bind(this), details.reasons);
DisplayGenerator._appendMultiple(frequenciesContainer, this.createFrequencyTag.bind(this), details.frequencies); this._appendMultiple(frequenciesContainer, this.createFrequencyTag.bind(this), details.frequencies);
DisplayGenerator._appendMultiple(pitchesContainer, this.createPitches.bind(this), pitches); this._appendMultiple(pitchesContainer, this.createPitches.bind(this), pitches);
DisplayGenerator._appendMultiple(definitionsContainer, this.createTermDefinitionItem.bind(this), details.definitions, [details]); this._appendMultiple(definitionsContainer, this.createTermDefinitionItem.bind(this), details.definitions, [details]);
if (debugInfoContainer !== null) { if (debugInfoContainer !== null) {
debugInfoContainer.textContent = JSON.stringify(details, null, 4); debugInfoContainer.textContent = JSON.stringify(details, null, 4);
@ -100,7 +100,7 @@ class DisplayGenerator {
// This case should not occur // This case should not occur
furiganaSegments = [{text: details.expression, furigana: details.reading}]; furiganaSegments = [{text: details.expression, furigana: details.reading}];
} }
DisplayGenerator._appendFurigana(expressionContainer, furiganaSegments, this._appendKanjiLinks.bind(this)); this._appendFurigana(expressionContainer, furiganaSegments, this._appendKanjiLinks.bind(this));
} }
if (!Array.isArray(termTags)) { if (!Array.isArray(termTags)) {
@ -110,9 +110,9 @@ class DisplayGenerator {
const searchQueries = [details.expression, details.reading] const searchQueries = [details.expression, details.reading]
.filter((x) => !!x) .filter((x) => !!x)
.map((x) => ({query: x})); .map((x) => ({query: x}));
DisplayGenerator._appendMultiple(tagContainer, this.createTag.bind(this), termTags); this._appendMultiple(tagContainer, this.createTag.bind(this), termTags);
DisplayGenerator._appendMultiple(tagContainer, this.createSearchTag.bind(this), searchQueries); this._appendMultiple(tagContainer, this.createSearchTag.bind(this), searchQueries);
DisplayGenerator._appendMultiple(frequencyContainer, this.createFrequencyTag.bind(this), details.frequencies); this._appendMultiple(frequencyContainer, this.createFrequencyTag.bind(this), details.frequencies);
return node; return node;
} }
@ -134,9 +134,9 @@ class DisplayGenerator {
node.dataset.dictionary = details.dictionary; node.dataset.dictionary = details.dictionary;
DisplayGenerator._appendMultiple(tagListContainer, this.createTag.bind(this), details.definitionTags); this._appendMultiple(tagListContainer, this.createTag.bind(this), details.definitionTags);
DisplayGenerator._appendMultiple(onlyListContainer, this.createTermOnly.bind(this), details.only); this._appendMultiple(onlyListContainer, this.createTermOnly.bind(this), details.only);
DisplayGenerator._appendMultiple(glossaryContainer, this.createTermGlossaryItem.bind(this), details.glossary); this._appendMultiple(glossaryContainer, this.createTermGlossaryItem.bind(this), details.glossary);
return node; return node;
} }
@ -145,7 +145,7 @@ class DisplayGenerator {
const node = this._templateHandler.instantiate('term-glossary-item'); const node = this._templateHandler.instantiate('term-glossary-item');
const container = node.querySelector('.term-glossary'); const container = node.querySelector('.term-glossary');
if (container !== null) { if (container !== null) {
DisplayGenerator._appendMultilineText(container, glossary); this._appendMultilineText(container, glossary);
} }
return node; return node;
} }
@ -184,11 +184,11 @@ class DisplayGenerator {
glyphContainer.textContent = details.character; glyphContainer.textContent = details.character;
} }
DisplayGenerator._appendMultiple(frequenciesContainer, this.createFrequencyTag.bind(this), details.frequencies); this._appendMultiple(frequenciesContainer, this.createFrequencyTag.bind(this), details.frequencies);
DisplayGenerator._appendMultiple(tagContainer, this.createTag.bind(this), details.tags); this._appendMultiple(tagContainer, this.createTag.bind(this), details.tags);
DisplayGenerator._appendMultiple(glossaryContainer, this.createKanjiGlossaryItem.bind(this), details.glossary); this._appendMultiple(glossaryContainer, this.createKanjiGlossaryItem.bind(this), details.glossary);
DisplayGenerator._appendMultiple(chineseReadingsContainer, this.createKanjiReading.bind(this), details.onyomi); this._appendMultiple(chineseReadingsContainer, this.createKanjiReading.bind(this), details.onyomi);
DisplayGenerator._appendMultiple(japaneseReadingsContainer, this.createKanjiReading.bind(this), details.kunyomi); this._appendMultiple(japaneseReadingsContainer, this.createKanjiReading.bind(this), details.kunyomi);
if (statisticsContainer !== null) { if (statisticsContainer !== null) {
statisticsContainer.appendChild(this.createKanjiInfoTable(details.stats.misc)); statisticsContainer.appendChild(this.createKanjiInfoTable(details.stats.misc));
@ -214,7 +214,7 @@ class DisplayGenerator {
const node = this._templateHandler.instantiate('kanji-glossary-item'); const node = this._templateHandler.instantiate('kanji-glossary-item');
const container = node.querySelector('.kanji-glossary'); const container = node.querySelector('.kanji-glossary');
if (container !== null) { if (container !== null) {
DisplayGenerator._appendMultilineText(container, glossary); this._appendMultilineText(container, glossary);
} }
return node; return node;
} }
@ -231,7 +231,7 @@ class DisplayGenerator {
const container = node.querySelector('.kanji-info-table-body'); const container = node.querySelector('.kanji-info-table-body');
if (container !== null) { if (container !== null) {
const count = DisplayGenerator._appendMultiple(container, this.createKanjiInfoTableItem.bind(this), details); const count = this._appendMultiple(container, this.createKanjiInfoTableItem.bind(this), details);
if (count === 0) { if (count === 0) {
const n = this.createKanjiInfoTableItemEmpty(); const n = this.createKanjiInfoTableItemEmpty();
container.appendChild(n); container.appendChild(n);
@ -298,7 +298,7 @@ class DisplayGenerator {
node.querySelector('.term-pitch-accent-group-tag-list').appendChild(tag); node.querySelector('.term-pitch-accent-group-tag-list').appendChild(tag);
const n = node.querySelector('.term-pitch-accent-list'); const n = node.querySelector('.term-pitch-accent-list');
DisplayGenerator._appendMultiple(n, this.createPitch.bind(this), dictionaryPitches); this._appendMultiple(n, this.createPitch.bind(this), dictionaryPitches);
return node; return node;
} }
@ -316,7 +316,7 @@ class DisplayGenerator {
n.textContent = `${position}`; n.textContent = `${position}`;
n = node.querySelector('.term-pitch-accent-tag-list'); n = node.querySelector('.term-pitch-accent-tag-list');
DisplayGenerator._appendMultiple(n, this.createTag.bind(this), tags); this._appendMultiple(n, this.createTag.bind(this), tags);
n = node.querySelector('.term-pitch-accent-disambiguation-list'); n = node.querySelector('.term-pitch-accent-disambiguation-list');
this.createPitchAccentDisambiguations(n, exclusiveExpressions, exclusiveReadings); this.createPitchAccentDisambiguations(n, exclusiveExpressions, exclusiveReadings);
@ -445,7 +445,7 @@ class DisplayGenerator {
} }
} }
static _appendMultiple(container, createItem, detailsIterable, fallback=[]) { _appendMultiple(container, createItem, detailsIterable, fallback=[]) {
if (container === null) { return 0; } if (container === null) { return 0; }
const multi = ( const multi = (
@ -468,7 +468,7 @@ class DisplayGenerator {
return count; return count;
} }
static _appendFurigana(container, segments, addText) { _appendFurigana(container, segments, addText) {
for (const {text, furigana} of segments) { for (const {text, furigana} of segments) {
if (furigana) { if (furigana) {
const ruby = document.createElement('ruby'); const ruby = document.createElement('ruby');
@ -483,7 +483,7 @@ class DisplayGenerator {
} }
} }
static _appendMultilineText(container, text) { _appendMultilineText(container, text) {
const parts = text.split('\n'); const parts = text.split('\n');
container.appendChild(document.createTextNode(parts[0])); container.appendChild(document.createTextNode(parts[0]));
for (let i = 1, ii = parts.length; i < ii; ++i) { for (let i = 1, ii = parts.length; i < ii; ++i) {
@ -492,7 +492,7 @@ class DisplayGenerator {
} }
} }
static _getPitchInfos(definition) { _getPitchInfos(definition) {
const results = new Map(); const results = new Map();
const allExpressions = new Set(); const allExpressions = new Set();
@ -510,7 +510,7 @@ class DisplayGenerator {
} }
for (const {position, tags} of pitches) { for (const {position, tags} of pitches) {
let pitchInfo = DisplayGenerator._findExistingPitchInfo(reading, position, tags, dictionaryResults); let pitchInfo = this._findExistingPitchInfo(reading, position, tags, dictionaryResults);
if (pitchInfo === null) { if (pitchInfo === null) {
pitchInfo = {expressions: new Set(), reading, position, tags}; pitchInfo = {expressions: new Set(), reading, position, tags};
dictionaryResults.push(pitchInfo); dictionaryResults.push(pitchInfo);
@ -539,12 +539,12 @@ class DisplayGenerator {
return [...results.entries()]; return [...results.entries()];
} }
static _findExistingPitchInfo(reading, position, tags, pitchInfoList) { _findExistingPitchInfo(reading, position, tags, pitchInfoList) {
for (const pitchInfo of pitchInfoList) { for (const pitchInfo of pitchInfoList) {
if ( if (
pitchInfo.reading === reading && pitchInfo.reading === reading &&
pitchInfo.position === position && pitchInfo.position === position &&
DisplayGenerator._areTagListsEqual(pitchInfo.tags, tags) this._areTagListsEqual(pitchInfo.tags, tags)
) { ) {
return pitchInfo; return pitchInfo;
} }
@ -552,7 +552,7 @@ class DisplayGenerator {
return null; return null;
} }
static _areTagListsEqual(tagList1, tagList2) { _areTagListsEqual(tagList1, tagList2) {
const ii = tagList1.length; const ii = tagList1.length;
if (tagList2.length !== ii) { return false; } if (tagList2.length !== ii) { return false; }