Updates to Order Screen

This commit is contained in:
2022-05-12 20:03:39 +10:00
parent a587423d3e
commit 100a772297
7 changed files with 44 additions and 13 deletions

View File

@@ -3,6 +3,7 @@
open DredgePos
open DredgeFramework
open DredgePos.Types
open DredgePos.Global.Controller
open Giraffe
open Microsoft.AspNetCore.Http
@@ -24,6 +25,20 @@ let loadGrid (gridId: int) =
else ajaxSuccess {|grid=grid;gridHtml=gridHtml|}
|> json
let loadOrderScreenView (ctx: HttpContext) (tableNumber: int) =
Authenticate.Model.RequireClerkAuthentication ctx
let currentClerk = Authenticate.Model.getCurrentClerk ctx
let styles = [|"dredgepos.orderScreen.css"|] |> addDefaultStyles
let scripts = [|"dredgepos.tables.js";"./external/currency.min.js";"dredgepos.orderScreen.js"; |] |> addDefaultScripts
let metaTags = [|"viewport", "user-scalable = no, initial-scale=0.8,maximum-scale=0.8 ,shrink-to-fit=yes"|] |> addDefaultMetaTags
let orderScreenPageGroups =
Entity.GetAllInVenue<order_screen_page_group>
|> Array.filter (fun page_group -> page_group.id <> 0)
|> Array.sortBy (fun {order=order} -> order)
View.index tableNumber styles scripts metaTags currentClerk orderScreenPageGroups
let loadOrderScreen (ctx: HttpContext) (tableNumber: int) : HttpHandler =
Authenticate.Model.RequireClerkAuthentication ctx

View File

@@ -128,7 +128,6 @@ let renderGrid (grid: grid) =
let loadGrid gridId = renderGrid (Entity.GetById<grid> gridId)
let getPagesHTML (gridInfo: grid * order_screen_page_group) =
let grid, pageGroup = gridInfo

View File

@@ -11,5 +11,5 @@ let router = router {
getf "/getGridHtml/%i" Controller.loadGrid
post "/updateCovers" (bindJson<floorplan_table> (fun table -> Entity.Update table |> Array.head |> DredgeFramework.ajaxSuccess |> json))
get "/" (warbler (fun ctx -> Controller.loadOrderScreen (snd ctx) 0))
getf "/%i" (fun number -> (warbler (fun ctx -> Controller.loadOrderScreen (snd ctx) number)))
getf "/%i" (fun number -> (warbler (fun ctx -> htmlView <| Controller.loadOrderScreenView (snd ctx) number)))
}

View File

@@ -6,12 +6,14 @@ open DredgePos.Global.Controller
open Giraffe.ViewEngine
open language
let pageContainer orderNumber (clerk: clerk) =
div [_id "pageContainer"] [
let coverSelector = div [_class "coverSelector"] []
let pageContainer floorplanTable (clerk: clerk) orderScreenPageGroups =
div [_id "pageContainer" ; _table floorplanTable] [
div [_id "leftColumn"] [
h1 [_class "tableHeading"] [str (string orderNumber)]
h1 [_class "tableHeading"] [str (getAndReplace "active_table" [floorplanTable.table_number])]
div [_class "tableInfo"] [
(* Cover Change Button *)
coverSelector
posButton "" [] [str (getAndReplace "logged_in_as" [clerk.name])]
]
div [_class "orderBox"] [
@@ -61,7 +63,7 @@ let pageContainer orderNumber (clerk: clerk) =
]
]
div [_id "pageList"] [
(* Category List *)
yield! orderScreenPageGroups
]
div [_id "pageGroupContainer"] [
(* Page Groups *)
@@ -95,12 +97,16 @@ let gridContainer =
]
]
let coverSelector =
div [_class "coverSelector"] []
let pageGroupButton (pageGroup: order_screen_page_group) = posButton "loadPageGroup" [] [str pageGroup.label]
let index orderNumber styles scripts tags clerk (orderScreenPageGroups: order_screen_page_group[]) =
let orderScreenPageGroupButtons =
orderScreenPageGroups
|> Array.map pageGroupButton
let index orderNumber clerk styles scripts tags =
[|
pageContainer orderNumber clerk
pageContainer (DredgePos.Floorplan.Model.getTable orderNumber) clerk orderScreenPageGroupButtons
posButtonTemplate
gridContainer
coverSelector