Ask yourself the question "What are my user's primary goals?"
Most likely their goals are to save and retrieve content from that database. Learning or reading the content and watching a gif are likely not even secondary goals for the user and they will notice load times getting in their way of their task.
Consider entertainment focused apps such as ...
You should limit yourself to only protecting fields and controls that actually matter, and don't try to shortcut the work by having a blanket mask.
For example, your "search" filter doesn't matter if the user changes something. It's not live data. So there is no need to disabled this area of the application.
If you are refreshing the grid of ...
Usually if data is loaded inside the grid (async, RXJS), it should be still valid to edit the filters (just keep in mind to have some debouncing).
Try to focus the visual difference just on the part, which will be updated, in the given situation it's the grid itself.
Also try to look for telerik's kendo UI grid, or syncfusion data-grid. They do have online ...
Never seen dialog to display progress like this.
Usually you are supposed to put progress on a "open popup" button, and when its done, you display ready to use popup.
When user click "Save changes" again, the button itself will display progress, nice and clean