Merge branch 'master' of github.com:gcsolaroli/password-manager

Conflicts:
	frontend/delta/css/clipperz.css.map
This commit is contained in:
Giulio Cesare Solaroli
2015-08-19 09:44:50 +02:00
28 changed files with 224 additions and 941 deletions
File diff suppressed because it is too large Load Diff
File diff suppressed because one or more lines are too long
+3 -2
View File
@@ -25,7 +25,7 @@ refer to http://www.clipperz.com.
try { if (typeof(Clipperz.ByteArray) == 'undefined') { throw ""; }} catch (e) { try { if (typeof(Clipperz.ByteArray) == 'undefined') { throw ""; }} catch (e) {
throw "Clipperz.Crypto.AES depends on Clipperz.ByteArray!"; throw "Clipperz.Crypto.AES depends on Clipperz.ByteArray!";
} }
// Dependency commented to avoid a circular reference // Dependency commented to avoid a circular reference
//try { if (typeof(Clipperz.Crypto.PRNG) == 'undefined') { throw ""; }} catch (e) { //try { if (typeof(Clipperz.Crypto.PRNG) == 'undefined') { throw ""; }} catch (e) {
@@ -824,7 +824,8 @@ MochiKit.Base.update(Clipperz.Crypto.AES, {
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
'deferredDecrypt': function(aKey, someData) { 'deferredDecrypt': function(aKey, someData) {
var deferredResult var deferredResult;
var executionContext;
var nonce; var nonce;
var message; var message;
var key; var key;
+2 -1
View File
@@ -21,6 +21,7 @@ refer to http://www.clipperz.com.
*/ */
"use strict";
if (typeof(Clipperz) == 'undefined') { Clipperz = {}; } if (typeof(Clipperz) == 'undefined') { Clipperz = {}; }
if (typeof(Clipperz.PM) == 'undefined') { Clipperz.PM = {}; } if (typeof(Clipperz.PM) == 'undefined') { Clipperz.PM = {}; }
if (typeof(Clipperz.PM.Crypto) == 'undefined') { Clipperz.PM.Crypto = {}; } if (typeof(Clipperz.PM.Crypto) == 'undefined') { Clipperz.PM.Crypto = {}; }
@@ -320,7 +321,7 @@ MochiKit.Base.update(Clipperz.PM.Crypto, {
deferredResult.addCallback(MochiKit.Async.wait, 0.1); deferredResult.addCallback(MochiKit.Async.wait, 0.1);
deferredResult.addCallback(Clipperz.Base.evalJSON); deferredResult.addCallback(Clipperz.Base.evalJSON);
deferredResult.addErrback(function(anError) { deferredResult.addErrback(function(anError) {
Clipperz.logError("Error while decrypting data [4]"); Clipperz.logError("Error while decrypting data [3]");
throw Clipperz.Crypto.Base.exception.CorruptedMessage; throw Clipperz.Crypto.Base.exception.CorruptedMessage;
}) })
} else { } else {
@@ -21,7 +21,7 @@ refer to http://www.clipperz.com.
*/ */
'use strict'; "use strict";
Clipperz.Base.module('Clipperz.PM.UI'); Clipperz.Base.module('Clipperz.PM.UI');
// code snippet taken on March 23, 2015 from here: https://github.com/JedWatson/classnames/blob/master/index.js // code snippet taken on March 23, 2015 from here: https://github.com/JedWatson/classnames/blob/master/index.js
@@ -21,6 +21,7 @@ refer to http://www.clipperz.com.
*/ */
"use strict";
Clipperz.Base.module('Clipperz.PM.UI.Components'); Clipperz.Base.module('Clipperz.PM.UI.Components');
Clipperz.PM.UI.Components.ButtonClass = React.createClass({ Clipperz.PM.UI.Components.ButtonClass = React.createClass({
@@ -21,7 +21,7 @@ refer to http://www.clipperz.com.
*/ */
'use strict'; "use strict";
Clipperz.Base.module('Clipperz.PM.UI.Components.Cards'); Clipperz.Base.module('Clipperz.PM.UI.Components.Cards');
Clipperz.PM.UI.Components.Cards.CommandToolbarClass = React.createClass({ Clipperz.PM.UI.Components.Cards.CommandToolbarClass = React.createClass({
@@ -21,7 +21,7 @@ refer to http://www.clipperz.com.
*/ */
'use strict'; "use strict";
Clipperz.Base.module('Clipperz.PM.UI.Components.Cards'); Clipperz.Base.module('Clipperz.PM.UI.Components.Cards');
Clipperz.PM.UI.Components.Cards.EditClass = React.createClass({ Clipperz.PM.UI.Components.Cards.EditClass = React.createClass({
@@ -21,7 +21,7 @@ refer to http://www.clipperz.com.
*/ */
'use strict'; "use strict";
Clipperz.Base.module('Clipperz.PM.UI.Components.Cards'); Clipperz.Base.module('Clipperz.PM.UI.Components.Cards');
Clipperz.PM.UI.Components.Cards.EditToolbarClass = React.createClass({ Clipperz.PM.UI.Components.Cards.EditToolbarClass = React.createClass({
@@ -21,7 +21,7 @@ refer to http://www.clipperz.com.
*/ */
'use strict'; "use strict";
Clipperz.Base.module('Clipperz.PM.UI.Components.Cards'); Clipperz.Base.module('Clipperz.PM.UI.Components.Cards');
@@ -21,7 +21,7 @@ refer to http://www.clipperz.com.
*/ */
'use strict'; "use strict";
Clipperz.Base.module('Clipperz.PM.UI.Components.Cards'); Clipperz.Base.module('Clipperz.PM.UI.Components.Cards');
Clipperz.PM.UI.Components.Cards.ListClass = React.createClass({ Clipperz.PM.UI.Components.Cards.ListClass = React.createClass({
@@ -79,7 +79,9 @@ Clipperz.PM.UI.Components.Cards.ListClass = React.createClass({
classes[this.props['style']] = true; classes[this.props['style']] = true;
return React.DOM.div({'key':'cardList', 'className':Clipperz.PM.UI.Components.classNames(classes)}, [ return React.DOM.div({'key':'cardList', 'className':Clipperz.PM.UI.Components.classNames(classes)}, [
this.isFeatureEnabled('LIST_CARDS') ? React.DOM.ul({}, MochiKit.Base.map(this.renderItem, cards)) : null React.DOM.div({'className':'cardListInnerWrapper'}, [
this.isFeatureEnabled('LIST_CARDS') ? React.DOM.ul({}, MochiKit.Base.map(this.renderItem, cards)) : null
])
]); ]);
}, },
@@ -21,7 +21,7 @@ refer to http://www.clipperz.com.
*/ */
'use strict'; "use strict";
Clipperz.Base.module('Clipperz.PM.UI.Components.Cards'); Clipperz.Base.module('Clipperz.PM.UI.Components.Cards');
Clipperz.PM.UI.Components.Cards.PasswordGeneratorClass = React.createClass({ Clipperz.PM.UI.Components.Cards.PasswordGeneratorClass = React.createClass({
@@ -38,16 +38,17 @@ Clipperz.PM.UI.Components.Cards.PasswordGeneratorClass = React.createClass({
getInitialState: function () { getInitialState: function () {
return { return {
'length': 32, 'length': 24,
'options': 'closed', 'options': 'closed',
'chars_AZ': true, 'chars_AZ': true,
'chars_az': true, 'chars_az': true,
'chars_09': true, 'chars_09': true,
'chars_space': false, 'chars_space': false,
'chars_other': true, 'chars_other': true,
'charset': '', 'charset': '',
'password': '', 'password': '',
'entropy': 0, 'entropy': 0,
}; };
}, },
@@ -21,7 +21,7 @@ refer to http://www.clipperz.com.
*/ */
'use strict'; "use strict";
Clipperz.Base.module('Clipperz.PM.UI.Components.Cards'); Clipperz.Base.module('Clipperz.PM.UI.Components.Cards');
Clipperz.PM.UI.Components.Cards.TagEditorClass = React.createClass({ Clipperz.PM.UI.Components.Cards.TagEditorClass = React.createClass({
@@ -21,7 +21,7 @@ refer to http://www.clipperz.com.
*/ */
'use strict'; "use strict";
Clipperz.Base.module('Clipperz.PM.UI.Components.Cards'); Clipperz.Base.module('Clipperz.PM.UI.Components.Cards');
Clipperz.PM.UI.Components.Cards.TextAreaClass = React.createClass({ Clipperz.PM.UI.Components.Cards.TextAreaClass = React.createClass({
@@ -21,7 +21,7 @@ refer to http://www.clipperz.com.
*/ */
'use strict'; "use strict";
Clipperz.Base.module('Clipperz.PM.UI.Components.Cards'); Clipperz.Base.module('Clipperz.PM.UI.Components.Cards');
Clipperz.PM.UI.Components.Cards.ViewClass = React.createClass({ Clipperz.PM.UI.Components.Cards.ViewClass = React.createClass({
@@ -60,6 +60,22 @@ Clipperz.PM.UI.Components.Pages.LoginPageClass = React.createClass({
this.setState(newState); this.setState(newState);
}, },
pollForChanges: function() {
if (this.props.mode == 'CREDENTIALS') {
var newState;
var usernameValue = this.refs['username'].getDOMNode().value;
var passphraseValue = this.refs['passphrase'].getDOMNode().value;
newState = {};
newState['username'] = (usernameValue) ? usernameValue : "";
newState['passphrase'] = (passphraseValue) ? passphraseValue : "";
this.setState(newState);
}
},
//========================================================================= //=========================================================================
handleCredentialSubmit: function (event) { handleCredentialSubmit: function (event) {
@@ -21,7 +21,7 @@ refer to http://www.clipperz.com.
*/ */
'use strict'; "use strict";
Clipperz.Base.module('Clipperz.PM.UI.Components.Pages'); Clipperz.Base.module('Clipperz.PM.UI.Components.Pages');
Clipperz.PM.UI.Components.Pages.MainPageClass = React.createClass({ Clipperz.PM.UI.Components.Pages.MainPageClass = React.createClass({
@@ -21,7 +21,7 @@ refer to http://www.clipperz.com.
*/ */
'use strict'; "use strict";
Clipperz.Base.module('Clipperz.PM.UI.Components.Panels'); Clipperz.Base.module('Clipperz.PM.UI.Components.Panels');
Clipperz.PM.UI.Components.Panels.MainPanelClass = React.createClass({ Clipperz.PM.UI.Components.Panels.MainPanelClass = React.createClass({
@@ -21,7 +21,7 @@ refer to http://www.clipperz.com.
*/ */
'use strict'; "use strict";
Clipperz.Base.module('Clipperz.PM.UI.Components.Panels'); Clipperz.Base.module('Clipperz.PM.UI.Components.Panels');
Clipperz.PM.UI.Components.Panels.SelectionPanelClass = React.createClass({ Clipperz.PM.UI.Components.Panels.SelectionPanelClass = React.createClass({
@@ -21,7 +21,7 @@ refer to http://www.clipperz.com.
*/ */
'use strict'; "use strict";
Clipperz.Base.module('Clipperz.PM.UI.Components'); Clipperz.Base.module('Clipperz.PM.UI.Components');
Clipperz.PM.UI.Components.SelectionsClass = React.createClass({ Clipperz.PM.UI.Components.SelectionsClass = React.createClass({
@@ -21,7 +21,7 @@ refer to http://www.clipperz.com.
*/ */
'use strict'; "use strict";
Clipperz.Base.module('Clipperz.PM.UI.Components'); Clipperz.Base.module('Clipperz.PM.UI.Components');
Clipperz.PM.UI.Components.TagIndexItemClass = React.createClass({ Clipperz.PM.UI.Components.TagIndexItemClass = React.createClass({
@@ -294,6 +294,15 @@ console.log("THE BROWSER IS OFFLINE");
loginFormPage.setProps({'mode':this.loginMode()}); loginFormPage.setProps({'mode':this.loginMode()});
this.moveInPage(this.currentPage(), 'loginPage'); this.moveInPage(this.currentPage(), 'loginPage');
MochiKit.Async.callLater(0.5, MochiKit.Base.method(loginFormPage, 'setInitialFocus')); MochiKit.Async.callLater(0.5, MochiKit.Base.method(loginFormPage, 'setInitialFocus'));
MochiKit.Async.callLater(0.5, MochiKit.Base.method(this, 'recursivelyPollLoginFormForChanges'));
},
recursivelyPollLoginFormForChanges: function () {
this.pages()['loginPage'].pollForChanges();
if (this.currentPage() == 'loginPage') {
MochiKit.Async.callLater(0.5, MochiKit.Base.method(this, 'recursivelyPollLoginFormForChanges'));
}
}, },
showRegistrationForm_handler: function () { showRegistrationForm_handler: function () {
+98 -98
View File
@@ -102,10 +102,10 @@ http://jonibologna.com/flexbox-cheatsheet/
@mixin flexbox { @mixin flexbox {
display: -webkit-box; // display: -webkit-box;
display: -webkit-flex; // display: -webkit-flex;
display: -moz-flex; // display: -moz-flex;
display: -ms-flexbox; // display: -ms-flexbox;
display: flex; display: flex;
} }
@@ -114,10 +114,10 @@ http://jonibologna.com/flexbox-cheatsheet/
//---------------------------------- //----------------------------------
@mixin inline-flex { @mixin inline-flex {
display: -webkit-inline-box; // display: -webkit-inline-box;
display: -webkit-inline-flex; // display: -webkit-inline-flex;
display: -moz-inline-flex; // display: -moz-inline-flex;
display: -ms-inline-flexbox; // display: -ms-inline-flexbox;
display: inline-flex; display: inline-flex;
} }
@@ -137,22 +137,22 @@ http://jonibologna.com/flexbox-cheatsheet/
// http://w3.org/tr/css3-flexbox/#flex-direction-property // http://w3.org/tr/css3-flexbox/#flex-direction-property
@mixin flex-direction($value: row) { @mixin flex-direction($value: row) {
@if $value == row-reverse { // @if $value == row-reverse {
-webkit-box-direction: reverse; // -webkit-box-direction: reverse;
-webkit-box-orient: horizontal; // -webkit-box-orient: horizontal;
} @else if $value == column { // } @else if $value == column {
-webkit-box-direction: normal; // -webkit-box-direction: normal;
-webkit-box-orient: vertical; // -webkit-box-orient: vertical;
} @else if $value == column-reverse { // } @else if $value == column-reverse {
-webkit-box-direction: reverse; // -webkit-box-direction: reverse;
-webkit-box-orient: vertical; // -webkit-box-orient: vertical;
} @else { // } @else {
-webkit-box-direction: normal; // -webkit-box-direction: normal;
-webkit-box-orient: horizontal; // -webkit-box-orient: horizontal;
} // }
-webkit-flex-direction: $value; // -webkit-flex-direction: $value;
-moz-flex-direction: $value; // -moz-flex-direction: $value;
-ms-flex-direction: $value; // -ms-flex-direction: $value;
flex-direction: $value; flex-direction: $value;
} }
// Shorter version: // Shorter version:
@@ -173,13 +173,13 @@ http://jonibologna.com/flexbox-cheatsheet/
@mixin flex-wrap($value: nowrap) { @mixin flex-wrap($value: nowrap) {
// No Webkit Box fallback. // No Webkit Box fallback.
-webkit-flex-wrap: $value; // -webkit-flex-wrap: $value;
-moz-flex-wrap: $value; // -moz-flex-wrap: $value;
@if $value == nowrap { // @if $value == nowrap {
-ms-flex-wrap: none; // -ms-flex-wrap: none;
} @else { // } @else {
-ms-flex-wrap: $value; // -ms-flex-wrap: $value;
} // }
flex-wrap: $value; flex-wrap: $value;
} }
@@ -198,9 +198,9 @@ http://jonibologna.com/flexbox-cheatsheet/
@mixin flex-flow($values: (row nowrap)) { @mixin flex-flow($values: (row nowrap)) {
// No Webkit Box fallback. // No Webkit Box fallback.
-webkit-flex-flow: $values; // -webkit-flex-flow: $values;
-moz-flex-flow: $values; // -moz-flex-flow: $values;
-ms-flex-flow: $values; // -ms-flex-flow: $values;
flex-flow: $values; flex-flow: $values;
} }
@@ -216,10 +216,10 @@ http://jonibologna.com/flexbox-cheatsheet/
// http://w3.org/tr/css3-flexbox/#order-property // http://w3.org/tr/css3-flexbox/#order-property
@mixin order($int: 0) { @mixin order($int: 0) {
-webkit-box-ordinal-group: $int + 1; // -webkit-box-ordinal-group: $int + 1;
-webkit-order: $int; // -webkit-order: $int;
-moz-order: $int; // -moz-order: $int;
-ms-flex-order: $int; // -ms-flex-order: $int;
order: $int; order: $int;
} }
@@ -235,10 +235,10 @@ http://jonibologna.com/flexbox-cheatsheet/
// http://w3.org/tr/css3-flexbox/#flex-grow-property // http://w3.org/tr/css3-flexbox/#flex-grow-property
@mixin flex-grow($int: 0) { @mixin flex-grow($int: 0) {
-webkit-box-flex: $int; // -webkit-box-flex: $int;
-webkit-flex-grow: $int; // -webkit-flex-grow: $int;
-moz-flex-grow: $int; // -moz-flex-grow: $int;
-ms-flex-positive: $int; // -ms-flex-positive: $int;
flex-grow: $int; flex-grow: $int;
} }
@@ -254,9 +254,9 @@ http://jonibologna.com/flexbox-cheatsheet/
// http://w3.org/tr/css3-flexbox/#flex-shrink-property // http://w3.org/tr/css3-flexbox/#flex-shrink-property
@mixin flex-shrink($int: 1) { @mixin flex-shrink($int: 1) {
-webkit-flex-shrink: $int; // -webkit-flex-shrink: $int;
-moz-flex-shrink: $int; // -moz-flex-shrink: $int;
-ms-flex-negative: $int; // -ms-flex-negative: $int;
flex-shrink: $int; flex-shrink: $int;
} }
@@ -272,9 +272,9 @@ http://jonibologna.com/flexbox-cheatsheet/
// http://www.w3.org/TR/css3-flexbox/#flex-basis-property // http://www.w3.org/TR/css3-flexbox/#flex-basis-property
@mixin flex-basis($value: auto) { @mixin flex-basis($value: auto) {
-webkit-flex-basis: $value; // -webkit-flex-basis: $value;
-moz-flex-basis: $value; // -moz-flex-basis: $value;
-ms-flex-preferred-size: $value; // -ms-flex-preferred-size: $value;
flex-basis: $value; flex-basis: $value;
} }
@@ -304,11 +304,11 @@ http://jonibologna.com/flexbox-cheatsheet/
$fg-boxflex: nth($fg, 1); $fg-boxflex: nth($fg, 1);
} }
-webkit-box-flex: $fg-boxflex; // -webkit-box-flex: $fg-boxflex;
-webkit-flex: $fg $fs $fb; // -webkit-flex: $fg $fs $fb;
-moz-box-flex: $fg-boxflex; // -moz-box-flex: $fg-boxflex;
-moz-flex: $fg $fs $fb; // -moz-flex: $fg $fs $fb;
-ms-flex: $fg $fs $fb; // -ms-flex: $fg $fs $fb;
flex: $fg $fs $fb; flex: $fg $fs $fb;
} }
@@ -331,21 +331,21 @@ http://jonibologna.com/flexbox-cheatsheet/
// http://w3.org/tr/css3-flexbox/#justify-content-property // http://w3.org/tr/css3-flexbox/#justify-content-property
@mixin justify-content($value: flex-start) { @mixin justify-content($value: flex-start) {
@if $value == flex-start { // @if $value == flex-start {
-webkit-box-pack: start; // -webkit-box-pack: start;
-ms-flex-pack: start; // -ms-flex-pack: start;
} @else if $value == flex-end { // } @else if $value == flex-end {
-webkit-box-pack: end; // -webkit-box-pack: end;
-ms-flex-pack: end; // -ms-flex-pack: end;
} @else if $value == space-between { // } @else if $value == space-between {
-webkit-box-pack: justify; // -webkit-box-pack: justify;
-ms-flex-pack: justify; // -ms-flex-pack: justify;
} @else { // } @else {
-webkit-box-pack: $value; // -webkit-box-pack: $value;
-ms-flex-pack: $value; // -ms-flex-pack: $value;
} // }
-webkit-justify-content: $value; // -webkit-justify-content: $value;
-moz-justify-content: $value; // -moz-justify-content: $value;
justify-content: $value; justify-content: $value;
} }
// Shorter version: // Shorter version:
@@ -369,18 +369,18 @@ http://jonibologna.com/flexbox-cheatsheet/
// http://w3.org/tr/css3-flexbox/#align-items-property // http://w3.org/tr/css3-flexbox/#align-items-property
@mixin align-items($value: stretch) { @mixin align-items($value: stretch) {
@if $value == flex-start { // @if $value == flex-start {
-webkit-box-align: start; // -webkit-box-align: start;
-ms-flex-align: start; // -ms-flex-align: start;
} @else if $value == flex-end { // } @else if $value == flex-end {
-webkit-box-align: end; // -webkit-box-align: end;
-ms-flex-align: end; // -ms-flex-align: end;
} @else { // } @else {
-webkit-box-align: $value; // -webkit-box-align: $value;
-ms-flex-align: $value; // -ms-flex-align: $value;
} // }
-webkit-align-items: $value; // -webkit-align-items: $value;
-moz-align-items: $value; // -moz-align-items: $value;
align-items: $value; align-items: $value;
} }
@@ -393,15 +393,15 @@ http://jonibologna.com/flexbox-cheatsheet/
@mixin align-self($value: auto) { @mixin align-self($value: auto) {
// No Webkit Box Fallback. // No Webkit Box Fallback.
-webkit-align-self: $value; // -webkit-align-self: $value;
-moz-align-self: $value; // -moz-align-self: $value;
@if $value == flex-start { // @if $value == flex-start {
-ms-flex-item-align: start; // -ms-flex-item-align: start;
} @else if $value == flex-end { // } @else if $value == flex-end {
-ms-flex-item-align: end; // -ms-flex-item-align: end;
} @else { // } @else {
-ms-flex-item-align: $value; // -ms-flex-item-align: $value;
} // }
align-self: $value; align-self: $value;
} }
@@ -421,14 +421,14 @@ http://jonibologna.com/flexbox-cheatsheet/
@mixin align-content($value: stretch) { @mixin align-content($value: stretch) {
// No Webkit Box Fallback. // No Webkit Box Fallback.
-webkit-align-content: $value; // -webkit-align-content: $value;
-moz-align-content: $value; // -moz-align-content: $value;
@if $value == flex-start { // @if $value == flex-start {
-ms-flex-line-pack: start; // -ms-flex-line-pack: start;
} @else if $value == flex-end { // } @else if $value == flex-end {
-ms-flex-line-pack: end; // -ms-flex-line-pack: end;
} @else { // } @else {
-ms-flex-line-pack: $value; // -ms-flex-line-pack: $value;
} // }
align-content: $value; align-content: $value;
} }
+20 -36
View File
@@ -179,7 +179,7 @@ input[type=text] {
.extraFeatureContent { .extraFeatureContent {
.extraFeature { .extraFeature {
height: calc(100% - $mainCardToolbarHeight); // height: calc(100% - $mainCardToolbarHeight);
} }
} }
@@ -279,6 +279,8 @@ input[type=text] {
} }
.cardContent { .cardContent {
@include flex(1);
@include overflow-auto();
} }
} }
@@ -363,7 +365,7 @@ div.cardContent {
@include flexbox(); @include flexbox();
@include flex-direction(row); @include flex-direction(row);
height: 100%; // height: 100%;
div.cardListColumn.column { div.cardListColumn.column {
@include flex($cardListWidth, 0); @include flex($cardListWidth, 0);
@@ -372,7 +374,7 @@ div.cardContent {
// overflow:auto; // overflow:auto;
// @include overflow-auto; // @include overflow-auto;
overflow: hidden; overflow: hidden;
// height: 100%;
z-index: 5; z-index: 5;
box-shadow: 2px 0 6px 0 rgba(0,0,0, 0.1); box-shadow: 2px 0 6px 0 rgba(0,0,0, 0.1);
@@ -382,7 +384,9 @@ div.cardContent {
&.addCard { &.addCard {
div.cardList { div.cardList {
padding-bottom: 100px; .cardListInnerWrapper {
padding-bottom: #{$cardListPadding};
}
} }
} }
@@ -602,40 +606,20 @@ div.dialogBox {
} }
} }
div.helpBox {
}
/* Firefox considers 100% respect to height of the whole window, this is rule is necessary to eliminate the card toolbar offset. */ //@include fixHeighHack ($mainCardToolbarHeight /*, $cardListPadding*/)
/*
// Firefox considers 100% respect to height of the whole window, this is rule is necessary to eliminate the card toolbar offset.
@-moz-document url-prefix() { @-moz-document url-prefix() {
#mainPanel { @include fixHeighHack ($mainCardToolbarHeight, $cardListPadding)
&.extra-wide {
.subpanel {
&.cardContent {
height: calc(100% - #{$mainCardToolbarHeight});
}
}
}
&.wide {
.cardContent {
height: calc(100% - #{$mainCardToolbarHeight});
}
}
}
} }
@media screen and (-webkit-min-device-pixel-ratio:0) { // Chrome fix (without messing with Safari)
#mainPanel { @supports (-webkit-appearance:none) and (R:0) {
&.extra-wide { @include fixHeighHack ($mainCardToolbarHeight, $cardListPadding)
.subpanel {
&.cardContent {
height: calc(100% - #{$mainCardToolbarHeight});
}
}
}
&.wide {
.cardContent {
height: calc(100% - #{$mainCardToolbarHeight});
}
}
}
} }
*/
+31
View File
@@ -216,4 +216,35 @@ refer to http://www.clipperz.com.
background-size: 3px 3px; background-size: 3px 3px;
} }
@mixin fixHeighHack ($offsetHeight /*, $padding*/) {
/*
#mainPanel {
&.extra-wide {
.subpanel {
&.cardContent {
height: calc(100% - #{$offsetHeight});
}
}
}
&.wide {
.cardContent {
height: calc(100% - #{$offsetHeight});
}
}
}
div.cardContent {
div.cardListColumn.column {
&.addCard {
height: calc(100% + #{$offsetHeight});
}
div.cardList {
// height: calc(100% - #{$padding} - #{$offsetHeight});
height: calc(100% - #{$offsetHeight});
}
}
}
*/
}
+1
View File
@@ -29,6 +29,7 @@ $cardContentPanelFlexWidth: 4;
$mainCardToolbarHeight: 48px; $mainCardToolbarHeight: 48px;
$cardListPadding: 100px;
$cardListWidth: 1; $cardListWidth: 1;
$cardDetailWidth: 2; $cardDetailWidth: 2;
+1 -1
View File
@@ -578,7 +578,7 @@ $cardViewBasePadding: 10px;
@include icon-font(); @include icon-font();
color: #aaa; color: #aaa;
width: 20px; width: 21px;
height: 20px; height: 20px;
font-size: 15pt; font-size: 15pt;
margin: $iconMargin; margin: $iconMargin;
@@ -209,6 +209,7 @@ refer to http://www.clipperz.com.
.showArchivedCards { .showArchivedCards {
@include flexbox(); @include flexbox();
@include flex-direction(row); @include flex-direction(row);
border-top: 1px dotted #333;
padding: 10px; padding: 10px;
font-size: 10pt; font-size: 10pt;