Performance issue in ExtJS 3.2 grid - extjs3

I'm using ExtJS 3.2.0. In UI its allow users to scan their items to the grid. Items keep in the jsp. Once user scanned an item it will add new row to the grid. When count increase it'll take much time to add to the grid. Is there any solution to overcome this in 3.2.0 version ?

The solution to this problem is called buffered rendering. Buffered rendering is the process of only rendering the rows visible to the user, so that a grid can have a large number of records without a major impact on performance. Unfortunately, this is not available in Ext JS 3.2.0. It was introduced in Ext JS 4.2.0.

Related

Magento 2.3.4 size swatch displayed for products with salable quantity 0

We are using latest version of Magento 2.3.4.
Whenever a customer is creating an order a salable quantity for product (child of configurable product) is decreased - which is a correct behavior. The problem is that, a bought size is still available until order is shipped.
The customer can see size - while trying to add (just sold) size to bucket, he gets information that requested QTY is not available.
I would like to disable (grey out or cross out) unavailable size.
Can I achieve this using magento settings ? Or do I have to write a custom plugin ?
You could do multiple things:
Find the template of the dropdown and break into it with objectmanager and a custom (raw) query that checks the stock for the size and disables the option. This is fastest but bad especially if you don't have caching, the queries make the template slow to load.
Make a nice extension that overrides the templates trough xml file. Also override the php files (model/controller) and change the logic to acheive what you want. This is better practice. It has been done here i think, didnt test it myself:
https://magento.stackexchange.com/questions/216373/magento-2-2-how-to-show-out-of-stock-in-configurable-product
Find an extension from 3th party.
If you have a sample of code I can also help with it.

How can the typo3 backend page tree be constructed asynchronously in typo3 v9.x?

This concerns the typo3 v9 main page tree in the backend view.
I have a very large page tree with about 20.000 page entities. The query takes a long time...
In my Typo3 v9.5.5 environment, the data is retrieved in a single slow query.
How can Typo3 build the page tree in several fast queries level by level?
In the older Typo3 version (8.7.24) this also works with the method getNextTreeLevel() I think.
The core team is working on it.
There are 2 patches pending:
https://review.typo3.org/c/Packages/TYPO3.CMS/+/62329 - this patch makes page tree less bandwidth
https://review.typo3.org/c/Packages/TYPO3.CMS/+/62086 - this adds asynchronous tree rendering (it's a work in progress, as needs some tuning regarding workspaces support)
The new behaviour is like this by design in TYPO3 9.
There is a slack-channel discussing that issue: https://typo3.slack.com/messages/CK20S7EKS
And a bug-ticket on forge: https://forge.typo3.org/issues/88474
Out of that there will come a patch for the core.
The only help for now is the extensions: https://github.com/bueroparallel/bp_pagetree (discussed and reviewed in the slack channel). This speed up the tree load but just loads up to a defined nesting level what results in not all pages are automatic included in the filter results. But for now (and hopefully just for a small time period) the best solution!

TYPO3: tx_news: separate pagination between plugins

