CB Core Fields Ajax 4.0.0

It has finally arrived! I've completely rewritten it from the ground up improving its code in all aspects. Ajax editing has been made more reliable with new output modes and even an additional template. Per field template support is fully working so you can have a different ajax edit template on a per field bases if you like. Additionally you can chain update fields by having Field A refresh the display of Field B during profile edit or registration. Check it out below!

 

The above is the standard inline usage. This will output the edit view directly inline with existing content. Previously this was a complex calculated tooltip overlay, which simply didn't work as reliably as it should. It's now actually inline.

The tooltip usage is still there, but is cleaner and tries to better fit its contents.

The above is the new modal usage. This works great for large fields like image fields where you want it to take full focus of the page.

Last but not least is the new Cog template. This was primarily designed to be used for canvas and avatar usages, but works fine with any field type. It presents a nice clickable cog instead of stealing focus away from the entire field or displaying a pencil off to the side. Cog template combined with Tooltip output works great for canvas and avatar ajax usage.

Not shown in the above images is the ability to chain fields together. This is functionality some of you may already be using in CB Query Field and CB Code Field, which lets you update the dropdown options when another fields value changes. The difference with the functionality in CB Core Fields Ajax is it works with any field and as many fields as you like. This means you can have Field B refresh its profile edit display when Field A value changes. Then refresh Field C when Field B value changes, etc.. It can also be dependent on multiple fields. So Field C could refresh if Field A or Field B value changes. The CB Code Field and CB Query Field usages are deprecated as a result of this and will be removed at next feature release for those plugins so be sure to start using the new usage now!



krileon's Avatar
krileon replied the topic: #308581 5 years 4 months ago
Nope, not at this time. It may not be possible depending on how JCE binds to its editors. It however works perfectly fine with TinyMCE.
bmeeker's Avatar
bmeeker replied the topic: #308580 5 years 4 months ago
Has there been any progress on getting this to work with JCE?
krileon's Avatar
krileon replied the topic: #303742 5 years 11 months ago
Ok, latest build has a workaround implemented for TinyMCE. CodeMirror it's not possible because of how the editor binds to the textarea input. JCE is untested, but if they use jQuery to bind the textarea editor it should have no issues rebinding. That's the best I can do for now as editors not using jQuery or safely reusable JS to bind simply won't rebind properly.

To explain why this worked in very very old releases it's because it used to render the edit HTML on initial view. It was never ajax loaded in. Now it's ajax loaded in so it's only rendered if it's necessary. The previous usage basically bloated the page 10x over with HTML and hurt performance significantly. That isn't an issue now with on-demand inline editing since it just loads via ajax. This isn't a problem with CB Core Fields Ajax, but a problem with how these WYSIWYG editors bind to their textarea inputs. I have to basically implement manual workarounds for each one to rebind, unfortunately.
krileon's Avatar
krileon replied the topic: #303737 5 years 11 months ago
WYSIWYG editors utilize custom JS that doesn't work when ajax loaded in. There's no fix for it until I can figure out how to make that JS load and work without fatal JS errors and have it work for any WYSIWYG editor you use. It's just not as easy as it sounds and a lot of fault is with how poorly the editor binds to its textarea field.
bmeeker's Avatar
bmeeker replied the topic: #303733 5 years 11 months ago
Why hasn't the issue with text area been fixed - this renders this tool totally useless to me. I loved it before.
krileon's Avatar
krileon replied the topic: #294952 6 years 9 months ago
The teat area editor fields don't currently work well with ajax as their WYSIWYG JS doesn't load resulting in the editor not loading in and only seeing a textarea input, which should work. There's a bug ticket to see if this can be fixed, but last couple times I've reviewed it it could not be fixed due to how those editors JS loaded. Yes, you can change a text area editor field to just a plain text area field, but you'll lose the option of saving HTML.
endoc's Avatar
endoc replied the topic: #294939 6 years 9 months ago
This is a very useful improvement, especially when we need to modify field values for a large number of users at once.

I have encountered a problem, however. One of the fields we use is often changed by moderators and is an "Area Text Editor"-type field. When attempting to modify this within a userlist view, the popup window display is not functioning/displaying in an editable way (html markups are present, the title of the field obscures view). But I have noticed that "Text Area"-type fields will display and allow editing properly.

Here is my question: Within the CB Fields Editor, It is possible to change my field from "Area Text Editor" to "Text Area" without causing any problems, such as losing values, database errors, etc? I don't really need editor capability for this field and would happily give that up if I could gain the ability to edit the field via the userlist. Or will I need to create a new field and then migrate the data in a plain text format to the new one? I am hoping it isn't the latter because I have some automatic PHP functions using the original field and it would be easier to simply change the field type and have it become plain text.

Thanks
krileon's Avatar
krileon replied the topic: #293979 6 years 10 months ago
It's deprecated now. In short change your Update On usages in your CB Query Field query select fieldtypes and CB Code Field code select fieldtypes to use the new feature in CB Core Fields Ajax. Next major release of those 2 plugins that functionality will be completely removed. Likely months before that'll happen though to ensure CB Core Fields Ajax can handle those usecases equally and give time for everyone to update. A minor release of CB Core Fields Ajax will likely be released to migrate those settings if possible as well.
activha's Avatar
activha replied the topic: #293964 6 years 10 months ago
Hi
Very nice upgrade :-)
Regarding the deprecation of CB Query Field usage, can you tell me how to check quickly what fields may be related to it in our DB and if there is any change to made prior to the deprecation ?
krileon's Avatar
krileon replied the topic: #293834 6 years 10 months ago
For userlists you'll want to use tooltip or modal usage. The inline usage will cause a conflict as it causes a form within a form. Will be removing the inline option for userlist usage in next release since it basically can't work there.

forge.joomlapolis.com/issues/6631
peli_m's Avatar
peli_m replied the topic: #293829 6 years 10 months ago
I'm so sorry. I use Ajax plugin intensively in profiles and lists and I would like to inform you about some issues detected. Now I understand this is a new release and announcement area, and not a discussion area. The reason of my message is reached, please, could you delete all this thread?

Thank you!
krileon's Avatar
krileon replied the topic: #293804 6 years 10 months ago

1.- When you edit a field in a list, everything seems normal, but when you click on the text box, it links to the user profile. Logically this does not occur if the list is configured as not editable.

The userlist click inside check seams to not be working. Probably missing CSS class. Was able to confirm and have added bug ticket to fix.

forge.joomlapolis.com/issues/6627

You can workaround this by using tooltip or modal usage for userlists, which is better UX for userlist view.

2.- With Userlists View Output -> Tooltip selected, the text "This Field is required" is shown over the text box and it's not possible edit it.

Am unable to confirm. You mean the required icon tooltip is displaying at all times and not going away? Should only show on hover of the required icon. If you've Joomla caching of any kind or JS/CSS compression extensions please be sure to clear all cache and retry.



Please create a support post in the support forums for any further issues. This is not the place to post support requests.
peli_m's Avatar
peli_m replied the topic: #293779 6 years 10 months ago
Thank you, for your answer. I have found some strange behaviors with Ajax and lists:
1.- When you edit a field in a list, everything seems normal, but when you click on the text box, it links to the user profile. Logically this does not occur if the list is configured as not editable.
2.- With Userlists View Output -> Tooltip selected, the text "This Field is required" is shown over the text box and it's not possible edit it.
3.- With Userlists View Output -> Modal. Works fine as expected.
krileon's Avatar
krileon replied the topic: #293692 6 years 10 months ago
The Update On basically causes the edit display of a field to refresh if the field its depending on changes value. This could be a Custom HTML field even. For example if you've Country > State field selection you could have the State field refresh its view when Country changes. Both being CB Query Fields in this case and the State field substituting in the Country field to determine what options to display would receive the new value selected during editing and display the appropriate states based off country selection.

Code & Query fields are going to dessapear?

No, this replaces the Update On usage in CB Code Field and CB Query Field with a significantly more powerful usage.
peli_m's Avatar
peli_m replied the topic: #293656 6 years 10 months ago
Thank you Kyle, great job. Cog template and Tooltip is a great improvement !. But I can't understand the use of B or C Query field refreshing. Does it mean that Ajax changes in a field, other Query or Code field in the same screen is refreshed without refresh all page? I have made some tests and I couldn't get it. Code & Query fields are going to dessapear?

Facebook Twitter LinkedIn