Skip to content

Commit 32a3094

Browse files
bexsoftBenjamin Perez
andauthored
Added lifecycle rule edit capability (#1539)
Signed-off-by: Benjamin Perez <benjamin@bexsoft.net> Co-authored-by: Benjamin Perez <benjamin@bexsoft.net>
1 parent 07ef32b commit 32a3094

File tree

13 files changed

+691
-94
lines changed

13 files changed

+691
-94
lines changed

models/expiration_response.go

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

models/lifecycle_rule_type.go

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

models/transition_response.go

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

models/update_bucket_lifecycle.go

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

portal-ui/src/screens/Console/Buckets/BucketDetails/AddLifecycleModal.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ interface IReplicationModal {
5151
setModalErrorSnackMessage: typeof setModalErrorSnackMessage;
5252
}
5353

54-
interface ITiersDropDown {
54+
export interface ITiersDropDown {
5555
label: string;
5656
value: string;
5757
}

portal-ui/src/screens/Console/Buckets/BucketDetails/BucketLifecyclePanel.tsx

Lines changed: 17 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,8 @@ const BucketLifecyclePanel = ({
7171
const [lifecycleRecords, setLifecycleRecords] = useState<LifeCycleItem[]>([]);
7272
const [addLifecycleOpen, setAddLifecycleOpen] = useState<boolean>(false);
7373
const [editLifecycleOpen, setEditLifecycleOpen] = useState<boolean>(false);
74+
const [selectedLifecycleRule, setSelectedLifecycleRule] =
75+
useState<LifeCycleItem | null>(null);
7476

7577
const bucketName = match.params["bucketName"];
7678

@@ -112,6 +114,7 @@ const BucketLifecyclePanel = ({
112114

113115
const closeEditLCAndRefresh = (refresh: boolean) => {
114116
setEditLifecycleOpen(false);
117+
setSelectedLifecycleRule(null);
115118
if (refresh) {
116119
setLoadingLifecycle(true);
117120
}
@@ -182,16 +185,25 @@ const BucketLifecyclePanel = ({
182185
},
183186
];
184187

188+
const lifecycleActions = [
189+
{
190+
type: "view",
191+
192+
onClick(valueToSend: any): any {
193+
setSelectedLifecycleRule(valueToSend);
194+
setEditLifecycleOpen(true);
195+
},
196+
},
197+
];
198+
185199
return (
186200
<Fragment>
187-
{editLifecycleOpen && (
201+
{editLifecycleOpen && selectedLifecycleRule && (
188202
<EditLifecycleConfiguration
189203
open={editLifecycleOpen}
190204
closeModalAndRefresh={closeEditLCAndRefresh}
191205
selectedBucket={bucketName}
192-
lifecycle={{
193-
id: "",
194-
}}
206+
lifecycle={selectedLifecycleRule}
195207
/>
196208
)}
197209
{addLifecycleOpen && (
@@ -232,7 +244,7 @@ const BucketLifecyclePanel = ({
232244
errorProps={{ disabled: true }}
233245
>
234246
<TableWrapper
235-
itemActions={[]}
247+
itemActions={lifecycleActions}
236248
columns={lifecycleColumns}
237249
isLoading={loadingLifecycle}
238250
records={lifecycleRecords}

0 commit comments

Comments
 (0)