From cb58262507f085c33e88626bca43c93631e6b62a Mon Sep 17 00:00:00 2001 From: Josh Date: Tue, 22 Feb 2022 15:22:32 +1000 Subject: [PATCH] Moved to Giraffe View Engine --- Authenticate/Controller.fs | 13 +- Authenticate/Router.fs | 2 +- Authenticate/View.fs | 10 ++ Core/DredgeFramework.module.fs | 4 +- DredgePos.fsproj | 161 +----------------- Entities/Floorplan_Decorations/Controller.fs | 18 +- Entities/Floorplan_Decorations/View.fs | 24 +++ Floorplan/Controller.fs | 30 ++-- Floorplan/Router.fs | 5 +- Floorplan/View.fs | 88 ++++++++++ Global/Controller.fs | 7 + Global/Router.fs | 11 ++ Global/View.fs | 109 ++++++++++++ package.json | 4 +- typescript/dredgepos.floorplan.ts | 2 +- typescript/keyboards.ts | 1 - views/restaurant/alert.tpl.htm | 9 - views/restaurant/authenticate.tpl.htm | 15 -- views/restaurant/backupPayentsplitter.htm | 113 ------------ views/restaurant/button.tpl.htm | 14 -- views/restaurant/buttonWithImage.tpl.htm | 14 -- views/restaurant/categories/BeerPage1.tpl.htm | 67 -------- views/restaurant/categories/BeerPage2.tpl.htm | 67 -------- .../categories/DessertsPage1.tpl.htm | 66 ------- .../restaurant/categories/MainsPage1.tpl.htm | 67 -------- .../categories/StartersPage1.tpl.htm | 68 -------- views/restaurant/categories/WinePage1.tpl.htm | 67 -------- views/restaurant/categoryButton.tpl.htm | 3 - views/restaurant/categoryMenu.tpl.htm | 5 - views/restaurant/components/posButton.tpl.htm | 3 - views/restaurant/decoratorItem.tpl.htm | 4 - views/restaurant/decoratorRow.tpl.htm | 3 - views/restaurant/floorplan.tpl.htm | 79 --------- views/restaurant/keyboards.tpl.htm | 3 - views/restaurant/orderBox.tpl.htm | 1 - views/restaurant/orderBoxTable.tpl.htm | 21 --- views/restaurant/orderScreen.tpl - Copy.htm | 107 ------------ views/restaurant/orderScreen.tpl.htm | 84 --------- .../orderScreen/button_image.tpl.htm | 1 - .../change_cover_number_button.tpl.htm | 1 - .../orderScreen/cover_selector.tpl.htm | 3 - .../orderScreen/grid_button.tpl.htm | 6 - .../orderScreen/grid_container.tpl.htm | 13 -- views/restaurant/orderScreen/page.tpl.htm | 6 - .../restaurant/orderScreen/page_group.tpl.htm | 3 - .../orderScreen/page_group_button.tpl.htm | 3 - views/restaurant/paymentSplitter.tpl.htm | 157 ----------------- views/restaurant/popupBoxItems.tpl.htm | 1 - views/restaurant/roomButton.tpl.htm | 1 - views/restaurant/virtualKeyboard.tpl.htm | 71 -------- views/restaurant/virtualNumpad.tpl.htm | 28 --- 51 files changed, 284 insertions(+), 1379 deletions(-) create mode 100644 Authenticate/View.fs create mode 100644 Entities/Floorplan_Decorations/View.fs create mode 100644 Floorplan/View.fs create mode 100644 Global/Controller.fs create mode 100644 Global/Router.fs create mode 100644 Global/View.fs delete mode 100644 views/restaurant/alert.tpl.htm delete mode 100644 views/restaurant/authenticate.tpl.htm delete mode 100644 views/restaurant/backupPayentsplitter.htm delete mode 100644 views/restaurant/button.tpl.htm delete mode 100644 views/restaurant/buttonWithImage.tpl.htm delete mode 100644 views/restaurant/categories/BeerPage1.tpl.htm delete mode 100644 views/restaurant/categories/BeerPage2.tpl.htm delete mode 100644 views/restaurant/categories/DessertsPage1.tpl.htm delete mode 100644 views/restaurant/categories/MainsPage1.tpl.htm delete mode 100644 views/restaurant/categories/StartersPage1.tpl.htm delete mode 100644 views/restaurant/categories/WinePage1.tpl.htm delete mode 100644 views/restaurant/categoryButton.tpl.htm delete mode 100644 views/restaurant/categoryMenu.tpl.htm delete mode 100644 views/restaurant/components/posButton.tpl.htm delete mode 100644 views/restaurant/decoratorItem.tpl.htm delete mode 100644 views/restaurant/decoratorRow.tpl.htm delete mode 100644 views/restaurant/floorplan.tpl.htm delete mode 100644 views/restaurant/keyboards.tpl.htm delete mode 100644 views/restaurant/orderBox.tpl.htm delete mode 100644 views/restaurant/orderBoxTable.tpl.htm delete mode 100644 views/restaurant/orderScreen.tpl - Copy.htm delete mode 100644 views/restaurant/orderScreen.tpl.htm delete mode 100644 views/restaurant/orderScreen/button_image.tpl.htm delete mode 100644 views/restaurant/orderScreen/change_cover_number_button.tpl.htm delete mode 100644 views/restaurant/orderScreen/cover_selector.tpl.htm delete mode 100644 views/restaurant/orderScreen/grid_button.tpl.htm delete mode 100644 views/restaurant/orderScreen/grid_container.tpl.htm delete mode 100644 views/restaurant/orderScreen/page.tpl.htm delete mode 100644 views/restaurant/orderScreen/page_group.tpl.htm delete mode 100644 views/restaurant/orderScreen/page_group_button.tpl.htm delete mode 100644 views/restaurant/paymentSplitter.tpl.htm delete mode 100644 views/restaurant/popupBoxItems.tpl.htm delete mode 100644 views/restaurant/roomButton.tpl.htm delete mode 100644 views/restaurant/virtualKeyboard.tpl.htm delete mode 100644 views/restaurant/virtualNumpad.tpl.htm diff --git a/Authenticate/Controller.fs b/Authenticate/Controller.fs index af3a866..7aa2626 100644 --- a/Authenticate/Controller.fs +++ b/Authenticate/Controller.fs @@ -1,16 +1,15 @@ module DredgePos.Authenticate.Controller -open Giraffe open DredgeFramework open Microsoft.AspNetCore.Http +open DredgePos.Global.Controller -let loadAuthenticatePage (): HttpHandler = - let variables = map ["title", "Log In"] - let scripts = ["dredgepos.authenticate.js"] - let styles = ["dredgepos.authenticate.css"] +let loadAuthenticatePage = + let scripts = [|"dredgepos.authenticate.js"|] |> addDefaultScripts + let styles = [|"dredgepos.authenticate.css"|] |> addDefaultStyles + let metaTags = [|"viewport", "user-scalable = no, initial-scale=0.8,maximum-scale=0.8 ,shrink-to-fit=yes"|] |> addDefaultMetaTags - Theme.loadTemplateWithVarsScriptsAndStyles "authenticate" variables scripts styles - |> htmlString + View.index scripts styles metaTags let loginWithLoginCode (context: HttpContext) (login_code: int) = if Model.clerkLogin login_code context then ajaxSuccess "success" diff --git a/Authenticate/Router.fs b/Authenticate/Router.fs index 3152206..07eb55a 100644 --- a/Authenticate/Router.fs +++ b/Authenticate/Router.fs @@ -3,7 +3,7 @@ open Saturn open Giraffe -let homepage = (warbler (fun _ -> Controller.loadAuthenticatePage() )) +let homepage = (warbler (fun _ -> htmlView Controller.loadAuthenticatePage )) let handlePostRoute<'a> handlerFunction post next ctx = json (handlerFunction ctx post) next ctx let pipeline = pipeline{ diff --git a/Authenticate/View.fs b/Authenticate/View.fs new file mode 100644 index 0000000..90cb43f --- /dev/null +++ b/Authenticate/View.fs @@ -0,0 +1,10 @@ +module DredgePos.Authenticate.View + +open DredgePos.Global.View +open Giraffe.ViewEngine + +let content = div [_id "authenticator"] [] + +let index scripts styles metaTags = HtmlPage "Floorplan" (GetScripts scripts) (GetStyles styles) (GetMetaTags metaTags) [|content|] + + diff --git a/Core/DredgeFramework.module.fs b/Core/DredgeFramework.module.fs index e6e6857..bf6f597 100644 --- a/Core/DredgeFramework.module.fs +++ b/Core/DredgeFramework.module.fs @@ -2,7 +2,6 @@ open System.Collections.Generic open System.Globalization -open FSharp.Data.Sql open System open System.Drawing open System.IO @@ -35,8 +34,9 @@ let EnumerableToArray (enumerable: IEnumerable<'T>) = enumerable.ToArray() let getFileExtension (file: string) = Path.GetExtension file -let GetFileContents (file: string) = File.ReadAllText file +let GetFileContents = File.ReadAllText let GetFileName (file: string) = Path.GetFileName file +let FileExists = File.Exists let length (variable: 'T[]) = variable.Length let first (array: 'a[]) = array[0] diff --git a/DredgePos.fsproj b/DredgePos.fsproj index 50d3bcb..a91790b 100644 --- a/DredgePos.fsproj +++ b/DredgePos.fsproj @@ -13,15 +13,21 @@ + + + + + + @@ -106,168 +112,15 @@ true PreserveNewest - - true - PreserveNewest - - - true - PreserveNewest - - - true - PreserveNewest - - - true - PreserveNewest - - - true - PreserveNewest - - - true - PreserveNewest - - - true - PreserveNewest - - - true - PreserveNewest - - - true - PreserveNewest - - - true - PreserveNewest - - - true - PreserveNewest - - - true - PreserveNewest - - - true - PreserveNewest - - - true - PreserveNewest - - - true - PreserveNewest - - - true - PreserveNewest - - - true - PreserveNewest - - - true - PreserveNewest - - - true - PreserveNewest - - - true - PreserveNewest - - - true - PreserveNewest - - - true - PreserveNewest - - - true - PreserveNewest - - - true - PreserveNewest - - - true - PreserveNewest - - - true - PreserveNewest - - - true - PreserveNewest - - - true - PreserveNewest - - - true - PreserveNewest - - - true - PreserveNewest - - - true - PreserveNewest - - - true - PreserveNewest - - - true - PreserveNewest - - - true - PreserveNewest - - - true - PreserveNewest - - - - - - - - - - all - runtime; build; native; contentfiles; analyzers; buildtransitive - - - - + diff --git a/Entities/Floorplan_Decorations/Controller.fs b/Entities/Floorplan_Decorations/Controller.fs index b45fa65..e86e453 100644 --- a/Entities/Floorplan_Decorations/Controller.fs +++ b/Entities/Floorplan_Decorations/Controller.fs @@ -1,27 +1,13 @@ module DredgePos.Entities.Floorplan_Decorations.Controller -open DredgeFramework -open System open System.IO -let getImageHTML (imageName: string, imageUrl: string) = - let vars = map [ - "image_name", imageName - "image_url", imageUrl - ] - Theme.loadTemplateWithVars "decoratorItem" vars - -let getImageRowHtml (imagesInRow: string[]) = - let vars = map ["decorations", String.Join("", imagesInRow)] - Theme.loadTemplateWithVars "decoratorRow" vars - let generateDecorator () = "wwwroot/images/decorations" |> Directory.GetFiles |> Array.filter Model.isImageFile |> Array.map Model.GetFileNameWithoutExtension |> Array.map Model.getImageName - |> Array.map getImageHTML + |> Array.map View.decoratorItem |> Array.chunkBySize 4 - |> Array.map getImageRowHtml - |> JoinArray "" \ No newline at end of file + |> Array.map View.decoratorRow \ No newline at end of file diff --git a/Entities/Floorplan_Decorations/View.fs b/Entities/Floorplan_Decorations/View.fs new file mode 100644 index 0000000..a08b594 --- /dev/null +++ b/Entities/Floorplan_Decorations/View.fs @@ -0,0 +1,24 @@ +module DredgePos.Entities.Floorplan_Decorations.View + +open Giraffe.ViewEngine +open DredgePos.Global.View + +let decoratorItem (imageName, imageUrl) = + let image = attr "data-image" + div [_class "decoratorItem"; image imageUrl] [ + a [_style $"background-image:url('/images/decorations/{imageUrl}')"] [] + a [] [str imageName] + ] + +let decoratorRow decoratorItems = div [_class "decoratorRow"] [yield! decoratorItems] + +let decorator (decorationRows: XmlNode[]) = + div [_id "decorator"] [ + div [_id "decoratorHeader"] [ + h2 [] [lang "choose_decoration"] + a [_class "posButton hideDecorator"] [str "×"] + ] + div [_id "decoratorContent"] [ + yield! decorationRows + ] + ] \ No newline at end of file diff --git a/Floorplan/Controller.fs b/Floorplan/Controller.fs index d57cd98..09087bd 100644 --- a/Floorplan/Controller.fs +++ b/Floorplan/Controller.fs @@ -2,10 +2,13 @@ open DredgeFramework open DredgePos +open DredgePos.Global.Controller +open DredgePos.Entities open DredgePos.Types open Giraffe open Microsoft.AspNetCore.Http open Model +open System.IO let makeRoomButton (room: floorplan_room) = let vars = map [ @@ -70,7 +73,7 @@ let deleteTable (table: floorplan_table) = table |> ajaxSuccess |> json let transferTable (origin, destination) = - Model.transferTable origin destination + transferTable origin destination let data = map ["origin", getTable origin ; "destination", getTable destination] ajaxSuccess data |> json @@ -105,23 +108,12 @@ let DeleteDecoration (decorationToDelete: floorplan_decoration) = |> ajaxSuccess |> json -let loadFloorplan (ctx: HttpContext) : HttpHandler = +let loadFloorplanView (ctx: HttpContext) = Authenticate.Model.RequireClerkAuthentication ctx + let roomMenu = Entity.GetAllInVenue |> Array.map View.roomButton + let currentClerk = Authenticate.Model.getCurrentClerk ctx + let styles = [|"dredgepos.floorplan.css"|] |> addDefaultStyles + let scripts = [|"./external/konva.min.js" ; "dredgepos.floorplan.js"|] |> addDefaultScripts + let metaTags = [|"viewport", "user-scalable = no, initial-scale=0.8,maximum-scale=0.8 ,shrink-to-fit=yes"|] |> addDefaultMetaTags - let roomMenu = - Entity.GetAllInVenue - |> Array.map makeRoomButton - |> joinWithNewLine - - let variables = map [ - "title", "Floorplan" - "roomMenu", roomMenu - "decorator", Entities.Floorplan_Decorations.Controller.generateDecorator() - ] - let styles = ["dredgepos.floorplan.css"] - let scripts = ["./external/konva.min.js" ; "dredgepos.floorplan.js"] - let currentClerk = recordToMap <| Authenticate.Model.getCurrentClerk ctx - - let arrays = map ["clerk", currentClerk] - - htmlString <| Theme.loadTemplateWithVarsArraysScriptsAndStyles "floorplan" variables arrays scripts styles + View.index styles scripts metaTags currentClerk (Floorplan_Decorations.Controller.generateDecorator ()) roomMenu \ No newline at end of file diff --git a/Floorplan/Router.fs b/Floorplan/Router.fs index c7e1f9d..3c28778 100644 --- a/Floorplan/Router.fs +++ b/Floorplan/Router.fs @@ -1,16 +1,17 @@ module DredgePos.Floorplan.Router open DredgePos +open DredgePos.Global.Router open DredgePos.Types open Saturn open Giraffe -let floorplan = (warbler (fun ctx -> DredgePos.Floorplan.Controller.loadFloorplan (snd ctx))) +let floorplan = (htmlViewWithContext Controller.loadFloorplanView) let router = router { pipe_through Ajax.Router.pipeline - get "/" floorplan get "" floorplan + get "/" floorplan post "/mergeTables" (bindJson Controller.mergeTables) post "/transformTable" (bindJson Controller.transformTable) post "/createTable" (bindJson Controller.createTable) diff --git a/Floorplan/View.fs b/Floorplan/View.fs new file mode 100644 index 0000000..4300f60 --- /dev/null +++ b/Floorplan/View.fs @@ -0,0 +1,88 @@ +module DredgePos.Floorplan.View + +open DredgePos.Global +open DredgePos.Global.View +open DredgePos.Entities +open DredgePos.Types +open Giraffe.ViewEngine +open DredgeFramework + + +let VisibleInMode (value: string list) = value |> jsonEncode |> (attr "data-visible-in-mode") +let InvisibleInMode (value: string list) = value |> jsonEncode |> (attr "data-invisible-in-mode") +let ActiveInMode (value: string) = value |> (attr "data-active-in-mode") + + +let pageContainer (clerk: clerk) roomMenu = + let loggedInText = str (language.getAndReplace "logged_in_as" [clerk.clerk_name]) + + div [_id "pageContainer"] [ + div [_id "floorplanLeftColumn"] [ + div [_class "topCell"] [ + a [_class "posHeader"] [loggedInText] + ] + div [_class "middleCell"] [] + div [_class "bottomCell"] [] + ] + + div [_id "floorplanCenterColumn"] [ + div [_class "topCell"] [ + yield! roomMenu + ] + div [_class "middleCell"] [ + div [_id "floorplanCanvas"] [] + div [_id "floorplanCanvas"] [] + ] + + div [_class "bottomCell"] [ + div [_class "editControls" ; VisibleInMode ["tableSelected"]] [ + div [_class "posHeader currentTable"] [ + b [_class "selectedTableNumber"] [] + a [_class "reservationStatus"; VisibleInMode ["reservedTableSelected"]] [] + small [_class "selectedTableCovers"] [] + ] + + a [_class "posButton placeOrderButton"] [lang "order_table"] + a [_class "posButton reserveTableButton"; InvisibleInMode ["reservedTableSelected"; "activeTableSelected"]] [lang "reserve_table"] + a [_class "posButton unreserveTableButton"; VisibleInMode ["reservedTableSelected"]] [lang "unreserve_table"] + a [_class "posButton payTableButton"; VisibleInMode ["activeTableSelected"]] [lang "pay_table"] + a [_class "posButton viewTableButton"; VisibleInMode ["activeTableSelected"]] [lang "view_table"] + ] + ] + ] + + div [_id "floorplanRightColumn"] [ + div [_class "topCell"] [ + a [_class "posButton logOut"] [str "×"] + ] + + div [_class "middleCell"] [ + a [_class "posButton editModeButton"] [lang "edit_floorplan"] + div [_class "floorplanControls useVisibility"; VisibleInMode ["edit"]] [ + a [_class "posButton addTableButton"] [lang "add_table"] + a [_class "posButton addDecoration"] [lang "add_decoration"] + a [_class "posButton deleteDecoration useVisibility"; VisibleInMode ["decorationSelected"; "edit"] ] [lang "delete_decoration"] + a [_class "posButton deleteTableButton useVisibility"; VisibleInMode ["tableSelected"; "edit"]] [lang "delete_table"] + a [_class "posButton changeShapeButton useVisibility"; VisibleInMode ["tableSelected"; "edit"]] [lang "change_shape"] + ] + + div [_class "mergeControls useVisibility"; VisibleInMode ["tableSelected"]] [ + a [_class "posButton mergeButton"; ActiveInMode "merge"] [lang "merge_table"] + a [_class "posButton unmergeButton"; VisibleInMode ["tableSelected"]] [lang "unmerge_table"] + a [_class "posButton transferTableButton" ; ActiveInMode "transfer" ; VisibleInMode ["activeTableSelected"]] [lang "transfer_table"] + ] + ] + + div [_class "bottomCell"] [] + ] + ] + +let roomButton (room: floorplan_room) = a [_class "posButton roomButton"; Value (string room.id)] [str room.room_name ] + +let index styles scripts tags clerk decoratorRows roomMenu = + [| + pageContainer clerk roomMenu + decoratorRows |> Floorplan_Decorations.View.decorator + |] + |> HtmlPage "Floorplan" (GetScripts scripts) (GetStyles styles) (GetMetaTags tags) + diff --git a/Global/Controller.fs b/Global/Controller.fs new file mode 100644 index 0000000..d635d90 --- /dev/null +++ b/Global/Controller.fs @@ -0,0 +1,7 @@ +module DredgePos.Global.Controller + +open DredgeFramework + +let addDefaultScripts scripts = scripts |> Array.append [|"./external/jquery.js" ; "dredgepos.core.js"; "keyboards.js";|] +let addDefaultStyles styles = styles |> Array.append [|"dark.theme.css";|] +let addDefaultMetaTags (tags: (string*string)[]) = tags |> Array.append [|"apple-mobile-web-app-capable", "yes"|] \ No newline at end of file diff --git a/Global/Router.fs b/Global/Router.fs new file mode 100644 index 0000000..3330747 --- /dev/null +++ b/Global/Router.fs @@ -0,0 +1,11 @@ +module DredgePos.Global.Router + +open Saturn +open Giraffe + +let htmlViewWithContext func = + (fun ctx -> + func (snd ctx) + |> htmlView + ) + |> warbler \ No newline at end of file diff --git a/Global/View.fs b/Global/View.fs new file mode 100644 index 0000000..543800d --- /dev/null +++ b/Global/View.fs @@ -0,0 +1,109 @@ +module DredgePos.Global.View + +open Giraffe.ViewEngine +open DredgeFramework + +let Value = attr "data-value" +let innerText = str +let lang key = language.get key |> str + +let scriptToHTML (scriptFile: string) = + let scriptPath = $"/scripts/{scriptFile}" + match FileExists ("wwwroot" + scriptPath) with + | true -> script [_src scriptPath] [] + | false -> comment $"[Missing script: {scriptFile}]" +let GetScripts (scripts: string[]) = scripts |> Array.map scriptToHTML + +let styleToHTML (stylesheet:string) = + let stylePath = $"/styles/{stylesheet}" + match FileExists ("wwwroot" + stylePath) with + | true -> link [_rel "stylesheet" ; _href stylePath] + | false -> comment $"[Missing style: {stylesheet}]" + +let GetStyles (scripts: string[]) = scripts |> Array.map styleToHTML + +let tagToHtml (tag, content) = meta [_name tag; _content content] + +let GetMetaTags (tags: (string * string)[]) = tags |> Array.map tagToHtml + +let VirtualKeyboardRow numberOfButtons = + let buttons = Array.init numberOfButtons (fun _ -> a [] []) + div [_class "virtualKeyboardRow"] [ + yield! buttons + ] + +let VirtualKeyboard = + div [_id "virtualKeyboard"] [ + div [_class "headingRow"] [ + h3 [_id "virtualKeyboardHeading"] [] + a [_class "posButton closeKeyboards"] [str "X"] + ] + input [_type "text"; _name "virtualKeyboardInput"; _id "virtualKeyboardInput"] + div [_id "virtualKeyboardButtons"] [ + VirtualKeyboardRow 13 + VirtualKeyboardRow 14 + VirtualKeyboardRow 13 + VirtualKeyboardRow 11 + VirtualKeyboardRow 1 + ] + span [_class "forceFocus"] [] + ] + +let VirtualNumpadButton (text: string) = + a [_href "#"; Value (text.ToLower()); _class "posButton virtualNumpadButton"] [str text] + +let VirtualNumpadRow (buttons:string[]) = + div [_class "virtualNumpadRow"] [ + yield! Array.map VirtualNumpadButton buttons + ] + +let VirtualNumpad = + div [_id "virtualNumpad"] [ + div [_class "headingRow"] [ + h3 [_id "virtualNumpadHeading"] [] + a [_class "posButton closeKeyboards"] [str "X"] + ] + div [_id "virtualNumpadInput"] [] + div [_id "virtualNumpadButtons"] [ + VirtualNumpadRow [|"1"; "2"; "3"|] + VirtualNumpadRow [|"4"; "5"; "6"|] + VirtualNumpadRow [|"7"; "8"; "9"|] + VirtualNumpadRow [|"0"; "."; "Clear"|] + VirtualNumpadRow [|"Submit"|] + ] + ] + +let alert = + div [_id "alert"] [ + div [_id "alertHeading"] [] + div [_id "alertMessage"] [] + div [_id "alertButtons"] [ + a [_class "posButton"; _id "alertOk"] [lang "alert_ok"] + a [_class "posButton"; _id "alertYes"] [lang "alert_yes"] + a [_class "posButton"; _id "alertNo"] [lang "alert_no"] + ] + ] +let keyboards = [| + VirtualKeyboard + VirtualNumpad + alert +|] + +let HtmlPage pageTitle scripts styles tags content = + html [] [ + head [] [ + title [] [innerText pageTitle] + link [_rel "manifest" ; _href "/manifest.webmanifest"] + yield! styles + yield! scripts + yield! tags + ] + body [] [ + yield! content + yield! keyboards + ] + ] + +let HTMLPageWithScripts pageTitle scripts content = HtmlPage pageTitle scripts [||] content +let HTMLPageWithStyles pageTitle styles content = HtmlPage pageTitle [||] styles content +let HTMLPageWithNoScriptsOrStyles pageTitle content = HtmlPage pageTitle [||] [||] content diff --git a/package.json b/package.json index f0f9f1c..6909353 100644 --- a/package.json +++ b/package.json @@ -14,8 +14,8 @@ "license": "", "repository": "", "scripts": { - "sass": "sass sass:wwwroot/styles", + "sass": "sass sass:wwwroot/styles", "typescript": "tsc", - "build" : "npm run sass && npm run typescript" + "build": "npm run sass && npm run typescript" } } diff --git a/typescript/dredgepos.floorplan.ts b/typescript/dredgepos.floorplan.ts index 3a901e9..497a97d 100644 --- a/typescript/dredgepos.floorplan.ts +++ b/typescript/dredgepos.floorplan.ts @@ -173,7 +173,7 @@ const createTableShape = (table: floorplan_table) => { stroke: "black", strokeWidth: 4, draggable: false, - listening: true + listening: true, }); break; default: diff --git a/typescript/keyboards.ts b/typescript/keyboards.ts index 8bbc711..37ee35b 100644 --- a/typescript/keyboards.ts +++ b/typescript/keyboards.ts @@ -228,7 +228,6 @@ let showVirtualNumpad = (heading: string, maxlength = 4, isPassword: boolean, al index = index + 1 let currentRow : string[] = layoutToLoad[`row${index}${modifier}`] - $(row).children('a').each((keyIndex, button) => { let key = $(button); let keyValue: string = currentRow[keyIndex]; diff --git a/views/restaurant/alert.tpl.htm b/views/restaurant/alert.tpl.htm deleted file mode 100644 index eca79a5..0000000 --- a/views/restaurant/alert.tpl.htm +++ /dev/null @@ -1,9 +0,0 @@ -
-
-
-
- - - -
-
\ No newline at end of file diff --git a/views/restaurant/authenticate.tpl.htm b/views/restaurant/authenticate.tpl.htm deleted file mode 100644 index 6c8186c..0000000 --- a/views/restaurant/authenticate.tpl.htm +++ /dev/null @@ -1,15 +0,0 @@ - - - - <!--[var:title]--> - - - - - -
- -
- - - \ No newline at end of file diff --git a/views/restaurant/backupPayentsplitter.htm b/views/restaurant/backupPayentsplitter.htm deleted file mode 100644 index 24ba26b..0000000 --- a/views/restaurant/backupPayentsplitter.htm +++ /dev/null @@ -1,113 +0,0 @@ - - - - DredgePOS - - - - - - - - - - - -
-
- -
-
-

Whole Table

- - - - - - - - - - - - - - - - - - - - -
Item CodeQtyItemUnit PricePrint GroupTotal PriceCoverClerkSelected QtyOriginal QtyCategoryDepartment
-
-
- > - < -
-
-

Partial Table

- - - - - - - - - - - - - - - - - - - -
Item CodeQtyItemUnit PricePrint GroupTotal PriceCoverClerkSelected QtyCategoryDepartment
-
- -
-
-
- - - - - - - - \ No newline at end of file diff --git a/views/restaurant/button.tpl.htm b/views/restaurant/button.tpl.htm deleted file mode 100644 index cf7ed25..0000000 --- a/views/restaurant/button.tpl.htm +++ /dev/null @@ -1,14 +0,0 @@ -
-
- -
-
\ No newline at end of file diff --git a/views/restaurant/buttonWithImage.tpl.htm b/views/restaurant/buttonWithImage.tpl.htm deleted file mode 100644 index db27cfe..0000000 --- a/views/restaurant/buttonWithImage.tpl.htm +++ /dev/null @@ -1,14 +0,0 @@ -
- - - -
\ No newline at end of file diff --git a/views/restaurant/categories/BeerPage1.tpl.htm b/views/restaurant/categories/BeerPage1.tpl.htm deleted file mode 100644 index b8675ac..0000000 --- a/views/restaurant/categories/BeerPage1.tpl.htm +++ /dev/null @@ -1,67 +0,0 @@ -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
\ No newline at end of file diff --git a/views/restaurant/categories/BeerPage2.tpl.htm b/views/restaurant/categories/BeerPage2.tpl.htm deleted file mode 100644 index edf2e1d..0000000 --- a/views/restaurant/categories/BeerPage2.tpl.htm +++ /dev/null @@ -1,67 +0,0 @@ -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
\ No newline at end of file diff --git a/views/restaurant/categories/DessertsPage1.tpl.htm b/views/restaurant/categories/DessertsPage1.tpl.htm deleted file mode 100644 index 8b2d8f0..0000000 --- a/views/restaurant/categories/DessertsPage1.tpl.htm +++ /dev/null @@ -1,66 +0,0 @@ -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
\ No newline at end of file diff --git a/views/restaurant/categories/MainsPage1.tpl.htm b/views/restaurant/categories/MainsPage1.tpl.htm deleted file mode 100644 index 3bf7f61..0000000 --- a/views/restaurant/categories/MainsPage1.tpl.htm +++ /dev/null @@ -1,67 +0,0 @@ -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
\ No newline at end of file diff --git a/views/restaurant/categories/StartersPage1.tpl.htm b/views/restaurant/categories/StartersPage1.tpl.htm deleted file mode 100644 index 4d2c152..0000000 --- a/views/restaurant/categories/StartersPage1.tpl.htm +++ /dev/null @@ -1,68 +0,0 @@ -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
\ No newline at end of file diff --git a/views/restaurant/categories/WinePage1.tpl.htm b/views/restaurant/categories/WinePage1.tpl.htm deleted file mode 100644 index eefd16a..0000000 --- a/views/restaurant/categories/WinePage1.tpl.htm +++ /dev/null @@ -1,67 +0,0 @@ -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
\ No newline at end of file diff --git a/views/restaurant/categoryButton.tpl.htm b/views/restaurant/categoryButton.tpl.htm deleted file mode 100644 index d52a0cd..0000000 --- a/views/restaurant/categoryButton.tpl.htm +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/views/restaurant/categoryMenu.tpl.htm b/views/restaurant/categoryMenu.tpl.htm deleted file mode 100644 index dc22d2b..0000000 --- a/views/restaurant/categoryMenu.tpl.htm +++ /dev/null @@ -1,5 +0,0 @@ - - - - - \ No newline at end of file diff --git a/views/restaurant/components/posButton.tpl.htm b/views/restaurant/components/posButton.tpl.htm deleted file mode 100644 index 6cec82e..0000000 --- a/views/restaurant/components/posButton.tpl.htm +++ /dev/null @@ -1,3 +0,0 @@ -> - - \ No newline at end of file diff --git a/views/restaurant/decoratorItem.tpl.htm b/views/restaurant/decoratorItem.tpl.htm deleted file mode 100644 index 87e04b9..0000000 --- a/views/restaurant/decoratorItem.tpl.htm +++ /dev/null @@ -1,4 +0,0 @@ -
- - -
\ No newline at end of file diff --git a/views/restaurant/decoratorRow.tpl.htm b/views/restaurant/decoratorRow.tpl.htm deleted file mode 100644 index c73aa0c..0000000 --- a/views/restaurant/decoratorRow.tpl.htm +++ /dev/null @@ -1,3 +0,0 @@ -
- -
\ No newline at end of file diff --git a/views/restaurant/floorplan.tpl.htm b/views/restaurant/floorplan.tpl.htm deleted file mode 100644 index c89487e..0000000 --- a/views/restaurant/floorplan.tpl.htm +++ /dev/null @@ -1,79 +0,0 @@ - - - - DredgePOS - - - - - - -
-
- -
- -
-
- -
-
-
-
- -
-
-
-
-
-
-
- - - -
- - - - - -
-
-
-
-
- × -
-
- -
- - - - - -
-
- - - -
-
-
- -
- -
-
- -
-
-

- × -
-
-
- - \ No newline at end of file diff --git a/views/restaurant/keyboards.tpl.htm b/views/restaurant/keyboards.tpl.htm deleted file mode 100644 index bc6cbb7..0000000 --- a/views/restaurant/keyboards.tpl.htm +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/views/restaurant/orderBox.tpl.htm b/views/restaurant/orderBox.tpl.htm deleted file mode 100644 index 8c06e4d..0000000 --- a/views/restaurant/orderBox.tpl.htm +++ /dev/null @@ -1 +0,0 @@ -OrderBox Loaded \ No newline at end of file diff --git a/views/restaurant/orderBoxTable.tpl.htm b/views/restaurant/orderBoxTable.tpl.htm deleted file mode 100644 index b7cbaac..0000000 --- a/views/restaurant/orderBoxTable.tpl.htm +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - - - - - - - - - - - - - - - -
\ No newline at end of file diff --git a/views/restaurant/orderScreen.tpl - Copy.htm b/views/restaurant/orderScreen.tpl - Copy.htm deleted file mode 100644 index 925cefb..0000000 --- a/views/restaurant/orderScreen.tpl - Copy.htm +++ /dev/null @@ -1,107 +0,0 @@ - - - - DredgePOS - - - - - - - - - -
-
-
-

-

covers

-

-
-
- -
-
-

-

Total Price:    $0.00

-

($0.00 Selected)

-
-
-
-
-
-

- - - - - -
-
-

- - - - - -
-
- -
-
- -
- -
- -
- 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 0 - . - × -
-
-
- -
-
- -
-
-
- < - > -
-
-
-
- - - - - \ No newline at end of file diff --git a/views/restaurant/orderScreen.tpl.htm b/views/restaurant/orderScreen.tpl.htm deleted file mode 100644 index 17237dc..0000000 --- a/views/restaurant/orderScreen.tpl.htm +++ /dev/null @@ -1,84 +0,0 @@ - - - - DredgePOS - - - - - - -
> -
-

- -
- - - - - - - - - - - - -
-
-
- -
-
- - -
-
-
-
-
-
- - -
-
- - -
-
- - - - -
-
- - -
-
-
-
- -
-
- -
- -
-
- - - - - - - diff --git a/views/restaurant/orderScreen/button_image.tpl.htm b/views/restaurant/orderScreen/button_image.tpl.htm deleted file mode 100644 index d38c551..0000000 --- a/views/restaurant/orderScreen/button_image.tpl.htm +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/views/restaurant/orderScreen/change_cover_number_button.tpl.htm b/views/restaurant/orderScreen/change_cover_number_button.tpl.htm deleted file mode 100644 index 068831c..0000000 --- a/views/restaurant/orderScreen/change_cover_number_button.tpl.htm +++ /dev/null @@ -1 +0,0 @@ - diff --git a/views/restaurant/orderScreen/cover_selector.tpl.htm b/views/restaurant/orderScreen/cover_selector.tpl.htm deleted file mode 100644 index f344180..0000000 --- a/views/restaurant/orderScreen/cover_selector.tpl.htm +++ /dev/null @@ -1,3 +0,0 @@ -
- -
\ No newline at end of file diff --git a/views/restaurant/orderScreen/grid_button.tpl.htm b/views/restaurant/orderScreen/grid_button.tpl.htm deleted file mode 100644 index c7bb288..0000000 --- a/views/restaurant/orderScreen/grid_button.tpl.htm +++ /dev/null @@ -1,6 +0,0 @@ - > - - - \ No newline at end of file diff --git a/views/restaurant/orderScreen/grid_container.tpl.htm b/views/restaurant/orderScreen/grid_container.tpl.htm deleted file mode 100644 index 854343a..0000000 --- a/views/restaurant/orderScreen/grid_container.tpl.htm +++ /dev/null @@ -1,13 +0,0 @@ -
-
- -
×
-
-
-
-
- -
\ No newline at end of file diff --git a/views/restaurant/orderScreen/page.tpl.htm b/views/restaurant/orderScreen/page.tpl.htm deleted file mode 100644 index 5ceac15..0000000 --- a/views/restaurant/orderScreen/page.tpl.htm +++ /dev/null @@ -1,6 +0,0 @@ -
- -
\ No newline at end of file diff --git a/views/restaurant/orderScreen/page_group.tpl.htm b/views/restaurant/orderScreen/page_group.tpl.htm deleted file mode 100644 index 03dc3c6..0000000 --- a/views/restaurant/orderScreen/page_group.tpl.htm +++ /dev/null @@ -1,3 +0,0 @@ -
- -
\ No newline at end of file diff --git a/views/restaurant/orderScreen/page_group_button.tpl.htm b/views/restaurant/orderScreen/page_group_button.tpl.htm deleted file mode 100644 index 6d834f3..0000000 --- a/views/restaurant/orderScreen/page_group_button.tpl.htm +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/views/restaurant/paymentSplitter.tpl.htm b/views/restaurant/paymentSplitter.tpl.htm deleted file mode 100644 index c801012..0000000 --- a/views/restaurant/paymentSplitter.tpl.htm +++ /dev/null @@ -1,157 +0,0 @@ - - - - DredgePOS - - - - - - - - - - - -
-
- -
-
- -

Whole Table

-
- - - - - - - - - - - - - - - - - - -
-
-
-
-

-

-
-
- -
-
-
-
- > - < -
-
-

Partial Table

-
- - - - - - - - - - - - - - - - - - -
-
-
-
-

-

-
- - -
-
- -
-
-
- - - - - - - - \ No newline at end of file diff --git a/views/restaurant/popupBoxItems.tpl.htm b/views/restaurant/popupBoxItems.tpl.htm deleted file mode 100644 index 22919dc..0000000 --- a/views/restaurant/popupBoxItems.tpl.htm +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/views/restaurant/roomButton.tpl.htm b/views/restaurant/roomButton.tpl.htm deleted file mode 100644 index da18a5d..0000000 --- a/views/restaurant/roomButton.tpl.htm +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/views/restaurant/virtualKeyboard.tpl.htm b/views/restaurant/virtualKeyboard.tpl.htm deleted file mode 100644 index 3dea7a6..0000000 --- a/views/restaurant/virtualKeyboard.tpl.htm +++ /dev/null @@ -1,71 +0,0 @@ -
-
-

- X -
- -
-
- - - - - - - - - - - - - -
-
- - - - - - - - - - - - - -
-
- - - - - - - - - - - - - -
-
- - - - - - - - - - - -
-
- -
- -
-
\ No newline at end of file diff --git a/views/restaurant/virtualNumpad.tpl.htm b/views/restaurant/virtualNumpad.tpl.htm deleted file mode 100644 index 2e6e6f1..0000000 --- a/views/restaurant/virtualNumpad.tpl.htm +++ /dev/null @@ -1,28 +0,0 @@ -
-
-

- X -
-
-
-
- 1 - 2 - 3 -
- 4 - 5 - 6 -
- 7 - 8 - 9 -
- 0 - . - Clear -
- Enter -
-
-