Specify global data for filters
When instantiating the object, do not set all data to a PromiseObject
This commit is contained in:
		
							parent
							
								
									81f3dfe338
								
							
						
					
					
						commit
						0eaebd0c77
					
				
					 1 changed files with 16 additions and 13 deletions
				
			
		|  | @ -2,7 +2,7 @@ | ||||||
| Manage filters. | Manage filters. | ||||||
| */ | */ | ||||||
| 
 | 
 | ||||||
| import {read, write, forget, search} from "./secretariat.js"; | import {global} from "./secretariat.js"; | ||||||
| import net from "/scripts/utils/net.js"; | import net from "/scripts/utils/net.js"; | ||||||
| import texts from "/scripts/mapping/read.js"; | import texts from "/scripts/mapping/read.js"; | ||||||
| import {Queue} from "/scripts/utils/common.js"; | import {Queue} from "/scripts/utils/common.js"; | ||||||
|  | @ -11,13 +11,16 @@ import logging from "/scripts/logging.js" | ||||||
| 
 | 
 | ||||||
| export default class filters { | export default class filters { | ||||||
| 	constructor() { | 	constructor() { | ||||||
| 		this.all = async () => { | 		this.refresh(); | ||||||
| 			return read(`filters`, -1).then((filters) => { |  | ||||||
| 				return filters; |  | ||||||
| 			}); |  | ||||||
| 		}; |  | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
|  | 	/*  | ||||||
|  | 	Get all filters.  | ||||||
|  | 	*/ | ||||||
|  | 	async refresh() { | ||||||
|  | 		this.all = await global.read(`filters`); | ||||||
|  | 	}; | ||||||
|  | 
 | ||||||
| 	/* Select the most appropriate filter based on a URL. | 	/* Select the most appropriate filter based on a URL. | ||||||
| 
 | 
 | ||||||
| 	@param {string} URL the current URL | 	@param {string} URL the current URL | ||||||
|  | @ -32,7 +35,7 @@ export default class filters { | ||||||
| 		if (URL) { | 		if (URL) { | ||||||
| 			let SELECTED = await (async () => { | 			let SELECTED = await (async () => { | ||||||
| 				// Get the filters.
 | 				// Get the filters.
 | ||||||
| 				let filter = await search(`filters`, URL, `URL`, 0.5, {"cloud": -1}); | 				let filter = await global.search(`filters`, URL, `URL`, 0.5, {"cloud": -1}); | ||||||
| 	 | 	 | ||||||
| 				// If there are filters, then filter the URL.
 | 				// If there are filters, then filter the URL.
 | ||||||
| 				return filter; | 				return filter; | ||||||
|  | @ -62,7 +65,7 @@ export default class filters { | ||||||
| 			} | 			} | ||||||
| 		} else { | 		} else { | ||||||
| 			// Add every item to the queue based on what was loaded first.
 | 			// Add every item to the queue based on what was loaded first.
 | ||||||
| 			let FILTERS_ALL = await read(["settings", `filters`]); | 			let FILTERS_ALL = await global.read(["settings", `filters`]); | ||||||
| 			if (((typeof (FILTERS_ALL)).includes(`obj`) && !Array.isArray(FILTERS_ALL)) ? Object.keys(FILTERS_ALL).length > 0 : false) { | 			if (((typeof (FILTERS_ALL)).includes(`obj`) && !Array.isArray(FILTERS_ALL)) ? Object.keys(FILTERS_ALL).length > 0 : false) { | ||||||
| 				for (let FILTER_URL_INDEX = 0; FILTER_URL_INDEX < Object.keys(FILTERS_ALL).length; FILTER_URL_INDEX++) { | 				for (let FILTER_URL_INDEX = 0; FILTER_URL_INDEX < Object.keys(FILTERS_ALL).length; FILTER_URL_INDEX++) { | ||||||
| 					let FILTER_URL = (Object.keys(FILTERS_ALL, 1))[FILTER_URL_INDEX]; | 					let FILTER_URL = (Object.keys(FILTERS_ALL, 1))[FILTER_URL_INDEX]; | ||||||
|  | @ -87,12 +90,12 @@ export default class filters { | ||||||
| 						// Only work when the filter is valid.
 | 						// Only work when the filter is valid.
 | ||||||
| 						if (result) { | 						if (result) { | ||||||
| 							// Write the filter to storage.
 | 							// Write the filter to storage.
 | ||||||
| 							await write(["filters", filter_URL], result, -1, {"silent": true}); | 							await global.write(["filters", filter_URL], result, -1, {"silent": true}); | ||||||
| 							new logging(texts.localized(`settings_filters_update_status_complete`,null,[filter_URL])); | 							new logging(texts.localized(`settings_filters_update_status_complete`,null,[filter_URL])); | ||||||
|                              |                              | ||||||
| 							// Add the filter to the sync list.
 | 							// Add the filter to the sync list.
 | ||||||
| 							if ((await read(["settings", `filters`])) ? !((Object.keys(await read(["settings", `filters`]))).includes(filter_URL)) : true) { | 							if ((await global.read(["settings", `filters`])) ? !((Object.keys(await global.read(["settings", `filters`]))).includes(filter_URL)) : true) { | ||||||
| 								write(["settings", `filters`, filter_URL], true, 1, {"silent": true}); | 								global.write(["settings", `filters`, filter_URL], true, 1, {"silent": true}); | ||||||
| 							} | 							} | ||||||
| 						} | 						} | ||||||
| 					}) | 					}) | ||||||
|  | @ -107,7 +110,7 @@ export default class filters { | ||||||
| 		} | 		} | ||||||
| 
 | 
 | ||||||
| 		// Regardless of the download result, update will also mean setting the filters object to whatever is in storage.
 | 		// Regardless of the download result, update will also mean setting the filters object to whatever is in storage.
 | ||||||
| 		this.all = await read(`filters`, -1); | 		this.all = await global.read(`filters`, -1); | ||||||
| 
 | 
 | ||||||
| 		return this.all; | 		return this.all; | ||||||
| 	} | 	} | ||||||
|  | @ -118,7 +121,7 @@ export default class filters { | ||||||
| 	*/ | 	*/ | ||||||
| 	async remove(URL) { | 	async remove(URL) { | ||||||
| 		if (URL.includes(`://`)) { | 		if (URL.includes(`://`)) { | ||||||
| 			return((await forget([`filters`, URL], -1, false)) ? await forget([`settings`, `filters`, URL], 1, true) : false); | 			return((await global.forget([`filters`, URL], -1, false)) ? global.forget([`settings`, `filters`, URL], 1, true) : false); | ||||||
| 		} else { | 		} else { | ||||||
| 			// Inform the user of the removal being unnecessary.
 | 			// Inform the user of the removal being unnecessary.
 | ||||||
| 			logging.warn(texts.localized(`settings_filters_removal_stop`)); | 			logging.warn(texts.localized(`settings_filters_removal_stop`)); | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue