Alpha Software Mobile Development Tools:   Alpha Anywhere    |   Alpha TransForm subscribe to our YouTube Channel  Follow Us on LinkedIn  Follow Us on Twitter  Follow Us on Facebook

Announcement

Collapse

The Alpha Software Forum Participation Guidelines

The Alpha Software Forum is a free forum created for Alpha Software Developer Community to ask for help, exchange ideas, and share solutions. Alpha Software strives to create an environment where all members of the community can feel safe to participate. In order to ensure the Alpha Software Forum is a place where all feel welcome, forum participants are expected to behave as follows:
  • Be professional in your conduct
  • Be kind to others
  • Be constructive when giving feedback
  • Be open to new ideas and suggestions
  • Stay on topic


Be sure all comments and threads you post are respectful. Posts that contain any of the following content will be considered a violation of your agreement as a member of the Alpha Software Forum Community and will be moderated:
  • Spam.
  • Vulgar language.
  • Quotes from private conversations without permission, including pricing and other sales related discussions.
  • Personal attacks, insults, or subtle put-downs.
  • Harassment, bullying, threatening, mocking, shaming, or deriding anyone.
  • Sexist, racist, homophobic, transphobic, ableist, or otherwise discriminatory jokes and language.
  • Sexually explicit or violent material, links, or language.
  • Pirated, hacked, or copyright-infringing material.
  • Encouraging of others to engage in the above behaviors.


If a thread or post is found to contain any of the content outlined above, a moderator may choose to take one of the following actions:
  • Remove the Post or Thread - the content is removed from the forum.
  • Place the User in Moderation - all posts and new threads must be approved by a moderator before they are posted.
  • Temporarily Ban the User - user is banned from forum for a period of time.
  • Permanently Ban the User - user is permanently banned from the forum.


Moderators may also rename posts and threads if they are too generic or do not property reflect the content.

Moderators may move threads if they have been posted in the incorrect forum.

Threads/Posts questioning specific moderator decisions or actions (such as "why was a user banned?") are not allowed and will be removed.

The owners of Alpha Software Corporation (Forum Owner) reserve the right to remove, edit, move, or close any thread for any reason; or ban any forum member without notice, reason, or explanation.

Community members are encouraged to click the "Report Post" icon in the lower left of a given post if they feel the post is in violation of the rules. This will alert the Moderators to take a look.

Alpha Software Corporation may amend the guidelines from time to time and may also vary the procedures it sets out where appropriate in a particular case. Your agreement to comply with the guidelines will be deemed agreement to any changes to it.



Bonus TIPS for Successful Posting

Try a Search First
It is highly recommended that a Search be done on your topic before posting, as many questions have been answered in prior posts. As with any search engine, the shorter the search term, the more "hits" will be returned, but the more specific the search term is, the greater the relevance of those "hits". Searching for "table" might well return every message on the board while "tablesum" would greatly restrict the number of messages returned.

When you do post
First, make sure you are posting your question in the correct forum. For example, if you post an issue regarding Desktop applications on the Mobile & Browser Applications board , not only will your question not be seen by the appropriate audience, it may also be removed or relocated.

The more detail you provide about your problem or question, the more likely someone is to understand your request and be able to help. A sample database with a minimum of records (and its support files, zipped together) will make it much easier to diagnose issues with your application. Screen shots of error messages are especially helpful.

When explaining how to reproduce your problem, please be as detailed as possible. Describe every step, click-by-click and keypress-by-keypress. Otherwise when others try to duplicate your problem, they may do something slightly different and end up with different results.

A note about attachments
You may only attach one file to each message. Attachment file size is limited to 2MB. If you need to include several files, you may do so by zipping them into a single archive.

If you forgot to attach your files to your post, please do NOT create a new thread. Instead, reply to your original message and attach the file there.

When attaching screen shots, it is best to attach an image file (.BMP, .JPG, .GIF, .PNG, etc.) or a zip file of several images, as opposed to a Word document containing the screen shots. Because Word documents are prone to viruses, many message board users will not open your Word file, therefore limiting their ability to help you.

