diff --git a/imports/plugins/included/product-admin/client/components/VariantForm.js b/imports/plugins/included/product-admin/client/components/VariantForm.js
index 3ccafec6733..b4f52614625 100644
--- a/imports/plugins/included/product-admin/client/components/VariantForm.js
+++ b/imports/plugins/included/product-admin/client/components/VariantForm.js
@@ -301,7 +301,7 @@ class VariantForm extends Component {
render() {
const { classes, variant } = this.props;
- const currency = findCurrency(null, true);
+ const currency = findCurrency();
return (
diff --git a/imports/plugins/included/product-admin/server/i18n/index.js b/imports/plugins/included/product-admin/server/i18n/index.js
deleted file mode 100644
index 822f1bdf134..00000000000
--- a/imports/plugins/included/product-admin/server/i18n/index.js
+++ /dev/null
@@ -1,33 +0,0 @@
-import { loadTranslations } from "/imports/plugins/core/core/server/startup/i18n";
-
-import ar from "./ar.json";
-import bg from "./bg.json";
-import cs from "./cs.json";
-import de from "./de.json";
-import el from "./el.json";
-import en from "./en.json";
-import es from "./es.json";
-import fr from "./fr.json";
-import he from "./he.json";
-import hr from "./hr.json";
-import hu from "./hu.json";
-import it from "./it.json";
-import my from "./my.json";
-import nb from "./nb.json";
-import nl from "./nl.json";
-import pl from "./pl.json";
-import pt from "./pt.json";
-import ro from "./ro.json";
-import ru from "./ru.json";
-import sl from "./sl.json";
-import sv from "./sv.json";
-import tr from "./tr.json";
-import vi from "./vi.json";
-import zh from "./zh.json";
-
-//
-// we want all the files in individual
-// imports for easier handling by
-// automated translation software
-//
-loadTranslations([ar, bg, cs, de, el, en, es, fr, he, hr, hu, it, my, nb, nl, pl, pt, ro, ru, sl, sv, tr, vi, zh]);
diff --git a/imports/plugins/included/product-admin/server/index.js b/imports/plugins/included/product-admin/server/index.js
deleted file mode 100644
index 3979f964b5a..00000000000
--- a/imports/plugins/included/product-admin/server/index.js
+++ /dev/null
@@ -1 +0,0 @@
-import "./i18n";
diff --git a/imports/plugins/included/product-admin/server/i18n/ar.json b/imports/plugins/included/product-admin/server/no-meteor/i18n/ar.json
similarity index 100%
rename from imports/plugins/included/product-admin/server/i18n/ar.json
rename to imports/plugins/included/product-admin/server/no-meteor/i18n/ar.json
diff --git a/imports/plugins/included/product-admin/server/i18n/bg.json b/imports/plugins/included/product-admin/server/no-meteor/i18n/bg.json
similarity index 100%
rename from imports/plugins/included/product-admin/server/i18n/bg.json
rename to imports/plugins/included/product-admin/server/no-meteor/i18n/bg.json
diff --git a/imports/plugins/included/product-admin/server/i18n/cs.json b/imports/plugins/included/product-admin/server/no-meteor/i18n/cs.json
similarity index 100%
rename from imports/plugins/included/product-admin/server/i18n/cs.json
rename to imports/plugins/included/product-admin/server/no-meteor/i18n/cs.json
diff --git a/imports/plugins/included/product-admin/server/i18n/de.json b/imports/plugins/included/product-admin/server/no-meteor/i18n/de.json
similarity index 100%
rename from imports/plugins/included/product-admin/server/i18n/de.json
rename to imports/plugins/included/product-admin/server/no-meteor/i18n/de.json
diff --git a/imports/plugins/included/product-admin/server/i18n/el.json b/imports/plugins/included/product-admin/server/no-meteor/i18n/el.json
similarity index 100%
rename from imports/plugins/included/product-admin/server/i18n/el.json
rename to imports/plugins/included/product-admin/server/no-meteor/i18n/el.json
diff --git a/imports/plugins/included/product-admin/server/i18n/en.json b/imports/plugins/included/product-admin/server/no-meteor/i18n/en.json
similarity index 100%
rename from imports/plugins/included/product-admin/server/i18n/en.json
rename to imports/plugins/included/product-admin/server/no-meteor/i18n/en.json
diff --git a/imports/plugins/included/product-admin/server/i18n/es.json b/imports/plugins/included/product-admin/server/no-meteor/i18n/es.json
similarity index 100%
rename from imports/plugins/included/product-admin/server/i18n/es.json
rename to imports/plugins/included/product-admin/server/no-meteor/i18n/es.json
diff --git a/imports/plugins/included/product-admin/server/i18n/fr.json b/imports/plugins/included/product-admin/server/no-meteor/i18n/fr.json
similarity index 100%
rename from imports/plugins/included/product-admin/server/i18n/fr.json
rename to imports/plugins/included/product-admin/server/no-meteor/i18n/fr.json
diff --git a/imports/plugins/included/product-admin/server/i18n/he.json b/imports/plugins/included/product-admin/server/no-meteor/i18n/he.json
similarity index 100%
rename from imports/plugins/included/product-admin/server/i18n/he.json
rename to imports/plugins/included/product-admin/server/no-meteor/i18n/he.json
diff --git a/imports/plugins/included/product-admin/server/i18n/hr.json b/imports/plugins/included/product-admin/server/no-meteor/i18n/hr.json
similarity index 100%
rename from imports/plugins/included/product-admin/server/i18n/hr.json
rename to imports/plugins/included/product-admin/server/no-meteor/i18n/hr.json
diff --git a/imports/plugins/included/product-admin/server/i18n/hu.json b/imports/plugins/included/product-admin/server/no-meteor/i18n/hu.json
similarity index 100%
rename from imports/plugins/included/product-admin/server/i18n/hu.json
rename to imports/plugins/included/product-admin/server/no-meteor/i18n/hu.json
diff --git a/imports/plugins/included/product-admin/server/no-meteor/i18n/index.js b/imports/plugins/included/product-admin/server/no-meteor/i18n/index.js
new file mode 100644
index 00000000000..fe4f9543713
--- /dev/null
+++ b/imports/plugins/included/product-admin/server/no-meteor/i18n/index.js
@@ -0,0 +1,58 @@
+import ar from "./ar.json";
+import bg from "./bg.json";
+import cs from "./cs.json";
+import de from "./de.json";
+import el from "./el.json";
+import en from "./en.json";
+import es from "./es.json";
+import fr from "./fr.json";
+import he from "./he.json";
+import hr from "./hr.json";
+import hu from "./hu.json";
+import it from "./it.json";
+import my from "./my.json";
+import nb from "./nb.json";
+import nl from "./nl.json";
+import pl from "./pl.json";
+import pt from "./pt.json";
+import ro from "./ro.json";
+import ru from "./ru.json";
+import sl from "./sl.json";
+import sv from "./sv.json";
+import tr from "./tr.json";
+import vi from "./vi.json";
+import zh from "./zh.json";
+
+//
+// we want all the files in individual
+// imports for easier handling by
+// automated translation software
+//
+export default {
+ translations: [
+ ...ar,
+ ...bg,
+ ...cs,
+ ...de,
+ ...el,
+ ...en,
+ ...es,
+ ...fr,
+ ...he,
+ ...hr,
+ ...hu,
+ ...it,
+ ...my,
+ ...nb,
+ ...nl,
+ ...pl,
+ ...pt,
+ ...ro,
+ ...ru,
+ ...sl,
+ ...sv,
+ ...tr,
+ ...vi,
+ ...zh
+ ]
+};
diff --git a/imports/plugins/included/product-admin/server/i18n/it.json b/imports/plugins/included/product-admin/server/no-meteor/i18n/it.json
similarity index 100%
rename from imports/plugins/included/product-admin/server/i18n/it.json
rename to imports/plugins/included/product-admin/server/no-meteor/i18n/it.json
diff --git a/imports/plugins/included/product-admin/server/i18n/my.json b/imports/plugins/included/product-admin/server/no-meteor/i18n/my.json
similarity index 100%
rename from imports/plugins/included/product-admin/server/i18n/my.json
rename to imports/plugins/included/product-admin/server/no-meteor/i18n/my.json
diff --git a/imports/plugins/included/product-admin/server/i18n/nb.json b/imports/plugins/included/product-admin/server/no-meteor/i18n/nb.json
similarity index 100%
rename from imports/plugins/included/product-admin/server/i18n/nb.json
rename to imports/plugins/included/product-admin/server/no-meteor/i18n/nb.json
diff --git a/imports/plugins/included/product-admin/server/i18n/nl.json b/imports/plugins/included/product-admin/server/no-meteor/i18n/nl.json
similarity index 100%
rename from imports/plugins/included/product-admin/server/i18n/nl.json
rename to imports/plugins/included/product-admin/server/no-meteor/i18n/nl.json
diff --git a/imports/plugins/included/product-admin/server/i18n/pl.json b/imports/plugins/included/product-admin/server/no-meteor/i18n/pl.json
similarity index 100%
rename from imports/plugins/included/product-admin/server/i18n/pl.json
rename to imports/plugins/included/product-admin/server/no-meteor/i18n/pl.json
diff --git a/imports/plugins/included/product-admin/server/i18n/pt.json b/imports/plugins/included/product-admin/server/no-meteor/i18n/pt.json
similarity index 100%
rename from imports/plugins/included/product-admin/server/i18n/pt.json
rename to imports/plugins/included/product-admin/server/no-meteor/i18n/pt.json
diff --git a/imports/plugins/included/product-admin/server/i18n/ro.json b/imports/plugins/included/product-admin/server/no-meteor/i18n/ro.json
similarity index 100%
rename from imports/plugins/included/product-admin/server/i18n/ro.json
rename to imports/plugins/included/product-admin/server/no-meteor/i18n/ro.json
diff --git a/imports/plugins/included/product-admin/server/i18n/ru.json b/imports/plugins/included/product-admin/server/no-meteor/i18n/ru.json
similarity index 100%
rename from imports/plugins/included/product-admin/server/i18n/ru.json
rename to imports/plugins/included/product-admin/server/no-meteor/i18n/ru.json
diff --git a/imports/plugins/included/product-admin/server/i18n/sl.json b/imports/plugins/included/product-admin/server/no-meteor/i18n/sl.json
similarity index 100%
rename from imports/plugins/included/product-admin/server/i18n/sl.json
rename to imports/plugins/included/product-admin/server/no-meteor/i18n/sl.json
diff --git a/imports/plugins/included/product-admin/server/i18n/sv.json b/imports/plugins/included/product-admin/server/no-meteor/i18n/sv.json
similarity index 100%
rename from imports/plugins/included/product-admin/server/i18n/sv.json
rename to imports/plugins/included/product-admin/server/no-meteor/i18n/sv.json
diff --git a/imports/plugins/included/product-admin/server/i18n/tr.json b/imports/plugins/included/product-admin/server/no-meteor/i18n/tr.json
similarity index 100%
rename from imports/plugins/included/product-admin/server/i18n/tr.json
rename to imports/plugins/included/product-admin/server/no-meteor/i18n/tr.json
diff --git a/imports/plugins/included/product-admin/server/i18n/vi.json b/imports/plugins/included/product-admin/server/no-meteor/i18n/vi.json
similarity index 100%
rename from imports/plugins/included/product-admin/server/i18n/vi.json
rename to imports/plugins/included/product-admin/server/no-meteor/i18n/vi.json
diff --git a/imports/plugins/included/product-admin/server/i18n/zh.json b/imports/plugins/included/product-admin/server/no-meteor/i18n/zh.json
similarity index 100%
rename from imports/plugins/included/product-admin/server/i18n/zh.json
rename to imports/plugins/included/product-admin/server/no-meteor/i18n/zh.json
diff --git a/imports/plugins/included/product-admin/server/no-meteor/register.js b/imports/plugins/included/product-admin/server/no-meteor/register.js
index f88c6276c54..353ca4f09a4 100644
--- a/imports/plugins/included/product-admin/server/no-meteor/register.js
+++ b/imports/plugins/included/product-admin/server/no-meteor/register.js
@@ -1,3 +1,5 @@
+import i18n from "./i18n";
+
/**
* @summary Import and call this function to add this plugin to your API.
* @param {ReactionNodeApp} app The ReactionNodeApp instance
@@ -8,6 +10,7 @@ export default async function register(app) {
label: "Product Admin",
name: "reaction-product-admin",
icon: "fa fa-box",
+ i18n,
registry: [
// `ProductAdmin` is a role that currently clones the `createProduct` role
// which is overused in too many places. By adding `ProductAdmin`, we can use
diff --git a/imports/plugins/included/product-detail-simple/register.js b/imports/plugins/included/product-detail-simple/register.js
deleted file mode 100644
index 1c1ca57a4a7..00000000000
--- a/imports/plugins/included/product-detail-simple/register.js
+++ /dev/null
@@ -1,7 +0,0 @@
-import Reaction from "/imports/plugins/core/core/server/Reaction";
-
-Reaction.registerPackage({
- label: "Product Detail Simple",
- name: "product-detail-simple",
- icon: "fa fa-cubes"
-});
diff --git a/imports/plugins/included/product-detail-simple/server/i18n/ar.json b/imports/plugins/included/product-detail-simple/server/i18n/ar.json
deleted file mode 100644
index ea18cf1a71d..00000000000
--- a/imports/plugins/included/product-detail-simple/server/i18n/ar.json
+++ /dev/null
@@ -1,22 +0,0 @@
-[{
- "i18n": "ar",
- "ns": "product-detail-simple",
- "translation": {
- "product-detail-simple": {
- "admin": {
- "settings": {
- "productDetailsLabel": "تفاصيل المنتج"
- },
- "inventoryAlerts": {
- "adjustedQuantity": "تم تعديل كمية المنتج الخاص بك إلى الكمية القصوى في الأوراق المالية"
- },
- "mediaGallery": {
- "deleteImage": "انقر لإزالة الصورة",
- "addedImage": "هذه صورة جديدة. نشر لحفظ التغييرات.",
- "removedImage": "تم حذف الصورة. نشر لحفظ التغييرات."
- }
- },
- "availableOptions": "خيارات متاحة"
- }
- }
-}]
diff --git a/imports/plugins/included/product-detail-simple/server/i18n/bg.json b/imports/plugins/included/product-detail-simple/server/i18n/bg.json
deleted file mode 100644
index 9fee484275f..00000000000
--- a/imports/plugins/included/product-detail-simple/server/i18n/bg.json
+++ /dev/null
@@ -1,22 +0,0 @@
-[{
- "i18n": "bg",
- "ns": "product-detail-simple",
- "translation": {
- "product-detail-simple": {
- "admin": {
- "settings": {
- "productDetailsLabel": "информация за продукта"
- },
- "inventoryAlerts": {
- "adjustedQuantity": "Вашият продукт количество бе коригиран до макс количество на склад"
- },
- "mediaGallery": {
- "deleteImage": "Кликнете, за да премахнете изображението",
- "addedImage": "Това е ново изображение. Публикуване, за да запазите промените.",
- "removedImage": "Изображението бе изтрито. Публикуване, за да запазите промените."
- }
- },
- "availableOptions": "Налични варианти"
- }
- }
-}]
diff --git a/imports/plugins/included/product-detail-simple/server/i18n/cs.json b/imports/plugins/included/product-detail-simple/server/i18n/cs.json
deleted file mode 100644
index 1f1389648c9..00000000000
--- a/imports/plugins/included/product-detail-simple/server/i18n/cs.json
+++ /dev/null
@@ -1,22 +0,0 @@
-[{
- "i18n": "cs",
- "ns": "product-detail-simple",
- "translation": {
- "product-detail-simple": {
- "admin": {
- "settings": {
- "productDetailsLabel": "Detaily produktu"
- },
- "inventoryAlerts": {
- "adjustedQuantity": "Váš množství produktu byla upravena tak, aby max množství na skladě"
- },
- "mediaGallery": {
- "deleteImage": "Klepnutím odeberete obrázek",
- "addedImage": "Toto je nový obrázek. Publikujte, chcete-li uložit změny.",
- "removedImage": "Obrázek byl smazán. Publikujte, chcete-li uložit změny."
- }
- },
- "availableOptions": "dostupné možnosti"
- }
- }
-}]
diff --git a/imports/plugins/included/product-detail-simple/server/i18n/de.json b/imports/plugins/included/product-detail-simple/server/i18n/de.json
deleted file mode 100644
index 8b2737e5f56..00000000000
--- a/imports/plugins/included/product-detail-simple/server/i18n/de.json
+++ /dev/null
@@ -1,22 +0,0 @@
-[{
- "i18n": "de",
- "ns": "product-detail-simple",
- "translation": {
- "product-detail-simple": {
- "admin": {
- "settings": {
- "productDetailsLabel": "Produktdetails"
- },
- "inventoryAlerts": {
- "adjustedQuantity": "Ihre Produktmenge wurde die Höchstmenge eingestellt auf Lager"
- },
- "mediaGallery": {
- "deleteImage": "Klicken Sie, um das Bild zu entfernen",
- "addedImage": "Dies ist ein neues Bild. Veröffentlichen, um Änderungen zu speichern.",
- "removedImage": "Bild wurde gelöscht. Veröffentlichen, um Änderungen zu speichern."
- }
- },
- "availableOptions": "Verfügbare Optionen"
- }
- }
-}]
diff --git a/imports/plugins/included/product-detail-simple/server/i18n/el.json b/imports/plugins/included/product-detail-simple/server/i18n/el.json
deleted file mode 100644
index 7f6b0f10466..00000000000
--- a/imports/plugins/included/product-detail-simple/server/i18n/el.json
+++ /dev/null
@@ -1,22 +0,0 @@
-[{
- "i18n": "el",
- "ns": "product-detail-simple",
- "translation": {
- "product-detail-simple": {
- "admin": {
- "settings": {
- "productDetailsLabel": "λεπτομέρειες προιόντος"
- },
- "inventoryAlerts": {
- "adjustedQuantity": "ποσότητα του προϊόντος σας έχει ρυθμιστεί στο μέγιστο ποσότητα στο απόθεμα"
- },
- "mediaGallery": {
- "deleteImage": "Κάντε κλικ για να αφαιρέσετε την εικόνα",
- "addedImage": "Αυτή είναι μια νέα εικόνα. Δημοσιεύστε για να αποθηκεύσετε τις αλλαγές.",
- "removedImage": "Η εικόνα έχει διαγραφεί. Δημοσιεύστε για να αποθηκεύσετε τις αλλαγές."
- }
- },
- "availableOptions": "διαθέσιμες Επιλογές"
- }
- }
-}]
diff --git a/imports/plugins/included/product-detail-simple/server/i18n/en.json b/imports/plugins/included/product-detail-simple/server/i18n/en.json
deleted file mode 100644
index 12cf9f5c839..00000000000
--- a/imports/plugins/included/product-detail-simple/server/i18n/en.json
+++ /dev/null
@@ -1,22 +0,0 @@
-[{
- "i18n": "en",
- "ns": "product-detail-simple",
- "translation": {
- "product-detail-simple": {
- "admin": {
- "settings": {
- "productDetailsLabel": "Product Details"
- },
- "inventoryAlerts": {
- "adjustedQuantity": "Your product quantity has been adjusted to the max quantity in stock"
- },
- "mediaGallery": {
- "deleteImage": "Click to remove image",
- "addedImage": "This is a new image. Publish to save changes.",
- "removedImage": "Image has been deleted. Publish to save changes."
- }
- },
- "availableOptions": "Available Options"
- }
- }
-}]
diff --git a/imports/plugins/included/product-detail-simple/server/i18n/es.json b/imports/plugins/included/product-detail-simple/server/i18n/es.json
deleted file mode 100644
index b3a7234454c..00000000000
--- a/imports/plugins/included/product-detail-simple/server/i18n/es.json
+++ /dev/null
@@ -1,22 +0,0 @@
-[{
- "i18n": "es",
- "ns": "product-detail-simple",
- "translation": {
- "product-detail-simple": {
- "admin": {
- "settings": {
- "productDetailsLabel": "detalles del producto"
- },
- "inventoryAlerts": {
- "adjustedQuantity": "Su cantidad de producto se ha ajustado a la cantidad máxima en stock"
- },
- "mediaGallery": {
- "deleteImage": "Haga clic para eliminar la imagen",
- "addedImage": "Esta es una nueva imagen. Publicar para guardar los cambios.",
- "removedImage": "Se ha eliminado la imagen. Publicar para guardar los cambios."
- }
- },
- "availableOptions": "Opciones disponibles"
- }
- }
-}]
diff --git a/imports/plugins/included/product-detail-simple/server/i18n/fr.json b/imports/plugins/included/product-detail-simple/server/i18n/fr.json
deleted file mode 100644
index 8c7562054c0..00000000000
--- a/imports/plugins/included/product-detail-simple/server/i18n/fr.json
+++ /dev/null
@@ -1,22 +0,0 @@
-[{
- "i18n": "fr",
- "ns": "product-detail-simple",
- "translation": {
- "product-detail-simple": {
- "admin": {
- "settings": {
- "productDetailsLabel": "détails du produit"
- },
- "inventoryAlerts": {
- "adjustedQuantity": "Votre quantité de produit a été ajustée à la quantité maximale en stock"
- },
- "mediaGallery": {
- "deleteImage": "Cliquez pour supprimer l'image",
- "addedImage": "C'est une nouvelle image. Publiez pour enregistrer les modifications.",
- "removedImage": "L'image a été supprimée. Publiez pour enregistrer les modifications."
- }
- },
- "availableOptions": "Options disponibles"
- }
- }
-}]
diff --git a/imports/plugins/included/product-detail-simple/server/i18n/he.json b/imports/plugins/included/product-detail-simple/server/i18n/he.json
deleted file mode 100644
index 5efe38e72b6..00000000000
--- a/imports/plugins/included/product-detail-simple/server/i18n/he.json
+++ /dev/null
@@ -1,9 +0,0 @@
-[{
- "i18n": "he",
- "ns": "product-detail-simple",
- "translation": {
- "product-detail-simple": {
- "availableOptions": "אפשרויות זמינות"
- }
- }
-}]
diff --git a/imports/plugins/included/product-detail-simple/server/i18n/hr.json b/imports/plugins/included/product-detail-simple/server/i18n/hr.json
deleted file mode 100644
index b88edbc0905..00000000000
--- a/imports/plugins/included/product-detail-simple/server/i18n/hr.json
+++ /dev/null
@@ -1,22 +0,0 @@
-[{
- "i18n": "hr",
- "ns": "product-detail-simple",
- "translation": {
- "product-detail-simple": {
- "admin": {
- "settings": {
- "productDetailsLabel": "detalji o proizvodu"
- },
- "inventoryAlerts": {
- "adjustedQuantity": "Vaš proizvod količina je prilagođena max količini na lageru"
- },
- "mediaGallery": {
- "deleteImage": "Kliknite da biste uklonili sliku",
- "addedImage": "Ovo je nova slika. Objavi za spremanje promjena.",
- "removedImage": "Slika je izbrisana. Objavi za spremanje promjena."
- }
- },
- "availableOptions": "Dostupne opcije"
- }
- }
-}]
diff --git a/imports/plugins/included/product-detail-simple/server/i18n/hu.json b/imports/plugins/included/product-detail-simple/server/i18n/hu.json
deleted file mode 100644
index 8a1cdda3184..00000000000
--- a/imports/plugins/included/product-detail-simple/server/i18n/hu.json
+++ /dev/null
@@ -1,22 +0,0 @@
-[{
- "i18n": "hu",
- "ns": "product-detail-simple",
- "translation": {
- "product-detail-simple": {
- "admin": {
- "settings": {
- "productDetailsLabel": "termék leírás"
- },
- "inventoryAlerts": {
- "adjustedQuantity": "A termék mennyisége állították be a max mennyiség raktáron"
- },
- "mediaGallery": {
- "deleteImage": "Kattintson a kép eltávolítása",
- "addedImage": "Ez egy új képet. Adja változások mentéséhez.",
- "removedImage": "Képet törölték. Adja változások mentéséhez."
- }
- },
- "availableOptions": "elérhető opciók"
- }
- }
-}]
diff --git a/imports/plugins/included/product-detail-simple/server/i18n/index.js b/imports/plugins/included/product-detail-simple/server/i18n/index.js
deleted file mode 100644
index 822f1bdf134..00000000000
--- a/imports/plugins/included/product-detail-simple/server/i18n/index.js
+++ /dev/null
@@ -1,33 +0,0 @@
-import { loadTranslations } from "/imports/plugins/core/core/server/startup/i18n";
-
-import ar from "./ar.json";
-import bg from "./bg.json";
-import cs from "./cs.json";
-import de from "./de.json";
-import el from "./el.json";
-import en from "./en.json";
-import es from "./es.json";
-import fr from "./fr.json";
-import he from "./he.json";
-import hr from "./hr.json";
-import hu from "./hu.json";
-import it from "./it.json";
-import my from "./my.json";
-import nb from "./nb.json";
-import nl from "./nl.json";
-import pl from "./pl.json";
-import pt from "./pt.json";
-import ro from "./ro.json";
-import ru from "./ru.json";
-import sl from "./sl.json";
-import sv from "./sv.json";
-import tr from "./tr.json";
-import vi from "./vi.json";
-import zh from "./zh.json";
-
-//
-// we want all the files in individual
-// imports for easier handling by
-// automated translation software
-//
-loadTranslations([ar, bg, cs, de, el, en, es, fr, he, hr, hu, it, my, nb, nl, pl, pt, ro, ru, sl, sv, tr, vi, zh]);
diff --git a/imports/plugins/included/product-detail-simple/server/i18n/it.json b/imports/plugins/included/product-detail-simple/server/i18n/it.json
deleted file mode 100644
index eaab691bad3..00000000000
--- a/imports/plugins/included/product-detail-simple/server/i18n/it.json
+++ /dev/null
@@ -1,22 +0,0 @@
-[{
- "i18n": "it",
- "ns": "product-detail-simple",
- "translation": {
- "product-detail-simple": {
- "admin": {
- "settings": {
- "productDetailsLabel": "Dettagli del prodotto"
- },
- "inventoryAlerts": {
- "adjustedQuantity": "La vostra quantità di prodotto è stato adattato per la quantità massima in magazzino"
- },
- "mediaGallery": {
- "deleteImage": "Fare clic per rimuovere l'immagine",
- "addedImage": "Questa è una nuova immagine. Pubblica per salvare le modifiche.",
- "removedImage": "L'immagine è stata cancellata. Pubblica per salvare le modifiche."
- }
- },
- "availableOptions": "Opzioni disponibili"
- }
- }
-}]
diff --git a/imports/plugins/included/product-detail-simple/server/i18n/my.json b/imports/plugins/included/product-detail-simple/server/i18n/my.json
deleted file mode 100644
index 64250adda5d..00000000000
--- a/imports/plugins/included/product-detail-simple/server/i18n/my.json
+++ /dev/null
@@ -1,22 +0,0 @@
-[{
- "i18n": "my",
- "ns": "product-detail-simple",
- "translation": {
- "product-detail-simple": {
- "admin": {
- "settings": {
- "productDetailsLabel": "ကုန်ပစ္စည်းအသေးစိတ်"
- },
- "inventoryAlerts": {
- "adjustedQuantity": "သင့်ရဲ့ကုန်ပစ္စည်းအရေအတွက်စတော့ရှယ်ယာအတွက် max ကိုအရေအတွက်မှချိန်ညှိထားပြီး"
- },
- "mediaGallery": {
- "deleteImage": "image ကိုဖယ်ရှားပစ်ရန်ကလစ်နှိပ်ပါ",
- "addedImage": "ဒါကအသစ်တခုပုံရိပ်ဖြစ်ပါတယ်။ အပြောင်းအလဲများကိုကယ်ဖို့ Publish ။",
- "removedImage": "Image ကိုဖျက်ထားသည်။ အပြောင်းအလဲများကိုကယ်ဖို့ Publish ။"
- }
- },
- "availableOptions": "ရရှိနိုင် Options ကို"
- }
- }
-}]
diff --git a/imports/plugins/included/product-detail-simple/server/i18n/nb.json b/imports/plugins/included/product-detail-simple/server/i18n/nb.json
deleted file mode 100644
index 4ac7614789f..00000000000
--- a/imports/plugins/included/product-detail-simple/server/i18n/nb.json
+++ /dev/null
@@ -1,5 +0,0 @@
-[{
- "i18n": "nb",
- "ns": "product-detail-simple",
- "translation": { }
-}]
diff --git a/imports/plugins/included/product-detail-simple/server/i18n/nl.json b/imports/plugins/included/product-detail-simple/server/i18n/nl.json
deleted file mode 100644
index f5268831a2f..00000000000
--- a/imports/plugins/included/product-detail-simple/server/i18n/nl.json
+++ /dev/null
@@ -1,22 +0,0 @@
-[{
- "i18n": "nl",
- "ns": "product-detail-simple",
- "translation": {
- "product-detail-simple": {
- "admin": {
- "settings": {
- "productDetailsLabel": "Productdetails"
- },
- "inventoryAlerts": {
- "adjustedQuantity": "Uw product hoeveelheid is aangepast aan de maximale hoeveelheid in voorraad"
- },
- "mediaGallery": {
- "deleteImage": "Klik om de afbeelding te verwijderen",
- "addedImage": "Dit is een nieuwe afbeelding. Publiceer om wijzigingen op te slaan.",
- "removedImage": "Afbeelding is verwijderd. Publiceer om wijzigingen op te slaan."
- }
- },
- "availableOptions": "Beschikbare opties"
- }
- }
-}]
diff --git a/imports/plugins/included/product-detail-simple/server/i18n/pl.json b/imports/plugins/included/product-detail-simple/server/i18n/pl.json
deleted file mode 100644
index 2be203cfd23..00000000000
--- a/imports/plugins/included/product-detail-simple/server/i18n/pl.json
+++ /dev/null
@@ -1,22 +0,0 @@
-[{
- "i18n": "pl",
- "ns": "product-detail-simple",
- "translation": {
- "product-detail-simple": {
- "admin": {
- "settings": {
- "productDetailsLabel": "Szczegóły Produktu"
- },
- "inventoryAlerts": {
- "adjustedQuantity": "Twoja ilość produktów została dostosowana do maksymalnej ilości w magazynie"
- },
- "mediaGallery": {
- "deleteImage": "Kliknij, aby usunąć obraz",
- "addedImage": "To jest nowy wizerunek. Opublikuj, aby zapisać zmiany.",
- "removedImage": "Obraz został usunięty. Opublikuj, aby zapisać zmiany."
- }
- },
- "availableOptions": "Dostępne opcje"
- }
- }
-}]
diff --git a/imports/plugins/included/product-detail-simple/server/i18n/pt.json b/imports/plugins/included/product-detail-simple/server/i18n/pt.json
deleted file mode 100644
index 6c986074210..00000000000
--- a/imports/plugins/included/product-detail-simple/server/i18n/pt.json
+++ /dev/null
@@ -1,22 +0,0 @@
-[{
- "i18n": "pt",
- "ns": "product-detail-simple",
- "translation": {
- "product-detail-simple": {
- "admin": {
- "settings": {
- "productDetailsLabel": "Detalhes do produto"
- },
- "inventoryAlerts": {
- "adjustedQuantity": "Sua quantidade de produto foi ajustado para a quantidade máxima em estoque"
- },
- "mediaGallery": {
- "deleteImage": "Clique para remover a imagem",
- "addedImage": "Esta é uma nova imagem. Publique para salvar as alterações.",
- "removedImage": "A imagem foi excluída. Publique para salvar as alterações."
- }
- },
- "availableOptions": "Opções disponíveis"
- }
- }
-}]
diff --git a/imports/plugins/included/product-detail-simple/server/i18n/ro.json b/imports/plugins/included/product-detail-simple/server/i18n/ro.json
deleted file mode 100644
index be649a3dd99..00000000000
--- a/imports/plugins/included/product-detail-simple/server/i18n/ro.json
+++ /dev/null
@@ -1,22 +0,0 @@
-[{
- "i18n": "ro",
- "ns": "product-detail-simple",
- "translation": {
- "product-detail-simple": {
- "admin": {
- "settings": {
- "productDetailsLabel": "Detalii produs"
- },
- "inventoryAlerts": {
- "adjustedQuantity": "Cantitatea dvs. de produs a fost ajustat la cantitatea maximă în stoc"
- },
- "mediaGallery": {
- "deleteImage": "Faceți clic pentru a elimina imaginea",
- "addedImage": "Aceasta este o imagine nouă. Publicați pentru a salva modificările.",
- "removedImage": "Imaginea a fost ștearsă. Publicați pentru a salva modificările."
- }
- },
- "availableOptions": "Opțiuni disponibile"
- }
- }
-}]
diff --git a/imports/plugins/included/product-detail-simple/server/i18n/ru.json b/imports/plugins/included/product-detail-simple/server/i18n/ru.json
deleted file mode 100644
index 40fa6ae4842..00000000000
--- a/imports/plugins/included/product-detail-simple/server/i18n/ru.json
+++ /dev/null
@@ -1,22 +0,0 @@
-[{
- "i18n": "ru",
- "ns": "product-detail-simple",
- "translation": {
- "product-detail-simple": {
- "admin": {
- "settings": {
- "productDetailsLabel": "информация о продукте"
- },
- "inventoryAlerts": {
- "adjustedQuantity": "Ваше количество продукта было скорректировано до максимального количества в наличии"
- },
- "mediaGallery": {
- "deleteImage": "Нажмите, чтобы удалить изображение",
- "addedImage": "Это новый образ. Публикация для сохранения изменений.",
- "removedImage": "Изображение удалено. Публикация для сохранения изменений."
- }
- },
- "availableOptions": "Доступные опции"
- }
- }
-}]
diff --git a/imports/plugins/included/product-detail-simple/server/i18n/sl.json b/imports/plugins/included/product-detail-simple/server/i18n/sl.json
deleted file mode 100644
index 8ce59648e04..00000000000
--- a/imports/plugins/included/product-detail-simple/server/i18n/sl.json
+++ /dev/null
@@ -1,22 +0,0 @@
-[{
- "i18n": "sl",
- "ns": "product-detail-simple",
- "translation": {
- "product-detail-simple": {
- "admin": {
- "settings": {
- "productDetailsLabel": "Podrobnosti produkta"
- },
- "inventoryAlerts": {
- "adjustedQuantity": "Vaš količina izdelka je bil prilagojen za maksimalno količino na zalogi"
- },
- "mediaGallery": {
- "deleteImage": "Kliknite, da odstranite sliko",
- "addedImage": "To je nova podoba. Objavi, da shranite spremembe.",
- "removedImage": "Slika je bila izbrisana. Objavi, da shranite spremembe."
- }
- },
- "availableOptions": "Opcije na voljo"
- }
- }
-}]
diff --git a/imports/plugins/included/product-detail-simple/server/i18n/sv.json b/imports/plugins/included/product-detail-simple/server/i18n/sv.json
deleted file mode 100644
index 19014835935..00000000000
--- a/imports/plugins/included/product-detail-simple/server/i18n/sv.json
+++ /dev/null
@@ -1,22 +0,0 @@
-[{
- "i18n": "sv",
- "ns": "product-detail-simple",
- "translation": {
- "product-detail-simple": {
- "admin": {
- "settings": {
- "productDetailsLabel": "Produktinformation"
- },
- "inventoryAlerts": {
- "adjustedQuantity": "Din produkt mängd har justerats till max antal i lager"
- },
- "mediaGallery": {
- "deleteImage": "Klicka för att ta bort bilden",
- "addedImage": "Det här är en ny bild. Publicera för att spara ändringar.",
- "removedImage": "Bilden har raderats. Publicera för att spara ändringar."
- }
- },
- "availableOptions": "tillgängliga alternativ"
- }
- }
-}]
diff --git a/imports/plugins/included/product-detail-simple/server/i18n/tr.json b/imports/plugins/included/product-detail-simple/server/i18n/tr.json
deleted file mode 100644
index 4bae0ccd041..00000000000
--- a/imports/plugins/included/product-detail-simple/server/i18n/tr.json
+++ /dev/null
@@ -1,22 +0,0 @@
-[{
- "i18n": "tr",
- "ns": "product-detail-simple",
- "translation": {
- "product-detail-simple": {
- "admin": {
- "settings": {
- "productDetailsLabel": "Ürün Detayları"
- },
- "inventoryAlerts": {
- "adjustedQuantity": "Ürününüz miktar stok maksimum miktara ayarlandı"
- },
- "mediaGallery": {
- "deleteImage": "Resmi kaldırmak için tıklayın",
- "addedImage": "Bu yeni bir görüntü. Değişiklikleri kaydetmek için yayınla.",
- "removedImage": "Resim silindi. Değişiklikleri kaydetmek için yayınla."
- }
- },
- "availableOptions": "mevcut seçenekler"
- }
- }
-}]
diff --git a/imports/plugins/included/product-detail-simple/server/i18n/vi.json b/imports/plugins/included/product-detail-simple/server/i18n/vi.json
deleted file mode 100644
index ad240de63ee..00000000000
--- a/imports/plugins/included/product-detail-simple/server/i18n/vi.json
+++ /dev/null
@@ -1,22 +0,0 @@
-[{
- "i18n": "vi",
- "ns": "product-detail-simple",
- "translation": {
- "product-detail-simple": {
- "admin": {
- "settings": {
- "productDetailsLabel": "Thông tin chi tiết sản phẩm"
- },
- "inventoryAlerts": {
- "adjustedQuantity": "số lượng sản phẩm của bạn đã được điều chỉnh theo số lượng tối đa trong kho"
- },
- "mediaGallery": {
- "deleteImage": "Nhấp để xóa hình ảnh",
- "addedImage": "Đây là hình ảnh mới. Xuất bản để lưu thay đổi.",
- "removedImage": "Hình ảnh đã bị xóa. Xuất bản để lưu thay đổi."
- }
- },
- "availableOptions": "Tùy chọn có sẵn"
- }
- }
-}]
diff --git a/imports/plugins/included/product-detail-simple/server/i18n/zh.json b/imports/plugins/included/product-detail-simple/server/i18n/zh.json
deleted file mode 100644
index ea3475f5130..00000000000
--- a/imports/plugins/included/product-detail-simple/server/i18n/zh.json
+++ /dev/null
@@ -1,22 +0,0 @@
-[{
- "i18n": "zh",
- "ns": "product-detail-simple",
- "translation": {
- "product-detail-simple": {
- "admin": {
- "settings": {
- "productDetailsLabel": "产品详情"
- },
- "inventoryAlerts": {
- "adjustedQuantity": "您的产品数量进行了调整,在股票的最大数量"
- },
- "mediaGallery": {
- "deleteImage": "点击删除图片",
- "addedImage": "这是一个新的形象。发布以保存更改。",
- "removedImage": "图片已被删除。发布以保存更改。"
- }
- },
- "availableOptions": "可用选项"
- }
- }
-}]
diff --git a/imports/plugins/included/product-detail-simple/server/index.js b/imports/plugins/included/product-detail-simple/server/index.js
deleted file mode 100644
index 3979f964b5a..00000000000
--- a/imports/plugins/included/product-detail-simple/server/index.js
+++ /dev/null
@@ -1 +0,0 @@
-import "./i18n";
diff --git a/imports/plugins/included/product-variant/components/productGrid.js b/imports/plugins/included/product-variant/components/productGrid.js
index 9fb81a12415..3f77380ba78 100644
--- a/imports/plugins/included/product-variant/components/productGrid.js
+++ b/imports/plugins/included/product-variant/components/productGrid.js
@@ -1,6 +1,8 @@
/* eslint-disable jsx-a11y/click-events-have-key-events, jsx-a11y/no-static-element-interactions */
-import React, { Component } from "react";
+import React, { Component, Fragment } from "react";
import PropTypes from "prop-types";
+import gql from "graphql-tag";
+import { Mutation } from "react-apollo";
import { Components } from "@reactioncommerce/reaction-components";
import { Session } from "meteor/session";
import { i18next } from "/client/api";
@@ -24,6 +26,27 @@ import Typography from "@material-ui/core/Typography";
import Chip from "@reactioncommerce/catalyst/Chip";
import withStyles from "@material-ui/core/styles/withStyles";
+const publishProductsToCatalog = gql`
+ mutation ($productIds: [ID]!) {
+ publishProductsToCatalog(productIds: $productIds) {
+ product {
+ productId
+ title
+ isDeleted
+ supportedFulfillmentTypes
+ variants {
+ _id
+ title
+ options {
+ _id
+ title
+ }
+ }
+ }
+ }
+ }
+`;
+
const styles = (theme) => ({
leftChip: {
marginBottom: theme.spacing(2),
@@ -84,7 +107,6 @@ const styles = (theme) => ({
}
});
-// TODO: refactor to function
class ProductGrid extends Component {
static propTypes = {
classes: PropTypes.object,
@@ -110,11 +132,11 @@ class ProductGrid extends Component {
}
static defaultProps = {
- onArchiveProducts() {},
- onDuplicateProducts() {},
- onPublishProducts() {},
- onSelectAllProducts() {},
- onSetProductVisibility() {},
+ onArchiveProducts() { },
+ onDuplicateProducts() { },
+ onPublishProducts() { },
+ onSelectAllProducts() { },
+ onSetProductVisibility() { },
productMediaById: {}
};
@@ -165,7 +187,7 @@ class ProductGrid extends Component {
{i18next.t("admin.productTable.bulkActions.filteredProducts")}
- { selected }
+ {selected}
);
@@ -248,8 +270,8 @@ class ProductGrid extends Component {
this.handleCloseBulkActions();
}
- handleBulkActionPublish = () => {
- this.props.onPublishProducts(this.props.selectedProductIds);
+ handleBulkActionPublish = (mutation) => {
+ this.props.onPublishProducts(this.props.selectedProductIds, mutation);
this.handleCloseBulkActions();
}
@@ -281,7 +303,6 @@ class ProductGrid extends Component {
const { bulkActionMenuAnchorEl } = this.state;
const count = selectedProductIds.length;
const isEnabled = Array.isArray(selectedProductIds) && selectedProductIds.length;
-
return (