hedera-web/forms/ecomerce/catalog/ui.xml

309 lines
7.5 KiB
XML
Raw Normal View History

2015-03-06 23:33:54 +00:00
<vn>
<vn-group>
2017-10-16 07:58:12 +00:00
<vn-lot-query id="params" on-change="onParamsChange">
2017-08-21 10:20:36 +00:00
<vn-spec name="search" type="String"/>
2017-09-12 11:31:15 +00:00
<vn-spec name="itemId" type="Number"/>
2017-11-16 14:53:20 +00:00
<vn-spec name="category" type="Number"/>
2017-11-13 16:36:30 +00:00
<vn-spec name="type" type="Number"/>
2017-08-21 10:20:36 +00:00
</vn-lot-query>
2015-03-06 23:33:54 +00:00
<sql-filter type="AND" id="filter">
2017-04-19 06:16:37 +00:00
<sql-filter-item type="EQUAL"
2017-11-16 14:53:20 +00:00
target="i" field="typeFk"
2017-04-19 06:16:37 +00:00
param="type"/>
<sql-filter type="OR">
<sql-filter-item type="LIKE"
2017-11-13 16:36:30 +00:00
target="i" field="name"
2017-04-19 06:16:37 +00:00
param="search"/>
<sql-filter-item type="EQUAL"
2017-11-13 16:36:30 +00:00
target="i" field="id"
2017-04-19 06:16:37 +00:00
param="search"/>
2017-09-12 11:31:15 +00:00
<sql-filter-item type="EQUAL"
2017-11-13 16:36:30 +00:00
target="i" field="id"
2017-09-12 11:31:15 +00:00
param="itemId"/>
2017-04-19 06:16:37 +00:00
</sql-filter>
2015-03-06 23:33:54 +00:00
</sql-filter>
2017-11-16 14:53:20 +00:00
<sql-string id="pre-query">
2017-11-13 16:36:30 +00:00
DROP TEMPORARY TABLE IF EXISTS tItems;
2017-11-16 14:53:20 +00:00
CREATE TEMPORARY TABLE tItems
(INDEX (id))
ENGINE = MEMORY
SELECT i.id
FROM #joins
WHERE #filter
</sql-string>
<sql-string id="post-query">
DROP TEMPORARY TABLE tItems
</sql-string>
2017-04-19 06:16:37 +00:00
<db-model
id="items"
result-index="2"
2017-04-21 10:53:15 +00:00
auto-load="false">
2017-04-19 06:16:37 +00:00
</db-model>
2016-05-04 14:36:51 +00:00
<db-form id="basket" on-ready="onBasketReady">
<db-model property="model">
2017-04-07 11:00:33 +00:00
SELECT o.id, o.date_send, ag.description agency, v.code method
FROM basket o
JOIN vn2008.Agencias ag ON ag.Id_Agencia = o.agency_id
JOIN vn2008.Vistas v ON v.vista_id = o.delivery_method_id
2016-05-04 14:36:51 +00:00
</db-model>
</db-form>
2015-07-30 17:31:09 +00:00
<db-query id="basket-lines">
2017-04-07 11:00:33 +00:00
SELECT item_id, warehouse_id, SUM(amount) amount
FROM basket_item
GROUP BY warehouse_id
2015-07-30 17:31:09 +00:00
</db-query>
2017-11-13 16:36:30 +00:00
<db-query id="tags" on-ready="onTagsReady">
SELECT it.tagFk, SUM(it.priority) priority
FROM vn.itemTag it
JOIN vn.item i ON i.id = it.itemFk
WHERE #filter
GROUP BY tagFk
ORDER BY priority DESC
LIMIT 6
</db-query>
2016-05-04 14:36:51 +00:00
<db-form id="card-extend">
<db-model
property="model"
2017-11-02 08:23:55 +00:00
lot="card-lot">
2017-11-21 11:50:55 +00:00
SELECT i.description, o.name origin
FROM vn.item i
LEFT JOIN vn.originL10n o ON o.id = i.originFk
WHERE i.id = #item
2016-05-04 14:36:51 +00:00
</db-model>
</db-form>
<db-model
id="item-lots"
result-index="1"
2017-11-02 08:23:55 +00:00
lot="card-lot">
2017-04-07 11:00:33 +00:00
CALL bionic_from_item (#item);
SELECT p.warehouse_id, w.name warehouse, p.grouping, p.price, p.rate, l.available
FROM tmp.bionic_lot l
JOIN tmp.bionic_price p ON p.warehouse_id = l.warehouse_id
JOIN vn2008.warehouse w ON w.id = p.warehouse_id
ORDER BY warehouse_id, grouping;
2015-03-09 08:36:54 +00:00
</db-model>
2017-09-12 11:31:15 +00:00
<vn-lot id="card-lot"/>
2017-11-16 14:53:20 +00:00
<vn-param lot="params" name="category" on-changed="onCategoryChange"/>
2015-03-06 23:33:54 +00:00
</vn-group>
2017-03-17 12:42:10 +00:00
<h1 id="title">
_Catalog
2017-03-17 12:42:10 +00:00
</h1>
2015-09-16 16:11:15 +00:00
<div id="actions" class="catalog-actions">
<button class="menu" on-click="onShowMenuClick">
2016-09-19 06:40:18 +00:00
<img src="image/icon/dark/menu.svg" alt="_Menu"/>
</button>
2016-09-19 06:40:18 +00:00
<htk-bar-button
icon="basket"
2015-09-16 16:11:15 +00:00
tip="_ShoppingBasket"
2016-09-19 06:40:18 +00:00
on-click="onBasketClick"/>
<htk-bar-button
id="view-button"
tip="_Switch view"
2016-09-19 06:40:18 +00:00
on-click="onSwitchViewClick"/>
<htk-search-entry
2017-08-21 10:20:36 +00:00
lot="params"
2017-04-19 06:16:37 +00:00
name="search"/>
</div>
2017-03-23 16:20:51 +00:00
<div id="main" class="catalog">
<htk-repeater
id="grid-view"
empty-message="_Choose filter from right menu"
form-id="item"
2017-04-19 06:16:37 +00:00
model="items">
<custom>
2016-12-23 08:57:49 +00:00
<div class="card item-box">
2016-05-02 13:05:49 +00:00
<htk-image
directory="catalog"
subdir="200x200"
2017-04-05 14:06:07 +00:00
lot="item"
2017-11-16 14:53:20 +00:00
name="image"
2016-05-04 14:36:51 +00:00
full-dir="900x900"/>
<div class="item-info">
<htk-button
2017-11-02 08:23:55 +00:00
lot="item"
2017-11-16 14:53:20 +00:00
value="{{item.id}}"
2015-07-07 15:27:47 +00:00
tip="_AddToBasket"
2016-09-19 06:40:18 +00:00
icon="add"
2017-11-02 08:23:55 +00:00
on-click="onAddItemClick"
class="add-button"/>
2017-11-16 14:53:20 +00:00
<h2>{{item.name}}</h2>
<p class="producer">
2017-10-28 15:13:00 +00:00
{{item.producer}}
</p>
2017-10-16 07:58:12 +00:00
<p>
2017-11-16 14:53:20 +00:00
@{{item.id}}
2017-10-16 07:58:12 +00:00
</p>
<p>
2017-11-16 14:53:20 +00:00
<span>_Size</span> {{item.size}}
<span>_Category</span> {{item.category}}
</p>
<p class="color">
2017-11-16 14:53:20 +00:00
<span>_Color</span> {{item.inkFk}}
<htk-text lot="item" name="stems" format="_, %.0d Units"/>
</p>
2016-05-04 14:36:51 +00:00
<div class="aval-price">
2017-10-28 15:13:00 +00:00
{{item.available}}
2017-11-16 14:53:20 +00:00
<span class="from">_from</span>
2016-05-04 14:36:51 +00:00
<span class="price">
2017-04-05 14:06:07 +00:00
<htk-text lot="item" name="price" format="%.2d€"/>
2016-05-04 14:36:51 +00:00
</span>
</div>
</div>
2015-03-06 23:33:54 +00:00
</div>
</custom>
</htk-repeater>
2015-03-06 23:33:54 +00:00
</div>
2015-09-16 16:11:15 +00:00
<div id="right-panel" class="right-panel" on-click="onRightPanelClick">
<div class="basket-info">
<p>
2017-04-05 14:06:07 +00:00
<htk-text lot="basket" name="date_send" format="%D"/>
</p>
<p>
2015-12-10 13:48:43 +00:00
<span id="method"/>
2017-04-05 14:06:07 +00:00
<htk-text lot="basket" name="agency"/>
</p>
2015-12-10 13:48:43 +00:00
<button class="thin" on-click="onConfigureClick">
_Change
2015-12-10 13:48:43 +00:00
</button>
</div>
<div class="filter">
<div class="categories">
2017-11-16 14:53:20 +00:00
<div class="categories">
<htk-repeater
2017-11-16 14:53:20 +00:00
class="categories-box">
<db-model
2017-11-16 14:53:20 +00:00
id="categories"
property="model"
on-status-changed="refreshTitleColor">
2017-11-16 14:53:20 +00:00
SELECT c.id, l.name, c.color
FROM vn.itemCategory c
JOIN vn.itemCategoryL10n l ON l.id = c.id
WHERE c.display > 0
ORDER BY l.name
</db-model>
<custom>
2017-11-16 14:53:20 +00:00
<a class="clickable" href="#!form={{hash.form}}&amp;category={{id}}">
2017-10-20 17:09:06 +00:00
<img
src="image/family/light/{{id}}.svg"
title="{{name}}"
alt="{{name}}"/>
</a>
</custom>
</htk-repeater>
<div class="clear"/>
</div>
</div>
2017-11-16 14:53:20 +00:00
<div id="category-msg" class="category-msg">
<h1>_Choose a category</h1>
</div>
<div id="filters" class="filters">
2017-11-21 11:50:55 +00:00
<div>
<label>_Order by</label>
<htk-combo
id="order-by"
on-change="onOrderChange"
value="relevancy"
not-null="true"/>
<label>_Family</label>
<htk-combo
id="type"
name="type"
on-change="refreshTitle"
lot="params">
<db-model
id="types"
property="model"
lot="params"
result-index="1">
CALL itemGetAvailable;
SELECT DISTINCT t.id, l.name
FROM vn.itemType t
JOIN vn.item i ON i.typeFk = t.id
JOIN tmp.itemAvailable a ON a.id = i.id
JOIN vn.itemTypeL10n l ON l.id = t.id
WHERE t.categoryFk = #category
ORDER BY name
</db-model>
</htk-combo>
2017-11-16 14:53:20 +00:00
</div>
2017-11-21 11:50:55 +00:00
<div id="current-filters"/>
<div id="suggested-filters"/>
2017-11-16 14:53:20 +00:00
<button on-click="onRemoveFiltersClick" class="thin">
2017-11-13 16:36:30 +00:00
_Remove filters
</button>
</div>
2015-10-14 11:51:43 +00:00
</div>
2015-03-06 23:33:54 +00:00
</div>
<htk-popup id="desc-popup">
<div
property="child-node"
class="desc-popup"
id="description"/>
</htk-popup>
2016-05-04 14:36:51 +00:00
<htk-popup
id="card-popup"
modal="true"
on-closed="onPopupClose">
2017-10-10 11:58:25 +00:00
<db-form id="card" model="items"/>
2016-05-04 14:36:51 +00:00
<div property="child-node" class="item-card">
<div class="top">
<htk-image
directory="catalog"
subdir="200x200"
2017-04-05 14:06:07 +00:00
lot="card"
2017-11-16 14:53:20 +00:00
name="image"
2016-05-04 14:36:51 +00:00
full-dir="900x900"
2016-10-11 14:45:10 +00:00
conn="conn"
2016-05-04 14:36:51 +00:00
editable="true"/>
<div class="item-info">
<h2>
2017-11-16 14:53:20 +00:00
{{card.name}}
2016-05-04 14:36:51 +00:00
</h2>
<p class="producer">
2017-10-28 15:13:00 +00:00
{{card.producer}}
2016-05-04 14:36:51 +00:00
</p>
<p>
2017-11-16 14:53:20 +00:00
<span>_Size</span> {{card.size}},
<span>_Category</span> {{card.category}}
2016-05-04 14:36:51 +00:00
</p>
<p class="color">
2017-11-16 14:53:20 +00:00
<span>_Color</span> {{card.inkFk}}
2017-04-07 11:00:33 +00:00
<htk-text lot="card" name="Tallos" format="_, %.0d Units"/>
2016-05-04 14:36:51 +00:00
</p>
<p>
2017-10-28 15:13:00 +00:00
<span>_Origin</span> {{card.origin}}
2016-05-04 14:36:51 +00:00
</p>
</div>
<p class="desc">
2017-10-28 15:13:00 +00:00
{{cardExtend.description}}
2016-05-04 14:36:51 +00:00
</p>
</div>
<htk-grid class="lots-grid" model="item-lots" show-header="false">
<htk-column-text title="_Store" column="warehouse"/>
<htk-column-spin title="_Price" column="price" unit="€" digits="2"/>
<htk-column-text title="_Pack" column="grouping" format="x%.0d"/>
<htk-column-button
column="id"
2016-09-26 09:28:47 +00:00
icon="add"
tip="_Add"
on-clicked="onAddLotClick"/>
</htk-grid>
<div class="footer">
<button on-click="onEraseClick" title="_Erase" class="erase">
2016-09-26 09:28:47 +00:00
<htk-icon
icon="delete"
theme="dark"
alt="_Erase"/>
</button>
<htk-text id="amount"/>
<button on-click="onConfirmClick" title="_Confirm" class="confirm">
2016-09-26 09:28:47 +00:00
<htk-icon
icon="ok"
theme="dark"
alt="_Confirm"/>
</button>
<div class="clear"/>
</div>
</div>
</htk-popup>
2017-04-19 06:16:37 +00:00
</vn>