This commit is contained in:
Juan Ferrer Toribio 2017-11-06 16:00:14 +01:00
parent c3c7c77b65
commit 1cec1b4cd6
19 changed files with 115 additions and 90 deletions

View File

@ -1,6 +1,6 @@
<vn> <vn>
<vn-group> <vn-group>
<db-form id="user-form"> <db-form id="client">
<db-model property="model" lot="hash"> <db-model property="model" lot="hash">
SELECT Id_Cliente, Cliente, Telefono, movil SELECT Id_Cliente, Cliente, Telefono, movil
FROM vn2008.Clientes WHERE Id_Cliente = #user FROM vn2008.Clientes WHERE Id_Cliente = #user
@ -13,21 +13,21 @@
<div id="main" class="access-log"> <div id="main" class="access-log">
<div class="card form"> <div class="card form">
<p> <p>
<htk-text lot="user-form" name="Id_Cliente"/> {{client.Id_Cliente}}
</p> </p>
<p> <p>
<htk-text lot="user-form" name="Cliente"/> {{client.Cliente}}
</p> </p>
<p> <p>
<htk-text lot="user-form" name="Telefono"/> {{client.Telefono}}
</p> </p>
<p> <p>
<htk-text lot="user-form" name="movil"/> {{client.movil}}
</p> </p>
</div> </div>
<div class="card"> <div class="card">
<div> <div>
<htk-repeater form-id="iter"> <htk-repeater>
<db-model property="model" lot="hash"> <db-model property="model" lot="hash">
SELECT u.stamp, a.platform, a.browser, a.version, a.javascript, a.cookies SELECT u.stamp, a.platform, a.browser, a.version, a.javascript, a.cookies
FROM visitUser u FROM visitUser u
@ -43,9 +43,7 @@
<htk-text lot="iter" name="stamp" format="_%a, %e %b %Y at %T"/> <htk-text lot="iter" name="stamp" format="_%a, %e %b %Y at %T"/>
</p> </p>
<p> <p>
<htk-text lot="iter" name="platform"/> - {{platform}} - {{browser}} {{version}}
<htk-text lot="iter" name="browser"/>
<htk-text lot="iter" name="version"/>
</p> </p>
</div> </div>
</custom> </custom>

View File

@ -176,7 +176,7 @@ Hedera.Photos = new Class
,onClearClick: function () ,onClearClick: function ()
{ {
this.filesData = []; this.filesData = [];
Vn.Node.removeChilds (this.$.file-list); Vn.Node.removeChilds (this.$.fileList);
} }
,onDropzoneClick: function () ,onDropzoneClick: function ()

View File

