Jump to content

Sherzod

Moderators
  • Posts

    22118
  • Joined

  • Last visited

  • Days Won

    781

Everything posted by Sherzod

  1. Hello, Do you mean you want the scrollbar to always stay at the bottom when new content is added (like in a chat window)? Also, how is the content being updated — from Delphi code, or dynamically via JS/AJAX on the client side?
  2. Hello, This post may help you: Addition for your case If you also want to show a ScreenMask-like spinner on a white background during loading, you can try adding html::before to the CustomCSS: body { opacity: 0; background: #fff; } /* Spinner stays visible while body is transparent */ html::before { content: ""; position: fixed; top: 50%; left: 50%; width: 48px; height: 48px; margin: -24px 0 0 -24px; border: 4px solid #ddd; border-top-color: #1a73e8; border-radius: 50%; animation: spin 0.8s linear infinite; z-index: 9999; } @keyframes spin { to { transform: rotate(360deg); } }
  3. If so, here is a possible solution — in the Grid ClientEvents → ExtEvents → reconfigure: function reconfigure(sender, store, columns, oldStore, oldColumns, eOpts) { columns.forEach(function(col) { var editor = col.getEditor && col.getEditor(); if (editor && editor.xtype === 'combo' && !editor._cleanHandlerAttached) { editor._cleanHandlerAttached = true; editor.on('select', function(combo, record) { var tmp = document.createElement('div'); tmp.innerHTML = combo.getRawValue(); var cleanText = (tmp.textContent || tmp.innerText || '').trim(); combo.setRawValue(cleanText); }); } }); }
  4. @andyhill Sorry for asking again, just to make sure I understand correctly — at the moment everything works on your side: the dropdown already shows icons + text, and the only remaining task is to strip the HTML/icon from the grid cell itself so it stores and displays plain text only. Is that correct?
  5. Could you show an example of how you currently populate the ComboBox Items?
  6. Regarding the icons you want to display in the ComboBox dropdown — could you clarify, where will the icons come from?
  7. Hello, Try this approach: procedure TMainForm.UniFormReady(Sender: TObject); begin UniDateTimePicker1.JSInterface.JSConfig('hideTrigger', [True]); UniDateTimePicker1.JSInterface.JSAddListener('focus', 'function(me){me.expand()}'); end;
  8. Hello Andy, OK, and what should happen when the user clicks on the icon in the dropdown list item?
  9. Hello, Important: Do not select Clean All or Clean commands for any of the uniGUI packages. This will delete all pre-compiled DCU files from the DCU folder and you will have to install uniGUI again. https://unigui.com/resources/installation-instructions
  10. Hello, HorzScrollBar and VertScrollBar are currently not supported in TUniFrame — avoid setting them.
  11. You can create a component based on flatpickr. https://flatpickr.js.org/examples/
  12. type TXPopupMenu = class(TUniPopupMenu) end; procedure TMainForm.UniFormReady(Sender: TObject); begin with TXPopupMenu(UniPopupMenu1).MenuControl.JSInterface do begin JSConfig('shadow', [False]); JSConfig('style', ['border-radius:20px']); end; end;
  13. Hello, Solution: procedure TMainmForm.FillCanvas; var Count, LineStep, FontSize, BottomMargin, H: Integer; begin Count := 100; LineStep := 25; FontSize := 16; BottomMargin := 10; H := Count * LineStep + FontSize + BottomMargin; UnimCanvas1.Align := alNone; // important UnimCanvas1.Height := H; UnimCanvas1.Width := UnimScrollBox1.Width - 5; UnimCanvas1.JSInterface.JSCode( 'setTimeout(function(){' + ' var me = '#1'._cc_;' + ' if (me && me.canvas) {' + ' me.canvas.height = ' + IntToStr(H) + ';' + ' me.canvas.style.height = "' + IntToStr(H) + 'px";' + ' me.clearRect(0,0,me.canvas.width,me.canvas.height);' + ' me.fillStyle = "' + uniColor2Web(clMaroon, 1) + '";' + ' me.font = "' + IntToStr(FontSize) + 'px sans-serif";' + ' for (var k=1; k<=' + IntToStr(Count) + '; k++) {' + ' me.fillText("New Line: " + k, 20, ' + IntToStr(LineStep) + '*k);' + ' }' + ' }' + '}, 0);' ); end;
  14. I’ve tested fadeIn/fadeOut, and it doesn’t seem to be the best approach for menus...
  15. Do you mean applying the same behavior to TUniPopupMenu? If so, which exact part are you referring to?
  16. You may also try using OnCompleted instead of OnMultiCompleted.
  17. Hello, Could you please create a small test case that reproduces the issue?
  18. Try this approach: CustomCSS -> .x-disabled img { opacity: 0.5; }
  19. Hello! What image format are you loading (PNG/JPG)? And are you disabling it via Enabled = False? If possible, please upload a sample image.
  20. Hello Andy, It looks like you're embedding HTML formatting directly into the field value. This approach usually leads to issues like the one you're seeing, because the editor uses the raw value. If the coloring is always assigned manually, you might want to consider introducing a simple condition (e.g. a status or flag) and applying the formatting in the column renderer instead.
  21. Hello, Could you please clarify a few details: Which uniGUI version are you using? Are you handling uploads via OnCompleted or OnMultiCompleted event? What is the approximate total size of all uploaded files? Is OptimizeMemoryUsage enabled?
  22. Mevcut çözümde CellClick içinde hem UI, hem veritabanı hem de dosya işlemleri yapılmış. Bu iyi bir yaklaşım değil çünkü CellClick sık tetiklenebilir ve ağır işlemler içeriyor (BLOB → stream → dosya → URL).
  23. Merhaba, Merak ettim, bu metodu hangi kaynaktan aldınız?
×
×
  • Create New...