@gradio/dataframe 0.18.1 → 0.18.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # @gradio/dataframe
2
2
 
3
+ ## 0.18.2
4
+
5
+ ### Fixes
6
+
7
+ - [#11496](https://github.com/gradio-app/gradio/pull/11496) [`ee0da48`](https://github.com/gradio-app/gradio/commit/ee0da481446da5ffd79151a457cd3847db645bfb) - Prevent deletion of values in static columns. Thanks @hannahblair!
8
+
3
9
  ## 0.18.1
4
10
 
5
11
  ### Fixes
@@ -73,7 +73,8 @@ const df_ctx = create_dataframe_context({
73
73
  wrap,
74
74
  max_height,
75
75
  column_widths,
76
- max_chars
76
+ max_chars,
77
+ static_columns
77
78
  });
78
79
  const { state: df_state, actions: df_actions } = df_ctx;
79
80
  $:
@@ -18,6 +18,7 @@ interface DataFrameState {
18
18
  max_height: number;
19
19
  column_widths: string[];
20
20
  max_chars?: number;
21
+ static_columns?: (string | number)[];
21
22
  };
22
23
  current_search_query: string | null;
23
24
  sort_state: {
@@ -59,6 +59,7 @@ function handle_header_navigation(event, ctx) {
59
59
  }
60
60
  return false;
61
61
  }
62
+ // eslint-disable-next-line complexity
62
63
  function handle_delete_operation(event, ctx) {
63
64
  if (!ctx.data || !ctx.headers || !ctx.els || !ctx.dispatch)
64
65
  return false;
@@ -69,6 +70,10 @@ function handle_delete_operation(event, ctx) {
69
70
  return false;
70
71
  const editing = state.ui_state.editing;
71
72
  const selected_cells = state.ui_state.selected_cells;
73
+ const static_columns = state.config.static_columns || [];
74
+ if (selected_cells.some(([_, col]) => static_columns.includes(col))) {
75
+ return false;
76
+ }
72
77
  if (editing) {
73
78
  const [row, col] = editing;
74
79
  const input_el = ctx.els[ctx.data[row][col].id]?.input;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gradio/dataframe",
3
- "version": "0.18.1",
3
+ "version": "0.18.2",
4
4
  "description": "Gradio UI packages",
5
5
  "type": "module",
6
6
  "author": "",
@@ -18,12 +18,12 @@
18
18
  "katex": "^0.16.7",
19
19
  "marked": "^12.0.0",
20
20
  "@gradio/atoms": "^0.16.3",
21
- "@gradio/button": "^0.5.6",
22
21
  "@gradio/checkbox": "^0.4.25",
22
+ "@gradio/button": "^0.5.6",
23
23
  "@gradio/client": "^1.15.5",
24
24
  "@gradio/icons": "^0.12.0",
25
- "@gradio/markdown-code": "^0.5.0",
26
25
  "@gradio/statustracker": "^0.10.14",
26
+ "@gradio/markdown-code": "^0.5.0",
27
27
  "@gradio/utils": "^0.10.2",
28
28
  "@gradio/upload": "^0.16.10"
29
29
  },
@@ -92,7 +92,8 @@
92
92
  wrap,
93
93
  max_height,
94
94
  column_widths,
95
- max_chars
95
+ max_chars,
96
+ static_columns
96
97
  });
97
98
 
98
99
  const { state: df_state, actions: df_actions } = df_ctx;
@@ -30,6 +30,7 @@ interface DataFrameState {
30
30
  max_height: number;
31
31
  column_widths: string[];
32
32
  max_chars?: number;
33
+ static_columns?: (string | number)[];
33
34
  };
34
35
  current_search_query: string | null;
35
36
  sort_state: {
@@ -88,6 +88,7 @@ function handle_header_navigation(
88
88
  return false;
89
89
  }
90
90
 
91
+ // eslint-disable-next-line complexity
91
92
  function handle_delete_operation(
92
93
  event: KeyboardEvent,
93
94
  ctx: DataFrameContext
@@ -101,6 +102,11 @@ function handle_delete_operation(
101
102
  const editing = state.ui_state.editing;
102
103
  const selected_cells = state.ui_state.selected_cells;
103
104
 
105
+ const static_columns = state.config.static_columns || [];
106
+ if (selected_cells.some(([_, col]) => static_columns.includes(col))) {
107
+ return false;
108
+ }
109
+
104
110
  if (editing) {
105
111
  const [row, col] = editing;
106
112
  const input_el = ctx.els[ctx.data[row][col].id]?.input;