UNPKG

infusion

Version:

Infusion is an application framework for developing flexible stuff with JavaScript

75 lines (66 loc) 2.42 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/master/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/master/Infusion-LICENSE.txt */ var fluid_3_0_0 = fluid_3_0_0 || {}; (function ($, fluid) { "use strict"; /******************************************************************************* * selfVoicing * * The enactor that enables self voicing of the DOM *******************************************************************************/ fluid.defaults("fluid.prefs.enactor.selfVoicing", { gradeNames: ["fluid.prefs.enactor", "fluid.viewComponent"], preferenceMap: { "fluid.prefs.speak": { "model.enabled": "value" } }, selectors: { controller: ".flc-prefs-selfVoicingWidget" }, events: { onInitOrator: null }, modelListeners: { "enabled": { funcName: "fluid.prefs.enactor.selfVoicing.initOrator", args: ["{that}", "{change}.value"], namespace: "initOrator" } }, components: { orator: { type: "fluid.orator", createOnEvent: "onInitOrator", container: "{fluid.prefs.enactor.selfVoicing}.container", options: { model: { enabled: "{selfVoicing}.model.enabled" }, controller: { parentContainer: "{fluid.prefs.enactor.selfVoicing}.dom.controller" } } } }, distributeOptions: [{ source: "{that}.options.orator", target: "{that > orator}.options", removeSource: true, namespace: "oratorOpts" }] }); fluid.prefs.enactor.selfVoicing.initOrator = function (that, enabled) { if (enabled && !that.orator) { that.events.onInitOrator.fire(); } }; })(jQuery, fluid_3_0_0);