17

Ninext project

good evening to all, 

I create this post to organize the Ninext project. For those who are new to it, it is composed of several JavaScript modules that allow you to add badges on tabs and buttons, catch selection events on views, execute JavaScript from Ninox script, inspect dependencies between database fields.

This post is here to talk about the project and the procedure for those who would like to implement it in your databases. I would like to take this opportunity to remind you that this is a test project that evolves regularly and I invite you to be cautious and not to use it on commercial databases for the moment.

The sources of the project are available and downloadable on Github
Thanks to all of you for all your messages of support and for your help to debug and make the project progress a little more every day 🙏.

I made the project initiation procedure evolve thanks to the precious help of M. Daaboul who told me that we could use the Ninox dialog box with HTML code. It is no longer necessary to create a window and an HTML field for this. You just have to copy the code below in the Trigger after open in the Options

 

var code := http("GET", "https://raw.githubusercontent.com/JacquesTur/Ninext/main/loadModules.html").result;
dialog("Ninext intialization", "<script>
window.exConfigLoadModules = {
    completion: false,
    badges: true,
    evalJS: true,
    viewEvent: true,
    buttonEvent : true,
    fieldsInspector: true,
    nativeJS: true,

    autoCloseDialog: true
};
</script>" + code, ["close"])

The dialog box will be displayed stealthily then disappear. If you want it to stay displayed with its "close" button, set the autoCloseDialog parameter to false.

231 replies

null
    • Ninox developper
    • Jacques_TUR
    • 1 yr ago
    • Reported - view

    Hello everyone, 

    I have just released version 2.1.3 of Ninext.

    It fixes the bug found by Icarus - Ralf Becker . The error message appeared when the searched value was null:

    Many thanks to Icarus - Ralf Becker who sent me a video that helped me find this bug.

     

    The new version also contains an improvement in the display of the filters. Before it stayed the same width and ended up being hidden when there was not enough space. Now they adapt to the remaining space and always remain visible.

     

    I've also added a feature I've been missing for a long time, searching for text in the code.
    To use it, add codeFinder : true in the Ninext configuration.

    It is also possible to search with a regular expression :

    So I removed the "Native JS" tab that I had put in quickly so that we could find the JS codes. It is now useless.

    There is still one point missing that I need to add soon: searching the code in the main functions and the after open trigger. It's coming soon...

      • Icarus_Ralf_Becker
      • 1 yr ago
      • Reported - view

      Jacques TUR 👍 

    • Icarus_Ralf_Becker
    • 1 yr ago
    • Reported - view

    Hey Jacques, 

    I have one request for improvement and two feature suggestions.

    As you can see in the picture, some longer texts aren't readable. It would be great, if the text could be marked with the cursor for copy&paste. A really game change for translating a Ninox databases would be an CSV export and import in the localization tab. So tools for automatic translation could be used. What do you think?

      • Ninox developper
      • Jacques_TUR
      • 1 yr ago
      • Reported - view

      Icarus - Ralf Becker This is a very good idea 👍. As soon as I have a valid and lasting agreement with Ninox to develop an add-on, I'll take a look at it.

      It should also be taken into account that this input window was made by Ninox, I only made it accessible. This means that Ninox is intended to be multi-language and maybe an international version will be released soon?

      For the time being, and until a development agreement is established with Ninox, I remind you that Ninext remains a prototype and that it is not wise to use it in your professional developments.

    • Ninox developper
    • Jacques_TUR
    • 1 yr ago
    • Reported - view

    Hello every one, 

    There is a new version of Ninext 2.1.9. I publish it here because several modules are impacted.

    DarkMode :

    In agreement with Sean , I have removed DarkMode from Ninext. This allows more dynamic updates for both projects.
    You can find sean's brilliant work here : https://forum.ninox.com/t/q6h0tz3#m1ha55x

    DebugTracer :

    DebugTracer now displays the value type and its original code.

    - Fields & Fx (FieldsInspector) :

    - now the field is also found in the code when used on the JSON variable

    - the Fields & Fx tab is displayed when the database is first loaded,

    - the table and field lists are sorted alphabetically,

    - When you click on the red key button, the code editor opens directly for all codes (previously, the editor was displayed directly for formulas and table view columns),

    - For global functions, the code is scrolled to the function and the other functions are faded out. All codes return to normal opacity after the first code change.

    - Codefinder :

    - Highlights the code found after opening the code editor:

    Many thanks to Icarus - Ralf Becker for helping me track down and fix two bugs:  

    - Langages :

    fixed: custom legends for columns in the view table are systematically replaced by the translation of the field name.

    - Badges : 
    fixed: on the first open record, it is not possible to add a comment. The message "missing parameter: nid" is displayed.

    ...

    I hope all these improvements will help you manage and debug your code more easily 😃.

    • Ninox developper
    • Jacques_TUR
    • 1 yr ago
    • Reported - view

    A new version of Ninext is online : ver 2.1.10.

    - Bugfixed: Yesterday Alan Cooke discovered that the Gantt menu display was distorted by Ninext (see the description of the problem here https://forum.ninox.com/t/q6hawfw/gannt-view-corruption).

    This was due to the filter box management which I had never had the opportunity to test with the Gantt menu. The problem is solved with this new version.
    Thanks to Alan for his patience 🙏.

    - Improvement: now, the red key button of the popup is only grayed out if a modification has been made in the database or in the displayed code. 
    This now allows you to switch from one code to another without having to click on the cancel button in the code editor.

    • Ninox developper
    • Jacques_TUR
    • 1 yr ago
    • Reported - view

    Hello everyone, 

    I have improved the Ninext popup (rev 2.1.12). 

    Now you can dock it at the bottom or right of Ninox window :

    The position of the popup (floating, bottom or right), the width and height of the dock are saved on the local storage. So when you reopen Ninox, your previous settings are loaded.

    Ninox's windows adapt to the width of the dock as best they can, as if the browser were shrunk.

    You no longer have to choose between visibility or debugging information. You can now explore your code without being hindered by the popup in the middle of the screen. 

    Enjoy 😀

    • Ninox developper
    • Jacques_TUR
    • 1 yr ago
    • Reported - view

    I just put rev 2.1.13 of Ninext on line to correct tow things :

    - fixed the dock's splitter don't work on Ipad or IPhone.

    - following a pertinent remark from Maurice : the visibility of the popup is recorded on the local storage. This allows you to know if it should appear directly when you click on the admin button or not. The first time, it does not appear automatically.

    • Ninox developper
    • Jacques_TUR
    • 1 yr ago
    • Reported - view

    I just published the version 2.1.14 of Ninext with this corrections :

    -fixed: on the Ninext popup, the icon representing the field type is sometimes not the right one.
    -fixed: in the list of results in codeFinder, the links to other fields do not appear. 

      • Rafael Sanchis
      • Rafael_Sanchis
      • 1 yr ago
      • Reported - view

      Jacques TUR Hi Jacques never use Nunez which is procedure to install it.

      • Ninox developper
      • Jacques_TUR
      • 1 yr ago
      • Reported - view
    • Icarus_Ralf_Becker
    • 1 yr ago
    • Reported - view

    Hi Jacques, since today Ninext have a very long loading time and Ninext ignores the loading parameters of the initialization. It loads a couple of modules, doesn´t matter if the parameter is set true or false, and it doesn´t autoclose the dialog. Maybe you can check this. Thank you. 

      • Ninox developper
      • Jacques_TUR
      • 1 yr ago
      • Reported - view

      Icarus - Ralf Becker 

      Thanks for the information Ralf, we'll try to figure out what's going on. 

      From my side, everything seems to work quite well. I have version 2.1.14 and when I delete modules, they are no longer loaded. In the example below, I just asked for NativeJS : 

      I did this test on the cloud with Ninox 3.8.11.
      Can you remind me what platform you are working on and tell me what configuration you give to Ninext and what message appears on the screen?

      • Icarus_Ralf_Becker
      • 1 yr ago
      • Reported - view

      Jacques TUR Hey Jacques, thank you for your fast response.  During I would like to make some screenshots for you, the issue is gone and everything is fine again. I have no clue, what the reason was. Really strange.

      • Ninox developper
      • Jacques_TUR
      • 1 yr ago
      • Reported - view

      Icarus - Ralf Becker I make on update just now, perhaps in same time that you made screenshot ?
      If you wish, you can try the previous version by indicating the desired version number in the call to Ninext :

      var res := http("GET", "https://www.ninext.fr/_functions/ninext",{ version: "2.1.14"})
      

      I have put in this option so that you can control the version number loaded. This way, if an update is too many bugs, you can always continue working with a previous version of your choice.

    • Ninox developper
    • Jacques_TUR
    • 1 yr ago
    • Reported - view

    I published one update, version 2.1.15 with some fixe : 

    - fixed : After hiding or showing the docked popup, the side editor is incorrectly sized.

    - fixed : in the event of a recurring call, Ninox freezes.

    - fixed : if config is without fieldsInspector and debugTracer and errorsViewer and codeFinder, Ninext crash on loading.

    -improved: in order to avoid unnecessary search time on a part of the text, CodeFinder result list is updated only after the search text field has been output.

    I think it will fixe the issue founded by Icarus - Ralf Becker  and other users.

      • Icarus_Ralf_Becker
      • 1 yr ago
      • Reported - view

      Jacques TUR you are amazing and as fast as one could be. Really great. 👏

    • Ninox developper
    • Jacques_TUR
    • 1 yr ago
    • Reported - view

    Hi everyone, 

    I released the version 2.1.16 of Ninext with the follow updates : 

    - fixed : the language menu is not displayed when the user clicks on the language button.

    - fixed: sometimes NativeJS code is compiled before NativeJS is installed and this leaves a false compile error. I added database.resetSchema() at the end of the ninex initialization to solve this problem.

    - fixed : in list of code in Ninext popup, when code found contains HTML code, it's interpreted and not displayed.

    - fixed : when the browser window is resized, the size of the views does not adapt correctly and the end of the list does not appear.

    Good use 😊

    • chris.8
    • 1 yr ago
    • Reported - view

    First of all, thank you very much for the great extensions for Ninox!

    However, I have the following problem with the Fields and FX as well as the Finder function. Unfortunately, not all functions are found. Is there anything I need to be aware of?

    I wanted to clean up my database a bit and delete unused functions. Then I saw that they were still being used in a few places. Ninext did not show me this before.

      • Ninox developper
      • Jacques_TUR
      • 1 yr ago
      • Reported - view

       Thanks, this will help me to improve Ninext.
      Can you tell me more about the functions not found? Where are they declared and where are they used and not found?

      • chris.8
      • 1 yr ago
      • Reported - view

       

      These are global functions that are executed in various tables via triggers on a function field. I have implemented various buttons per function field to make it easier to style them later and to add icons.  

      • Ninox developper
      • Jacques_TUR
      • 1 yr ago
      • Reported - view

       

      Would you be able to reproduce the problem? If so, it will be very valuable for me to have an example to fix this bug.
      If not, can you share with me the code of the global functions and the one in the formulas?

      Can you also confirm that you are using version 2.1.16 of Ninext?

      • chris.8
      • 1 yr ago
      • Reported - view

       

      Yes, Version is 2.1.16.

      The definition of the global functions are visible in ninext. However, not the call of the functions in triggers of a function field. 

      • Ninox developper
      • Jacques_TUR
      • 1 yr ago
      • Reported - view

       It's not easy to fix a bug without being able to reproduce it. When you talk about formula triggers, are you talking about the code that is in "Formula", "onClick" or "Display field only, if"?

       Already I see that the code that is in onClick is not found by exFinder.

      • chris.8
      • 1 yr ago
      • Reported - view

       

      yes, that's exactly what I meant.

Content aside

  • 17 Likes
  • 2 days agoLast active
  • 231Replies
  • 5406Views
  • 38 Following