Allow to configure more than one alternate domain

This commit is contained in:
Johannes Zellner
2019-05-31 15:19:07 +02:00
parent f95a98d3ee
commit dca43f3e57
3 changed files with 60 additions and 34 deletions

View File

@@ -155,28 +155,6 @@
</div>
</div>
<div class="form-group" ng-class="{ 'has-error': (appConfigureForm.alternateSubdomain.$dirty && appConfigureForm.alternateSubdomain.$invalid) || (!appConfigureForm.alternateSubdomain.$dirty && appConfigure.error.alternateDomains) }">
<input type="checkbox" id="appConfigureAlternateDomainEnabled" ng-model="appConfigure.alternateDomainEnabled">
<label class="control-label" for="appConfigureAlternateDomainEnabled">Redirect the following domain to this app</label>
<div class="has-error" ng-show="appConfigure.error.alternateDomains">{{ appConfigure.error.alternateDomains }}</div>
<div class="input-group form-inline">
<input type="text" class="form-control" ng-model="appConfigure.alternateSubdomain" id="appConfigureAlternateSubdomainInput" name="alternateSubdomain" placeholder="Leave empty to use bare domain" ng-disabled="!appConfigure.alternateDomainEnabled">
<div class="input-group-btn">
<button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown" ng-disabled="!appConfigure.alternateDomainEnabled">
<span>{{ (!appConfigure.alternateSubdomain ? '' : (appConfigure.alternateDomain.config.hyphenatedSubdomains ? '-' : '.')) + appConfigure.alternateDomain.domain }}</span>
<span class="caret"></span>
</button>
<ul class="dropdown-menu dropdown-menu-right" role="menu">
<li ng-repeat="domain in domains">
<a href="" ng-click="appConfigure.alternateDomain = domain">{{ domain.domain }}</a>
</li>
</ul>
</div>
</div>
</div>
<div ng-hide="true" class="form-group" ng-class="{ 'has-error': !appConfigureForm.dataDir.$dirty && appConfigure.error.dataDir }">
<input type="checkbox" id="appConfigureEnableDataDir" ng-model="appConfigure.dataDirEnabled">
<label class="control-label" for="appConfigureEnableDataDir">Custom Data Directory</label>
@@ -199,6 +177,42 @@
<label class="control-label" for="appConfigureEnableAutomaticUpdate">Enable automatic updates</label>
</div>
<div class="form-group alternate-domains" ng-class="{ 'has-error': appConfigure.error.alternateDomains }">
<label class="control-label">Redirect the following domains to this app</label>
<div class="has-error" ng-show="appConfigure.error.alternateDomains">{{ appConfigure.error.alternateDomains }}</div>
<div class="row" ng-repeat="alternateDomain in appConfigure.alternateDomains">
<div class="col col-lg-11">
<div class="input-group">
<input type="text" class="form-control" ng-model="alternateDomain.subdomain" placeholder="Leave empty to use bare domain">
<div class="input-group-btn">
<button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown">
<span>{{ (!alternateDomain.subdomain ? '' : (alternateDomain.domain.config.hyphenatedSubdomains ? '-' : '.')) + alternateDomain.domain.domain }}</span>
<span class="caret"></span>
</button>
<ul class="dropdown-menu dropdown-menu-right" role="menu">
<li ng-repeat="domain in domains">
<a href="" ng-click="alternateDomain.domain = domain">{{ domain.domain }}</a>
</li>
</ul>
</div>
</div>
</div>
<div class="col col-lg-1">
<button class="btn btn-danger btn-sm" ng-click="appConfigure.delAlternateDomain($event, $index)"><i class="far fa-trash-alt"></i></button>
</div>
</div>
<div class="row">
<div class="col col-lg-11">
<p ng-show="appConfigure.alternateDomains.length === 0">No alternate domains are configured</p>
</div>
<div class="col col-lg-1">
<button class="btn btn-primary btn-sm" ng-click="appConfigure.addAlternateDomain($event)"><i class="fas fa-plus"></i></button>
</div>
</div>
</div>
<div class="hide">
<label class="control-label" for="appConfigureCertificateInput" ng-show="appConfigure.domain.provider !== 'caas'">Certificate (optional)</label>
<div class="has-error text-center" ng-show="appConfigure.error.cert && appConfigure.domain.provider !== 'caas'">{{ appConfigure.error.cert }}</div>