Ps 693/fix localhost exclude domain bug 2 (#3140)
* modify the submit function to validate only the newly/modified domains * changes after running prettier Co-authored-by: dynwee <onwudiweokeke@gmail.com>
This commit is contained in:
parent
adbe0d58fa
commit
bf291c4e64
|
@ -22,6 +22,7 @@ const BroadcasterSubscriptionId = "excludedDomains";
|
||||||
})
|
})
|
||||||
export class ExcludedDomainsComponent implements OnInit, OnDestroy {
|
export class ExcludedDomainsComponent implements OnInit, OnDestroy {
|
||||||
excludedDomains: ExcludedDomain[] = [];
|
excludedDomains: ExcludedDomain[] = [];
|
||||||
|
existingExcludedDomains: ExcludedDomain[] = [];
|
||||||
currentUris: string[];
|
currentUris: string[];
|
||||||
loadCurrentUrisTimeout: number;
|
loadCurrentUrisTimeout: number;
|
||||||
|
|
||||||
|
@ -39,6 +40,7 @@ export class ExcludedDomainsComponent implements OnInit, OnDestroy {
|
||||||
if (savedDomains) {
|
if (savedDomains) {
|
||||||
for (const uri of Object.keys(savedDomains)) {
|
for (const uri of Object.keys(savedDomains)) {
|
||||||
this.excludedDomains.push({ uri: uri, showCurrentUris: false });
|
this.excludedDomains.push({ uri: uri, showCurrentUris: false });
|
||||||
|
this.existingExcludedDomains.push({ uri: uri, showCurrentUris: false });
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -78,20 +80,27 @@ export class ExcludedDomainsComponent implements OnInit, OnDestroy {
|
||||||
|
|
||||||
async submit() {
|
async submit() {
|
||||||
const savedDomains: { [name: string]: null } = {};
|
const savedDomains: { [name: string]: null } = {};
|
||||||
|
const newExcludedDomains = this.getNewlyAddedDomians(this.excludedDomains);
|
||||||
for (const domain of this.excludedDomains) {
|
for (const domain of this.excludedDomains) {
|
||||||
if (domain.uri && domain.uri !== "") {
|
const resp = newExcludedDomains.filter((e) => e.uri === domain.uri);
|
||||||
const validDomain = Utils.getHostname(domain.uri);
|
if (resp.length === 0) {
|
||||||
if (!validDomain) {
|
savedDomains[domain.uri] = null;
|
||||||
this.platformUtilsService.showToast(
|
} else {
|
||||||
"error",
|
if (domain.uri && domain.uri !== "") {
|
||||||
null,
|
const validDomain = Utils.getHostname(domain.uri);
|
||||||
this.i18nService.t("excludedDomainsInvalidDomain", domain.uri)
|
if (!validDomain) {
|
||||||
);
|
this.platformUtilsService.showToast(
|
||||||
return;
|
"error",
|
||||||
|
null,
|
||||||
|
this.i18nService.t("excludedDomainsInvalidDomain", domain.uri)
|
||||||
|
);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
savedDomains[validDomain] = null;
|
||||||
}
|
}
|
||||||
savedDomains[validDomain] = null;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
await this.stateService.setNeverDomains(savedDomains);
|
await this.stateService.setNeverDomains(savedDomains);
|
||||||
this.router.navigate(["/tabs/settings"]);
|
this.router.navigate(["/tabs/settings"]);
|
||||||
}
|
}
|
||||||
|
@ -100,6 +109,14 @@ export class ExcludedDomainsComponent implements OnInit, OnDestroy {
|
||||||
return index;
|
return index;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
getNewlyAddedDomians(domain: ExcludedDomain[]): ExcludedDomain[] {
|
||||||
|
const result = this.excludedDomains.filter(
|
||||||
|
(newDomain) =>
|
||||||
|
!this.existingExcludedDomains.some((oldDomain) => newDomain.uri === oldDomain.uri)
|
||||||
|
);
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
toggleUriInput(domain: ExcludedDomain) {
|
toggleUriInput(domain: ExcludedDomain) {
|
||||||
domain.showCurrentUris = !domain.showCurrentUris;
|
domain.showCurrentUris = !domain.showCurrentUris;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue