From 5269481afc60fbbc5c568e9ef562b33009a9f7b1 Mon Sep 17 00:00:00 2001 From: Pieter Vander Vennet Date: Fri, 28 Jul 2023 00:46:02 +0200 Subject: [PATCH] Docs: add stack offset for featureSwitches and booleanSwitch --- src/Logic/DetermineLayout.ts | 34 +++++++++++---------------- src/Logic/State/FeatureSwitchState.ts | 2 +- src/Logic/Web/QueryParameters.ts | 9 ++++--- 3 files changed, 21 insertions(+), 24 deletions(-) diff --git a/src/Logic/DetermineLayout.ts b/src/Logic/DetermineLayout.ts index 550b9de32a..1316a241b1 100644 --- a/src/Logic/DetermineLayout.ts +++ b/src/Logic/DetermineLayout.ts @@ -1,32 +1,26 @@ import LayoutConfig from "../Models/ThemeConfig/LayoutConfig" -import { QueryParameters } from "./Web/QueryParameters" -import { AllKnownLayouts } from "../Customizations/AllKnownLayouts" -import { FixedUiElement } from "../UI/Base/FixedUiElement" -import { Utils } from "../Utils" +import {QueryParameters} from "./Web/QueryParameters" +import {AllKnownLayouts} from "../Customizations/AllKnownLayouts" +import {FixedUiElement} from "../UI/Base/FixedUiElement" +import {Utils} from "../Utils" import Combine from "../UI/Base/Combine" -import { SubtleButton } from "../UI/Base/SubtleButton" +import {SubtleButton} from "../UI/Base/SubtleButton" import BaseUIElement from "../UI/BaseUIElement" -import { UIEventSource } from "./UIEventSource" -import { LocalStorageSource } from "./Web/LocalStorageSource" +import {UIEventSource} from "./UIEventSource" +import {LocalStorageSource} from "./Web/LocalStorageSource" import LZString from "lz-string" -import { FixLegacyTheme } from "../Models/ThemeConfig/Conversion/LegacyJsonConvert" -import { LayerConfigJson } from "../Models/ThemeConfig/Json/LayerConfigJson" +import {FixLegacyTheme} from "../Models/ThemeConfig/Conversion/LegacyJsonConvert" +import {LayerConfigJson} from "../Models/ThemeConfig/Json/LayerConfigJson" import known_layers from "../assets/generated/known_layers.json" -import { PrepareTheme } from "../Models/ThemeConfig/Conversion/PrepareTheme" +import {PrepareTheme} from "../Models/ThemeConfig/Conversion/PrepareTheme" import licenses from "../assets/generated/license_info.json" import TagRenderingConfig from "../Models/ThemeConfig/TagRenderingConfig" -import { FixImages } from "../Models/ThemeConfig/Conversion/FixImages" +import {FixImages} from "../Models/ThemeConfig/Conversion/FixImages" import Svg from "../Svg" import questions from "../assets/generated/layers/questions.json" -import { - DoesImageExist, - PrevalidateTheme, - ValidateTagRenderings, - ValidateThemeAndLayers, -} from "../Models/ThemeConfig/Conversion/Validation" -import { DesugaringContext } from "../Models/ThemeConfig/Conversion/Conversion" -import { RewriteSpecial } from "../Models/ThemeConfig/Conversion/PrepareLayer" -import { TagRenderingConfigJson } from "../Models/ThemeConfig/Json/TagRenderingConfigJson" +import {DoesImageExist, PrevalidateTheme, ValidateThemeAndLayers,} from "../Models/ThemeConfig/Conversion/Validation" +import {DesugaringContext} from "../Models/ThemeConfig/Conversion/Conversion" +import {TagRenderingConfigJson} from "../Models/ThemeConfig/Json/TagRenderingConfigJson" import Hash from "./Web/Hash" export default class DetermineLayout { diff --git a/src/Logic/State/FeatureSwitchState.ts b/src/Logic/State/FeatureSwitchState.ts index 50fe731eaa..852075b269 100644 --- a/src/Logic/State/FeatureSwitchState.ts +++ b/src/Logic/State/FeatureSwitchState.ts @@ -10,7 +10,7 @@ import { Utils } from "../../Utils" class FeatureSwitchUtils { static initSwitch(key: string, deflt: boolean, documentation: string): UIEventSource { const defaultValue = deflt - const queryParam = QueryParameters.GetQueryParameter(key, "" + defaultValue, documentation) + const queryParam = QueryParameters.GetQueryParameter(key, "" + defaultValue, documentation, {stackOffset: -1}) // It takes the current layout, extracts the default value for this query parameter. A query parameter event source is then retrieved and flattened return queryParam.sync( diff --git a/src/Logic/Web/QueryParameters.ts b/src/Logic/Web/QueryParameters.ts index 446982b499..9a05548a07 100644 --- a/src/Logic/Web/QueryParameters.ts +++ b/src/Logic/Web/QueryParameters.ts @@ -17,14 +17,17 @@ export class QueryParameters { public static GetQueryParameter( key: string, deflt: string, - documentation?: string + documentation?: string, + options?: { + stackOffset?: number + } ): UIEventSource { if (!this.initialized) { this.init() } if (Utils.runningFromConsole) { - const location = Utils.getLocationInCode(-1) + const location = Utils.getLocationInCode(-1 + (options?.stackOffset ?? 0)) documentation += "\n\nThis documentation is defined in the source code at [" + @@ -63,7 +66,7 @@ export class QueryParameters { documentation?: string ): UIEventSource { return UIEventSource.asBoolean( - QueryParameters.GetQueryParameter(key, "" + deflt, documentation) + QueryParameters.GetQueryParameter(key, "" + deflt, documentation, {stackOffset: -1}) ) }