Other Subscribe to B4J library updates

alwaysbusy

Expert
Licensed User
Longtime User
BANano v2.08

CHANGES:

1. Better handeling for removing elements + events: see question https://www.b4x.com/android/forum/threads/banano-how-to-maintain-element-events.101616/

2. BANanoElement has a new metod Get(). This makes it easier to get an element when using Append() etc...

Example from the BANanoSkeleton library:
B4X:
mElement = mTarget.Append($"<button id="${mName}" class="${mFlavor} ${mClasses}" style="${exStyle}${mStyle}">${BANano.SF(mText)}</button>"$).Get("#" & mName)

3. BANano new method: SetMeToNull which does the same as 'Me = null' (something unfortunately can not be typed in the B4J IDE).

4. Update custom view template

5. Bug fixes in the transpiler

Download https://www.b4x.com/android/forum/threads/banano-progressive-web-app-library.99740/#post-627764

Alwaysbusy
 

alwaysbusy

Expert
Licensed User
Longtime User
BANano v2.09

CHANGES:

1. NEW: BANano.GetElements() to get an array of elements matching the selector. BANano.GetElement() still exists if only one will be returned (e.g. by using a #id)

2. NEW: BANano.CallSub (similar to B4J callSub)

3. CHANGED: BANano.RunInlineJavascriptMethod is now just RunJavascriptMethod. The old name still works but may be depreciated in the future.

4. NEW: BANanoLibrary wrapper for Sweet Alert 2. As this is an independent library (does not rely on any framework) this is the perfect example to demonstrate some new things and how to wrap a javascript library.

5. NEW: BANano.RunThenCatchJavascriptMethod: like BANano.RunJavascriptMethod but with Then and Catch callbacks. See the BANanoSweetAlert library for an example usage.

6. FIX: Dim with multiple variables was broken (Dim var1, var2, var3 as String)

7. .IsInitialized will now always return true and is not part of the object anymore (like a Map or a List). Kept for B4J compatibility only.

8. Other bug fixes in the transpiler

Download:

https://www.b4x.com/android/forum/threads/banano-progressive-web-app-library.99740/#post-627764

Alwaysbusy
 

Tayfur

Well-Known Member
Licensed User
Longtime User

alwaysbusy

Expert
Licensed User
Longtime User
BANano 2.15

CHANGES:

1. Support for B4J Type e.g. Type Person(Name As String, Properties As Map, Scores(10) As Int)

2. Support for NumberFormat and NumberFormat2

3. BANano.Sleep() is now just B4Js normal Sleep(). BANano.Sleep() will be depreciated in the future.

4. BANano.GetType() and BANano.TypeOf are now just B4Js normal GetType(). Both BAnano functions will be depreciated in the future.

5. BANanoSQL new method .ExecuteCallBack(). See for more info: https://www.b4x.com/android/forum/t...anosql-with-own-callbacks.101920/#post-639714

6. BANanoSkeleton added SKRange, SKRadio, SKSwitch and SKNaviagationBar.
All views now have a Visibility property.

IMPORTANT:
- BANanoSkeleton_Files.zip contains new files. If you use it already in a project, you must copy the new files in your projects Files folder.
- Open all your layouts and save them so the new property Visible will be saved in the layout.

7. Bug fixes in the Transpiler

Download: https://www.b4x.com/android/forum/t...rogressive-web-app-library.99740/#post-627764

Alwaysbusy
 
Last edited:

alwaysbusy

Expert
Licensed User
Longtime User
BANano 2.17

CHANGES:

1. NEW: support for Sender. @Kiffi had the brilliant insight on how I could implement the B4J Sender keyword. This gives BANano a huge potential boost.

e.g.

Without Sender:
B4X:
   Sub MultiButton_Click (event As BANanoEvent)
       Dim Ret As Long = BANano.GetSuffixFromID(event.ID)

       Dim Allviews As Map = BANano.GetAllViewsFromLayoutArray("MultiLayout", Ret)
       If Allviews <> Null Then
           Dim mButton As SKButton = Allviews.Get("multibutton") ' always lowercase
           mButton.Text = "Multi Button changed!"
       End If
End Sub

With Sender:
B4X:
   Sub MultiButton_Click (event As BANanoEvent)
       Dim MultiButton As SKButton = Sender
       MultiButton.Text = "Multi Button changed!"
End Sub

2. Because of the new Sender keyword support, the BANanoSkeleton library has been updated:

These events definition have changed:

B4X:
   'Sub RadioTest_Change (event As BANanoEvent, radio As SKRadio)
   Sub RadioTest_Change (event As BANanoEvent)
       Dim radio As SKRadio = Sender

B4X:
   'Sub SKSwitch1_Change (event As BANanoEvent, switch As SKSwitch)
   Sub SKSwitch1_Change (event As BANanoEvent)
       Dim switch As SKSwitch = Sender

3. New BANanoObject property which allows you to get the result of a GetField() or GetMethod() call:

B4X:
   Dim myArray() As Int
   myArray = bObjekt.RunMethod("values", Null).Result

4. For getting the Url params I made a couple of new methods:

B4X:
   ' get the current url
   Dim url As String = BANano.GetCurrentUrl
   Log(url)

   ' gets a Map with all the params
   Dim m As Map = BANano.GetURLParams(url)
   Log(m.Size)
   For i = 0 To m.Size - 1
       Log(m.GetKeyAt(i) & " = " & m.GetValueAt(i))
   Next

   ' get one param: if not exists return the default value
   Log(BANano.GetURLParamDefault(BANano.GetCurrentUrl, "test", "Alain"))

5 NEW method BANano.Exists(target) which returns if the target exists in the html (can be an ID, class, tag)

6. Fixes for Transpiling a String/StringBuilder in some rare cases

Download:

https://www.b4x.com/android/forum/threads/banano-progressive-web-app-library.99740/#post-627764

Alwaysbusy
 

Tayfur

Well-Known Member
Licensed User
Longtime User
jPictureBox Verison 1.0 (new release)

Hello all;

This is as image viewer. it can enlarge or reduce the size of the pictures. It can rotate pictures to the right or left. You can also make full screen.The Contex menu is available in the menu itself, but you can add your own.

I added an example; its very simple and clear.


For more informations:
https://www.b4x.com/android/forum/threads/b4x-jpicturebox-rotate-zoom.102086/
 

Tayfur

Well-Known Member
Licensed User
Longtime User

Tayfur

Well-Known Member
Licensed User
Longtime User
jPicturebox
UPDATE 2.0


Now its support MOVIE

This is as image and basic movie viewer. it can enlarge or reduce the size of the pictures and movies. It can rotate only pictures to the right or left. You can also make full screen.The Contex menu is available in the menu itself, but you can add your own.

I added an new example; its very simple and clear.

News 2.0:
  • basic control video : zoom
  • adding video method
  • adding media method
  • max/min ratio limits added
  • some bugs fixed
  • icon sets declared
For more informations:
https://www.b4x.com/android/forum/threads/b4x-jpicturebox-rotate-zoom.102086/
 

alwaysbusy

Expert
Licensed User
Longtime User
BANano 2.19

CHANGES:


1. Fix for bug in release mode for #if CSS commenting out all generated Javascript after it.

2. Support for #ExcludeFromLibrary. Modules having this tag set to true will not be compiled into the BANano library.

3. Fix for bug 'OR' between two String functions:

e.g. previously failed:

B4X:
   Dim myString As String = "Foo"
   If myString.ToLowerCase.Contains("foo") Or myString.ToLowerCase.Contains("bar") Then
       Log("!")
   End If


4. Fix for List AddAll(), AddAllTo()

5. BANanoObject.Initialize2() second param can now also be an Array. This makes it possible to do this:

In Javascript:
B4X:
   var myGraph = new Dygraph(div, data);

BANano:
B4X:
   DygraphObject.Initialize2("Dygraph", Array(div, data))

6. Support for BANanoPromise. See this tutorial: https://www.b4x.com/android/forum/threads/banano-working-with-promises.102413/

7. Other Transpiler fixes

8. Oh and I forgot: I made 3 shortcut methods on the BANanoElement:

.GetField
.SetField
.RunMethod

All three are BANanoObject methods, now also available on BANanoElement as shortcuts.

So you can do:

B4X:
Dim UploadedFiles() As String = BANano.GetElement("#fu").GetField("files").Result

instead of having to do (both still work):
B4X:
Dim UploadedFiles() As String = BANano.GetElement("#fu").ToObject.GetField("files").Result

I hope this will help confused users who do not always understand when to switch from BANanoElement to BANanoObject.

Download:

https://www.b4x.com/android/forum/threads/banano-progressive-web-app-library.99740/#post-627764

Alwaysbusy
 
Last edited:

alwaysbusy

Expert
Licensed User
Longtime User
BANano 2.25

CHANGES:

1. GetViewFromLayoutArray() and GetAllViewsFromLayoutArray() has now an extra first parameter to allow adding the B4J class where the layout was loaded.

2. New params to config the paths for a build:

SCRIPTS_FOLDER
ASSETS_FOLDER
STYLES_FOLDER

3. BANanoSkeletonCSS added some properties. You will need to copy the new Library to your Additional Libraries folder if you have already used it.
the CSS file was also changed.

4. New example Website with multiple pages. I made two versions, one using a Router, one without a Router.
IMPORTANT: they need to run on a real server (or e.g. the Chrome Server plugin!)

It is a real world example I wrote for a friend of mine who ownes a B&B.

Demonstates:
- multi-pages
- multilingual supports
- browsers Back/Forward buttons support.
- floating navigation bar

It is ridiculous how little programming I had to do to make his site. Finished the whole thing in a morning. :)

