Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
    World-Hack.org
    @world_hack_org_twitter
    guten morgen...
    da ich keine funktion zum gleichzeitigen minimieren aller geöffneten panels gefunden habe, hab ich mal selber eine geschrieben.... vllt willst du sie ja mit einbinden....
    function miniAll() { 
    
    var x = document.getElementsByClassName("jsPanel");
        var i;
        for (i = 0; i < x.length; i++) {
    
            x[i].minimize();
    
        }
    
    }
    und im übrigen... danke für das schnelle bugfixen gestern noch...
    World-Hack.org
    @world_hack_org_twitter
    mhhh.... ka ob es an mir leigt oder ob es nen fehler ist....
    wenn ich meinem body nem overflow: hidden gebe, muss ich zwei mal zb den minimize-btn klicken bevor es sich minimiert (gleiches gilt auch fürs closen und maximize)
    hab zwar nun nen weg für mich gefunden auf den style-tag zu verzichten, aber es hat ne sekunde gedauert um den fehler zu finden....
    vllt blockiert der style die initialisierung beim laden....
    World-Hack.org
    @world_hack_org_twitter
    fehler auf der page gefunden....
    wenn ich unter methods auf closeChildPanels() klicke kommt nur eine weiße seite.... der fehler liegt wohl im link.... closeChildpanels statt closeChildPanels
    Stefan Sträßer
    @Flyer53
    Mühsam ernährt sich das Eichhörnchen. Ich hab schon Tage damit verbracht Fehler zu suchen, die sich schließlich als simples Typo herausstellten ;)
    Der Code für deine Funktion geht auch kürzer:
    document.querySelectorAll(".jsPanel").forEach(function(elmt){
        elmt.minimize();
    });
    Sofern der browser NodeList.prototype.forEach() unterstützt https://developer.mozilla.org/en-US/docs/Web/API/NodeList/forEach
    World-Hack.org
    @world_hack_org_twitter
    guten hallo....
    ich hab da mal wieder ein schönes problem, bei dem ich einfach keine lösung finde....
    der fehler tritt allerdings nur bei firefox auf...
    bau-dein-bunker.de/test/test3/ .... dort befindet sich mein aktuelles projekt an dem ich bastel....
    wenn ich ein panel (zb info) öffne und das dann minimiere, landet es ja in der taskleiste meiner seite.... wenn ich es dann von dort via klick öffne, dann öffnet es sich auch... aber wenn ich dann die maus bewege, scheint es so als würde ich die maustaste festhalten und nen text markieren...
    wie gesagt... der fehler scheint nur bei ff aufzutreten....
    ne idee woran das liegen kann?
    Stefan Sträßer
    @Flyer53
    Servus ... Kann ich mir ehrlich gesagt auch nicht erklären. Hast du mal ausprobiert wie es ist wenn du das reguläre normalize control im minimierten panel belässt anstatt alle controls auszublenden? Das einzige was ich mir so auf Anhieb vorstellen kann ist irgendeine event handler Sache. Sorry dass ich auf die Schnelle nicht mehr dazu sagen kann
    World-Hack.org
    @world_hack_org_twitter
    ich glaub der fehler liegt noch in meiner alten version (4.0.0)....
    hab gerade mal die jspanel.js von der aktuellen version reinkopiert....
    und ja, da werden dann im minimierten zustand die controls angezeigt und es kommt nicht mehr zu dem fehler....
    jetzt versuch ich die mal wieder auszublenden und hoffe das es dann geht.... will die ja an der stelle nicht haben... ich geb feddback... und ja... ich weiß das die 4.0.0 auch ne ne alpha von ner aplha war... hehe
    World-Hack.org
    @world_hack_org_twitter
    gar nicht so einfach die stelle zu finden, wo ich das bearbeiten kann.... grml
    World-Hack.org
    @world_hack_org_twitter
    ok... raus bekomme hab ich sie.... jetzt muss ich nur noch der titelbar zu verstehen geben das die den button für das nomalize sein soll... ach ja... alles nicht so einfach
    World-Hack.org
    @world_hack_org_twitter
    ich gebs auf für heute.... bin für jeden tip dankbar....
    Stefan Sträßer
    @Flyer53

    Also wenn du im minimierten panel gar keine controls haben willst wäre mein Ansatz ein anderer. Nutze option.minimizeTo um das automatische Erstellen eines minimierten panels zu unterbinden und erstelle ein eigenes minimiertes panel in option.onminimized.

    jsPanel.create({
      minimizeTo: false,
      onminimized: function(panel) {
        var min = document.createElement('div');
        min.textContent = 'TEST';
        min.style.padding = '5px 10px';
        min.style.backgroundColor = 'yellow';
        min.style.cursor = 'pointer';
    
        var minContainer = document.querySelector('#jsPanel-replacement-container');
        minContainer.append(min);
        min.addEventListener('click', function(){
          panel.normalize();
          minContainer.removeChild(min);
        });
      }
    });

    Das ist deutlich einfacher als mühsam das default minimierte panel zu bearbeiten.

    Stefan Sträßer
    @Flyer53
    minimizeTo: false schaftt zwar das original panel aus dem Weg, erzeugt aber kein Ersatzelement.
    In onminimized wird zunächst das custom Ersatzelement erzeugt und dann in den entsprechenden container eingefügt.
    Dann noch ein event handler der das original panel wiederherstellt und das Erstzelement entfernt.
    Ich denke das kannst du recht einfach an deine Bedürfnisse anpassen.
    World-Hack.org
    @world_hack_org_twitter

    ich hab die buttons einfach via css rausgenommen....

    via display:none

    #jsPanel-replacement-container .jsPanel-replacement .jsPanel-btn.jsPanel-btn-normalize, .jsPanel-minimized-box .jsPanel-replacement .jsPanel-btn.jsPanel-btn-normalize {
          display: none; }
    #jsPanel-replacement-container .jsPanel-replacement .jsPanel-btn.jsPanel-btn-maximize, .jsPanel-minimized-box .jsPanel-replacement .jsPanel-btn.jsPanel-btn-normalize {
          display: none; }
    #jsPanel-replacement-container .jsPanel-replacement .jsPanel-btn.jsPanel-btn-close, .jsPanel-minimized-box .jsPanel-replacement .jsPanel-btn.jsPanel-btn-normalize {
          display: none; }

    dadurch werden sie einfach nicht angezeigt und ich halte mir die option offen, das der user später einfach über seine optionen frei entscheiden kann ob er sie vllt doch nutzen möchte....
    einzig das klickevent für die titelbar muss ich mir jetzt noch suchen, so das man es darüber wieder normalisieren kann...

    World-Hack.org
    @world_hack_org_twitter
    ok... es geht.... ich danke wieder mal recht herzlich.... wenn ich fertig bin mit dem projekt, dann gibt es auch mal was für die kaffekasse....
    Stefan Sträßer
    @Flyer53
    :thumbsup:
    World-Hack.org
    @world_hack_org_twitter
    aber den style einfach per
    '''
    min.style.border: '2px solid red';
    min.style.border-radius: '5px';
    '''
    ändern geht nicht .... wie muss ich da dann vorgehen?
    Stefan Sträßer
    @Flyer53
    Oh sorry, deinen letzten post habe ich nicht mitbekommen. Ich melde mich die Tage nochmal, bin grad ein paar Tage im Urlaub ... sonst erinnere mich nächste Woche nochmal dran ;)
    World-Hack.org
    @world_hack_org_twitter

    '''
    onminimized: function(panel) {
    var elemID = pagename + '-min';
    var suche = document.getElementById(elemID);
    $('#' + elemID).find('.jsPanel-controlbar').css('display','none');
    suche.addEventListener('click', function(){
    panel.normalize();
    });
    }
    '''

    so konnte ich das ganze auch lösen....
    vorteil: ich musste nicht das ganze teil neu designen, sondern konnte weiterhin den standard nutzen...

    viel spass im urlaub.... und danke

    David Labbe
    @Davidlab
    Is there a way to remove the minimize option (icon from header) from the panel?
    Stefan Sträßer
    @Flyer53
    Sure, take a look at option headerControls https://jspanel.de/api.html#options/headerControls
    SJM662
    @SJM662
    Now please dont get too technical on me lol, jsPanel seems to be exactly what I want, but I cannot replicate it. If I have 4 buttons each opening a jsPanel with different content in each it only opens the same jsPanel irrespective of which button I click. The issue would appear to be an id issue, but I've given each jspanel a unique id, but I'm thinking it's in the html for the button tag that I need to be looking or in the function clickToOpen() part. Hope I'm making sense.
    Stefan Sträßer
    @Flyer53
    @SJM662 I suggest you mail me some example code to info@jspanel.de and then we'll see how I can help you ...
    SJM662
    @SJM662
    @Flyer53 okay, will do, thanks
    Argiris Gkogkidis
    @ArgirisGkogkidis
    Hello, I would like to ask, is it possible to make a form to close the jspanel? I mean the form is loaded via ajax from another .HTML file and on success submit close the jspanel
    Stefan Sträßer
    @Flyer53
    Hi there. I'm not sure whether I really understand you. When you submit a form you target some script on a server. And this script can return a value you can use to determine whether to close the panel or not. To close the panel take a look at the close() method of a panel: https://jspanel.de/api.html#methods/close
    @ArgirisGkogkidis If the answer above doesn't help you need to explain your issue in more detail.
    wjwebb
    @wjwebb

    Hello Stefan .. I stumped across jsPanel and have been playing with it while messing around with node && socket-io; your library is very nice. I've had a couple of quirks here and there but have not come back to them to ping here (or elsewhere).

    Two top of mind issues -- I'm @4.11.3 currently:
    1) I've copied a hint/notify example and the jsPanel will not auto-close, nor does its close button work.

    image.png
    (the gif is just a screen-cap of the execution of the function defined above, which is just a wrapper for a jsPanel.hint.create call)
    2) On creation of a panel and maximizing it immediately; the panel is able to be resized... but not moved; it can only be moved once it is normalized from its maximized setting.
    wjwebb
    @wjwebb
    #1 is more important to me as it is a blocker for me using notifications, #2 is just a bit of a nuisance. (#2: you can resize to something that looks good, then realize then panel isn't in the right location, so you go to move it, cannot, so you click normalize and... the window resizes away from what it was just resized to)
    Anyway -- thank you so much for creating a nice tool. Don't know if gitter is the best way to get ahold of you, and I didn't want to jump immediately into creating issues on github, though I will resort to that if this gitter remains dormant.
    @Flyer53
    Stefan Sträßer
    @Flyer53
    @wjwebb Hi there.#1 seems to be quite easy: Note that the css animations coming from https://animate.style/ are not included by default. So I guess you do not load the required css file causing the error.
    Stefan Sträßer
    @Flyer53
    @wjwebb #2 is a configuration thing: option dragit (https://jspanel.de/#options/dragit) has a parameter 'disableOnMaximized' which defaults to 'true'. You just need to set it to 'false' and you can drag a maximized panel.
    @wjwebb Don't hesitate to create an issue on GitHub, even if it's just a question. And you can always email me to info@jspanel.de as well. Please let me know whether your problems are solved. Regards, Stefan
    wjwebb
    @wjwebb
    Du bist unglaublich; thank you so much. I'll give these notes a try once I've got my kids off to school.
    wjwebb
    @wjwebb
    #2 appears to be resolved.
    wjwebb
    @wjwebb
    ie, i can still resize it, but once i do, clicking maximize actually maximizes instead of normalizing.
    wjwebb
    @wjwebb
    It.. might.. have helped had I spelled stylesheet correctly. Holy hell. Es tut mir Leid
    Stefan Sträßer
    @Flyer53
    @wjwebb Don't worry, all fine :smirk: There might be a small issue though I have to check. But for now your issue is solved?
    wjwebb
    @wjwebb
    Yes, I'll keep tinkering in my free time and let you know if anything else comes up.