Refactoring: move all code files into a src directory

This commit is contained in:
Pieter Vander Vennet 2023-07-09 13:09:05 +02:00
parent de99f56ca8
commit e75d2789d2
389 changed files with 0 additions and 12 deletions

View file

@ -0,0 +1,43 @@
import ExtraLinkConfigJson from "./Json/ExtraLinkConfigJson"
import { Translation } from "../../UI/i18n/Translation"
import Translations from "../../UI/i18n/Translations"
export default class ExtraLinkConfig {
public readonly icon?: string
public readonly text?: Translation
public readonly href: string
public readonly newTab?: false | boolean
public readonly requirements?: Set<
"iframe" | "no-iframe" | "welcome-message" | "no-welcome-message"
>
constructor(configJson: ExtraLinkConfigJson, context) {
this.icon = configJson.icon
this.text = Translations.T(configJson.text, "themes:" + context + ".text")
this.href = configJson.href
this.newTab = configJson.newTab
this.requirements = new Set(configJson.requirements)
for (let requirement of configJson.requirements) {
if (this.requirements.has(<any>("no-" + requirement))) {
throw (
"Conflicting requirements found for " +
context +
".extraLink: both '" +
requirement +
"' and 'no-" +
requirement +
"' found"
)
}
}
if (this.icon === undefined && this.text === undefined) {
throw (
"At " +
context +
".extraLink: define at least an icon or a text to show. Both are undefined, this is not allowed"
)
}
}
}