From c03a01ec55cb677d958c170eeeb02eba55c2c653 Mon Sep 17 00:00:00 2001 From: Justin Obara Date: Mon, 12 Mar 2018 16:52:44 -0400 Subject: [PATCH 1/6] GPII-2429: Updating to work with latest Infusion. This is the version of Infusion that includes the Letter-Spacing Adjuster --- extension/src/lib/PrefsEditor.js | 4 ++-- package.json | 2 +- tests/browser/js/prefsEditorTests.js | 18 +++++++++--------- 3 files changed, 12 insertions(+), 12 deletions(-) diff --git a/extension/src/lib/PrefsEditor.js b/extension/src/lib/PrefsEditor.js index 56acfc5..ccc3471 100644 --- a/extension/src/lib/PrefsEditor.js +++ b/extension/src/lib/PrefsEditor.js @@ -166,7 +166,7 @@ gradeNames: ["fluid.prefs.panel.textSize"], preferenceMap: { "gpii.chrome.prefs.textSize": { - "model.textSize": "default", + "model.value": "default", "range.min": "minimum", "range.max": "maximum", "step": "divisibleBy" @@ -178,7 +178,7 @@ gradeNames: ["fluid.prefs.panel.lineSpace"], preferenceMap: { "gpii.chrome.prefs.lineSpace": { - "model.lineSpace": "default", + "model.value": "default", "range.min": "minimum", "range.max": "maximum", "step": "divisibleBy" diff --git a/package.json b/package.json index 792a3a2..363658e 100644 --- a/package.json +++ b/package.json @@ -29,7 +29,7 @@ "test": "node tests/node/all-tests.js" }, "dependencies": { - "infusion": "3.0.0-dev.20180227T185528Z.08741e844", + "infusion": "3.0.0-dev.20180312T184056Z.e4d2974d2", "ws": "1.1.0" }, "devDependencies": { diff --git a/tests/browser/js/prefsEditorTests.js b/tests/browser/js/prefsEditorTests.js index c3528a5..041e20c 100644 --- a/tests/browser/js/prefsEditorTests.js +++ b/tests/browser/js/prefsEditorTests.js @@ -190,11 +190,11 @@ args: ["textSize", "{textSize}.model", 1] }, { func: "gpii.tests.changeInput", - args: ["{textSize}.dom.textSize", "{that}.options.testOptions.newValue"] + args: ["{textSize}.dom.textfieldStepperContainer", "{that}.options.testOptions.newValue"] }, { listener: "fluid.tests.panels.utils.checkModel", - args: ["textSize", "{textSize}.model", "{that}.options.testOptions.newValue"], - spec: {path: "textSize", priority: "last"}, + args: ["value", "{textSize}.model", "{that}.options.testOptions.newValue"], + spec: {path: "value", priority: "last"}, changeEvent: "{textSize}.applier.modelChanged" }] }] @@ -256,11 +256,11 @@ args: ["lineSpace", "{lineSpace}.model", 1] }, { func: "gpii.tests.changeInput", - args: ["{lineSpace}.dom.lineSpace", "{that}.options.testOptions.newValue"] + args: ["{lineSpace}.dom.textfieldStepperContainer", "{that}.options.testOptions.newValue"] }, { listener: "fluid.tests.panels.utils.checkModel", - args: ["lineSpace", "{lineSpace}.model", "{that}.options.testOptions.newValue"], - spec: {path: "lineSpace", priority: "last"}, + args: ["value", "{lineSpace}.model", "{that}.options.testOptions.newValue"], + spec: {path: "value", priority: "last"}, changeEvent: "{lineSpace}.applier.modelChanged" } ] @@ -837,7 +837,7 @@ }, { // text size model change func: "gpii.tests.changeInput", - args: ["{prefsEditorStack}.prefsEditorLoader.prefsEditor.gpii_chrome_prefs_panel_textSize.dom.textSize", "{that}.options.testOpts.newModel.preferences.gpii_chrome_prefs_textSize"] + args: ["{prefsEditorStack}.prefsEditorLoader.prefsEditor.gpii_chrome_prefs_panel_textSize.dom.textfieldStepperContainer", "{that}.options.testOpts.newModel.preferences.gpii_chrome_prefs_textSize"] }, { listener: "gpii.tests.prefsEditorTests.assertSettingChanged", args: ["{prefsEditorStack}", "preferences.gpii_chrome_prefs_textSize", "{that}.options.testOpts.newModel.preferences.gpii_chrome_prefs_textSize", "{that}.options.testOpts.modelChanges.fontSize"], @@ -848,7 +848,7 @@ }, { // line space model change func: "gpii.tests.changeInput", - args: ["{prefsEditorStack}.prefsEditorLoader.prefsEditor.gpii_chrome_prefs_panel_lineSpace.dom.lineSpace", "{that}.options.testOpts.newModel.preferences.gpii_chrome_prefs_lineSpace"] + args: ["{prefsEditorStack}.prefsEditorLoader.prefsEditor.gpii_chrome_prefs_panel_lineSpace.dom.textfieldStepperContainer", "{that}.options.testOpts.newModel.preferences.gpii_chrome_prefs_lineSpace"] }, { listener: "gpii.tests.prefsEditorTests.assertSettingChanged", args: ["{prefsEditorStack}", "preferences.gpii_chrome_prefs_lineSpace", "{that}.options.testOpts.newModel.preferences.gpii_chrome_prefs_lineSpace", "{that}.options.testOpts.modelChanges.lineSpace"], @@ -930,7 +930,7 @@ listener: "gpii.tests.prefsEditorTests.assertExternalPrefChange", args: ["{prefsEditorStack}", "{that}.options.testOpts.newModel"], priority: "last:testing", - event: "{prefsEditorStack}.prefsEditorLoader.prefsEditor.events.afterFetch" + event: "{prefsEditorStack}.prefsEditorLoader.prefsEditor.events.afterWrite" }] }] }] From 099299c9893c3a44acd2a710bfaf869fd04d281d Mon Sep 17 00:00:00 2001 From: Justin Obara Date: Tue, 13 Mar 2018 16:17:11 -0400 Subject: [PATCH 2/6] GPII-2429: Adding Character Spacing Preference --- Gruntfile.js | 7 +- extension/messages/charSpace.json | 6 ++ extension/src/content_scripts/domEnactor.js | 22 ++++ extension/src/lib/PrefsEditor.js | 10 ++ extension/src/lib/domSettingsApplier.js | 1 + extension/templates/PrefsEditorPanel.html | 1 + tests/browser/html/domEnactorTests.html | 3 + tests/browser/html/prefsEditorTests.html | 1 + tests/browser/js/domEnactorTests.js | 71 ++++++++++++ tests/browser/js/prefsEditorTests.js | 113 +++++++++++++++++--- 10 files changed, 221 insertions(+), 14 deletions(-) create mode 100644 extension/messages/charSpace.json diff --git a/Gruntfile.js b/Gruntfile.js index e2c0eef..b757658 100644 --- a/Gruntfile.js +++ b/Gruntfile.js @@ -57,7 +57,8 @@ module.exports = function (grunt) { "node_modules/infusion/src/framework/enhancement/js/ContextAwareness.js", "node_modules/infusion/src/framework/enhancement/js/ProgressiveEnhancement.js", "node_modules/infusion/src/components/tableOfContents/js/TableOfContents.js", - "node_modules/infusion/src/framework/preferences/js/Enactors.js" + "node_modules/infusion/src/framework/preferences/js/Enactors.js", + "node_modules/infusion/src/framework/preferences/js/letterSpaceEnactor.js" ], adjustersLib: [ // jQuery @@ -101,7 +102,9 @@ module.exports = function (grunt) { "node_modules/infusion/src/framework/preferences/js/PrefsEditor.js", "node_modules/infusion/src/framework/preferences/js/Panels.js", "node_modules/infusion/src/framework/preferences/js/SelfVoicingPanel.js", + "node_modules/infusion/src/framework/preferences/js/letterSpacePanel.js", "node_modules/infusion/src/framework/preferences/js/Enactors.js", + "node_modules/infusion/src/framework/preferences/js/letterSpaceEnactor.js", "node_modules/infusion/src/framework/preferences/js/StarterGrades.js", "node_modules/infusion/src/framework/preferences/js/ArrowScrolling.js", "node_modules/infusion/src/framework/preferences/js/SeparatedPanelPrefsEditor.js", @@ -110,6 +113,7 @@ module.exports = function (grunt) { "node_modules/infusion/src/framework/preferences/js/AuxBuilder.js", "node_modules/infusion/src/framework/preferences/js/StarterSchemas.js", "node_modules/infusion/src/framework/preferences/js/SelfVoicingSchemas.js", + "node_modules/infusion/src/framework/preferences/js/letterSpaceSchemas.js", "node_modules/infusion/src/framework/preferences/js/Builder.js", // from extension @@ -121,6 +125,7 @@ module.exports = function (grunt) { "node_modules/infusion/src/components/tableOfContents/html/TableOfContents.html", "node_modules/infusion/src/framework/preferences/html/PrefsEditorTemplate-textSize.html", "node_modules/infusion/src/framework/preferences/html/PrefsEditorTemplate-lineSpace.html", + "node_modules/infusion/src/framework/preferences/html/PrefsEditorTemplate-letterSpace.html", "node_modules/infusion/src/framework/preferences/html/PrefsEditorTemplate-contrast.html", "node_modules/infusion/src/framework/preferences/html/PrefsEditorTemplate-layout.html", "node_modules/infusion/src/framework/preferences/html/PrefsEditorTemplate-enhanceInputs.html", diff --git a/extension/messages/charSpace.json b/extension/messages/charSpace.json new file mode 100644 index 0000000..6752b85 --- /dev/null +++ b/extension/messages/charSpace.json @@ -0,0 +1,6 @@ +{ + "label": "Character Spacing", + "description": "Adjust the spacing between characters", + "increaseLabel": "increase character spacing", + "decreaseLabel": "decrease character spacing" +} diff --git a/extension/src/content_scripts/domEnactor.js b/extension/src/content_scripts/domEnactor.js index 250e287..07962cb 100644 --- a/extension/src/content_scripts/domEnactor.js +++ b/extension/src/content_scripts/domEnactor.js @@ -71,6 +71,14 @@ } } }, + charSpace: { + type: "gpii.chrome.enactor.charSpace", + options: { + model: { + value: "{domEnactor}.model.characterSpace" + } + } + }, inputsLarger: { type: "gpii.chrome.enactor.inputsLarger", options: { @@ -145,6 +153,20 @@ } }); + // Character space + fluid.defaults("gpii.chrome.enactor.charSpace", { + gradeNames: ["fluid.prefs.enactor.letterSpace"], + fontSizeMap: { + "xx-small": "9px", + "x-small": "11px", + "small": "13px", + "medium": "15px", + "large": "18px", + "x-large": "23px", + "xx-large": "30px" + } + }); + // Inputs larger fluid.defaults("gpii.chrome.enactor.inputsLarger", { gradeNames: ["fluid.prefs.enactor.enhanceInputs"], diff --git a/extension/src/lib/PrefsEditor.js b/extension/src/lib/PrefsEditor.js index ccc3471..a96b468 100644 --- a/extension/src/lib/PrefsEditor.js +++ b/extension/src/lib/PrefsEditor.js @@ -25,6 +25,7 @@ "preferences.gpii_chrome_prefs_contrast": "settings.contrastTheme", "preferences.fluid_prefs_enhanceInputs": "settings.inputsLargerEnabled", "preferences.gpii_chrome_prefs_lineSpace": "settings.lineSpace", + "preferences.fluid_prefs_letterSpace": "settings.characterSpace", "preferences.fluid_prefs_tableOfContents": "settings.tableOfContentsEnabled", "preferences.gpii_chrome_prefs_textSize": "settings.fontSize", "preferences.fluid_prefs_speak": "settings.selfVoicingEnabled", @@ -276,6 +277,15 @@ "template": "%templatePrefix/PrefsEditorTemplate-lineSpace.html" } }, + "charSpace": { + "type": "fluid.prefs.letterSpace", + "panel": { + "type": "fluid.prefs.panel.letterSpace", + "container": ".flc-prefsEditor-char-space", + "message": "%messagePrefix/charSpace.json", + "template": "%templatePrefix/PrefsEditorTemplate-letterSpace.html" + } + }, "contrast": { "type": "gpii.chrome.prefs.contrast", "classes": { diff --git a/extension/src/lib/domSettingsApplier.js b/extension/src/lib/domSettingsApplier.js index f870975..a726113 100644 --- a/extension/src/lib/domSettingsApplier.js +++ b/extension/src/lib/domSettingsApplier.js @@ -34,6 +34,7 @@ fluid.defaults("gpii.chrome.domSettingsApplier", { // Accepted model values: // settings.contrastTheme: string, // settings.lineSpace: number, // the multiplier to the current line space + // settings.characterSpace: number, // settings.inputsLarger: boolean, // settings.selectionTheme: string, // settings.simplifiedUiEnabled: boolean, diff --git a/extension/templates/PrefsEditorPanel.html b/extension/templates/PrefsEditorPanel.html index 1facd5d..43c3b35 100644 --- a/extension/templates/PrefsEditorPanel.html +++ b/extension/templates/PrefsEditorPanel.html @@ -3,6 +3,7 @@