feat: add option for default registries when SINGLE_REGISTRY=false

This commit is contained in:
Joxit
2021-10-31 15:09:37 +01:00
parent f4455703ca
commit 8fcae3cda4
6 changed files with 42 additions and 15 deletions

View File

@@ -32,7 +32,7 @@
</material-popup>
<script>
import {
getRegistryServers
addRegistryServers
} from '../../scripts/utils';
import router from '../../scripts/router';
@@ -51,9 +51,7 @@
if (!input.value.startsWith('http')) {
return this.props.onNotify('The input field should start with http:// or https://.', true);
}
const url = input.value.trim().replace(/\/*$/, '');
const registryServer = getRegistryServers().filter(e => e !== url);
localStorage.setItem('registryServer', JSON.stringify([url].concat(registryServer)));
const url = addRegistryServers(input.value);
router.home()
this.props.onServerChange(url);
this.props.onClose()

View File

@@ -33,6 +33,7 @@
</material-popup>
<script>
import {
addRegistryServers,
getRegistryServers
} from '../../scripts/utils';
import router from '../../scripts/router';
@@ -45,9 +46,7 @@
if (!select.value.startsWith('http')) {
return this.props.onNotify('The select field should start with http:// or https://.', true);
}
const url = select.value.trim().replace(/\/*$/, '');
const registryServer = getRegistryServers().filter(e => e !== url);
localStorage.setItem('registryServer', JSON.stringify([url].concat(registryServer)));
const url = addRegistryServers(select.value);
router.home()
this.props.onServerChange(url);
this.props.onClose()

View File

@@ -38,13 +38,13 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
</material-popup>
<script>
import {
getRegistryServers
getRegistryServers,
removeRegistryServers
} from '../../scripts/utils';
export default {
remove(event) {
const url = event.currentTarget.attributes.url && event.currentTarget.attributes.url.value;
const registryServer = getRegistryServers().filter(e => e !== url);
localStorage.setItem('registryServer', JSON.stringify(registryServer));
removeRegistryServers(url);
setTimeout(() => this.update(), 100);
},
getRegistryServers

View File

@@ -20,7 +20,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
<div class="logo">Docker Registry UI</div>
<search-bar on-search="{ onSearch }"></search-bar>
<dialogs-menu if="{props.singleRegistry !== 'true'}" on-notify="{ notifySnackbar }"
on-server-change="{ onServerChange }"></dialogs-menu>
on-server-change="{ onServerChange }" default-registries="{ props.defaultRegistries }"></dialogs-menu>
</material-navbar>
</header>
<main>
@@ -77,6 +77,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
import {
stripHttps,
getRegistryServers,
setRegistryServers,
truthy
} from '../scripts/utils';
import router from '../scripts/router';
@@ -96,6 +97,10 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
state.snackbarMessage = undefined;
},
onBeforeMount(props) {
if (props.defaultRegistries && props.defaultRegistries.length > 0) {
setRegistryServers(props.defaultRegistries);
}
// props.singleRegistry === 'true' means old static version
const registryUrl = props.registryUrl ||
(props.singleRegistry === 'true' ? undefined : (router.getUrlQueryParam() || getRegistryServers(0))) ||