Skip to content

Commit 5060288

Browse files
committed
Requerimiento 1.5
1 parent 0313a70 commit 5060288

2 files changed

Lines changed: 87 additions & 36 deletions

File tree

package-lock.json

Lines changed: 39 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/components/EditorSidePanel/TablesTab/TableField.jsx

Lines changed: 48 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -136,72 +136,84 @@ export default function TableField({ data, tid, index }) {
136136
<Button
137137
type={data.notNull || data.primary ? "primary" : "tertiary"}
138138
title={t("not_null")}
139-
theme={data.notNull || data.primary ? "solid" : "light"}
140-
disabled={data.primary ? true: false }
139+
theme={data.notNull ? "solid" : "light"}
140+
141+
141142
onClick={() => {
143+
if(data.primary){
144+
145+
return};
146+
142147
setUndoStack((prev) => [
143148
...prev,
144149
{
150+
145151
action: Action.EDIT,
146152
element: ObjectType.TABLE,
147153
component: "field",
148154
tid: tid,
149155
fid: index,
150156
undo: { notNull: data.notNull },
157+
151158
redo: { notNull: !data.notNull },
159+
152160
message: t("edit_table", {
153161
tableName: tables[tid].name,
154162
extra: "[field]",
155163
}),
156164
},
157165
]);
158166
setRedoStack([]);
167+
159168
updateField(tid, index, { notNull: !data.notNull });
169+
170+
//}
171+
160172
}}
161173
>
162174
?
163175
</Button>
164176
</Col>
165177
<Col span={3}>
166-
<Button
167-
type={data.primary ? "primary" : "tertiary"}
168-
title={t("primary")}
169-
theme={data.primary ? "solid" : "light"}
170-
onClick={() => {
171-
const mustSetNotNull = !data.primary && !data.notNull;
172-
173-
const undo = { primary: data.primary };
174-
const redo = { primary: !data.primary };
175-
const changes = { primary: !data.primary };
178+
<Button
179+
type={data.primary ? "primary" : "tertiary"}
180+
title={t("primary")}
181+
theme={data.primary ? "solid" : "light"}
182+
onClick={() => {
176183

184+
const newStatePK=!data.primary;
185+
const stateNull=newStatePK?true: !data.notNull;
186+
const mustSetNotNull = !data.primary && !data.notNull;
187+
const changes = { primary: !data.primary };
188+
189+
const undo= { primary: data.primary , notNull : data.notNull };
190+
const redo= { primary: newStatePK , notNull:stateNull };
177191
if (mustSetNotNull) {
178192
undo.notNull = data.notNull;
179193
redo.notNull = true;
180194
changes.notNull = true;
181-
}
182-
183-
setUndoStack((prev) => [
184-
...prev,
185-
{
186-
action: Action.EDIT,
187-
element: ObjectType.TABLE,
188-
component: "field",
189-
tid,
190-
fid: index,
191-
undo,
192-
redo,
193-
message: t("edit_table", {
194-
tableName: tables[tid].name,
195-
extra: "[field]",
196-
}),
197-
},
198-
]);
199-
200-
setRedoStack([]);
201-
updateField(tid, index, changes);
202-
}}
203-
icon={<IconKeyStroked />}
204-
/>
195+
}
196+
setUndoStack((prev) => [
197+
...prev,
198+
{
199+
action: Action.EDIT,
200+
element: ObjectType.TABLE,
201+
component: "field",
202+
tid: tid,
203+
fid: index,
204+
205+
message: t("edit_table", {
206+
tableName: tables[tid].name,
207+
extra: "[field]",
208+
}),
209+
},
210+
]);
211+
setRedoStack([]);
212+
updateField(tid, index, { primary: newStatePK,notNull:stateNull });
213+
}}
214+
icon={<IconKeyStroked />}
215+
/>
216+
205217

206218
</Col>
207219
<Col span={3}>

0 commit comments

Comments
 (0)