Does ag-grid support live updates in Server-Side row model? - reactjs

I am picking a grid to use in a React app to peer into very large data sets, with filtering, grouping, sorting capabilities. So, this has to be a virtual grid. According to this article (https://www.crankuptheamps.com//blog/posts/2020/01/23/grid-comparison-2/#) ag-Grid is phenomenal. Server-Side Row Model seems to support our "data massaging" requirements. However, I cannot find a confirmation whether in this mode ag-Grid supports live updates from server side (data push).
Could you please point me in the right direction? If you have a doc link or a sample it would be even better.
thank you

ag-grid has a different row model for this: Viewport row model
A Viewport is a row model that allows showing a 'window' of data in your client. Typically all the data will reside on the server and the server will know what data is displayed in the client. This is again useful for the server to push changes out to the client as it knows what data is currently displayed.

Related

Django and React - Models for adding multiple data fields - Material UI

I am using Django for my backend and react for my frontend to build a web application that calculates cost based on the total volume (calculated using dimensions lwh) of some boxes. In order to do that, I created a form using React and Material UI in which there is an ADD MORE button to add the dimensions of multiple additional boxes. Below image showing part of the form.
Although I managed to create a model in case there is only one box and store the values in the database, I don't know how this will work when I use the ADD MORE button. How can I create my Django model to store the dimensions and volume for each additional box of the form?
I checked several other threads and found out about Formsets but I don't know how to apply it in my case.
Thanks in advance for your help :)

ShieldUI Grid with remote data that is NOT oData

Every remote virtualization demo show how to populate the grid but they all use oData.
Can someone help me figure out how to use standard JSON returned from my web service? I have attempted to modify this demo with no success: http://demos.shieldui.com/web/grid-virtualization/remote-data
The number, titles of the columns may be different per record, too...
(see: ShieldUI Grid - Adding Columns at run-time)
This demo shows how you can populate data from a RESTful web service - take a look at the dataSource.remote.read option.
More info about this setting can be found in the DataSource documentation.

HTML Page from selected row in Spotfire

I have come across a requirement that is already available in the current tool and they expect it to be implemented in Spotfire as well.
Requirement: Once data is loaded in Spotfire and they click on a row, there is a button "View in Web" that will render that selected row in a beautiful static HTML page in a new window.
My Logic so far: I'll store the column values in variables using ironpyton as explained in https://techgoje.wordpress.com/2014/12/02/spotfire-ironpython-accessing-column-values-in-script-context/ and then i'll render those values in HTML page
Any suggestion or help is greatly appreciated.
I have never tried to open a popup or new window in Spotfire. my guess is that you could do it in the Web Player, but it may not work in the thick client.
I've created an example DXP that shows how IronPython and Javascript can interact to render HTML content in a textarea. this may be a good solution for you.
(NOTE: you will need to trust all of the IP and JS scripts in this document!)

AngularJS: Triangular three way binding -- Project Structure

I am currently working out an admin interface with a Live Preview and I am still not 100% on how to structure it properly.
My page basically consists out of two parts. The Admin Interface and the Live Preview. Obviously, the Admin Interface fills some variables with data and the Live Preview displays this.
Therefore, the Admin Interface needs to bind variables, that the Live Preview will bind for reading.
Furthermore, the Live Preview in the end (if possible) should be re-used as the final product that displays a set of information. All it does is display a single JSON file that is received from the server (when in product mode) and in case of the Live Preview it will need to update the data Live as its edited.
One more note: Both, the Live Preview and the Admin Interface consist of elements like directives again and parts of the Admin Interface need to be loaded dynamically by having a user add a page with a certain type of content.
After researching how modules are handled I came up with the following:
Live Preview is a Module
Admin Interface is a Module
My page includes both modules
Both of them should be connected to something central that provides the ability of editing the data (bound variables?) and reading the data so its updated live.
Ideally, this would be a service, so later on when loading the "Live Preview" as an actual product, can just use the same kind of service which in this case provides the information from our Database instead of a variable in its scope.
Is this a good approach? Is there a way to have a service that on the one hand side can be edited lively like in a two way binding so that my live preview can also pick it up? Is there something I can use instead of the services, like a controller? How should I go on about this?
You are doing everything right. I don't think that it is relevant as to whether the preview and admin panel are their own modules or contained within one. You will find people using module seperation in a wide variety of ways within their Angular apps.
What I think you said that is important and correct is to connect the preview and admin panel via a Service. Other methods of connecting these two (i.e. $rootScope) are costly and bad practice.
If you will be re-using live preview in many locations of your application I would wrap it in a directive.
You should feel confident in your approach, it's a good one.

Most efficient way to transfer images to a Silverlight client

I have an application that shows a screen of image thumbnails, each image is around 80k and they are stored in a database. To keep response time reasonable, the appilcation displays a placeholder image when it first starts and later downloads the images from the server. I'm expecting to show around 40 images on the screen at once so that's my batch size. What's the best way to serve these images up to the client? I've got two options in mind.
Create an ADO.NET Data Service that exposes the Images database table to the client. The client can asynchronously request the images, one at a time, and display them as they come back from the server. I've implemented this solution and it seems to work Ok; the speed isn't great and I feel like I could utilize the Http pipe better by requesting maybe 3 images at a time.
Create an HttpModule on the server that looks for requests that look something like /Images/1.jpg and then reads the database and returns the requested data. On the client side I can have many Image objects whose source points to the virtual Urls on the server. My theory is that by just giving Silverlight many Urls to deal with it may be able to transfer the images more efficiently than my code in option 1.
Would either of these methods be more efficient or is there another technique for getting this done? Thanks!
I don't know if it's more efficient, but I've accomplished a very similar task using an HTTP Handler (ashx). The handler pulls the image in from the database based on the Parameters in the uri (image ID), and then Silverlight fetches them asynchronously by setting the Source property of an Image control to the URI of the handler with the specific ID that I want in the query string. The Image control, in turn, is inside of an ItemsControl which allows me to display multiple images.
We are doing something very similar, and we are just using an ASPX page to server them up with a query parameter of the image identifier. We are also caching the images, and the ASPX page will used the cached value if it exists. If not, we pull it from the data store, cache it, and send it down. It is working really well for us.
Have you looked at using Deep Zoom? It's very efficient about progressive image loading, and gives you a nicer user experience when the images are fully loaded.
Examples:
Hard Rock Memorabilia site
Deep Zoom Pix

Resources