@ -3,9 +3,9 @@ Hedera.Users = new Class
({ ({
Extends: Hedera.Form Extends: Hedera.Form
,onChangeUserClick: function (button, form) ,onChangeUserClick: function (button)
{ {
this.gui.supplantUser (form.$.name, this.gui.supplantUser (button.value,
this.onUserSupplant.bind (this)); this.onUserSupplant.bind (this));
} }

View File

@ -1,4 +1,8 @@
<vn> <vn>
<vn-lot-query id="params">
<vn-spec name="from" type="Date"/>
<vn-spec name="to" type="Date"/>
</vn-lot-query>
<h1 id="title"> <h1 id="title">
_Visits _Visits
</h1> </h1>
@ -16,11 +20,11 @@
<div class="card form"> <div class="card form">
<div> <div>
<label>_From</label> <label>_From</label>
<htk-date-chooser lot="hash" name="from"/> <htk-date-chooser lot="params" name="from"/>
</div> </div>
<div> <div>
<label>_To</label> <label>_To</label>
<htk-date-chooser lot="hash" name="to"/> <htk-date-chooser lot="params" name="to"/>
</div> </div>
</div> </div>
<div class="summary card form"> <div class="summary card form">
@ -31,19 +35,19 @@
model="visits" model="visits"
column-name="visits"/> column-name="visits"/>
</htk-text> </htk-text>
_visits, <span>_visits</span>,
<htk-text> <htk-text>
<db-calc-sum <db-calc-sum
property="param" property="param"
model="visits" model="visits"
column-name="newVisits"/> column-name="newVisits"/>
</htk-text> </htk-text>
_news <span>_news</span>
</p> </p>
</div> </div>
<div class="card list "> <div class="card list ">
<htk-repeater empty-message="_Select date interval"> <htk-repeater empty-message="_Select date interval">
<db-model property="model" id="visits" lot="hash"> <db-model property="model" id="visits" lot="params">
SELECT browser SELECT browser
,MIN(CAST(version AS DECIMAL(4,1))) minVersion ,MIN(CAST(version AS DECIMAL(4,1))) minVersion
,MAX(CAST(version AS DECIMAL(4,1))) maxVersion ,MAX(CAST(version AS DECIMAL(4,1))) maxVersion
@ -64,10 +68,7 @@
{{browser}} {{minVersion}} - {{maxVersion}} {{browser}} {{minVersion}} - {{maxVersion}}
</p> </p>
<p> <p>
<htk-text lot="iter" name="visits"/> {{visits}} <span>_visits</span>, {{newVisits}} <span>_news</span>
_visits,
<htk-text lot="iter" name="newVisits"/>
_news
</p> </p>
<p> <p>
<htk-text lot="iter" name="lastVisit" format="_%a, %e %b %Y at %T"/> <htk-text lot="iter" name="lastVisit" format="_%a, %e %b %Y at %T"/>

View File

@ -11,7 +11,7 @@
</div> </div>
<div id="main" class="home"> <div id="main" class="home">
<div class="column mansonry"> <div class="column mansonry">
<htk-repeater form-id="new"> <htk-repeater>
<db-model property="model"> <db-model property="model">
SELECT title, text, image, id FROM news SELECT title, text, image, id FROM news
WHERE tag != 'course' WHERE tag != 'course'
@ -21,15 +21,15 @@
<div class="masonry-box"> <div class="masonry-box">
<div class="new"> <div class="new">
<div class="top"> <div class="top">
<h2>{{new.title}}</h2> <h2>{{title}}</h2>
<div class="new-text"> <div class="new-text">
<htk-html value="{{new.text}}"/> <htk-html value="{{text}}"/>
</div> </div>
</div> </div>
<htk-image <htk-image
directory="news" directory="news"
subdir="full" subdir="full"
value="{{new.image}}" value="{{image}}"
editable="false" editable="false"
full-dir="full"/> full-dir="full"/>
</div> </div>

View File

@ -14,19 +14,18 @@
<div class="masonry-box"> <div class="masonry-box">
<div class="new"> <div class="new">
<div class="top"> <div class="top">
<h2><htk-text lot="new" name="title"/></h2> <h2>{{title}}</h2>
<p class="new-info"> <p class="new-info">
<htk-text format="_%a, %e %b %Y" lot="new" name="date_time"/> <htk-text format="_%a, %e %b %Y" lot="new" name="date_time"/>
</p> </p>
<div class="new-text"> <div class="new-text">
<htk-html lot="new" name="text"/> <htk-html value="{{text}}"/>
</div> </div>
</div> </div>
<htk-image <htk-image
directory="news" directory="news"
subdir="full" subdir="full"
lot="new" value="{{image}}"
name="image"
editable="false" editable="false"
full-dir="full"/> full-dir="full"/>
</div> </div>

View File

@ -170,7 +170,7 @@
<label for="r-transfer">_Bank Transfer</label> <label for="r-transfer">_Bank Transfer</label>
<div class="pay-info"> <div class="pay-info">
_Make a transfer to one account. _Make a transfer to one account.
<htk-repeater form-id="iter"> <htk-repeater>
<db-model property="model"> <db-model property="model">
SELECT description, iban, entity_id, office, dc, number SELECT description, iban, entity_id, office, dc, number
FROM vn2008.account_customer c FROM vn2008.account_customer c
@ -178,14 +178,12 @@
<custom> <custom>
<div class="transfer-account"> <div class="transfer-account">
<p> <p>
<htk-text lot="iter" name="description"/> {{description}}
</p> </p>
<p> <p>
<htk-text lot="iter" name="iban"/> {{iban}}
<htk-text lot="iter" name="entity_id" format="%.4d"/> <htk-text lot="iter" name="entity_id" format="%.4d"/>
<htk-text lot="iter" name="office"/> {{office}} {{dc}} {{number}}
<htk-text lot="iter" name="dc"/>
<htk-text lot="iter" name="number"/>
</p> </p>
</div> </div>
</custom> </custom>

View File

@ -27,7 +27,7 @@
</div> </div>
<div> <div>
<p> <p>
<t>Delivery</t> {{ticket.Agencia}} <span>_Delivery</span> {{ticket.Agencia}}
</p> </p>
<p> <p>
{{ticket.consignee}} {{ticket.consignee}}

View File

@ -3,17 +3,17 @@ Hedera.News = new Class
({ ({
Extends: Hedera.Form Extends: Hedera.Form
,onDeleteClick: function (button, form, event) ,onDeleteClick: function (button)
{ {
if (confirm (_('ReallyDelete'))) if (confirm (_('ReallyDelete')))
form.deleteRow (); button.lot.deleteRow ();
} }
,repeaterFunc: function (res, form) ,repeaterFunc: function (res, lot)
{ {
res.$.link.href = this.hash.make ({ res.$.link.href = this.hash.make ({
form: 'news/new', form: 'news/new',
new: form.$.id new: lot.$.id
}); });
} }

View File

@ -22,7 +22,6 @@
<div class="actions"> <div class="actions">
<htk-button <htk-button
lot="iter" lot="iter"
name="id"
tip="_Remove" tip="_Remove"
icon="delete" icon="delete"
on-click="onDeleteClick"/> on-click="onDeleteClick"/>
@ -43,8 +42,7 @@
{{Cliente}} {{Cliente}}
</p> </p>
<p> <p>
_Priority <span>_Priority</span> {{priority}}
<htk-text lot="iter" name="priority"/>
</p> </p>
</a> </a>
</custom> </custom>

View File

@ -294,9 +294,10 @@ Klass.implement
if (this._filter && (!params || params.filter === undefined)) if (this._filter && (!params || params.filter === undefined))
myParams.filter = this._filter; myParams.filter = this._filter;
this._lastLotParams = lotParams;
if (this._isReady (myParams)) if (this._isReady (myParams))
{ {
this._lastLotParams = lotParams;
this._setStatus (Status.LOADING); this._setStatus (Status.LOADING);
this._conn.execStmt (this._stmt, this._selectDone.bind (this), myParams); this._conn.execStmt (this._stmt, this._selectDone.bind (this), myParams);
} }

View File

@ -284,20 +284,6 @@
height: inherit; height: inherit;
border: 1px solid transparent; border: 1px solid transparent;
box-sizing: border-box; box-sizing: border-box;
opacity: 0;
transform: translateZ(0) translateX(-2em);
-webkit-transform: translateZ(0) translateX(-2em);
transition-property: opacity, transform;
transition-timing-function: ease-out;
transition-duration: 200ms;
}
.vn-gui .form-holder > .slide
{
opacity: 1;
transform: translateZ(0) translateX(0em);
-webkit-transform: translateZ(0) translateX(0em);
} }
} /*+++++++++ Screen end */ } /*+++++++++ Screen end */

View File

@ -2,6 +2,7 @@
var Tpl = require ('./gui.xml'); var Tpl = require ('./gui.xml');
var Module = require ('./module'); var Module = require ('./module');
var Form = require ('./form'); var Form = require ('./form');
var transitions = require ('vn/transitions');
require ('./gui.css'); require ('./gui.css');
@ -442,15 +443,10 @@ module.exports = new Class
div.appendChild (form); div.appendChild (form);
this.$.formHolder.appendChild (div); this.$.formHolder.appendChild (div);
setTimeout (this._onSetFormTimeout.bind (this), 10); transitions.move (div);
} }
} }
,_onSetFormTimeout: function ()
{
Vn.Node.addClass (this.$.formHolder.firstChild, 'slide');
}
,setTitle: function (title) ,setTitle: function (title)
{ {
Vn.Node.setChild (this.$.title, title); Vn.Node.setChild (this.$.title, title);

View File

@ -72,4 +72,3 @@ module.exports = new Class
}, this); }, this);
} }
}); });

