andyhill
uniGUI Subscriber-
Posts
1257 -
Joined
-
Last visited
-
Days Won
6
Content Type
Profiles
Forums
Events
Everything posted by andyhill
-
grdWorkSheet.ClientEvents.UniEvents.Clear; MyScript:= 'pagingBar.afterCreate=function pagingBar.afterCreate(sender)'+ '{ '+ ' sender.add( '+ ' [ '+ ... ' { '+ ' xtype: ''tbseparator'' '+ ' }, '+ ' { '+ ' xtype: ''label'', '+ ' id: "gridLabelid", '+ ' text: ''abc'', '+ ' margin: ''0 0 0 10'', '+ ' }, '+ ' { '+ ' xtype: ''tbseparator'' '+ ' }, '+ ... ' ]); '+ '} '; grdWorkSheet.ClientEvents.UniEvents.Add(MyScript); Above my FormCreate code adds a Label to the Pagingbar and it displays as expected (please advise if I have added the Label correctly). Elsewhere I want to change the Label.Text value at runtime grdWorkSheet.JSInterface.JSCode(#1'.pagingBar.getComponent("gridLabelid").setValue(''Andy'');'); SetValue fails, please advise how to change the "gridLabelid" - thanks.
-
From a coding point of view I can easily create the list, parse the list, reject matching words if necessary, BUT I did not want to type into my application all of the ugly words (plus I do not know them all, nor do I want to). It would have been nice to have an encrypted lookup to check questionable text against. Maybe I am old fashioned 🫣 eg. if Obscene(UserText) then begin ShowMessage('Obscenities are not tolerated - Aborting !'); end else begin ... end; Yes I am sure there are URL offerings out there but I need to watch my pennies plus I am trying to limit URL services in my project. What about a UniGUI Community project ?
-
That is a lot to ask, download and run many unknown EXE's (no code) ?
-
TLedgerTypesForm = class(TUniForm) ... procedure PromptLedgerType(Sender: TComponent; AResult: Integer; AText: string); ... procedure TLedgerTypesForm.btnProcessClick(Sender: TObject); begin Prompt('Ledger Name:', '', mtInformation, mbOKCancel, PromptLedgerType); // Prompts as expected ... procedure TLedgerTypesForm.PromptLedgerType(Sender: TComponent; AResult: Integer; AText: string); // Never fires begin if AResult = mrOK then begin ... I cannot understand why PromptLedgerType is never called ? I believe all procedures are declared correctly - am I having a seniors moment - please advise - thanks.
-
When Grid shows no rows the user can still invoke ContextMenu, if Grid contains row(s) then my current coding below disables ContextMenu. How do we prevent Grid ContextMenu with zero rows ? Please advise - thanks ////////////////////////////////////////////////////////////////////////////// // Before Container MyScript:= 'beforecontainercontextmenu=function beforecontainercontextmenu(sender, td, cellIndex, record, tr, rowIndex, e, eOpts) '#13#10 + '{ '#13#10 + ' e.preventDefault(); '#13#10 + '} '; grdWorkSheet.ClientEvents.ExtEvents.Add(MyScript); // Container MyScript:= 'containercontextmenu=function containercontextmenu(sender, td, cellIndex, record, tr, rowIndex, e, eOpts) '#13#10 + '{ '#13#10 + ' e.preventDefault(); '#13#10 + '} '; grdWorkSheet.ClientEvents.ExtEvents.Add(MyScript); // Row MyScript:= 'rowcontextmenu=function rowcontextmenu(sender, td, cellIndex, record, tr, rowIndex, e, eOpts) '#13#10 + '{ '#13#10 + ' e.preventDefault(); '#13#10 + '} '; grdWorkSheet.ClientEvents.ExtEvents.Add(MyScript); // Before Cell MyScript:= 'beforecellcontextmenu=function beforecellcontextmenu(sender, td, cellIndex, record, tr, rowIndex, e, eOpts) '#13#10 + '{ '#13#10 + ' e.preventDefault(); '#13#10 + '} '; grdWorkSheet.ClientEvents.ExtEvents.Add(MyScript); // Cell MyScript:= 'cellcontextmenu=function cellcontextmenu(sender, td, cellIndex, record, tr, rowIndex, e, eOpts) '#13#10 + '{ '#13#10 + ' e.preventDefault(); '#13#10 + '} '; grdWorkSheet.ClientEvents.ExtEvents.Add(MyScript); // Before Item MyScript:= 'beforeitemcontextmenu=function beforeitemcontextmenu(sender, td, cellIndex, record, tr, rowIndex, e, eOpts) '#13#10 + '{ '#13#10 + ' e.preventDefault(); '#13#10 + '} '; grdWorkSheet.ClientEvents.ExtEvents.Add(MyScript); // Item MyScript:= 'itemcontextmenu=function itemcontextmenu(sender, td, cellIndex, record, tr, rowIndex, e, eOpts) '#13#10 + '{ '#13#10 + ' e.preventDefault(); '#13#10 + '} '; grdWorkSheet.ClientEvents.ExtEvents.Add(MyScript); // Header MyScript:= 'headercontextmenu=function headercontextmenu(sender, td, cellIndex, record, tr, rowIndex, e, eOpts) '#13#10 + '{ '#13#10 + ' e.preventDefault(); '#13#10 + '} '; grdWorkSheet.ClientEvents.ExtEvents.Add(MyScript);
-
All good Sherzod, I was searching under "local storage" instead of "localstorage".
-
Any progress Sherzod ?
-
Desktop, testing with Chrome
-
If it helps it is Desktop
-
I have followed instructions published on this forum but cannot fetch (get) the token 'BB' value which clearly exists in the Chrome Browser ? Str:= ''; with edtStore.JSInterface do JSCall('setValue', [jsstatement('localStorage.getItem("BB")')]); Str:= Trim(edtStore.Text); Please advise - thanks
-
Can we please have a project wide solution to stop Browser "Save Password" prompt that pops up at all odd times, not even related to the current non-password editor. Something we can add to the MainForm.Script that will work across all editing - a Sencha solution. Individually manipulating each edit as mentioned on other Internet posts is not practical.
-
Using port 80 Your HtmlMemo Component fails to add necessary tags to inserted images:- "id" "width" "height" to name a few. My primitive work around is attached, please paste an image (view source [tags missing]), DblClick inserted image again shows "id" missing. Please advise how to resolve. Ultimately all images in HtmlMemo need the function of grabbing and resizing buy the end user. Project1.zip
- 10 replies
-
- htmlmemo
- image jpg/png
-
(and 1 more)
Tagged with:
-
OK, "id" now assigned. How do I get the "width" and "height" // Ctrl+V Paste ' sender.iframeEl.dom.contentDocument.body.addEventListener(''paste'', function(e) '+ ' { '+ ' var items = e.clipboardData.items; '+ ' if(items.length === 1) '+ ' { '+ ' var str = items[0].type; '+ ' if(str.indexOf("image") !== -1) '+ ' { '+ ' ajaxRequest('+MyJsName+', ''_PasteBefore_'', []); '+ I WANT TO SEND "ID", "WIDTH" & "HEIGHT" in params here ' } '+ ' } '+ ' else '+ // More or Less than one ' { '+ ' e.preventDefault(); '+ // Kill Paste ' } '+ ' }); '+ // Create Image ' function createImage(source) '+ ' { '+ ' var pastedImage = new Image(); '+ ' pastedImage.onload = function() '+ ' { '+ // Add Unique "id" ' pastedImage.id = Ext.id(); '+ // DO I NEED WIDTH and HEIGHT attributes recorded with image here ' }; '+ ' pastedImage.src = source; '+ ' } '+
- 10 replies
-
- htmlmemo
- image jpg/png
-
(and 1 more)
Tagged with:
-
I have played with all sorts of concepts (bypassing stretch handles for now using DblClick to investigate the selected pasted image [if one uses Ctrl+V to paste image there is no "id" added to the <img tag ???]):- MyJsName:= htm001.JSName; htm001.ClientEvents.ExtEvents.Clear; MyScript:= 'initialize=function initialize(sender, eOpts) '+ '{ '+ // DblClick ' sender.getDoc().addEventListener(''dblclick'', function() '+ ' { '+ ' if (arguments[0].target && arguments[0].target.tagName.toLowerCase()==''img'') '+ ' { '+ ' ajaxRequest('+MyJsName+', ''_img_'', ["id="+arguments[0].target.getAttribute(''id'')]); '+ ' } '+ ' }); '+ // Ctrl+V Paste ' sender.iframeEl.dom.contentDocument.body.addEventListener(''paste'', function(e) '+ ' { '+ ' var items = e.clipboardData.items; '+ ' if(items.length === 1) '+ ' { '+ ' var str = items[0].type; '+ ' if(str.indexOf("image") !== -1) '+ ' { '+ ' ajaxRequest('+MyJsName+', ''_PasteBefore_'', []); '+ ' } '+ ' } '+ ' else '+ // More or Less than one object ' { '+ ' e.preventDefault(); '+ // Kill Paste ' } '+ ' }); '+ // Create Image ' function createImage(source) '+ ' { '+ ' var pastedImage = new Image(); '+ ' pastedImage.onload = function() '+ ' { '+ // Need To Add "id" to image here - please show how to make "id" unique ' }; '+ ' pastedImage.src = source; '+ //' alert(pastedImage.src); '+ ' } '+ '} '; htm001.ClientEvents.ExtEvents.Add(MyScript); Sherzod, while you are investigating Stretch Handles, please show me how to add unique "id" to pasted image - Thanks
- 10 replies
-
- htmlmemo
- image jpg/png
-
(and 1 more)
Tagged with:
-
Sherzod, this only adds image which I have no problem with. I need (the component needs) the ability for the end user to select the already imbedded image and resize it.
- 10 replies
-
- htmlmemo
- image jpg/png
-
(and 1 more)
Tagged with:
-
It is easy to paste images into the HtmlMemo however once inserted there is no way to resize the image, please advise how to apply stretch handles on image when selected with the editor so user can resize - Thanks
- 10 replies
-
- htmlmemo
- image jpg/png
-
(and 1 more)
Tagged with:
-
In reality, my understanding is that anything the browser displays (obfuscated code underneath or not) it is ultimately accessible. Let me know what you come up with.
-
In the past I used HiddenPanel for a staging area where I placed certain UniGUI IDE Visual Components that are hidden from Forms/Panels in general. eg. UniGrid uses a Custom Editor for a given field that is encapsulated into the grid. These days I make everything at runtime.