Tabulator Data Save Event - ajax

Does anyone know if there is a Tabulator save event?
Problem:
A user makes changes in a Tabulator cell. The update is persisted in the database and affects the other rows in the Tabulator. I'd like to be able to update the other Tabulator rows. However, in order to do this, I need to know that the data was successfully stored in the database. Is there any Tabulator event to do this? I'm looking for something similar to an Ajax success callback.
Thanks
I have tried several Tabulator events but none of them provide the required functionality.

Related

What's the best way to make a table in Vue?

I need to make tables in my project. Early, I used to deal with the Tabulator. But it was in the Thymleaf.
Now, I do a project on Nuxt.js.
I tried a few things in the tabulator and I didn't like the following:
1. I couldn't set the 'method' on the 'cellClick' event in the column.
2. I couldn't use this.$axios in function callbacks. $axios undefined in functions callbacks.
3. How much do I understand the Tabulator uses jQuery? I think it isn't good.
In general, it seemed to me that the tabulator is not quite intended for use in Vue.
If I'm wrong, correct me.
I try to use Bootstrap-Vue's table component, nut I can't find how to do an editable table, to do copy/paste clipboard, how to do grouping row.
In general, I'm asking you to help me with the selection of the tool to build the tables.
I need a few major opportunities:
Copy/paste/load tables from Excel or clipboard, because I will need inputting a big table and input each cell difficult task.
A grouping row.
An editable tables
Tabulator dosnt use any jQuery it is pure JavaScript with zero dependencies.
It also has full Vue Support and a fully functioning Vue Component
It has Clipboard Support
and Row Grouping
and a full suite of built in Data Editors

DynamoDB delete trigger OldImage

I would like to do some cleanup after a record has been deleted in my DynamoDB table. It would be pretty great if I could use triggers to do this. Unfortunately it seems that OldImage is not passed into "REMOVE" events. The problem is that I need some record attributes other than the keys in order to perform my cleanup and I can't actually read the record anymore to get these attributes once the event has triggered. Is there any other way I can still read attributes of a record that has been deleted in a trigger?
Change the DynamoDB stream to include new and old images.

How to improve Angular2 rendering performances when accessing a backend server?

I have a service which is responsible for getting the data from a backend.
The data is shown via a component in its nginit method. It is shown in a table (html table).
I would like to be able to manipulate data without having to reload it each time in my table : ex : delete a row, add a row ... I want all of this very fluid. The data is coming from a database.
So my question is :
Should my service return an observable or an array ?
Is nginit the best place to show my table ?
How should I do things maybe to manage everything in memory? I do not know.
Thanks for any advice.
I would save the data into an array then use lodash to manipulate it.
You could edit, delete, and add rows using lodash's built in functions. When you want to save the data to the backend you would then post the array back to the server. This will keep backend requests to a minimum which will help your performance.
For example you could delete elements from the array using the remove function, https://lodash.com/docs/4.17.4#remove
Lodash can be setup like this https://medium.com/#gtsopour/importing-lodash-into-angular-2-typescript-application-94590365f46d#.9mdcdjnac
Of course you could do this all using raw js though but I find Lodash very rich and easy to use.

JSF update changed values only

I´ve tried to get some informations about my idea, but still haven´t.
I wan´t to know, if there´s a way to achieve this:
I´m using a primefaces <p:dataTable> to display a list of items. For updating my table if some entries changed, I´m using datatableWidgetVar.filter() within the oncomplete event of <p:ajax>. Because the handled lists are pretty big (~50k-100k entries) it takes a few secs to 'update' the dataTable by its filter method and there is a 'flickering' I´d like to remove...
I don´t want the user to see, that components are reloaded, I mean it should be more 'smooth'. Is there a way to compare those 2 lists and only update the changed rows, so I don´t need to rerender 50,000 items? Or shall I pass the changed items (by id maybe?) to my jsf page and select the rows that are affected? Does primefaces offer such a algorithm?
Thanks in advance, let me know if you need some code or more details ;)
EDIT:
I´ve been thinking about that again and what about:
access the dataTable´s underlying list of items (client-side)
compare the server-side (newer) list with the (older) client-side one
get the changed (modified,added,removed) entries
force my dataTable to update only those 'rows'
Is this a good practise?

Check if Associated View is blank in Dynamic CRM Online

In CRM Online on a customer form is there anyway that you can check if the Associated View for Assets is blank? And if its blank change a field value based on it.
Using JavaScript, 2 ways:
The associated grid is showing records related to your primary record. You can perform the same query the grid is doing using REST which will tell you if there are any records. You can then count the records, and change the field value as required. This approach is better if there are records in the database but which aren't shown in the view for some reason, e.g. view filters.
Access the Grid objects data using getRows(). As above you can then count the records, and change the field value as required. The downside of this is I believe those methods only give you access to the records shown on the form (and not any hidden by filters but still in the database) - but I don't think that that will be a problem here.
Worth bearing in mind that this approach only works client side, e.g. someone has to be actually looking at the form.
If you need to cover the a non-client side approach, e.g. workflows creating records, then you should probably look at plugin development so the changes can be performed server side.
As a side if you just want a simple count shown on form you then you should probably look at Calculated Fields and in particular Rollup fields. You might also be able to run further client side JavaScript from the count.

Resources