From f815aa99921110c41a5ad3cd29f7c82515e9f474 Mon Sep 17 00:00:00 2001 From: Juan Ferrer Toribio Date: Sat, 21 May 2022 23:31:56 +0200 Subject: [PATCH] Checkpoint --- forms/account/address/style.css | 8 +- forms/account/address/ui.xml | 41 +- forms/account/conf/locale/ca.yml | 3 +- forms/account/conf/locale/en.yml | 3 +- forms/account/conf/locale/es.yml | 3 +- forms/account/conf/locale/fr.yml | 3 +- forms/account/conf/locale/pt.yml | 3 +- forms/account/conf/style.css | 14 +- forms/account/conf/ui.xml | 74 +- forms/admin/connections/style.css | 4 +- forms/admin/connections/ui.xml | 12 +- forms/admin/users/ui.xml | 4 +- forms/admin/visits/ui.xml | 2 +- forms/agencies/packages/packages.js | 12 +- forms/agencies/packages/ui.xml | 2 +- forms/cms/home/style.css | 43 +- forms/cms/home/ui.xml | 4 +- forms/ecomerce/basket/ui.xml | 14 +- forms/ecomerce/catalog/catalog.js | 4 +- forms/ecomerce/catalog/locale/ca.yml | 4 +- forms/ecomerce/catalog/locale/en.yml | 4 +- forms/ecomerce/catalog/locale/es.yml | 4 +- forms/ecomerce/catalog/locale/fr.yml | 4 +- forms/ecomerce/catalog/locale/pt.yml | 4 +- forms/ecomerce/catalog/style.css | 32 +- forms/ecomerce/catalog/ui.xml | 25 +- forms/ecomerce/checkout/style.css | 50 +- forms/ecomerce/orders/style.css | 1 - forms/ecomerce/orders/ui.xml | 20 +- forms/news/new/ui.xml | 8 +- image/family/black/accessory.svg | 49 + image/family/black/artificial.svg | 59 + image/family/black/flower.svg | 76 + image/family/black/fruit.svg | 49 + image/family/black/greenery.svg | 49 + image/family/black/handmade.svg | 59 + image/family/black/handmadeArtificial.svg | 59 + image/family/black/mortuary.svg | 49 + image/family/black/pets.svg | 79 + image/family/black/plant.svg | 49 + image/family/black/preserved.svg | 49 + image/family/black/treatments.svg | 59 + index.js | 60 + js/hedera/gui.css | 350 - js/hedera/gui.js | 6 +- js/hedera/gui.scss | 324 + js/hedera/gui.xml | 25 +- js/hedera/hedera.js | 23 +- js/hedera/login.css | 225 - js/hedera/login.js | 4 +- js/hedera/login.scss | 148 + js/hedera/login.xml | 64 +- js/hedera/poppins.ttf | Bin 0 -> 158240 bytes js/hedera/report.css | 4 +- js/hedera/responsive.scss | 54 + js/hedera/{style.css => style.scss} | 297 +- js/htk/assistant-bar.js | 38 +- js/htk/column/button.js | 16 +- js/htk/field/bar-button.js | 14 +- js/htk/field/button.js | 78 +- js/htk/field/entry.js | 60 +- js/htk/grid.js | 297 +- js/htk/htk.js | 90 +- js/htk/icon.js | 48 +- js/htk/image-editor.js | 7 +- js/htk/repeater.js | 184 +- js/htk/{style.css => style.scss} | 541 +- package-lock.json | 19205 +++++++++----------- package.json | 34 +- pages/main/ui.php | 1 + web/html.php | 10 +- webpack.config.js | 68 +- webpack.config.json | 2 +- 73 files changed, 11157 insertions(+), 12214 deletions(-) create mode 100644 image/family/black/accessory.svg create mode 100644 image/family/black/artificial.svg create mode 100644 image/family/black/flower.svg create mode 100644 image/family/black/fruit.svg create mode 100644 image/family/black/greenery.svg create mode 100644 image/family/black/handmade.svg create mode 100644 image/family/black/handmadeArtificial.svg create mode 100644 image/family/black/mortuary.svg create mode 100644 image/family/black/pets.svg create mode 100644 image/family/black/plant.svg create mode 100644 image/family/black/preserved.svg create mode 100644 image/family/black/treatments.svg create mode 100644 index.js delete mode 100644 js/hedera/gui.css create mode 100644 js/hedera/gui.scss delete mode 100644 js/hedera/login.css create mode 100644 js/hedera/login.scss create mode 100644 js/hedera/poppins.ttf create mode 100644 js/hedera/responsive.scss rename js/hedera/{style.css => style.scss} (59%) rename js/htk/{style.css => style.scss} (55%) diff --git a/forms/account/address/style.css b/forms/account/address/style.css index 1fa559d2..ea43b06e 100644 --- a/forms/account/address/style.css +++ b/forms/account/address/style.css @@ -6,11 +6,5 @@ .address .box { max-width: 30em; - padding: 2em; + padding: 3em; } -.address .form -{ - margin: 0 auto; - max-width: 25em; -} - diff --git a/forms/account/address/ui.xml b/forms/account/address/ui.xml index a309a580..4bc07a23 100644 --- a/forms/account/address/ui.xml +++ b/forms/account/address/ui.xml @@ -23,40 +23,45 @@
-