View File

@ -1,5 +1,5 @@
var slide = require ('vn/transitions').slide; var transitions = require ('vn/transitions');
module.exports = new Class module.exports = new Class
({ ({
@ -282,6 +282,6 @@ module.exports = new Class
,refreshSlide: function (way) ,refreshSlide: function (way)
{ {
var cb = this.refresh.bind (this); var cb = this.refresh.bind (this);
slide (this.table, way, cb); transitions.slide (this.table, way, cb);
} }
}); });

View File

@ -156,11 +156,11 @@ module.exports = new Class
this._error = false; this._error = false;
this.img.src = this._makeSrc (this._subdir); this.img.src = this._makeSrc (this._subdir);
} }
else else if (this.img.src != '')
delete this.img.src; this.img.src = '';
} }
,putValue: function (value) ,putValue: function ()
{ {
this._refreshSrc (); this._refreshSrc ();
} }

View File

@ -646,25 +646,6 @@ td.cell-image .htk-image
border-left-color: white; border-left-color: white;
} }
/* Transitions */
.slide
{
transition: transform 100ms;
}
.slide-right
{
transform: translate3d(20em, 0, 0);
}
.slide-left
{
transform: translate3d(-20em, 0, 0);
}
.slide-return
{
transform: translate3d(0, 0, 0);
}
} /*+++++++++ Screen end */ } /*+++++++++ Screen end */
@keyframes spinner @keyframes spinner

