Custom Nav-Links: Find TableGroup-index by table name

You probably know the possibility of adding your own links to the menus. A small disadvantage is that you have to give the target menu as a number (index of the menu). However, the number varies depending on user rights. Wouldn’t it be nice to have the index determined automatically? Here I show a small PHP function for this. Custom Menu Items According to the specs you can add custom nav-links by adding array items to the $navLinks array in hooks/links-navmenu.php. The setting ‘table_group’ => 1 causes the new menu entry to be inserted in the second menu, which is …

Quickie: More space for content in Custom Pages

Custom pages are a great way to add any content to your app. If you have ever created your own custom pages, you may have noticed that quite a lot of space is wasted to the left and to the right of the actual content: Do you see the useless margins? In this case, the content is even too wide for the content-container and a scrollbar appears at the bottom. That doesn’t have to be! With a simple trick you can widen the usable area. Just place that script in your custom page: This gives you smaller margins on the …

Idea: Inject Child-Records into Table View

This idea came into my mind when I wanted to show additional information for records right inside the table view: The toggle-button opens a panel below the record, showing all configured subtables. This renders sub-tables for all configured tables right inside the table view just below each recod: I can realize this by configuring Children-Records in my AppGini project as usual… …and by adding a few lines of code to my hooks/TABLENAME-tv.js… See it in action This has to be tested more accurately. I consider adding it to some future version of AppGini Helper Javascript Library if there is more …

Upcoming: Hide Fields in Detail View

We all know the toggle button in Table View which allows users to hide/show columns according to their needs. Wouldn’t it be fine to have such a button in Detail View? Well, stay tuned, I am going to introduce a new feature of upcoming version of our AppGini Helper Javascript Library. You all know the possibility of hiding columns in the Table View. The selection is saved in the browser of the respective user. This saves us developers a lot of work, because we don’t have to code different views of the table for different groups, but the users can …

Quickie: Set (missing) page Title in Custom Pages

Custom pages in AppGini are just awesome, and I’m using them a lot. There is one backdraw you might have seen: Custom Pages don’t have a (browser-) title by default. That may be irritating for users, when saving custom pages as bookmarks or when sharing links. I am showing a simple PHP one-liner which defines the title of the custom page. Problem When loading standard AppGini pages like Table Views or Detail Views there is a specific browser title which is a concatenation of App-Title + Page-Title: That’s fine for example when saving this page as bookmark. But when creating …

Quickie: Changing background-color of table view cells depending on content

For security reasons AppGini filters out CSS styles if injected into HTML code using PHP hook function. In this article you will find an easy-to-use, depencdency-free javascript fuction for changing background-color of table view cells depending on cell’s value. Common function Place the following function in <script>…</script> tags in hooks/header-extras.php, for example, so you can re-use it in any table view later on. Usage For a specific table view, create a javascript hooks file named /hooks/TABLENAME-tv.js, if not already exists. In there call the function shown above. Parameters: column name (string) object having states (as keys) and background-colors (as values). …

TV-customization (Part 8): Conditionally assigning CSS classes (2/2)

Now we know how to use an inline-SQL command case-when for dynamically evaluating and returning string values depending on database table values. It’s time to put it all together. Code Let’s return to our PHP editor and clean up the code a bit. I have copied our case-when command of Part 7 and using it now for building our replacement string in PHP, see Lines 9-15. That’s it, let’s save and see the results: And let’s check the generated HTML of one of those elements: Look good. You now have all required bricks for building your own customizations. Teaser / …

TV-customization (Part 7): Conditionally assigning CSS classes

In Part 6 we have learned how to add custom CSS classes and assign them to TV cell values. But up to now we have assigned exactly one CSS class. In this part we are going to bring some more flexibility into it. Before we can apply different CSS-classes depending on the cell value we need to know how to evaluate the database and return different strings depending on conditions per row. Some SQL basics Let’s have a look at the database table first. As mentioned before I am using Adminer as database workbench. Target First of all, I’d like …

TV-customization (Part 6): Custom CSS classes

In Part 5 of this Series (Part 1, Part 2, Part 3, Part 4) we have seen different built-in CSS classes, provided by Bootstrap framework. Today I am going to create my own custom CSS class and attach it to TV cell values. Current Code Please note the small change in line 7. I am attaching my-custom-class-1 to the cell-value. Next we have to define the style for that class, named my-custom-class-1. Defining custom CSS class There are different places for defining custom CSS classes, for example: Standard hookhooks/header-extras.phpPlace your styles inside a <style>…</style> tag of hooks/header-extras.phpNote: When doing it …

TV-customization (Part 5): Built-in CSS classes

In Part 4 we have seen that we can not customize cell style directly, any longer, but we can add CSS classes. Today I am going to show a few built-in classes, provided by Bootstrap framework, which you can use out of the box. Current PHP Code First of all, let’s modify the code a little bit. This will make it easier to change the CSS class names without touching too much of the inner PHP code. See the extra-variable $css_class in line 8. This is the place you can use different CSS class names as shown below. Different Text-Colors …