M.Ammar
-
Posts
191 -
Joined
-
Last visited
-
Days Won
2
Content Type
Profiles
Forums
Events
Posts posted by M.Ammar
-
-
On 9/4/2023 at 4:11 PM, Hayri ASLAN said:
Hello
Google map works. Did you check the demo?
I'll check how to add images as layer
Thank you for reply,
- you are correct google maps are working it was error in the Key,
- i was trying a deferent solution by adding the floor plan layer by importing a KML file,
i had some success on making the example work on the Demos\Desktop\GoogleMaps project using the UniHTMLFrame, but i need this to be working on the unimap component because i need all the other functions available
can you help me, here is the example:
<!DOCTYPE html> <html> <head> <meta name="viewport" content="initial-scale=1.0, user-scalable=no"> <meta charset="utf-8"> <title>KML Click Capture Sample</title> <style> html, body { height: 370px; padding: 0; margin: 0; } #map { height: 360px; width: 300px; overflow: hidden; float: left; border: thin solid #333; } #capture { height: 360px; width: 480px; overflow: hidden; float: left; background-color: #ECECFB; border: thin solid #333; border-left: none; } </style> </head> <body> <div id="map"></div> <div id="capture"></div> <script> var map; var src = 'https://developers.google.com/maps/documentation/javascript/examples/kml/westcampus.kml'; function initMap() { map = new google.maps.Map(document.getElementById('map'), { center: new google.maps.LatLng(-19.257753, 146.823688), zoom: 2, mapTypeId: 'terrain' }); var kmlLayer = new google.maps.KmlLayer(src, { suppressInfoWindows: true, preserveViewport: false, map: map }); kmlLayer.addListener('click', function(event) { var content = event.featureData.infoWindowHtml; var testimonial = document.getElementById('capture'); testimonial.innerHTML = content; }); } </script> <script async src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY_HERE&callback=initMap"> </script> </body> </html>
The example is from google and it is working fine but i removed my API Key : in YOUR_API_KEY_HERE
Can the same idea work with the UniMap?
best regards
-
Hi,
Regarding Tunimap i have 2 questions,
1- i have been using TuniMap with OSM layer because google never worked for me "empty page" although i set up UniMapKeys in servermodule like the demo and the same key is working for another ASP.net project with no issue.
2- how can i add a very large floor plan layer (1200m * 900m) on certain location, can i use Png file and how can i do it? as i cannot Drow over 1000 irregular shape
currently testing with V 1.90.0.1568
regards
-
On 3/17/2021 at 11:05 PM, SISBLU Software said:
Solved (USING IIS)
I had to PUT ALL my private DLLs in the folder: SysWOW64
Unigui did not accept DLLs in the application folder (EXE or DLL)
hi I am facing the same issue with windows server 2022, I have done this many times before in 2016 no problem, can you explain what did you do exactly ??
Regards
-
-
hi
I am using both google fonts and some installed fonts for reports
I have tested Delphi 11 and I have no font issues with uniGUI 1.90.0.1554.
-
thanks for reply, I think this is what we need,
but our issue now is that it will be very difficult (and time consuming) to draw the Extra large floor plans (each contain over 1200 peace of land + streets ) using simple tools like provided.
best regards
-
Hi
is there any reason to remove uni_emerald theme in 1553 ??
I just coped from older build and working fine
Regards
-
hi,
I have deferent scenario to add to irigsoft post,
I got 2 external Ip address from the service provider.
First Ip Address say 65.14.25.63 this is the router address.
and 2nd is 65.14.25.64 this is used at the domain name hosting (GoDaddy for example ) DNS settings to point to the application server
the service provider will route(redirect) any requests coming to the application server to your router address (63) )
I think this next step is what missing for you >>
You have to configure the router to route(redirect) any requested coming for IP(64) to your application server internal IP address (192.168.100.5) for example
Note: this setup running the 2 applications on IIS hosting .
-
hi snow
I don't know if this will help you but try it.
- I had to make a frame that have more components than that depend on the user selection I create from 500 up to 1800 unipanel that have labels and other controls ,
running this at one go take up to 50 sec sometimes,
I tested with uniTimer and created the panels in patches each time no more than 200 panel and now it takes 19 sec that is 60% faster.
- another note that surprised me and I cannot explain that documentation and other posts say to create(self) is faster but with testing create(uniParentPanel) saved me one sec.
- lastly try to redesign your frame, removing even one repeating label make deferent at these high numbers
regards
-
Hi,
i have reported this one month ago
Not Fixed yet
regards
- 1
-
I agree with what you said, but you seem to misunderstand the target I seek in responsiveness, first of all the Sencha Touch for me is totally useless because of RTL issues
so the only solution for me if I wanted to use UniGui is to use the Desktop edition, I am aware that it will never be a prefect solution But it is the only one I have as a single developer with minimum JS, HTML and CSS knowledge,
that's why I recommended for him to use the mobile version, we are not asking for much , a third party developer did what we want using only a Hint Property while the UniGui Teem cannot do it for many years, is it much to ask ??
maybe it is not good for you, but good enough for others
Regards
-
HI, @rencarnacion I have seen it but I cannot test it to be sure, and I agree with you, if uniGui cannot make a built-in responsiveness feature like this one as promised in 2019 roadmap , I think this will be an alternative solution, I can pay a reasonable fee extra for the license only if it is included as a built-in and supported by uniGui.
Edit My Suggestion instead of the -useless form me - Sencha Touch in the uniGUI Complete - Professional Edition make another edition with responsiveness
Regards
-
39 minutes ago, Sherzod said:
function store.load(sender, records, successful, operation, eOpts) { Ext.defer(function() { ajaxRequest(sender, '_load', []) }, 20); }
procedure TMainForm.UniDBGrid1AjaxEvent(Sender: TComponent; EventName: string; Params: TUniStrings); begin if EventName = '_load' then RestoreSelection end;
I really don't know how to thanks you enough for this one
- 1
-
Hi,
the mobile edition is more suitable for touch and phone size, But I learned the hard way that is is not Good if your language is RTL it has so many issues, or at least the last time I used it ,
now I use only the desktop edition and try to make it fit for mobile But it is not the same user experience, I have been waiting for 2 years now for a responsiveness and I hope it will be the solution for using only the desktop Edition.
if your language not RTL I defiantly recommend using it for mobile , it is double work in the GUI but it worth it.
regards
-
17 hours ago, mhmda said:
Easy, then call your button from the js code (at load event as shown in picture like this:)
MainForm.mybutton.fireEvent('click',MainForm.mybutton);
Remember for security issue the button should be visible otherwise it will not work (at design time) in order to hide it @ runtime then use UniEvents->beforeInit and set hidden to true:
function beforeInit(sender, config) { config.hidden=true; }
OR
Put your button on UniHiddenPanel 🙂
thanks again for your help I am learning a lot from you 🙂
it has the same outcome, I noticed that the selection is resorted successfully in the grid but it is not visibly selected, if edited again all old selection is modified correctly, the only issue is that only one selection is Visible
I Modified one of the demos to explain.
first select more than one record then click edit button , change category and click again you will see the issue
-
3 hours ago, mhmda said:
thank you mohamed for your help
procedure TfrmReptTransactionManagment.UniDBGridListAjaxEvent( Sender: TComponent; EventName: string; Params: TUniStrings); begin if EventName = 'load' then RestoreSelection(); end;
it correctly call the restore procedure as you expected, but for some reason it is not working, but if I called by UniButton it works and I restore all selections.
regards
-
what dose option dgPersistentSelection do?
-
Hi Sherzod
I found one old topic that you have provided a solution and it is working but I have 2 issues
procedure TfrmReptTransactionManagment.RestoreSelection(); var DBGridJSName: string; I: Integer; begin DBGridJSName := UniDBGridList.JSName; for I := 0 to SelectionList.Count - 1 do begin DBGridJSName := UniDBGridList.JSName; UniSession.AddJS(DBGridJSName + '.getSelectionModel().select(' + DBGridJSName + '.getStore().data.indexOfKey(' + SelectionList[I] + '), true)'); end; end;
1- calling this restore directly after the post action don't work I think because the grid in refresh, I had to use a button to call it after the post, is there is another way to call it after the grid refreshed?
2- I need to unselect any other selected rows before restoring the selection.
Regards
-
4 hours ago, Sherzod said:
Hello,
Do you mean an insert operation, or also an edit?
Hi
No Insert Operation in this Form, All Edit but I post values to the data source Via Looping Selected Rows
try FDQry.DisableControls; for I := 0 to UniDBGridList.SelectedRows.Count - 1 do begin FDQry.Bookmark := UniDBGridList.SelectedRows[I]; FDQry.Edit; FDQrydeedTyName.AsString := UniCBDeedTyName.Text; FDQry.Post; end; finally FDQry.EnableControls; UniDBGridList.Refresh; end;
so It Causes the selection to be at the last Selected Row after refreshing Grid
-
Hi
I am Trying to save user selection in a multi selection Grid, and then restore the selection again to the grid.
because after posting some values in the table the selection will be no longer available.
Best regards.
-
19 minutes ago, Sherzod said:
Thanks for the testcase.
Yes you are right.
Okay. Let's take into account the width of the icon.
tWidth += 30;
function store.nodeappend(sender, node, index, eOpts) { var _this=this; this.treePanel.getItem(node).el.on('mouseover', function() { textMetrics = new Ext.util.TextMetrics(); tWidth = textMetrics.getWidth(node.data.text); tWidth += 30; if (tWidth > _this.treePanel.getWidth()) { _this.treePanel.getItem(node).el.dom.setAttribute('data-qtip', node.data.text); } }); this.treePanel.getItem(node).el.on('mouseout', function() { _this.treePanel.getItem(node).el.dom.setAttribute('data-qtip', ''); }); }
Thanks Sherzod
Working Perfect for English,
Note: For Arabic I had to add 130 not 30.
Regards
- 1
-
17 minutes ago, Sherzod said:
Hi,
Works for me. Could you please make a simple testcase to check?
Hi I Edited One Of the Demos
added TuniTreeMenu
added one Item
Added
store.nodeappend
-
13 hours ago, Sherzod said:
Can you try this approach?
function store.nodeappend(sender, node, index, eOpts) { var _this=this; this.treePanel.getItem(node).el.on('mouseover', function() { textMetrics = new Ext.util.TextMetrics(); tWidth = textMetrics.getWidth(node.data.text); if (tWidth > _this.treePanel.getWidth()) { _this.treePanel.getItem(node).el.dom.setAttribute('data-qtip', node.data.text); } }); this.treePanel.getItem(node).el.on('mouseout', function() { _this.treePanel.getItem(node).el.dom.setAttribute('data-qtip', ''); }); }
Hi
I have tested this and I didn't Work.regards
-
15 hours ago, mikromundo said:
What setting can we use for 'Arabic' ?
Or when "arabic" we do not change : servermodule.extlocale ?
I keep it on [Auto]
Add A Floor Plan Layer Image on TUniMap
in General
Posted
Ether solution will work for me but the KML file is better than the image