Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 09/11/19 in all areas

  1. Starting with Paypal Buttons. http://hayriaslan.net:8090/ DEMO VIDEO : https://webm.red/ZFGO.webm To test payment Generated Credit Card Details Card Type: Visa Card Number: 4597443260919173 Expiration Date: 01/2022 CVV: 200 To get values you can use UniOSPaypalButtons1.ResultList.Values['purchase_units.shipping.name.full_name'] ***NOTES*** https://developer.paypal.com/docs/checkout/integrate/ - Add https://www.paypal.com/sdk/js?client-id=YOUR_CLIENT_ID to Servermodule.CustomFiles. - Set ClientID and SecretKey properties of component UniGUIOpenSource.zip
    2 points
  2. Hello, I am creating set of components. Feel free to send me javascript libraries to make them an UniGUI component and add to this package. You can find good libraries from this web sites : https://www.javascripting.com http://www.bestjquery.com/ https://bestofjs.org/ https://awesomerepos.com/javascript # Changelog ## [10 Sep 2019] - UniOSPaypalButtons Link ## [11 Apr 2020] - UniWebCam and UniVideoPanel Link ## [09 Jul 2020] UniFlowChart and UnimBarcodeScanner Link ## [18 Aug 2020] UniQZ Link Please change this based on your delphi version. http://docwiki.embarcadero.com/RADStudio/Rio/en/Compiler_Versions UniGUIOS.dpk
    1 point
  3. Hello everyone! A while ago I looked for a component or something that made it easy to use Highcharts in Unigui but I was unsuccessful. So I decided to develop my own component to do this. After 2 months of work is in a more stable version and decided to share with the community. I remind you that Highcharts is free for personal use only. Download from github: https://github.com/andriwsluna/Unigui-Components With this component it is possible to generate a chart with only 6 lines of code. Follow : EchoHightChart1.HighChartOptions.title.text.Value := 'Introduction'; EchoHightChart1.HighChartOptions.series.Datasource.DataSet := FDMemTable1; EchoHightChart1.HighChartOptions.series.List.FieldNameForSerie := 'Operation'; EchoHightChart1.HighChartOptions.series.List.FieldNameForX := 'month'; EchoHightChart1.HighChartOptions.series.List.FieldNameForY := 'value'; EchoHightChart1.Load; Note that there is a Datasource for data access. See demo: PM me to contribute with this project. Thanks.
    1 point
  4. 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.
    1 point
  5. 1 point
  6. Hi, You can analyze this js library for example: https://html2canvas.hertzen.com/
    1 point
  7. Hello, Maybe this is not what you are looking for, but look at this demo example too: \FMSoft\Framework\uniGUI\Demos\Desktop\HTML2Image
    1 point
  8. Also we've found a better solution for event. Selected text is nedded in the event handler of a button, therefor issue can be solved in this way (sample for two memos): function click(sender, e, eOpts) { var selText1 = Form1.UniHTMLMemo1.selectedText, selText2 = Form1.UniHTMLMemo2.selectedText; if (selText1 || selText2) ajaxRequest(sender, 'selectedTexts', [ "UniHTMLMemo1="+selText1, "UniHTMLMemo2="+selText2 ]); } Server side: procedure TForm1.UniToolButton1AjaxEvent(Sender: TComponent; EventName: string; Params: TUniStrings); var s: string; begin if EventName = 'selectedTexts' then begin s := Params.Values['UniHTMLMemo1'].Trim; s := Params.Values['UniHTMLMemo2'].Trim; end; end;
    1 point
  9. 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); }
    1 point
×
×
  • Create New...