UNPKG

infusion

Version:

Infusion is an application framework for developing flexible stuff with JavaScript

286 lines (266 loc) 10 kB
/* Copyright The Infusion copyright holders See the AUTHORS.md file at the top-level directory of this distribution and at https://github.com/fluid-project/infusion/raw/main/AUTHORS.md. Licensed under the Educational Community License (ECL), Version 2.0 or the New BSD license. You may not use this file except in compliance with one these Licenses. You may obtain a copy of the ECL 2.0 License and BSD License at https://github.com/fluid-project/infusion/raw/main/Infusion-LICENSE.txt */ "use strict"; /******************************************************************************* * Starter auxiliary schema grades * * Contains the settings for 7 preferences: text size, line space, text font, * contrast, table of contents, inputs larger and emphasize links *******************************************************************************/ fluid.defaults("fluid.prefs.auxSchema.textSize", { gradeNames: ["fluid.prefs.auxSchema"], auxiliarySchema: { "fluid.prefs.textSize": { alias: "textSize", enactor: { type: "fluid.prefs.enactor.textSize" }, panel: { type: "fluid.prefs.panel.textSize", container: ".flc-prefsEditor-text-size", // the css selector in the template where the panel is rendered message: "%messagePrefix/textSize.json", template: "%templatePrefix/PrefsEditorTemplate-textSize.html" } } } }); fluid.defaults("fluid.prefs.auxSchema.lineSpace", { gradeNames: ["fluid.prefs.auxSchema"], auxiliarySchema: { "fluid.prefs.lineSpace": { alias: "lineSpace", enactor: { type: "fluid.prefs.enactor.lineSpace", fontSizeMap: { "xx-small": "9px", "x-small": "11px", "small": "13px", "medium": "15px", "large": "18px", "x-large": "23px", "xx-large": "30px" } }, panel: { type: "fluid.prefs.panel.lineSpace", container: ".flc-prefsEditor-line-space", // the css selector in the template where the panel is rendered message: "%messagePrefix/lineSpace.json", template: "%templatePrefix/PrefsEditorTemplate-lineSpace.html" } } } }); fluid.defaults("fluid.prefs.auxSchema.textFont", { gradeNames: ["fluid.prefs.auxSchema"], auxiliarySchema: { "fluid.prefs.textFont": { alias: "textFont", enactor: { type: "fluid.prefs.enactor.textFont", classes: { "default": "", "system": "fl-font-system-ui", "times": "fl-font-times", "comic": "fl-font-comic-sans", "arial": "fl-font-arial", "verdana": "fl-font-verdana", "open-dyslexic": "fl-font-open-dyslexic", "atkinson-hyperlegible": "fl-font-atkinson-hyperlegible" } }, panel: { type: "fluid.prefs.panel.textFont", container: ".flc-prefsEditor-text-font", // the css selector in the template where the panel is rendered classnameMap: { "textFont": { "default": "", "system": "fl-font-system-ui", "times": "fl-font-times", "comic": "fl-font-comic-sans", "arial": "fl-font-arial", "verdana": "fl-font-verdana", "open-dyslexic": "fl-font-open-dyslexic", "atkinson-hyperlegible": "fl-font-atkinson-hyperlegible" } }, template: "%templatePrefix/PrefsEditorTemplate-textFont.html", message: "%messagePrefix/textFont.json" } } } }); fluid.defaults("fluid.prefs.auxSchema.contrast", { gradeNames: ["fluid.prefs.auxSchema"], auxiliarySchema: { "fluid.prefs.contrast": { alias: "theme", enactor: { type: "fluid.prefs.enactor.contrast", classes: { "default": "fl-theme-prefsEditor-default", "bw": "fl-theme-bw", "wb": "fl-theme-wb", "by": "fl-theme-by", "yb": "fl-theme-yb", "lgdg": "fl-theme-lgdg", "gd": "fl-theme-gd", "gw": "fl-theme-gw", "bbr": "fl-theme-bbr" } }, panel: { type: "fluid.prefs.panel.contrast", container: ".flc-prefsEditor-contrast", // the css selector in the template where the panel is rendered classnameMap: { "theme": { "default": "fl-theme-prefsEditor-default", "bw": "fl-theme-bw", "wb": "fl-theme-wb", "by": "fl-theme-by", "yb": "fl-theme-yb", "lgdg": "fl-theme-lgdg", "gd": "fl-theme-gd", "gw": "fl-theme-gw", "bbr": "fl-theme-bbr" } }, template: "%templatePrefix/PrefsEditorTemplate-contrast.html", message: "%messagePrefix/contrast.json" } } } }); fluid.defaults("fluid.prefs.auxSchema.tableOfContents", { gradeNames: ["fluid.prefs.auxSchema"], auxiliarySchema: { "fluid.prefs.tableOfContents": { alias: "toc", enactor: { type: "fluid.prefs.enactor.tableOfContents", tocTemplate: "../../components/tableOfContents/html/TableOfContents.html", tocMessage: "../../framework/preferences/messages/tableOfContents-enactor.json" }, panel: { type: "fluid.prefs.panel.layoutControls", container: ".flc-prefsEditor-layout-controls", // the css selector in the template where the panel is rendered template: "%templatePrefix/PrefsEditorTemplate-layout.html", message: "%messagePrefix/tableOfContents.json" } } } }); fluid.defaults("fluid.prefs.auxSchema.enhanceInputs", { gradeNames: ["fluid.prefs.auxSchema"], auxiliarySchema: { "fluid.prefs.enhanceInputs": { alias: "inputs", enactor: { type: "fluid.prefs.enactor.enhanceInputs", cssClass: "fl-input-enhanced" }, panel: { type: "fluid.prefs.panel.enhanceInputs", container: ".flc-prefsEditor-enhanceInputs", // the css selector in the template where the panel is rendered template: "%templatePrefix/PrefsEditorTemplate-enhanceInputs.html", message: "%messagePrefix/enhanceInputs.json" } } } }); /******************************************************************************* * Starter primary schema grades * * Contains the settings for 7 preferences: text size, line space, text font, * contrast, table of contents, inputs larger and emphasize links *******************************************************************************/ fluid.defaults("fluid.prefs.schemas.textSize", { gradeNames: ["fluid.prefs.schemas"], schema: { "fluid.prefs.textSize": { "type": "number", "default": 1, "minimum": 0.5, "maximum": 2, "multipleOf": 0.1 } } }); fluid.defaults("fluid.prefs.schemas.lineSpace", { gradeNames: ["fluid.prefs.schemas"], schema: { "fluid.prefs.lineSpace": { "type": "number", "default": 1, "minimum": 0.7, "maximum": 2, "multipleOf": 0.1 } } }); fluid.defaults("fluid.prefs.schemas.textFont", { gradeNames: ["fluid.prefs.schemas"], schema: { "fluid.prefs.textFont": { "type": "string", "default": "default", "enum": ["default", "system", "times", "comic", "arial", "verdana", "open-dyslexic", "atkinson-hyperlegible"], "enumLabels": [ "textFont-default", "textFont-system", "textFont-times", "textFont-comic", "textFont-arial", "textFont-verdana", "textFont-open-dyslexic", "textFont-atkinson-hyperlegible" ] } } }); fluid.defaults("fluid.prefs.schemas.contrast", { gradeNames: ["fluid.prefs.schemas"], schema: { "fluid.prefs.contrast": { "type": "string", "default": "default", "enum": ["default", "bw", "wb", "by", "yb", "lgdg", "gw", "gd", "bbr"], "enumLabels": [ "contrast-default", "contrast-bw", "contrast-wb", "contrast-by", "contrast-yb", "contrast-lgdg", "contrast-gw", "contrast-gd", "contrast-bbr" ] } } }); fluid.defaults("fluid.prefs.schemas.tableOfContents", { gradeNames: ["fluid.prefs.schemas"], schema: { "fluid.prefs.tableOfContents": { "type": "boolean", "default": false } } }); fluid.defaults("fluid.prefs.schemas.enhanceInputs", { gradeNames: ["fluid.prefs.schemas"], schema: { "fluid.prefs.enhanceInputs": { "type": "boolean", "default": false } } });