diff --git a/src/main/webui/src/app/components/content/GroupEdit.jsx b/src/main/webui/src/app/components/content/GroupEdit.jsx
new file mode 100644
index 0000000..c8ad006
--- /dev/null
+++ b/src/main/webui/src/app/components/content/GroupEdit.jsx
@@ -0,0 +1,37 @@
+/**
+ * Copyright (C) 2023 Red Hat, Inc. (https://github.com/Commonjava/indy-ui-service)
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import React, {useState, useEffect} from 'react';
+import {useLocation, useNavigate, useParams} from 'react-router-dom';
+import {PropTypes} from 'prop-types';
+import {StoreEditControlPanel as EditControlPanel} from './StoreControlPanels.jsx';
+import {DisableTimeoutHint, DurationHint, PrefetchHint, Hint} from './Hints.jsx';
+import {PackageTypeSelect} from './CommonPageWidget.jsx';
+// import ViewJsonDebugger from './Debugger.jsx';
+import {Utils} from '../CompUtils.js';
+// import Filters from '../Filters.js';
+import {TimeUtils} from '../../TimeUtils.js';
+import {jsonRest} from '../../RestClient.js';
+
+
+export default function GroupEdit() {
+ const [state, setState] = useState({
+ store: {},
+ storeView: {}
+ });
+
+ return
- {Filters.checkmark(!store.disabled)}
-
- {
- store.disabled && store.disableExpiration &&
- Set to automatically re-enable at {TimeUtils.timestampToDateFormat(store.disableExpiration)}
- }
-
-
- {Filters.checkmark(store.prepend_constituent)}
-
- If enabled, all new constituents which are added not manually(like promotion) will be at the top of constituents list
-
-
-
-
- {store.disable_timeout}
-
-
-
-
-
- {
- // TODO: is this store.demo still available now?
- store.demo ?
- {Utils.storeHref(store.key)} :
- {Utils.storeHref(store.key)}
- }
-
-
;
-BasicSection.propTypes = {
- store: PropTypes.object.isRequired
-};
diff --git a/src/main/webui/src/app/components/content/HostedEdit.jsx b/src/main/webui/src/app/components/content/HostedEdit.jsx
new file mode 100644
index 0000000..28c8d3d
--- /dev/null
+++ b/src/main/webui/src/app/components/content/HostedEdit.jsx
@@ -0,0 +1,37 @@
+/**
+ * Copyright (C) 2023 Red Hat, Inc. (https://github.com/Commonjava/indy-ui-service)
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import React, {useState, useEffect} from 'react';
+import {useLocation, useNavigate, useParams} from 'react-router-dom';
+import {PropTypes} from 'prop-types';
+import {StoreEditControlPanel as EditControlPanel} from './StoreControlPanels.jsx';
+import {DisableTimeoutHint, DurationHint, PrefetchHint, Hint} from './Hints.jsx';
+import {PackageTypeSelect} from './CommonPageWidget.jsx';
+// import ViewJsonDebugger from './Debugger.jsx';
+import {Utils} from '../CompUtils.js';
+// import Filters from '../Filters.js';
+import {TimeUtils} from '../../TimeUtils.js';
+import {jsonRest} from '../../RestClient.js';
+
+
+export default function HostedEdit() {
+ const [state, setState] = useState({
+ store: {},
+ storeView: {}
+ });
+
+ return
- {Filters.checkmark(!store.disabled)}
-
- {
- store.disabled && store.disableExpiration &&
- Set to automatically re-enable at {TimeUtils.timestampToDateFormat(store.disableExpiration)}
- }
-
-
- {Filters.checkmark(store.readonly)}
-
- {
- !store.readonly &&
- If set to readonly, all uploading and deleting operations to this repo are prohibited
- }
-
-
- {Filters.checkmark(store.authoritative_index || store.readonly)}
-
- {
- !store.authoritative_index && store.readonly &&
- Make the content index authoritative to this repository
- }
-
-
-
-
- {store.disable_timeout}
-
-
-
-
-
- {
- // TODO: is this store.demo still available now?
- store.demo ?
- {Utils.storeHref(store.key)} :
- {Utils.storeHref(store.key)}
- }
-
- {
- store.storage &&
-
-
- {store.storage}
-
- }
-
;
-
-BasicSection.propTypes = {
- store: PropTypes.object.isRequired
-};
diff --git a/src/main/webui/src/app/components/content/Main.jsx b/src/main/webui/src/app/components/content/Main.jsx
index 9417127..699125d 100644
--- a/src/main/webui/src/app/components/content/Main.jsx
+++ b/src/main/webui/src/app/components/content/Main.jsx
@@ -23,6 +23,8 @@ import RemoteView from './RemoteView.jsx';
import HostedView from './HostedView.jsx';
import GroupView from './GroupView.jsx';
import RemoteEdit from './RemoteEdit.jsx';
+import GroupEdit from './GroupEdit.jsx';
+import HostedEdit from './HostedEdit.jsx';
// const browseCompatible=`