Forum Replies Created

Viewing 15 posts - 1 through 15 (of 19 total)
  • Author
    Posts

  • a2m developer
    Participant

    Not sure if this was ever addressed, it wasn’t for my forum posting. See:
    https://www.jqwidgets.com/community/topic/grid-grouping-missing-rows/

    But I did find a workaround. I basically just updated the source totalrecords and increased the total by the number of groups.

    this.source.totalrecords = data.count + (this.currentGroups.length * 2);

    This shows all the rows of all the groups and it works in virtual mode.

    Happy hacking! 🙂


    a2m developer
    Participant

    Hi Peter,

    Your statement above is inaccurate. “The checkbox column cannot be modified and is not necessary to be. It’s a checkbox displayed in each cell.”

    A perfect example of a use case where a customized checkbox is necessary would be a Boolean/Null column. It would be great if we could customize the ‘hasThreeStates” to be true to utilize the intermediate state resulting in a null.

    in reply to: Need key down Event in Grid Need key down Event in Grid #103594

    a2m developer
    Participant

    Possible bug:

    I see in cbr00t’s comment above the testing of the timestamp

    if (!event || lastEventTimestamp == event.timeStamp)
    			return;

    I have also noticed the handlekeyboardnavigation event is raised multiple times on a single event. For every keystroke the function is hit three (3) times.

    in reply to: Grid grouping missing rows Grid grouping missing rows #103042

    a2m developer
    Participant

    I found a way. Seems to be working, but I am not using the editing feature as is the topic you referenced.

    in reply to: Grid grouping missing rows Grid grouping missing rows #102992

    a2m developer
    Participant

    Yep.. hack didn’t work completely. Now I can’t select multiple rows, unless I remove the group and add it back in. Strange. Help please!

    in reply to: Grid grouping missing rows Grid grouping missing rows #102963

    a2m developer
    Participant

    I was able to hack it to see all the rows. On Group Changed and Group Expanded events I added:
    this.source.totalrecords = this.source.totalrecords + (this.grid.getrootgroupscount() * 2);

    in reply to: Window Modal Focus Error Window Modal Focus Error #100639

    a2m developer
    Participant

    Hey Martin,

    I don’t see the fix in this latest April 2018 release. Is there a better way I can track the status of this bug?

    Thank you.

    in reply to: Window Modal Focus Error Window Modal Focus Error #100627

    a2m developer
    Participant

    What is the status on this error? Has it been fixed? and if so what version has the fix?

    in reply to: Window Modal Focus Error Window Modal Focus Error #98988

    a2m developer
    Participant

    Hi Stansilav,

    Try updating your template to:

    
    <jqxWindow #createMenuWindow id="create-menu-window" class="CREATE_MENU" [isModal]="true" [resizable]="true" [autoOpen]='false'
      [showCloseButton]='false' [theme]='theme' [title]="title" (onClose)="onClose($event)">
    
      <div #windowHeader> </div>
      <div #windowContent id="create-menu" style="width: 100%">
        <input type="text" />
      </div>
    </jqxWindow>

    The error should display in the console when focus(1) is called on the input element in the content div. If you were using my exact template you would not have gotten an error because there was not an “tabable” element within the window to call focus(1) on.

    I’m still confused on what the purpose of the parameter 1 is for. I don’t see any focus function defined in the source code that takes a parameter. If focus being called is intended to be on your own API then you guys have a scope issue.

    in reply to: Window Modal Focus Error Window Modal Focus Error #98956

    a2m developer
    Participant

    Hi Stanislav,

    I’m using Angular v 5.2.5.

    Component Template:

    <jqxWindow #createMenuWindow id="create-menu-window" [width]="'200px'" [height]="'300px'" [minHeight]="'300px'" [minWidth]="'200px'"
      [maxHeight]="'400px'" [maxWidth]="'600px'" [isModal]="true" [resizable]="true" [autoOpen]='false' [showCloseButton]='true'
      [theme]='theme' [title]="title">
    
      <div #windowHeader> </div>
      <div #windowContent id="create-menu">
      </div>
    </jqxWindow>

    I run the app, open the window and once I click on the ‘Modal Background’ I get an error in the console. I am not calling focus. Focus is being called from the jqxWindow.js

    core.js:1448 ERROR TypeError: Failed to execute 'focus' on 'HTMLElement': parameter 1 ('options') is not an object.
        at HTMLDivElement.eval (jqxwindow.js:7)
        at HTMLDivElement.dispatch (scripts.bundle.js:3)
        at HTMLDivElement.r.handle (scripts.bundle.js:3)
        at ZoneDelegate.invokeTask (zone.js:421)
        at Object.onInvokeTask (core.js:4736)
        at ZoneDelegate.invokeTask (zone.js:420)
        at Zone.runTask (zone.js:188)
        at ZoneTask.invokeTask [as invoke] (zone.js:496)
        at invokeTask (zone.js:1517)
        at HTMLDivElement.globalZoneAwareCallback (zone.js:1543)

    Not too sure why posting source code on the forum is frowned upon, especially since everyone can see your source code on github. Just saying.


    a2m developer
    Participant

    I’m using NPM. There are 4.6.1 – 4.6.4 listed under https://registry.npmjs.org/jqwidgets-framework

    4.6.1 is in my package-lock.json
    These are not listed under https://github.com/jqwidgets/jQWidgets/releases


    a2m developer
    Participant

    I got it working.. turns out (at least when you use loadServerData ) you need to convert your data into the specific types (ie. date or float).

    in reply to: Multiple columns sort Multiple columns sort #97087

    a2m developer
    Participant

    I would love to see this feature implemented. ASAP, would be even better.

    in reply to: jqxFileUpload RESTful API jqxFileUpload RESTful API #96370

    a2m developer
    Participant

    Ok Update: At first I thought it was a component issue, and then I thought it was API but in fact it was neither.

    My API is expecting to handle multiple files at one time requiring the filename attribute to be an array (or actually a string that acts as an array when rendered) not just a string.

    Long story short.. too late.. the documentation for the jqxFileUpload could use a little help. Especially with the “multipleFilesUpload” defaulting to true, it’s a little confusing.

    Example:
    `<jqxFileUpload #fileUpload [fileInputName]=”‘uploadFiles'”>
    </jqxFileUpload>`

    Single file format from my PHP API:

    array(1) {
      ["uploadFiles"]=>
      array(5) {
        ["name"]=>
        string(16) "testing.txt"
        ["type"]=>
        string(10) "text/plain"
        ["tmp_name"]=>
        string(14) "/tmp/phpmovWAm"
        ["error"]=>
        int(0)
        ["size"]=>
        int(153)
      }
    }

    Example:
    `<jqxFileUpload #fileUpload [fileInputName]=”‘uploadFiles[]'”>
    </jqxFileUpload>`

    Multiple file format from my PHP API:

    array(1) {
      ["uploadFiles"]=>
      array(5) {
        ["name"]=>
        array(1) {
          [0]=>
          string(16) "testing.txt"
        }
        ["type"]=>
        array(1) {
          [0]=>
          string(15) "application/pdf"
        }
        ["tmp_name"]=>
        array(1) {
          [0]=>
          string(10) "text/plain"
        }
        ["error"]=>
        array(1) {
          [0]=>
          int(0)
        }
        ["size"]=>
        array(1) {
          [0]=>
          int(100194)
        }
      }
    }

    Seriously hope this helps someone else, cause it drove me crazy for a good day. 🙂

    Happy coding!


    a2m developer
    Participant

    I was having the same issue and figured out a solution that’s working so far. Hopefully it help others.

     constructor(private componentfactoryResolver: ComponentFactoryResolver,
        private injector: Injector,
        private app: ApplicationRef) { }

    Set the content with a placeholder

    this.relatedTabs.forEach(config => {
            if (config['SHOWN_BY_DEFAULT']) {
              let index = count - 1;
              config['TAB_INDEX'] = count++;
              config['INITIALIZED'] = false;
              let title = config['LABEL'];
              let content = <code><div id=&quot;hdlist${index}&quot;></div></code>; //Placeholder
              this.tabsReference.addAt(index, title, content);
            }
          });

    Use the Factory to create the component and the Injector to put it into the DOM.

    tabclick(event) {
    
        let index = event.args.item;
    
        if (this.relatedTabs[index] && !this.relatedTabs[index]['INITIALIZED']) {
          
          this.relatedTabs[index]['INITIALIZED'] = true;
    
          let node = document.getElementById('hdlist' + index);
          let ref = this.listCompFactory.create(this.injector, [], node);
          ref.instance.widgetParams = { WIDGET_ID: 565 }; //Set Inputs 
          ref.instance.width = '100%';
          ref.instance.height = '95%';
          //  ref.changeDetectorRef.detectChanges(); // Issue could arise with change detection. Not sure yet. 
          this.app.attachView(ref.hostView);
          this.listRefs[index] = ref;
        }
      }

    All of my tabs are dynamic so I couldn’t use the ViewChild/Children.

    Good Luck! 🙂

Viewing 15 posts - 1 through 15 (of 19 total)