FLUID-5210: selectorsToIgnore in a composite panel are replaced by the auxBuilder

Metadata

Source
FLUID-5210
Type
Bug
Priority
Blocker
Status
Closed
Resolution
Fixed
Assignee
N/A
Reporter
Justin Obara
Created
2013-11-13T10:06:50.167-0500
Updated
2013-11-13T10:46:42.721-0500
Versions
N/A
Fixed Versions
  1. 1.5
Component
  1. Prefs Framework

Description

If an instance of a composite panel defines it's own selectorsToIgnore, they are overwritten by the auxBuilder when it generates the selectorsToIgnore for the containers of the sub panels. The reason this happens is because selectorsToIgnore is an array and arrays by default replace instead of merge.

Comments

  • Justin Obara commented 2013-11-13T10:07:42.552-0500

    A new merge policy should be used to merge the arrays for selectorsToIgnore.

    fluid.prefs.compositePanel.arrayMergePolicy = function (target, source) {
    target = fluid.makeArray(target);
    source = fluid.makeArray(source);
    fluid.each(source, function (selector) {
    if ($.inArray(selector, target) < 0) {
    target.push(selector);
    }
    });
    return target;
    };

  • Justin Obara commented 2013-11-13T10:46:42.717-0500

    Merged pull request ( https://github.com/fluid-project/infusion/pull/434 ) into the project repo at f2b1a416d81c2be1afde8b348cb60bac5257314f