iobroker.alias-manager
Version:
605 lines (588 loc) • 32.6 kB
HTML
<html>
<head>
<!-- Alias-Manager - Copyright (c) by Sebatian Bormann -->
<!-- Please visit https://github.com/sbormann/ioBroker.adapter-manager for licence-agreement and further information -->
<!-- Load ioBroker scripts and styles-->
<link rel="stylesheet" type="text/css" href="../../css/adapter.css" />
<link rel="stylesheet" type="text/css" href="../../lib/css/fancytree/ui.fancytree.min.css" id="fancytreeCSSLink"/>
<link rel="stylesheet" type="text/css" href="../../lib/css/materialize.css">
<script type="text/javascript" src="../../lib/js/jquery-3.2.1.min.js"></script>
<script type="text/javascript" src="../../socket.io/socket.io.js"></script>
<script type="text/javascript" src="../../lib/js/materialize.js"></script>
<script type="text/javascript" src="../../lib/js/jquery-ui.min.js"></script>
<script type="text/javascript" src="../../lib/js/jquery.fancytree-all.min.js"></script>
<script type="text/javascript" src="../../js/translate.js"></script>
<script type="text/javascript" src="../../lib/js/selectID.js"></script>
<script type="text/javascript" src="../../js/adapter-settings.js"></script>
<!-- Load our own files -->
<link rel="stylesheet" type="text/css" href="style.css" />
<!--link rel="stylesheet" type="text/css" href="./materialize-colorpicker/css/materialize-colorpicker.min.css" />
<script type="text/javascript" src="./materialize-colorpicker/js/materialize-colorpicker.min.js"></script-->
<!--link rel="stylesheet" type="text/css" href="./codemirror/lib/codemirror.css" />
<link rel="stylesheet" type="text/css" href="./codemirror/theme/material.css" />
<script type="text/javascript" src="./codemirror/lib/codemirror.js"></script>
<script type="text/javascript" src="./codemirror/mode/xml/xml.js"></script>
<script type="text/javascript" src="./codemirror/mode/javascript/javascript.js"></script>
<script type="text/javascript" src="./codemirror/mode/css/css.js"></script>
<script type="text/javascript" src="./codemirror/mode/htmlmixed/htmlmixed.js"></script-->
<script type="text/javascript" src="./jquery.ui.touch-punch.min.js"></script>
<script type="text/javascript" src="words.js"></script>
<script type="text/javascript" src="type-detector.js"></script>
<script type="text/javascript" src="index_m.js"></script>
<style>
.modal { max-height:85% ; max-width:95% ; width:80% ; height:80% ; overflow: visible ; }
.dialog-select-container {max-height: 90% ; }
.m .page {height: auto ; min-height:75% ; }
.validateOnlyError.valid { border-bottom: 1px solid #9e9e9e ; box-shadow: none ; }
.inputClear, .selectClear{ display: block ; position: absolute ; right: 15px ; top: 9px ; margin: auto ; }
.combobox{ position: relative; }
.comboboxDropdownTrigger{ display: block ; position: absolute ; right: 0px ; top: 0px ; margin: 0px ; padding: 0px ; }
.combobox .dropdown-content { left: unset ; width: unset ; min-width: 100% ; }
.m table.highlight>tbody>tr:hover { background-color: rgba(100,181,246,0.4) ; }
.multiple-select-dropdown.dropdown-content li span, .multiple-select-dropdown.dropdown-content li span label { pointer-events: none; }
.CodeMirror{ width: 100%; width: calc(100% - 25px); height: unset ; position: absolute; }
.collapsible-body .row:not(:first-child) p.sub-title{ padding-top:15px; }
h6.heading { background: rgba(0,0,0,0.02); margin-left:-35px; padding: 5px 0 7px 40px; box-shadow: rgba(0,0,0,0.25) 1px 1px 2px 0px; }
.headingIcon{ width:48px; height:48px; float:right; }
.tabs { scrollbar-width: 2px; } .tabs::-webkit-scrollbar { height: 2px; }
.scrollableTable table { min-width: 520px; }
.scrollableTable.wide table { min-width: 820px; width: }
.scrollableTable.xwide table { min-width: 1020px; }
.aliasesDatapointCollapsible { padding-bottom: 5px ; overflow: visible ; }
.aliasesDatapointCollapsibleItem { padding: 5px 0 0 0 ; }
.aliasesDatapointCollapsibleHeader { display: block ; padding: 0 18px 0 18px ; border: none ; }
.aliasesDatapointCollapsibleBody { padding: 0 18px 0 18px ; border: none ; }
.aliasesDatapointRow { margin-bottom: 0 ; padding-bottom: 2px ; }
.mainAliasTreeCollapsible ul { padding: 0; margin: 0 ; }
.mainAliasTreeCollapsible .collapsible-body { padding: 0 0 0 30px; }
.mainAliasTreeCollapsible li.active > div > .collapsible-header-inactive { display: none; }
.mainAliasTreeCollapsible li:not(.active) > div > .collapsible-header-active { display: none; }
.renameAliasesTreeCollapsible ul { padding: 0; margin: 0 ; }
.renameAliasesTreeCollapsible .collapsible-body { padding: 0 0 0 30px; }
.renameAliasesTreeCollapsible li.active > div > .collapsible-header-inactive { display: none; }
.renameAliasesTreeCollapsible li:not(.active) > div > .collapsible-header-active { display: none; }
</style>
</head>
<body>
<!-- ++++++++++ TABS ++++++++++ -->
<div class="m adapter-container">
<div class="row">
<div class="col s12 m4 l2">
<img src="alias-manager.png" class="logo">
</div>
<div class="col s8 m6 l4 loadingObjects">
<p class="translate">Still loading some objects...</p>
<div id="mainLoadingObjectsProgress" class="progress loadingObjects" style="position: absolute; bottom: -17px; left: 0px; width: 100%;"><div class="indeterminate"></div></div>
</div>
</div>
<div class="row">
<div class="col s12 tabcontainer">
<ul class="tabs hideOnLoad" id="tabsTop" style="display: none;">
<li class="tab"><a href="#tabMain" class="translate active">Start</a></li>
<li class="tab"><a href="#tabAliases" class="translate">Manage Aliases</a></li>
<li class="tab"><a href="#tabAutocreateAlias" class="translate">Autocreate Alias</a></li>
<!-- li class="tab"><a href="#tabRenameAliases" class="translate">Rename Aliases</a></li-->
</ul>
</div>
<!-- ++++++++++ TAB: Main ++++++++++ -->
<div id="tabMain" class="col s12 page">
<div class="row">
<div class="col s12">
<h6 class="translate sub-title heading">Start</h6>
</div>
</div>
<div class="row showOnLoad">
<div class="col s12">
<p class="translate">Loading settings...</p>
<div id="mainShowOnLoadProgress" class="progress showOnLoad" style="position: absolute; bottom: -17px; left: 0px; width: 100%; display: none;"><div class="indeterminate"></div></div>
</div>
</div>
<div class="row hideOnLoad" style="display: none;">
<div class="col s12">
<p class="translate">Select an alias to edit:</p>
</div>
</div>
<div class="row">
<div class="col s12">
<ul class="tabs hideOnLoad" id="tabsTop" style="display: none;">
<li class="tab col s2"><a href="#tabMainTable" class="translate active">View as Table</a></li>
<li class="tab col s2"><a href="#tabMainTree" class="translate">View as Tree</a></li>
</ul>
</div>
<div id="tabMainTable" class="col s12 page">
<div class="row hideOnLoad" style="display: none;">
<div class="col s12">
<table class="responsive-table highlight">
<thead>
<tr>
<th>Alias</th>
<th>Name</th>
<th style="width:50px;"></th>
</tr>
</thead>
<tbody id="mainAliasListTableBody">
</tbody>
</table>
</div>
</div>
</div>
<div id="tabMainTree" class="col s12 page">
<div class="row hideOnLoad" style="display: none;">
<div class="col s12">
<div id="mainAliasTreeContainer">
</div>
</div>
</div>
</div>
</div>
<div class="row loadingObjects" style="display: none;">
<div class="col s12">
<p class="translate">Still loading some objects in the background...</p>
<div id="mainLoadingObjectsProgress" class="progress loadingObjects" style="position: absolute; bottom: -17px; left: 0px; width: 100%; display: none;"><div class="indeterminate"></div></div>
</div>
</div>
<div class="row hideOnLoad" style="display: none;">
<div class="col s12">
<br>
<p style="font-size: small;" class="translate">If you like it, please consider a donation:</p>
<a href="https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=LDHZMNPXKRX2N&source=url" target="_blank">
<img src="https://www.paypalobjects.com/en_US/DK/i/btn/btn_donateCC_LG.gif" alt="Paypal"></img>
</a>
</div>
</div>
<div class="row hideOnLoad" style="display: none;">
<div class="col s12">
<br>
<p style="font-size: small;">(C) Sebastian Bormann</p>
</div>
</div>
</div>
<!-- ++++++++++ TAB: Aliases ++++++++++ -->
<div id="tabAliases" class="col s12 page">
<div class="row">
<div class="col s12">
<h6 class="translate sub-title heading">Manage Aliases</h6>
</div>
</div>
<div class="row">
<div class="col s12 m12 l12">
<a class="waves-effect waves-light btn" id="aliasesNewAlias"><i class="material-icons left">create_new_folder</i><span class="translate">New Alias</span></a>
</div>
</div>
<div class="row">
<div class="input-field col s12 m12 l12">
<select class="disabled" id="aliasesSelectedAlias"></select>
<label for="aliasesSelectedAlias" class="translate"></label>
<span class="translate">Alias to edit</span>
<div id="aliasesSelectedAliasProgress" class="progress" style="position: absolute; bottom: 6px; left: 0px; width: 100%; display: none;"><div class="indeterminate"></div></div>
</div>
</div>
<div class="row aliasesNothingSelectedDiv" style="min-height: 500px;">
<div class="col s12">
<h6 class="translate sub-title">Please select an alias to edit</h6>
</div>
</div>
<div class="row aliasesContentDiv" style="display:none;">
<div class="col s12">
<h6 class="translate sub-title">Operations</h6>
</div>
</div>
<div class="row aliasesContentDiv" style="display:none;">
<div class="col s12">
<a class="waves-effect waves-light btn" id="aliasesCopyAlias"><i class="material-icons left">content_copy</i><span class="translate">Copy Alias</span></a>
<a class="waves-effect waves-light btn" id="aliasesRenameAlias"><i class="material-icons left">create</i><span class="translate">Rename Alias</span></a>
<a class="waves-effect waves-light btn red" id="aliasesDeleteAlias"><i class="material-icons left">delete</i><span class="translate">Delete Alias</span></a>
<a class="waves-effect waves-light btn orange pulse aliasesDatapointSaveAll"><i class='material-icons left'>save</i><span class='translate'>Save all changes</span></a>
</div>
</div>
<div class="row aliasesContentDiv" style="display:none;">
<div class="col s12">
<p><i class="material-icons" style="color: #2196f3; vertical-align: middle; font-size: 1rem; margin-right: 6px;">info</i><span class="translate">You can use search and replace in the 'Rename Alias' function to adjust multiple Alias-IDs at once (e.g. when replacing a broken device)</span></p>
</div>
</div>
<div class="row aliasesContentDiv" style="display:none;">
<div class="col s12">
<h6 class="translate sub-title">Selected Alias</h6>
</div>
</div>
<div class="row aliasesContentDiv" style="display:none;">
<div class="col s12">
<ul id="aliasesAliasMainList" class="aliasesDatapointCollapsible collapsible"></ul>
</div>
</div>
<div class="row aliasesContentDiv" style="display:none;">
<div class="col s12">
<h6 class="translate sub-title">Datapoints of selected Alias</h6>
</div>
</div>
<div class="row aliasesContentDiv" style="display:none;">
<div class="col s12">
<a class="waves-effect waves-light btn" id="aliasesNewDatapoint"><i class="material-icons left">control_point</i><span class="translate">Add empty Alias-Datapoint</span></a>
<a class="waves-effect waves-light btn" id="aliasesNewDatapointFromExisting"><i class="material-icons left">control_point_duplicate</i><span class="translate">Add Alias-Datapoint from existing Datapoint</span></a>
<a class="waves-effect waves-light btn-floating " id="aliasesDatapointCollapsibleExpandAll"><i class="material-icons left">format_line_spacing</i></a>
<a class="waves-effect waves-light btn-floating " id="aliasesDatapointCollapsibleCollapseAll"><i class="material-icons left">drag_handle</i></a>
</div>
</div>
<div class="row aliasesContentDiv" style="display:none;">
<div class="col s12">
<ul id="aliasesDatapointList" class="aliasesDatapointCollapsible collapsible"></ul>
</div>
<a class="waves-effect waves-light btn orange pulse aliasesDatapointSaveAll"><i class='material-icons left'>save</i><span class='translate'>Save all changes</span></a>
</div>
</div>
<!-- ++++++++++ TAB: Autocreate Alias ++++++++++ -->
<div id="tabAutocreateAlias" class="col s12 page">
<div class="row">
<div class="col s12">
<h6 class="translate sub-title heading">Autocreate Alias</h6>
</div>
</div>
<div class="row">
<div class="col s12">
<h6 class="translate sub-title">Select device ID from ioBroker-Object-Tree:</h6>
</div>
</div>
<div class="row">
<div class="input-field col s10">
<input class="val" type="text" id="autocreateAliasSourceId" />
<label for="autocreateAliasSourceId" class="translate">ID:</label>
<span class="helper-text" id="autocreateAliasSourceIdCommonName"></span>
</div>
<div class="col s1">
<a id="autocreateAliasSourceIdSelectIdButton" class="btn"><i class="material-icons">edit</i><span></span></a>
</div>
</div>
<div class="row">
<div class="col s12">
<a class="waves-effect waves-light btn" id="autocreateAliasCreatePreview"><i class="material-icons left">check_circle</i><span class="translate">Try to create Alias from this device</span></a>
</div>
</div>
<p><br><br></p>
<div class="section">
<div class="divider"></div>
</div>
<div class="row">
<div class="col s12">
<h6 class="translate sub-title">Alias:</h6>
</div>
</div>
<div class="row">
<a class="waves-effect waves-light btn orange pulse autocreateAliasSaveAll"><i class='material-icons left'>save</i><span class='translate'>Save Alias with all checked items</span></a>
</div>
<div class="row">
<ul class="collection" style="overflow-y: auto;">
<li class='collection-item' style='background-color: rgba(255,255,255,0.5); border-width: 4px;'>
<div class='row aliasesDatapointRow' style='background-color: rgba(0,0,0,0.2);'>
<div class='col s11 m6 l6'>
<input class='val autocreateAliasVal' name='autocreateAliasId' id='autocreateAliasId'></input>
<label for='autocreateAliasId' class='translate'></label>
<span class='translate'>Alias ID</span>
</div>
<div class='col s11 m6 l6'>
<input class='val autocreateAliasVal' name='autocreateAliasName' id='autocreateAliasName'></input>
<label for='autocreateAliasName' class='translate'></label>
<span class='translate'>Name</span>
</div>
</div>
<div class='row aliasesDatapointRow' style='background-color: rgba(0,0,255,0.1);'>
<div class='col s12 m6 l4'>
<input class='val autocreateAliasVal' name='autocreateAliasCommonRole' id='autocreateAliasCommonRole'></input>
<label for='autocreateAliasCommonRole' class='translate'></label>
<span class='translate'>common.role</span>
</div>
</div>
</li>
</ul>
</div>
<p><br><br></p>
<div class="row">
<div class="col s12">
<h6 class="translate sub-title">Options:</h6>
</div>
</div>
<div class="row">
<div class="col s12">
<label><input type="checkbox" class="filled-in" checked="checked" id="autocreateAliasOptionsAdoptCommonCustom" /><span class="translate" style="height:unset;">Adopt common.custom (some datapoints have custom configurations for adapters like history, sql or iQontrol, which are stored in common.custom)</span></label>
<div style="padding-left:35px;">
<label><input type="radio" class="with-gap" name="autocreateAliasOptionsAdoptCommonCustomRemoveHistoryFrom" value="none" checked="checked" /><span class="translate" style="height:unset;">Keep common.custom as it is</span></label>
<label><input type="radio" class="with-gap" name="autocreateAliasOptionsAdoptCommonCustomRemoveHistoryFrom" value="source" /><span class="translate" style="height:unset;">Remove settings of history-adapters in common.custom from the original datapoint</span></label>
<label><input type="radio" class="with-gap" name="autocreateAliasOptionsAdoptCommonCustomRemoveHistoryFrom" value="destination" /><span class="translate" style="height:unset;">Remove settings of history-adapters in common.custom from the new alias-datapoint</span></label>
</div>
</div>
</div>
<p><br><br></p>
<div class="row">
<div class="col s12">
<h6 class="translate sub-title">Datapoint List:</h6>
</div>
</div>
<div class="row">
<div class="col s12">
<a class="waves-effect waves-light btn" id="autocreateAliasAddDatapoint"><i class="material-icons left">check_circle</i><span class="translate">Manually add a datapoint</span></a>
<a class="waves-effect waves-light btn red" id="autocreateAliasClearDatapoints"><i class="material-icons left">delete</i><span class="translate">Clear datapoints list</span></a>
<a class="btn" onclick="$('.autocreateAliasDatapointListLine td:first-child input[type=checkbox]').prop('checked', true);"><i class="large material-icons left">check_box</i><span class="translate">All</span></a>
<a class="btn" onclick="$('.autocreateAliasDatapointListLine td:first-child input[type=checkbox]').prop('checked', false);"><i class="large material-icons left">check_box_outline_blank</i><span class="translate">None</span></a>
</div>
</div>
<div class="row">
<div class="col s12">
<table class="responsive-table highlight">
<thead>
<tr>
<th>Source ID</th>
<th>Destination ID</th>
<th>Destination Name</th>
<th style="width:50px;"></th>
</tr>
</thead>
<tbody id="autocreateAliasDatapointListTableBody">
</tbody>
</table>
</div>
</div>
<p><br><br></p>
<div class="row">
<a class="waves-effect waves-light btn orange pulse autocreateAliasSaveAll"><i class='material-icons left'>save</i><span class='translate'>Save Alias with all checked items</span></a>
</div>
</div>
<!-- ++++++++++ TAB: Rename Aliases ++++++++++ -->
<div id="tabRenameAliases" class="col s12 page">
<div class="row">
<div class="col s12">
<h6 class="translate sub-title heading">Rename Aliases</h6>
</div>
</div>
<div class="row">
<div class="col s12">
<h6 class="translate sub-title">1. Create Naming pattern:</h6>
</div>
</div>
<div class="col s12 scrollableTable" id="tableRenameAliasesNamePattern">
<div class="row">
<div class="col s2 m1 l1">
<button title="Add" class="translateT table-button-add btn-floating waves-effect waves-light btn-small">
<i class="material-icons">add</i>
</button>
</div>
</div>
<div class="col s12 m12 l12">
<table class="table-values highlight" style="width: 90%;">
<thead>
<tr>
<th data-name="prefix" class="translate">Prefix</th>
<th data-name="type" class="translate" data-type="select" data-options="text/Free text:;aliasRoot/Alias: root - replace '.' with:;aliasPath/Alias: path - replace '.' with:;aliasPathWithoutChannelNumber/Alias: path without channel-number - replace '.' with:;aliasPathWithoutChannel/Alias: path without channel - replace '.' with:;aliasState/Alias: state;aliasStateName/Alias: name of state;aliasParentId/Alias: ID of parent datapoint - replace '.' with:;aliasParentName/Alias: name of parent datapoint;aliasParentChannelId/Alias: ID of next parent channel - replace '.' with:;aliasParentChannelName/Alias: name of next parent channel;aliasParentDeviceId/Alias: ID of next parent device - replace '.' with:;aliasParentDeviceName/Alias: name of next parent device;readRoot/Linked Read-ID: root - replace '.' with:;readPath/Linked Read-ID: path - replace '.' with:;readPathWithoutChannelNumber/Linked Read-ID: path without channel-number - replace '.' with:;readPathWithoutChannel/Linked Read-ID: path without channel - replace '.' with:;readState/Linked Read-ID: state;readStateName/Linked Read-ID: name of state;readParentId/Linked Read-ID: ID of parent datapoint - replace '.' with:;readParentName/Linked Read-ID: name of parent datapoint;readParentChannelId/Linked Read-ID: ID of next parent channel - replace '.' with:;readParentChannelName/Linked Read-ID: name of parent channel;readParentDeviceId/Linked Read-ID: ID of next parent device - replace '.' with:;readParentDeviceName/Linked Read-ID: name of parent device;writeRoot/Linked Write-ID: root - replace '.' with:;writePath/Linked Write-ID: path - replace '.' with:;writePathWithoutChannelNumber/Linked Write-ID: path without channel-number - replace '.' with:;writePathWithoutChannel/Linked Write-ID: path without channel - replace '.' with:;writeState/Linked Write-ID: state;writeStateName/Linked Write-ID: name of state;writeParentId/Linked Write-ID: ID of parent datapoint - replace '.' with:;writeParentName/Linked Write-ID: name of parent datapoint;writeParentChannelId/Linked Write-ID: ID of next parent channel - replace '.' with:;writeParentChannelName/Linked Write-ID: name of next parent channel;writeParentDeviceId/Linked Write-ID: ID of next parent device - replace '.' with:;writeParentDeviceName/Linked Write-ID: name of next parent device">Type</th>
<th data-name="value" class="translate">Value</th>
<th data-name="postfix" class="translate">Postfix</th>
<th data-buttons="delete drag_handle" style="width:135px;"></th>
</tr>
</thead>
</table>
</div>
</div>
<div class="row">
<p><br><br><br><br><br><br></p>
</div>
<p><br><br></p>
<div class="section">
<div class="divider"></div>
</div>
<div class="row">
<div class="col s12">
<h6 class="translate sub-title">2. Select Aliases to rename:</h6>
</div>
</div>
<div class="row">
<div class="col s12">
<div id="renameAliasesTreeContainer">
</div>
</div>
</div>
<p><br><br></p>
<div class="section">
<div class="divider"></div>
</div>
<div class="row">
<div class="col s12">
<h6 class="translate sub-title">3. Start renaming:</h6>
</div>
</div>
<div class="row">
<div class="col s12">
<p><span class="translate">Warning! This can't be undone!</span></p>
</div>
</div>
<div class="row">
<div class="col s12">
<a class="waves-effect waves-light btn" id="devicesAutocreateButton"><i class="material-icons left">check_circle</i><span class="translate">Rename selected Aliases</span></a>
</div>
</div>
</div>
</div>
</div>
<!-- ++++++++++ DIALOGS ++++++++++ -->
<div class="m material-dialogs">
<!-- DIALOG: SelectID -->
<div id="dialogSelectId" class="modal modal-fixed-footer" style="z-index:20000 !important;">
<div class="modal-content">
<div class="row">
<div class="col s12 title"></div>
</div>
<div class="row">
<div class="col s12 dialog-content" style="max-height: 80%;">
</div>
</div>
</div>
<div class="modal-footer">
<a class="modal-action modal-close waves-effect waves-green btn btn-set"><i class="large material-icons left">check</i><span class="translate">Select</span></a>
<a class="modal-action modal-close waves-effect waves-green btn btn-close"><i class="large material-icons left ">close</i><span class="translate">Cancel</span></a>
</div>
</div>
<!-- DIALOG: AliasesCopyAlias -->
<div id="dialogAliasesCopyAlias" class="modal modal-fixed-footer">
<div class="modal-content">
<div class="row">
<div class="col s12">
<h6 class="title"><span class="translate">Copy Alias:</span></h6>
</div>
</div>
<div class="row">
<div class="col s12">
<h6 class="translate sub-title">New ID for Alias:</h6>
</div>
</div>
<div class="row">
<div class="input-field col s12">
<input class="value" name='dialogAliasesCopyAliasNewId' id='dialogAliasesCopyAliasNewId'></input>
<label for='dialogAliasesCopyAliasNewId' class="translate"></label>
<span class="translate">New ID</span>
</div>
</div>
<div class="row">
<div class="col s12">
<h6 class="translate sub-title">New Name for Alias:</h6>
</div>
</div>
<div class="row">
<div class="input-field col s12">
<input class="value" name='dialogAliasesCopyAliasNewName' id='dialogAliasesCopyAliasNewName'></input>
<label for='dialogAliasesCopyAliasNewName' class="translate"></label>
<span class="translate">New Name</span>
</div>
</div>
<div class="row">
<div class="col s12">
<h6 class="translate sub-title">Search and Replace Alias-Datapoints:</h6>
</div>
</div>
<div class="row" style="">
<div class="col s12">
<a class="waves-effect waves-light btn" id="dialogAliasesCopyAliasReplaceDatapointsAdd"><i class="material-icons left">add_circle_outline</i><span class="translate">Add Replacement</span></a>
</div>
</div>
<div class="row">
<div class="col s12">
<ul id="dialogAliasesCopyAliasReplaceDatapointsList" class="collection" style="overflow: visible;"></ul>
</div>
</div>
</div>
<div class="modal-footer">
<a class="modal-action modal-close waves-effect waves-green btn btn-set"><i class="large material-icons left">check</i><span class="translate">Copy this alias</span></a>
<a class="modal-action modal-close waves-effect waves-green btn btn-close"><i class="large material-icons left">close</i><span class="translate">Cancel</span></a>
</div>
</div>
<!-- DIALOG: dialogAliasesShowStates -->
<div id="dialogAliasesShowStates" class="modal modal-fixed-footer">
<div class="modal-content">
<div class="row">
<div class="col s12">
<h6 class="title"><span id="dialogAliasesShowStatesTitle"></span> - common.states:</h6>
</div>
</div>
<div class="row">
<div class="col s12">
<div id="dialogAliasesShowStatesTable"></div>
</div>
</div>
</div>
<div class="modal-footer">
<!--a class="modal-action modal-close waves-effect waves-green btn btn-set"><i class="large material-icons left">check</i><span class="translate">OK</span></a-->
<a class="modal-action modal-close waves-effect waves-green btn btn-close"><i class="large material-icons left">close</i><span class="translate">Cancel</span></a>
</div>
</div>
<!-- DIALOG: dialogAliasesShowCustom -->
<div id="dialogAliasesShowCustom" class="modal modal-fixed-footer">
<div class="modal-content">
<div class="row">
<div class="col s12">
<h6 class="title"><span id="dialogAliasesShowCustomTitle"></span> - common.custom:</h6>
</div>
</div>
<div class="row">
<div class="col s12">
<div id="dialogAliasesShowCustomTable"></div>
</div>
</div>
<div class="row">
<div class="col s12">
<a class="btn" id="dialogAliasesShowCustomTableEdit"><i class="material-icons left">build</i><span class="translate">Edit</span></a>
</div>
</div>
</div>
<div class="modal-footer">
<!--a class="modal-action modal-close waves-effect waves-green btn btn-set"><i class="large material-icons left">check</i><span class="translate">OK</span></a-->
<a class="modal-action modal-close waves-effect waves-green btn btn-close"><i class="large material-icons left">close</i><span class="translate">Cancel</span></a>
</div>
</div>
<!-- DIALOG: dialogAliasesSelectAliasId -->
<div id="dialogAliasesSelectAliasId" class="modal modal-fixed-footer">
<div class="modal-content">
<div class="row">
<div class="col s12">
<h6 class="title"><span class="translate">Select Alias ID:</span></h6>
</div>
</div>
<div class="row">
<div class="col s12">
<ul class="tabs" id="tabsDialogAliasesSelectAliasId">
<li class="tab col s6"><a href="#dialogAliasesSelectAliasIdOneReadWrite" class="translate">One Alias ID for read and write</a></li>
<li class="tab col s6"><a href="#dialogAliasesSelectAliasIdSeperateReadWrite" class="translate">Seperate Alias IDs for read and write</a></li>
</ul>
</div>
<div id="dialogAliasesSelectAliasIdOneReadWrite" class="col s12">
<p><br><br></p>
<div class="row">
<div class="col s11 m11 l11">
<input class="val" name="dialogAliasesSelectAliasIdOneReadWriteAliasId" id="dialogAliasesSelectAliasIdOneReadWriteAliasId"></input>
<label for="dialogAliasesSelectAliasIdOneReadWriteAliasId"></label>
<span class="translate">Alias ID for read and write</span>
<i class="material-icons dialogAliasesSelectAliasIdAliasesDatapoint selectId" data-selectidfor="dialogAliasesSelectAliasIdOneReadWriteAliasId" style="position: absolute; right: 5px; top: 10px; cursor: hand;">edit</i>
</div>
</div>
</div>
<div id="dialogAliasesSelectAliasIdSeperateReadWrite" class="col s12">
<p><br><br></p>
<div class="row">
<div class="col s11 m5 l5">
<input class="val" name="dialogAliasesSelectAliasIdSeperateReadWriteAliasIdRead" id="dialogAliasesSelectAliasIdSeperateReadWriteAliasIdRead"></input>
<label for="dialogAliasesSelectAliasIdSeperateReadWriteAliasIdRead"></label>
<span class="translate">Alias ID for read</span>
<i class="material-icons dialogAliasesSelectAliasIdAliasesDatapoint selectId" data-selectidfor="dialogAliasesSelectAliasIdSeperateReadWriteAliasIdRead" style="position: absolute; right: 5px; top: 10px; cursor: hand;">edit</i>
</div>
<div class="col s11 m5 l5">
<input class="val" name="dialogAliasesSelectAliasIdSeperateReadWriteAliasIdWrite" id="dialogAliasesSelectAliasIdSeperateReadWriteAliasIdWrite"></input>
<label for="dialogAliasesSelectAliasIdSeperateReadWriteAliasIdWrite"></label>
<span class="translate">Alias ID for write</span>
<i class="material-icons dialogAliasesSelectAliasIdAliasesDatapoint selectId" data-selectidfor="dialogAliasesSelectAliasIdSeperateReadWriteAliasIdWrite" style="position: absolute; right: 5px; top: 10px; cursor: hand;">edit</i>
</div>
</div>
</div>
</div>
</div>
<div class="modal-footer">
<a class="modal-action modal-close waves-effect waves-green btn btn-set"><i class="large material-icons left">check</i><span class="translate">OK</span></a>
<a class="modal-action modal-close waves-effect waves-green btn btn-close"><i class="large material-icons left">close</i><span class="translate">Cancel</span></a>
</div>
</div>
</div>
</body>
</html>