From 5a74f99a3ef3376797bafb04b51161bf21dd8e15 Mon Sep 17 00:00:00 2001 From: saadnoor salehin Date: Thu, 2 Dec 2021 18:13:00 +0100 Subject: [PATCH 01/24] webcomponents added as submodule --- .gitmodules | 3 +++ web-components | 1 + 2 files changed, 4 insertions(+) create mode 100644 .gitmodules create mode 160000 web-components diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 00000000..47ee2bf7 --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "web-components"] + path = web-components + url = https://github.com/BasisHub/web-components diff --git a/web-components b/web-components new file mode 160000 index 00000000..a9e5e41e --- /dev/null +++ b/web-components @@ -0,0 +1 @@ +Subproject commit a9e5e41ed788cca392e94ac403ace46767c38edf From 97e94d56e735644eeda689f51d2c2b961c12093c Mon Sep 17 00:00:00 2001 From: saadnoor salehin Date: Tue, 7 Dec 2021 00:48:38 +0100 Subject: [PATCH 02/24] add - successful test implementation of avatar icons. --- framework/LoginDialog/LoginDialogWindow.bbj | 12 ++++++++++++ web-components | 2 +- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/framework/LoginDialog/LoginDialogWindow.bbj b/framework/LoginDialog/LoginDialogWindow.bbj index fca09c76..191c93cb 100644 --- a/framework/LoginDialog/LoginDialogWindow.bbj +++ b/framework/LoginDialog/LoginDialogWindow.bbj @@ -26,6 +26,18 @@ class public LoginDialogWindow extends BBjWidget #loginDialog! = loginDialog! #content! = wrapper!.addChildWindow(wrapper!.getAvailableControlID(),0,0,0,0,"",$00108800$,BBjAPI().getSysGui().getAvailableContext()) #content!.setDockStyle("padding","56px 44px") + HtmlView! = #content!.addHtmlView(101,0,0,300,300,"") + rem HtmlView! = #content!.addHtmlView(101,0,0,300,300,"

Salehin

") + ch=unt + rem open (ch)"WebKit/framework/LoginDialog/test.js" + open (ch)"WebKit/web-components/mybuild/hudai.js" + read record (ch,siz=5512000)content$ + close (ch) + + + script$ = script$ + content$ + HtmlView!.executeScript(script$) + rem ClientUtil.consoleLog(content$) methodend diff --git a/web-components b/web-components index a9e5e41e..20bc959d 160000 --- a/web-components +++ b/web-components @@ -1 +1 @@ -Subproject commit a9e5e41ed788cca392e94ac403ace46767c38edf +Subproject commit 20bc959df65cc28a3a94d025f35016da92df8f75 From 819fe75b351c95ea9c585a64f3a475285d891b60 Mon Sep 17 00:00:00 2001 From: saadnoor salehin Date: Fri, 10 Dec 2021 13:15:41 +0100 Subject: [PATCH 03/24] Fix - get library via npm cdn --- framework/LoginDialog/LoginDialogWindow.bbj | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/framework/LoginDialog/LoginDialogWindow.bbj b/framework/LoginDialog/LoginDialogWindow.bbj index 191c93cb..45255d8b 100644 --- a/framework/LoginDialog/LoginDialogWindow.bbj +++ b/framework/LoginDialog/LoginDialogWindow.bbj @@ -26,17 +26,30 @@ class public LoginDialogWindow extends BBjWidget #loginDialog! = loginDialog! #content! = wrapper!.addChildWindow(wrapper!.getAvailableControlID(),0,0,0,0,"",$00108800$,BBjAPI().getSysGui().getAvailableContext()) #content!.setDockStyle("padding","56px 44px") - HtmlView! = #content!.addHtmlView(101,0,0,300,300,"") + HtmlView! = #content!.addHtmlView(101,0,0,300,300,"") rem HtmlView! = #content!.addHtmlView(101,0,0,300,300,"

Salehin

