WIP: clean up panel for launch

This commit is contained in:
John Gruen 2017-02-17 09:16:58 -05:00
parent d2604bfb07
commit 060cb128f4
4 changed files with 484 additions and 377 deletions

File diff suppressed because one or more lines are too long

View file

@ -1,239 +1,41 @@
/* General Rules and Resets */
body {
inline-size: 264px;
max-inline-size: 400px;
min-inline-size: 200px;
inline-size: 300px;
max-inline-size: 300px;
}
html {
box-sizing: border-box;
}
*,
*::before,
*::after {
box-sizing: inherit;
}
table {
margin-block-end: 0;
}
.button {
background: #248aeb;
}
.panel {
block-size: 100%;
}
.panel-row {
block-size: 100%;
}
.panel-back-arrow {
background: #ebebeb;
box-shadow: inset -2px 0 2px -2px black;
display: flex;
justify-content: center;
text-align: center;
}
.back-arrow-img {
transform: scaleX(-1);
}
.onboarding {
align-items: center;
display: flex;
flex-flow: column;
margin-block-end: 16px;
margin-block-start: 16px;
margin-inline-end: 16px;
margin-inline-start: 16px;
}
.onboarding * {
text-align: center;
}
.onboarding-img {
block-size: 132px;
inline-size: 180px;
}
.onboarding-title {
color: #43484e;
font-size: 14px;
margin-block-end: 10px;
margin-block-start: 20px;
}
.onboarding-subtext {
color: #4a4a4a;
font-size: 10px;
}
.popup-bumper {
border: 0;
border-spacing: 0;
inline-size: 100%;
padding-block-end: 0.5em;
padding-block-start: 0.5em;
padding-inline-end: 0.5em;
padding-inline-start: 0.5em;
}
.panel-header {
align-items: center;
block-size: 54px;
display: flex;
}
.panel-header-text {
color: #4a4a4a;
font-size: 16px;
font-weight: lighter;
margin-block-end: 0;
}
.panel-header-button {
justify-content: center;
}
.icon {
block-size: 16px;
max-inline-size: 16px;
}
.icon[src=""] {
inline-size: 16px;
visibility: hidden;
}
table.unstriped tbody tr {
background-color: #fefefe;
border-block-end: 1px solid #f1f1f1;
}
/* .userContext-icon is used natively, Bug 1333811 was raised to fix */
.userContext-icon,
.usercontext-icon {
background-image: var(--identity-icon);
background-position: center center;
background-repeat: no-repeat;
background-size: contain;
block-size: 20px;
fill: var(--identity-icon-color);
filter: url('/img/filters.svg#fill');
inline-size: 20px;
padding-left: 20px;
padding-right: 10px;
}
.container-panel-row .usercontext-icon:hover {
background-image: url('/img/container-newtab.svg');
fill: 'gray';
filter: url('/img/filters.svg#fill');
}
.edit-identities {
background: #dcdbdc;
}
.panel-footer {
align-items: center;
background: #efefef;
block-size: 54px;
color: #000;
display: flex;
font-size: 13px;
inline-size: 100%;
}
.footer-columns {
margin-block-end: 0;
margin-block-start: 0;
margin-inline-end: 0;
margin-inline-start: 0;
padding-block-end: 0;
padding-block-start: 0;
padding-inline-end: 0;
padding-inline-start: 0;
}
.footer-button {
border-radius: 0;
margin-block-end: 0;
/* Helper Classes */
.hide {
display: none !important;
}
.cancel-button {
background: #ebebeb;
}
.edit-containers-text {
border-inline-end: solid 1px #d8d8d8;
text-align: center;
}
.edit-containers-text a {
color: #0a0a0a;
}
.container-name {
max-inline-size: 7em;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.edit-container-panel [type="radio"] {
display: inline;
opacity: 0;
}
.edit-container-panel [type="radio"]:first-child {
margin-inline-start: 0;
}
.edit-container-panel label {
background: #fff;
block-size: 20px;
filter: none;
inline-size: 20px;
margin-block-end: 0;
margin-block-start: 0;
margin-inline-end: 0;
margin-inline-start: 0;
offset-block-start: -5px;
offset-inline-start: -22px;
padding-block-end: 0;
padding-block-start: 0;
padding-inline-end: 0;
padding-inline-start: 0;
position: relative;
}
.edit-container-panel [type="radio"]:checked + label {
outline: 1px solid grey;
-moz-outline-radius: 100%;
}
.edit-container-panel label::before {
background: var(--identity-icon);
background-position: center center;
background-repeat: no-repeat;
background-size: calc(100% - 4px);
block-size: calc(100% - 2px);
border: unset;
fill: var(--identity-icon-color);
filter: url('/img/filters.svg#fill');
inline-size: calc(100% - 2px);
margin-block-end: 1px;
margin-block-start: 1px;
margin-inline-end: 1px;
margin-inline-start: 1px;
padding-block-end: 0;
padding-block-start: 0;
padding-inline-end: 0;
padding-inline-start: 0;
}
.edit-container-panel fieldset {
font-size: 12px !important;
}
.edit-container-panel fieldset span {
display: inline-block;
.scrollable {
inline-size: 100%;
max-block-size: 400px;
overflow: auto;
}
/* Color and icon helpers */
[data-identity-color="blue"] {
--identity-tab-color: #0996f8;
--identity-icon-color: #00a7e0;
@ -294,68 +96,347 @@ table.unstriped tbody tr {
--identity-icon: url("/img/usercontext.svg#circle");
}
.no-tabs-img {
block-size: 12px;
filter: opacity(30%);
inline-size: 12px;
/* Buttons */
.button.primary {
background-color: #0996f8;
color: white;
}
.show-tabs-img {
block-size: 12px;
inline-size: 12px;
.button.primary:hover {
background-color: #0675d3;
}
.container-info-panel-header {
.button.secondary:hover {
background-color: rgba(0, 0, 0, 0.05);
}
/* Panels keep everything togethert */
.panel {
display: flex;
flex-direction: column;
justify-content: space-between;
min-block-size: 400px;
}
.panel.onboarding {
align-items: center;
block-size: 33px;
block-size: 360px;
margin-block-end: 16px;
margin-block-start: 16px;
margin-inline-end: 16px;
margin-inline-start: 16px;
min-block-size: 360px;
}
.panel .columns {
display: flex;
flex: 1;
}
.panel-content {
flex: 1;
}
/* Column panels for edit screens */
.column-panel-content {
display: flex;
flex-direction: column;
inline-size: 268px;
}
.column-panel-content .panel-footer {
align-items: center;
display: flex;
justify-content: center;
}
.column-panel-content .button,
.panel-footer .button {
align-items: center;
block-size: 54px;
display: flex;
flex: 1;
justify-content: center;
}
/* Column panels have a special back arrow */
.panel-back-arrow {
align-items: center;
background: #ebebeb;
box-shadow: inset -2px 0 4px -2px rgba(0, 0, 0, 0.4);
display: flex;
flex: 0 0 32px;
flex-direction: column;
justify-content: center;
}
.panel-back-arrow:hover {
background: #dedede;
}
.back-arrow-img {
block-size: 16px;
inline-size: 16px;
transform: rotate(180deg);
}
/* Onboarding styles */
.onboarding * {
text-align: center;
}
.onboarding-img {
block-size: 132px;
inline-size: 180px;
}
.onboarding-title {
color: #43484e;
font-size: 16px;
margin-block-end: 0;
margin-block-start: 0;
margin-inline-end: 0;
margin-inline-start: 0;
max-inline-size: 80%;
}
.onboarding p {
color: #4a4a4a;
font-size: 14px;
margin-block-end: 16px;
max-inline-size: 84%;
}
.onboarding-button {
align-items: center;
background-color: #0996f8;
border-radius: 3px;
color: white;
display: flex;
flex: 0 0 44px;
font-size: 14px;
inline-size: 100%;
justify-content: center;
text-decoration: none;
transition: background-color 75ms;
}
.onboarding-button:hover {
background-color: #0675d3;
}
/* Pop buttons are the square shaped buttons used to
manage things like container crud */
.pop-button {
align-items: center;
block-size: 48px;
display: flex;
flex: 0 0 48px;
justify-content: center;
}
.pop-button:hover,
.panel-footer-secondary:hover {
background-color: rgba(0, 0, 0, 0.05);
}
.pop-button:active,
.panel-footer-secondary:active {
background-color: rgba(0, 0, 0, 0.08);
}
.pop-button-image {
block-size: 20px;
flex: 0 0 20px;
}
.pop-button-image-small {
block-size: 12px;
flex: 0 0 12px;
}
/* Panel Header */
.panel-header {
align-items: center;
block-size: 48px;
border-block-end: 1px solid #ebebeb;
display: flex;
margin-block-end: 10px;
justify-content: space-between;
}
.column-panel-content .panel-header {
flex: 0 0 48px;
inline-size: 100%;
}
.panel-header-text {
color: #4a4a4a;
flex: 1;
font-size: 16px;
font-weight: normal;
margin-block-end: 0;
margin-block-start: 0;
margin-inline-end: 0;
margin-inline-start: 0;
padding-block-end: 16px;
padding-block-start: 16px;
padding-inline-end: 16px;
padding-inline-start: 16px;
}
span ~ .panel-header-text {
padding-block-end: 0;
padding-block-start: 0;
padding-inline-end: 20px;
padding-inline-start: 20px;
padding-inline-end: 0;
padding-inline-start: 0;
}
.container-info-panel-hide {
margin-block-end: 8px;
padding-block-end: 0;
padding-block-start: 0;
padding-inline-end: 20px;
padding-inline-start: 20px;
/* Rows used when iterating over panels */
.container-panel-row {
align-items: center;
background-color: #fefefe !important;
block-size: 48px;
border-block-end: 1px solid #f1f1f1;
box-sizing: border-box;
display: flex;
justify-content: space-between;
}
.container-info-panel-hideorshow-icon {
margin-inline-end: 7px;
.container-panel-row .container-name {
max-inline-size: 160px;
overflow: hidden;
padding-inline-end: 4px;
padding-inline-start: 4px;
text-overflow: ellipsis;
white-space: nowrap;
}
.container-info-panel-movetabs {
border-block-end: 1px solid #ebebeb;
margin-block-end: 10px;
padding-block-end: 0;
padding-block-start: 0;
padding-inline-end: 20px;
padding-inline-start: 20px;
.edit-containers-panel .userContext-wrapper {
max-inline-size: 204px;
}
.container-info-tab-row {
display: block;
margin-block-end: 8px;
.userContext-wrapper {
align-items: center;
display: flex;
flex: 1 1;
transition: background-color 75ms;
}
.clickable.userContext-wrapper:hover {
background: #f2f2f2;
}
.userContext-icon-wrapper {
block-size: 48px;
flex: 0 0 48px;
}
/* .userContext-icon is used natively, Bug 1333811 was raised to fix */
.userContext-icon,
.usercontext-icon {
background-image: var(--identity-icon);
background-position: center center;
background-repeat: no-repeat;
background-size: 20px 20px;
block-size: 48px;
fill: var(--identity-icon-color);
filter: url('/img/filters.svg#fill');
flex: 0 0 48px;
}
.clickable:hover .userContext-icon,
.clickable:hover .usercontext-icon {
background-image: url('/img/container-newtab.svg');
fill: 'gray';
filter: url('/img/filters.svg#fill');
}
/* Panel Footer */
.panel-footer {
align-items: center;
background: #efefef;
block-size: 55px;
border-block-end: 1px solid #d8d8d8;
color: #000;
display: flex;
font-size: 13px;
inline-size: 100%;
justify-content: space-between;
}
.panel-footer .pop-button {
block-size: 54px;
flex: 0 0 54px;
}
.edit-containers-text {
align-items: center;
block-size: 54px;
border-inline-end: solid 1px #d8d8d8;
display: flex;
flex: 1;
justify-content: center;
}
.edit-containers-text a {
align-items: center;
block-size: 54px;
color: #0a0a0a;
display: flex;
flex: 1;
justify-content: center;
}
/* Container info list */
#container-info-hideorshow {
margin-block-start: 4px;
}
.container-info-tab-row:not(.clickable) {
opacity: 0.3;
}
.container-info-tab-title {
font-size: 12px;
max-inline-size: 13em;
.container-info-has-tabs,
.container-info-tab-row {
align-items: center;
display: flex;
flex: 0 0 28px;
font-size: 14px;
justify-content: flex-start;
margin-block-end: 0;
margin-block-start: 0;
margin-inline-end: 0;
margin-inline-start: 0;
padding-inline-end: 16px;
padding-inline-start: 16px;
}
.container-info-has-tabs img,
.container-info-tab-row img {
block-size: 16px;
flex: 0 0 16px;
margin-inline-end: 4px;
}
.container-info-tab-row img[src=""] {
margin-inline-end: 0;
}
.container-info-tab-row td {
max-inline-size: 200px;
overflow: hidden;
padding-inline-start: 7px;
text-overflow: ellipsis;
white-space: nowrap;
}
.container-info-list {
border-block-start: 1px solid #ebebeb;
display: flex;
flex-direction: column;
margin-block-start: 4px;
padding-block-start: 4px;
}
.clickable {
cursor: pointer;
}
@ -364,16 +445,13 @@ table.unstriped tbody tr {
background-color: #ebebeb;
}
.edit-containers-panel-footer a {
color: #fff;
}
.edit-containers-exit-text {
align-items: center;
background: #248aeb;
block-size: 100%;
color: #fff;
display: flex;
flex: 1;
justify-content: center;
}
@ -389,10 +467,6 @@ table.unstriped tbody tr {
transform: scaleX(-1);
}
.exit-edit-mode-link {
float: left;
}
.delete-container-confirm {
padding-inline-end: 20px;
padding-inline-start: 20px;
@ -403,12 +477,71 @@ table.unstriped tbody tr {
font-size: 16px;
}
.choose-color-icon {
padding-inline-end: 7px;
padding-inline-start: 17px;
/* Form info */
.column-panel-content form {
flex: 1;
padding-block-end: 16px;
padding-block-start: 16px;
padding-inline-end: 16px;
padding-inline-start: 16px;
}
.scrollable {
max-block-size: 480px;
overflow: auto;
.column-panel-content form span {
align-items: center;
block-size: 44px;
display: flex;
flex: 0 0 25%;
justify-content: center;
}
.edit-container-panel label {
background-image: var(--identity-icon);
background-size: 26px 26px;
block-size: 34px;
fill: var(--identity-icon-color);
filter: url('/img/filters.svg#fill');
flex: 0 0 34px;
position: relative;
}
.edit-container-panel label::before {
opacity: 0 !important;
}
.edit-container-panel [type="radio"]:checked + label {
outline: 2px solid grey;
-moz-outline-radius: 50px;
}
.edit-container-panel fieldset {
background: none;
border: none;
display: flex;
flex-direction: row;
flex-wrap: wrap;
inline-size: 100%;
margin-block-end: 10px;
margin-inline-end: 0;
margin-inline-start: 0;
padding-block-end: 0;
padding-block-start: 0;
padding-inline-end: 0;
padding-inline-start: 0;
}
.edit-container-panel input[type="text"] {
block-size: 36px;
border-radius: 3px;
font-size: 14px;
inline-size: 100%;
padding-block-end: 5px;
padding-block-start: 5px;
padding-inline-end: 5px;
padding-inline-start: 5px;
}
.edit-container-panel legend {
flex: 1 0;
font-size: 14px !important;
padding-block-end: 5px;
}

View file

@ -105,7 +105,7 @@ const Logic = {
},
generateIdentityName() {
const defaultName = "Container";
const defaultName = "Container #";
const ids = [];
// This loop populates the 'ids' array with all the already-used ids.
@ -227,25 +227,33 @@ Logic.registerPanel(P_CONTAINERS_LIST, {
Logic.identities().forEach(identity => {
const hasTabs = (identity.hasHiddenTabs || identity.hasOpenTabs);
const arrowClass = hasTabs ? "show-tabs-img" : "no-tabs-img";
const tr = document.createElement("tr");
fragment.appendChild(tr);
const context = document.createElement("td");
const manage = document.createElement("td");
tr.classList.add("container-panel-row");
if (hasTabs) {
tr.classList.add("container-panel-row", "clickable");
}
tr.innerHTML = `
<td>
<div class="userContext-icon open-newtab"
context.classList.add("userContext-wrapper", "open-newtab", "clickable");
manage.classList.add("show-tabs", "pop-button");
context.innerHTML = `
<div class="userContext-icon-wrapper open-newtab">
<div class="userContext-icon"
data-identity-icon="${identity.image}"
data-identity-color="${identity.color}">
</div>
</td>
<td class="container-name">${identity.name}</td>
<td class="show-tabs"><img src="/img/container-arrow.svg" class="show-tabs ${arrowClass}" /></td>`;
</div>
<div class="container-name">${identity.name}</div>`;
manage.innerHTML = "<img src='/img/container-arrow.svg' class='show-tabs pop-button-image-small' />";
fragment.appendChild(tr);
tr.appendChild(context);
if (hasTabs) {
tr.appendChild(manage);
}
tr.addEventListener("click", e => {
if (e.target.matches(".open-newtab")) {
if (e.target.matches(".open-newtab") || e.target.parentNode.matches(".open-newtab")) {
browser.runtime.sendMessage({
method: "showTabs",
userContextId: identity.userContextId
@ -329,7 +337,7 @@ Logic.registerPanel(P_CONTAINER_INFO, {
hideShowIcon.src = identity.hasHiddenTabs ? CONTAINER_UNHIDE_SRC : CONTAINER_HIDE_SRC;
const hideShowLabel = document.getElementById("container-info-hideorshow-label");
hideShowLabel.innerText = identity.hasHiddenTabs ? "Show these container tabs" : "Hide these container tabs";
hideShowLabel.innerText = identity.hasHiddenTabs ? "Show this container" : "Hide this container";
// Let's remove all the previous tabs.
const table = document.getElementById("container-info-table");
@ -383,10 +391,6 @@ Logic.registerPanel(P_CONTAINERS_EDIT, {
// This method is called when the object is registered.
initialize() {
document.querySelector("#edit-containers-add-link").addEventListener("click", () => {
Logic.showPanel(P_CONTAINER_EDIT, { name: Logic.generateIdentityName() });
});
document.querySelector("#exit-edit-mode-link").addEventListener("click", () => {
Logic.showPanel(P_CONTAINERS_LIST);
});
@ -398,32 +402,35 @@ Logic.registerPanel(P_CONTAINERS_EDIT, {
Logic.identities().forEach(identity => {
const tr = document.createElement("tr");
fragment.appendChild(tr);
tr.classList.add("container-panel-row");
tr.innerHTML = `
<td>
<div class="userContext-icon"
data-identity-icon="${identity.image}"
data-identity-color="${identity.color}">
<td class="userContext-wrapper">
<div class="userContext-icon-wrapper">
<div class="userContext-icon"
data-identity-icon="${identity.image}"
data-identity-color="${identity.color}">
</div>
</div>
<div class="container-name">${identity.name}</div>
</td>
<td class="container-name">${identity.name}</td>
<td class="edit-container">
<td class="edit-container pop-button edit-container-icon">
<img
title="Edit ${identity.name} container"
src="/img/container-edit.svg"
class="icon edit-container-icon clickable" />
class="pop-button-image" />
</td>
<td class="remove-container" >
<td class="remove-container pop-button delete-container-icon" >
<img
title="Remove ${identity.name} container"
class="icon delete-container-icon clickable"
class="pop-button-image"
src="/img/container-delete.svg"
/>
</td>`;
tr.addEventListener("click", e => {
if (e.target.matches(".edit-container-icon")) {
if (e.target.matches(".edit-container-icon") || e.target.parentNode.matches(".edit-container-icon")) {
Logic.showPanel(P_CONTAINER_EDIT, identity);
} else if (e.target.matches(".delete-container-icon")) {
} else if (e.target.matches(".delete-container-icon") || e.target.parentNode.matches(".delete-container-icon")) {
Logic.showPanel(P_CONTAINER_DELETE, identity);
}
});

View file

@ -2,20 +2,17 @@
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<title>Containers browserAction Popup</title>
<link rel="stylesheet" href="/css/foundation.min.css">
<link rel="stylesheet" href="/css/popup.css">
</head>
<body>
<div class="panel onboarding onboarding-panel-1 hide" id="onboarding-panel-1">
<div class="hide panel onboarding onboarding-panel-1" id="onboarding-panel-1">
<img class="onboarding-img" alt="Container Tabs Overview" src="/img/onboarding-1.png" />
<h3 class="onboarding-title">A better way to manage all the things you do online</h3>
<p>
Use containers to organize tasks, manage accounts, and keep your focus where you want it.
<br/>
<a href="#">Learn more</a>
</p>
<a href="#" id="onboarding-start-button" class="button expanded onboarding-button">Get Started</a>
<a href="#" id="onboarding-start-button" class="onboarding-button">Get Started</a>
</div>
@ -23,61 +20,54 @@
<img class="onboarding-img" alt="How Containers Work" src="/img/onboarding-2.png" />
<h3 class="onboarding-title">Put containers to work for you.</h3>
<p>Features like color-coding and separate container tabs help you find things easily, focus your attention, and minimize distractions.</p>
<a href="#" id="onboarding-next-button" class="button expanded spacing">Next</a>
<a href="#" id="onboarding-next-button" class="onboarding-button">Next</a>
</div>
<div class="panel onboarding onboarding-panel-3 hide" id="onboarding-panel-3">
<img class="onboarding-img" alt="How Containers Work" src="/img/onboarding-3.png" />
<h3 class="onboarding-title">A place for everything, and everything in its place.</h3>
<p>Start with the containers we've created, or create your own.</p>
<a href="#" id="onboarding-done-button" class="button expanded spacing">Done</a>
<a href="#" id="onboarding-done-button" class="onboarding-button">Done</a>
</div>
<div class="panel container-panel" id="container-panel">
<div class="row panel-header">
<div class="small-10 columns">
<h3 class="panel-header-text">Containers</h3>
</div>
<div class="small-2 columns panel-header-button">
<a id="sort-containers-link"><img alt="Sort Containers" title="Sort Containers" class="icon" src="/img/container-sort.svg"></a>
</div>
<div class="panel container-panel hide" id="container-panel">
<div class="panel-header">
<h3 class="panel-header-text">Containers</h3>
<a class="pop-button" id="sort-containers-link"><img class="pop-button-image" alt="Sort Containers" title="Sort Containers" src="/img/container-sort.svg"></a>
</div>
<div class="scrollable">
<table class="unstriped">
<div class="scrollable panel-content">
<table>
<tbody class="identities-list"></tbody>
</table>
</div>
<div class="row panel-footer edit-identities">
<div class="small-10 columns edit-containers-text">
<div class="panel-footer edit-identities">
<div class="edit-containers-text panel-footer-secondary">
<a id="edit-containers-link">Edit Containers</a>
</div>
<div class="small-2 columns add-container">
<a class="add-container-link" id="container-add-link">
<img alt="Create new container icon" title="Create new container" src="/img/container-add.svg" class="icon" />
</a>
</div>
<a class="add-container-link pop-button" id="container-add-link">
<img class="pop-button-image-small icon" alt="Create new container icon" title="Create new container" src="/img/container-add.svg" />
</a>
</div>
</div>
<div class="hide panel container-info-panel" id="container-info-panel">
<div class="row">
<div class="small-2 columns panel-back-arrow clickable" id="close-container-info-panel">
<div class="columns">
<div class="panel-back-arrow" id="close-container-info-panel">
<img alt="Panel Back Arrow" src="/img/container-arrow.svg" class="back-arrow-img" />
</div>
<div class="small-10 columns">
<div class="row container-info-panel-header">
<div class="column-panel-content">
<div class="panel-header container-info-panel-header">
<span class="usercontext-icon" id="container-info-icon"></span>
<h3 id="container-info-name" class="panel-header-text container-name"></h3>
</div>
<div class="row container-info-panel-hide container-info-has-tabs clickable" id="container-info-hideorshow">
<img id="container-info-hideorshow-icon" alt="Hide Container icon" src="/img/container-hide.svg" class="icon container-info-panel-hideorshow-icon"/><span id="container-info-hideorshow-label">Hide this container</span><br/>
</div>
<div class="row container-info-panel-movetabs container-info-has-tabs clickable" id="container-info-movetabs">
Move tabs to a new window
<div class="select-row clickable container-info-panel-hide container-info-has-tabs" id="container-info-hideorshow">
<img id="container-info-hideorshow-icon" alt="Hide Container icon" src="/img/container-hide.svg" class="icon container-info-panel-hideorshow-icon"/>
<span id="container-info-hideorshow-label">Hide this container</span>
</div>
<div class="select-row clickable container-info-panel-movetabs container-info-has-tabs" id="container-info-movetabs">Move tabs to a new window</div>
<div class="scrollable">
<table class="unstriped" id="container-info-table">
<table id="container-info-table" class="container-info-list">
</table>
</div>
</div>
@ -86,35 +76,26 @@
<div class="panel edit-containers-panel hide" id="edit-containers-panel">
<div class="row panel-header">
<div class="small-12 columns">
<h3 class="panel-header-text">Edit Containers</h3>
</div>
<div class="panel-header">
<h3 class="panel-header-text">Edit Containers</h3>
</div>
<div class="scrollable">
<div class="scrollable panel-content">
<table class="unstriped">
<tbody id="edit-identities-list"></tbody>
</table>
</div>
<div class="row panel-footer edit-containers-panel-footer">
<div class="small-10 columns edit-containers-exit-text">
<a id="exit-edit-mode-link" class="exit-edit-mode-link">Exit Edit Mode</a>
</div>
<div class="small-2 columns add-container">
<a class="add-container-link" id="edit-containers-add-link">
<img alt="Create new container icon" title="Create new container" src="/img/container-add.svg" class="icon" />
</a>
</div>
<div class="panel-footer edit-containers-panel-footer">
<a id="exit-edit-mode-link" class="exit-edit-mode-link edit-containers-exit-text">Exit Edit Mode</a>
</div>
</div>
<div class="panel edit-container-panel hide" id="edit-container-panel">
<div class="row">
<div class="small-2 columns panel-back-arrow clickable" id="edit-container-panel-back-arrow">
<div class="columns">
<div class="panel-back-arrow" id="edit-container-panel-back-arrow">
<img alt="Panel Back Arrow" src="/img/container-arrow.svg" class="back-arrow-img" />
</div>
<div class="small-10 columns">
<div class="column-panel-content">
<form id="edit-container-panel-form">
<fieldset>
<legend>Name</legend>
@ -127,38 +108,26 @@
<legend>Choose an icon</legend>
</fieldset>
</form>
<div class="row">
<div class="small-6 columns footer-columns">
<a class="button secondary expanded footer-button cancel-button" id="edit-container-cancel-link">Cancel</a>
</div>
<div class="small-6 columns footer-columns">
<a class="button expanded footer-button" id="edit-container-ok-link">OK</a>
</div>
<div class="panel-footer">
<a class="button secondary expanded footer-button cancel-button" id="edit-container-cancel-link">Cancel</a>
<a class="button primary expanded footer-button" id="edit-container-ok-link">OK</a>
</div>
</div>
</div>
</div>
<div class="hide panel delete-container-panel" id="delete-container-panel">
<div class="row">
<div class="small-12 columns">
<div class="row container-info-panel-header">
<span class="usercontext-icon" id="delete-container-icon"></span>
<h3 id="delete-container-name" class="panel-header-text container-name"></h3>
</div>
<div class="row delete-container-confirm">
<h4 class="delete-container-confirm-title">Remove This Container</h4>
<p>If you remove this container now, <span id="delete-container-tab-count"></span> container tabs will be closed. Are you sure you want to remove this Container?</p>
</div>
<div class="row">
<div class="small-6 columns footer-columns">
<a class="button expanded secondary footer-button cancel-button" id="delete-container-cancel-link">Cancel</a>
</div>
<div class="small-6 columns footer-columns">
<a class="button expanded footer-button" id="delete-container-ok-link">OK</a>
</div>
</div>
</div>
<div class="panel-header">
<span class="usercontext-icon" id="delete-container-icon"></span>
<h3 id="delete-container-name" class="panel-header-text container-name"></h3>
</div>
<div class="panel-content delete-container-confirm">
<h4 class="delete-container-confirm-title">Remove This Container</h4>
<p>If you remove this container now, <span id="delete-container-tab-count"></span> container tabs will be closed. Are you sure you want to remove this Container?</p>
</div>
<div class="panel-footer">
<a class="button expanded secondary footer-button cancel-button" id="delete-container-cancel-link">Cancel</a>
<a class="button expanded primary footer-button" id="delete-container-ok-link">OK</a>
</div>
</div>