Add check for sync-selection mode, fix personal theme by revoking it's special status from 'determine theme', fix #871

This commit is contained in:
Pieter Vander Vennet 2022-06-13 03:13:42 +02:00
parent 3b01e62fbe
commit 7c6e292013
9 changed files with 59 additions and 27 deletions

View file

@ -4,7 +4,8 @@ import {Utils} from "../../../Utils";
export interface DesugaringContext {
tagRenderings: Map<string, TagRenderingConfigJson>
sharedLayers: Map<string, LayerConfigJson>
sharedLayers: Map<string, LayerConfigJson>,
publicLayers: Set<string>
}
export abstract class Conversion<TIn, TOut> {

View file

@ -453,9 +453,16 @@ class PreparePersonalTheme extends DesugaringStep<LayoutConfigJson> {
if (json.id !== "personal") {
return {result: json}
}
// The only thing this _really_ does, is adding the layer-ids into 'layers'
// All other preparations are done by the 'override-all'-block in personal.json
json.layers = Array.from(this._state.sharedLayers.keys()).filter(l => Constants.priviliged_layers.indexOf(l) < 0)
return {result: json};
json.layers = Array.from(this._state.sharedLayers.keys())
.filter(l => Constants.priviliged_layers.indexOf(l) < 0)
.filter(l => this._state.publicLayers.has(l))
return {result: json, information: [
"The personal theme has "+json.layers.length+" public layers"
]};
}
}