Jump to content
uniGUI Discussion Forums


Popular Content

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

  1. 3 points
    uniGUI DOES jqToastr >>Why JqToastr: A simple, modern, framework-independent, well-tested, unobtrusive, notification system. Works in any modern browser (desktop and mobile) and OS. Is highly customizable and simple to use. >>Supports and compatibility: Internet Explorer 7+ Firefox 3+ Chrome 9+ Safari 3+ Opera 10+ iOS 4+ Android 2+ >>How to use in uniGUI 1-Declare in ServerModule.CustomFiles files/jquery.toast.css files/jquery.toast.js 2- Declare JqToast to USES clause of your unit. 3- See main example Desktop or Mobile. 4- Same code works in Desktop and Mobile. 5- This example also contains Mainm Form for your tests in mobile Have fun PS: It seams I have a size limit on posting, so see it at http://www.unigui.com.br/democetera/CeteraDemosShow.html Tomorrow I will try edit and post here. http://www.unigui.com.br/democetera/uniGUIDOESjqToastr.gif
  2. 3 points
    Hello, Well, the link above is a simple example, also uses only JS Probably you are right. ------------------------------------ Although I tested on the basis of another library that works better than the previous one, this is just a screenshot of the component (Sorry, I have limited by putting some screenshots):
  3. 3 points
    Hello! This example shows how to scan any supported 1D/2D code with ZXing javascript library from the device video camera... This is an approximate implementation and may need to improve the code The main scan implementation is taken from here: https://zxing-js.github.io/library/examples/multi-camera/ You also need to add the files: libeay32.dll, ssleay32.dll and pem files to the root directory... UniServerModule -> CustomFiles: files/zxing.min.js BarcodeScannerZxingJS.rar
  4. 2 points
    Hello, I started a simple implementation without additional libraries, when the implementation is ready..., I will attach here. https://www.w3schools.com/html/html_images_imagemap.asp
  5. 2 points
    uniGUI DOES Humane.JS (Updated) >>Why humane.js: A simple, modern, framework-independent, well-tested, unobtrusive, notification system. Utilizes CSS transitions when available, falls back to JS animation when not available. Includes mobile support and tested OK on uniGUI. It's not a component, just classes calling procedures hence no future problems with uniGUI and Ext.JS updates. You can work with no worries in Desktop and Mobile (Android e iOS) and is very simple to use IN your current projects and get read of ShowMessages and Messagedlg with more style and nice UI. See Humane.ShowMessage ( mytext, theme, style). I create this procedure to facilitate showmessage replacement and usage. >>Supports and compatibility: Internet Explorer 7+ Firefox 3+ Chrome 9+ Safari 3+ Opera 10+ iOS 4+ Android 2+ Uses CSS Transitions where available otherwise falls back to JS animation, degrades gracefully. >>How to use in uniGUI 1-Declare in ServerModule.CustomFiles files/humane.js files/themes/human.css files/themes/libnotify.css files/themes/bigbox.css files/themes/boldlight.css files/themes/jackedup.css files/themes/original.css files/themes/flatty.css 2- Declare humanejs at USES clause of your unit. 3- See main example Desktop or Mobile. 4- Same code works the same in Desktop and Mobile. 5- This example also contains Mainm Form for your tests. >>This version is updated to the latest humane.js a. New themes. b. Procedures refactored to Delphi code. c. and I added some new codes to the original since it had some major changes to make easy theme selection, style etc. See procedures in humanejs.pas on Mainform. >>This code is originally based on zilav post, see: http://forums.unigui.com/index.php?/topic/1808-humanejs-notification-system-for-unigui/ uniGUIDOESHUMANEJS.rar
  6. 2 points
    Hi Maestro, Wow ! is it in stage test ? Can we get it in the next build 1514. 1515... Edited : Or can we buy it ? Thx for your effort
  7. 2 points
    It worked perfectly, thank you very much for your attention.
  8. 2 points
    For example, can you try? procedure TMainForm.UniFormReady(Sender: TObject); begin UniSession.AddJS( 'Ext.defer(function() {'+ ' var _el='+ UniURLFrame1.JSName +'.iframe.contentDocument.getElementsByClassName("schedule-body--helper");'+ ' if (_el && _el[0]) {_el[0].scrollBy(0, 500)}'+ '}, 200);' ); end;
  9. 2 points
    what you suggest is correct, a servermodule thread will be created to execute your process. I prefer to create something like this in a separate exe, to avoid any problem with my unigui server, if you have server access to run other applications I would do that.
  10. 1 point
    Hello, The main scan implementation is taken from here I guess https://zxing-js.github.io/library/examples/multi-camera/
  11. 1 point
    Good night, Guys how do I disable the print button of a report when I am viewing the pdf by URLFrame.
  12. 1 point
    procedure TMainForm.myListKeyPress(Sender: TObject; var Key: Char); var vector: TArray<string>; index: Integer; begin with TUniListBox(Sender) do begin if Items.Count = 0 then Exit; Key := UpCase(Key); vector := Items.ToStringArray; TArray.BinarySearch<string>(vector, Key, index, TStringComparer.Ordinal); if index > -1 then begin ItemIndex := index; JSInterface.JSCall('boundList.getSelectedNodes()['+inttostr(SelCount-1)+'].scrollIntoView', [True]); Selected[index] := False; end; end; end;
  13. 1 point
  14. 1 point
    I have a ActionColumn (Unidbgrid) with 3 Buttons (Id 0,1,2). When meet the condition 1 ,Button 0 and Button 1 show ,Button 2 hide. When meet the condition 2, Button 0 and Button 2 hide,Button 1 show. when meet the condition 3, Button 0 and Button 1 hide, Button 2,show. What can I do ?
  15. 1 point
    Hello community! Unfortunately this is in Portuguese, but I would like to share with you a quick way to use Bootstrap in uniGUI. Bootstrap.rar
  16. 1 point
    Нашел решение - ваш ответ в этом посту http://forums.unigui.com/index.php?/topic/9776-descending-treegrid-order/&amp;do=findComment&amp;comment=50778 var me=sender; me.remoteSort=false; me.sort({property:1, direction:"ASC"}); me.grid.getSelectionModel().select(0);
  17. 1 point
  18. 1 point
  19. 1 point
    I am trying to have custom colors on custom template - please advise - thanks. config.itemTpl = new Ext.XTemplate ( { '<table class="gridCustom">'+ '<tr>'+ '<td width="269px" style="color: var({[this.getColor(values)]}); text-align:left; height:80%">{[this.getStreet(values)]}</td>'+ '<td width="60px" style="text-align:left; height:80%">{[this.getNAH(values)]}</td>'+ '</tr>'+ '</table>', { getColor: function(values) { if(values[3] == 1) return 'blue'; else return 'black'; } },
  20. 1 point
    Here is quick example: UniDBGrid->Ext Events->ViewReady Event: function viewready(sender, eOpts) { sender.getColumns()[0].renderer = function (value, metadata, record) { myToolTipText = "<table class='tblRecGridRowToolTip'>"+ "<tr class='tdToolTip'>"+ "<td class='tblRecGridRowToolTipTitle'>Reference:</td>"+ "<td class='tblRecGridRowToolTipValue'>5006247</td>"+ "</tr>"+ "<tr class='tdToolTip'>"+ "<td class='tblRecGridRowToolTipTitle'>Debit account:</td>"+ "<td class='tblRecGridRowToolTipValue'>Suppliers account</td>"+ "</tr>"+ "</table>"; metadata.tdAttr = 'data-qclass="dvQtip" data-qtip="' + myToolTipText + '"'; }; MainForm.UniDBGrid1.getView().refresh(); } You may use Xtemplate for you Tool-tip text and from 'record' variable you can extract the fields value.
  21. 1 point
    I don't know if it is the best practise. I do like this and i work with a copy of classic theme(blue) in directory C:\Program Files (x86)\FMSoft\Framework\uniGUI\unipackages\themes\Css\ i copy uni-xtheme-uni_classic.css and rename to uni-xtheme-uni_MyTheme.css in directory C:\Program Files (x86)\FMSoft\Framework\uniGUI\unipackages\themes\resources\Css create file ext-all-uni_MyTheme.css inside : @import '../ext-theme-uni_MyTheme/ext-theme-uni_MyTheme-all.css'; in directory C:\Program Files (x86)\FMSoft\Framework\uniGUI\unipackages\themes\resources\Css create file ext-all-uni_MyTheme-rtl.css inside : @import '../ext-theme-uni_MyTheme/ext-theme-uni_MyTheme-all-rtl.css'; in directory C:\Program Files (x86)\FMSoft\Framework\uniGUI\unipackages\themes\resources create a directory ext-theme-uni_MyTheme copy all file that are in directory C:\Program Files (x86)\FMSoft\Framework\uniGUI\unipackages\themes\resources\ext-theme-uni_classic to directory C:\Program Files (x86)\FMSoft\Framework\uniGUI\unipackages\themes\resources\ext-theme-uni_MyTheme In this directory rename file ext-theme-uni_classic-all.css to ext-theme-uni_MyTheme-all.css rename file ext-theme-uni_classic-all-rtl.css to ext-theme-uni_MyTheme-all-rtl.css After all this change there is new theme in delphi : uni_MyTheme you could do you modification in css file that are in C:\Program Files (x86)\FMSoft\Framework\uniGUI\unipackages\themes\resources\ext-theme-uni_MyTheme and change image if needed.
  22. 1 point
    Hi, At the moment you can use this approach I think, for example: 1. UniDBGrid1 -> OnColumnSummary: procedure TMainForm.UniDBGrid1ColumnSummary(Column: TUniDBGridColumn; GroupFieldValue: Variant); begin if SameText(Column.FieldName, 'quantity') then begin //not needed end; end; 2. UniDBGrid1 -> OnColumnSummaryResult: procedure TMainForm.UniDBGrid1ColumnSummaryResult(Column: TUniDBGridColumn; GroupFieldValue: Variant; Attribs: TUniCellAttribs; var Result: string); var I, J : Integer; F : Real; begin if SameText(Column.FieldName, 'quantity') then begin // needed only for change Attribs Attribs.Font.Style:=[fsBold]; Attribs.Font.Color:=clGreen; end; end; 3. UniDBGrid1 -> ClientEvents -> ExtEvents -> function reconfigure: function reconfigure(sender, store, columns, oldStore, oldColumns, eOpts) { // 2 - your Column Index (zero based) columns[2].summaryRenderer = function(value, summaryData, dataIndex, metaData) { if (value && typeof value == "object") { var v = 0, va = value["_sa" + dataIndex], sty = null; sender.getSelectionModel().getSelection().forEach(function(sel){v += parseInt(sel.data[dataIndex])}); if (va) { try { eval("var fobj=" + va + ";") } catch (err) { _log(err.message) } if (typeof fobj != "object") { var fobj = {} } sty = fobj2style(fobj, false, true) } if (sty) { metaData.tdAttr = sty } return (v) } return "" } } 4. UniDBGrid1 -> ClientEvents -> ExtEvents -> [Ext.selection.CheckboxModel [checkboxModel]] -> function checkboxModel.selectionchange: function checkboxModel.selectionchange(sender, selected, eOpts) { sender.view.refresh(); } 5. UniDBGrid1 -> OnAfterLoad: procedure TMainForm.UniDBGrid1AfterLoad(Sender: TUniDBGrid); begin Sender.JSInterface.JSCode('Ext.defer(function(){'#1'.getView().refresh()}, 100);'); end; 6. And of course dgMultiSelect = True and dgCheckSelect = True and ShowSummary = True Result: Best regards,
  23. 1 point
    Ok, Then try this: function itemtap(sender, index, target, record, e, eOpts) { var _column=e.target.parentNode.$column || e.target.$column; ajaxRequest(sender, '_cellclick', ["cellindx="+index, "colindx="+_column.getDataIndex()]); } Best regards.
  24. 1 point
    Hi, Sorry, now it's clear,, For now try, can help: UniMemo1 -> ClientEvents -> ExtEvents ... add keydown fn: function keydown(sender, e, eOpts) { if (e.getKey() == e.ENTER) { e.stopPropagation(); } } Best regards.
  25. 1 point
    This example show how to add a button in a UniDbGrid column. It's simple. This's just a trick. Project_UniGui_DbGrid_Button.zip