Similarly, if you are uploading a zipped archive, you should simply create a .ZIP file and not a self-extracting .EXE as many users will not run your EXE file.
See more
See less

Is there a way to pin the flyout on a tabbed UI based on user selection?

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    Is there a way to pin the flyout on a tabbed UI based on user selection?

    I know I can set it so that you have to click to open it and close it or I can set it to stay open all the time but many users like the flyout and some don't like it. Those that don't like it are usually running dual monitors with the flyout in between them. This makes it flutter incessantly sometimes. Those that really like it usually have smaller monitors and want to conserve the space. Heck, I've got large dual monitors and still like it to save space.

    Anyway, is there some code somwhere that I can modify so I can allow a user to pin it if they'd like?

    #2
    Re: Is there a way to pin the flyout on a tabbed UI based on user selection?

    OK,
    So I was able to uncheck the "auto colapse button pane" option in the tabbed UI properties and then put this code (the code that is removed from the xbasic when you uncheck the colapse option) in the javaScript function declarations:
    Code:
    function AutoHideButtonsPane()
    {
    tbiObj._hideTO = 0;
    tbiObj._menuMouseOut = function(e){
    	var ele = $('{tabbedUI.alias}.MENUPANEL');
    	var relEle = (e.relatedTarget) ? e.relatedTarget : e.toElement;
    	if(relEle){
    		while(relEle != ele && relEle.nodeName.toLowerCase() != 'body') relEle = relEle.parentNode
    		if(relEle == ele) return;
    	}
    	setTimeout(function(){ tbiObj.hideTabbedUIMenuPanel();},0);
    }	
    var ele = $('{tabbedUI.alias}.MENUPANEL');
    $sa(ele,'A5OLDWIDTH',ele.style.width);
    ele.style.width = '22px';
    ele.style.display='none';
    $e.add(ele,'mouseout',tbiObj._menuMouseOut);
    $e.add(ele,'mouseover',function(){clearTimeout(tbiObj._hideTO);});
    ele = $('{tabbedUI.alias}.EXPANDBAR');
    ele.style.display = '';	
    $e.add(ele,'mouseover',function(){tbiObj.showTabbedUIMenuPanel();});
    }
    I then added a "static text" control to the top of my buttons pane with this code in it:
    Code:
    <form><input type="checkbox" id ="check1" onchange="if (check1.checked==true)AutoHideButtonsPane();else NoHideButtonsPane();">Autohide flyout?
    </form>
    Checking the button works as expected. What I'm trying to figure out now is how to undo the code that I ran previously when I checked the button. I'm trying to create a NoHideButtonsPane function in my javascript functions declarations but I'm not having much luck turning this off again.

    Comment


      #3
      Re: Is there a way to pin the flyout on a tabbed UI based on user selection?

      Argh!
      How do I get rid of the "mouseout" and "mousover" elements after they've been created by the above function?

      Comment


        #4
        Re: Is there a way to pin the flyout on a tabbed UI based on user selection?

        Jinx,

        Have you thought of doing this in a completely other way? Like setting the timeout to maybe -1 , 86400 or so to disable / enable (back to 500)
        Frank

        Tell me and I'll forget; show me and I may remember; involve me and I'll understand

        Comment


          #5
          Re: Is there a way to pin the flyout on a tabbed UI based on user selection?

          Hi Frank,
          No, unfortunately I'm like a bulldog with this stuff sometimes. I get my jaws wrapped around a problem and won't let go until it's finished. Haha. Your suggestion might be a good idea. I'll give that a try when I get back to work on Moday.

          In the mean time' I've mined the data with firebug and found where the mousout and mouseover functions get stuck into the element. Maybe with this info someone can help me write the code to get rid of them again. they appear under $e._e[10] , 11 and 12.

          Please see the attached screen shots. The first one is before clicking my checkbox and the second one is after.

          beforeautohide.pngafterautohide.png

          Comment


            #6
            Re: Is there a way to pin the flyout on a tabbed UI based on user selection?

            P.S. I decided to try to change the timeout as you suggested before I left work. It doesn't work either. It seems that after those mouseout mouseover functions are put in they don't come out and they don't re-read the timeout time even if it changed. They go into a sort of loop or different nest level or something and I can't seem to affect them. I still think they need to be removed.

            Comment


              #7
              Re: Is there a way to pin the flyout on a tabbed UI based on user selection?

              Like your bulldog attitude! What you are looking for is $e.remove() and it is fully documented in the documentation system; look for "events core.JS" I knew it had to be there; Alpha rocks!
              Frank

              Tell me and I'll forget; show me and I may remember; involve me and I'll understand

              Comment


                #8
                Re: Is there a way to pin the flyout on a tabbed UI based on user selection?

                Thanks for your help Frank! I had looked at that documentation before and tried $e.remove() but I couldn't get it to work properly. I didn't read carefully enough though and saw the $e.removeGroup() after rereading it because of your suggestion. That worked! So, here is the code for any that may want to do this.

                First, I have defined a static text control in my Tabbed UI buttons pane.
                Code:
                <form>Pin Menu<input type="checkbox" id ="check1" onchange="if (check1.checked==false)AutoHideButtonsPane(check1.checked);else NoHideButtonsPane(check1.checked);">
                </form>
                <script>
                FireCheck1OnChange();
                </script>
                Then I have these functions in my JavaScript functions declarations on the Tabbed UI properties page:
                Code:
                function AutoHideButtonsPane(checked)
                {
                [COLOR="#0000FF"]//removed tbiobj. from the front of the next two variables.  it didn't like it for some reason[/COLOR]
                hideTO = 0;
                menuMouseOut = function(e){
                	var ele = $('{tabbedUI.alias}.MENUPANEL');
                	var relEle = (e.relatedTarget) ? e.relatedTarget : e.toElement;
                	if(relEle){
                		while(relEle != ele && relEle.nodeName.toLowerCase() != 'body') relEle = relEle.parentNode
                		if(relEle == ele) return;
                	}
                	setTimeout(function(){ tbiObj.hideTabbedUIMenuPanel();},0);
                }	
                var ele = $('{tabbedUI.alias}.MENUPANEL');
                $sa(ele,'A5OLDWIDTH',ele.style.width);
                ele.style.width = '22px';
                ele.style.display='none';
                [COLOR="#0000FF"]$e.add(ele,'mouseout',menuMouseOut,'','','AutoHide');
                //since I removed the tbiobj. from them I obviously had to change this to hideTO as well
                $e.add(ele,'mouseover',function(){clearTimeout(hideTO);},'','','AutoHide');[/COLOR]
                ele = $('{tabbedUI.alias}.EXPANDBAR');
                ele.style.display = '';	
                [COLOR="#0000FF"]$e.add(ele,'mouseover',function(){tbiObj.showTabbedUIMenuPanel();},'','','AutoHide');[/COLOR]
                }
                function NoHideButtonsPane(checked)
                {
                if (checked == true){
                var ele = $('{tabbedUI.alias}.MENUPANEL');
                [COLOR="#0000FF"]$e.removeGroup('AutoHide');[/COLOR]
                tbiObj.showTabbedUIMenuPanel();}
                }
                function FireCheck1OnChange()
                {
                document.getElementById("check1").onchange();
                }
                The blue parts are important changes made from the code that I snatched out of the Xbasic tab/firebug.

                You should have "Autohide menu panel" unchecked in the Tabbed UI properties to run this code.

                It may be a bit unclear by the naming conventions I used for my functions because I went through several itterations but the check box starts unchecked and the fly-out menu is on autohide as default. If a user checks the box it will pin it out. If the user then unchecks the checkbox again, it will return to fly-out on mouseover.

                Comment

                Working...
                X