Jump to content
uniGUI Discussion Forums


Popular Content

Showing content with the highest reputation since 08/15/19 in all areas

  1. 3 points
    Hello friends, Here is an easy sample for switching between Desktop and mobile version. Best regards. NB : Replace Const MyIP = by yours (on MainModule) Hybrid2.zip
  2. 3 points
    Hello, I am a user and enthusiast of uniGUI and I am promoting a YouTube channel with tips and marketing of a base project with native components and some techniques that speed up the development process with a nice layout. The Brazilian community is growing and we wish to contribute to the growth of uniGUI. YouTube https://www.youtube.com/channel/UClAoKfysP8spZBEtlII3GQg WhatsApp Project RadCORE Group https://chat.whatsapp.com/FSqt24K73uz4qSwMWLWtm9 WhatsApp UniGUI - The Community Group https://chat.whatsapp.com/FrlSDHAoVX51ihEZPgEN93
  3. 2 points
  4. 2 points
    Can you try another solution? 1. Remove: function menushow(sender, menu, eOpts) { /*var me=sender.menu; if (me) { me.setWidth(sender.getWidth()); me.items.each(function(item){ item.setMinWidth(sender.getWidth()-6) }); }*/ } 2. type TXPopupMenu = class(TUniPopupMenu) end; 3. UniFormReady event: procedure TMainForm.UniFormReady(Sender: TObject); begin with TXPopupMenu(UniPopupMenu1).MenuControl.JSInterface do JSConfig('minWidth', [UniMenuButton1.Width-6]); end;
  5. 2 points
    One of the possible solutions for now. Instead of & use &&, for example: UniMenuItem.Caption = "& & test"
  6. 2 points
    Yes, sure - that's it's main purpose! You can also feel free to make any adaptions / modifications to your need. This is just a little gift from me to the UniGui community without any limitations from my side.
  7. 1 point
    One of the possible solutions for now: UniMenuButton1.ClientEvents.ExtEvents -> function menushow(sender, menu, eOpts) { var me=sender.menu; if (me) { me.setWidth(sender.getWidth()); me.items.each(function(item){ item.setMinWidth(sender.getWidth()-6) }); } }
  8. 1 point
    A good property in ServerModule would be good for example, TextDefaultMask, if it has value there always takes it from there maybe for some controls.
  9. 1 point
    Hi, So you have some code behind the login. Can you open console and check if you have any error.
  10. 1 point
    VPS mean shared resources with other users. We use contabo services for years and recently we purchased a dedicated server with 500 GB SSD and 4 TB secondary H.D we also purchased a RAID hardawre to backup primary SSD at real time in case of failure. We backup our customer data (DB & files) to FTP from contabo and we also backup data to Amazaon s3 account using CloudBerry application.
  11. 1 point
    Online demo: Project: http://3msoft.net/mhmd/unimlistview.rar
  12. 1 point
    my new baby :-) "one to rule them all" works for smartphone, tablet, desktop .. "Fake"- PWA- Technology for a feeling like a native Android-App Selfe styled uniDBGrid with hover-effect on records ... .. ui_demo.webm
  13. 1 point
    Hello, We are using Frames instead (better). See in attachment Frames On the fly. Regards Frames_On_TheFly_Sample.zip
  14. 1 point
    Здравствуйте, MainForm -> OnScreenResize событие
  15. 1 point
    Ok, please find now attached my message dialog solution. For better understanding, I put it into a simple test environment. Finally it can be used very similar to the origin MessageDLG procedure. It supports already various settings, but still can be easily tailored to whatever needs you have. Any feedback & comments are welcome P.S. I just uploaded a new version with new options to change fonts, colors, icons (awesome font) and button content very easily from your application. Its a complete replacement of the existing messagedlg procedure. Just import the unit "uDialog.pas" and replace existing messagedlg calls with messagedlgA. P.P.S. Happy New Year to everybody of this great community uniGUI - MsgDLGDEmo.zip
  16. 1 point
  17. 1 point
    Hi guys, I wanted to share with you some of my work, this is a full Facilities Managment System. I hope you like it It still in beta, but very close to the final release. You can also see it in action here : https://byteinmotionapps.com/Facilities4EN/ login : demo pass : demo
  18. 1 point
    We've made a fix on the new UniGUI version (function sync removed): function afterrender(sender, eOpts) { sender.activated = true; var me = sender; me.selectedText = ""; setTimeout( function(){ me.getDoc().onselectionchange = function(e) { var doc = me.getDoc(), clip = "", selDocFrag; var txt = '', hasHTML = false, selNodes = [], ret, html = '', textParse = ''; //if (me.win.getSelection || doc.getSelection) { if (doc.getSelection || me.win.getSelection) { // FF, Chrome, Safari var sel = doc.getSelection(); if (!sel) { sel = me.win.getSelection(); } if (!sel.isCollapsed){ if (clip) { selDocFrag = sel.getRangeAt(0).extractContents(); } else { selDocFrag = sel.getRangeAt(0).cloneContents(); } Ext.each(selDocFrag.childNodes, function(n) { if (n.nodeType !== 3) { hasHTML = true; } }); if (hasHTML) { var div = document.createElement('div'); div.appendChild(selDocFrag); html = div.innerHTML; txt = sel + ''; var children = sel.getRangeAt(0).cloneContents().childNodes; for (var i = 0; i < children.length; i++) { var child = children[i]; textParse += child.textContent; if (child.nodeName === 'DIV'){ textParse += '\r\n'; } } } else { html = txt = selDocFrag.textContent; } } ret = { textContent: txt, hasHTML: hasHTML, html: html }; } else if (doc.selection) { // IE me.win.focus(); txt = doc.selection.createRange(); if (txt.text !== txt.htmlText) { hasHTML = true; } ret = { textContent: txt.text, hasHTML: hasHTML, html: txt.htmlText }; } else { ret = { textContent: '' }; } me.selectedText = textParse || ret.textContent; return ret; }; },1000); }
  19. 1 point
    Hi! The Callout extension Callout is an extension class, which is a CSS styleable floating callout container with an optional arrow, developed by John Yanarella. It is useful for creating hint overlays and interactive callout windows/popovers... https://github.com/CodeCatalyst/Ext.ux.callout.Callout A live demo is available for this extension at http://lab.codecatalyst.com/Ext.ux.callout.Callout. Exemplary use: 1. Add these files to the project: https://github.com/CodeCatalyst/Ext.ux.callout.Callout/tree/master/build 2. procedure TMainForm.UniButton1Click(Sender: TObject); begin UniSession.AddJS( 'Ext.widget(''callout'', {'+ 'cls: "cartoon",'+ 'width: 200,'+ 'html: "Click anywhere to dismiss this callout window.",'+ 'calloutArrowLocation: "top",'+ 'target: "#'+UniButton1.JSName+'_id",'+ 'relativePosition: "t-b",'+ 'relativeOffsets: [0,10],'+ 'fadeInDuration: 200,'+ 'fadeOutDuration: 200,'+ 'dismissDelay: 5000,'+ '}).show();' ); end; Best regards.
  20. 1 point
  21. 1 point
    Use function inside itemTpl: config.itemTpl= new Ext.XTemplate( '<table class="lsttbl">'+ '<tr>'+ '<td class="lsttbl_title" style="width:100px;padding-bottom:10px;">שם מוצר:</td>'+ '<td class="lsttbl_info" style="color:#e91e63;padding-bottom:10px;">{3}</td>'+ '</tr>'+ '<tr>'+ '<td class="lsttbl_title" style="padding-bottom:10px;">כמות:</td>'+ '<td class="lsttbl_info" style="padding-bottom:10px;">{4}</td>'+ '</tr>'+ '<tr>'+ '<td class="lsttbl_title" style="padding-bottom:10px;">זמן:</td>'+ '<td class="lsttbl_info" style="padding-bottom:10px;">{5}</td>'+ '</tr>'+ '</table>'+ '<img src="files/images/ic_prdct{7}.png" style="position:absolute;left:20px;top:15px;"/>'+ '{[this.getReady(values)]}', { getReady: function(values) { if(values[6]) return '<img src="files/images/ready.png" style="position:absolute;left:20px;top:20px;"/>'; else return ''; } } );
  22. 1 point
  23. 1 point
  24. 1 point
  25. 1 point
    I've already posted a demo of obtaining images from canvas in unigui. This article shows how to draw webcam snapshots on canvas http://arstechnica.com/business/2012/01/hands-on-building-an-html5-photo-booth-with-chromes-new-webcam-api/ What else do you need?