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

FormView Data API Changes to the settings object

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

  • FormView Data API Changes to the settings object

    Recent changes to the FormView Control's API have been made to simplify passing data to Editors. FormView settings are now encapsulated inside the settings.formView namespace. This helps to reduce conflicts between user-defined settings and system settings. This change affects the settings['*a5column'] and settings.data objects.

    Using settings.formView.active.path

    Before, when getting the name of the field being updated to set a title, you could use settings['*a5column'] to fetch the field's name:
    Code:
    var title = settings['*a5column'];
    var eleTitle = $('EDITOR_2.FIELDLABEL');
    eleTitle.innerHTML = title;
    With the recent API change, you should use settings.formView.active.path instead:
    Code:
    var title = settings.formView.active.path;
    var eleTitle = $('EDITOR_2.FIELDLABEL');
    eleTitle.innerHTML = title;
    Using settings.formView.active.target

    Supported in Alpha Anywhere builds released on or after 12/21/2016:

    For Group Editors, settings['*a5column'] was previously used to determine what field was selected so focus could be set to a specify control in the Group Editor. Unfortunately, you cannot use settings.formView.active.path to determine the selected field. settings.formView.active.path will be an array containing all of the fields that are assigned the Group Editor for editing.

    To get the field that was clicked when the Group Editor was activated, use settings.formView.active.target. For example:

    Code:
    var control = settings.formView.active.target;
    control = 'EDITOR_3_' + control;
    var ele = {dialog.object}.getPointer(control);
    ele.select();
    Using settings.formView.data

    In the "Cascading Dropdownbox Editors" video demonstration, the settings.data object is used to determine what value to filter the City dropdown box by looking up the value of the State field. This is the code from the "Set value in editor":
    Code:
    if(settings['fieldName'] == 'State') { 
    	var choices = getStates();
    } else if(settings['fieldName'] == 'City') { 
    	var state = settings.data.State;
    	choices = getCities(state);
    }
    
    if(typeof choices != 'undefined') { 
    	{dialog.object}.populateDropdownBox('EDITOR_2_TXTBOX',choices,true);
    }
    
    
    {dialog.object}.setValue('EDITOR_2_TXTBOX',value);
    With the new changes, this block of code becomes the following:
    Code:
    if(settings['fieldName'] == 'State') { 
    	var choices = getStates();
    } else if(settings['fieldName'] == 'City') { 
    	var state = settings.formView.data.State;
    	choices = getCities(state);
    }
    
    if(typeof choices != 'undefined') { 
    	{dialog.object}.populateDropdownBox('EDITOR_2_TXTBOX',choices,true);
    }
    
    
    {dialog.object}.setValue('EDITOR_2_TXTBOX',value);
    Existing UX components that use the FormView control are unaffected, however when building new Editors, you should use the new syntax.

    This change to the FormView settings object was originally posted in the Pre-Release Notes.

    Additional Resources

    To learn more about the FormView control and Editors and Editor Sets, checkout the resources listed below:

    The Basics
    Creating Editors
    Other Types of Editors
    • Switch Editors: Discover how you can use an in-line switch to edit values instead of an editor set for binary and multi-value fields.
    • FormView Image Capture: Learn how easy it is to capture images using the FormView control
    Last edited by Sarah Mitchell; 12-20-2016, 01:51 PM.
    Sarah Mitchell
    Documentation | Alpha Software Corporation
    Get in the know! Join us for our Weekly Webinars: TransForm Tuesday and Wednesday's Alpha Anywhere Demo and Q&A
    Connect with us: Instagram | Twitter | Facebook | LinkedIn | YouTube

  • #2
    Re: FormView Data API Changes to the settings object

    When the editor is using fields in a group
    settings.formView.active.path returns a string of all the fields in the group
    settings["*a5column"]; returns undefined

    how can I get the name of the field that was clicked on the form to open the editor ?
    Bruce Rainwater

    Comment


    • #3
      Re: FormView Data API Changes to the settings object

      Bruce, I'm sure there's a better way to do this... but... this isnt' too bad. It's a bit of a workaround. I can't see anything in the settings object that specifies the control you clicked on to display the group editor.

      However... get into the FormView. For each Field in the Group... fill in the Property "Field title in editor" with the exact name of the field. E.g. If you have a field name Qty... enter Qty... or QTY as a Field Title.

      Because we're in a group, the Textbox for Qty in the Group... let's say EDITOR_3_QTY... can have a Field Label... e.g. Quantity... so we're not message anything up.

      Now... in the Editor, Show Editor event... you can do this...

      var control = settings.title;
      control = 'EDITOR_3_' + control;
      var ele = {dialog.object}.getPointer(control);
      ele.select();

      settings.title holds the title of the field you clicked on... and now the balance of the code can continue.

      Comment


      • #4
        Re: FormView Data API Changes to the settings object

        Thanks, after a lot of looking I came up with the same solution last night, it actually works pretty well because I can also use the title on the editor also
        sometimes the simplest solution is the best
        thanks for the response
        Bruce Rainwater

        Comment


        • #5
          Re: FormView Data API Changes to the settings object

          Originally posted by brainwater View Post
          When the editor is using fields in a group
          settings.formView.active.path returns a string of all the fields in the group
          settings["*a5column"]; returns undefined

          how can I get the name of the field that was clicked on the form to open the editor ?
          Hello Bruce,

          This is an excellent question. If the editor set is a Group editor, the settings.formView.active.path is an array. I can't find anything in the formView object that indicates what field was selected.

          I have passed this on to the dev team and they're looking into it.

          Thanks!
          Sarah Mitchell
          Documentation | Alpha Software Corporation
          Get in the know! Join us for our Weekly Webinars: TransForm Tuesday and Wednesday's Alpha Anywhere Demo and Q&A
          Connect with us: Instagram | Twitter | Facebook | LinkedIn | YouTube

          Comment


          • #6
            Re: FormView Data API Changes to the settings object

            Hello Bruce,

            In tomorrow's pre-release build (and future releases), you can get the selected field for a group editor as follows:
            Code:
            var control = settings.formView.active.target;
            control = 'EDITOR_3_' + control;
            var ele = {dialog.object}.getPointer(control);
            ele.select();
            Sarah Mitchell
            Documentation | Alpha Software Corporation
            Get in the know! Join us for our Weekly Webinars: TransForm Tuesday and Wednesday's Alpha Anywhere Demo and Q&A
            Connect with us: Instagram | Twitter | Facebook | LinkedIn | YouTube

            Comment


            • #7
              Re: FormView Data API Changes to the settings object

              Excellent... thanks.

              Comment

              Working...
              X