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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -284,20 +284,6 @@
height: inherit;
border: 1px solid transparent;
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 */

View File

@ -2,6 +2,7 @@
var Tpl = require ('./gui.xml');
var Module = require ('./module');
var Form = require ('./form');
var transitions = require ('vn/transitions');
require ('./gui.css');
@ -442,15 +443,10 @@ module.exports = new Class
div.appendChild (form);
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)
{
Vn.Node.setChild (this.$.title, title);

View File

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

View File

@ -1,5 +1,5 @@
var slide = require ('vn/transitions').slide;
var transitions = require ('vn/transitions');
module.exports = new Class
({
@ -282,6 +282,6 @@ module.exports = new Class
,refreshSlide: function (way)
{
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.img.src = this._makeSrc (this._subdir);
}
else
delete this.img.src;
else if (this.img.src != '')
this.img.src = '';
}
,putValue: function (value)
,putValue: function ()
{
this._refreshSrc ();
}

View File

@ -646,25 +646,6 @@ td.cell-image .htk-image
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 */
@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 transition = checkTransitions ();
module.exports = {
transition: transition,
slide: slide
slide: slide,
move: move
};
/**
@ -73,3 +75,30 @@ function slide (node, way, cb)
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');
}
}