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
-
jacques, I installed ninext almost 2 years ago, I think. Do I need to update the code? If so, do you have instructions for doing this?
-
Hello everyone,
Yesterday, reported a bug related to the "onclick" event in the view fields. It was no longer functioning on tablets and phones. This issue has now been fixed. Many thanks to Philip for bringing this problem to our attention.
Since I had two other ongoing changes, I took the opportunity to release them as well:
1 - Added a delay between successive calls to the debug() function. This allows us to determine the time it takes for a loop or formula to execute. It's particularly useful when dealing with lengthy calculation chains. As an example, thanks to this simple option, I was able to identify a poorly written query and reduce the execution time from 20 seconds to 200 milliseconds.
2 - In the table editing window, I changed the color of the tabs in the field list to distinguish them from the selection color of a field. It might be a small change, but again, it enhances both efficiency and clarity.
All of these updates are now live in version 2.1.22 beta.
-
Hello everyone,
I've just released version 2.1.23.
I've added two features:
1 - Fields operations to duplicate, copy/paste, and delete using shortcut keys directly on the form (in admin mode):
The idea is to easily replicate a field that you've spent time configuring, whether it's in the same table, another table, or even another database.
This function is directly activated if you use the fieldsInspector option in the Ninext initialization settings.
Duplicate: cmd+D (or ctrl+D)
Duplicates the selected field and positions the new field right after it.
Copy/Paste: cmd+C/cmd+V (or ctrl+C/ctrl+V)
Copy the selected field (cmd+C), then select the field after which the new field will be pasted (cmd+V)
Delete: Backspace (or Delete):
Deletes the selected field without having to open the field editor and click the delete button. This is simply a time-saver.
Copying a field from another table:
If Ninext detects that the field comes from another table, it spontaneously offers to add at the header of every script present in the field, a copy of the original script in the form of a comment. This allows for comparing the original script and how Ninox translates it in the new environment of the copied field.
2 - Call Ninox functions directly from an HTML component:
This feature allows for creating interactions and value passing between HTML fields and Ninox dynamically.function test(message : text) do 'Ninox text field' := "Good morning " + #{:text return prompt(message, 'nobody')}# end; html(--- <button id='myButton' onclick='ninext.callNinoxFunction("test", this, "what your name ?")'>Push to try it</button> ---)
function test(message : text) do 'Ninox text field' := "Good morning " + #{:text return prompt(message, 'nobody')}# end; html(--- <button id='myButton' onclick='ninext.callNinoxFunction("test", this, "what your name ?")'>Push to try it</button> ---)
In this example, there are multiple interactions between Ninox and HTML/JavaScript. When the user clicks on the HTML button, the onclick event calls the ninext.CallNinoxFunction with the following parameters: the name of the function in the Ninox script, the HTML field, and one or more additional parameters that will be passed to the Ninox function. Here, only one additional parameter is passed, which is the text 'what your name'.
In the "test" function, we assign to the Ninox field 'Ninox text field' the value returned by the JavaScript prompt function, which takes 'message' as its argument.I am attaching a sample application. Check out the NinoxCallBack table for the two formulas that return HTML fields that communicate with Ninox functions.
I hope these two features will help you create applications more easily and with custom interfaces that use HTML/JavaScript when necessary and Ninox scripts whenever possible.
Have fun ! -
Hello everyone,
I am releasing a patch that brings us to version 2.1.25. It fixes issues with copy/pasting
Fixed :
- Various malfunctions in copy/pasting. When entering text, pressing the 'delete' key prompts a field deletion confirmation window.
- Even if the window is confirmed, no field is deleted. However, it is not possible to delete the text that is being entered.
- After copying a field and moving to enter text in another field, performing a 'copy' will add the field at the top of the page instead of copying the text.
-
Hello,
I just released version 1.2.26 beta of Ninext with the following fixes:
- Fixed: error occurred when callNinoxFunction is called with an object as a parameter. September 29, 2023
- Fixed: copy/paste, if a popup is displayed, copying is not taken into account because Ninext thinks there is an ongoing input window.
- Fixed: copy/paste doesn't work with Page.
- Fixed: Copying a relationship field (1:N or N:1) to another table does not create the reverse link in the other table. Now copying this type of field is prevented.
-
I am really sorry .
Several of you are having issues with the copy/paste function not working in certain configurations, or not working at all. I had tested it on Chrome, Safari, and Firefox on Mac, and on Chrome and Firefox on PC, and everything was working fine .
Following your messages, I looked into what could be causing the issue and found some flaws that might work for certain browser configurations but not for others. I hope this is the root of the problem because, unfortunately, I have not been able to reproduce the issue so far.I have just released version 2.1.27 beta and hope that this will fix your problems.
Content aside
-
17
Likes
- 4 days agoLast active
- 231Replies
- 5407Views
-
38
Following