From 1f037e925149077c936ea6e66a1e268bf4b52b95 Mon Sep 17 00:00:00 2001 From: bruno Date: Fri, 28 Oct 2022 15:59:05 -0400 Subject: [PATCH] add dashbord information in xlsx --- code/web_utils.nim | 79 +++++--- config.nims | 2 +- data/dashbord.xlsx | Bin 10967 -> 21476 bytes main.nim | 41 ++-- public/css/bouton.css | 184 ++++++++++++++++++ public/images/bookmarks.jpg | Bin 0 -> 6391 bytes tmpl/tests/test_bouton.nim | 71 +++++++ tmpl/tests/test_bouton.tmpl | 36 ---- .../{test_homepage.tmpl => test_homepage.nim} | 2 +- ...test_notebooks.tmpl => test_notebooks.nim} | 0 .../tests/{test_notes.tmpl => test_notes.nim} | 0 tmpl/tests/{test_ping.tmpl => test_ping.nim} | 0 tmpl/tests/{test_tags.tmpl => test_tags.nim} | 0 .../{test_viewtree.tmpl => test_viewtree.nim} | 0 tmpl/{user.tmpl => user.nim} | 0 tmpl/{website.tmpl => website.nim} | 2 +- 16 files changed, 335 insertions(+), 82 deletions(-) create mode 100644 public/images/bookmarks.jpg create mode 100644 tmpl/tests/test_bouton.nim delete mode 100644 tmpl/tests/test_bouton.tmpl rename tmpl/tests/{test_homepage.tmpl => test_homepage.nim} (92%) rename tmpl/tests/{test_notebooks.tmpl => test_notebooks.nim} (100%) rename tmpl/tests/{test_notes.tmpl => test_notes.nim} (100%) rename tmpl/tests/{test_ping.tmpl => test_ping.nim} (100%) rename tmpl/tests/{test_tags.tmpl => test_tags.nim} (100%) rename tmpl/tests/{test_viewtree.tmpl => test_viewtree.nim} (100%) rename tmpl/{user.tmpl => user.nim} (100%) rename tmpl/{website.tmpl => website.nim} (99%) diff --git a/code/web_utils.nim b/code/web_utils.nim index 91977fd..70d9ffa 100644 --- a/code/web_utils.nim +++ b/code/web_utils.nim @@ -9,7 +9,8 @@ import xlsx # read dashbord.xlsx import jester import joplin_utils - +import strutils +import std/asyncdispatch # --==--==--==--==--==--==--==--==--==--==-- # # TYPE : Selected Option for master web page @@ -20,6 +21,26 @@ type notes = "Notes", notebooks = "Notesbooks", tags = "Tags", notes_selectednote = "Notes-SelectedNote", dashbord = "Dashboard" +# --==--==--==--==--==--==--==--==--==--==-- # +# TYPE : Dashbord information +# --==--==--==--==--==--==--==--==--==--==-- # +type DashbordData* = object + position*: seq[int] + ext_link*: seq[string] + int_link*: seq[string] + ip_link*: seq[string] + title*: seq[string] + description*: seq[string] + server*: seq[string] + ip*: seq[string] + port*: seq[int] + ssl*: seq[bool] + category*: seq[string] + icon*: seq[string] + open_method*: seq[string] + tag*: seq[string] + hotkey*: seq[string] + color*: seq[string] # --==--==--==--==--==--==--==--==--==--==-- # # TYPE : Data Informations for Left Colomn @@ -33,6 +54,7 @@ type ColomnLeftData* = ref object of RootObj j_notebooks_nb*: int j_tags*: joplin_tags j_tags_nb*: int + dashbord*: DashbordData req*: Request # --==--==--==--==--==--==--==--==--==--==-- # @@ -47,36 +69,41 @@ type ColomnRightData* = ref object of RootObj req*: Request -# --==--==--==--==--==--==--==--==--==--==-- # -# TYPE : Dashbord information -# --==--==--==--==--==--==--==--==--==--==-- # -type DashbordData* = ref object of RootObj - position*: seq[int] - ext_link*: seq[string] - int_link*: seq[string] - title*: seq[string] - category*: seq[string] - icon*: seq[string] - open_method*: seq[string] - tag*: seq[string] - hotkey*: seq[string] - color*: seq[string] - req*: Request - - # --==--==--==--==--==--==--==--==--==--==--==--==--==--==-- # -# PROC : +# PROC : get data from dashbord file # --==--==--==--==--==--==--==--==--==--==--==--==--==--==-- # -proc getDashbordData(ddata: var DashbordData) = +proc getDashbordData*(): Future[DashbordData] {.async.} = + + var ddata: DashbordData + let data = parseExcel("data/dashbord.xlsx", header = true) sheetName = "dashbord" - echo data[sheetName] + #echo data[sheetName] let rows = data[sheetName].toSeq(true) echo rows.len() - # for i in 0 ..data[sheetName]: - # ddata.position[i] = row[i] - for row in rows: - echo "position: " & row[0] - echo "URL externe: " & row[1] + for i in 0..(rows.len()-1): + ddata.position.add(parseInt(rows[i][0])) + ddata.ext_link.add(rows[i][1]) + ddata.int_link.add(rows[i][2]) + ddata.ip_link.add(rows[i][3]) + ddata.title.add(rows[i][4]) + ddata.description.add(rows[i][5]) + ddata.server.add(rows[i][6]) + ddata.ip.add(rows[i][7]) + ddata.port.add(parseInt(rows[i][8])) + if rows[i][9] == "OUI": + ddata.ssl.add(true) + else: + ddata.ssl.add(false) + + ddata.category.add(rows[i][10]) + ddata.icon.add(rows[i][11]) + ddata.open_method.add(rows[i][12]) + ddata.tag.add(rows[i][13]) + ddata.hotkey.add(rows[i][14]) + ddata.color.add(rows[i][15]) + + echo ddata + return ddata diff --git a/config.nims b/config.nims index 1f8a302..e9898b3 100644 --- a/config.nims +++ b/config.nims @@ -3,4 +3,4 @@ switch("d","release") # --threads:on --opt:size switch("passL","-s") -hint("Name",false) \ No newline at end of file +hint("Name",false) diff --git a/data/dashbord.xlsx b/data/dashbord.xlsx index 659371c065b7a5220b1814fd60e1f9877c903121..0d9e103a25bb9719060f472bb71c142d31eb398c 100644 GIT binary patch delta 17545 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 BN67#H delta 7033 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 0: @@ -224,6 +224,9 @@ template createTFD() = # Use the func() c.loggedIn = loggedIn(c) + # Read Dashbord file + # dashData = getDashbordData() + # isMainModule # ---------------------------- # @@ -256,19 +259,18 @@ when isMainModule: # Include template files # ---------------------------- # #include "tmpl/main.tmpl" -include "tmpl/user.tmpl" -include "tmpl/website.tmpl" +include "tmpl/user.nim" +include "tmpl/website.nim" # Tests pages include # ---------------------------- # -include "tmpl/tests/test_homepage.tmpl" -include "tmpl/tests/test_ping.tmpl" -include "tmpl/tests/test_notebooks.tmpl" -include "tmpl/tests/test_notes.tmpl" -include "tmpl/tests/test_tags.tmpl" -include "tmpl/tests/test_viewtree.tmpl" -include "tmpl/tests/test_bouton.tmpl" - +include "tmpl/tests/test_homepage.nim" +include "tmpl/tests/test_ping.nim" +include "tmpl/tests/test_notebooks.nim" +include "tmpl/tests/test_notes.nim" +include "tmpl/tests/test_tags.nim" +include "tmpl/tests/test_viewtree.nim" +include "tmpl/tests/test_bouton.nim" # --==--==--==--==--==--==--==--==--==--==-- # # Setup routes (URL's) @@ -350,15 +352,15 @@ routes: elif @"msg" == "dashbord": echo "=> Section dashbord" - #cld.option = dashbord + #url_note = "/secret?msg=dashbord" + cld.option = dashbord - # getDashbordData(dashData) elif @"msg" == "sendFeedBack": echo "Todo" resp Http200, {"Access-Control-Allow-Origin": "http://127.0.0.1:7000"}, - genSecret(c, cld, crd, dashData) + genSecret(c, cld, crd) # Login route @@ -455,7 +457,12 @@ routes: # --==--==--==--==--==--==--==--==--==--==-- # get "/test_bouton": createTFD() - resp test_bonton(dashData) + cld.dashbord = waitFor getDashbordData() + + #dashData.title.add("test de titre ...") + # echo dashData.title[0] + + resp test_bouton(cld) # Test geting all tags as JSON output # --==--==--==--==--==--==--==--==--==--==-- # diff --git a/public/css/bouton.css b/public/css/bouton.css index b7f6e8d..2477951 100644 --- a/public/css/bouton.css +++ b/public/css/bouton.css @@ -103,6 +103,13 @@ div.footer.sorts { } } +@media (prefers-color-scheme: dark) { + body { + background-color: #333; + color: #fff; + } +} + .content>div { max-width: 350px; } @@ -338,6 +345,7 @@ body.dark { .grid-container-description { grid-area: description; font-size: min(max(3.25vw, 8px), 18px); + padding: 10px; } .grid-container-description.jp { @@ -368,6 +376,7 @@ body.dark { /** https://webdeasy.de/en/top-css-buttons-en */ .glow-on-hover { + display: inline-block; width: 90vw; max-width: 400px; height: 45vw; @@ -512,4 +521,179 @@ div.crossfade>img.top { 100% { opacity: 0; } +} + + +/* loading.css */ + +#fountainG { + position: relative; + width: 234px; + height: 38px; + margin: auto; +} + +.fountainG { + position: absolute; + top: 0; + background-color: rgb(255, 255, 255); + width: 28px; + height: 28px; + animation-name: bounce_fountainG; + -o-animation-name: bounce_fountainG; + -ms-animation-name: bounce_fountainG; + -webkit-animation-name: bounce_fountainG; + -moz-animation-name: bounce_fountainG; + animation-duration: 0.975s; + -o-animation-duration: 0.975s; + -ms-animation-duration: 0.975s; + -webkit-animation-duration: 0.975s; + -moz-animation-duration: 0.975s; + animation-iteration-count: infinite; + -o-animation-iteration-count: infinite; + -ms-animation-iteration-count: infinite; + -webkit-animation-iteration-count: infinite; + -moz-animation-iteration-count: infinite; + animation-direction: normal; + -o-animation-direction: normal; + -ms-animation-direction: normal; + -webkit-animation-direction: normal; + -moz-animation-direction: normal; + transform: scale(.3); + -o-transform: scale(.3); + -ms-transform: scale(.3); + -webkit-transform: scale(.3); + -moz-transform: scale(.3); + border-radius: 19px; + -o-border-radius: 19px; + -ms-border-radius: 19px; + -webkit-border-radius: 19px; + -moz-border-radius: 19px; +} + +#fountainG_1 { + left: 0; + animation-delay: 0.386s; + -o-animation-delay: 0.386s; + -ms-animation-delay: 0.386s; + -webkit-animation-delay: 0.386s; + -moz-animation-delay: 0.386s; +} + +#fountainG_2 { + left: 29px; + animation-delay: 0.4825s; + -o-animation-delay: 0.4825s; + -ms-animation-delay: 0.4825s; + -webkit-animation-delay: 0.4825s; + -moz-animation-delay: 0.4825s; +} + +#fountainG_3 { + left: 58px; + animation-delay: 0.589s; + -o-animation-delay: 0.589s; + -ms-animation-delay: 0.589s; + -webkit-animation-delay: 0.589s; + -moz-animation-delay: 0.589s; +} + +#fountainG_4 { + left: 88px; + animation-delay: 0.6855s; + -o-animation-delay: 0.6855s; + -ms-animation-delay: 0.6855s; + -webkit-animation-delay: 0.6855s; + -moz-animation-delay: 0.6855s; +} + +#fountainG_5 { + left: 117px; + animation-delay: 0.782s; + -o-animation-delay: 0.782s; + -ms-animation-delay: 0.782s; + -webkit-animation-delay: 0.782s; + -moz-animation-delay: 0.782s; +} + +#fountainG_6 { + left: 146px; + animation-delay: 0.8785s; + -o-animation-delay: 0.8785s; + -ms-animation-delay: 0.8785s; + -webkit-animation-delay: 0.8785s; + -moz-animation-delay: 0.8785s; +} + +#fountainG_7 { + left: 175px; + animation-delay: 0.975s; + -o-animation-delay: 0.975s; + -ms-animation-delay: 0.975s; + -webkit-animation-delay: 0.975s; + -moz-animation-delay: 0.975s; +} + +#fountainG_8 { + left: 205px; + animation-delay: 1.0715s; + -o-animation-delay: 1.0715s; + -ms-animation-delay: 1.0715s; + -webkit-animation-delay: 1.0715s; + -moz-animation-delay: 1.0715s; +} + +@keyframes bounce_fountainG { + 0% { + transform: scale(1); + background-color: rgb(255, 0, 0); + } + 100% { + transform: scale(.3); + background-color: rgb(255, 255, 255); + } +} + +@-o-keyframes bounce_fountainG { + 0% { + -o-transform: scale(1); + background-color: rgb(255, 0, 0); + } + 100% { + -o-transform: scale(.3); + background-color: rgb(255, 255, 255); + } +} + +@-ms-keyframes bounce_fountainG { + 0% { + -ms-transform: scale(1); + background-color: rgb(255, 0, 0); + } + 100% { + -ms-transform: scale(.3); + background-color: rgb(255, 255, 255); + } +} + +@-webkit-keyframes bounce_fountainG { + 0% { + -webkit-transform: scale(1); + background-color: rgb(255, 0, 0); + } + 100% { + -webkit-transform: scale(.3); + background-color: rgb(255, 255, 255); + } +} + +@-moz-keyframes bounce_fountainG { + 0% { + -moz-transform: scale(1); + background-color: rgb(255, 0, 0); + } + 100% { + -moz-transform: scale(.3); + background-color: rgb(255, 255, 255); + } } \ No newline at end of file diff --git a/public/images/bookmarks.jpg b/public/images/bookmarks.jpg new file mode 100644 index 0000000000000000000000000000000000000000..15781ceaedb305336e5f94eb0c744b0f9649bb22 GIT binary patch literal 6391 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 N4E~d&DGMW?{|9FYfRg|K literal 0 HcmV?d00001 diff --git a/tmpl/tests/test_bouton.nim b/tmpl/tests/test_bouton.nim new file mode 100644 index 0000000..d7dd1f0 --- /dev/null +++ b/tmpl/tests/test_bouton.nim @@ -0,0 +1,71 @@ +#? stdtmpl | standard +# +#proc test_bouton(columnLeftInfo: var ColomnLeftData): string = +# result = "" + + + + + + + + Document + + + + + + + + + + +

