Announcement

Collapse
No announcement yet.
X
  • Filter
  • Time
Clear All
new posts

  • #16
    Not sure we understand the question. Of course you can set jsonPrefix and suffix to blank as a class property.. is that what you're asking?

    Make sure you understand the security implications of doing this - they are documented on the jsonPrefix property.

    Comment


    • #17
      Hi Isomorphic,

      I've upgraded my application from smartclient-9 to smartclient-12, most of the things working fine as expected but our application is not working in IE-11 and other latest version of browsers (Chrome, Firefox)

      Seems like there is one layer of div related to vertical and horizontal scroll bar is overriding my top and left menu to click

      I'm attaching some screenshot of my application and IE log console. Please take a look and suggest me what else I can provide you to debug this issue.


      var ourProjectBody = isc.Canvas.create({
      width: '100%',
      height: '100%'
      });
      ourProjectBody.show();


      there are multiple casvas has been created and overlapping to each other, and It is working fine from IE-7 to IE-10 and in IE-11 there is one layer of div over lapping our top menu and left menu to click.

      I cannot share my screen here in public domain but if you want I can share it with you on you mail address.

      below are HTML console screenshot and here one div is overlapping other.


      Please let us know from where we can start to debug.


      Click image for larger version  Name:	Capture.PNG Views:	1 Size:	18.1 KB ID:	257574
      Click image for larger version  Name:	Capture2.PNG Views:	1 Size:	11.3 KB ID:	257575


      Click image for larger version  Name:	Capture3.PNG Views:	1 Size:	2.8 KB ID:	257576
      Last edited by vikashdwi; 24th Apr 2019, 03:42.

      Comment


      • #18
        If you place a Canvas over the entire screen it will block interactivity. If you don't want to block interactivity, don't place a Canvas over the entire screen.

        Comment


        • #19
          Hi I'm giving you one code snippet and wanted to know about this.setItems(fieldArr), what is the use of setItems

          we're getting Uncaught TypeError: Cannot read property 'getTitleOrientation' of null and there is no issues if we commented this line.

          Gone through reference documents but didn't get anything about this function.

          In version-9 it was working fine but in version -12, we are getting this issue.

          Code:
          isc.defineClass("MyDetailViewer", "DynamicForm");
          isc.MyDetailViewer.addProperties({
                  zIndex:1,
                  width:"98%",
                  numCols:4,
                  colWidths: ["6%","13%","6%","13%","6%","13%"],
                  fields : [],
                  titleAlign : "left",
                  cellBorder : 0,
                  fixedColWidths : true,
                  wrap : false,
                  listGrid : null,
                  border: "0px;border-bottom:1px solid #E5E5E5;",
                  init : function(){
                      this.Super('init', arguments);
                      if(this.listGrid!=undefined && this.listGrid!=null){
                          var fieldArr = new Array();
                          var numCol = this.numCols;
                          if(this.listGrid.descriptionFields != null && this.listGrid.descriptionFields != undefined){
                              var descFieldCnt = this.listGrid.descriptionFields.length;
                              var mod = descFieldCnt%(numCol/2);
                              this.listGrid.setGridDetailViewer(this);
                              for(i=0; i < descFieldCnt;i++){
                                  fieldArr[i]=this.listGrid.descriptionFields[i];
                                  fieldArr[i].titleClassName = "formTitleViewer";
                                  fieldArr[i].cellStyle = "formCellViewer";
                                  fieldArr[i].wrapTitle = false;
                                  fieldArr[i].wrap = false;
                                  fieldArr[i].canEdit = false;
                                  fieldArr[i].readOnly = true;
                                  if(i==descFieldCnt-1 && mod !=0 ){
                                      fieldArr[i].colSpan = numCol - (mod*2) + 1;
                                  }
                              }
                          }
                          this.setFields(fieldArr);
                          this.fields = fieldArr;
                          this.setItems(fieldArr);
                      }
                  }
              });
          and this happening because of descriptionFields array in below code if we pass empty array in descriptionFields then this.setItems(fieldArr); does not through any error.
          Code:
          isc.ListGrid.create({
                ID:"xxxxxx",
                dataSource:"masters_xxxxxx",
              canEdit:false,
              zIndex:-1,
              confirmDiscardEdits:false,
              disableCacheSync:true,
              autoSaveEdits:false,
              generateClickOnEnter:true,
              generateClickOnSpace:true,
              canHover:true,
              headerHeight:35,
              showHeaderContextMenu:true,
              showHeaderMenuButton:true,
              displayHeaderContextMenu:function()
              {   listGrid = this;
                  sizeMenu.showContextMenu();
              },
              showFilterEditor:false,
              filterOnKeypress:true,
              filterData:function(criteria){
                      drawOnCriteria=criteria;
                      filterRecords(this,criteria,drawOnArrayData);
              },
              fields:[
                  {
                      name:"clearingLocationCode", editorType:"text", title:"abc",wrap:true, width:130, required:true,
                      showHover:true, filterEditorProperties:{transformInput:function(form,item,value,oldValue){ if(value!=null){return value.toUpperCase();}}}
                  },
                  {
                      name:"clearingLocationDesc",type:"text",title:"ayz",canEdit:false, wrap:true, width:200},
                      {name:"defaultArrangementCode",canFilter:false,width:100, editorType:"select", title:"xyz", wrap:true
                  }
              ],
              descriptionFields : [
                  {name:"defaultArrangementDesc",type:"staticText",title:"aaa"},
                  {name:"defaultDispatchBankDesc",type:"staticText",title:"bbb"}
              ]
              showEdges:false,
              border:"0px",
              width:"100%",
              height:"100%"
          })
          Last edited by vikashdwi; 10th May 2019, 02:43.

          Comment


          • #20
            setItems() is documented - remember that the SmartClient Reference is searchable, so it’s easy to find what you need.

            However your code contains obvious unsupported usage, such as directly assigning to this.fields. Calling setFields() followed by setItems() is also nonsensical.

            Please let us know if you find any evidence of a framework bug. Nothing so far suggests any framework bugs.

            Also, please stop posting all questions in the same thread. Start a new thread each time you believe you have found a new issue.

            Comment


            • #21
              Hi Isomorphic,

              First of all, I'm not able to start new thread in your system, There is no option to start a new thread.


              Now I'm getting one another error while upgrading from smartclient-9 to smartclient-12

              In below code snippet if I use type: "Īnteger" then length validation is not working, tried the same in https://www.smartclient.com/smartcli.../?id=helloForm but no luck

              Code:
              isc.DynamicForm.create({
                  autoFocus: true,
                  numCols: 3,
                  items:[
                      {
                          type : "Integer",
                          name: "you",
                          length:3,
                          title: "Enter your name",
                          selectOnFocus: true,
                          wrapTitle: false,
                          defaultValue: "my friend",
                          validators : [ {
                      type : "integerRange",
                      min : 1,
                      max : 999,
                      errorMessage : 'Error Message'
                       } ]
                      },
                      {
                          type: "button",
                          title: "Hello",
                          width: 80,
                          startRow: false,
                          icon: "icons/16/message.png",
                          click: "isc.say('Hello ' + form.getValue('you') + '!')"
                      }
                  ]
              })

              Comment


              • #22
                You are saying you aren't able to start a new thread on the forums? That is exceedingly odd, as every other user of this forum is able to do so. Perhaps it's simply that you do not realize that the "New Topic" button is how you do this?

                Second, we need to remind you again to explain what you expected. "length validation is not working" is not sufficient. As a tip, if you just say something "is not working" or "didn't work", this is always wrong and is always not enough information. You need to tell us: what did you expect? A validation error? Inability to type more characters? Something else?

                If you expected a validation error, this example code does not trigger validation, so no validation error would be expected. Your declaration of validators, the main thing you added to the sample, is inactive, and would be inactive in any version of SmartClient.

                Second, because of your declaration of length:3, the input can never trigger a validation error anyway, so even if you explicitly called validate(), you can't get an error.

                So overall, because of the same communication issues we've pointed out before, this post was again not useful. Please try harder in the future - again this wastes both your time and ours, and it's very simple to communicate effectively.

                Comment


                • #23
                  In general terms what length is doing in HTML or in your version -9, It will not allow user to type more characters than it's length, this is what I was expecting in version -12 too since it was working same in version -9


                  Can you please let me know that length:3 is valid parameter in version -12 along with type:īnteger""which actually restrict the user to enter more then 3 interger, example: 123 or 345 etc.
                  or we have to do something else to stop user to type more integer and for your information it is working fine for type:"text" for text type field if pass length :3 then user will not be able to type more than three characters, this was the only my ask.


                  In below code user cannot type more characters than it's length but for integer user is able to type more than three characters

                  Code:
                   isc.DynamicForm.create({
                      autoFocus: true,
                      numCols: 3,
                      items:[
                          {
                              type : "integer",
                              name: "you",
                              length:3,
                              title: "Enter your name",
                              selectOnFocus: true,
                              wrapTitle: false,
                              defaultValue: "my friend"
                          },
                          {
                              type: "button",
                              title: "Hello",
                              width: 80,
                              startRow: false,
                              icon: "icons/16/message.png",
                              click: "isc.say('Hello ' + form.getValue('you') + '!')"
                          }
                      ]
                  })
                  ISSUE - It allows user to enter more then 3 integer in textbox whereas in smartclient-9.0 it was restrict the user to not allowed more then 3 integer.
                  type:īnteger",
                  length:3

                  and at the last, it will be really helpful, if any common chat group is ruining. please let us know.


                  Last edited by vikashdwi; 24th May 2019, 01:49.

                  Comment


                  • #24
                    Cutting and pasting your previous code from post #21 into the sample area (as you suggested) also produces length enforcement - you cannot type more than 3 chars.

                    "length" is obviously a valid parameter in version 12, as it appears in the docs, with a description of what it does. No need to ask these things since we have documented them - that's the point of the documentation.

                    Comment


                    • #25
                      Hi Isomorphic,

                      I also tried it and do see a strange effect. The framework prevent inserting a 4th letter if the entered data starts with a letter. It does not if the data starts with a number. Then it cuts to 3 after leaving the field.

                      Best regards
                      Blama

                      Comment


                      • #26
                        We are trying to explain thing's but it seems you are not able to understand. So, at the last please go in your software url - https://www.smartclient.com/smartcli.../?id=helloForm

                        Changes needs to do -
                        1. change the type: "text" -> type:īnteger"
                        2. add length: 3
                        3. then run the code and enter value in textbox and observe it will enable you to enter more then 3 integer with in-focus event and once you perform blur event then only, it will reduce the length and please check the console as well for your kind error's.

                        I'm happy to discuss the issue with you - +919899139555(mine phone number) if require, lets have a talk.

                        Comment


                        • #27
                          Blama

                          This was exactly the same issue we are facing in smartclint-12 whereas it is working differently in smartclient-9.0.

                          One more thing, there will be a lot of waring's/error's coming in console

                          Comment


                          • #28
                            Your first and second posts did not reproduce the claimed problem but your 3rd attempt did, and now, the problem has already been corrected. You can download tomorrow's build to get the fix.

                            Note: Blama noted a different problem, but that's been fixed too.

                            Comment


                            • #29
                              Thank you Isomorphic,

                              Found another issue related to length, wanted to confirm if it resolved yesterday build or not ,

                              Please gothrough software url again - https://www.smartclient.com/smartcli.../?id=helloForm

                              Changes needs to do -

                              1. change length: 300
                              2. then run the code and enter value in textbox more than 300 and observe that it is taking more than 300 characters but if the length is 200 then it is taking 200 or less than 200 characters.


                              Code:
                              isc.DynamicForm.create({
                                  autoFocus: true,
                                  numCols: 3,
                                  items:[
                                      {
                                                      name : "frmEmailId",
                                                      ID : "frmEmailId",
                                                      canFilter : false,
                                                      canEdit : true,
                                                      height : 20,
                                                      endRow : true,
                                                      length : 200,
                                                      title : "Email",
                                                      type : "text",
                                                      prompt : "Email Error Message"
                                                  },
                                      {
                                          type: "button",
                                          title: "Hello",
                                          width: 80,
                                          startRow: false,
                                          icon: "icons/16/message.png",
                                          click: "isc.say('Hello ' + form.getValue('you') + '!')"
                                      }
                                  ]
                              })

                              Comment


                              • #30
                                Hi vikashdwi,

                                you need to set either explicitly editorType: "TextItem" or enforceLength: true, as after a certain threshold, TextAreaItem is used.
                                Those two differ in their default for enforceLength.

                                For me, the base issue from #25 is fixed.

                                Best regards
                                Blama

                                Comment

                                Working...
                                X