specify global origin of data in window builder
This commit is contained in:
		
							parent
							
								
									1d96acc37a
								
							
						
					
					
						commit
						a10a14893a
					
				
					 2 changed files with 20 additions and 19 deletions
				
			
		|  | @ -4,6 +4,7 @@ Window and window content management */ | ||||||
| import texts from "../../mapping/read.js"; | import texts from "../../mapping/read.js"; | ||||||
| import net from "/scripts/utils/net.js"; | import net from "/scripts/utils/net.js"; | ||||||
| import Window from "../window.js"; | import Window from "../window.js"; | ||||||
|  | import {global} from "/scripts/secretariat.js"; | ||||||
| 
 | 
 | ||||||
| export default class windowman { | export default class windowman { | ||||||
| 	static new(URL, height, width) { | 	static new(URL, height, width) { | ||||||
|  | @ -46,7 +47,7 @@ export default class windowman { | ||||||
| 					logging.error(err.name, err.message, err.stack, true, [source]); | 					logging.error(err.name, err.message, err.stack, true, [source]); | ||||||
| 
 | 
 | ||||||
| 					// Stop loading the page when an error has occured; it's not going to work!
 | 					// Stop loading the page when an error has occured; it's not going to work!
 | ||||||
| 					if ((await secretariat.read(`debug`, -1) != null) ? await secretariat.read(`debug`, -1) : true) { | 					if ((await secretariat.global.read(`debug`, -1) != null) ? await secretariat.global.read(`debug`, -1) : true) { | ||||||
| 						window.close(); | 						window.close(); | ||||||
| 					}; | 					}; | ||||||
| 				}; | 				}; | ||||||
|  | @ -226,12 +227,12 @@ export default class windowman { | ||||||
| 							(document.querySelectorAll(`.sidenav`)).forEach(function (sidebar_element) { | 							(document.querySelectorAll(`.sidenav`)).forEach(function (sidebar_element) { | ||||||
| 								if (sidebar_element.getAttribute(`name`)) { | 								if (sidebar_element.getAttribute(`name`)) { | ||||||
| 									document.querySelector(`[works-sidebar="${sidebar_element.getAttribute(`name`)}"]`) | 									document.querySelector(`[works-sidebar="${sidebar_element.getAttribute(`name`)}"]`) | ||||||
| 									.addEventListener(`click`, function () { | 									.addEventListener(`click`, () => { | ||||||
| 										M.Sidenav.getInstance(sidebar_element).open(); | 										M.Sidenav.getInstance(sidebar_element).open(); | ||||||
| 									}); | 									}); | ||||||
| 								} else if (document.querySelector(`[data-action="ui,open,navbar"]`)) { | 								} else if (document.querySelector(`[data-action="ui,open,navbar"]`)) { | ||||||
| 									document.querySelector(`[data-action="ui,open,navbar"]`).forEach(function (button_element) { | 									document.querySelector(`[data-action="ui,open,navbar"]`).forEach(function (button_element) { | ||||||
| 										button_element.addEventListener(`click`, function() { | 										button_element.addEventListener(`click`, () => { | ||||||
| 											M.Sidenav.getInstance(sidebar).open(); | 											M.Sidenav.getInstance(sidebar).open(); | ||||||
| 										}); | 										}); | ||||||
| 									}); | 									}); | ||||||
|  | @ -270,7 +271,7 @@ export default class windowman { | ||||||
| 				let data = {}; | 				let data = {}; | ||||||
| 				data[`source`] = input_element.getAttribute(`data-store`); | 				data[`source`] = input_element.getAttribute(`data-store`); | ||||||
| 				// data[`origin`] = (input_element.hasAttribute(`data-store-location`)) ? parseInt(input_element.getAttribute(`data-store-location`)) : -1
 | 				// data[`origin`] = (input_element.hasAttribute(`data-store-location`)) ? parseInt(input_element.getAttribute(`data-store-location`)) : -1
 | ||||||
| 				data[`value`] = secretariat.read(data[`source`]); | 				data[`value`] = secretariat.global.read(data[`source`]); | ||||||
| 
 | 
 | ||||||
| 				data[`value`].then(async function(value) { | 				data[`value`].then(async function(value) { | ||||||
| 					switch (input_element.getAttribute(`type`).toLowerCase()) { | 					switch (input_element.getAttribute(`type`).toLowerCase()) { | ||||||
|  | @ -315,7 +316,7 @@ export default class windowman { | ||||||
| 							UI_item[`source`] = this.getAttribute(`data-store`); | 							UI_item[`source`] = this.getAttribute(`data-store`); | ||||||
| 							UI_item[`value`] = this.checked; | 							UI_item[`value`] = this.checked; | ||||||
| 							UI_item[`store`] = (this.hasAttribute(`data-store-location`)) ? parseInt(this.getAttribute(`data-store-location`)) : -1; | 							UI_item[`store`] = (this.hasAttribute(`data-store-location`)) ? parseInt(this.getAttribute(`data-store-location`)) : -1; | ||||||
| 							secretariat.write(UI_item[`source`], UI_item[`value`], UI_item[`store`]); | 							secretariat.global.write(UI_item[`source`], UI_item[`value`], UI_item[`store`]); | ||||||
| 						}; | 						}; | ||||||
| 						break; | 						break; | ||||||
| 					default: | 					default: | ||||||
|  | @ -337,7 +338,7 @@ export default class windowman { | ||||||
| 									: parseInt(this.value) | 									: parseInt(this.value) | ||||||
| 								: this.value; | 								: this.value; | ||||||
| 							UI_item[`store`] = (this.hasAttribute(`data-store-location`)) ? parseInt(this.getAttribute(`data-store-location`)) : -1; | 							UI_item[`store`] = (this.hasAttribute(`data-store-location`)) ? parseInt(this.getAttribute(`data-store-location`)) : -1; | ||||||
| 							secretariat.write(UI_item[`source`], UI_item[`value`], UI_item[`store`]); | 							secretariat.global.write(UI_item[`source`], UI_item[`value`], UI_item[`store`]); | ||||||
| 						}; | 						}; | ||||||
| 						break; | 						break; | ||||||
| 				} | 				} | ||||||
|  | @ -351,7 +352,7 @@ export default class windowman { | ||||||
| 		*/ | 		*/ | ||||||
| 		async function updates() { | 		async function updates() { | ||||||
| 			// Get the storage data.
 | 			// Get the storage data.
 | ||||||
| 			let storage_data = await secretariat.read(); | 			let storage_data = await secretariat.global.read(); | ||||||
| 
 | 
 | ||||||
| 			async function enable() { | 			async function enable() { | ||||||
| 				let input_elements = document.querySelectorAll("[data-enable]"); | 				let input_elements = document.querySelectorAll("[data-enable]"); | ||||||
|  | @ -360,10 +361,10 @@ export default class windowman { | ||||||
| 					input_elements.forEach(async (input_element) => { | 					input_elements.forEach(async (input_element) => { | ||||||
| 						if (input_element.getAttribute("data-enable")) { | 						if (input_element.getAttribute("data-enable")) { | ||||||
| 							// Enable the element.
 | 							// Enable the element.
 | ||||||
| 							input_element.disabled = ((await secretariat.read(input_element.getAttribute("data-enable"))) != null | 							input_element.disabled = ((await secretariat.global.read(input_element.getAttribute("data-enable"))) != null | ||||||
| 								? (typeof (await secretariat.read(input_element.getAttribute("data-enable")))).includes(`obj`) | 								? (typeof (await secretariat.global.read(input_element.getAttribute("data-enable")))).includes(`obj`) | ||||||
| 									? (Object.keys(await secretariat.read(input_element.getAttribute("data-enable")))).length <= 0 | 									? (Object.keys(await secretariat.global.read(input_element.getAttribute("data-enable")))).length <= 0 | ||||||
| 									: !(!!(await secretariat.read(input_element.getAttribute("data-enable")))) | 									: !(!!(await secretariat.global.read(input_element.getAttribute("data-enable")))) | ||||||
| 								: true); | 								: true); | ||||||
| 							(input_element.disabled) ? input_element.classList.add(`disabled`) : input_element.classList.remove(`disabled`); | 							(input_element.disabled) ? input_element.classList.add(`disabled`) : input_element.classList.remove(`disabled`); | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -1,4 +1,4 @@ | ||||||
| import {read, write, search, observe} from "/scripts/secretariat.js"; | import {global, observe} from "/scripts/secretariat.js"; | ||||||
| import logging from "/scripts/logging.js" | import logging from "/scripts/logging.js" | ||||||
| import texts from "/scripts/mapping/read.js"; | import texts from "/scripts/mapping/read.js"; | ||||||
| 
 | 
 | ||||||
|  | @ -114,7 +114,7 @@ export default class UI { | ||||||
|                                                             var DATA = {}; |                                                             var DATA = {}; | ||||||
|       |       | ||||||
|                                                             DATA[`target`] = ((ELEMENT.getAttribute(`data-result-store`).split(`,`))[0] == ``) ? [...(ELEMENT.getAttribute(`data-result-store`).split(`,`).slice(1)), ...[NAME]] : [...AREA, ...[NAME], ...(ELEMENT.getAttribute(`data-result-store`).split(`,`))]; |                                                             DATA[`target`] = ((ELEMENT.getAttribute(`data-result-store`).split(`,`))[0] == ``) ? [...(ELEMENT.getAttribute(`data-result-store`).split(`,`).slice(1)), ...[NAME]] : [...AREA, ...[NAME], ...(ELEMENT.getAttribute(`data-result-store`).split(`,`))]; | ||||||
|                                                             DATA[`value`] = ((Object.keys(ITEM).includes(ELEMENT.getAttribute(`data-result-store`))) ? ITEM[ELEMENT.getAttribute(`data-result-store`)] : await read(DATA[`target`], (ELEMENT.hasAttribute(`data-store-location`)) ? parseInt(ELEMENT.getAttribute(`data-store-location`)) : -1)); |                                                             DATA[`value`] = ((Object.keys(ITEM).includes(ELEMENT.getAttribute(`data-result-store`))) ? ITEM[ELEMENT.getAttribute(`data-result-store`)] : await global.read(DATA[`target`], (ELEMENT.hasAttribute(`data-store-location`)) ? parseInt(ELEMENT.getAttribute(`data-store-location`)) : -1)); | ||||||
|       |       | ||||||
|                                                             switch (ELEMENT[`type`]) { |                                                             switch (ELEMENT[`type`]) { | ||||||
|                                                                  case `checkbox`: |                                                                  case `checkbox`: | ||||||
|  | @ -122,7 +122,7 @@ export default class UI { | ||||||
|                                                                        |                                                                        | ||||||
|                                                                       ELEMENT[`function`] = function() { |                                                                       ELEMENT[`function`] = function() { | ||||||
|                                                                            DATA[`target`] = ((ELEMENT.getAttribute(`data-result-store`).split(`,`))[0] == ``) ? [...(ELEMENT.getAttribute(`data-result-store`).split(`,`).slice(1)), ...[NAME]] : [...AREA, ...[NAME], ...(ELEMENT.getAttribute(`data-result-store`).split(`,`))]; |                                                                            DATA[`target`] = ((ELEMENT.getAttribute(`data-result-store`).split(`,`))[0] == ``) ? [...(ELEMENT.getAttribute(`data-result-store`).split(`,`).slice(1)), ...[NAME]] : [...AREA, ...[NAME], ...(ELEMENT.getAttribute(`data-result-store`).split(`,`))]; | ||||||
|                                                                            write(DATA[`target`], ELEMENT.checked, (ELEMENT.hasAttribute(`data-store-location`)) ? parseInt(ELEMENT.getAttribute(`data-store-location`)) : -1); |                                                                            globa.write(DATA[`target`], ELEMENT.checked, (ELEMENT.hasAttribute(`data-store-location`)) ? parseInt(ELEMENT.getAttribute(`data-store-location`)) : -1); | ||||||
|                                                                       }; |                                                                       }; | ||||||
|                                                                       break; |                                                                       break; | ||||||
|                                                                  default: |                                                                  default: | ||||||
|  | @ -133,7 +133,7 @@ export default class UI { | ||||||
|                                                                                 try { |                                                                                 try { | ||||||
|                                                                                      DATA[`target`] = ((ELEMENT.getAttribute(`data-result-store`).split(`,`))[0] == ``) ? [...(ELEMENT.getAttribute(`data-result-store`).split(`,`).slice(1)), ...[NAME]] : [...AREA, ...[NAME], ...(ELEMENT.getAttribute(`data-result-store`).split(`,`))]; |                                                                                      DATA[`target`] = ((ELEMENT.getAttribute(`data-result-store`).split(`,`))[0] == ``) ? [...(ELEMENT.getAttribute(`data-result-store`).split(`,`).slice(1)), ...[NAME]] : [...AREA, ...[NAME], ...(ELEMENT.getAttribute(`data-result-store`).split(`,`))]; | ||||||
|                                                                                      DATA[`value`] = JSON.parse(ELEMENT.value.trim()); |                                                                                      DATA[`value`] = JSON.parse(ELEMENT.value.trim()); | ||||||
|                                                                                      write(DATA[`target`], DATA[`value`], (ELEMENT.hasAttribute(`data-store-location`)) ? parseInt(ELEMENT.getAttribute(`data-store-location`)) : -1); |                                                                                      globa.write(DATA[`target`], DATA[`value`], (ELEMENT.hasAttribute(`data-store-location`)) ? parseInt(ELEMENT.getAttribute(`data-store-location`)) : -1); | ||||||
|                                                                                 } catch(err) { |                                                                                 } catch(err) { | ||||||
|                                                                                      // The JSON isn't valid.
 |                                                                                      // The JSON isn't valid.
 | ||||||
|                                                                                      logging.error(err.name, texts.localized(`JSON_parse_error`), err.stack, false); |                                                                                      logging.error(err.name, texts.localized(`JSON_parse_error`), err.stack, false); | ||||||
|  | @ -144,7 +144,7 @@ export default class UI { | ||||||
|       |       | ||||||
|                                                                            ELEMENT[`function`] = function() { |                                                                            ELEMENT[`function`] = function() { | ||||||
|                                                                                 DATA[`target`] = ((ELEMENT.getAttribute(`data-result-store`).split(`,`))[0] == ``) ? [...(ELEMENT.getAttribute(`data-result-store`).split(`,`).slice(1)), ...[NAME]] : [...AREA, ...[NAME], ...(ELEMENT.getAttribute(`data-result-store`).split(`,`))]; |                                                                                 DATA[`target`] = ((ELEMENT.getAttribute(`data-result-store`).split(`,`))[0] == ``) ? [...(ELEMENT.getAttribute(`data-result-store`).split(`,`).slice(1)), ...[NAME]] : [...AREA, ...[NAME], ...(ELEMENT.getAttribute(`data-result-store`).split(`,`))]; | ||||||
|                                                                                 write(DATA[`target`], ELEMENT.value.trim(), (ELEMENT.hasAttribute(`data-store-location`)) ? parseInt(ELEMENT.getAttribute(`data-store-location`)) : -1); |                                                                                 globa.write(DATA[`target`], ELEMENT.value.trim(), (ELEMENT.hasAttribute(`data-store-location`)) ? parseInt(ELEMENT.getAttribute(`data-store-location`)) : -1); | ||||||
|                                                                            } |                                                                            } | ||||||
|                                                                       } |                                                                       } | ||||||
|                                                                       break; |                                                                       break; | ||||||
|  | @ -162,7 +162,7 @@ export default class UI { | ||||||
|                                                                  : ITEM[ELEMENT.getAttribute(`data-result-content`)]) |                                                                  : ITEM[ELEMENT.getAttribute(`data-result-content`)]) | ||||||
|                                                             : ((ITEM[ELEMENT.getAttribute(`data-result-store`)]) |                                                             : ((ITEM[ELEMENT.getAttribute(`data-result-store`)]) | ||||||
|                                                                  ? (ITEM[ELEMENT.getAttribute(`data-result-store`)]) |                                                                  ? (ITEM[ELEMENT.getAttribute(`data-result-store`)]) | ||||||
|                                                                  :  null) /*read(((ITEM[(ELEMENT.getAttribute(`data-result-store`).split(`,`))])[ITEM])));*/ |                                                                  :  null) /*global.read(((ITEM[(ELEMENT.getAttribute(`data-result-store`).split(`,`))])[ITEM])));*/ | ||||||
|                                                        } |                                                        } | ||||||
|                                                   } else { |                                                   } else { | ||||||
|                                                        if (ELEMENT.getAttribute(`data-result-store`) && ELEMENT.type) { |                                                        if (ELEMENT.getAttribute(`data-result-store`) && ELEMENT.type) { | ||||||
|  | @ -212,9 +212,9 @@ export default class UI { | ||||||
|                                         .getAttribute(`data-results-filters`) |                                         .getAttribute(`data-results-filters`) | ||||||
|                                         .split(`,`); |                                         .split(`,`); | ||||||
|                               } |                               } | ||||||
|                               SEARCH[element.getAttribute(`data-result`)][`results`] = await search(element.getAttribute(`data-result`), SEARCH[element.getAttribute(`data-result`)][`criteria`], SEARCH[element.getAttribute(`data-result`)][`additional criteria`]); |                               SEARCH[element.getAttribute(`data-result`)][`results`] = await global.search(element.getAttribute(`data-result`), SEARCH[element.getAttribute(`data-result`)][`criteria`], SEARCH[element.getAttribute(`data-result`)][`additional criteria`]); | ||||||
|                          } else { |                          } else { | ||||||
|                               SEARCH[element.getAttribute(`data-result`)][`results`] = await read(element.getAttribute(`data-result`)); |                               SEARCH[element.getAttribute(`data-result`)][`results`] = await global.read(element.getAttribute(`data-result`)); | ||||||
|                          }; |                          }; | ||||||
|       |       | ||||||
|                          display(element.getAttribute(`data-result`), SEARCH[element.getAttribute(`data-result`)][`results`], `name`); |                          display(element.getAttribute(`data-result`), SEARCH[element.getAttribute(`data-result`)][`results`], `name`); | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue