Skip to content

Commit

Permalink
Merge branch 'FLUID-4525-4532-4537-4539-4564-4563-4568'
Browse files Browse the repository at this point in the history
* FLUID-4525-4532-4537-4539-4564-4563-4568:
  FLUID-4568: Added FluidView.js to some manual tests
  FLUID-4525: Removed logging from UIOptions test which appear to be causing painful race condition when run with firebug
  FLUID-4568: Added FluidView.js to two demo files
  FLUID-4568: Improved file comment for jquery.standalone.js following review
  FLUID-4568: Simplified implementation of fluid.model.mergeModel following review
  FLUID-4568: Comment improvement for decodeAccessorArg following review
  FLUID-4564: Code clarity and linting fixes, following review
  FLUID-4525: Linting for FatPanel and SlidingPanel
  FLUID-4539: Normalising case of test case variables as per review
  FLUID-4539: Clearer logic in createRendererSubcomponent as per review
  FLUID-4539: Corrected error message as per review
  FLUID-4563: Appropriate merge policy for "parentBundle" option accepted by RendererComponents - significant reduction in calls to "mergeImpl"
  FLUID-4563: Appropriate merge policy for "parents" of a bundle, for optimisation
  FLUID-4568: All work completed for FLUID-4568. All test cases and demos updated to reflect new status of "FluidView.js". FluidIoC tests factored into view-dependent and view-independent parts. View-independent FluidIoC test cases working with implementation of "standalone" jQuery. Minor fixes to prevent exceptions in "standalone demo renderer" samples.
  FLUID-4568: Reformatting and relabelling
  FLUID-4568: Initial implementation of core "standalone jQuery" implementation. Core test cases passing. Next step: separate out FluidIoC tests into view-dependent and view-independent parts, adjust includes across framework to account for new status of FluidView.js
  FLUID-4525: Reverting extra listener which was added as early attempt to resolving "jumpingness" - this was later fully resolved by use of CSS block display style. Also, adding "ModelTransformations" as standard part of framework dependencies.
  FLUID-4525: Display style of "block" on iframe removes jumpingness as well as upper gap. Previous fixes can probably be reverted.
  FLUID-4525: Resolution for issues involving i) "jumping" of animation on immediately opening fat panel and ii) anomalous "extra space" above the panel button on first rendering
  FLUID-4563: Improvements to merge tracing
  FLUID-4563: Extracted merge tracing code into FluidDebugging.js, protected by global flag Fluid.isTracing
  FLUID-4563: Micro-optimisations to improve performance of resolvePathSegment
  FLUID-4563: Improvements in performance for model access - restoration of Fluid 1.2 implementation of "fluid.get/set" as of Sep 30, 2010 (github revision dfae5a8) for cases without special configuration. This provides huge reduction in garbage in most common cases (reduction of 50% of the total load in Chrome for a complex CSpace page). Current framework version has been devolved out to implementation in DataBinding.js, opportunity taken to cut the remaining dependence of Fluid.js core on DataBinding with simplified implementation of "mergeModel". Linting.
  perftest: Performance tracing code for mergeImpl invocations
  FLUID-4563: Performance improvements in FluidIoC - reversion to "monkey patching" strategy for dynamism in fluid.threadLocal and conditionally disable querying caller stacks for demands blocks
  FLUID-4563: New caching strategy for graded defaults. This applies grade merging once only for each component in the system. This exposed an issue in Uploader's use of ProgressiveEnhancer, which used to assume that the return of fluid.defaults was an unshared copy - which used to be the case only for ungraded components. This has now been made consistent across all graded components and the return of fluid.defaults is a shared, morally unmodifiable instance as before. Some test cases originally in FluidJSTests.js needed to be disabled, which tested the ability to modify the contents of fluid.defaults live - this is now no longer possible.
  FLUID-4338, FLUID-4193: Fix for FLUID-4338 using "pathUtil" utility creates dependency of IoC on DataBinding.js - added in to test cases where missing. Also fix for what looks like nondeterministic failure of earlier fix for FLUID-4193 - "container" argument accumulated all decorated nodes for that cutpoint so far rather than just containing exactly the node for this match.
  FLUID-4564: Fixed up UploaderCompatibilityTests comparison for new listener merging strategy. After one pass through merging, listeners will always consist of an array.
  FLUID-4539: Fix to fluid.stringTemplate caused a regression in LayoutReordererTests. The feared case has finally bitten, and the strategy used in fluid.isArrayable has to be judged inadequate (it is over-broad). The "elementIndexer" for ModuleLayout returns a structure with an element named "length" which meets the criteria for being arrayable, in that it has a member named "length" which is of type number. This leads to a corrupted message when this structure is used as an argument to the new stringTemplate which passes it to framework utility fluid.keys. New implementation uses a strategy cobbled from an earlier version of jQuery, together with an explicity check for jQuery objects. The only case which cannot be saved is "arguments" which can't be reliably detected cross-browser. We need to drop any raw uses of "arguments" throughout the framework and instead always convert explicitly using fluid.makeArray.
  FLUID-4564: New rationalised implementation of listener merging, common across lifecycle functions and standard events. Resulting simplified implementation of component option merging with fewer special cases, ready for grade caching work. Also rationalised implementation of merge policies - these are now invoked in a standard way at a single workflow point in mergeImpl. New global name for fluid.makeEventFirer and simple utility fluid.fireEvent
  FLUID-4539: Fix for greedy stringTemplate implementation through key sorting
  FLUID-4537: Further fixes to allow path values to be resolved when raw reference to "pathAs" is issued from light material. Modified test case as supplied by JURA.
  FLUID-4532: Reverting ARIA labeller component to pre-IoC strategy
  FLUID-4525, FLUID-4536, FLUID-4338: Further simplification of cross-iframe strategy - now simply a "container with foreign jQuery" is enough guidance for the renderer, etc. in a full subtree. Discovery and fix for corruption in "mapOptions" in UIOptions which was failing to remove mapped material from its old location, leading to a complete duplicate set of components being constructed. This was being masked by an unexpected route for IoC resolution, also affecting "prefix" for ToC component. Test cases for cross-iframe FLUID-4536 and IoC FLUID-4338 fixes.
  FLUID-4525, FLUID-4398: All test cases passing again for UIO. Test cases tidied to avoid including UI plugins in "outer world" to verify correct jQuery cascading. Finished correcting SlidingPanel impl to model-driven version. Base UIO further tidied to remove messy "event relay". Test cases still required for FLUID-4338 as well as new "jQuery cascading".
  FLUID-4525, FLUID-4398, FLUID-4338 - first version of "simplified FatPanel" that appears fully working in the UI. Many adjustments in the core framework for "jQuery cascade" - the first instance of a component bearing a "jQuery" option will be diverted to use this to form its container. All subsequent containers formed by DOM binder location will automatically cascade that jQuery to their own containers. It is still necessary to explicitly supply the option to a renderer-bearing component. Fix was required in autobind to correctly use custom jQuery and document. This should really be fixed to indirect off the jQuery object holding "node" (assuming it is one - this would amount to an API change). Next step - get all test cases working again and normalise use of "prefix"
  FLUID-4525, FLUID-4028, FLUID-4398, FLUID-4337, FLUID-4151 - New simplified implementation for FatPanel UIOptions using new "composite event" and "boiled listener" facilities from FLUID-4398 and FLUID-4337. Improved diagnostics in framework - every event fired is now logged with its source and listener count. Previous verbose "demands resolution" logging is now prevented by dedicated flag. FatPanel opens and operates again but probably harbours severe bugs especially wrt. options parsing and UIEnhancer. Further work needed in core UIOptions to further simplify it in light of new event facilities. Tests required for "local event resolution" and also for previous jQuery injection functionality.
  FLUID-4525: Slightly simplified implementation with dead code removed and direct references to uiOptions subcomponents ("proto-ants") removed from FatPanel. Renamed "markupRenderer" as "iframeRenderer". Next step is to knock together "fatPanel" and "fatPanel.renderUIOptions"
  FLUID-4525: "jQuery bus" through core framework now resolves issue with broken sliders in UIOptions. Impl is still full of detritus and needs a lot of cleaning
  FLUID-4525: Fixed the issue that the UIO tabs are not rendered properly as well as namespacing a couple of fatPanel sub-components into fluid.uiOptions.fatPanel.
  FLUID-4525: Removed included infusion files from the fat panel iframe. As a result, theOtherWorld component is demolished from the fat panel. UI Options interface is now successfully rendered into iFrame by using the outer world jQuery and infusion. The remaining issues are, 1. the UI is not properly distributed into each tab; 2. Utilize the page enhancer in the outer world to manipulate the main page and iFrame content.
  • Loading branch information
