login_head = """
OpenPLC

OpenPLC Webserver

""" bad_login_body = """

Bad credentials! Try again




""" w3_style = """ """ dashboard_head = """ .top { position:absolute; left:0; right:0; top:0; height: 50px; background-color: #1F1F1F; position: fixed; overflow: hidden; z-index: 10 } .main { position: absolute; left:0px; top:50px; right:0; bottom:0; } .user { position:absolute; left:75%; right:0; top:0; height: 50px; position: fixed; overflow: hidden; z-index: 11; text-align:right; } .button { background-color: #E02222; border: 1px solid #1F1F1F; border-radius: 4px; color: white; padding: 15px 32px; text-align: center; text-decoration: none; display: inline-block; font-size: 16px; font-family: 'Roboto', sans-serif; } .button:hover { background-color: #B51A1A; } .copyButton { border: 1px solid #1F1F1F; border-radius: 4px; color: white; padding: 15px 32px; text-align: center; text-decoration: none; display: inline-block; font-size: 20px; font-family: 'Roboto', sans-serif; height:50px; font-size:16px; padding-top:11px; background-color: #7D7D7D; } .copyButton:hover { background-color: #3D3D3D; } textarea { width: 96%; height: 350px; padding: 12px 20px; box-sizing: border-box; border: 2px solid #ccc; border-radius: 4px; background-color: #f8f8f8; font-size: 16px; font-family: courier; resize: none; } .tooltip { position: relative; display: inline-block; } .tooltip .tooltiptext { visibility: hidden; width: 140px; background-color: #555; color: #fff; text-align: center; border-radius: 6px; padding: 5px; position: absolute; z-index: 1; bottom: 150%; left: 50%; margin-left: -75px; opacity: 0; transition: opacity 0.3s; } .tooltip .tooltiptext::after { content: ''; position: absolute; top: 100%; left: 50%; margin-left: -5px; border-width: 5px; border-style: solid; border-color: #555 transparent transparent transparent; } .tooltip:hover .tooltiptext { visibility: visible; opacity: 1; } """ dashboard_tail = """

Runtime Logs

""" monitoring_head = """ /* OpenPLC Style */ .top { position:absolute; left:0; right:0; top:0; height: 50px; background-color: #1F1F1F; position: fixed; overflow: hidden; z-index: 10 } .main { position: absolute; left:0px; top:50px; right:0; bottom:0; } .user { position:absolute; left:75%; right:0; top:0; height: 50px; position: fixed; overflow: hidden; z-index: 11; text-align:right; } .button { background-color: #E02222; border: 1px solid #1F1F1F; border-radius: 4px; color: white; padding: 15px 32px; text-align: center; text-decoration: none; display: inline-block; font-size: 16px; font-family: "Roboto", sans-serif; } .button:hover { background-color: #B51A1A; } table, h1, h2, h3, p { font-family: "Roboto", sans-serif; border-collapse: collapse; width: 100%; } td, th { border: 1px solid #cccccc; text-align: left; padding: 8px; } tr:nth-child(even) { background-color: #eeeeee; } tr:hover { cursor: hand;background-color: slategray; } label { font-family: arial, sans-serif; } .form-inline { display: flex; flex-flow: row wrap; align-items: center; } .form-inline label { margin: 5px 10px 5px 0; width: 130px; } .form-inline input { vertical-align: middle; margin: 5px 10px 5px 0; padding: 10px; width: calc(100% - 250px); background-color: #fff; border: 1px solid #ddd; } .form-inline button { padding: 10px 20px; background-color: #E02222; width: 100px; border: 1px solid #1F1F1F; color: white; cursor: pointer; font-size: 14px; font-family: "Roboto", sans-serif; } .form-inline button:hover { background-color: #B51A1A; } @media (max-width: 800px) { .form-inline input { margin: 10px 0; } .form-inline { flex-direction: column; align-items: stretch; } } """ monitoring_tail = """ """ point_info_tail = """



""" add_user_tail = """

Add User






""" settings_style = """ /* OpenPLC Style */ .top { position:absolute; left:0; right:0; top:0; height: 50px; background-color: #1F1F1F; position: fixed; overflow: hidden; z-index: 10 } .main { position: absolute; left:0px; top:50px; right:0; bottom:0; } .user { position:absolute; left:75%; right:0; top:0; height: 50px; position: fixed; overflow: hidden; z-index: 11; text-align:right; } .button { background-color: #E02222; border: 1px solid #1F1F1F; border-radius: 4px; color: white; padding: 15px 32px; text-align: center; text-decoration: none; display: inline-block; font-size: 16px; font-family: "Roboto", sans-serif; font-weight: bold; } .button:hover { background-color: #B51A1A; } /*Custom Checkbox */ /* The container */ .container { display: block; position: relative; padding-left: 35px; margin-bottom: 12px; cursor: pointer; font-size: 16px; font-family: "Roboto", sans-serif; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; width: 300px; } /* Hide the browser's default checkbox */ .container input { position: absolute; opacity: 0; cursor: pointer; } /* Create a custom checkbox */ .checkmark { position: absolute; top: 0; left: 0; height: 25px; width: 25px; background-color: #eee; } /* On mouse-over, add a grey background color */ .container:hover input ~ .checkmark { background-color: #ccc; } /* When the checkbox is checked, add a blue background */ .container input:checked ~ .checkmark { background-color: #E02222; } /* Create the checkmark/indicator (hidden when not checked) */ .checkmark:after { content: ""; position: absolute; display: none; } /* Show the checkmark when checked */ .container input:checked ~ .checkmark:after { display: block; } /* Style the checkmark/indicator */ .container .checkmark:after { left: 9px; top: 5px; width: 5px; height: 10px; border: solid white; border-width: 0 3px 3px 0; -webkit-transform: rotate(45deg); -ms-transform: rotate(45deg); transform: rotate(45deg); } """ settings_head = """


Dashboard

Dashboard

Programs

Programs

Modbus

Slave Devices

Monitoring

Monitoring

Hardware

Hardware

Users

Users

Settings

Settings

Logout

Logout



""" settings_tail = """


""" hardware_style = """ /* OpenPLC Style */ .top { position:absolute; left:0; right:0; top:0; height: 50px; background-color: #1F1F1F; position: fixed; overflow: hidden; z-index: 10 } .main { position: absolute; left:0px; top:50px; right:0; bottom:0; } .user { position:absolute; left:75%; right:0; top:0; height: 50px; position: fixed; overflow: hidden; z-index: 11; text-align:right; } .button { background-color: #E02222; border: 1px solid #1F1F1F; border-radius: 4px; color: white; padding: 15px 32px; text-align: center; text-decoration: none; display: inline-block; font-size: 16px; font-family: "Roboto", sans-serif; } .button:hover { background-color: #B51A1A; } textarea { width: 100%; height: 450px; padding: 12px 20px; box-sizing: border-box; border: 2px solid #ccc; border-radius: 4px; background-color: #262626; font-size: 12px; font-family: courier; color: #A9875F; resize:vertical; } .CodeMirror { border: 1px; resize: vertical; overflow: auto !important; } """ hardware_head = """


Dashboard

Dashboard

Programs

Programs

Modbus

Slave Devices

Monitoring

Monitoring

Hardware

Hardware

Users

Users

Settings

Settings

Logout

Logout



""" hardware_tail = """

Restore Original Code


""" add_slave_devices_tail = """

Discrete Inputs (%IX100.0)

Coils (%QX100.0)

Input Registers (%IW100)

Holding Registers - Read (%IW100)

Holding Registers - Write (%QW100)


""" add_devices_script = """ """ edit_slave_devices_tail = """

Discrete Inputs (%IX100.0)

Coils (%QX100.0)

Input Registers (%IW100)

Holding Registers - Read (%IW100)

Holding Registers - Write (%QW100)