Protect input fields against accidental overwriting

For the project I have already mentioned here and here, a barcode scanner is used for various tasks. If the input cursor is not in a search field, but in an input field, then the value of the field is overwritten by the scanned value or appended to the existing value. Sometimes this is on purpose, for example when creating a new record and assigning a Barcode to it. Most of the times overwriting an existing value by scanning a Barcode would cause data loss on save. To avoid this I have implemented a write protection for <input />-fields. When …

Notify other users about changes using “Toasts”

I programmed this feature for the same project, which was already briefly described here. It’s about physically sending files and tracking them via QR code. Since this project involves working across multiple facilities, I was looking for a way to notify employees at different locations of changes to a record without interrupting work too much. We all know the so-called “toast” notifications. I use these for this purpose. There are many javascript libraries for this. I decided on this one, which maps what I need for this: Toastr Detail View Suppose we are working on a data set. At the …

Autohide children-tabs, show on hover

If you, like me, like to make the most of the available space, then maybe this idea is something for you. Tracking Software In a small project, any file* can be sent (by delivery service) from one location to another location of the same organization and tracked using a QR code. * This project is all about physical document files, file-folders or boxes full of documents like court-files/court-records, which sometimes have to be physically sent to a different place. It is not about digital files. As a result, everyone involved across locations knows where which file is at any given …

Highlight (Showcase/Idea): Tile View

In most data-centric scenarios the tabular view is very suitable. There are use cases where I would like to have a tiled view. Even better would be if the user could choose. For some time now I have been programming something like this as an extension to AppGini. This is the current state I would like to show you. Please give me feedback what you think and if you are interested in such an extension. Card contents In this tile view i don’t want to see all columns, but only certain data. I also want to modify the display, for …

Highlight: Styled buttons and additional buttons in children tab of detail view

Today I would like to present an idea that I can definitely use in my own projects: additional buttons in children tab tables. Yes, buttons for the tables at the bottom of detail views. Problem I don’t know about you, folks, but I personally don’t really like the button to open a child record in a modal window especially for UI and UX reasons. The button is differently styled than other buttons and is not configurable. Furthermore, there are always situations in which I would like to open the record NOT in modal dialog, but in the same window. I …

Highlight: WordPress integration

For an upcoming project we plan to integrate data from an AppGini application into a WordPress page. I am currently creating a prototype to determine the feasibility. Components On the one hand, we need a configurable WordPress plugin that retrieves the data. On the other hand we need a counterpart on AppGini side, which provides the data. WordPress output This is what the first results look like. Please note that I have not made the result list prettier yet. More CSS styling is still required here. It is just the first draft: This is a WordPress installation on localhost. The …

Highlight: TV-integrated drag & drop KANBAN board

Description An integrated drag & drop KANBAN board for table views which changes status and modified by/on columns of records just by dropping into a different slot. Showcase Example Table calculations contains a column named state_id which is a lookup, referencing states-table. There are four different states in states-table. Every state has been rendered as slot and therefore is available as drop-target. Additional states can be added, of course. When dropping an item into a different slot, there is an AJAX call from client (browser) to server. The serverside PHP script validates the passed data and checks for edit-permission on …

Highlight: Additional HTML content in Table View

Description You will know this from your E-Mail software: Preview of the message right inside in the list of emails. Wouldn’t it be great to have it in AppGini lists, too? For a tasks-table I wanted to show the task-subject and -description inside the table view. And this is the first draft: Next to a few additional buttons (see showcase here) there is a custom HTML text below every row. Showcase Code I have wrapped everything into an easy-to-use function which I am going to use in more tables in the future. Just by initializing the onEveryRow function (so called …