TEST Bouton Dashbord

+ +
+
+
+
+ # var count: int = 1 + # var i: int + # for i in 0 .. (columnLeftInfo.dashbord.position.len() - 1) : + # count += 1 + # if columnLeftInfo.dashbord.ext_link[i] == "" and columnLeftInfo.dashbord.int_link[i] == "": + + # end for +
+
+
+ + + +
+ + + +#end proc \ No newline at end of file diff --git a/tmpl/tests/test_bouton.tmpl b/tmpl/tests/test_bouton.tmpl deleted file mode 100644 index 95447bf..0000000 --- a/tmpl/tests/test_bouton.tmpl +++ /dev/null @@ -1,36 +0,0 @@ -#? stdtmpl | standard -# -#proc test_bonton(dashData: var DashbordData): string = -# result = "" - - - - - - - Document - - - - - - - - -

TEST Bouton Dashbord

-
- -
- - -#end proc \ No newline at end of file diff --git a/tmpl/tests/test_homepage.tmpl b/tmpl/tests/test_homepage.nim similarity index 92% rename from tmpl/tests/test_homepage.tmpl rename to tmpl/tests/test_homepage.nim index 9efdab9..ce77261 100644 --- a/tmpl/tests/test_homepage.tmpl +++ b/tmpl/tests/test_homepage.nim @@ -19,7 +19,7 @@

