Fixes
gitea/hedera-web/pipeline/head This commit looks good Details

This commit is contained in:
Juan Ferrer 2022-06-07 10:19:29 +02:00
parent 7669dc0db0
commit d1819118d8
15 changed files with 122 additions and 98 deletions

2
debian/changelog vendored
View File

@ -1,4 +1,4 @@
hedera-web (1.407.78) stable; urgency=low
hedera-web (1.407.79) stable; urgency=low
* Initial Release.

View File

@ -105,6 +105,8 @@ Hedera.Catalog = new Class({
for (const tag of tags)
$[`${tag}s`].lot = this.getFilter(params, tags, tag);
if (lot) this.hideMenu();
}
,refreshTitle: function() {

View File

@ -4,6 +4,9 @@
.title ._subtitle {
font-size: .7rem;
color: #bbb;
text-overflow: ellipsis;
white-space: nowrap;
overflow: hidden;
}
/* Right panel */
@ -78,10 +81,10 @@
width: 25%;
padding: .6em;
box-sizing: border-box;
border-radius: 50%;
}
.right-panel .realms a:hover {
background-color: rgba(1, 1, 1, .05);
border-radius: .15em;
}
.right-panel .realms a > img {
display: block;
@ -98,12 +101,9 @@
display: flex;
box-sizing: border-box;
}
.item-box > htk-image {
.item-box > .htk-image {
flex: none;
}
.item-box > htk-image:hover {
background-color: transparent;
}
.item-box > .item-info {
flex: auto;
position: relative;
@ -212,8 +212,8 @@
background-color: white;
flex-direction: column;
width: 240px;
height: 410px;
width: 260px;
height: 425px;
overflow: hidden;
}
.grid-view .item-box:hover {
@ -223,8 +223,8 @@
margin: 10px;
}
.grid-view .item-box > .htk-image {
width: 240px;
height: 240px;
width: 260px;
height: 260px;
}
.grid-view .item-box > .item-info {
flex: auto;
@ -254,7 +254,7 @@
gap: 10px;
margin: 0;
padding: 10px;
height: 120px;
height: 130px;
overflow: visible;
border-bottom: 1px solid #DDD;
}
@ -262,15 +262,15 @@
border-bottom: none;
}
.list-view .item-box > .htk-image {
width: 100px;
height: 100px;
width: 110px;
height: 110px;
border-radius: 50%;
}
.list-view .item-info {
overflow: hidden;
}
.list-view .item-info > h2 {
font-size: 1em;
font-size: 1rem;
white-space: nowrap;
}
.list-view .item-info > .color {

View File

@ -49,9 +49,9 @@ $navbar-height: 64px;
flex: auto;
display: flex;
align-items: center;
gap: 15px;
gap: 12px;
overflow: hidden;
padding-left: 15px;
padding-left: 12px;
& > .title {
overflow: hidden;
@ -74,9 +74,9 @@ $navbar-height: 64px;
height: 100%;
display: flex;
align-items: center;
padding-right: $spacing-md;
padding-left: $spacing-sm;
gap: .5em;
padding-right: 12px;
padding-left: 4px;
gap: 2px;
& > * {
float: right;
@ -84,7 +84,7 @@ $navbar-height: 64px;
}
button {
margin: 0;
padding: 10px 15px;
padding: 8px 13px;
&:hover {
background-color: rgba(2550, 255, 255, .2);
@ -305,7 +305,7 @@ $navbar-height: 64px;
@media (max-width: 960px) {
& > .navbar {
padding-left: 16px;
padding-left: 12px;
left: 0;
& > .menu-button {
@ -313,7 +313,7 @@ $navbar-height: 64px;
}
& > .action-bar {
button {
padding: 10px;
padding: 8px;
}
span.label,
button > .text {

View File

@ -21,9 +21,7 @@ module.exports = new Class({
,month: null
,render: function() {
var len = Vn.Date.WDays.length;
var node = this.createRoot('div');
this.createRoot('div');
var table = this.createElement('table');
this.node.appendChild(table);
@ -31,6 +29,7 @@ module.exports = new Class({
var colgroup = this.createElement('colgroup');
table.appendChild(colgroup);
var len = Vn.Date.WDays.length;
for (var i = 0; i < len; i++)
colgroup.appendChild(this.createElement('col'));

View File

@ -11,8 +11,6 @@ td.cell-button {
height: 44px;
width: 44px;
margin: 0 auto;
border-radius: 50%;
padding: 10px;
border: none;
background-color: transparent;
box-sizing: border-box;

View File

@ -2,8 +2,8 @@ require('./style.scss');
var Component = require('vn/component');
module.exports = new Class({
Tag: 'htk-loader'
,Extends: Component
Extends: Component
,Tag: 'htk-loader'
,Properties: {
form: {
type: Db.Form

View File

@ -91,7 +91,7 @@ module.exports = new Class({
bg.addEventListener('mousedown', this._bgMouseDownHandler);
Htk.Toast.pushTop(bg);
Vn.Node.addClass(this.node, 'modal');
this.node.classList.add('modal');
bg.appendChild(this.node);
this.doc.body.appendChild(bg);
@ -125,26 +125,23 @@ module.exports = new Class({
style.height = '';
style.width = '';
var margin = 20;
var dblMargin = margin * 2;
var width = node.offsetWidth;
var height = node.offsetHeight;
var innerWidth = window.innerWidth;
var innerHeight = window.innerHeight;
if (!this.isModal()) {
var margin = 20;
var dblMargin = margin * 2;
var width = node.offsetWidth;
var height = node.offsetHeight;
var innerWidth = window.innerWidth;
var innerHeight = window.innerHeight;
if (width + dblMargin > innerWidth) {
width = innerWidth - dblMargin;
style.width = width +'px';
}
if (height + dblMargin > innerHeight) {
height = innerHeight - dblMargin;
style.height = height +'px';
}
if (width + dblMargin > innerWidth) {
width = innerWidth - dblMargin;
style.width = width +'px';
}
if (height + dblMargin > innerHeight) {
height = innerHeight - dblMargin;
style.height = height +'px';
}
if (this.isModal()) {
style.marginLeft = (-node.offsetWidth / 2) +'px';
style.marginTop = (-node.offsetHeight / 2) +'px';
} else {
var spacing = 4;
var rect = this._parent.getBoundingClientRect();
var left = rect.left;

View File

@ -10,10 +10,10 @@
box-sizing: content-box;
&.modal {
position: absolute;
position: relative;
font-size: 1.2em;
top: 50%;
left: 50%;
max-width: 100%;
max-height: 100%;
}
& > * {
border-radius: 0.1em;
@ -21,11 +21,15 @@
}
.htk-background {
position: fixed;
display: flex;
align-items: center;
justify-content: center;
left: 0;
right: 0;
top: 0;
bottom: 0;
z-index: 190;
padding: 20px;
background-color: rgba(1, 1, 1, 0.7);
opacity: 0;
transition: opacity 200ms ease-in-out;

View File

@ -4,51 +4,51 @@
/* Standard */
@media screen {
body { font-size: 10pt; }
body { font-size: 14px; }
}
/* Desktop - Laptop 1360x768 */
@media (max-resolution: 119dpi) and (min-device-width: 1340px) and (max-device-width: 1899px) {
body { font-size: 10pt; }
body { font-size: 14px; }
}
/* Desktop - FHD 1920x1080 */
@media (max-resolution: 119dpi) and (min-device-width: 1900px) {
body { font-size: 10pt; }
body { font-size: 14px; }
}
/* Mobile - Low DPI */
@media
(min-resolution: 120dpi),
(-webkit-min-device-pixel-ratio: 1.5) {
body { font-size: 10pt; }
body { font-size: 14px; }
}
@media
(min-resolution: 144dpi),
(-webkit-min-device-pixel-ratio: 1.5) {
body { font-size: 10pt; }
body { font-size: 14px; }
}
/* Mobile - Normal DPI */
@media
(max-device-width: 383px) and (min-resolution: 192dpi),
(max-device-width: 383px) and (-webkit-min-device-pixel-ratio: 2) {
body { font-size: 10pt; }
body { font-size: 14px; }
}
@media
(min-device-width: 384px) and (min-resolution: 192dpi),
(min-device-width: 384px) and (-webkit-min-device-pixel-ratio: 2) {
body { font-size: 10pt; }
body { font-size: 14px; }
}
/* Mobile - High DPI */
@media
(max-device-width: 411px) and (min-resolution: 249dpi),
(max-device-width: 411px) and (-webkit-min-device-pixel-ratio: 3) {
body { font-size: 10pt; }
body { font-size: 14px; }
}
@media
(min-device-width: 412px) and (min-resolution: 249dpi),
(min-device-width: 412px) and (-webkit-min-device-pixel-ratio: 3) {
body { font-size: 10pt; }
(min-device-width: 414px) and (min-resolution: 249dpi),
(min-device-width: 414px) and (-webkit-min-device-pixel-ratio: 3) {
body { font-size: 14px; }
}

View File

@ -170,9 +170,8 @@ button,
@extend %clickable;
border: none;
background-color: transparent;
padding: 10px;
padding: 8px;
border-radius: 22px;
margin: -0.5em;
font-weight: normal;
&:disabled {

View File

@ -186,7 +186,7 @@ module.exports = new Class({
return scope;
}
,link: function(scope, exprScope) {
,link: function(scope) {
const objects = scope.objects;
const links = this._links;
@ -211,30 +211,22 @@ module.exports = new Class({
// Post-link
const baseExprScope = [
_,
scope.$
].concat(exprScope);
this.linkExpr(scope, baseExprScope);
const contexts = this._contexts;
for (var i = 0; i < contexts.length; i++) {
const context = contexts[i];
const object = objects[i];
if (context.tagName)
this.elementLink(context, object, objects, scope, baseExprScope);
this.elementLink(context, object, objects, scope);
else if (context.klass)
this.objectLink(context, object, objects, scope, baseExprScope);
this.objectLink(context, object, objects, scope);
}
}
,linkExpr(scope, baseScope, exprScope) {
,digest(scope) {
const contexts = this._contexts;
const objects = scope.objects;
exprScope = baseScope.concat(exprScope);
const exprScope = scope.exprScope;
for (let i = 0; i < contexts.length; i++) {
const context = contexts[i];
@ -242,10 +234,16 @@ module.exports = new Class({
if (context.exprs) {
const values = [];
let isEmpty = false;
for (expr of context.exprs) {
let value = undefined;
try {
value = expr.apply(scope.thisArg, exprScope);
if (value == null) {
isEmpty = true;
break;
}
} catch (e) {
console.warn('Expression error:', e.message);
continue;
@ -253,10 +251,16 @@ module.exports = new Class({
values.push(value);
}
let k = 0;
const text = context.text.replace(/{{\d+}}/g, function() {
return values[k++];
});
let text;
if (!isEmpty) {
let k = 0;
text = context.text.replace(/{{\d+}}/g, function() {
return values[k++];
});
} else
text = '';
object.textContent = text;
} else {
const dynProps = context.dynProps;
@ -524,7 +528,7 @@ module.exports = new Class({
return object;
}
,objectLink: function(context, object, objects, scope, exprScope) {
,objectLink: function(context, object, objects, scope) {
const objectProps = context.objectProps;
for (const prop in objectProps)
object[prop] = objects[objectProps[prop]];
@ -546,7 +550,7 @@ module.exports = new Class({
method = method.bind(scope.thisArg);
} else {
method = function() {
handler.apply(scope.thisArg, exprScope);
handler.apply(scope.thisArg, scope.exprScope);
};
}
@ -566,7 +570,7 @@ module.exports = new Class({
this.showError(`Function '${handler}' not found`);
} else {
listener = function() {
handler.apply(scope.thisArg, exprScope.concat(arguments));
handler.apply(scope.thisArg, scope.exprScope.concat(arguments));
};
}
@ -641,7 +645,7 @@ module.exports = new Class({
return object;
}
,elementLink: function(context, object, objects, scope, exprScope) {
,elementLink: function(context, object, objects, scope) {
const childs = context.childs;
for (var i = 0; i < childs.length; i++) {
let child = objects[childs[i]];
@ -664,7 +668,7 @@ module.exports = new Class({
listener = listener.bind(scope.thisArg);
} else {
listener = function(e) {
handler.apply(scope.thisArg, exprScope.concat(e));
handler.apply(scope.thisArg, scope.exprScope.concat(e));
};
}

View File

@ -10,12 +10,14 @@ module.exports = new Class({
this.builder = builder;
this.objects = objects;
this.thisArg = thisArg;
this.parentScope = parent;
this.parent = parent;
this.uid = ++scopeUid;
this.$ = parent ? Object.create(parent.$) : {};
if (!thisArg && parent)
this.thisArg = parent.thisArg;
if (parent) {
parent.on('lot-change', this.onLotChange, this);
if (!thisArg) this.thisArg = parent.thisArg;
}
}
,link: function(exprScope, extraObjects) {
@ -26,7 +28,22 @@ module.exports = new Class({
for (var id in contextMap)
this.$[id] = this.objects[contextMap[id]];
this.builder.link(this, exprScope);
this.exprScope = [
_,
this.$
].concat(exprScope);
this.builder.link(this);
this.builder.digest(this);
for (const object of this.objects)
if (object.assignLot)
object.on('change', this.onLotChange, this);
}
,onLotChange() {
this.emit('lot-change');
this.builder.digest(this);
}
,getMain: function() {
@ -47,11 +64,15 @@ module.exports = new Class({
}
,_destroy: function() {
var objects = this.objects;
for (var i = 0; i < objects.length; i++)
if (objects[i] instanceof VnObject)
objects[i].unref();
for (const object of this.objects)
if (object instanceof VnObject) {
object.disconnectByInstance(this);
object.unref();
}
if (this.parent) {
this.parent.disconnectByInstance(this);
this.parent.unref();
}
VnObject.prototype._destroy.call(this);
}

View File

@ -1,6 +1,6 @@
{
"name": "hedera-web",
"version": "1.407.78",
"version": "1.407.79",
"description": "Verdnatura web page",
"license": "GPL-3.0",
"repository": {