") ch=unt - rem open (ch)"WebKit/framework/LoginDialog/test.js" open (ch)"WebKit/web-components/mybuild/hudai.js" read record (ch,siz=5512000)content$ close (ch) - script$ = script$ + content$ - HtmlView!.executeScript(script$) + rem script$ = script$ + content$ + testScr$ = "var my_awesome_script = document.createElement(""script"");" + rem testScr$ = testScr$ + "var js = ""./test.js"";" + + rem testScr$ = testScr$ + "my_awesome_script.setAttribute(""src"",""../web-components/web-component.esm.js"");" + testScr$ = testScr$ + "my_awesome_script.setAttribute(""src"",""https://cdn.jsdelivr.net/npm/webkit-web-components@0.0.2/dist/web-component/web-component.esm.js"");" + + testScr$ = testScr$ + "my_awesome_script.setAttribute(""type"",""module"");" + + + testScr$ = testScr$ + "document.head.appendChild(my_awesome_script)" + rem print testScr$ + rem escape + + + HtmlView!.executeAsyncScript(testScr$) rem ClientUtil.consoleLog(content$) methodend From fc628692afc7c38502817e06f941149a02df15ad Mon Sep 17 00:00:00 2001 From: saadnoor salehin Date: Fri, 10 Dec 2021 13:21:12 +0100 Subject: [PATCH 04/24] Removed submodule --- .gitmodules | 3 --- web-components | 1 - 2 files changed, 4 deletions(-) delete mode 160000 web-components diff --git a/.gitmodules b/.gitmodules index 47ee2bf7..e69de29b 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,3 +0,0 @@ -[submodule "web-components"] - path = web-components - url = https://github.com/BasisHub/web-components diff --git a/web-components b/web-components deleted file mode 160000 index 20bc959d..00000000 --- a/web-components +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 20bc959df65cc28a3a94d025f35016da92df8f75 From 2b9e0a3ef6954d62c079c34bdd0b7a9d5a51055d Mon Sep 17 00:00:00 2001 From: saadnoor salehin Date: Fri, 10 Dec 2021 13:29:37 +0100 Subject: [PATCH 05/24] Fix - submodule trace removal --- .gitmodules | 0 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 .gitmodules diff --git a/.gitmodules b/.gitmodules deleted file mode 100644 index e69de29b..00000000 From d79338946088c831b312724963ef4629cc969d7b Mon Sep 17 00:00:00 2001 From: saadnoor salehin Date: Fri, 10 Dec 2021 19:49:03 +0100 Subject: [PATCH 06/24] Add - avatar icon full implementation --- framework/LoginDialog/LoginDialogWindow.bbj | 25 +------------ .../components/DrawerFooter/DrawerFooter.bbj | 4 +-- .../WebComponents/AvatarIcon/AvatarIcon.bbj | 33 +++++++++++++++++ widgets/WebComponents/WebComponents.bbj | 35 +++++++++++++++++++ .../common/CircularAvatar/CircularAvatar.bbj | 27 ++++++++++++-- 5 files changed, 96 insertions(+), 28 deletions(-) create mode 100644 widgets/WebComponents/AvatarIcon/AvatarIcon.bbj create mode 100644 widgets/WebComponents/WebComponents.bbj diff --git a/framework/LoginDialog/LoginDialogWindow.bbj b/framework/LoginDialog/LoginDialogWindow.bbj index 45255d8b..569e95bb 100644 --- a/framework/LoginDialog/LoginDialogWindow.bbj +++ b/framework/LoginDialog/LoginDialogWindow.bbj @@ -2,6 +2,7 @@ use ::BBjWidget/BBjWidget.bbj::BBjWidget use ::WebKit/widgets/InputField/InputField.bbj::InputField use ::WebKit/widgets/InputField/extensions/PasswordField.bbj::PasswordField use ::WebKit/widgets/InputField/extensions/TextField.bbj::TextField +use ::WebKit/widgets/WebComponents/WebComponents.bbj::WebComponents use ::WebKit/util/ClientUtil.bbj::ClientUtil use ::WebKit/framework/LoginDialog/LoginDialog.bbj::LoginDialog @@ -26,31 +27,7 @@ class public LoginDialogWindow extends BBjWidget #loginDialog! = loginDialog! #content! = wrapper!.addChildWindow(wrapper!.getAvailableControlID(),0,0,0,0,"",$00108800$,BBjAPI().getSysGui().getAvailableContext()) #content!.setDockStyle("padding","56px 44px") - HtmlView! = #content!.addHtmlView(101,0,0,300,300,"") - rem HtmlView! = #content!.addHtmlView(101,0,0,300,300,"

Salehin

") - ch=unt - open (ch)"WebKit/web-components/mybuild/hudai.js" - read record (ch,siz=5512000)content$ - close (ch) - - - rem script$ = script$ + content$ - testScr$ = "var my_awesome_script = document.createElement(""script"");" - rem testScr$ = testScr$ + "var js = ""./test.js"";" - - rem testScr$ = testScr$ + "my_awesome_script.setAttribute(""src"",""../web-components/web-component.esm.js"");" - testScr$ = testScr$ + "my_awesome_script.setAttribute(""src"",""https://cdn.jsdelivr.net/npm/webkit-web-components@0.0.2/dist/web-component/web-component.esm.js"");" - - testScr$ = testScr$ + "my_awesome_script.setAttribute(""type"",""module"");" - - - testScr$ = testScr$ + "document.head.appendChild(my_awesome_script)" - rem print testScr$ - rem escape - - HtmlView!.executeAsyncScript(testScr$) - rem ClientUtil.consoleLog(content$) methodend diff --git a/widgets/Drawer/components/DrawerFooter/DrawerFooter.bbj b/widgets/Drawer/components/DrawerFooter/DrawerFooter.bbj index b614eebc..0eefb4ba 100644 --- a/widgets/Drawer/components/DrawerFooter/DrawerFooter.bbj +++ b/widgets/Drawer/components/DrawerFooter/DrawerFooter.bbj @@ -54,9 +54,9 @@ class public DrawerFooter extends BBjWidget implements Icon declare CircularAvatar avatar! declare BBjChildWindow wrapper! declare BBjStaticText icon! - if init! then - avatar! = new CircularAvatar(#window!, #drawerDataModel!.getAvatarSize(),#drawerDataModel!.getAvatarUrl()) + avatar! = new CircularAvatar(#window!, #drawerDataModel!.getAvatarSize(),#drawerDataModel!.getAvatarUrl(), #title!) + wrapper! = #window!.addChildWindow(#window!.getAvailableControlID(),0,0,0,0,"",$00108800$,BBjAPI().getSysGui().getAvailableContext()) wrapper!.addPanelStyle("drawerFooterWrapperWindowClosed") wrapper!.addPanelStyle("drawerFooterWrapperWindowSmall") diff --git a/widgets/WebComponents/AvatarIcon/AvatarIcon.bbj b/widgets/WebComponents/AvatarIcon/AvatarIcon.bbj new file mode 100644 index 00000000..36025c97 --- /dev/null +++ b/widgets/WebComponents/AvatarIcon/AvatarIcon.bbj @@ -0,0 +1,33 @@ +use ::WebKit/widgets/WebComponents/WebComponents.bbj::WebComponents +class public AvatarIcon extends WebComponents + field private static BBjTopLevelWindow Wnd! + + method public AvatarIcon() + + methodend + + method public BBjHtmlView drawAvatarIcon(BBjWindow wnd!,BBjInt height%, BBjInt width%, BBjString name$) + htmlView! = wnd!.addHtmlView(101,0,0,300,300,"") + htmlView!.setStyle("border","none") + htmlView!.executeScript(#script$) + methodret htmlView! + methodend + + method public BBjHtmlView drawAvatarIcon(BBjWindow wnd!,BBjString height$, BBjString width$, BBjString name$) + htmlView! = wnd!.addHtmlView(101,0,0,300,300,"") + htmlView!.setStyle("border","none") + htmlView!.executeScript(#script$) + methodret htmlView! + methodend + + method public BBjHtmlView drawAvatarIcon(BBjString height$, BBjString width$, BBjString name$) + sg! = BBjAPI().openSysGui("X0") + #Wnd! =sg!.addWindow(95501,0,0,0,0,"",$01101083$) + sg!.setContext(sg!.getAvailableContext()) + htmlView! = #Wnd!.addHtmlView(101,0,0,300,300,"") + htmlView!.setStyle("border","none") + htmlView!.executeScript(#script$) + methodret htmlView! +methodend + +classend \ No newline at end of file diff --git a/widgets/WebComponents/WebComponents.bbj b/widgets/WebComponents/WebComponents.bbj new file mode 100644 index 00000000..ba64bb74 --- /dev/null +++ b/widgets/WebComponents/WebComponents.bbj @@ -0,0 +1,35 @@ +class public WebComponents + + field public BBjString script$ + + method public WebComponents() + + webComponentLibaryURL$ = STBL("web-component-library-url", err=*next) + if webComponentLibaryURL$ = "" THEN + webComponentLibaryURL$ = "https://cdn.jsdelivr.net/npm/webkit-web-components@0.0.3/dist/web-component/web-component.esm.js" + endif + + #script$ = "var script = document.createElement(""script"");" + + #script$ = #script$ + "script.setAttribute(""src"",""" + webComponentLibaryURL$ + """);" + + #script$ = #script$ + "script.setAttribute(""type"",""module"");" + + #script$ = #script$ + "document.head.appendChild(script)" + methodend + + method public BBjHtmlView drawAvatarIcon(BBjWindow wnd!,BBjInt height%, BBjInt width%, BBjString name$) + htmlView! = wnd!.addHtmlView(101,0,0,300,300,"") + htmlView!.setStyle("border","none") + htmlView!.executeScript(#script$) + methodret htmlView! + methodend + + method public BBjHtmlView drawAvatarIcon(BBjWindow wnd!,BBjString height$, BBjString width$, BBjString name$) + htmlView! = wnd!.addHtmlView(101,0,0,300,300,"") + htmlView!.setStyle("border","none") + htmlView!.executeScript(#script$) + methodret htmlView! + methodend + +classend \ No newline at end of file diff --git a/widgets/common/CircularAvatar/CircularAvatar.bbj b/widgets/common/CircularAvatar/CircularAvatar.bbj index e413e342..a66ca30b 100644 --- a/widgets/common/CircularAvatar/CircularAvatar.bbj +++ b/widgets/common/CircularAvatar/CircularAvatar.bbj @@ -1,10 +1,13 @@ use ::BBjWidget/BBjWidget.bbj::BBjWidget use ::WebKit/util/DynamicLoader.bbj::DynamicLoader - +use ::WebKit/util/ClientUtil.bbj::ClientUtil +use ::WebKit/widgets/WebComponents/WebComponents.bbj::WebComponents +use ::WebKit/widgets/WebComponents/AvatarIcon/AvatarIcon.bbj::AvatarIcon +use ::AuthKit/profile/AccountProfile.bbj::AccountProfile class public CircularAvatar extends BBjWidget field private BBjChildWindow window! - + field public AccountProfile Profile! field private BBjString imagePath! method public CircularAvatar(BBjWindow parent!, BBjString radius!, BBjString imagePath!) @@ -18,6 +21,26 @@ class public CircularAvatar extends BBjWidget #setCanvas(#window!) #redraw(1) methodend + + method public CircularAvatar(BBjWindow parent!, BBjString radius!, BBjString imagePath!, BBjString title!) + DynamicLoader.addLocalCSS("WebKit/widgets/common/CircularAvatar/CircularAvatar.css") + + #window! = parent!.addChildWindow(parent!.getAvailableControlID(),0,0,0,0,"",$00108800$,BBjAPI().getSysGui().getAvailableContext()) + + if imagePath! = "" THEN + webComponents! = new AvatarIcon() + webComponents!.drawAvatarIcon(#window!, radius!, radius!, title! ) + else + #window!.addPanelStyle("circularAvatarPanelStyle") + #window!.setPanelStyle("width", radius!) + #window!.setPanelStyle("height", radius!) + #imagePath! = imagePath! + #setCanvas(#window!) + #redraw(1) + fi + + methodend + method public void redraw(Boolean init!) From 828833e1163e329b54366f9a28d0dac299280c1f Mon Sep 17 00:00:00 2001 From: saadnoor salehin Date: Fri, 10 Dec 2021 19:51:36 +0100 Subject: [PATCH 07/24] Update - CDN Url for always getting the latest version webcomponent from NPM --- widgets/WebComponents/WebComponents.bbj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/widgets/WebComponents/WebComponents.bbj b/widgets/WebComponents/WebComponents.bbj index ba64bb74..619de13d 100644 --- a/widgets/WebComponents/WebComponents.bbj +++ b/widgets/WebComponents/WebComponents.bbj @@ -6,7 +6,7 @@ class public WebComponents webComponentLibaryURL$ = STBL("web-component-library-url", err=*next) if webComponentLibaryURL$ = "" THEN - webComponentLibaryURL$ = "https://cdn.jsdelivr.net/npm/webkit-web-components@0.0.3/dist/web-component/web-component.esm.js" + webComponentLibaryURL$ = "https://cdn.jsdelivr.net/npm/webkit-web-components@latest/dist/web-component/web-component.esm.js" endif #script$ = "var script = document.createElement(""script"");" From 259f14231787eea042c26019e1119781e5d8c16f Mon Sep 17 00:00:00 2001 From: saadnoor salehin Date: Mon, 27 Dec 2021 23:07:54 +0100 Subject: [PATCH 08/24] fix - code review feedback --- framework/LoginDialog/LoginDialogWindow.bbj | 1 - widgets/WebComponents/WebComponents.bbj | 14 -------------- .../common/CircularAvatar/CircularAvatar.bbj | 18 +++++++++--------- 3 files changed, 9 insertions(+), 24 deletions(-) diff --git a/framework/LoginDialog/LoginDialogWindow.bbj b/framework/LoginDialog/LoginDialogWindow.bbj index 569e95bb..67481a80 100644 --- a/framework/LoginDialog/LoginDialogWindow.bbj +++ b/framework/LoginDialog/LoginDialogWindow.bbj @@ -2,7 +2,6 @@ use ::BBjWidget/BBjWidget.bbj::BBjWidget use ::WebKit/widgets/InputField/InputField.bbj::InputField use ::WebKit/widgets/InputField/extensions/PasswordField.bbj::PasswordField use ::WebKit/widgets/InputField/extensions/TextField.bbj::TextField -use ::WebKit/widgets/WebComponents/WebComponents.bbj::WebComponents use ::WebKit/util/ClientUtil.bbj::ClientUtil use ::WebKit/framework/LoginDialog/LoginDialog.bbj::LoginDialog diff --git a/widgets/WebComponents/WebComponents.bbj b/widgets/WebComponents/WebComponents.bbj index 619de13d..009a1f06 100644 --- a/widgets/WebComponents/WebComponents.bbj +++ b/widgets/WebComponents/WebComponents.bbj @@ -17,19 +17,5 @@ class public WebComponents #script$ = #script$ + "document.head.appendChild(script)" methodend - - method public BBjHtmlView drawAvatarIcon(BBjWindow wnd!,BBjInt height%, BBjInt width%, BBjString name$) - htmlView! = wnd!.addHtmlView(101,0,0,300,300,"") - htmlView!.setStyle("border","none") - htmlView!.executeScript(#script$) - methodret htmlView! - methodend - - method public BBjHtmlView drawAvatarIcon(BBjWindow wnd!,BBjString height$, BBjString width$, BBjString name$) - htmlView! = wnd!.addHtmlView(101,0,0,300,300,"") - htmlView!.setStyle("border","none") - htmlView!.executeScript(#script$) - methodret htmlView! - methodend classend \ No newline at end of file diff --git a/widgets/common/CircularAvatar/CircularAvatar.bbj b/widgets/common/CircularAvatar/CircularAvatar.bbj index a66ca30b..3cc2b69e 100644 --- a/widgets/common/CircularAvatar/CircularAvatar.bbj +++ b/widgets/common/CircularAvatar/CircularAvatar.bbj @@ -27,17 +27,17 @@ class public CircularAvatar extends BBjWidget #window! = parent!.addChildWindow(parent!.getAvailableControlID(),0,0,0,0,"",$00108800$,BBjAPI().getSysGui().getAvailableContext()) - if imagePath! = "" THEN + rem if imagePath! = "" THEN webComponents! = new AvatarIcon() webComponents!.drawAvatarIcon(#window!, radius!, radius!, title! ) - else - #window!.addPanelStyle("circularAvatarPanelStyle") - #window!.setPanelStyle("width", radius!) - #window!.setPanelStyle("height", radius!) - #imagePath! = imagePath! - #setCanvas(#window!) - #redraw(1) - fi + rem else + rem #window!.addPanelStyle("circularAvatarPanelStyle") + rem #window!.setPanelStyle("width", radius!) + rem #window!.setPanelStyle("height", radius!) + rem #imagePath! = imagePath! + rem #setCanvas(#window!) + rem #redraw(1) + rem fi methodend From 285a135c04af31f8d0a928eeaee1b2d1e9dcc54d Mon Sep 17 00:00:00 2001 From: saadnoor salehin Date: Mon, 27 Dec 2021 23:11:11 +0100 Subject: [PATCH 09/24] fix - code cleanup based of review --- framework/LoginDialog/LoginDialogWindow.bbj | 1 - .../common/CircularAvatar/CircularAvatar.bbj | 20 +++++++++---------- 2 files changed, 9 insertions(+), 12 deletions(-) diff --git a/framework/LoginDialog/LoginDialogWindow.bbj b/framework/LoginDialog/LoginDialogWindow.bbj index 67481a80..fca09c76 100644 --- a/framework/LoginDialog/LoginDialogWindow.bbj +++ b/framework/LoginDialog/LoginDialogWindow.bbj @@ -26,7 +26,6 @@ class public LoginDialogWindow extends BBjWidget #loginDialog! = loginDialog! #content! = wrapper!.addChildWindow(wrapper!.getAvailableControlID(),0,0,0,0,"",$00108800$,BBjAPI().getSysGui().getAvailableContext()) #content!.setDockStyle("padding","56px 44px") - methodend diff --git a/widgets/common/CircularAvatar/CircularAvatar.bbj b/widgets/common/CircularAvatar/CircularAvatar.bbj index 3cc2b69e..5b6a22fa 100644 --- a/widgets/common/CircularAvatar/CircularAvatar.bbj +++ b/widgets/common/CircularAvatar/CircularAvatar.bbj @@ -3,11 +3,9 @@ use ::WebKit/util/DynamicLoader.bbj::DynamicLoader use ::WebKit/util/ClientUtil.bbj::ClientUtil use ::WebKit/widgets/WebComponents/WebComponents.bbj::WebComponents use ::WebKit/widgets/WebComponents/AvatarIcon/AvatarIcon.bbj::AvatarIcon -use ::AuthKit/profile/AccountProfile.bbj::AccountProfile class public CircularAvatar extends BBjWidget field private BBjChildWindow window! - field public AccountProfile Profile! field private BBjString imagePath! method public CircularAvatar(BBjWindow parent!, BBjString radius!, BBjString imagePath!) @@ -27,17 +25,17 @@ class public CircularAvatar extends BBjWidget #window! = parent!.addChildWindow(parent!.getAvailableControlID(),0,0,0,0,"",$00108800$,BBjAPI().getSysGui().getAvailableContext()) - rem if imagePath! = "" THEN + if imagePath! = "" THEN webComponents! = new AvatarIcon() webComponents!.drawAvatarIcon(#window!, radius!, radius!, title! ) - rem else - rem #window!.addPanelStyle("circularAvatarPanelStyle") - rem #window!.setPanelStyle("width", radius!) - rem #window!.setPanelStyle("height", radius!) - rem #imagePath! = imagePath! - rem #setCanvas(#window!) - rem #redraw(1) - rem fi + else + #window!.addPanelStyle("circularAvatarPanelStyle") + #window!.setPanelStyle("width", radius!) + #window!.setPanelStyle("height", radius!) + #imagePath! = imagePath! + #setCanvas(#window!) + #redraw(1) + fi methodend From d095629f768220e0ee5c5390665056350ca88a80 Mon Sep 17 00:00:00 2001 From: saadnoor salehin Date: Mon, 10 Jan 2022 17:43:39 +0100 Subject: [PATCH 10/24] Add - native event capture support --- widgets/WebComponents/AvatarIcon/AvatarIcon.bbj | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/widgets/WebComponents/AvatarIcon/AvatarIcon.bbj b/widgets/WebComponents/AvatarIcon/AvatarIcon.bbj index 36025c97..4af43280 100644 --- a/widgets/WebComponents/AvatarIcon/AvatarIcon.bbj +++ b/widgets/WebComponents/AvatarIcon/AvatarIcon.bbj @@ -1,6 +1,9 @@ use ::WebKit/widgets/WebComponents/WebComponents.bbj::WebComponents +use ::WebKit/util/ClientUtil.bbj::ClientUtil + class public AvatarIcon extends WebComponents field private static BBjTopLevelWindow Wnd! + field public static BBjNumber ON_AVATAR_INITIAL_CLICK = 1234 method public AvatarIcon() @@ -9,12 +12,14 @@ class public AvatarIcon extends WebComponents method public BBjHtmlView drawAvatarIcon(BBjWindow wnd!,BBjInt height%, BBjInt width%, BBjString name$) htmlView! = wnd!.addHtmlView(101,0,0,300,300,"") htmlView!.setStyle("border","none") + htmlView!.setCallback(BBjAPI.ON_NATIVE_JAVASCRIPT,#this!,"onClickAvatarInitial") htmlView!.executeScript(#script$) methodret htmlView! methodend method public BBjHtmlView drawAvatarIcon(BBjWindow wnd!,BBjString height$, BBjString width$, BBjString name$) htmlView! = wnd!.addHtmlView(101,0,0,300,300,"") + htmlView!.setCallback(BBjAPI.ON_NATIVE_JAVASCRIPT, #this!, "onClickAvatarInitial") htmlView!.setStyle("border","none") htmlView!.executeScript(#script$) methodret htmlView! @@ -25,9 +30,16 @@ class public AvatarIcon extends WebComponents #Wnd! =sg!.addWindow(95501,0,0,0,0,"",$01101083$) sg!.setContext(sg!.getAvailableContext()) htmlView! = #Wnd!.addHtmlView(101,0,0,300,300,"") + htmlView!.setCallback(BBjAPI.ON_NATIVE_JAVASCRIPT, #this!,"onClickAvatarInitial") htmlView!.setStyle("border","none") htmlView!.executeScript(#script$) methodret htmlView! + + method public void onClickAvatarInitial(BBjNativeJavaScriptEvent ev!) + ClientUtil.consoleLog("catched the webcomponent event from BBj :)") + #fireEvent(#ON_AVATAR_INITIAL_CLICK, ev!) + methodend + methodend classend \ No newline at end of file From 41dbc61d1513f2a01e1eea5d1cfae095bfd4dc90 Mon Sep 17 00:00:00 2001 From: saadnoor Date: Sun, 16 Jan 2022 23:09:16 +0100 Subject: [PATCH 11/24] Add - showcase for avatar Icons --- demo/Showcase/Showcase.bbj | 10 ++- demo/Showcase/ShowcasePanels/AvatarInital.bbj | 73 +++++++++++++++++++ .../WebComponents/AvatarIcon/AvatarIcon.bbj | 8 +- 3 files changed, 85 insertions(+), 6 deletions(-) create mode 100644 demo/Showcase/ShowcasePanels/AvatarInital.bbj diff --git a/demo/Showcase/Showcase.bbj b/demo/Showcase/Showcase.bbj index cb1100b4..a744bf04 100644 --- a/demo/Showcase/Showcase.bbj +++ b/demo/Showcase/Showcase.bbj @@ -10,13 +10,15 @@ use ::WebKit/framework/PortalFrame/PortalFrame.bbj::PortalFrame use ::WebKit/util/ClientUtil.bbj::ClientUtil use ::WebKit/model/Menu.bbj::Menu use ::WebKit/model/Menu.bbj::MenuItem +use ::WebKit/widgets/WebComponents/WebComponents.bbj::WebComponents +use ::WebKit/widgets/WebComponents/AvatarIcon/AvatarIcon.bbj::AvatarIcon if INFO(3,6)<>"6" then call "WebKit/util/deploy.bbj",pgm(-1) ClientUtil.init() ClientUtil.addLocalCSS("WebKit/css/webkit.css") -iconPool$ = STBL("icon-pool", "fa") +iconPool$ = STBL("icon-pool", "tabler") REM iconPool$ = STBL("icon-pool", "feather") declare Menu menu! @@ -29,10 +31,14 @@ REM menuItem! = menu!.addMenuItem(menu!.getRoot(),100,"DashboardHeaderDemo","A d REM menuItem!.setProgram("::WebKit/demo/Showcase/ShowcasePanels/DashboardShowcase.bbj::DashboardShowcase") REM menuItem!.setStartType(0) -menuItem! = menu!.addMenuItem(menu!.getRoot(),100,"Dialog","Dialog Panel Demo","far-window-restore") +menuItem! = menu!.addMenuItem(menu!.getRoot(),100,"Dialog","Dialog Panel Demo","window-restore") menuItem!.setProgram("::WebKit/demo/Showcase/ShowcasePanels/DialogShowcase.bbj::DialogShowcase") menuItem!.setStartType(0) +menuItem! = menu!.addMenuItem(menu!.getRoot(),101,"Avatar Inital","Avatar Inital Demo","logout") +menuItem!.setProgram("::WebKit/demo/Showcase/ShowcasePanels/AvatarInital.bbj::AvatarInital") +menuItem!.setStartType(0) + declare PortalFrame portal! portal! = new PortalFrame() diff --git a/demo/Showcase/ShowcasePanels/AvatarInital.bbj b/demo/Showcase/ShowcasePanels/AvatarInital.bbj new file mode 100644 index 00000000..fcb9aa0f --- /dev/null +++ b/demo/Showcase/ShowcasePanels/AvatarInital.bbj @@ -0,0 +1,73 @@ +use ::WebKit/demo/ShowCase/ShowcaseWidget/ShowcaseWidget.bbj::ShowcaseWidget +use ::WebKit/widgets/InputField/InputField.bbj::InputField +use ::WebKit/framework/DialogPanel/DialogPanel.bbj::DialogPanel +use ::WebKit/util/ClientUtil.bbj::ClientUtil +use ::WebKit/widgets/WebComponents/WebComponents.bbj::WebComponents +use ::WebKit/widgets/WebComponents/AvatarIcon/AvatarIcon.bbj::AvatarIcon + +class public AvatarInital extends ShowcaseWidget + + field private BBjChildWindow window! + field private BBjHtmlView avatarWnd! + field private InputField SubmitButtonTheme! + field private InputField SubmitButtonText! + field private InputField AvatarName! + field private BBjCheckBox CbModal! + field private BBjCheckBox CbCloseIcon! + field private BBjCheckBox CbCloseOutside! + field private BBjChildWindow panel! + + method public AvatarInital(BBjWindow wnd!) + #super!(wnd!) + + #setTitle("Avatar Initail Demo") + #setIntro("This demo shows the Avatar initail stuff") + methodend + method public void redraw(Boolean init!) + #super!.redraw(init!) + + if init! then + + #panel! = #getContentWindow() + #panel!.setStyle("display","flex") + #panel!.setStyle("flex-direction","column") + #panel!.setStyle("row-gap","10px") + + #AvatarName! = new InputField(#panel!) + #AvatarName!.setLabel("Avatar Name") + #AvatarName!.setInput("Stephan Wald") + + #SubmitButtonText! = new InputField(#panel!) + #SubmitButtonText!.setLabel("Height") + #SubmitButtonText!.setInput("50") + + #SubmitButtonTheme! = new InputField(#panel!) + #SubmitButtonTheme!.setLabel("Width") + #SubmitButtonTheme!.setInput("50") + + BtnShow! = #panel!.addButton(#panel!.getAvailableControlID(),0,0,0,0,"Create Avatar") + BtnShow!.setStyle("display","flex") + BtnShow!.setStyle("justify-content","flex-end") + BtnShow!.setAttribute("theme","primary") + BtnShow!.setAttribute("expanse","l") + BtnShow!.setCallback(BBjAPI().ON_BUTTON_PUSH,#this!,"onShowDialog") + + endif + + +methodend + +method public void onShowDialog(BBjButtonPushEvent ev!) + + if #avatarWnd! <> null() then + #avatarWnd!.destroy() + endif + + webComponents! = new AvatarIcon() + #avatarWnd! = CAST(BBjHtmlView, webComponents!.drawAvatarIcon(#panel!, #SubmitButtonText!.getInput(), #SubmitButtonTheme!.getInput(), #AvatarName!.getInput() )) + + #avatarWnd!.setStyle("margin","auto") + +methodend + +classend \ No newline at end of file diff --git a/widgets/WebComponents/AvatarIcon/AvatarIcon.bbj b/widgets/WebComponents/AvatarIcon/AvatarIcon.bbj index 4af43280..2de3f69a 100644 --- a/widgets/WebComponents/AvatarIcon/AvatarIcon.bbj +++ b/widgets/WebComponents/AvatarIcon/AvatarIcon.bbj @@ -10,7 +10,7 @@ class public AvatarIcon extends WebComponents methodend method public BBjHtmlView drawAvatarIcon(BBjWindow wnd!,BBjInt height%, BBjInt width%, BBjString name$) - htmlView! = wnd!.addHtmlView(101,0,0,300,300,"") + htmlView! = wnd!.addHtmlView(wnd!.getAvailableControlID(),0,0,300,300,"") htmlView!.setStyle("border","none") htmlView!.setCallback(BBjAPI.ON_NATIVE_JAVASCRIPT,#this!,"onClickAvatarInitial") htmlView!.executeScript(#script$) @@ -18,7 +18,7 @@ class public AvatarIcon extends WebComponents methodend method public BBjHtmlView drawAvatarIcon(BBjWindow wnd!,BBjString height$, BBjString width$, BBjString name$) - htmlView! = wnd!.addHtmlView(101,0,0,300,300,"") + htmlView! = wnd!.addHtmlView(wnd!.getAvailableControlID(),0,0,300,300,"") htmlView!.setCallback(BBjAPI.ON_NATIVE_JAVASCRIPT, #this!, "onClickAvatarInitial") htmlView!.setStyle("border","none") htmlView!.executeScript(#script$) @@ -29,7 +29,7 @@ class public AvatarIcon extends WebComponents sg! = BBjAPI().openSysGui("X0") #Wnd! =sg!.addWindow(95501,0,0,0,0,"",$01101083$) sg!.setContext(sg!.getAvailableContext()) - htmlView! = #Wnd!.addHtmlView(101,0,0,300,300,"") + htmlView! = #Wnd!.addHtmlView(wnd!.getAvailableControlID(),0,0,300,300,"") htmlView!.setCallback(BBjAPI.ON_NATIVE_JAVASCRIPT, #this!,"onClickAvatarInitial") htmlView!.setStyle("border","none") htmlView!.executeScript(#script$) @@ -37,7 +37,7 @@ class public AvatarIcon extends WebComponents method public void onClickAvatarInitial(BBjNativeJavaScriptEvent ev!) ClientUtil.consoleLog("catched the webcomponent event from BBj :)") - #fireEvent(#ON_AVATAR_INITIAL_CLICK, ev!) + rem #fireEvent(#ON_AVATAR_INITIAL_CLICK, ev!) methodend methodend From ee7f5c18394768076ce7c1050ae1ce7c1f1e6700 Mon Sep 17 00:00:00 2001 From: saadnoor Date: Sun, 16 Jan 2022 23:12:53 +0100 Subject: [PATCH 12/24] Refactor - Code cleanup on showcase --- demo/Showcase/ShowcasePanels/AvatarInital.bbj | 20 +++++++++---------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/demo/Showcase/ShowcasePanels/AvatarInital.bbj b/demo/Showcase/ShowcasePanels/AvatarInital.bbj index fcb9aa0f..b0c6287c 100644 --- a/demo/Showcase/ShowcasePanels/AvatarInital.bbj +++ b/demo/Showcase/ShowcasePanels/AvatarInital.bbj @@ -9,8 +9,8 @@ class public AvatarInital extends ShowcaseWidget field private BBjChildWindow window! field private BBjHtmlView avatarWnd! - field private InputField SubmitButtonTheme! - field private InputField SubmitButtonText! + field private InputField avatarWidth! + field private InputField avatarHeight! field private InputField AvatarName! field private BBjCheckBox CbModal! field private BBjCheckBox CbCloseIcon! @@ -37,13 +37,13 @@ class public AvatarInital extends ShowcaseWidget #AvatarName!.setLabel("Avatar Name") #AvatarName!.setInput("Stephan Wald") - #SubmitButtonText! = new InputField(#panel!) - #SubmitButtonText!.setLabel("Height") - #SubmitButtonText!.setInput("50") + #avatarHeight! = new InputField(#panel!) + #avatarHeight!.setLabel("Height") + #avatarHeight!.setInput("50") - #SubmitButtonTheme! = new InputField(#panel!) - #SubmitButtonTheme!.setLabel("Width") - #SubmitButtonTheme!.setInput("50") + #avatarWidth! = new InputField(#panel!) + #avatarWidth!.setLabel("Width") + #avatarWidth!.setInput("50") BtnShow! = #panel!.addButton(#panel!.getAvailableControlID(),0,0,0,0,"Create Avatar") BtnShow!.setStyle("display","flex") @@ -53,8 +53,6 @@ class public AvatarInital extends ShowcaseWidget BtnShow!.setCallback(BBjAPI().ON_BUTTON_PUSH,#this!,"onShowDialog") endif - - methodend method public void onShowDialog(BBjButtonPushEvent ev!) @@ -64,7 +62,7 @@ method public void onShowDialog(BBjButtonPushEvent ev!) endif webComponents! = new AvatarIcon() - #avatarWnd! = CAST(BBjHtmlView, webComponents!.drawAvatarIcon(#panel!, #SubmitButtonText!.getInput(), #SubmitButtonTheme!.getInput(), #AvatarName!.getInput() )) + #avatarWnd! = CAST(BBjHtmlView, webComponents!.drawAvatarIcon(#panel!, #avatarHeight!.getInput(), #avatarWidth!.getInput(), #AvatarName!.getInput() )) #avatarWnd!.setStyle("margin","auto") From 2da8fe6a708af737b6caac4d449a75125dece419 Mon Sep 17 00:00:00 2001 From: saadnoor Date: Sun, 16 Jan 2022 23:21:13 +0100 Subject: [PATCH 13/24] Refactor - Improved code of webcomponents (avatar icon) --- widgets/WebComponents/AvatarIcon/AvatarIcon.bbj | 17 +++++++++-------- widgets/WebComponents/WebComponents.bbj | 4 +++- 2 files changed, 12 insertions(+), 9 deletions(-) diff --git a/widgets/WebComponents/AvatarIcon/AvatarIcon.bbj b/widgets/WebComponents/AvatarIcon/AvatarIcon.bbj index 2de3f69a..d119b63f 100644 --- a/widgets/WebComponents/AvatarIcon/AvatarIcon.bbj +++ b/widgets/WebComponents/AvatarIcon/AvatarIcon.bbj @@ -11,17 +11,13 @@ class public AvatarIcon extends WebComponents method public BBjHtmlView drawAvatarIcon(BBjWindow wnd!,BBjInt height%, BBjInt width%, BBjString name$) htmlView! = wnd!.addHtmlView(wnd!.getAvailableControlID(),0,0,300,300,"") - htmlView!.setStyle("border","none") - htmlView!.setCallback(BBjAPI.ON_NATIVE_JAVASCRIPT,#this!,"onClickAvatarInitial") - htmlView!.executeScript(#script$) + htmlView! = #configureAvatarView(htmlView!) methodret htmlView! methodend method public BBjHtmlView drawAvatarIcon(BBjWindow wnd!,BBjString height$, BBjString width$, BBjString name$) htmlView! = wnd!.addHtmlView(wnd!.getAvailableControlID(),0,0,300,300,"") - htmlView!.setCallback(BBjAPI.ON_NATIVE_JAVASCRIPT, #this!, "onClickAvatarInitial") - htmlView!.setStyle("border","none") - htmlView!.executeScript(#script$) + htmlView! = #configureAvatarView(htmlView!) methodret htmlView! methodend @@ -30,14 +26,19 @@ class public AvatarIcon extends WebComponents #Wnd! =sg!.addWindow(95501,0,0,0,0,"",$01101083$) sg!.setContext(sg!.getAvailableContext()) htmlView! = #Wnd!.addHtmlView(wnd!.getAvailableControlID(),0,0,300,300,"") + htmlView! = #configureAvatarView(htmlView!) + methodret htmlView! + + method private BBjHtmlView configureAvatarView(BBjHtmlView htmlView!) htmlView!.setCallback(BBjAPI.ON_NATIVE_JAVASCRIPT, #this!,"onClickAvatarInitial") htmlView!.setStyle("border","none") htmlView!.executeScript(#script$) - methodret htmlView! + methodret htmlView! + methodend method public void onClickAvatarInitial(BBjNativeJavaScriptEvent ev!) ClientUtil.consoleLog("catched the webcomponent event from BBj :)") - rem #fireEvent(#ON_AVATAR_INITIAL_CLICK, ev!) + #fireEvent(#ON_AVATAR_INITIAL_CLICK, ev!) methodend methodend diff --git a/widgets/WebComponents/WebComponents.bbj b/widgets/WebComponents/WebComponents.bbj index 009a1f06..1671b019 100644 --- a/widgets/WebComponents/WebComponents.bbj +++ b/widgets/WebComponents/WebComponents.bbj @@ -1,4 +1,6 @@ -class public WebComponents +use ::BBjWidget/BBjWidget.bbj::BBjWidget + +class public WebComponents extends BBjWidget field public BBjString script$ From f7093fa7366eb100faf02c3f2df5df66d3163f93 Mon Sep 17 00:00:00 2001 From: saadnoor Date: Sun, 16 Jan 2022 23:26:02 +0100 Subject: [PATCH 14/24] Fix - Updated icons --- demo/Showcase/Showcase.bbj | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/demo/Showcase/Showcase.bbj b/demo/Showcase/Showcase.bbj index a744bf04..5af9540c 100644 --- a/demo/Showcase/Showcase.bbj +++ b/demo/Showcase/Showcase.bbj @@ -31,11 +31,11 @@ REM menuItem! = menu!.addMenuItem(menu!.getRoot(),100,"DashboardHeaderDemo","A d REM menuItem!.setProgram("::WebKit/demo/Showcase/ShowcasePanels/DashboardShowcase.bbj::DashboardShowcase") REM menuItem!.setStartType(0) -menuItem! = menu!.addMenuItem(menu!.getRoot(),100,"Dialog","Dialog Panel Demo","window-restore") +menuItem! = menu!.addMenuItem(menu!.getRoot(),100,"Dialog","Dialog Panel Demo","message-circle") menuItem!.setProgram("::WebKit/demo/Showcase/ShowcasePanels/DialogShowcase.bbj::DialogShowcase") menuItem!.setStartType(0) -menuItem! = menu!.addMenuItem(menu!.getRoot(),101,"Avatar Inital","Avatar Inital Demo","logout") +menuItem! = menu!.addMenuItem(menu!.getRoot(),101,"Avatar Inital","Avatar Inital Demo","typography") menuItem!.setProgram("::WebKit/demo/Showcase/ShowcasePanels/AvatarInital.bbj::AvatarInital") menuItem!.setStartType(0) From 48ca83ec7cde75473db21fee17da428f7133d467 Mon Sep 17 00:00:00 2001 From: saadnoor Date: Wed, 19 Jan 2022 11:43:14 +0100 Subject: [PATCH 15/24] Fix - Added the dialog showcase again --- demo/Showcase/Showcase.bbj | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/demo/Showcase/Showcase.bbj b/demo/Showcase/Showcase.bbj index c4c13a32..026de41d 100644 --- a/demo/Showcase/Showcase.bbj +++ b/demo/Showcase/Showcase.bbj @@ -45,6 +45,10 @@ menuItem! = menu!.addMenuItem(menu!.getRoot(),101,"Avatar Inital","Avatar Inital menuItem!.setProgram("::WebKit/demo/Showcase/ShowcasePanels/AvatarInital.bbj::AvatarInital") menuItem!.setStartType(0) +menuItem! = menu!.addMenuItem(menu!.getRoot(),100,"Dialog","Dialog Panel Demo","message-circle") +menuItem!.setProgram("::WebKit/demo/Showcase/ShowcasePanels/DialogShowcase.bbj::DialogShowcase") +menuItem!.setStartType(0) + showCaseSubItem! = menu!.addMenuItem(showCaseItem!,202,"Personal - Sale","Personal - Sale","table") showCaseSubItem!.setStartType(2) From 0fe6673f1fe8a38d19886aac6ae1322669e6e39a Mon Sep 17 00:00:00 2001 From: saadnoor salehin Date: Thu, 17 Mar 2022 15:22:11 +0600 Subject: [PATCH 16/24] Fix - Updated Id for avatar inital --- demo/Showcase/Showcase.bbj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/demo/Showcase/Showcase.bbj b/demo/Showcase/Showcase.bbj index 639f8391..a12ca893 100644 --- a/demo/Showcase/Showcase.bbj +++ b/demo/Showcase/Showcase.bbj @@ -64,7 +64,7 @@ showCaseItem!.setStartType(2) showCaseItem! = menu!.addMenuItem(showCase!,201,"Direct - Sales - Options","Direct - Sales - Options","table") showCaseItem!.setStartType(2) -menuItem! = menu!.addMenuItem(menu!.getRoot(),101,"Avatar Inital","Avatar Inital Demo","typography") +menuItem! = menu!.addMenuItem(menu!.getRoot(),108,"Avatar Inital","Avatar Inital Demo","typography") menuItem!.setProgram("::WebKit/demo/Showcase/ShowcasePanels/AvatarInital.bbj::AvatarInital") menuItem!.setStartType(0) From b53685769187088aa30d457e280c910c786c6819 Mon Sep 17 00:00:00 2001 From: saadnoor salehin Date: Thu, 17 Mar 2022 22:26:29 +0600 Subject: [PATCH 17/24] Fix - upper case issue with windows OS --- demo/Showcase/ShowcasePanels/AvatarInital.bbj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/demo/Showcase/ShowcasePanels/AvatarInital.bbj b/demo/Showcase/ShowcasePanels/AvatarInital.bbj index b0c6287c..f7aeaf18 100644 --- a/demo/Showcase/ShowcasePanels/AvatarInital.bbj +++ b/demo/Showcase/ShowcasePanels/AvatarInital.bbj @@ -1,4 +1,4 @@ -use ::WebKit/demo/ShowCase/ShowcaseWidget/ShowcaseWidget.bbj::ShowcaseWidget +use ::WebKit/demo/Showcase/ShowcaseWidget/ShowcaseWidget.bbj::ShowcaseWidget use ::WebKit/widgets/InputField/InputField.bbj::InputField use ::WebKit/framework/DialogPanel/DialogPanel.bbj::DialogPanel use ::WebKit/util/ClientUtil.bbj::ClientUtil From 564b64ec6fc9242d8f328fa65bde1d0cc3b03908 Mon Sep 17 00:00:00 2001 From: saadnoor salehin Date: Sat, 19 Mar 2022 16:05:20 +0600 Subject: [PATCH 18/24] Fix - syntax error related method end and removed code duplication --- widgets/WebComponents/AvatarIcon/AvatarIcon.bbj | 15 ++++----------- 1 file changed, 4 insertions(+), 11 deletions(-) diff --git a/widgets/WebComponents/AvatarIcon/AvatarIcon.bbj b/widgets/WebComponents/AvatarIcon/AvatarIcon.bbj index d119b63f..147b20ac 100644 --- a/widgets/WebComponents/AvatarIcon/AvatarIcon.bbj +++ b/widgets/WebComponents/AvatarIcon/AvatarIcon.bbj @@ -8,13 +8,7 @@ class public AvatarIcon extends WebComponents method public AvatarIcon() methodend - - method public BBjHtmlView drawAvatarIcon(BBjWindow wnd!,BBjInt height%, BBjInt width%, BBjString name$) - htmlView! = wnd!.addHtmlView(wnd!.getAvailableControlID(),0,0,300,300,"") - htmlView! = #configureAvatarView(htmlView!) - methodret htmlView! - methodend - + method public BBjHtmlView drawAvatarIcon(BBjWindow wnd!,BBjString height$, BBjString width$, BBjString name$) htmlView! = wnd!.addHtmlView(wnd!.getAvailableControlID(),0,0,300,300,"") htmlView! = #configureAvatarView(htmlView!) @@ -27,7 +21,8 @@ class public AvatarIcon extends WebComponents sg!.setContext(sg!.getAvailableContext()) htmlView! = #Wnd!.addHtmlView(wnd!.getAvailableControlID(),0,0,300,300,"") htmlView! = #configureAvatarView(htmlView!) - methodret htmlView! + methodret htmlView! + methodend method private BBjHtmlView configureAvatarView(BBjHtmlView htmlView!) htmlView!.setCallback(BBjAPI.ON_NATIVE_JAVASCRIPT, #this!,"onClickAvatarInitial") @@ -39,8 +34,6 @@ class public AvatarIcon extends WebComponents method public void onClickAvatarInitial(BBjNativeJavaScriptEvent ev!) ClientUtil.consoleLog("catched the webcomponent event from BBj :)") #fireEvent(#ON_AVATAR_INITIAL_CLICK, ev!) - methodend - -methodend + methodend classend \ No newline at end of file From a109909dff537fbbddb06593edb89399f6a4140e Mon Sep 17 00:00:00 2001 From: saadnoor salehin Date: Mon, 21 Mar 2022 19:32:48 +0600 Subject: [PATCH 19/24] Fix - introduced redraw method for avatar initial based on review --- demo/Showcase/ShowcasePanels/AvatarInital.bbj | 1 + .../WebComponents/AvatarIcon/AvatarIcon.bbj | 41 +++++++++++++++++-- 2 files changed, 38 insertions(+), 4 deletions(-) diff --git a/demo/Showcase/ShowcasePanels/AvatarInital.bbj b/demo/Showcase/ShowcasePanels/AvatarInital.bbj index f7aeaf18..e72db06e 100644 --- a/demo/Showcase/ShowcasePanels/AvatarInital.bbj +++ b/demo/Showcase/ShowcasePanels/AvatarInital.bbj @@ -63,6 +63,7 @@ method public void onShowDialog(BBjButtonPushEvent ev!) webComponents! = new AvatarIcon() #avatarWnd! = CAST(BBjHtmlView, webComponents!.drawAvatarIcon(#panel!, #avatarHeight!.getInput(), #avatarWidth!.getInput(), #AvatarName!.getInput() )) + webComponents!.setName("saadnoor") #avatarWnd!.setStyle("margin","auto") diff --git a/widgets/WebComponents/AvatarIcon/AvatarIcon.bbj b/widgets/WebComponents/AvatarIcon/AvatarIcon.bbj index 147b20ac..f21ddc68 100644 --- a/widgets/WebComponents/AvatarIcon/AvatarIcon.bbj +++ b/widgets/WebComponents/AvatarIcon/AvatarIcon.bbj @@ -3,16 +3,27 @@ use ::WebKit/util/ClientUtil.bbj::ClientUtil class public AvatarIcon extends WebComponents field private static BBjTopLevelWindow Wnd! + field private static BBjChildWindow canvas! field public static BBjNumber ON_AVATAR_INITIAL_CLICK = 1234 + field public static BBjHtmlView htmlView! + field public static BBjString size$ = "50" + field public static BBjString name$ = "A" method public AvatarIcon() methodend - - method public BBjHtmlView drawAvatarIcon(BBjWindow wnd!,BBjString height$, BBjString width$, BBjString name$) - htmlView! = wnd!.addHtmlView(wnd!.getAvailableControlID(),0,0,300,300,"") + + method public AvatarIcon(BBjWindow canvas!) + #canvas = canvas! + htmlView! = wnd!.addHtmlView(wnd!.getAvailableControlID(),0,0,300,300,"") htmlView! = #configureAvatarView(htmlView!) - methodret htmlView! + methodend + + method public BBjHtmlView drawAvatarIcon(BBjWindow wnd!,BBjString height$, BBjString width$, BBjString name$) + #htmlView! = wnd!.addHtmlView(wnd!.getAvailableControlID(),0,0,300,300,"") + #htmlView!.setText("") + #htmlView! = #configureAvatarView(#htmlView!) + methodret #htmlView! methodend method public BBjHtmlView drawAvatarIcon(BBjString height$, BBjString width$, BBjString name$) @@ -35,5 +46,27 @@ class public AvatarIcon extends WebComponents ClientUtil.consoleLog("catched the webcomponent event from BBj :)") #fireEvent(#ON_AVATAR_INITIAL_CLICK, ev!) methodend + + method public void redraw(Boolean init!) + sg! = BBjAPI().openSysGui("X0") + #Wnd! =sg!.addWindow(95501,0,0,0,0,"",$01101083$) + sg!.setContext(sg!.getAvailableContext()) + htmlView! = #Wnd!.addHtmlView(wnd!.getAvailableControlID(),0,0,300,300,"") + htmlView! = #configureAvatarView(htmlView!) + methodend + + + method public void setSize(BBjString size$) + #size$ = size$ + ClientUtil.consoleLog(size$) + #htmlView!.setText("") + methodend + + method public void setName(BBjString name$) + ClientUtil.consoleLog(name$) + #name$ = name$ + #htmlView!.setText("") + methodend + classend \ No newline at end of file From cb68fafa3fd1e582536a7e9bb06fca97b4b09bd5 Mon Sep 17 00:00:00 2001 From: saadnoor salehin Date: Mon, 21 Mar 2022 20:27:25 +0600 Subject: [PATCH 20/24] Fix - code cleanup for redraw design in avatar initial --- demo/Showcase/ShowcasePanels/AvatarInital.bbj | 20 ++++----- .../WebComponents/AvatarIcon/AvatarIcon.bbj | 41 ++++++++----------- 2 files changed, 25 insertions(+), 36 deletions(-) diff --git a/demo/Showcase/ShowcasePanels/AvatarInital.bbj b/demo/Showcase/ShowcasePanels/AvatarInital.bbj index e72db06e..78b98747 100644 --- a/demo/Showcase/ShowcasePanels/AvatarInital.bbj +++ b/demo/Showcase/ShowcasePanels/AvatarInital.bbj @@ -9,8 +9,7 @@ class public AvatarInital extends ShowcaseWidget field private BBjChildWindow window! field private BBjHtmlView avatarWnd! - field private InputField avatarWidth! - field private InputField avatarHeight! + field private InputField avatarSize! field private InputField AvatarName! field private BBjCheckBox CbModal! field private BBjCheckBox CbCloseIcon! @@ -37,13 +36,9 @@ class public AvatarInital extends ShowcaseWidget #AvatarName!.setLabel("Avatar Name") #AvatarName!.setInput("Stephan Wald") - #avatarHeight! = new InputField(#panel!) - #avatarHeight!.setLabel("Height") - #avatarHeight!.setInput("50") - - #avatarWidth! = new InputField(#panel!) - #avatarWidth!.setLabel("Width") - #avatarWidth!.setInput("50") + #avatarSize! = new InputField(#panel!) + #avatarSize!.setLabel("Size") + #avatarSize!.setInput("50") BtnShow! = #panel!.addButton(#panel!.getAvailableControlID(),0,0,0,0,"Create Avatar") BtnShow!.setStyle("display","flex") @@ -61,9 +56,10 @@ method public void onShowDialog(BBjButtonPushEvent ev!) #avatarWnd!.destroy() endif - webComponents! = new AvatarIcon() - #avatarWnd! = CAST(BBjHtmlView, webComponents!.drawAvatarIcon(#panel!, #avatarHeight!.getInput(), #avatarWidth!.getInput(), #AvatarName!.getInput() )) - webComponents!.setName("saadnoor") + webComponents! = new AvatarIcon(#panel!) + #avatarWnd! = CAST(BBjHtmlView, webComponents!.getView()) + webComponents!.setName(#AvatarName!.getInput()) + webComponents!.setSize(#avatarSize!.getInput()) #avatarWnd!.setStyle("margin","auto") diff --git a/widgets/WebComponents/AvatarIcon/AvatarIcon.bbj b/widgets/WebComponents/AvatarIcon/AvatarIcon.bbj index f21ddc68..6b7031c7 100644 --- a/widgets/WebComponents/AvatarIcon/AvatarIcon.bbj +++ b/widgets/WebComponents/AvatarIcon/AvatarIcon.bbj @@ -3,29 +3,21 @@ use ::WebKit/util/ClientUtil.bbj::ClientUtil class public AvatarIcon extends WebComponents field private static BBjTopLevelWindow Wnd! - field private static BBjChildWindow canvas! + field private static BBjWindow wnd! field public static BBjNumber ON_AVATAR_INITIAL_CLICK = 1234 field public static BBjHtmlView htmlView! - field public static BBjString size$ = "50" - field public static BBjString name$ = "A" + field public static BBjString size$ + field public static BBjString name$ method public AvatarIcon() methodend method public AvatarIcon(BBjWindow canvas!) - #canvas = canvas! - htmlView! = wnd!.addHtmlView(wnd!.getAvailableControlID(),0,0,300,300,"") - htmlView! = #configureAvatarView(htmlView!) + #wnd! = canvas! + #redraw(1) methodend - method public BBjHtmlView drawAvatarIcon(BBjWindow wnd!,BBjString height$, BBjString width$, BBjString name$) - #htmlView! = wnd!.addHtmlView(wnd!.getAvailableControlID(),0,0,300,300,"") - #htmlView!.setText("") - #htmlView! = #configureAvatarView(#htmlView!) - methodret #htmlView! - methodend - method public BBjHtmlView drawAvatarIcon(BBjString height$, BBjString width$, BBjString name$) sg! = BBjAPI().openSysGui("X0") #Wnd! =sg!.addWindow(95501,0,0,0,0,"",$01101083$) @@ -43,30 +35,31 @@ class public AvatarIcon extends WebComponents methodend method public void onClickAvatarInitial(BBjNativeJavaScriptEvent ev!) - ClientUtil.consoleLog("catched the webcomponent event from BBj :)") #fireEvent(#ON_AVATAR_INITIAL_CLICK, ev!) methodend method public void redraw(Boolean init!) - sg! = BBjAPI().openSysGui("X0") - #Wnd! =sg!.addWindow(95501,0,0,0,0,"",$01101083$) - sg!.setContext(sg!.getAvailableContext()) - htmlView! = #Wnd!.addHtmlView(wnd!.getAvailableControlID(),0,0,300,300,"") - htmlView! = #configureAvatarView(htmlView!) + if init! > 0 then + #htmlView! = #wnd!.addHtmlView(#wnd!.getAvailableControlID(),0,0,300,300,"") + #htmlView!.setText("") + #htmlView! = #configureAvatarView(#htmlView!) + else + #htmlView!.setText("") + fi methodend - method public void setSize(BBjString size$) #size$ = size$ - ClientUtil.consoleLog(size$) - #htmlView!.setText("") + #redraw(0) methodend method public void setName(BBjString name$) - ClientUtil.consoleLog(name$) #name$ = name$ - #htmlView!.setText("") + #redraw(0) methodend + method public BBjHtmlView getView() + methodret #htmlView! + methodend classend \ No newline at end of file From 8406c8ea5f88698fde2695525bd00b396d37377c Mon Sep 17 00:00:00 2001 From: saadnoor salehin Date: Mon, 21 Mar 2022 20:40:46 +0600 Subject: [PATCH 21/24] Fix - removed code duplicacy --- widgets/WebComponents/AvatarIcon/AvatarIcon.bbj | 9 --------- 1 file changed, 9 deletions(-) diff --git a/widgets/WebComponents/AvatarIcon/AvatarIcon.bbj b/widgets/WebComponents/AvatarIcon/AvatarIcon.bbj index 6b7031c7..82214a4f 100644 --- a/widgets/WebComponents/AvatarIcon/AvatarIcon.bbj +++ b/widgets/WebComponents/AvatarIcon/AvatarIcon.bbj @@ -18,15 +18,6 @@ class public AvatarIcon extends WebComponents #redraw(1) methodend - method public BBjHtmlView drawAvatarIcon(BBjString height$, BBjString width$, BBjString name$) - sg! = BBjAPI().openSysGui("X0") - #Wnd! =sg!.addWindow(95501,0,0,0,0,"",$01101083$) - sg!.setContext(sg!.getAvailableContext()) - htmlView! = #Wnd!.addHtmlView(wnd!.getAvailableControlID(),0,0,300,300,"") - htmlView! = #configureAvatarView(htmlView!) - methodret htmlView! - methodend - method private BBjHtmlView configureAvatarView(BBjHtmlView htmlView!) htmlView!.setCallback(BBjAPI.ON_NATIVE_JAVASCRIPT, #this!,"onClickAvatarInitial") htmlView!.setStyle("border","none") From 0ca6ae4d054b3a65fa8f17adef6d217af1df75d7 Mon Sep 17 00:00:00 2001 From: saadnoor salehin Date: Mon, 21 Mar 2022 20:52:38 +0600 Subject: [PATCH 22/24] Fix - avatar initial spelling mistake --- demo/Showcase/Showcase.bbj | 4 ++-- .../{AvatarInital.bbj => AvatarInitial.bbj} | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) rename demo/Showcase/ShowcasePanels/{AvatarInital.bbj => AvatarInitial.bbj} (91%) diff --git a/demo/Showcase/Showcase.bbj b/demo/Showcase/Showcase.bbj index a12ca893..4a623b1b 100644 --- a/demo/Showcase/Showcase.bbj +++ b/demo/Showcase/Showcase.bbj @@ -64,8 +64,8 @@ showCaseItem!.setStartType(2) showCaseItem! = menu!.addMenuItem(showCase!,201,"Direct - Sales - Options","Direct - Sales - Options","table") showCaseItem!.setStartType(2) -menuItem! = menu!.addMenuItem(menu!.getRoot(),108,"Avatar Inital","Avatar Inital Demo","typography") -menuItem!.setProgram("::WebKit/demo/Showcase/ShowcasePanels/AvatarInital.bbj::AvatarInital") +menuItem! = menu!.addMenuItem(menu!.getRoot(),108,"Avatar Initial","Avatar Initial Demo","typography") +menuItem!.setProgram("::WebKit/demo/Showcase/ShowcasePanels/AvatarInitial.bbj::AvatarInitial") menuItem!.setStartType(0) menuItem! = menu!.addMenuItem(menu!.getRoot(),100,"Dialog","Dialog Panel Demo","message-circle") diff --git a/demo/Showcase/ShowcasePanels/AvatarInital.bbj b/demo/Showcase/ShowcasePanels/AvatarInitial.bbj similarity index 91% rename from demo/Showcase/ShowcasePanels/AvatarInital.bbj rename to demo/Showcase/ShowcasePanels/AvatarInitial.bbj index 78b98747..dd04c4b0 100644 --- a/demo/Showcase/ShowcasePanels/AvatarInital.bbj +++ b/demo/Showcase/ShowcasePanels/AvatarInitial.bbj @@ -5,7 +5,7 @@ use ::WebKit/util/ClientUtil.bbj::ClientUtil use ::WebKit/widgets/WebComponents/WebComponents.bbj::WebComponents use ::WebKit/widgets/WebComponents/AvatarIcon/AvatarIcon.bbj::AvatarIcon -class public AvatarInital extends ShowcaseWidget +class public AvatarInitial extends ShowcaseWidget field private BBjChildWindow window! field private BBjHtmlView avatarWnd! @@ -16,11 +16,11 @@ class public AvatarInital extends ShowcaseWidget field private BBjCheckBox CbCloseOutside! field private BBjChildWindow panel! - method public AvatarInital(BBjWindow wnd!) + method public AvatarInitial(BBjWindow wnd!) #super!(wnd!) - #setTitle("Avatar Initail Demo") - #setIntro("This demo shows the Avatar initail stuff") + #setTitle("Avatar Initial Demo") + #setIntro("This demo shows the Avatar initial") methodend method public void redraw(Boolean init!) #super!.redraw(init!) From d1e22f03cf6c3810233c061c3a0cfdc214235ec3 Mon Sep 17 00:00:00 2001 From: saadnoor salehin Date: Tue, 22 Mar 2022 19:43:14 +0600 Subject: [PATCH 23/24] Refactor - Updated circular avatar and removed dynamic loader --- widgets/common/CircularAvatar/CircularAvatar.bbj | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/widgets/common/CircularAvatar/CircularAvatar.bbj b/widgets/common/CircularAvatar/CircularAvatar.bbj index 5b6a22fa..d1eb1423 100644 --- a/widgets/common/CircularAvatar/CircularAvatar.bbj +++ b/widgets/common/CircularAvatar/CircularAvatar.bbj @@ -1,5 +1,4 @@ use ::BBjWidget/BBjWidget.bbj::BBjWidget -use ::WebKit/util/DynamicLoader.bbj::DynamicLoader use ::WebKit/util/ClientUtil.bbj::ClientUtil use ::WebKit/widgets/WebComponents/WebComponents.bbj::WebComponents use ::WebKit/widgets/WebComponents/AvatarIcon/AvatarIcon.bbj::AvatarIcon @@ -9,7 +8,7 @@ class public CircularAvatar extends BBjWidget field private BBjString imagePath! method public CircularAvatar(BBjWindow parent!, BBjString radius!, BBjString imagePath!) - DynamicLoader.addLocalCSS("WebKit/widgets/common/CircularAvatar/CircularAvatar.css") + ClientUtil.addLocalCSS("WebKit/widgets/common/CircularAvatar/CircularAvatar.css") #window! = parent!.addChildWindow(parent!.getAvailableControlID(),0,0,0,0,"",$00108800$,BBjAPI().getSysGui().getAvailableContext()) #window!.addPanelStyle("circularAvatarPanelStyle") @@ -21,13 +20,14 @@ class public CircularAvatar extends BBjWidget methodend method public CircularAvatar(BBjWindow parent!, BBjString radius!, BBjString imagePath!, BBjString title!) - DynamicLoader.addLocalCSS("WebKit/widgets/common/CircularAvatar/CircularAvatar.css") + ClientUtil.addLocalCSS("WebKit/widgets/common/CircularAvatar/CircularAvatar.css") #window! = parent!.addChildWindow(parent!.getAvailableControlID(),0,0,0,0,"",$00108800$,BBjAPI().getSysGui().getAvailableContext()) - + if imagePath! = "" THEN - webComponents! = new AvatarIcon() - webComponents!.drawAvatarIcon(#window!, radius!, radius!, title! ) + webComponents! = new AvatarIcon(#window!) + webComponents!.setName(title!) + webComponents!.setSize(radius!) else #window!.addPanelStyle("circularAvatarPanelStyle") #window!.setPanelStyle("width", radius!) From a56af553a9f71de71acc02e88a2bdb4842f144e1 Mon Sep 17 00:00:00 2001 From: saadnoor salehin Date: Sun, 27 Mar 2022 13:06:50 +0600 Subject: [PATCH 24/24] Fix - Updated avatar initial with latest webcomponent changes --- widgets/WebComponents/AvatarIcon/AvatarIcon.bbj | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/widgets/WebComponents/AvatarIcon/AvatarIcon.bbj b/widgets/WebComponents/AvatarIcon/AvatarIcon.bbj index 82214a4f..4c8b3e9a 100644 --- a/widgets/WebComponents/AvatarIcon/AvatarIcon.bbj +++ b/widgets/WebComponents/AvatarIcon/AvatarIcon.bbj @@ -32,10 +32,10 @@ class public AvatarIcon extends WebComponents method public void redraw(Boolean init!) if init! > 0 then #htmlView! = #wnd!.addHtmlView(#wnd!.getAvailableControlID(),0,0,300,300,"") - #htmlView!.setText("") + #htmlView!.setText("") #htmlView! = #configureAvatarView(#htmlView!) else - #htmlView!.setText("") + #htmlView!.setText("") fi methodend