fix setupLivePrefs regression
This commit is contained in:
		
							parent
							
								
									6fb2727f6b
								
							
						
					
					
						commit
						c9b8593830
					
				| 
						 | 
				
			
			@ -305,11 +305,11 @@ function scrollElementIntoView(element, {invalidMarginRatio = 0} = {}) {
 | 
			
		|||
 * and establishes a two-way connection between the document elements and the actual prefs
 | 
			
		||||
 */
 | 
			
		||||
function setupLivePrefs(ids) {
 | 
			
		||||
  let forceUpdate = true;
 | 
			
		||||
  let init = true;
 | 
			
		||||
  // getElementsByTagName is cached so it's much faster than calling querySelector for each id
 | 
			
		||||
  ids = ids ? [...ids] : prefs.knownKeys.filter(id => id in document.getElementsByTagName('*'));
 | 
			
		||||
  prefs.subscribe(ids, updateElement, {runNow: true});
 | 
			
		||||
  forceUpdate = false;
 | 
			
		||||
  init = false;
 | 
			
		||||
  function onChange() {
 | 
			
		||||
    if (this.checkValidity() && (this.type !== 'radio' || this.checked)) {
 | 
			
		||||
      prefs.set(this.id || this.name, getValue(this));
 | 
			
		||||
| 
						 | 
				
			
			@ -337,7 +337,7 @@ function setupLivePrefs(ids) {
 | 
			
		|||
    }
 | 
			
		||||
    for (const el of els) {
 | 
			
		||||
      const oldValue = getValue(el);
 | 
			
		||||
      if (!isSame(el, oldValue, value) || forceUpdate) {
 | 
			
		||||
      if (!isSame(el, oldValue, value)) {
 | 
			
		||||
        if (el.type === 'radio') {
 | 
			
		||||
          el.checked = value === oldValue;
 | 
			
		||||
        } else if (el.type === 'checkbox') {
 | 
			
		||||
| 
						 | 
				
			
			@ -346,8 +346,8 @@ function setupLivePrefs(ids) {
 | 
			
		|||
          el.value = value;
 | 
			
		||||
        }
 | 
			
		||||
        el.dispatchEvent(new Event('change', {bubbles: true}));
 | 
			
		||||
        if (forceUpdate) el.on('change', onChange);
 | 
			
		||||
      }
 | 
			
		||||
      if (init) el.on('change', onChange);
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue
	
	Block a user