Jump to content

Jeffrey Bloch

Members
  • Posts

    111
  • Joined

  • Last visited

Everything posted by Jeffrey Bloch

  1. The video is an iPhone X and when the keyboard is opened, the width of the Card window shrinks. It returns when the keyboard is dismissed. I’ve left open space on the right side of the screen in case it has something to do with a scroll bar, with no change. I’ve shortened the vertical length to assure no scroll bar should be triggered. Any idea why the screen auto-narrows when the keyboard appears? RPReplay_Final1709557724.mov
  2. I'm triggering a BEEP on FM GO for important alerts. Is there a way for me to determine (programmatically) if the iPad/iPhone's volume/ringer is turned down or even off? If not, is there a workaround or another viable option which isn't reliant on what an end-user might do to silence the device?
  3. My wishlist. Browser-based entry fields and apps like FB have a fixed horizontal size. People with last names more than 20 characters should be on MySpace. ; )
  4. I had to reread your post several times to get an understanding of your points. ‘One fact per field’ is the methodology I subscribe to. People’s names though are of unpredictable length and doesn’t reasonably justify dedicating enough space to satisfy the longest potential need. The concept of utilizing a web viewer is over-simplified as web viewers have their own inherent limitations. For instance, I’d have to restructure other functionalities to allow for changing to web viewers; most importantly no other screen element can appear on top of a web viewer which is a trade-off far from acceptable.
  5. Indeed. It's been on developer's wishlists for nearly 20 years.
  6. I think the confusion is that the scroll bar option is to allow vertical scrolling whereas I want horizontal scrolling. As you'll see in image #3, the text box expands vertically when there's overflow data (more than the dimensions show when unselected). In short, when I click into the field in image #3, I prefer that the borders and size remain exactly the same as when unselected and the user would user arrow keys to scroll horizontally to view data contained within.
  7. I don't want to expand or scroll vertically. The field is meant only to hold a person's name which, as you know, could easily extend past the expected/common name length. When this happens and a user is typing an unusually long name, I prefer the text box stays the set dimensions and the visible portion of the name will be the letters currently being typed. In other development languages I've seen where this is possible and holding down an arrow on the keyboard would scroll within the field horizontally to view overflow text.
  8. I literally haven't asked this question in 10 years so I'm not sure if there's a solution to it whether new or just forgotten. When I have a text input field on a layout (height specified to allow viewing of one-line of data only) and the user enters more text than expected, the field opens vertically. Is there a way to always maintain the set dimensions so that as the user types the field contents will scroll horizontally without any changes to the text box?
  9. The settings in my iPhone X are set within FM GO 2023 to allow 'Location,' but as you'll see below, LAT & LONG are blank. I've tried all 'Location' settings with no change. Could this be due to the fact that I'm indoors and not in line of sight with satellites? If so, is there any way to record the phone's Last Known GPS or similar? Otherwise, any ideas of what might be causing this? Thanks. [General] Filename: Photo 1-30-2024 16.12.56.jpg Storage Type: External (Secure) MD5: 203C08AEF4B80F4B4B5615B34827C2F2 File Size: 694747 Internal Size: 116 External Size: 694747 External Files: 1 [Image] Width: 1125 Height: 2436 DPI Width: 72 DPI Height: 72 Transparency: 0 (False) [Photo] Orientation: 1 (Normal) Created: 1/27/2024 1:14:56 PM Modified: Latitude: Longitude: Make: Model:
  10. Thanks so much! I’ve not yet used stylesheets so I’ll have to study up on it.
  11. <?xml version="1.0" encoding="UTF-8"?> <PlaceDetailsResponse> <status>OK</status> <result> <name>1600 Pennsylvania Avenue NW</name> <vicinity>Washington</vicinity> <type>street_address</type> <formatted_address>1600 Pennsylvania Avenue NW, Washington, DC 20500, USA</formatted_address> <address_component> <long_name>1600</long_name> <short_name>1600</short_name> <type>street_number</type> </address_component> <address_component> <long_name>Pennsylvania Avenue Northwest</long_name> <short_name>Pennsylvania Avenue NW</short_name> <type>route</type> </address_component> <address_component> <long_name>Northwest Washington</long_name> <short_name>Northwest Washington</short_name> <type>neighborhood</type> <type>political</type> </address_component> <address_component> <long_name>Washington</long_name> <short_name>Washington</short_name> <type>locality</type> <type>political</type> </address_component> <address_component> <long_name>District of Columbia</long_name> <short_name>DC</short_name> <type>administrative_area_level_1</type> <type>political</type> </address_component> <address_component> <long_name>United States</long_name> <short_name>US</short_name> <type>country</type> <type>political</type> </address_component> <address_component> <long_name>20500</long_name> <short_name>20500</short_name> <type>postal_code</type> </address_component> <geometry> <location> <lat>38.8976801</lat> <lng>-77.0363304</lng> </location> <viewport> <southwest> <lat>38.8962674</lat> <lng>-77.0374228</lng> </southwest> <northeast> <lat>38.9015474</lat> <lng>-77.0343435</lng> </northeast> </viewport> </geometry> <url>https://maps.google.com/?q=1600+Pennsylvania+Avenue+NW,+Washington,+DC+20500,+USA&amp;ftid=0x89b7b78e00410e73:0xac8125363999a8f</url> <icon>https://maps.gstatic.com/mapfiles/place_api/icons/v1/png_71/geocode-71.png</icon> <reference>ChIJcw5BAI63t4kRj5qZY1MSyAo</reference> <utc_offset>-300</utc_offset> <adr_address>&lt;span class=&quot;street-address&quot;&gt;1600 Pennsylvania Avenue NW&lt;/span&gt;, &lt;span class=&quot;locality&quot;&gt;Washington&lt;/span&gt;, &lt;span class=&quot;region&quot;&gt;DC&lt;/span&gt; &lt;span class=&quot;postal-code&quot;&gt;20500&lt;/span&gt;, &lt;span class=&quot;country-name&quot;&gt;USA&lt;/span&gt;</adr_address> <place_id>ChIJcw5BAI63t4kRj5qZY1MSyAo</place_id> <plus_code> <global_code>87C4VXX7+3F</global_code> <compound_code>VXX7+3F Washington, DC, USA</compound_code> </plus_code> <icon_background_color>#7B9EB0</icon_background_color> <icon_mask_base_uri>https://maps.gstatic.com/mapfiles/place_api/icons/v2/generic_pinlet</icon_mask_base_uri> </result> </PlaceDetailsResponse>
  12. Great point(s). I’ll narrow the portion of the JSON as I’ve already retrofitted. One other goal I didn’t mention is to minimize the time I’ll need to troubleshoot issues and reducing dependency on scripts (where possible without too much overhead) and the requisite back-and-forth simplifies the future. Unfortunately, it’s often a crapshoot for me to find the best methods as I’m not so readily aware of the overhead costs to be making the best decisions at all times. Yet another reason I post to this forum. I’ll look into the XML option. Turns out it's just as easy as changing "json" to "xml." "https://maps.googleapis.com/maps/api/place/details/xml?placeid=" & $place_ID & "&key=" & SYSTEM_SETTINGS | INCIDENTS | ALL::GOOGLE API KEY
  13. I know I said I prefer native functionality, but since this didn't appear possible, I went in search of the best custom function solution and want to post it here for future onlookers. Thanks to Brian Dunning and Alex Zueiv (https://www.briandunning.com/cf/2617)! jsonFindValue ( address.google.placeResult ; "country" ) produces the array key I need for the JSONGetElement statement. CALC STATEMENT: Let ( [ jsonData = address.google.placeResult ; textSearch = "country" ; textFound = jsonFindValue ( jsonData ; textSearch ) ; trimPosition = Position ( textFound ; "." ; 1 ; 3 ) -1 ; trimmedText = Middle ( textFound ; 2 ; trimPosition ) & "long_name" ] ; Proper ( JSONGetElement ( jsonData ; trimmedText ) ) )
  14. Thanks! You never disappoint.
  15. Thanks. No doubt you’re right, but it’s amazing to me that a response from Google (Places) wouldn’t be formatted in such a way that one could easily grab embedded data with a single statement. Any thought if perhaps there could be a setting on the Google end which opts for an easier response to handle? I don’t expect you to know Google off the top of your head, but maybe you’ve seen something similar in your time.
  16. I previously used a script which looped based upon the number of items in the response and assigned them to fields as part of the process. I’m trying to tighten up processes to reduce lags by utilizing calc fields to GET the data dynamically rather than relying on scripts/loops.
  17. Thanks for the reply. The array isn’t predictable (ie country = 6) therefore I need a way to programmatically GET the data based upon the “types” field below it. I could do a comprehensive CALC using POSITION and other functions, but I imagine there have to be JSON functions (hopefully native) which can do what I need.
  18. The following JSON result is different than I'm used to seeing. I'm trying to access COUNTRY but the term 'Country' exists only below the data itself under a subheading "types." The following statement doesn't get the COUNTRY data for me. Any thoughts? JSONGetElement ( $$placeResult ; "result.address_components.country" ) nor does JSONGetElement ( $$placeResult ; "result.address_components.country.long_name" ) FYI - I can't simply use: JSONGetElement ( $$placeResult ; "result.address_components[3]" ) as the number of elements differ based upon the search. { "html_attributions" : [], "result" : { "address_components" : [ { "long_name" : "195", "short_name" : "195", "types" : [ "street_number" ] }, { "long_name" : "Woodrow Avenue", "short_name" : "Woodrow Ave", "types" : [ "route" ] }, { "long_name" : "Southport", "short_name" : "Southport", "types" : [ "neighborhood", "political" ] }, { "long_name" : "Fairfield", "short_name" : "Fairfield", "types" : [ "locality", "political" ] }, { "long_name" : "Fairfield County", "short_name" : "Fairfield County", "types" : [ "administrative_area_level_2", "political" ] }, { "long_name" : "Connecticut", "short_name" : "CT", "types" : [ "administrative_area_level_1", "political" ] }, { "long_name" : "United States", "short_name" : "US", "types" : [ "country", "political" ] }, { "long_name" : "06890", "short_name" : "06890", "types" : [ "postal_code" ] }, { "long_name" : "1121", "short_name" : "1121", "types" : [ "postal_code_suffix" ] } ], "adr_address" : "\u003cspan class=\"street-address\"\u003e195 Woodrow Ave\u003c/span\u003e, \u003cspan class=\"locality\"\u003eSouthport\u003c/span\u003e, \u003cspan class=\"region\"\u003eCT\u003c/span\u003e \u003cspan class=\"postal-code\"\u003e06890-1121\u003c/span\u003e, \u003cspan class=\"country-name\"\u003eUSA\u003c/span\u003e", "formatted_address" : "195 Woodrow Ave, Southport, CT 06890, USA", "geometry" : { "location" : { "lat" : 41.1409221, "lng" : -73.28849129999999 }, "viewport" : { "northeast" : { "lat" : 41.1422797302915, "lng" : -73.28703961970848 }, "southwest" : { "lat" : 41.1395817697085, "lng" : -73.28973758029149 } } }, "icon" : "https://maps.gstatic.com/mapfiles/place_api/icons/v1/png_71/geocode-71.png", "icon_background_color" : "#7B9EB0", "icon_mask_base_uri" : "https://maps.gstatic.com/mapfiles/place_api/icons/v2/generic_pinlet", "name" : "195 Woodrow Ave", "place_id" : "ChIJjdXiqpAa6IkR4ol3Zgd0QEY", "reference" : "ChIJjdXiqpAa6IkR4ol3Zgd0QEY", "types" : [ "premise" ], "url" : "https://maps.google.com/?q=195+Woodrow+Ave,+Southport,+CT+06890,+USA&ftid=0x89e81a90aae2d58d:0x46407407667789e2", "utc_offset" : -300, "vicinity" : "Fairfield" }, "status" : "OK" }
  19. As you'll see in the video/FM file, dragging an image over a Container field encircles the field. Is the blue border color/size modifiable? Thanks ContainerDragDropFormatting.mp4 ContainerDragDropFormatting.fmp12
  20. I’ll have clients using FM on PCs/Macs as well as FM GO.
  21. Thanks. Do you know if Custom Functions need to be installed on the client-side or if it’s enough that they exist on the server?
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.