AddEditAddress

+

Configuration

- +
+

AddEditAddress

- - +
- - +
- - +
- - +
- - +
- - + SELECT id, name FROM vn.province WHERE countryFk = #country diff --git a/forms/account/conf/locale/ca.yml b/forms/account/conf/locale/ca.yml index 82241540..7fb9a5fa 100644 --- a/forms/account/conf/locale/ca.yml +++ b/forms/account/conf/locale/ca.yml @@ -1,4 +1,5 @@ Configuration: Configuració +Personal information: Dades personals Username: Nom d'usuari Password: Contrasenya Email: Correu electrònic @@ -9,7 +10,7 @@ Receive invoices by email: Rebre factures per correu electrònic Old password: Contrasenya antiga New password: Nova contrasenya Repeat password: Repetir contrasenya -Info: Info +Requirements: Requisits Modify: Modificar Password requirements: Requisits de contrasenya characters long: caràcters de longitud diff --git a/forms/account/conf/locale/en.yml b/forms/account/conf/locale/en.yml index 20de204a..c88631be 100644 --- a/forms/account/conf/locale/en.yml +++ b/forms/account/conf/locale/en.yml @@ -1,4 +1,5 @@ Configuration: Configuration +Personal information: Personal information Username: Username Password: Password Email: Email @@ -9,7 +10,7 @@ Receive invoices by email: Receive invoices by email Old password: Old password New password: New password Repeat password: Repeat password -Info: Info +Requirements: Requirements Modify: Modify Password requirements: Password requirements characters long: characters long diff --git a/forms/account/conf/locale/es.yml b/forms/account/conf/locale/es.yml index 66992c54..3012d755 100644 --- a/forms/account/conf/locale/es.yml +++ b/forms/account/conf/locale/es.yml @@ -1,4 +1,5 @@ Configuration: Configuración +Personal information: Datos personales Username: Nombre de usuario Password: Contraseña Email: Correo electrónico @@ -9,7 +10,7 @@ Receive invoices by email: Recibir facturas por correo electrónico Old password: Contaseña antigua New password: Nueva contraseña Repeat password: Repetir contraseña -Info: Info +Requirements: Requisitos Modify: Modificar Password requirements: Requisitos de constraseña characters long: carácteres de longitud diff --git a/forms/account/conf/locale/fr.yml b/forms/account/conf/locale/fr.yml index ba47177f..6ae14ca8 100644 --- a/forms/account/conf/locale/fr.yml +++ b/forms/account/conf/locale/fr.yml @@ -1,4 +1,5 @@ Configuration: Configuration +Personal information: Informations personnelles Username: Utilisateur Password: Mot de passe Email: Courriel @@ -9,7 +10,7 @@ Receive invoices by email: Recevoir des factures par e-mail Old password: Ancien mot de passe New password: Nouveau mot de passe Repeat password: Répéter le mot de passe -Info: Info +Requirements: Exigences Modify: Modifier Password requirements: Mot de passe exigences characters long: Longs caractères diff --git a/forms/account/conf/locale/pt.yml b/forms/account/conf/locale/pt.yml index a7430e50..51506ae1 100644 --- a/forms/account/conf/locale/pt.yml +++ b/forms/account/conf/locale/pt.yml @@ -1,4 +1,5 @@ Configuration: Configuração +Personal information: Dados pessoais Username: Nome de usuario Password: Palavra-Passe Email: E-Mail @@ -9,7 +10,7 @@ Receive invoices by email: Receber facturas por e-mail Old password: Palavra-Passe antiga New password: Nova Palavra-Passe Repeat password: Repetir Palavra-Passe -Info: Info +Requirements: Requisitos Modify: Modificar Password requirements: Requisitos de Palavra-Passe characters long: caracteres diff --git a/forms/account/conf/style.css b/forms/account/conf/style.css index 5cb03475..d5680773 100644 --- a/forms/account/conf/style.css +++ b/forms/account/conf/style.css @@ -6,23 +6,13 @@ .conf .box { max-width: 30em; - padding: 2em; + padding: 3em; } -.conf .form -{ - margin: 0 auto; - max-width: 25em; -} -.conf .form-group input[type=password] -{ - margin-bottom: 0.5em; -} - .pass-change { max-width: 15em; + padding: 2.5em; } - .pass-info { width: 15em; diff --git a/forms/account/conf/ui.xml b/forms/account/conf/ui.xml index 28c315fb..a59f12d5 100644 --- a/forms/account/conf/ui.xml +++ b/forms/account/conf/ui.xml @@ -29,47 +29,61 @@ tip="_Addresses" on-click="onAddressesClick"/>
-
-
- - -
-
- - -
-
- - -
-
- - - - - SELECT code, name FROM language WHERE isActive - - - -
-
- - -
+
+

Personal information

+
+
+
+ + +
+
+ +
+
+ + + + SELECT code, name FROM language WHERE isActive + + + +
+
+ +
+
-
+
+

Change password

