@haus-tech/product-import-export-plugin 3.0.22 → 3.0.24-0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +43 -0
- package/README.md +90 -0
- package/package.json +8 -14
- package/{dist → src}/api/plugin.controller.js +3 -2
- package/src/api/plugin.controller.js.map +1 -0
- package/{dist → src}/api/product-export.controller.d.ts +1 -1
- package/{dist → src}/api/product-export.controller.js +28 -13
- package/src/api/product-export.controller.js.map +1 -0
- package/{dist → src}/api/product-import.controller.d.ts +0 -1
- package/{dist → src}/api/product-import.controller.js +3 -2
- package/src/api/product-import.controller.js.map +1 -0
- package/{dist → src}/constants.js +1 -0
- package/src/constants.js.map +1 -0
- package/{dist → src}/helpers/generate-asset-hash.js +2 -2
- package/src/helpers/generate-asset-hash.js.map +1 -0
- package/{dist → src}/helpers/normalize-string.js +2 -2
- package/src/helpers/normalize-string.js.map +1 -0
- package/{dist → src}/helpers/remove-update-at-fields.js +2 -2
- package/src/helpers/remove-update-at-fields.js.map +1 -0
- package/{dist → src}/index.js +1 -0
- package/src/index.js.map +1 -0
- package/{dist → src}/product-import-export.plugin.js +23 -11
- package/src/product-import-export.plugin.js.map +1 -0
- package/{dist → src}/providers/import-providers/asset-importer.d.ts +0 -1
- package/{dist → src}/providers/import-providers/asset-importer.js +3 -2
- package/src/providers/import-providers/asset-importer.js.map +1 -0
- package/{dist → src}/providers/import-providers/import-parser.d.ts +0 -1
- package/{dist → src}/providers/import-providers/import-parser.js +3 -2
- package/src/providers/import-providers/import-parser.js.map +1 -0
- package/{dist → src}/providers/import-providers/product-importer.d.ts +0 -1
- package/{dist → src}/providers/import-providers/product-importer.js +5 -4
- package/src/providers/import-providers/product-importer.js.map +1 -0
- package/{dist → src}/services/extended-fast-importer.service.js +3 -2
- package/src/services/extended-fast-importer.service.js.map +1 -0
- package/{dist → src}/services/product-export.service.js +28 -18
- package/src/services/product-export.service.js.map +1 -0
- package/{dist → src}/services/product-import.service.d.ts +0 -1
- package/{dist → src}/services/product-import.service.js +3 -2
- package/src/services/product-import.service.js.map +1 -0
- package/{dist → src}/types.js +1 -0
- package/src/types.js.map +1 -0
- package/{dist → src}/ui/components/export-dialog.component.js +3 -2
- package/src/ui/components/export-dialog.component.js.map +1 -0
- package/{dist → src}/ui/components/product-import.component.js +3 -2
- package/src/ui/components/product-import.component.js.map +1 -0
- package/{dist → src}/ui/product-export.service.js +3 -2
- package/src/ui/product-export.service.js.map +1 -0
- package/src/ui/providers.d.ts +3 -0
- package/{dist → src}/ui/providers.js +1 -0
- package/src/ui/providers.js.map +1 -0
- package/src/ui/routes.d.ts +31 -0
- package/{dist → src}/ui/routes.js +1 -0
- package/src/ui/routes.js.map +1 -0
- package/dist/ui/components/export-dialog.component.html +0 -83
- package/dist/ui/components/export-dialog.component.ts +0 -165
- package/dist/ui/components/product-import.component.html +0 -123
- package/dist/ui/components/product-import.component.ts +0 -550
- package/dist/ui/product-export.service.ts +0 -107
- package/dist/ui/providers.d.ts +0 -2
- package/dist/ui/providers.ts +0 -57
- package/dist/ui/routes.d.ts +0 -31
- package/dist/ui/routes.ts +0 -11
- package/dist/ui/translations/en.json +0 -53
- package/dist/ui/translations/sv.json +0 -53
- /package/{dist → src}/api/plugin.controller.d.ts +0 -0
- /package/{dist → src}/constants.d.ts +0 -0
- /package/{dist → src}/helpers/generate-asset-hash.d.ts +0 -0
- /package/{dist → src}/helpers/normalize-string.d.ts +0 -0
- /package/{dist → src}/helpers/remove-update-at-fields.d.ts +0 -0
- /package/{dist → src}/index.d.ts +0 -0
- /package/{dist → src}/product-import-export.plugin.d.ts +0 -0
- /package/{dist → src}/services/extended-fast-importer.service.d.ts +0 -0
- /package/{dist → src}/services/product-export.service.d.ts +0 -0
- /package/{dist → src}/types.d.ts +0 -0
- /package/{dist → src}/ui/components/export-dialog.component.d.ts +0 -0
- /package/{dist → src}/ui/components/product-import.component.d.ts +0 -0
- /package/{dist → src}/ui/product-export.service.d.ts +0 -0
package/dist/ui/providers.ts
DELETED
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
import { registerPageTab } from '@vendure/admin-ui/core'
|
|
2
|
-
import { ProductImportComponent } from './components/product-import.component'
|
|
3
|
-
import { ExportDialogComponent } from './components/export-dialog.component'
|
|
4
|
-
import { ModalService, registerBulkAction } from '@vendure/admin-ui/core'
|
|
5
|
-
import { ProductExportService } from './product-export.service'
|
|
6
|
-
import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker'
|
|
7
|
-
|
|
8
|
-
export default [
|
|
9
|
-
registerPageTab({
|
|
10
|
-
location: 'product-list',
|
|
11
|
-
tab: _('product-import.import-products'),
|
|
12
|
-
route: 'import',
|
|
13
|
-
tabIcon: 'import',
|
|
14
|
-
component: ProductImportComponent,
|
|
15
|
-
}),
|
|
16
|
-
registerBulkAction({
|
|
17
|
-
location: 'product-list',
|
|
18
|
-
label: _('product-export.action'),
|
|
19
|
-
icon: 'export',
|
|
20
|
-
onClick: ({ injector, selection }) => {
|
|
21
|
-
const modalService = injector.get(ModalService)
|
|
22
|
-
const productExportService = injector.get(ProductExportService)
|
|
23
|
-
|
|
24
|
-
const productIds = selection.map((product) => product.id)
|
|
25
|
-
|
|
26
|
-
const promises = [
|
|
27
|
-
productExportService.getCustomFields(productIds),
|
|
28
|
-
productExportService.getConfig(),
|
|
29
|
-
]
|
|
30
|
-
|
|
31
|
-
Promise.all(promises).then(([customFields, config]) => {
|
|
32
|
-
modalService
|
|
33
|
-
.fromComponent(ExportDialogComponent, {
|
|
34
|
-
size: 'md',
|
|
35
|
-
locals: {
|
|
36
|
-
selection,
|
|
37
|
-
customFields,
|
|
38
|
-
config: config.exportOptions,
|
|
39
|
-
},
|
|
40
|
-
closable: true,
|
|
41
|
-
})
|
|
42
|
-
.subscribe((response) => {
|
|
43
|
-
if (response?.result) {
|
|
44
|
-
productExportService.exportProducts(
|
|
45
|
-
selection,
|
|
46
|
-
response.fileName,
|
|
47
|
-
response.selectedFields,
|
|
48
|
-
response.exportAssetsAs,
|
|
49
|
-
response.selectedExportFields,
|
|
50
|
-
)
|
|
51
|
-
}
|
|
52
|
-
})
|
|
53
|
-
})
|
|
54
|
-
},
|
|
55
|
-
}),
|
|
56
|
-
ProductExportService,
|
|
57
|
-
]
|
package/dist/ui/routes.d.ts
DELETED
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
declare const _default: {
|
|
2
|
-
resolve: {
|
|
3
|
-
detail?: import("@angular/router").ResolveFn<{
|
|
4
|
-
entity: import("rxjs").Observable<any>;
|
|
5
|
-
result?: any;
|
|
6
|
-
}> | undefined;
|
|
7
|
-
};
|
|
8
|
-
data: {
|
|
9
|
-
breadcrumb: import("rxjs").BehaviorSubject<import("@vendure/admin-ui/core").BreadcrumbValue> | ((data: any) => any);
|
|
10
|
-
locationId: string | undefined;
|
|
11
|
-
description: string | undefined;
|
|
12
|
-
};
|
|
13
|
-
component: typeof import("@vendure/admin-ui/core").AngularRouteComponent;
|
|
14
|
-
title?: string | import("@angular/core").Type<import("@angular/router").Resolve<string>> | import("@angular/router").ResolveFn<string> | undefined;
|
|
15
|
-
path: string;
|
|
16
|
-
pathMatch?: "prefix" | "full" | undefined;
|
|
17
|
-
matcher?: import("@angular/router").UrlMatcher | undefined;
|
|
18
|
-
loadComponent?: (() => import("@angular/core").Type<unknown> | import("rxjs").Observable<import("@angular/core").Type<unknown> | import("@angular/router").DefaultExport<import("@angular/core").Type<unknown>>> | Promise<import("@angular/core").Type<unknown> | import("@angular/router").DefaultExport<import("@angular/core").Type<unknown>>>) | undefined;
|
|
19
|
-
redirectTo?: string | undefined;
|
|
20
|
-
outlet?: string | undefined;
|
|
21
|
-
canActivate?: any[] | undefined;
|
|
22
|
-
canMatch?: any[] | undefined;
|
|
23
|
-
canActivateChild?: any[] | undefined;
|
|
24
|
-
canDeactivate?: any[] | undefined;
|
|
25
|
-
canLoad?: any[] | undefined;
|
|
26
|
-
children?: import("@angular/router").Routes | undefined;
|
|
27
|
-
loadChildren?: import("@angular/router").LoadChildrenCallback | undefined;
|
|
28
|
-
runGuardsAndResolvers?: import("@angular/router").RunGuardsAndResolvers | undefined;
|
|
29
|
-
providers: (import("@angular/core").Provider | import("@angular/core").EnvironmentProviders)[];
|
|
30
|
-
}[];
|
|
31
|
-
export default _default;
|
package/dist/ui/routes.ts
DELETED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { registerRouteComponent } from '@vendure/admin-ui/core'
|
|
2
|
-
import { ProductImportComponent } from './components/product-import.component'
|
|
3
|
-
|
|
4
|
-
export default [
|
|
5
|
-
registerRouteComponent({
|
|
6
|
-
component: ProductImportComponent,
|
|
7
|
-
path: '',
|
|
8
|
-
title: 'Import Products',
|
|
9
|
-
breadcrumb: 'Import Products',
|
|
10
|
-
}),
|
|
11
|
-
]
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"product-import": {
|
|
3
|
-
"import-products": "Import products",
|
|
4
|
-
"card": {
|
|
5
|
-
"title": "Import products from CSV",
|
|
6
|
-
"description": "Choose a CSV file to import products from",
|
|
7
|
-
"button-select": "Select file",
|
|
8
|
-
"button-upload": "Upload file",
|
|
9
|
-
"update-product-slugs": "Update product slugs based on name",
|
|
10
|
-
"select-main-language": "Select main language: ",
|
|
11
|
-
"updating-strategy": "Updating strategy for facets and assets: ",
|
|
12
|
-
"overwrite": "Overwrite",
|
|
13
|
-
"overwrite-warning": "Warning: This will remove existing facets and assets from products and variants.",
|
|
14
|
-
"merge": "Merge",
|
|
15
|
-
"main-language-info": "The main language is used as a fallback when translations are missing. It is recommended to select the language that is used the most in your system. The main language will be used to create products, the other languages will be used to fill in translations."
|
|
16
|
-
},
|
|
17
|
-
"notifications": {
|
|
18
|
-
"invalid-file-type": "Invalid file type. Please upload a CSV file.",
|
|
19
|
-
"invalid-file-structure": "Invalid file structure. Please upload a correct CSV file.",
|
|
20
|
-
"upload-success": "The file was uploaded and has been added to the import queue.",
|
|
21
|
-
"upload-error": "An error occurred while uploading the file.",
|
|
22
|
-
"no-file-selected": "No file selected.",
|
|
23
|
-
"mismatched-values": "Some fields are missing language specifications. Please fill in all languages: ",
|
|
24
|
-
"missing-base-columns": "Some columns are missing: ",
|
|
25
|
-
"missing-column": "Column is missing: ",
|
|
26
|
-
"no-lines-in-file": "The file is empty.",
|
|
27
|
-
"file-read-error": "An error occurred while reading the file.",
|
|
28
|
-
"invalid-json": "Invalid JSON structure. Please upload a correct JSON file.",
|
|
29
|
-
"missing-languages": "Your CSV file contains languages that are not available in the system. Please add the languages to the system or remove the languages that are not used and try again.",
|
|
30
|
-
"mismatched-option-values": "Some product variants are missing product options. Please fill in all options: ",
|
|
31
|
-
"missing-main-language-name": "Main language is missing for name. Please add the main language and try again.",
|
|
32
|
-
"missing-translation-values": "Some fields are missing translations for the main language that exist in other languages. These will not be imported: ",
|
|
33
|
-
"inconsistent-columns": "The columns in the file are inconsistent. Please ensure all rows have the same number of columns."
|
|
34
|
-
}
|
|
35
|
-
},
|
|
36
|
-
"product-export": {
|
|
37
|
-
"action": "Export products to CSV",
|
|
38
|
-
"dialog": {
|
|
39
|
-
"title": "Export products to CSV",
|
|
40
|
-
"label": "File name (optional)",
|
|
41
|
-
"export": "Export",
|
|
42
|
-
"cancel": "Cancel",
|
|
43
|
-
"customFieldsLabel": "Custom fields to include in the export",
|
|
44
|
-
"exportAssetsAs": "Export assets as: ",
|
|
45
|
-
"exportAssetsAsOptions": {
|
|
46
|
-
"url": "URL",
|
|
47
|
-
"json": "JSON"
|
|
48
|
-
},
|
|
49
|
-
"availableExportFieldsLabel": "Fields to export",
|
|
50
|
-
"selectAll": "Select all"
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
}
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"product-import": {
|
|
3
|
-
"import-products": "Importera produkter",
|
|
4
|
-
"card": {
|
|
5
|
-
"title": "Importera produkter från CSV",
|
|
6
|
-
"description": "Välj en CSV-fil att importera produkter från",
|
|
7
|
-
"button-select": "Välj fil",
|
|
8
|
-
"button-upload": "Ladda upp fil",
|
|
9
|
-
"update-product-slugs": "Uppdatera produkt-sluggar utifrån namn",
|
|
10
|
-
"select-main-language": "Välj huvudspråk: ",
|
|
11
|
-
"updating-strategy": "Uppdateringsstrategi för etiketter och filer: ",
|
|
12
|
-
"overwrite": "Skriv över",
|
|
13
|
-
"overwrite-warning": "Varning: Detta kommer ta bort befintliga etiketter och filer från produkter och varianter.",
|
|
14
|
-
"merge": "Sammanfoga",
|
|
15
|
-
"main-language-info": "Huvudspråket används som fallback när översättningar saknas. Det rekommenderas att välja det språk som används mest i din kanal. Huvudspråket kommer användas för att skapa upp produkter, de övriga språken kommer användas för att fylla i översättningar."
|
|
16
|
-
},
|
|
17
|
-
"notifications": {
|
|
18
|
-
"invalid-file-type": "Felaktig filtyp. Vänligen ladda upp en CSV-fil.",
|
|
19
|
-
"invalid-file-structure": "Felaktig filstruktur. Vänligen ladda upp en korrekt CSV-fil.",
|
|
20
|
-
"upload-success": "Filen laddades upp och har lagts till i kön för import.",
|
|
21
|
-
"upload-error": "Ett fel uppstod vid uppladdning av filen.",
|
|
22
|
-
"no-file-selected": "Ingen fil vald.",
|
|
23
|
-
"mismatched-values": "Det saknas språkspecifikationer för vissa fält. Vänligen fyll i alla språk: ",
|
|
24
|
-
"missing-base-columns": "Vissa kolumner saknas: ",
|
|
25
|
-
"missing-column": "Kolumnen saknas: ",
|
|
26
|
-
"no-lines-in-file": "Filen är tom.",
|
|
27
|
-
"file-read-error": "Ett fel uppstod vid läsning av filen.",
|
|
28
|
-
"invalid-json": "Fältet {col} på rad {row} innehåller felaktig JSON-struktur.",
|
|
29
|
-
"missing-languages": "Din CSV-fil innehåller språk som inte är tillgängliga i den här kanalen. Vänligen lägg till språken i kanalen eller ta bort de språk som inte används och försök igen.",
|
|
30
|
-
"mismatched-option-values": "Antalet produktalternativ för vissa produktvarianter är felaktigt: ",
|
|
31
|
-
"missing-main-language-name": "Huvudspråket saknas för namn. Vänligen lägg till huvudspråket och försök igen.",
|
|
32
|
-
"missing-translation-values": "Det saknas översättningar för vissa fält för huvudspråket som existerar i andra språk. Dessa kommer inte importeras: ",
|
|
33
|
-
"inconsistent-columns": "Kolumnerna i filen är inkonsekventa. Vänligen kontrollera att alla rader har samma antal kolumner."
|
|
34
|
-
}
|
|
35
|
-
},
|
|
36
|
-
"product-export": {
|
|
37
|
-
"action": "Exportera produkter till CSV",
|
|
38
|
-
"dialog": {
|
|
39
|
-
"title": "Exportera produkter till CSV",
|
|
40
|
-
"label": "Filnamn (valfritt)",
|
|
41
|
-
"export": "Exportera",
|
|
42
|
-
"cancel": "Avbryt",
|
|
43
|
-
"customFieldsLabel": "Anpassade fält som ska inkluderas i exporten",
|
|
44
|
-
"exportAssetsAs": "Exportera filer som: ",
|
|
45
|
-
"exportAssetsAsOptions": {
|
|
46
|
-
"url": "URL",
|
|
47
|
-
"json": "JSON"
|
|
48
|
-
},
|
|
49
|
-
"availableExportFieldsLabel": "Fält att exportera",
|
|
50
|
-
"selectAll": "Välj alla"
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
/package/{dist → src}/index.d.ts
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
/package/{dist → src}/types.d.ts
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|