From aac1709618351c14edf81c9c302c7668385f02d2 Mon Sep 17 00:00:00 2001 From: Amigo <49749100+aamigo@users.noreply.github.com> Date: Thu, 19 Sep 2019 12:42:32 +0200 Subject: [PATCH] Updated 059 Adding none database fields to an admin view (markdown) --- 059-Adding-none-database-fields-to-an-admin-view.md | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/059-Adding-none-database-fields-to-an-admin-view.md b/059-Adding-none-database-fields-to-an-admin-view.md index 439bce5..c50eb5c 100644 --- a/059-Adding-none-database-fields-to-an-admin-view.md +++ b/059-Adding-none-database-fields-to-an-admin-view.md @@ -6,5 +6,14 @@ We've added a new function to JCB which allows you to add a field to a view without adding the field to the database. When will that be useful? When you have a field which maybe is getting data from another table, and you want to change the behavior on the page, based on the data selected, but that selection itself isn't relevant. Or when you want to combine two fields as one in the database, then you could have both fields on the page. [00:00:41](https://www.youtube.com/watch?v=6OTRDIgxgq0&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h00m41s) On submission in your save area in the Admin View, you can add some custom PHP script to take the value from that other field, and save it in to this field that you intend to combine the two values. You don't want both values to be stored in the database. Or the other option is you have fields on a page, which only get used to generate data in another table. [00:01:16](https://www.youtube.com/watch?v=6OTRDIgxgq0&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h01m16s) When you save that item, it takes those values put it into the other table and leave one value in this table. Which next time you open it up all those fields are hidden based on that value selection. -??? -It have multiple implementations and sort of helps you to get a subform on the page or any kind of other field type to be able to use it [00:01:47](https://www.youtube.com/watch?v=6OTRDIgxgq0&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h01m47s) once You know what use it within your custom scripting either in JavaScript Or in PHP A previously this wasn't possible if you add a field to view it always gonna get Stored into the database But now If you go to admin views And You well Let's take one [00:02:13](https://www.youtube.com/watch?v=6OTRDIgxgq0&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h02m13s) That has this function going We use the admin view Fields So you'll see that this new Feature is Replaced your admin view list option Because now you got show in list And then you have the default which was the previous Check or uncheck option Which basically is 1 and 0 [00:02:44](https://www.youtube.com/watch?v=6OTRDIgxgq0&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h02m44s) But now you got a third one Which is called No DB I have a field called not required which basically is what you would usually add If you are using Conditional JCBs Internal conditional option And you have Fields that actually are required But within certain criteria those fields are hidden And obviously then not required Then I'm using this not required field [00:03:18](https://www.youtube.com/watch?v=6OTRDIgxgq0&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h03m18s) To basically Store Some values with JavaScript that upon submission It did adapts the validation on the server side Now I don't really want that value in the database so I'm using this Non DB option If you changed any other Fields I'm just gonna do demonstration Obviously I do want this field in the database but just to sort of show you If you select no DB It will automatically give you this notice Basically these two notices [00:03:50](https://www.youtube.com/watch?v=6OTRDIgxgq0&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h03m50s) The one saying the non DB option Will remove this field from being saved in the database And then this one Only use the non DB option if you're planning on targeting this field With JavaScript or custom PHP To move it's value into another field that does get saved to the database In one form or another basically saying to you But if you use this value we not gonna store whatever is placed In it [00:04:21](https://www.youtube.com/watch?v=6OTRDIgxgq0&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h04m21s) In the database for you You will need to manually Do that So that's really why it's there it's really for custom customization to your components behaviour And so you'll see that also clears out All your selections because None of these features Will be Of you know be used well a vailable to this field Because this field [00:04:47](https://www.youtube.com/watch?v=6OTRDIgxgq0&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h04m47s) After saving Dumps is value and it doesn't exist Unless you grab it and you know Use it into your script Ok so If you use the list option We now have this automated Counter adding So [00:05:08](https://www.youtube.com/watch?v=6OTRDIgxgq0&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h05m08s) Every time you do that if counts all the fields that are available Already in your script And then it adds the next Logic number But anyway that's Beyond of what I'm actually explaining or demonstrating So for now Our Purpose here Is to show you that there is a new No DB [00:05:32](https://www.youtube.com/watch?v=6OTRDIgxgq0&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h05m32s) Field behaviour Which Some of you have been requesting And I also needed it in the past So it's available now You can try it out play with it And of course if it doesn't make sense to you just don't use it Ok well thanks for watching +### Multiple Implementations Helps To Get A Sub form On The Page + +[00:01:34](https://www.youtube.com/watch?v=6OTRDIgxgq0&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h01m34s) + +It have multiple implementations and helps you to get a sub form on the page or any kind of other field type to be able to use it once, use it within your custom scripting either in JavaScript or in PHP. Previously this wasn't possible. If you add a field to view, it was always going to be stored into the database. But now if you go to Admin Views, let's take one that has the function going. We will use the Admin View fields. + +### New Feature - None DB + +[00:02:24](https://www.youtube.com/watch?v=6OTRDIgxgq0&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h02m24s) + +You'll see that this new feature has replaced your Admin View list option. Because now you have a show in list. Then you have the default which was the previous check or unchecked option, basically is 1 and 0. There are a third one which is called 'None DB'. [00:02:49](https://www.youtube.com/watch?v=6OTRDIgxgq0&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h02m49s) I have a field called 'Not Required', which is what you would add if you are using JCBs internal conditional option. If you have fields that are required, but within a certain criteria, those fields are hidden, and not required. I'm using this Not Required field [00:03:18](https://www.youtube.com/watch?v=6OTRDIgxgq0&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h03m18s) to store some values with JavaScript that upon submission, it adapts the validation on the server side. I don't want that value in the database, then I'm using this None DB option. If you changed any other fields, I'm going to do a demonstration. I do want this field in the database, but to show you if you select None DB, it will automatically give you these two notices. [00:03:50](https://www.youtube.com/watch?v=6OTRDIgxgq0&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h03m50s) The one is saying the None DB option will remove this field from being saved in the database, and then this one only use the None DB option if you're planning on targeting this field with JavaScript or custom PHP to move it's value into another field that does get saved to the database. In one form or another. It is saying to you that if you use this value, we are not going to store whatever is placed in it [00:04:21](https://www.youtube.com/watch?v=6OTRDIgxgq0&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h04m21s) in the database for you. You will need to manually do that. That's why it's there. It's for customization to your components behavior. You'll see that it also clears out all your selections, because none of these features will be of use, or available to this field because this field [00:04:47](https://www.youtube.com/watch?v=6OTRDIgxgq0&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h04m47s) after saving, dumps the value and it doesn't exist unless you grab it and use it into your script. If you use the list option, we have this automated counter adding. [00:05:08](https://www.youtube.com/watch?v=6OTRDIgxgq0&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h05m08s) Every time you do that if counts all the fields that are available in your script. It adds the next logic number. Our Purpose here is to show you that there is a new None DB [00:05:32](https://www.youtube.com/watch?v=6OTRDIgxgq0&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h05m32s) field behavior. Some of you have been requesting. I also needed it in the past. It's available now. You can try it out play with it. If it doesn't make sense to you just don't use it.