Skip to content

Commit

Permalink
add discard function
Browse files Browse the repository at this point in the history
  • Loading branch information
EdenWuyifan committed Jul 30, 2024
1 parent 62b3b74 commit 617d66c
Showing 1 changed file with 25 additions and 1 deletion.
26 changes: 25 additions & 1 deletion bdikit/visualization/schema_matching.py
Original file line number Diff line number Diff line change
Expand Up @@ -400,6 +400,22 @@ def _reject_match(self) -> None:
self._get_heatmap()
return

def _discard_column(self, select_column: Optional[str]) -> None:
if not select_column and select_column not in self.source.columns:
logger.critical(f"Invalid column: {select_column}")
return

logger.critical(f"Discarding column: {select_column}")
recommendations = self._load_json()
for idx, d in enumerate(recommendations):
candidate_name = d["source_column"]
if candidate_name == select_column:
recommendations.pop(idx)
self._write_json(recommendations)
self._record_log("discard", candidate_name, "")
self._get_heatmap()
return

def get_clusters(self) -> None:
words = self.rec_table_df["Column"].to_numpy()
lev_similarity = -1 * np.array(
Expand Down Expand Up @@ -700,6 +716,7 @@ def _plot_pane(
show_subschema: bool = False,
acc_click: int = 0,
rej_click: int = 0,
discard_click: int = 0,
undo_click: int = 0,
redo_click: int = 0,
) -> pn.Column:
Expand Down Expand Up @@ -884,6 +901,8 @@ def plot_heatmap(self) -> pn.Column:

rej_button = pn.widgets.Button(name="Reject Match", button_type="danger")

discard_button = pn.widgets.Button(name="Discard Column", button_type="warning")

undo_button = pn.widgets.Button(
name="Undo", button_style="outline", button_type="warning"
)
Expand All @@ -908,6 +927,9 @@ def on_click_accept_match(event: Any) -> None:
def on_click_reject_match(event: Any) -> None:
self._reject_match()

def on_click_discard_column(event: Any) -> None:
self._discard_column(select_column.value)

def on_click_undo(event: Any) -> None:
self._undo_user_action()

Expand All @@ -916,6 +938,7 @@ def on_click_redo(event: Any) -> None:

acc_button.on_click(on_click_accept_match)
rej_button.on_click(on_click_reject_match)
discard_button.on_click(on_click_discard_column)
undo_button.on_click(on_click_undo)
redo_button.on_click(on_click_redo)

Expand All @@ -936,11 +959,12 @@ def on_click_redo(event: Any) -> None:
),
acc_button.param.clicks,
rej_button.param.clicks,
discard_button.param.clicks,
undo_button.param.clicks,
redo_button.param.clicks,
)

buttons_down = pn.Column(acc_button, rej_button)
buttons_down = pn.Column(acc_button, rej_button, discard_button)
buttons_redo_undo = pn.Column(undo_button, redo_button)

column_top = pn.Row(
Expand Down

0 comments on commit 617d66c

Please sign in to comment.