Test joplin Notebooks

Test Joplin Notes

Test Joplin Tags

-

Test View Tree

+

Test View Tree

Test Bouton

diff --git a/tmpl/tests/test_notebooks.tmpl b/tmpl/tests/test_notebooks.nim similarity index 100% rename from tmpl/tests/test_notebooks.tmpl rename to tmpl/tests/test_notebooks.nim diff --git a/tmpl/tests/test_notes.tmpl b/tmpl/tests/test_notes.nim similarity index 100% rename from tmpl/tests/test_notes.tmpl rename to tmpl/tests/test_notes.nim diff --git a/tmpl/tests/test_ping.tmpl b/tmpl/tests/test_ping.nim similarity index 100% rename from tmpl/tests/test_ping.tmpl rename to tmpl/tests/test_ping.nim diff --git a/tmpl/tests/test_tags.tmpl b/tmpl/tests/test_tags.nim similarity index 100% rename from tmpl/tests/test_tags.tmpl rename to tmpl/tests/test_tags.nim diff --git a/tmpl/tests/test_viewtree.tmpl b/tmpl/tests/test_viewtree.nim similarity index 100% rename from tmpl/tests/test_viewtree.tmpl rename to tmpl/tests/test_viewtree.nim diff --git a/tmpl/user.tmpl b/tmpl/user.nim similarity index 100% rename from tmpl/user.tmpl rename to tmpl/user.nim diff --git a/tmpl/website.tmpl b/tmpl/website.nim similarity index 99% rename from tmpl/website.tmpl rename to tmpl/website.nim index ff58ad2..44af9da 100644 --- a/tmpl/website.tmpl +++ b/tmpl/website.nim @@ -13,7 +13,7 @@ # # import snippet_html # import snippet_icons -#proc genSecret(c: var TData, columnLeftInfo: var ColomnLeftData, ColomnRightInfo: var ColomnRightData, DashbordInfo: var DashbordData): string = +#proc genSecret(c: var TData, columnLeftInfo: var ColomnLeftData, ColomnRightInfo: var ColomnRightData): string = # result = ""