Jump to content

fiorilli

uniGUI Subscriber
  • Posts

    118
  • Joined

  • Last visited

  • Days Won

    5

Everything posted by fiorilli

  1. Hello, thanks for the help. The post that passed me helped a lot. some changes were needed as my tree was over 1 level. I am posting below my code for future reference. javascript: function checkchange(node, checked, e, eOpts) { function SetNodeChecked(mynode, c) { mynode.removeCls('ThirdStateNode'); mynode.set('checked', c); if (mynode.hasChildNodes()) { for (var i=0; i<mynode.childNodes.length; i++) { SetNodeChecked(mynode.childNodes, c);} } }; function setpNodeChecked(node) { function getpNodeChecked(node) {var mynode=node.parentNode; for (var j=0,k=0; j<mynode.childNodes.length; j++) { if (mynode.childNodes[j].data.checked) {k++;}; }; if (k==0) {return 0;} if (k==mynode.childNodes.length) {return 1}; return 3; } if (node.parentNode.data.id!='root') {var pNode=node.parentNode,vv=getpNodeChecked(node); var pp=Ext.get(Ext.getDom(fPerfil.UniTreeView1.id).getElementsByTagName('div')[pNode.data.id]); if (vv==0) {pNode.set('checked',false); pNode.removeCls('ThirdStateNode'); } if (vv==1) {pNode.set('checked',true); pNode.removeCls('ThirdStateNode'); } if (vv==3) {vv=1; pNode.set('checked',true); pNode.addCls('ThirdStateNode'); } setpNodeChecked(node.parentNode); } }; SetNodeChecked(node,checked); setpNodeChecked(node); } css: //Here is inserted a new image that was made based on the unigui standard image located at: FMSoft \ Framework \ uniGUI \ ext-6.7.0 \ build \ classic \ theme-neptune-touch \ resources \ theme-neptune \ images \ form \ checkbox.png .x-tree-checkbox{ background-image: url("../imgs/tree/Terceiro-Estado.png"); } //here is linked to the div of the node representing the button or the new background position. .ThirdStateNode div[role="button"] { background-position: 0 -30px !important; } Final result below.
  2. Hello, I am using UniTreeView and I noticed that when check only one of several children the father does not receive a "flag". Would you have any solution for this case? Example Below
  3. I thank the attention. Follows test case. TestCase.zip
  4. The vertical scroll having the behavior of the Skype chat window for example. When you receive a message if scrolling is at the end, it continues at the end, if it is not at the end because you are reading previous messages, the new message is added and the vertical scroll remains in the same place.
  5. Hi, I already tested the components: - TUniURLFrame - TUniHTMLFrame - TUniHTMLMemo The HTML property or Lines according to the above component injects the HTML of messages resulting from a Chat. When you enter several messages, vertical scrolling is displayed. The problem presented and not found in the research conducted in the forum is about: - Design time scrolling to the last line added in the component if the scrolling is already at the end, otherwise do nothing, how to do it?
  6. I tested without grid as well and the problem occurred anyway. Can you provide an example? --------------------------- Testei sem o grid também e o problema ocorreu mesmo assim. Pode disponibilizar um exemplo?
  7. Thanks for the suggestion Eduardo, But that's not my problem. If you look at the source code I'm doing exactly the same thing with 4 digits. The problem is the UniDBEdit does not update with the GetText value, passing 2, 4 or N digits it "should" be updated equal to the VCL. ------------------------------------------------------------------ PT-BR: Obrigado pela sugestão Eduardo, Mas não é esse o meu problema. Se o olhar o código fonte estou fazendo exatamente a mesma coisa porém com 4 dígitos. O problema é o UniDBEdit não atualizar com o valor do GetText, passando 2, 4 ou N dígitos ele "deveria" ser atualizado igual ao VCL.
  8. In VCL applications, a DBEdit updates its value according to the GetText event of a TField. In UniGui applications, this does not occur (Examples attached). How to solve? GetText.zip
  9. Tested on version 1.50.0.1480 and works without problems. Probably some bug from 1472. Thank you very much.
  10. Hi, In some registers that have more than one grid, master / details for example, some grids have problems. In these master / details registers the user can include several records and only then save the register. Then activated the fields and disabled the grids when it is included a record. This way the user can not navigate through the records during an insert / append. But after adding the second record, the frontend grid is disabled (even if the backend is enabled). I can not understand why this happens. Looking at the HTML, I noticed that in these cases the classes and elements of the mask are not removed. Is there any way to solve this? UniGui version 1.10.0.1472. Below is the HTML code during registration. <!-- First User opened the registration screen. BackEnd Grid Enabled = True FrontEnd Grid Enabled = True Status: Ok! --> <div class="x-panel x-abs-layout-item x-panel-default x-grid" style="left: 0px; top: 0px; width: 652px; height: 292px;" role="grid" aria-hidden="false" aria-disabled="false" aria-readonly="false" aria-multiselectable="false" id="O150C_id"> <div id="O150C_id-bodyWrap" data-ref="bodyWrap" class="x-panel-bodyWrap" role="presentation">...</div> </div> <!-- Second User clicked on include, fields will be enabled and grids disabled. BackEnd Grid Enabled = False FrontEnd Grid Enabled = False Status: Ok! --> <div class="x-panel x-abs-layout-item x-panel-default x-grid x-item-disabled x-masked-relative x-masked" style="left: 0px; top: 0px; width: 652px; height: 292px;" role="grid" aria-hidden="false" aria-disabled="true" aria-readonly="false" aria-multiselectable="false" id="O150C_id"> <div id="O150C_id-bodyWrap" data-ref="bodyWrap" class="x-panel-bodyWrap" role="presentation">...</div> <div role="presentation" class="x-mask x-border-box" id="ext-element-294">...</div> </div> <!-- Third User clicked save, fields are disabled and grids are enabled. BackEnd Grid Enabled = True FrontEnd Grid Enabled = True Status: Ok! --> <div class="x-panel x-abs-layout-item x-panel-default x-grid" style="left: 0px; top: 0px; width: 652px; height: 292px;" role="grid" aria-hidden="false" aria-disabled="false" aria-readonly="false" aria-multiselectable="false" id="O150C_id"> <div id="O150C_id-bodyWrap" data-ref="bodyWrap" class="x-panel-bodyWrap" role="presentation">...</div> </div> <!-- Fourth User clicked on include again, fields will be enabled and grids disabled. (class "x-masked" was not added). BackEnd Grid Enabled = False FrontEnd Grid Enabled = False Status: Ok! --> <div class="x-panel x-abs-layout-item x-panel-default x-grid x-item-disabled x-masked-relative" style="left: 0px; top: 0px; width: 652px; height: 292px;" role="grid" aria-hidden="false" aria-disabled="true" aria-readonly="false" aria-multiselectable="false" id="O150C_id"> <div id="O150C_id-bodyWrap" data-ref="bodyWrap" class="x-panel-bodyWrap" role="presentation">...</div> <div role="presentation" class="x-mask x-border-box" id="ext-element-299">...</div> </div> <!-- Fifth User clicked save, fields are disabled and grids are enabled. BUG! the "x-masked-relative" class and the mask element were not removed. BackEnd Grid Enabled = True FrontEnd Grid Enabled = False Status: BUG! --> <div class="x-panel x-abs-layout-item x-panel-default x-grid x-masked-relative" style="left: 0px; top: 0px; width: 652px; height: 292px;" role="grid" aria-hidden="false" aria-disabled="false" aria-readonly="false" aria-multiselectable="false" id="O150C_id"> <div id="O150C_id-bodyWrap" data-ref="bodyWrap" class="x-panel-bodyWrap" role="presentation">...</div> <div role="presentation" class="x-mask x-border-box" id="ext-element-299">...</div> </div> <!-- Sixth User clicked on include again, fields will be enabled and grids disabled. (class "x-masked" was not added). BackEnd Grid Enabled = False FrontEnd Grid Enabled = False Status: Ok! --> <div class="x-panel x-abs-layout-item x-panel-default x-grid x-masked-relative x-item-disabled" style="left: 0px; top: 0px; width: 652px; height: 292px;" role="grid" aria-hidden="false" aria-disabled="true" aria-readonly="false" aria-multiselectable="false" id="O150C_id"> <div id="O150C_id-bodyWrap" data-ref="bodyWrap" class="x-panel-bodyWrap" role="presentation">...</div> <div role="presentation" class="x-mask x-border-box" id="ext-element-303">...</div> </div> <!-- Seventh User clicked save, fields are disabled and grids are enabled. BUG! the "x-masked-relative" class and the mask element were not removed. BackEnd Grid Enabled = True FrontEnd Grid Enabled = False Status: BUG! --> <div class="x-panel x-abs-layout-item x-panel-default x-grid x-masked-relative" style="left: 0px; top: 0px; width: 652px; height: 292px;" role="grid" aria-hidden="false" aria-disabled="false" aria-readonly="false" aria-multiselectable="false" id="O150C_id"> <div id="O150C_id-bodyWrap" data-ref="bodyWrap" class="x-panel-bodyWrap" role="presentation">...</div> <div role="presentation" class="x-mask x-border-box" id="ext-element-303">...</div> </div>
  11. Sorry, how to use the right arrow to solve the problem of removing the leftover character? Why can not I use the optional character on the front? VCL Desktop allows this and other javascript plugins available on the web also allow! Apparently this is a particular case of ExtJS and InputMask.js used in UniGui. So I'm checking to see if there really is no other way before going to a third-party plugin. The optional character in the middle of the mask is a bad UX. Setting at the beginning or end of the mask, I would not have problems with UX. But in both positions does not work.
  12. For now manually, I have not tried it programmatically yet.
  13. The mask you said was the first test I did. And it did not work. Attached is the unigui example. UniPhoneMask.zip
  14. Hi, Sorry, what was not clear? Attached has an example of how it is on the desktop. PhoneMask.zip
  15. Hi Delphi Developer, Thanks for replying, your mask "works". But the optional 9 must be at the beginning of the mask after (99). So it would be ideal: (99) [9]9999-9999 Pasting the mask to this format, it does not work. The equivalent in the desktop VCL would be: (99) #9999-9999 Is there any other way?
  16. Hi Here in Brazil, we have two masks for phones. Phone: (99) 9999-9999 Mobile phone: (99) 99999-9999 How to enter an optional character in inputmask?
  17. Hi TUniGUIServerModule add UniServerModule.CustomFiles.Clear; UniServerModule.CustomFiles.add('css/uniGmap.css'); UniServerModule.CustomFiles.add('js/markerclusterer.js'); UniServerModule.CustomFiles.add('js/markerwithlabel_packed.js');
×
×
  • Create New...