<?xml version="1.0" encoding="UTF-8"?>
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements.  See the NOTICE file
distributed with this work for additional information
regarding copyright ownership.  The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License.  You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied.  See the License for the
specific language governing permissions and limitations
under the License.
-->
<menus xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://ofbiz.apache.org/Widget-Menu" xsi:schemaLocation="http://ofbiz.apache.org/Widget-Menu http://ofbiz.apache.org/dtds/widget-menu.xsd">
    <menu name="WebPosAppBar" title="${uiLabelMap.WebPosMenuMain}" extends="CommonAppBarMenu" extends-resource="component://common/widget/CommonMenus.xml">
        <actions>
            <script location="component://webpos/groovyScripts/WebPosMenus.groovy"/>
        </actions>
        <menu-item name="Manager" title="${uiLabelMap.WebPosMenuManager}">
          <condition>
            <and>
              <not><if-empty field="isManagerLoggedIn"/></not>
              <if-compare field="isManagerLoggedIn" operator="equals" value="true"/>
            </and>
          </condition>
          <link target="Manager"/>
        </menu-item>
    </menu>
    
    <menu name="ManagerTabBar" extends="CommonTabBarMenu" extends-resource="component://common/widget/CommonMenus.xml">
        <actions>
            <script location="component://webpos/groovyScripts/WebPosMenus.groovy"/>
        </actions>
        <menu-item name="ManagerOpenTerminal" title="${uiLabelMap.WebPosManagerOpenTerminal}">
          <link target="javascript:openTerminal();" url-mode="plain"/>
        </menu-item>
        <menu-item name="ManagerCloseTerminal" title="${uiLabelMap.WebPosManagerCloseTerminal}">
          <link target="javascript:closeTerminal();" url-mode="plain"/>
        </menu-item>
        <menu-item name="ManagerPaidIn" title="${uiLabelMap.WebPosManagerPaidIn}">
          <link target="javascript:paidOutAndIn('Y', 'IN');" url-mode="plain"/>
        </menu-item>
        <menu-item name="ManagerPaidOut" title="${uiLabelMap.WebPosManagerPaidOut}">
          <link target="javascript:paidOutAndIn('Y', 'OUT');" url-mode="plain"/>
        </menu-item>
        <menu-item name="ManagerPromoCode" title="${uiLabelMap.WebPosManagerPromoCode}">
          <link target="javascript:promoCode();" url-mode="plain"/>
        </menu-item>
        <menu-item name="ManagerVoidOrder" title="${uiLabelMap.WebPosManagerVoidOrder}">
          <link target="javascript:voidOrder();" url-mode="plain"/>
        </menu-item>
        <menu-item name="Shutdown" title="${uiLabelMap.WebPosManagerShutdown}">
          <link target="Shutdown"/>
        </menu-item>
    </menu>
</menus>