39
js/vn/transitions.css Normal file
View File

@ -0,0 +1,39 @@
.slide
{
transition: transform 100ms;
}
.slide-right
{
transform: translate3d(20em, 0, 0);
-webkit-transform: translate3d(20em, 0, 0);
}
.slide-left
{
transform: translate3d(-20em, 0, 0);
-webkit-transform: translate3d(-20em, 0, 0);
}
.slide-return
{
transform: translate3d(0, 0, 0);
-webkit-transform: translate3d(0, 0, 0);
}
.move
{
transition-property: opacity, transform;
transition-timing-function: ease-out;
transition-duration: 200ms;
}
.move-start
{
opacity: 0;
transform: translate3d(-2em, 0, 0);
-webkit-transform: translate3d(-2em, 0, 0);
}
.move-end
{
opacity: 1;
transform: translate3d(0, 0, 0);
-webkit-transform: translate3d(0, 0, 0);
}

View File

@ -1,11 +1,13 @@
require ('./transitions.css');
var VnNode = require ('./node'); var VnNode = require ('./node');
var transition = checkTransitions (); var transition = checkTransitions ();
module.exports = { module.exports = {
transition: transition, transition: transition,
slide: slide slide: slide,
move: move
}; };
/** /**
@ -73,3 +75,30 @@ function slide (node, way, cb)
VnNode.removeClass (node, 'slide'); VnNode.removeClass (node, 'slide');
} }
} }
/**
* Moves an element.
*
* @param {Node} node The element to move
*/
function move (node)
{
if (transition === null)
return;
Vn.Node.addClass (node, 'move-start');
setTimeout (slideTimeout, 20);
function slideTimeout ()
{
Vn.Node.removeClass (node, 'move-start');
Vn.Node.addClass (node, 'move-end move');
node.addEventListener ('transitionend', onTransitionEnd);
}
function onTransitionEnd ()
{
Vn.Node.removeClass (node, 'move-end');
Vn.Node.removeClass (node, 'move');
}
}