I'm using TYPO3 7.6 with the latest tx_news release from TER.
I want to show two news plugins at one page: one is configured to show all news from storage folder "A"; the other one is configured to show only the latest record from storage folder "B".
Now, once the first plugin paginates, the second one renders empty content since it tries to paginate as well (which doesn't make sense since it should display only the latest record).
So, my question is: How can I separate the pagination between both plugins?
In TYPO3 7.6 there is no solution to your issue, sorry. Workarounds include adding manual pagination for the second plugin or overriding the second widget with one that forces a different ID.
In TYPO3 8.6+ you can override the ID of each widget which causes the URL scope to change so you can isolate parameters for each widget. More information can be found on https://docs.typo3.org/typo3cms/extensions/core/8.7/Changelog/8.6/Feature-47006-ExtendTheWidgetIdentifierWithCustomString.html
I tweaked the fluid template to totally avoid the pagination in this case (based on "settings.templateLayout"
In the meantime (I don't know whether it was in place three years ago) there is an option Hide the pagination in the news plugin. You will find it in the tab Additional.
So if you place more than one list view on one page, you can disable pagination for all lists, which should not get paginated.

Lazy loading and scrollable table with Wicket 7

While migrating a Wicket 1.4 based web application which uses the DojoLazyLoadingListContainer from org.wicketstuff.dojo to newer Wicket 7 we identified major problems.
The migration of the lazy loading table itselfs seems not to be a feasible solution and we are looking for another table providing our functional requirements:
Infinite scrollable with lazy loading via the standard Wicket data provider concept.
No pageable table style like Wicket standard
Full AJAX support while replacing the loaded table for example in a
tabbed view panel or in multiple wizard steps.
Open source or commercial license for one web server and development
systems
We are looking for a Wicket data table implementation which is
available for current Wicket version (e.g., 7.2.0) and has a
future-proof on-going development.
Thanks for any help or hint in advance!
Kind regards,
Marc
Check https://github.com/wicketstuff/core/tree/master/datatables-parent.
It provides an integration with DataTables.net.
It has a demo of infinite scroll table at https://github.com/wicketstuff/core/tree/master/datatables-parent/datatables-examples/src/main/java/org/wicketstuff/datatables/demo/infiniteScroll.
Please use WicketStuff issues for bug reports!
You may also use the DataTable with infinite scroll from the Wicket Jquery/Kendo UI project. It works with both wicket 6 and 7.
www.7thweb.net/wicket-jquery-ui/kendo/datatable/InfiniteDataTablePage
Thanks for the link, I think it's a promising approach.
But I opend the InfiniteScrollDemoPage via a link and got this exception:
java.lang.UnsupportedOperationException: Called operation not supported for TokenBuffer
at com.fasterxml.jackson.databind.util.TokenBuffer._reportUnsupportedOperation(TokenBuffer.java:1031)
at com.fasterxml.jackson.databind.util.TokenBuffer.writeRawValue(TokenBuffer.java:694)
at de.agilecoders.wicket.jquery.util.serializer.ConfigSerializer.serialize(ConfigSerializer.java:18)
at de.agilecoders.wicket.jquery.util.serializer.ConfigSerializer.serialize(ConfigSerializer.java:15)
at com.fasterxml.jackson.databind.ser.std.MapSerializer.serializeFields(MapSerializer.java:467)
at com.fasterxml.jackson.databind.ser.std.MapSerializer.serialize(MapSerializer.java:388)
at com.fasterxml.jackson.databind.ser.std.MapSerializer.serialize(MapSerializer.java:27)
at com.fasterxml.jackson.databind.ser.DefaultSerializerProvider.serializeValue(DefaultSerializerProvider.java:114)
at com.fasterxml.jackson.databind.ObjectMapper.writeValue(ObjectMapper.java:1837)
at com.fasterxml.jackson.databind.ObjectMapper.valueToTree(ObjectMapper.java:1965)
at de.agilecoders.wicket.jquery.util.Json.toJson(Json.java:73)
at de.agilecoders.wicket.jquery.util.Json.stringify(Json.java:140)
at de.agilecoders.wicket.jquery.AbstractConfig.toJsonString(AbstractConfig.java:35)
at de.agilecoders.wicket.jquery.function.ConfigurableFunction.<init>(ConfigurableFunction.java:38)
at de.agilecoders.wicket.jquery.JQuery.chain(JQuery.java:350)
at org.wicketstuff.datatables.DataTables.renderHead(DataTables.java:72)
at org.wicketstuff.datatables.demo.infiniteScroll.InfiniteScrollDemoPage$2.renderHead(InfiniteScrollDemoPage.java:75)

GWT Table that supports sorting, scrolling and filtering

I have a project using GWT and it displays data in a table.
I need a Table for GWT that supports:
sorting by particular column
scrolling the data, while the header is immobile
filtering rows for data searched in the table
The project is being created for internal purpose of the company, so I look for a solution that does not require commercial licensing for such uses.
The standard CellTable supports sorting.
(Hopefully more features will come soon.)
Here is a table supporting sorting and filtering : http://code.google.com/p/gwt-advanced-table/
Google itself is working on it. Look at this example in the incubator which supports multi-column sorting and fixed header but unfortunately no filtering : http://code.google.com/p/google-web-toolkit-incubator/wiki/ScrollTable
Other grids and tables are available in the incubator at this address : http://code.google.com/docreader/#p=google-web-toolkit-incubator&s=google-web-toolkit-incubator&t=Tables
Ext GWT proposes a very nice table, but it is not free (in your case) : http://extjs.com/products/gxt/
There is also EXT GWT (not to be confused with GWT EXT), build entirely in Java. You may have the pay for the license though. I do not known if you have to pay if the application is of internal use.
The Grid widget will do exactly want you want.
The rest of their widgets are also quite impressive.
Just to keep this up to date:
CellTable now supports paging and single column sorting: https://developers.google.com/web-toolkit/doc/latest/DevGuideUiCellTable?hl=de
You may want to adapt yout backend request for filtering, as this is usually more performant.
GWT Ext provides a table that meets these requirements.
It provides a wrapper around the Ext javascript library, so its best to commit to using either only GWT Ext widgets, or GWT widgests. They can be combined, but sometimes don't play well with each other.