Skip to content

Commit

Permalink
NO-JIRA:Merging jobara's changes.
Browse files Browse the repository at this point in the history
  • Loading branch information
Jonathan Hung committed Mar 26, 2013
1 parent bc4d5dc commit 0188d12
Show file tree
Hide file tree
Showing 9 changed files with 179 additions and 78 deletions.
Expand Up @@ -2,25 +2,4 @@ <h2>Colour & Contrast</h2>
<div class="flc-uiOptions-themeRow fl-choice">
<input type="radio" class="flc-uiOptions-themeInput fl-hidden-accessible" name="theme" id="bw" value="bw" />
<label for="bw" class="flc-uiOptions-themeLabel fl-theme-bw"><span class="fl-preview-A">A</span><span class="fl-hidden-accessible">Black on White</span></label>
</div>

<!-- div class="flc-uiOptions-themeRow fl-choice fl-preview-default">
<label for="default" class="flc-uiOptions-themeLabel"><span class="fl-preview-A">A</span><span class="fl-hidden-accessible">Default</span></label>
<input type="radio" class="flc-uiOptions-themeInput" name="theme" id="default" value="default" />
</div>
<div class="flc-uiOptions-themeRow fl-choice">
<label for="bw" class="flc-uiOptions-themeLabel fl-theme-bw"><span class="fl-preview-A">A</span><span class="fl-hidden-accessible">Black on White</span></label>
<input type="radio" class="flc-uiOptions-themeInput" name="theme" id="bw" value="bw" />
</div>
<div class="flc-uiOptions-themeRow fl-choice">
<label for="wb" class="flc-uiOptions-themeLabel fl-theme-wb"><span class="fl-preview-A">A</span><span class="fl-hidden-accessible">White on Black</span></label>
<input type="radio" class="flc-uiOptions-themeInput " name="theme" id="wb" value="wb" />
</div>
<div class="flc-uiOptions-themeRow fl-choice">
<label for="by" class="flc-uiOptions-themeLabel fl-theme-by"><span class="fl-preview-A">A</span><span class="fl-hidden-accessible">Black on Yellow</span></label>
<input type="radio" class="flc-uiOptions-themeInput fl-inputs" name="theme" id="by" value="by" />
</div>
<div class="flc-uiOptions-themeRow fl-choice">
<label for="yb" class="flc-uiOptions-themeLabel fl-theme-yb"><span class="fl-preview-A">A</span><span class="fl-hidden-accessible">Yellow on Black</span></label>
<input type="radio" class="flc-uiOptions-themeInput fl-inputs" name="theme" id="yb" value="yb" />
</div -->
</div>
12 changes: 8 additions & 4 deletions src/webapp/components/uiOptions/js/SettingsPanels.js
Expand Up @@ -204,13 +204,14 @@ var fluid_1_5 = fluid_1_5 || {};
themeInput: ".flc-uiOptions-themeInput"
},
markup: {
label: "<span class=\"fl-preview-A\">A</span><span class=\"fl-hidden-accessible\">%theme</span>"
label: "<span class=\"fl-preview-A\">A</span><span>%theme</span>"
},
invokers: {
style: {
funcName: "fluid.uiOptions.contrast.style",
args: ["{that}.dom.themeLabel", "{that}.options.strings.theme",
"{that}.options.markup.label"]
"{that}.options.markup.label", "{that}.options.controlValues.theme",
"{that}.options.classnameMap.theme"]
}
},
listeners: {
Expand All @@ -225,10 +226,13 @@ var fluid_1_5 = fluid_1_5 || {};
}
});

