Discuss anything related to web development but no technical support questions


Post by elmjack »

I am working on a project that uses a Scheduler Tree to display schedule information. We would like to add summary information at the bottom of the screen for each vertical column (each day). This info would be fixed at the bottom of the screen, regardless of vertical scroll location.

Is there a supported way to do this through the scheduler API? I have been unable to find one thus far using the Bryntum documentation.

Thank you very much for your help.

Post by mats »

Not out of the box I'm afraid, but it would be very easy to create such a feature. I guess 1-2 days of work at most. Contact our sales email if you want us to help you build it.

Post by elmjack »

While I discuss with my higher-ups about contacting your sales team, can you point us in the direction of how we might start to implement such a feature? One question is how to make objects that line up with each day column in the scheduler and respond correctly to horizontal scrolling. How do the built-in day column headers handle that? Or is there another way you think would make more sense to structure them?

Post by mats »

I'd recommend digging into a bit of our sources. You'll find lots of answers and ideas there. The TimeAxis class and TimeAxisViewModel class are representing the view state of the time axis header, you could use that to read the data you need for your rendering.

Here's a simple POC to get you going. https://bryntum.com/playpen/rowsummary2.x/

Post by elmjack »

Thank you for showing me that proof of concept, but it is not quite what we are trying to do. When the window in the demo is made smaller such that a vertical scroll bar appears, and you scroll up from the bottom, the 'total' summary row scrolls down with the other rows and disappears off of the visible screen. We are trying to make a footer that is always visible, even if the user is not viewing the bottom of the scheduler. (This would be similar to 'freezing' a row in MS Excel.) How difficult would it be to move the 'totals' row from your example to its own place in the DOM below the rest of the scheduler tree, in such a way that the vertical scroll affects only the scheduler, and not the totals row? Can that be done while still respecting horizontal scroll?

Post by mats »

Yes, I know what you mean. You'd probably render it to a bottom toolbar instead which is fixed and not part of the scrollable area.

Post by Terence »

Add a container to the normalgrid
normalGridConfig : {
                        dockedItems: [{
                            xtype: 'container',
                            height : 45,
                            itemId : 'normalSummary',
                            dock: 'bottom'
                        }]
                    }
In the summary renderer you can query this container with
this.normalRowSummary = scheduler.normalGrid.getDockedComponent('normalSummary');
When rendering its contents you can do this:
renderSummaryRow : function () {

        if (this.row) {
            Ext.get(this.row).remove();
        }
        else {
            this.normalRowSummary.el.first().remove();
        }

        this.row = this.summaryTpl.append(this.normalRowSummary.el, this.buildRenderData());

    },
*worked in ExtJs4

Post Reply