Unverified Commit 696c338e authored by AUTOMATIC1111's avatar AUTOMATIC1111 Committed by GitHub
Browse files

Merge pull request #9953 from akx/js-misc-fixes

Miscellaneous JS fixes
parents b463b8a1 50f63e22
Loading
Loading
Loading
Loading
+14 −19
Original line number Diff line number Diff line
@@ -45,29 +45,24 @@ function dimensionChange(e, is_width, is_height){

		var viewportOffset = targetElement.getBoundingClientRect();

		viewportscale = Math.min(  targetElement.clientWidth/targetElement.naturalWidth, targetElement.clientHeight/targetElement.naturalHeight )
		var viewportscale = Math.min(  targetElement.clientWidth/targetElement.naturalWidth, targetElement.clientHeight/targetElement.naturalHeight )

		scaledx = targetElement.naturalWidth*viewportscale
		scaledy = targetElement.naturalHeight*viewportscale
		var scaledx = targetElement.naturalWidth*viewportscale
		var scaledy = targetElement.naturalHeight*viewportscale

		cleintRectTop    = (viewportOffset.top+window.scrollY)
		cleintRectLeft   = (viewportOffset.left+window.scrollX)
		cleintRectCentreY = cleintRectTop  + (targetElement.clientHeight/2)
		cleintRectCentreX = cleintRectLeft + (targetElement.clientWidth/2)
		var cleintRectTop    = (viewportOffset.top+window.scrollY)
		var cleintRectLeft   = (viewportOffset.left+window.scrollX)
		var cleintRectCentreY = cleintRectTop  + (targetElement.clientHeight/2)
		var cleintRectCentreX = cleintRectLeft + (targetElement.clientWidth/2)

		viewRectTop    = cleintRectCentreY-(scaledy/2)
		viewRectLeft   = cleintRectCentreX-(scaledx/2)
		arRectWidth  = scaledx
		arRectHeight = scaledy
		var arscale = Math.min(  scaledx/currentWidth, scaledy/currentHeight )
		var arscaledx = currentWidth*arscale
		var arscaledy = currentHeight*arscale

		arscale = Math.min(  arRectWidth/currentWidth, arRectHeight/currentHeight )
		arscaledx = currentWidth*arscale
		arscaledy = currentHeight*arscale

		arRectTop    = cleintRectCentreY-(arscaledy/2)
		arRectLeft   = cleintRectCentreX-(arscaledx/2)
		arRectWidth  = arscaledx
		arRectHeight = arscaledy
		var arRectTop    = cleintRectCentreY-(arscaledy/2)
		var arRectLeft   = cleintRectCentreX-(arscaledx/2)
		var arRectWidth  = arscaledx
		var arRectHeight = arscaledy

	    arPreviewRect.style.top  = arRectTop+'px';
	    arPreviewRect.style.left = arRectLeft+'px';
+5 −7
Original line number Diff line number Diff line
@@ -4,7 +4,7 @@ contextMenuInit = function(){
  let menuSpecs = new Map();

  const uid = function(){
    return Date.now().toString(36) + Math.random().toString(36).substr(2);
    return Date.now().toString(36) + Math.random().toString(36).substring(2);
  }

  function showContextMenu(event,element,menuEntries){
@@ -16,8 +16,7 @@ contextMenuInit = function(){
      oldMenu.remove()
    }

    let tabButton = uiCurrentTab
    let baseStyle = window.getComputedStyle(tabButton)
    let baseStyle = window.getComputedStyle(uiCurrentTab)

    const contextMenu = document.createElement('nav')
    contextMenu.id = "context-menu"
@@ -36,7 +35,7 @@ contextMenuInit = function(){
    menuEntries.forEach(function(entry){
      let contextMenuEntry = document.createElement('a')
      contextMenuEntry.innerHTML = entry['name']
      contextMenuEntry.addEventListener("click", function(e) {
      contextMenuEntry.addEventListener("click", function() {
        entry['func']();
      })
      contextMenuList.append(contextMenuEntry);
@@ -63,7 +62,7 @@ contextMenuInit = function(){

  function appendContextMenuOption(targetElementSelector,entryName,entryFunction){

    currentItems = menuSpecs.get(targetElementSelector)
    var currentItems = menuSpecs.get(targetElementSelector)

    if(!currentItems){
      currentItems = []
@@ -79,7 +78,7 @@ contextMenuInit = function(){
  }

  function removeContextMenuOption(uid){
    menuSpecs.forEach(function(v,k) {
    menuSpecs.forEach(function(v) {
      let index = -1
      v.forEach(function(e,ei){if(e['id']==uid){index=ei}})
      if(index>=0){
@@ -112,7 +111,6 @@ contextMenuInit = function(){
        if(e.composedPath()[0].matches(k)){
          showContextMenu(e,e.composedPath()[0],v)
          e.preventDefault()
          return
        }
      })
    });
+4 −4
Original line number Diff line number Diff line
@@ -69,8 +69,8 @@ function keyupEditAttention(event){

	event.preventDefault();

    closeCharacter = ')'
    delta = opts.keyedit_precision_attention
    var closeCharacter = ')'
    var delta = opts.keyedit_precision_attention

    if (selectionStart > 0 && text[selectionStart - 1] == '<'){
        closeCharacter = '>'
@@ -91,8 +91,8 @@ function keyupEditAttention(event){
        selectionEnd += 1;
    }

	end = text.slice(selectionEnd + 1).indexOf(closeCharacter) + 1;
	weight = parseFloat(text.slice(selectionEnd + 1, selectionEnd + 1 + end));
	var end = text.slice(selectionEnd + 1).indexOf(closeCharacter) + 1;
	var weight = parseFloat(text.slice(selectionEnd + 1, selectionEnd + 1 + end));
	if (isNaN(weight)) return;

	weight += isPlus ? delta : -delta;
+6 −6
Original line number Diff line number Diff line

function extensions_apply(_, _, disable_all){
function extensions_apply(_disabled_list, _update_list, disable_all){
    var disable = []
    var update = []

    gradioApp().querySelectorAll('#extensions input[type="checkbox"]').forEach(function(x){
        if(x.name.startsWith("enable_") && ! x.checked)
            disable.push(x.name.substr(7))
            disable.push(x.name.substring(7))

        if(x.name.startsWith("update_") && x.checked)
            update.push(x.name.substr(7))
            update.push(x.name.substring(7))
    })

    restart_reload()
@@ -16,12 +16,12 @@ function extensions_apply(_, _, disable_all){
    return [JSON.stringify(disable), JSON.stringify(update), disable_all]
}

function extensions_check(_, _){
function extensions_check(){
    var disable = []

    gradioApp().querySelectorAll('#extensions input[type="checkbox"]').forEach(function(x){
        if(x.name.startsWith("enable_") && ! x.checked)
            disable.push(x.name.substr(7))
            disable.push(x.name.substring(7))
    })

    gradioApp().querySelectorAll('#extensions .extension_status').forEach(function(x){
@@ -41,7 +41,7 @@ function install_extension_from_index(button, url){
    button.disabled = "disabled"
    button.value = "Installing..."

    textarea = gradioApp().querySelector('#extension_to_install textarea')
    var textarea = gradioApp().querySelector('#extension_to_install textarea')
    textarea.value = url
    updateInput(textarea)

+9 −9
Original line number Diff line number Diff line
@@ -10,11 +10,11 @@ function setupExtraNetworksForTab(tabname){
    tabs.appendChild(search)
    tabs.appendChild(refresh)

    search.addEventListener("input", function(evt){
        searchTerm = search.value.toLowerCase()
    search.addEventListener("input", function(){
        var searchTerm = search.value.toLowerCase()

        gradioApp().querySelectorAll('#'+tabname+'_extra_tabs div.card').forEach(function(elem){
            text = elem.querySelector('.name').textContent.toLowerCase() + " " + elem.querySelector('.search_term').textContent.toLowerCase()
            var text = elem.querySelector('.name').textContent.toLowerCase() + " " + elem.querySelector('.search_term').textContent.toLowerCase()
            elem.style.display = text.indexOf(searchTerm) == -1 ? "none" : ""
        })
    });
@@ -55,7 +55,7 @@ function tryToRemoveExtraNetworkFromPrompt(textarea, text){

    var partToSearch = m[1]
    var replaced = false
    var newTextareaText = textarea.value.replaceAll(re_extranet_g, function(found, index){
    var newTextareaText = textarea.value.replaceAll(re_extranet_g, function(found){
        m = found.match(re_extranet);
        if(m[1] == partToSearch){
            replaced = true;
@@ -96,9 +96,9 @@ function saveCardPreview(event, tabname, filename){
}

function extraNetworksSearchButton(tabs_id, event){
    searchTextarea = gradioApp().querySelector("#" + tabs_id + ' > div > textarea')
    button = event.target
    text = button.classList.contains("search-all") ? "" : button.textContent.trim()
    var searchTextarea = gradioApp().querySelector("#" + tabs_id + ' > div > textarea')
    var button = event.target
    var text = button.classList.contains("search-all") ? "" : button.textContent.trim()

    searchTextarea.value = text
    updateInput(searchTextarea)
@@ -133,7 +133,7 @@ function popup(contents){
}

function extraNetworksShowMetadata(text){
    elem = document.createElement('pre')
    var elem = document.createElement('pre')
    elem.classList.add('popup-metadata');
    elem.textContent = text;

@@ -165,7 +165,7 @@ function requestGet(url, data, handler, errorHandler){
}

function extraNetworksRequestMetadata(event, extraPage, cardName){
    showError = function(){ extraNetworksShowMetadata("there was an error getting metadata"); }
    var showError = function(){ extraNetworksShowMetadata("there was an error getting metadata"); }

    requestGet("./sd_extra_networks/metadata", {"page": extraPage, "item": cardName}, function(data){
        if(data && data.metadata){
Loading