{"componentChunkName":"component---src-templates-doc-page-jsx","path":"/angular-data-grid/filter-external/","result":{"data":{"markdownRemark":{"htmlAst":{"type":"root","children":[{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"External filtering allows you to mix your own 'outside of the grid' filtering with the grid's filtering."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"The example below shows external filters in action. There are two methods on "},{"type":"element","tagName":"code","properties":{},"children":[{"type":"text","value":"gridOptions"}]},{"type":"text","value":" you need to implement: "},{"type":"element","tagName":"code","properties":{},"children":[{"type":"text","value":"isExternalFilterPresent()"}]},{"type":"text","value":" and "},{"type":"element","tagName":"code","properties":{},"children":[{"type":"text","value":"doesExternalFilterPass(node)"}]},{"type":"text","value":"."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"ul","properties":{},"children":[{"type":"text","value":"\n"},{"type":"element","tagName":"li","properties":{},"children":[{"type":"element","tagName":"code","properties":{},"children":[{"type":"text","value":"isExternalFilterPresent"}]},{"type":"text","value":" is called exactly once every time the grid senses a filter change. It should return "},{"type":"element","tagName":"code","properties":{},"children":[{"type":"text","value":"true"}]},{"type":"text","value":" if external filtering is active or "},{"type":"element","tagName":"code","properties":{},"children":[{"type":"text","value":"false"}]},{"type":"text","value":" otherwise. If you return "},{"type":"element","tagName":"code","properties":{},"children":[{"type":"text","value":"true"}]},{"type":"text","value":", "},{"type":"element","tagName":"code","properties":{},"children":[{"type":"text","value":"doesExternalFilterPass()"}]},{"type":"text","value":" will be called while filtering, otherwise "},{"type":"element","tagName":"code","properties":{},"children":[{"type":"text","value":"doesExternalFilterPass()"}]},{"type":"text","value":" will not be called."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"li","properties":{},"children":[{"type":"element","tagName":"code","properties":{},"children":[{"type":"text","value":"doesExternalFilterPass"}]},{"type":"text","value":" is called once for each row node in the grid. If you return "},{"type":"element","tagName":"code","properties":{},"children":[{"type":"text","value":"false"}]},{"type":"text","value":", the node will be excluded from the final set."}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"div","properties":{"className":["custom-block","note"]},"children":[{"type":"element","tagName":"div","properties":{"className":["custom-block-body"]},"children":[{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"If the external filter changes, you need to call "},{"type":"element","tagName":"code","properties":{},"children":[{"type":"text","value":"api.onFilterChanged()"}]},{"type":"text","value":" to tell the grid."}]}]}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"The example below shows an external filter in action."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"div","properties":{},"children":[{"type":"element","tagName":"grid-example","properties":{"title":"External Filter","name":"external-filter","type":"generated","options":"{ \"enterprise\": true, \"exampleHeight\": 565, \"modules\": [\"clientside\", \"setfilter\", \"menu\", \"columnpanel\"] }"},"children":[]}]}],"data":{"quirksMode":false}},"frontmatter":{"title":"External Filter","version":null,"enterprise":null,"description":null,"rootPage":null},"headings":[]}},"pageContext":{"frameworks":["javascript","angular","react","vue"],"framework":"angular","srcPath":"/filter-external","pageName":"filter-external"}},"staticQueryHashes":["1766026005","3577950178","3666212512"]}