fluid.uiOptions.contrast.style = function (labels, strings, markup) {
fluid.uiOptions.contrast.style = function (labels, strings, markup, theme, style) {
fluid.each(labels, function (label, index) {
label = $(label);
label.html(fluid.stringTemplate(markup, {theme: strings[index]}));
label.html(fluid.stringTemplate(markup, {
theme: strings[index]
}));
label.addClass(style[theme[index]]);
});
};

Expand Down
6 changes: 4 additions & 2 deletions src/webapp/demos/uiOptions/js/uiOptionsDemo.js
Expand Up @@ -60,8 +60,8 @@ var demo = demo || {};

// Tell UIOptions where to redirect to if the user cancels the operation
uiOptions: {
type: "fluid.uiOptions.defaultSettingsPanels",
options: {
gradeNames: ["fluid.uiOptions.defaultSettingsPanels"],
listeners: {
onCancel: function () {
window.location = "uiOptions.html";
Expand Down Expand Up @@ -94,7 +94,9 @@ var demo = demo || {};
// Tell UIOptions where to find all the templates, relative to this file
prefix: pathToTemplates,
uiOptions: {
type: "fluid.uiOptions.defaultSettingsPanels"
options: {
gradeNames: ["fluid.uiOptions.defaultSettingsPanels"]
}
}
});
};
Expand Down
25 changes: 14 additions & 11 deletions src/webapp/framework/core/js/Fluid.js
Expand Up @@ -1201,16 +1201,18 @@ var fluid = fluid || fluid_1_5;
var resolveGradesImpl = function (gs, gradeNames) {
gradeNames = fluid.makeArray(gradeNames);
fluid.each(gradeNames, function (gradeName) {
var options = fluid.rawDefaults(gradeName) || {};
gs.gradeHash[gradeName] = true;
gs.gradeChain.push(gradeName);
gs.optionsChain.push(options);
var oGradeNames = fluid.makeArray(options.gradeNames);
fluid.each(oGradeNames, function (gradeName) {
if (gradeName.charAt(0) !== "{" && !gs.gradeHash[gradeName]) {
resolveGradesImpl(gs, gradeName);
}
});
if (!gs.gradeHash[gradeName]) {
var options = fluid.rawDefaults(gradeName) || {};
gs.gradeHash[gradeName] = true;
gs.gradeChain.push(gradeName);
gs.optionsChain.push(options);
var oGradeNames = fluid.makeArray(options.gradeNames);
fluid.each(oGradeNames, function (gradeName) {
if (gradeName.charAt(0) !== "{" ) {
resolveGradesImpl(gs, gradeName);
}
});
}
});
return gs;
};
Expand All @@ -1220,8 +1222,9 @@ var fluid = fluid || fluid_1_5;
var gradeStruct = {
gradeChain: [defaultName],
gradeHash: {},
optionsChain: []
optionsChain: [] // this has already been fetched in resolveGrade
};
gradeStruct.gradeHash[defaultName] = true;
return resolveGradesImpl(gradeStruct, gradeNames);
};

Expand Down
@@ -0,0 +1,51 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Settings Panels Tests</title>

<!-- This is the jqUnit test css file -->
<link rel="stylesheet" media="screen" href="../../../lib/qunit/css/qunit.css" />

<script type="text/javascript" src="../../../../lib/jquery/core/js/jquery.js"></script>
<script type="text/javascript" src="../../../../lib/jquery/ui/js/jquery.ui.core.js"></script>
<script type="text/javascript" src="../../../../lib/jquery/ui/js/jquery.ui.widget.js"></script>
<script type="text/javascript" src="../../../../lib/jquery/ui/js/jquery.ui.mouse.js"></script>
<script type="text/javascript" src="../../../../lib/jquery/ui/js/jquery.ui.slider.js"></script>
<script type="text/javascript" src="../../../../lib/json/js/json2.js"></script>
<script type="text/javascript" src="../../../../framework/core/js/Fluid.js"></script>
<script type="text/javascript" src="../../../../framework/core/js/DataBinding.js"></script>
<script type="text/javascript" src="../../../../framework/core/js/FluidView.js"></script>
<script type="text/javascript" src="../../../../framework/core/js/FluidIoC.js"></script>
<script type="text/javascript" src="../../../../framework/core/js/FluidRequests.js"></script>
<script type="text/javascript" src="../../../../lib/fastXmlPull/js/fastXmlPull.js"></script>
<script type="text/javascript" src="../../../../framework/renderer/js/fluidParser.js"></script>
<script type="text/javascript" src="../../../../framework/renderer/js/fluidRenderer.js"></script>
<script type="text/javascript" src="../../../../framework/renderer/js/RendererUtilities.js"></script>

<script type="text/javascript" src="../../../../components/uiOptions/js/ModelRelay.js"></script>
<script type="text/javascript" src="../../../../components/uiOptions/js/TextfieldSlider.js"></script>
<script type="text/javascript" src="../../../../components/uiOptions/js/SettingsPanels.js"></script>

<!-- These are the jqUnit test js files -->
<script type="text/javascript" src="../../../lib/qunit/js/qunit.js"></script>
<script type="text/javascript" src="../../../test-core/jqUnit/js/jqUnit.js"></script>
<script type="text/javascript" src="../../../test-core/utils/js/IoCTestUtils.js"></script>

<!-- These are tests that have been written using this page as data -->
<script type="text/javascript" src="../js/SettingsPanelsTests.js"></script>

</head>
<body>
<h1 id="qunit-header">Settings Panelss Test Suite</h1>
<h2 id="qunit-banner"></h2>
<div id="qunit-testrunner-toolbar"></div>
<h2 id="qunit-userAgent"></h2>
<ol id="qunit-tests"></ol>

<!-- Test HTML -->
<div id="qunit-fixture" class="container">
<div id="flc-textFont"></div>
</div>
</body>
</html>
Expand Up @@ -103,7 +103,9 @@ https://github.com/fluid-project/infusion/raw/master/Infusion-LICENSE.txt
}
},
uiOptions: {
type: "fluid.uiOptions.defaultSettingsPanels"
options: {
gradeNames: ["fluid.uiOptions.defaultSettingsPanels"]
}
}
});
jqUnit.expect(7);
Expand Down
Expand Up @@ -41,32 +41,48 @@ https://github.com/fluid-project/infusion/raw/master/Infusion-LICENSE.txt
uiOptions = innerUIOptions;
}

