def _init_filter_ctrls()

in msticpy/data/browsers/mordor_browser.py [0:0]


    def _init_filter_ctrls(self):
        """Initialize the filter controls."""
        # text_filter
        self.widgets["filter_text"] = widgets.Text(
            description="Filter", layout=self.layouts["layout_norm"], style=self.w_style
        )
        self.widgets["filter_text"].continuous_update = False
        self.widgets["filter_text"].observe(self._update_select_list, "value")
        self.widgets["filter_help"] = widgets.Label(
            value=" comma ORs values, '+' ANDs values"
        )

        # Mitre filters
        self.widgets["sel_techniques"] = widgets.SelectMultiple(
            description="Mitre Techniques",
            options=self._get_mitre_filter_options(
                self.mordor_driver.mdr_idx_tech, self.mordor_driver.mitre_techniques
            ),
            layout=self.layouts["mitre_select_layout"],
            style=self.w_style,
        )

        self.widgets["sel_tactics"] = widgets.SelectMultiple(
            description="Mitre Tactics",
            options=self._get_mitre_filter_options(
                self.mordor_driver.mdr_idx_tact, self.mordor_driver.mitre_tactics
            ),
            layout=self.layouts["mitre_select_layout"],
            style=self.w_style,
        )
        self._reset_filters()
        self.widgets["sel_techniques"].observe(self._update_select_list, names="value")
        self.widgets["sel_tactics"].observe(self._update_select_list, names="value")

        self.widgets["filter_reset"] = widgets.Button(description="Reset filter")
        self.widgets["filter_reset"].on_click(self._reset_filters)
        wgt_filter_grp = widgets.VBox(
            [
                widgets.HBox(
                    [self.widgets["filter_text"], self.widgets["filter_help"]]
                ),
                widgets.HBox(
                    [
                        self.widgets["sel_techniques"],
                        self.widgets["sel_tactics"],
                        self.widgets["filter_reset"],
                    ]
                ),
            ]
        )
        self.widgets["filter_grp"] = widgets.Accordion(children=[wgt_filter_grp])
        self.widgets["filter_grp"].set_title(0, "Filters")
        self.widgets["filter_grp"].selected_index = None