michelled committed Jan 20, 2012
2 parents 4eae684 + b1d5642 commit 1e7f0d8
Show file tree
Hide file tree
Showing 80 changed files with 3,191 additions and 2,267 deletions.
1 change: 1 addition & 0 deletions src/webapp/components/uiOptions/css/FatPanelUIOptions.css
Expand Up @@ -23,6 +23,7 @@
border: 0;
background-color: #fff;
height: 0px;
display: block;
}

/* Theming */
Expand Down
34 changes: 8 additions & 26 deletions src/webapp/components/uiOptions/html/FatPanelUIOptionsFrame.html
Expand Up @@ -8,21 +8,23 @@
<link rel="stylesheet" type="text/css" href="../../../framework/fss/css/fss-base-global.css" />
<link rel="stylesheet" type="text/css" href="../../../framework/fss/css/fss-layout.css" />
<link rel="stylesheet" type="text/css" href="../../../framework/fss/css/fss-text.css" />
<link rel="stylesheet" type="text/css" href="../css/fss/fss-theme-bw-uio.css" />
<link rel="stylesheet" type="text/css" href="../css/fss/fss-theme-wb-uio.css" />
<link rel="stylesheet" type="text/css" href="../css/fss/fss-theme-by-uio.css" />
<link rel="stylesheet" type="text/css" href="../css/fss/fss-theme-yb-uio.css" />
<link rel="stylesheet" type="text/css" href="../css/fss/fss-text-uio.css" />
<link rel="stylesheet" type="text/css" href="../../../components/uiOptions/css/fss/fss-theme-bw-uio.css" />
<link rel="stylesheet" type="text/css" href="../../../components/uiOptions/css/fss/fss-theme-wb-uio.css" />
<link rel="stylesheet" type="text/css" href="../../../components/uiOptions/css/fss/fss-theme-by-uio.css" />
<link rel="stylesheet" type="text/css" href="../../../components/uiOptions/css/fss/fss-theme-yb-uio.css" />
<link rel="stylesheet" type="text/css" href="../../../components/uiOptions/css/fss/fss-text-uio.css" />