function testToCEnhancement2() {
function requestApplierChange() {
fluid.tests.uiOptions.applierRequestChanges(uiOptions, testSettings);
}

var refreshCount = 0;
function testToCEnhancement2() {
jqUnit.expect(1);
// TODO: Very unsatisfactory - the TOC resources are the final thing we wait on, and the
// event for this is very deeply buried
setTimeout(function () {
var container = uiOptions.preview.enhancerContainer;
var links = $(".flc-toc-tocContainer a", container);
jqUnit.assertTrue("ToC links created", links.length > 0);
jqUnit.start();
}, 200);
var container = uiOptions.preview.enhancerContainer;
var links = $(".flc-toc-tocContainer a", container);
jqUnit.assertTrue("ToC links created", links.length > 0);
jqUnit.start();
}

that = fluid.tests.uiOptions.mungingIntegrationTest("fluid.uiOptions.fullPreview", "#myUIOptions", {
previewEnhancer: {
options: {
components: {
tableOfContents: {
options: {
listeners: {
afterTocRender: {
listener: testToCEnhancement2,
priority: "last"
}
}
}
}
}
}
},
preview: {
options: {
templateUrl: "TestPreviewTemplate.html",
listeners: {
"onReady.toc2": {
listener: testToCEnhancement2,
listener: requestApplierChange,
priority: "last"
}
}
}
}
}, testToCEnhancement);
}, testToCEnhancement);
});

})(jQuery);
Expand Up @@ -157,8 +157,8 @@ https://github.com/fluid-project/infusion/raw/master/Infusion-LICENSE.txt
}
},
uiOptions: {
type: "fluid.uiOptions.defaultSettingsPanels",
options: {
gradeNames: ["fluid.uiOptions.defaultSettingsPanels"],
listeners: {
"onSave.munged": testSave
}
Expand Down Expand Up @@ -261,7 +261,9 @@ https://github.com/fluid-project/infusion/raw/master/Infusion-LICENSE.txt
}
},
uiOptions: {
type: "fluid.uiOptions.defaultSettingsPanels"
options: {
gradeNames: ["fluid.uiOptions.defaultSettingsPanels"]
}
}
};

Expand Down

0 comments on commit 0188d12

Please sign in to comment.