Dataset/JS/AngularCosmoMenu/menu.html (110 lines of code) (raw):
<div ng-controller="menuCtrl">
<div ng-show="menu.panel==='manage'">
<div class="bar-top">
<a ng-click="admin.sidebar='core/html/sidebar.html';active=''"><i class="fa fa-angle-left"></i></a>
<h1 translate="menus"></h1>
<a class="sidebar-close" ng-click="admin.showAdminPanel=false;admin.active=false;"><i class="fa fa-times"></i></a>
</div>
<div class="bar--actions">
<button ng-click="createMenu=!createMenu">
<span translate="menu_new" ng-if="!createMenu"></span>
<span translate="close" ng-if="createMenu"></span>
</button>
</div>
<div class="form-case" ng-show="createMenu">
<label for="name" translate="menu_add"></label>
<input value="name" type='text' ng-model='menu.newName' placeholder="Menu Name e.g., Footer">
<button ng-click='newMenu()' translate="add"></button>
</div>
<ul>
<li ng-repeat="menu in menus" ng-click="selectMenu(menu)">
<a>{{menu.name || 'N/A'}}</a>
</li>
</ul>
</div>
<div ng-show="menu.panel==='edit'">
<div class="bar-top">
<a ng-click="menu.panel='manage';menu.confirm=false"><i class="fa fa-angle-left"></i></a>
<h1><span translate>editing</span>: {{menu.name}}</h1>
<a class="sidebar-close" ng-click="admin.showAdminPanel=false;admin.active=false;"><i class="fa fa-times"></i></a>
</div>
<div class="bar--actions">
<button ng-click="menu.confirm=true" translate="menu_delete"></button>
<button ng-click="saveMenu()" translate="menu_save"></button>
</div>
<div class="form-case">
<div class="half-width">
<label for="name" translate>Name</label>
<input value="name" type="text" ng-model="menu.name">
</div>
<div class="half-width">
<label for="area" translate>Area</label>
<div class="cos-select">
<select value="area" ng-model="menu.area">
<option value="primary" translate="primary"></option>
<option value="secondary" translate="secondary"></option>
<option value="footer" translate="footer"></option>
</select>
</div>
</div>
<div class="nestedSortable-list">
<div ui-tree>
<ol ui-tree-nodes="options" ng-model="list">
<li class="nestedSortable-handle" ng-repeat="item in list" ui-tree-node>
<div ui-tree-handle>
<p>{{item.title}}</p>
<div class="menu-manager">
<a data-nodrag ng-click="menu.editLink=true;menu.currentlyEditingLink=item;menu.editLinkText=item.title;menu.editLinkURL=item.url">
Edit
</a>
<a data-nodrag ng-click="newSubItem(this)">Add</a>
<a data-nodrag ng-click="remove(this)">Remove</a>
</div>
</div>
<ol ui-tree-nodes="options" ng-model="item.items">
<li ng-repeat="subItem in item.items" ui-tree-node>
<div ui-tree-handle>
{{subItem.title}}
<div class="menu-manager">
<a data-nodrag ng-click="menu.editLink=true;menu.currentlyEditingLink=subItem;menu.editLinkText=subItem.title;menu.editLinkURL=subItem.url">Edit</a>
<a data-nodrag ng-click="newSubItem(this)">Add</a>
<a data-nodrag ng-click="remove(this)">Remove</a>
</div>
</div>
<ol ui-tree-nodes="options" ng-model="subItem.items">
<li ng-repeat="subItem1 in subItem.items" ui-tree-node>
<div ui-tree-handle>
{{subItem1.title}}
<div class="menu-manager">
<a data-nodrag ng-click="menu.editLink=true;menu.currentlyEditingLink=subItem1;menu.editLinkText=subItem1.title;menu.editLinkURL=subItem1.url">Add</a>
<a data-nodrag ng-click="remove(this)">Remove</a>
</div>
</div>
</li>
</ol>
</li>
</ol>
</li>
</ol>
</div>
</div>
<div ng-show="menu.editLink">
<div ng-show="menu.editLinkText">
<div class="half-width">
<label for="text" translate="menu_edit_link_text"></label>
<input value="text" type="text" ng-model="menu.editLinkText" ng-change="updateLink()">
</div>
<div class="half-width">
<label for="url" translate="menu_edit_link_url"></label>
<input value="url" type="text" ng-model="menu.editLinkURL" ng-change="updateLink()">
</div>
</div>
<div class="confirm" ng-show="menu.confirm">
<p translate="menu_confirm"></p>
<button class="btn-error" ng-click="menu.confirm=false;deleteMenu();menu.panel='manage'" translate="yes"></button>
<button class="btn-success" ng-click='menu.confirm=false' translate="no"></button>
</div>
</div>
</div>
</div>
</div>