Both examples are heavily commented.

5. The following Javascript DOM objects have been wrapped:

BANanoWindow
BANanoHistory
BANanoLocation
BANanoGeoLocation/BANanoGeoPosition (https only)
BANanoConsole
BANanoNavigator
BANanoScreen

Some are used in the examples in (4)

6. BANanoObject has been extended with:

AddEventListener
ClientLeft/Top/Width/Height
OffsetLeft/Top/Width/Height
ScrollLeft/Top/Width/Height

7. Other transpiler fixes.

Download: https://www.b4x.com/android/forum/t...rogressive-web-app-library.99740/#post-627764

Alwaysbusy
 
Last edited:

Tayfur

Well-Known Member
Licensed User
Longtime User
jPDFviewer 1.3

For detailed info :
https://www.b4x.com/android/forum/threads/b4x-jpdfviewer.102750

Hello everbody;

I was looking for a PDF viewer for a long time. I tried "http://viewerjs.org/", but I didn't get the result I wanted exactly. or I failed.
After I discovered PDF.js.
Finally I made a B4Xlib for PDF viewer. jPDFviewer library is based on github project.
I know... The method I use can be a little foolish. But its works. ;)

HAVE A FUN...

Source:


RELEASE NOT:
Version 1.3

  • adding zoom function on ShowPDF
  • pdf.js files are not embedded in the library.After that you can download the original files from GITHUB and use them in your project.
  • shared server (other views's properties must be false like under below )
 

Star-Dust

Expert
Licensed User
Longtime User
jSD LiquidProgress (bar) rel 0.01
Video1.gif
 

moster67

Expert
Licensed User
Longtime User
[B4X Tool] - B4XIDEViewer V. 1.0

What is B4XIDEViewer?
-It’s a B4X Tool which can show bitmaps, images and saved pictures from your B4XIDE on your computer. You can also play video and audio files present on your device. You can show and search huge text files, show PDFs, GIF-images and more….

To download and for further information, see this thread:
https://www.b4x.com/android/forum/threads/b4x-tool-b4xideviewer-v-1-0.103592/
 

moster67

Expert
Licensed User
Longtime User
B4J IDEViewer Client Library for B4XIDEViewer
https://www.b4x.com/android/forum/threads/b4j-ideviewer-client-library-for-b4xideviewer.103595/

What is B4XIDEViewer?
-It’s a B4X Tool which can show bitmaps, images and saved pictures from your B4XIDE on your computer. You can also play video and audio files present on your device. You can show and search huge text files, show PDFs, GIF-images and more….

See this post further information and for downloading the app:
https://www.b4x.com/android/forum/threads/b4x-tool-b4xideviewer-v-1-0.103592/
 
Top