Modify
diff --git a/forms/admin/connections/style.css b/forms/admin/connections/style.css index b27e9449..1a87896b 100644 --- a/forms/admin/connections/style.css +++ b/forms/admin/connections/style.css @@ -10,11 +10,9 @@ .action-bar .connections-sum { padding: .4em; - margin-top: .9em; - margin-right: .5em; background-color: #1e88e5; border-radius: 0.1em; - box-shadow: 0 0 0.4em #666; + box-shadow: 0 0 0.4em rgba(255, 255, 255, .1); } /* List */ diff --git a/forms/admin/connections/ui.xml b/forms/admin/connections/ui.xml index 29a9ceb3..283d8a58 100644 --- a/forms/admin/connections/ui.xml +++ b/forms/admin/connections/ui.xml @@ -38,15 +38,15 @@ + tip="_Access log" + icon="history" + on-click="onAccessLogClick"/> + tip="_Supplant user" + icon="supervisor_account" + on-click="onChangeUserClick"/>

diff --git a/forms/admin/users/ui.xml b/forms/admin/users/ui.xml index 0b41e395..1ec2f274 100644 --- a/forms/admin/users/ui.xml +++ b/forms/admin/users/ui.xml @@ -34,14 +34,14 @@ form="iter" column="id" tip="_Access log" - icon="gnome" + icon="history" on-click="onAccessLogClick"/> Disabled diff --git a/forms/admin/visits/ui.xml b/forms/admin/visits/ui.xml index ae790c7f..15fd4568 100644 --- a/forms/admin/visits/ui.xml +++ b/forms/admin/visits/ui.xml @@ -8,7 +8,7 @@ tip="_Refresh" on-click="onRefreshClick"/>
diff --git a/forms/agencies/packages/packages.js b/forms/agencies/packages/packages.js index b71a13b6..14c16e14 100644 --- a/forms/agencies/packages/packages.js +++ b/forms/agencies/packages/packages.js @@ -1,13 +1,11 @@ -Hedera.Packages = new Class -({ +Hedera.Packages = new Class({ Extends: Hedera.Form - ,onShowClick: function (column, agencyId) - { - this.hash.set ({ - 'form': 'agencies/provinces', - 'agency': agencyId + ,onShowClick: function(column, agencyId) { + this.hash.set({ + form: 'agencies/provinces', + agency: agencyId }); } }); diff --git a/forms/agencies/packages/ui.xml b/forms/agencies/packages/ui.xml index e41ede06..126c120a 100644 --- a/forms/agencies/packages/ui.xml +++ b/forms/agencies/packages/ui.xml @@ -12,7 +12,7 @@ diff --git a/forms/cms/home/style.css b/forms/cms/home/style.css index a9b73028..5f35e4f3 100644 --- a/forms/cms/home/style.css +++ b/forms/cms/home/style.css @@ -1,70 +1,53 @@ /* News panel */ -.column -{ +.column { margin: .5em; max-width: 120em; } -.action-bar button.start-order -{ - margin: 1em; - padding: .5em 1em; +.action-bar button.start-order { border: 1px solid white; } -.action-bar button.start-order:hover -{ +.action-bar button.start-order:hover { background-color: white; color: black; } /* New */ -.new -{ +.new { text-align: left; - background-color: white; - color: #222; - border: none; - border-radius: 0.1em; - box-shadow: 0 0.2em 0.2em rgba(1, 1, 1, 0.2); margin: .5em; } -.new img -{ +.new img { display: block; margin: auto; width: 100%; } -.new .top -{ +.new .top { padding: 1.5em; padding-bottom: 1px; } -.new h2 -{ +.new h2 { font-size: 1.6em; color: black; font-weight: normal; padding: 0; } -.new-info -{ + +.new-info { font-size: 0.9em; color: #444; text-align: right; margin: 0.8em 0; } -.new-text -{ +.new-text { margin: 1.5em 0; } -.new-text a -{ +.new-text a { color: blue; text-decoration: underline; } -.new-text li -{ +.new-text li { margin: 0.4em 0; -} +} \ No newline at end of file diff --git a/forms/cms/home/ui.xml b/forms/cms/home/ui.xml index 9bd797ee..d4bc7d88 100644 --- a/forms/cms/home/ui.xml +++ b/forms/cms/home/ui.xml @@ -5,7 +5,7 @@
@@ -21,7 +21,7 @@
-
+
+ icon="settings" + tip="_ConfigureOrder" + on-click="onConfigureClick"/> + icon="shopping_cart_checkout" + tip="_Checkout" + on-click="onCheckoutClick"/>
diff --git a/forms/ecomerce/catalog/catalog.js b/forms/ecomerce/catalog/catalog.js index 7b1ed376..d34903e9 100644 --- a/forms/ecomerce/catalog/catalog.js +++ b/forms/ecomerce/catalog/catalog.js @@ -105,7 +105,7 @@ Hedera.Catalog = new Class({ }); var img = builder.$('image'); - img.src = 'image/family/light/'+ form.get('code') +'.svg'; + img.src = 'image/family/black/'+ form.get('code') +'.svg'; img.title = form.get('name'); img.alt = img.title; } @@ -419,7 +419,7 @@ Vn.Filter = new Class({ li.appendChild(button); var icon = new Htk.Icon({ - icon: 'close', + name: 'close', alt: _('Close') }); button.appendChild(icon.node); diff --git a/forms/ecomerce/catalog/locale/ca.yml b/forms/ecomerce/catalog/locale/ca.yml index e57c6f2e..c7e33107 100644 --- a/forms/ecomerce/catalog/locale/ca.yml +++ b/forms/ecomerce/catalog/locale/ca.yml @@ -2,7 +2,7 @@ Catalog: Catàleg SearchResults: Resultats de cerca SelectFamily: Selecciona una família Choose filter from right menu: Tria un filtre en el menú de la dreta -Choose a realm: Tria un regne +Choose a realm: Tria un categoria ArticleNotFound: Artcle no trobat ArticleNotAvailable: Article no disponible List view: Vista de lista @@ -15,7 +15,7 @@ Warehouse: Magatzem Filter by: Filtrar per Order by: Ordenar per Search: Cercar -Change: Cambiar +Modify: Modificar Size: Mida Realm: Regne Family: Família diff --git a/forms/ecomerce/catalog/locale/en.yml b/forms/ecomerce/catalog/locale/en.yml index 93ca9434..9d6e6f27 100644 --- a/forms/ecomerce/catalog/locale/en.yml +++ b/forms/ecomerce/catalog/locale/en.yml @@ -2,7 +2,7 @@ Catalog: Catalog SearchResults: Search results SelectFamily: Select family Choose filter from right menu: Choose a filter from the right menu -Choose a realm: Choose a realm +Choose a realm: Choose a category ArticleNotFound: Item not found ArticleNotAvailable: Item not available List view: List view @@ -15,7 +15,7 @@ Warehouse: Warehouse Filter by: Filter by Order by: Order by Search: Search -Change: Change +Modify: Modify Size: Size Realm: Realm Family: Family diff --git a/forms/ecomerce/catalog/locale/es.yml b/forms/ecomerce/catalog/locale/es.yml index 6af7891a..a4f2553e 100644 --- a/forms/ecomerce/catalog/locale/es.yml +++ b/forms/ecomerce/catalog/locale/es.yml @@ -2,7 +2,7 @@ Catalog: Catálogo SearchResults: Resultados de búsqueda SelectFamily: Selecciona una familia Choose filter from right menu: Elige un filtro en el menú de la derecha -Choose a realm: Elige un reino +Choose a realm: Elige una categoría ArticleNotFound: Artículo no encontrado ArticleNotAvailable: Artículo no disponible List view: Vista de lista @@ -15,7 +15,7 @@ Warehouse: Almacén Filter by: Filtrar por Order by: Ordenar por Search: Buscar -Change: Cambiar +Modify: Modificar Size: Medida Realm: Reino Family: Familia diff --git a/forms/ecomerce/catalog/locale/fr.yml b/forms/ecomerce/catalog/locale/fr.yml index 1aa1ae19..45f2c497 100644 --- a/forms/ecomerce/catalog/locale/fr.yml +++ b/forms/ecomerce/catalog/locale/fr.yml @@ -2,7 +2,7 @@ Catalog: Catalogue SearchResults: Résultats de la recherche SelectFamily: Choisissez une famille Choose filter from right menu: Choisissez un filtre dans le menu de droite -Choose a realm: Choisissez un royaume +Choose a realm: Choisissez une catégorie ArticleNotFound: Article non trouvé ArticleNotAvailable: Article non disponible List view: Liste voir @@ -15,7 +15,7 @@ Warehouse: Entrepôt Filter by: Filtrer par Order by: Trier par Search: Recherche -Change: Modifier +Modify: Modifier Size: Mesure Realm: Famille Family: Sous-genre diff --git a/forms/ecomerce/catalog/locale/pt.yml b/forms/ecomerce/catalog/locale/pt.yml index 982b3fef..5cd652d8 100644 --- a/forms/ecomerce/catalog/locale/pt.yml +++ b/forms/ecomerce/catalog/locale/pt.yml @@ -2,7 +2,7 @@ Catalog: Catálogo SearchResults: Resultados de busca SelectFamily: Seleccione uma família Choose filter from right menu: Escolha um filtro no menú da direita -Choose a realm: Escolha um reino +Choose a realm: Escolha uma categoria ArticleNotFound: Ítem não encontrado ArticleNotAvailable: Ítem não disponível List view: Ver como lista @@ -15,7 +15,7 @@ Warehouse: Armazém Filter by: Filtrar por Order by: Ordenar por Search: Buscar -Change: Modificar +Modify: Modificar Size: Medida Realm: Reino Family: Família diff --git a/forms/ecomerce/catalog/style.css b/forms/ecomerce/catalog/style.css index 848b833f..dbfde6bc 100644 --- a/forms/ecomerce/catalog/style.css +++ b/forms/ecomerce/catalog/style.css @@ -1,13 +1,12 @@ .catalog { - margin-right: 17em; + margin-right: 18em; } /* Topbar */ .catalog-actions > .htk-search-entry { - margin-top: .8em; margin-right: .4em; } @@ -19,7 +18,7 @@ top: 4.4em; bottom: 0; right: 0; - width: 17em; + width: 18em; overflow: auto; background-color: #fafafa; } @@ -34,11 +33,16 @@ } .right-panel .basket-info > button { - color: #E0F2F1; + color: white; margin: 0 auto; display: block; margin-top: .4em; } +.right-panel .basket-info > button:hover +{ + background-color: white; + color: #60872c; +} .right-panel .basket-info > p { margin: 0; @@ -50,7 +54,13 @@ } .right-panel .filter { - padding: 1em; + margin: 1em; +} +.right-panel .categories, +.right-panel .filters, +.right-panel .order +{ + margin: 1.5em 0; } .right-panel .filters, .right-panel .order @@ -71,7 +81,6 @@ .right-panel h2 { font-weight: normal; - padding: .4em 0; color: #777; font-size: 1.1em; } @@ -82,7 +91,7 @@ .right-panel .realms a { display: inline-block; - width: 30%; + width: 25%; padding: .6em; box-sizing: border-box; } @@ -102,7 +111,6 @@ { margin: 0 auto; margin-bottom: .7em; - width: 90%; display: block; } .vn-filter > ul @@ -444,7 +452,7 @@ .item-card .footer { text-align: center; - background-color: #009688; + background-color: #1a1a1a; color: white; line-height: 2em; padding: .4em; @@ -489,15 +497,15 @@ .right-panel { top: 0; - right: -17em; + right: -18em; z-index: 20; transition: transform 200ms ease-out; -webkit-transition: transform 200ms ease-out; } .right-panel.show { - transform: translateZ(0) translateX(-17em); - -webkit-transform: translateZ(0) translateX(-17em); + transform: translateZ(0) translateX(-18em); + -webkit-transform: translateZ(0) translateX(-18em); } .catalog { diff --git a/forms/ecomerce/catalog/ui.xml b/forms/ecomerce/catalog/ui.xml index a9c477c0..35a38fe8 100644 --- a/forms/ecomerce/catalog/ui.xml +++ b/forms/ecomerce/catalog/ui.xml @@ -94,19 +94,20 @@

Catalog

- - + - + +
@@ -176,7 +177,7 @@

@@ -462,14 +463,14 @@
- -
Balance: @@ -38,6 +27,15 @@ class="info" alt="Info"/>
+ +
diff --git a/forms/news/new/ui.xml b/forms/news/new/ui.xml index 8ee6ecc9..d3d63835 100644 --- a/forms/news/new/ui.xml +++ b/forms/news/new/ui.xml @@ -25,14 +25,14 @@

AddEditNew

- +
diff --git a/image/family/black/accessory.svg b/image/family/black/accessory.svg new file mode 100644 index 00000000..f49d134a --- /dev/null +++ b/image/family/black/accessory.svg @@ -0,0 +1,49 @@ + + + + + + + diff --git a/image/family/black/artificial.svg b/image/family/black/artificial.svg new file mode 100644 index 00000000..83000adc --- /dev/null +++ b/image/family/black/artificial.svg @@ -0,0 +1,59 @@ + + + + + + + + + + diff --git a/image/family/black/flower.svg b/image/family/black/flower.svg new file mode 100644 index 00000000..cd941b4d --- /dev/null +++ b/image/family/black/flower.svg @@ -0,0 +1,76 @@ + + + + + + + + + + diff --git a/image/family/black/fruit.svg b/image/family/black/fruit.svg new file mode 100644 index 00000000..0c1ad7e0 --- /dev/null +++ b/image/family/black/fruit.svg @@ -0,0 +1,49 @@ + + + + + + + diff --git a/image/family/black/greenery.svg b/image/family/black/greenery.svg new file mode 100644 index 00000000..e99f102a --- /dev/null +++ b/image/family/black/greenery.svg @@ -0,0 +1,49 @@ + + + + + + + diff --git a/image/family/black/handmade.svg b/image/family/black/handmade.svg new file mode 100644 index 00000000..1ff9644d --- /dev/null +++ b/image/family/black/handmade.svg @@ -0,0 +1,59 @@ + + + + + + + + + + diff --git a/image/family/black/handmadeArtificial.svg b/image/family/black/handmadeArtificial.svg new file mode 100644 index 00000000..f4ea2768 --- /dev/null +++ b/image/family/black/handmadeArtificial.svg @@ -0,0 +1,59 @@ + + + + + + + + + + diff --git a/image/family/black/mortuary.svg b/image/family/black/mortuary.svg new file mode 100644 index 00000000..979e5118 --- /dev/null +++ b/image/family/black/mortuary.svg @@ -0,0 +1,49 @@ + + + + + + + diff --git a/image/family/black/pets.svg b/image/family/black/pets.svg new file mode 100644 index 00000000..437f7648 --- /dev/null +++ b/image/family/black/pets.svg @@ -0,0 +1,79 @@ + + + + + + + + image/svg+xml + + + + + + + + + + + + + + diff --git a/image/family/black/plant.svg b/image/family/black/plant.svg new file mode 100644 index 00000000..67e2240a --- /dev/null +++ b/image/family/black/plant.svg @@ -0,0 +1,49 @@ + + + + + + + diff --git a/image/family/black/preserved.svg b/image/family/black/preserved.svg new file mode 100644 index 00000000..b88d5399 --- /dev/null +++ b/image/family/black/preserved.svg @@ -0,0 +1,49 @@ + + + + + + + diff --git a/image/family/black/treatments.svg b/image/family/black/treatments.svg new file mode 100644 index 00000000..69dcbf82 --- /dev/null +++ b/image/family/black/treatments.svg @@ -0,0 +1,59 @@ + + + + + + + + + + diff --git a/index.js b/index.js new file mode 100644 index 00000000..aa8a23f4 --- /dev/null +++ b/index.js @@ -0,0 +1,60 @@ +__webpack_public_path__ = _PUBLIC_PATH; + +require('hedera/hedera'); + +window.onload = function() { + loadLocale(main); +} + +function main(req) { + if (req) + onLocaleLoad(req); + + hederaWeb = new Hedera.App(); + hederaWeb.run(); +} + +function loadLocale(cb) { + Vn.Locale.init(); + var lang = Vn.Locale.language; + + var req = require.context('js', true, /locale\/en.yml$/); + onLocaleLoad(req); + + switch (lang) { + case 'ca': + require([], function() { + cb(require.context('js', true, /locale\/ca.yml$/)); + }); + break; + case 'es': + require([], function() { + cb(require.context('js', true, /locale\/es.yml$/)); + }); + break; + case 'fr': + require([], function() { + cb(require.context('js', true, /locale\/fr.yml$/)); + }); + break; + case 'mn': + require([], function() { + cb(require.context('js', true, /locale\/mn.yml$/)); + }); + break; + case 'pt': + require([], function() { + cb(require.context('js', true, /locale\/pt.yml$/)); + }); + break; + default: + cb(); + } +} + +function onLocaleLoad(req) { + var keys = req.keys(); + + for (var i = 0; i < keys.length; i++) + Vn.Locale.add(req(keys[i])); +} diff --git a/js/hedera/gui.css b/js/hedera/gui.css deleted file mode 100644 index 791f5e2e..00000000 --- a/js/hedera/gui.css +++ /dev/null @@ -1,350 +0,0 @@ - -.vn-gui { - height: inherit; -} - -/* Font */ - -.vn-gui .user-name, -.vn-gui .menu-title, -.vn-gui .main-menu { - font-size: 1.1em; -} - -/* Navigation bar */ - -.vn-gui .navbar { - position: fixed; - background-color: #1A1A1A; - left: 250px; - top: 0; - right: 0; - z-index: 1; - overflow: hidden; - height: 64px; - color: white; - - transition-property: left, background-color, transform; - transition-duration: 200ms; - transition-timing-function: ease-in-out; -} -.vn-gui .menu-button { - position: absolute; - left: 0; - display: none; - border: none; - background-color: transparent; - padding: 0 .4em; - margin: 0; - height: 100%; -} -.vn-gui .menu-button:hover { - background-color: rgba(0, 0, 0, .2); -} -.vn-gui .menu-button img { - vertical-align: middle; - height: 1.8em; -} -.vn-gui .title { - float: left; -} -.vn-gui .title h1 { - font-weight: normal; - font-size: 1.4em; - padding: .8em .6em; - padding-right: .3em; - margin: 0; -} -.vn-gui .navbar > .htk-spinner { - float: left; - margin: 1.05em .8em; -} - -/* Action bar */ - -.vn-gui .action-bar { - float: right; - padding: 0; - margin: 0; - height: 100%; -} -.vn-gui .action-bar > div { - padding: 0; - margin: 0; - height: 100%; -} -.vn-gui .action-bar > div > * { - float: right; -} -.vn-gui .action-bar button { - margin: 0; - padding: 1.25em .5em; - border-radius: 2em; - font-weight: bold; -} -.vn-gui .action-bar button:hover { - background-color: rgba(1, 1, 1, .2); -} -.vn-gui .action-bar button > img { - vertical-align: middle; - height: 1.4em; -} - -/* Background */ - -.vn-gui > .background { - z-index: 10; - position: fixed; - top: 0; - left: 0; - right: 0; - bottom: 0; - visibility: hidden; - background-color: rgba(1, 1, 1, .7); - opacity: 0; -} -.vn-gui > .background.show { - visibility: visible; - transition: opacity 200ms ease-out; - opacity: 1; -} - -/* Left panel */ - -.vn-gui .left-panel { - z-index: 20; - position: fixed; - left: 0; - bottom: 0; - top: 0; - background-color: white; - z-index: 20; - width: 250px; -} -.vn-gui .menu-overflow { - position: absolute; - top: 0; - left: 0; - right: 0; - bottom: 4em; - overflow: auto; -} -.vn-gui .menu-header { - background-color: #1A1A1A; - color: white; - height: 64px; - display: flex; -} -.vn-gui .logo { - display: block; - width: 160px; - margin-left: 37px; -} -.vn-gui .user-info { - overflow: hidden; - padding: 20px 37px; - font-weight: bold; -} -.vn-gui .user-info > img { - margin-right: 10px; - height: 20px; - vertical-align: middle; -} -.vn-gui .user-info > p { - margin: 0; - margin-top: .2em; - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; -} -.vn-gui .logout { - display: block; - width: 100%; - margin: 0; - text-align: left; - padding: 14px 37px; -} -.vn-gui .supplant { - display: none; - padding: 8px; - margin: 0; - margin-top: .2em; - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; -} -.vn-gui .supplant > p { - margin: 0; - margin-top: .2em; - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; -} -.vn-gui .supplant-logout { - float: right; - margin: 0; - padding: .2em; - display: block; -} -.vn-gui .supplant-logout > img { - height: 1.2em; - display: block; -} - -/* Test link */ - -.vn-gui .test-link { - display: none; - margin: .5em; - background-color: #3f51b5; - color: white; - padding: 0 1em; - line-height: 2em; - border-radius: .1em; - text-align: center; -} -.vn-gui .test-link:hover { - background-color: #4f61c5; -} -.vn-gui .dev-info { - display: none; - padding: .3em .5em; - color: white; - background-color: #3f51b5; - font-size: .9em; - margin: .5em; - border-radius: .1em; -} -.vn-gui .dev-info > p { - margin: .2em 0; -} -.vn-gui .dev-info > .mode { - color: #BBF; -} - -/* Menu */ - -.vn-gui .main-menu, -.vn-gui ul.submenu { - list-style-type: none; - padding: 0; - margin: 0; -} -.vn-gui .main-menu > li { - display: block; - padding: 0; - margin: 0; - width: 100%; -} -.vn-gui .main-menu a { - width: 70%; - padding: 0 15%; - display: block; - line-height: 2.8em; -} -.vn-gui .main-menu a:hover, -.vn-gui .main-menu a.selected { - background-color: rgba(1, 1, 1, .1); -} -.vn-gui ul.submenu { - display: none; -} -.vn-gui ul.submenu.popup { - display: inline; - position: fixed; - border: none; - border-radius: 1px; - background-color: white; - box-shadow: 0 0 .3em rgba(1, 1, 1, .3); - z-index: 50; - width: 13em; - max-height: 30em; -} - -/* Social */ - -.vn-gui .menu-footer { - position: absolute; - bottom: 0; - right: 0; - left: 0; -} - -/* Body */ - -.vn-gui > .body { - margin-left: 250px; - padding-top: 4.4em; - height: inherit; - box-sizing: border-box; - height: inherit; - - transition-property: margin-left, margin-right; - transition-duration: 200ms; -} -.vn-gui .form-holder { - position: relative; - height: inherit; - - opacity: 0; - transform: translateZ(0) translateX(-2em); - -webkit-transform: translateZ(0) translateX(-2em); - - transition-property: opacity, transform; - transition-duration: 200ms; - transition-timing-function: ease-out; -} -.vn-gui .form-holder.show { - opacity: 1; - transform: translateZ(0) translateX(0em); - -webkit-transform: translateZ(0) translateX(0em); -} - -/* Mobile */ - -@media (max-width: 960px) { - .vn-gui .action-bar span.label, - .vn-gui .htk-button > span { - display: none; - } - .vn-gui > .navbar { - padding-left: 2.8em; - left: 0; - } - .vn-gui > .body { - margin-left: 0; - } - .vn-gui .menu-button { - display: block; - } - .vn-gui .left-panel { - top: 0; - left: -250px; - box-shadow: 0 0 .2em rgba(1, 1, 1, .3); - - transition: transform 200ms ease-out; - -webkit-transition: transform 200ms ease-out; - } - .vn-gui .left-panel.show { - transform: translateZ(0) translateX(250px); - -webkit-transform: translateZ(0) translateX(250px); - } - .vn-gui .form-holder { - left: 0; - } - .vn-gui ul.submenu { - display: block; - background-color: #888; - color: white; - box-shadow: inset 0 0 .2em rgba(1, 1, 1, .2); - overflow: hidden; - - max-height: 0; - transition: max-height 300ms ease-out; - webkit-transition: max-height 300ms ease-out; - } - .vn-gui .main-menu li:hover > ul.submenu { - max-height: 20em; - } -} - diff --git a/js/hedera/gui.js b/js/hedera/gui.js index 4b8b1568..03000355 100644 --- a/js/hedera/gui.js +++ b/js/hedera/gui.js @@ -1,8 +1,8 @@ var Module = require('./module'); -var Tpl = require('./gui.xml'); +var Tpl = require('./gui.xml').default; -require('./gui.css'); +require('./gui.scss'); module.exports = new Class({ Extends: Htk.Component, @@ -49,7 +49,7 @@ module.exports = new Class({ var sql = 'SELECT id, name, nickname FROM account.myUser;' +'SELECT defaultForm FROM config;' +'SELECT url FROM imageConfig;' - +'SELECT dbproduccion FROM vn2008.tblContadores;' + +'SELECT dbproduccion FROM vn.config;' +'SELECT productionDomain, testDomain FROM config;'; this._conn.execQuery(sql, this.onMainQueryDone.bind(this)); diff --git a/js/hedera/gui.scss b/js/hedera/gui.scss new file mode 100644 index 00000000..1240081a --- /dev/null +++ b/js/hedera/gui.scss @@ -0,0 +1,324 @@ +.vn-gui { + height: inherit; + + /* Font */ + + .user-name, + .menu-title { + font-size: 1.1em; + } + + /* Navigation bar */ + + .navbar { + position: fixed; + background-color: #1A1A1A; + left: 250px; + top: 0; + right: 0; + z-index: 1; + overflow: hidden; + height: 64px; + color: white; + + transition-property: left, background-color, transform; + transition-duration: 200ms; + transition-timing-function: ease-in-out; + } + .menu-button { + position: absolute; + left: 0; + display: none; + border: none; + background-color: transparent; + padding: 0 1em; + margin: 0; + height: 100%; + } + .menu-button:hover { + background-color: rgba(0, 0, 0, .2); + } + .menu-button img { + vertical-align: middle; + height: 1.8em; + } + .title { + float: left; + } + .title h1 { + font-weight: normal; + font-size: 1.4em; + padding: .8em .6em; + padding-right: .3em; + margin: 0; + } + .navbar > .htk-spinner { + float: left; + margin: 1.05em .8em; + } + + /* Action bar */ + + .action-bar { + float: right; + padding: 0; + margin: 0; + height: 100%; + } + .action-bar > div { + padding: 0; + margin: 0; + height: 100%; + display: flex; + align-items: center; + padding: 0 1em; + gap: .5em; + } + .action-bar > div > * { + float: right; + } + .action-bar button { + margin: 0; + padding: .6em; + } + .action-bar button:hover { + background-color: rgba(2550, 255, 255, .2); + } + + /* Background */ + + & > .background { + z-index: 10; + position: fixed; + top: 0; + left: 0; + right: 0; + bottom: 0; + visibility: hidden; + background-color: rgba(1, 1, 1, .7); + opacity: 0; + } + & > .background.show { + visibility: visible; + transition: opacity 200ms ease-out; + opacity: 1; + } + + /* Left panel */ + + .left-panel { + z-index: 20; + position: fixed; + left: 0; + bottom: 0; + top: 0; + background-color: white; + z-index: 20; + width: 250px; + } + .menu-overflow { + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 4em; + overflow: auto; + } + .menu-header { + background-color: #1A1A1A; + color: white; + height: 64px; + display: flex; + } + .logo { + display: block; + width: 160px; + margin-left: 37px; + } + .user-info > div { + display: flex; + justify-content: space-between; + align-items: center; + overflow: hidden; + font-weight: bold; + border: 1px solid #eaeaea; + margin: 25px; + + & > span { + padding: 10px; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + } + .logout { + display: block; + margin: 0; + text-align: left; + + &:hover { + background-color: #1a1a1a; + color: white; + } + } + &.supplant { + display: none; + } + } + + /* Test link */ + + .test-link { + display: none; + margin: .5em; + background-color: #3f51b5; + color: white; + padding: 0 1em; + line-height: 2em; + border-radius: .1em; + text-align: center; + } + .test-link:hover { + background-color: #4f61c5; + } + .dev-info { + display: none; + padding: .3em .5em; + color: white; + background-color: #3f51b5; + font-size: .9em; + margin: .5em; + border-radius: .1em; + } + .dev-info > p { + margin: .2em 0; + } + .dev-info > .mode { + color: #BBF; + } + + /* Menu */ + + .main-menu, + ul.submenu { + list-style-type: none; + padding: 0; + margin: 0; + } + .main-menu > li { + display: block; + padding: 0; + margin: 0; + width: 100%; + } + .main-menu a { + width: 70%; + padding: 0 15%; + display: block; + line-height: 2.8em; + } + .main-menu a:hover, + .main-menu a.selected { + background-color: rgba(1, 1, 1, .1); + } + ul.submenu { + display: none; + } + ul.submenu.popup { + display: inline; + position: fixed; + border: none; + border-radius: 1px; + background-color: white; + box-shadow: 0 0 .3em rgba(1, 1, 1, .3); + z-index: 50; + width: 13em; + max-height: 30em; + } + + /* Social */ + + .menu-footer { + position: absolute; + bottom: 0; + right: 0; + left: 0; + } + + /* Body */ + + & > .body { + margin-left: 250px; + padding-top: 4.4em; + height: inherit; + box-sizing: border-box; + height: inherit; + + transition-property: margin-left, margin-right; + transition-duration: 200ms; + } + .form-holder { + position: relative; + height: inherit; + + opacity: 0; + transform: translateZ(0) translateX(-2em); + -webkit-transform: translateZ(0) translateX(-2em); + + transition-property: opacity, transform; + transition-duration: 200ms; + transition-timing-function: ease-out; + } + .form-holder.show { + opacity: 1; + transform: translateZ(0) translateX(0em); + -webkit-transform: translateZ(0) translateX(0em); + } + + /* Mobile */ + + @media (max-width: 960px) { + .action-bar span.label, + .htk-button > .text { + display: none; + } + & > .navbar { + padding-left: 2.8em; + left: 0; + } + & > .body { + margin-left: 0; + } + .menu-button { + display: block; + } + .left-panel { + top: 0; + left: -250px; + box-shadow: 0 0 .2em rgba(1, 1, 1, .3); + + transition: transform 200ms ease-out; + -webkit-transition: transform 200ms ease-out; + } + .left-panel.show { + transform: translateZ(0) translateX(250px); + -webkit-transform: translateZ(0) translateX(250px); + } + .form-holder { + left: 0; + } + ul.submenu { + display: block; + background-color: #888; + color: white; + box-shadow: inset 0 0 .2em rgba(1, 1, 1, .2); + overflow: hidden; + + max-height: 0; + transition: max-height 300ms ease-out; + webkit-transition: max-height 300ms ease-out; + } + .main-menu li:hover > ul.submenu { + max-height: 20em; + } + } +} diff --git a/js/hedera/gui.xml b/js/hedera/gui.xml index ec5c53fc..9b7a922d 100644 --- a/js/hedera/gui.xml +++ b/js/hedera/gui.xml @@ -3,7 +3,7 @@