<link rel="stylesheet" type="text/css" href="../../../lib/jquery/ui/css/fl-theme-bw/bw.css" />
<link rel="stylesheet" type="text/css" href="../../../lib/jquery/ui/css/fl-theme-wb/wb.css" />
<link rel="stylesheet" type="text/css" href="../../../lib/jquery/ui/css/fl-theme-by/by.css" />
<link rel="stylesheet" type="text/css" href="../../../lib/jquery/ui/css/fl-theme-yb/yb.css" />

<!-- Component styles -->
<link rel="stylesheet" type="text/css" href="../css/UIOptions.css" />
<link rel="stylesheet" type="text/css" href="../css/FatPanelUIOptionsFrame.css" />

<title>UI Options</title>

<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>
Expand All @@ -32,27 +34,7 @@
<script type="text/javascript" src="../../../lib/jquery/plugins/ariaTabs/js/ui.ariaTabs.js"></script>
<script type="text/javascript" src="../../../lib/json/js/json2.js"></script>

<script type="text/javascript" src="../../../framework/core/js/FluidDocument.js"></script>
<script type="text/javascript" src="../../../framework/core/js/jquery.keyboard-a11y.js"></script>
<script type="text/javascript" src="../../../framework/core/js/Fluid.js"></script>
<script type="text/javascript" src="../../../framework/core/js/FluidRequests.js"></script>
<script type="text/javascript" src="../../../framework/core/js/FluidDOMUtilities.js"></script>
<script type="text/javascript" src="../../../framework/core/js/DataBinding.js"></script>
<script type="text/javascript" src="../../../framework/core/js/FluidIoC.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="../../tabs/js/Tabs.js"></script>

<script type="text/javascript" src="../js/Store.js"></script>
<script type="text/javascript" src="../js/UIEnhancer.js"></script>
<script type="text/javascript" src="../js/UIOptions.js"></script>
<script type="text/javascript" src="../js/SlidingPanel.js"></script>
<script type="text/javascript" src="../js/FatPanelUIOptions.js"></script>

<script type="text/javascript" src="../../tableOfContents/js/TableOfContents.js"></script>
</head>
</head>

<body class="fl-uiOptions-fatPanel fl-focus">
<div class="flc-toc-tocContainer fl-hidden">
Expand Down

0 comments on commit 1e7f0d8

Please sign in to comment.