getFilterElements(dict: PP.Rds.Dictionary, filter: Object, callback: function|PP.Delegate);
dict. MDM dictionary.
filter. Object that contains filter options.
callback. Callback function.
The getFilterElements method applies a specified filter to MDM dictionary elements.
To execute this example, the page must contain the DictionaryBox component named dictionaryBox (see Example of creating the DictionaryBox component ). Filter the dictionary elements by the line "Second" and process the ChildLoaded event:
// Get MDM dictionary var source = dictionaryBox.getSource()[0]; // Get service to work with the dictionary var service = source.getPPService(); // Process the ChildLoaded event service.ChildLoaded.add(function (sender, args) { if (args.IsFilter) { console.log("Filter is applied"); }; }); // Callback function for the onChildLoaded method function onChildLoaded(sender, args) { var tree = dictionaryBox.getDataArea().getActiveDictTree(); // Get settings var filter = args.Args.Filter ? args.Args.Filter : null; tree._Filter = filter; // Set children tree.setChildNodes(args.Args.ParentKey); // Get filtered elements var els = source.getFilterChildEls(""); var filteredEls = []; for (var i = 0; i < els.length; i++) { filteredEls.push(els[i].getName()); }; console.log("Names of filtered elements: %s", filteredEls.toString()); }; // Define filter options var filter = { levels: -1, text: { text: "Second", } }; // Apply the filter service.getFilterElements(source, filter, PP.Delegate(onChildLoaded, this, { ParentKey: "", Filter: filter // Filter options }));
After executing the example MDM dictionary elements are filtered by the line "Second":
After the handler of the ChildLoaded event is fired, and the callback function is executed, the browser console shows the following notifications:
Filter is applied
Names of filtered elements: Second
See also: