-
-
Notifications
You must be signed in to change notification settings - Fork 178
068 Library Manager Anticipated Functionality
I would like to talk about the expected or anticipated New Library featured it's being added I'm still in the development phase of this I've been working on the UI Which really is just how I anticipate it should function It's not yet set in stone Because I have not yet started Adapting the compiler to make use of the This new feature But it is anticipated to actually eventually Become More fixed and Steady So I wanna basically illustrate 2 things What is it We have this Bootstrap library Set up now This Bootstrap library the specific name here Is linked Too many many Snippets And so it it can never change even I've made it that even if you try to change it Can you click save You know it will actually revert back to the correct name That's only with regards to libraries that already become part Of the Joomla Component Boulder Community Snippets libraries So Everytime We have new libraries contributed To the community Then That library will is its name Will become fixed So It cannot be changed A little way of protecting the system from Uno collapsing on itself Because if people could just change these things in their own JCB Then It could end up making so many confused Results Anyone What they still can change is the way that the library is actually Add it Components I currently I said it up that it basically links to this to your house And it has this always had But that means On every page where Bootstrap 4 is being used It was always had These Files Now we might later see when you Miller for is released that there are some local gym Miller for libraries we would rather use like you you have for jQuery at this stage If you wanna use jQuery on a page you wouldn't do this kind of inclusion YouTube ID rather use the internal jumilla API to get those libraries on the page And for that I added this custom script option Adult two places where in in in in every view there are two types of functions used To add The Specific library to the page The one function is this prepare document function And the other one is set document And the one function uses the document Directly Variable naming And then add script because it actually adds document to the document variable The other one grubs up on a global document variable And it's really based on The fun which class it is inheriting and so forth So they are basically there for two methods Being used to adding the custom or the library to any page And so when you Use this custom script option You would Target These two features or three functions or methods Cross method Which will then adequately be Vailable For every A page that makes use of this library The other one is a conditional option Never conditional option is the better option really Because this one Would actually adapt The code On the basis of the the implementation Review So here you would select the files that you have Include and you would say whether it include or exclude You obviously if you select exclude It means I always included Unless these behaviours that you gonna set up we here Is actually you know Yeah if it if it is Successful A valid Now those of you who know the conditional concept within fields This I just taken that same cond concept And I'm now just applying it on adding Or not adding a file So it's really very much the same to you still have this isolate with train option And the reality is you can now There are no conflict Fields yet you need to first go here and create a conflict Field No config field is really an existing Field that you've already created Before coming here so I haven't saved This as a condition so I'm just gonna put You say that And then I'm gonna go here to edit And you'll see The config library if I click on it here I basically can select Any field out of my A whole list of fuel so I've already made one just for house illustration Bootstrap 4 Radio And That's really the field I wanted to be in the library tab So this again is very much similar to the component Config options area Set now we are selecting fields for the library which will it affect be added to the components Global Options area Ok so let's save and close here Now we'll see in this drop down at Hatfield comes up here If we select it That feels have two options yes or no So if this library and that Library File we wanna include it When add Bootstrap button is set to Yes So here is a selection option Now so that's the conditional way of doing So basically have 4 We will at this stage with i3 24 ways of Actually adding the the fields onto the page The reason why this condition or 1 Is not being shipped This way the moment Because I'm not shipping these fields And The whole idea of You know creating a field on all of those who In all the systems of those who used JCB Ice I'm still pondering whether I should write a script To do that So it's that's really the issue if If we shipped this as the The standard way of including the Bootstrap libraries Then I will need to create a sad Bootstrap version for field On every system And then link it in here with correct ID And So I haven't I haven't actually done that Like I said We are now looking at how can we do this We wanna make this dynamic Because now let's say someone Has a specific File The day so let me just save this David specific file Which If if someone is using Bootstrap and they wanna add a specific extra feature and I need more More JavaScript on the page You know they could create that file Click here By going to add new files I know let's say it's a local file they could click here They can collect Any file of just gonna make it Any file And just like with a component in clude When you add custom files to your component You have a tame feature really here except you can also use you or else So it's the same custom adding of files or folders So now you want to have this Bootstrap Mini GS In the media Boot Strap Bootstrap 4 there we go You wanted in that folder J s That's really where you want to put this file And you don't want the file itself to be updated I'm that far maybe wanna keep And you want to have it available to the library Now you click save and close So now if we look here we'll see now there is a file called Bootstrap mini dot dress But you don't want to always be included You wanted to be included only if there is a specific Switch Tripped On on this Use of this file The idea is now that you would go to the conflict library And you create a new field And Let's say that this new field is Let's say I'm just gonna use a giraffe one Add more And Obviously it should be more related to Bootstrap but just for explanation Then you would say that specific field Is this cases This one Should When ad Morissette yes Then it should be Added Now That is worse far as I've come to Sort of Think about Implementing These kind of features Dynamically She previously I wrote all this hard code it right into the compiler And based on its own automated Observation of the You Know You Like It version 2 If it sounds specific class is a dynamically added files on didn't add files Now I'm thinking that If you wanna be so Customised and dynamic then you won't use the conditional option you'll rather use the custom script option You still have these two buttons That you can then use The global Values of You can still get those values In the scripture And Act upon it in the loading the libraries with custom script me now I I did some Prep on that kind of a protea in Urine food table It's actually Says here This food table style So You need to now Action line up a field value With food table style And then it will dynamically add the specific CSS classes To the Come to the table to the page For both this prepared document And for Set document So you have At always then you have at conditions Or custom script Let me just say another thing about the condition option The condition of shin I'm pondering Weather this condition option should have a global value And also a page value See if it have a page value Then you can override the global value with the page value So it's almost like if we detect That let's say boots that before Is being used in a specific View And that view has a menu Then dynamically will add to that menu The function of these buttons As well as having it added up into the global options of the component itself Solal B Global options And the page will fall back on to the global options Unless someone with manually override that in the because when when is that usually the case If they have another library or another component That already loads the files And they wanna excluded from the page because it's already there And that's why I'm thinking about You know having it on the page as well as globally And if you feel well I don't want to use it to really decide whether these You know Libraries Should Ever Be on the page well then in that case had always And then these files will Including this one Will always be added to the page And we will take care of the script The code to achieve that And now I was also thinking if we Wanna have some files only be added always then Then it is the files that you do not actually You know If you want Free sample if you want These two files to be always added Then within conditions you will only create a condition For the files you want to have a condition for So that the files that is not being targeted by conditions Will automatically always be at it Anyway That is at this stage some of the thoughts I have I'm thinking I'm gonna Say that if any of you wanna give more ideas Then grab out your screen recorder Open this page And talk through and explain some things In a little Pretoria land Post it on YouTube as a response to this tutorial Or go to our get out discussion area You know we are busy Weather Discussion here On GitHub Easter 90 2 Bootstrap or Universe or UI kit Version 3 or Bootstrap option It's in this issue that this long discussion is going on And where this whole library idea is actually Forming and Expanding your see already typed a little response yet I wanna post With this tutorial that I'm making as a URL So Really what I would like to say is I'm busy Trying to Answer this new functionality And This is the way I've gone about doing it at this stage And I I know that these Libraries that are already in our a component Bootstrap UI kit and food table I'm gonna end up Adding enough information for these libraries So did they all just work out of the box That's gonna be my responsibility to To put all the necessary Code and scripting and everything in place So that this option will just work All them And just when someone wants to expand on them Will they need to do so But it is obviously a once off situation Once I've implemented this new feature and set these functions and Properties in place And people make it that patience to it I cannot update it again And so having enough input I think about all possible angles And to approach this in a way that really makes it dynamic and really doesn't overcomplicate things Is really what I'm trying to achieve although that seems difficult Anyway This is just a heads up tutorial Looking at how to Use the new libraries area And obviously if you want a specific functionality in Bootstrap 4 You cannot now create a new Bootstrap 4 library With new files you need to expand on the existing one And that's the whole point We wanna make it that the existing library can be adapted and changed An improved At this stage that adaptation in a was improvements will only be relevant to the one who's doing it And so that might be something we were gonna think about We gonna And you you should talk about would we want everybody to share their adaptations Or will we just set the stage with your regional at the patient and then whatever changes they make is up to them Anyway this is a Again a tutorial I just made In the outset of this new functionality Looking and asking please give me feedback And let me know what you think Thank you
- Home
- Beta Testing
- Custom Code
- PHP Settings
- Demo Component
-
Tutorials
- Hello World JCB
- Intro JCB Guide
- JCB Installation Steps
- Planning Components
- Field Type Overview
- Basic Fields Creation
- Admin View Management
- Advanced Field Usage
- Admin Component Integration
- Component Setting Customization
- Scripting Components
- Component FTP Options
- Dynamic Get Method
- Site View DynamicGet
- Site View Templates
- Template Setup Guide
- Layout Configuration Steps
- Custom Admin Management
- Adding Site Views
- Custom Admin Integration
- MySQL Demo Tweaking
- Global JCB Settings
- Custom Time Field
- User Helper Integration
- Email Helper Usage
- Message Store Email
- List View Unescape
- Export Import Customization
- Overwrite Custom Fields
- List Field Filtering
- Automatic Code Import
- Manual Code Implementation
- Component Export Import
- Custom Admin Buttons
- Translation Management
- Site View Permissions
- Component SQL Updates
- Site Edit Configuration
- JCB Backup System
- Helper Structure Integration
- JCB v2.5 Upgrade
- Tab Setup Guide
- JCB v2.6 Release
- Extended HelloWorld
- Field Rule Validation
- Community Snippets Intro
- Snippet Forking Tutorial
- Pull Request Snippets
- Library Manager Area
- Excel-based Translation
- Dynamic Router Details
- Database Auto Updates
- Subform Quick Demo
- VDM Package Import
- Dynamic File Inclusion
- File Field Upload
- Drag-n-Drop Upload
- Quick HelloWorld JCB
- Non-database Fields
- Dashboard Customization
- Menu Prefix Toggle
- Community JCB Packages
- Collaborative JCB Workflow
- JCB Package Install
- JCB JAB18 Event
- Convenient New Fields
- Component Language Strings
- Library Functionality Anticipation
- Join Field Relations
- License Template Change
- Code Reusability
- Local Dev Environment
- Extended Field Types
- Joomla Custom Fields
- Custom Field Expansion
- Site View Listing
- Run Expansion Method
- Form Site View
- Field URL Update
- Additional Helper Methods
- Field Validation Rules
- New Placeholder Feature
- Component Config Params
- Per-field Default Values