@@ -24030,6 +24030,27 @@
|
||||
</translation>
|
||||
</translations>
|
||||
</concept_node>
|
||||
<concept_node>
|
||||
<name>help</name>
|
||||
<definition_loaded>false</definition_loaded>
|
||||
<description></description>
|
||||
<comment></comment>
|
||||
<default_text></default_text>
|
||||
<translations>
|
||||
<translation>
|
||||
<language>en-US</language>
|
||||
<approved>false</approved>
|
||||
</translation>
|
||||
<translation>
|
||||
<language>es-MX</language>
|
||||
<approved>false</approved>
|
||||
</translation>
|
||||
<translation>
|
||||
<language>fr-CA</language>
|
||||
<approved>false</approved>
|
||||
</translation>
|
||||
</translations>
|
||||
</concept_node>
|
||||
<concept_node>
|
||||
<name>home</name>
|
||||
<definition_loaded>false</definition_loaded>
|
||||
|
||||
@@ -23,7 +23,10 @@ export const handleUpload = (ev, context) => {
|
||||
|
||||
const fileName = ev.file.name || ev.filename;
|
||||
|
||||
let key = `${bodyshop.id}/${jobId}/${fileName.replace(/\.[^/.]+$/, "")}`;
|
||||
let key = `${bodyshop.id}/${jobId}/${fileName.replace(
|
||||
/\.[^/.]+$/,
|
||||
""
|
||||
)}-${new Date().getTime()}`;
|
||||
let extension = fileName.split(".").pop();
|
||||
uploadToCloudinary(
|
||||
key,
|
||||
|
||||
@@ -20,6 +20,7 @@ import Icon, {
|
||||
ToolFilled,
|
||||
UnorderedListOutlined,
|
||||
UserOutlined,
|
||||
QuestionCircleFilled,
|
||||
} from "@ant-design/icons";
|
||||
import { Layout, Menu } from "antd";
|
||||
import React from "react";
|
||||
@@ -284,6 +285,15 @@ function Header({
|
||||
<Link to="/manage/shop/csi">{t("menus.header.shop_csi")}</Link>
|
||||
</Menu.Item>
|
||||
</Menu.SubMenu>
|
||||
<Menu.Item
|
||||
key="shop"
|
||||
onClick={() => {
|
||||
window.open("https://help.imex.online/", "_blank");
|
||||
}}
|
||||
icon={<Icon component={QuestionCircleFilled} />}
|
||||
>
|
||||
{t("menus.header.help")}
|
||||
</Menu.Item>
|
||||
<Menu.SubMenu
|
||||
style={{ float: "right" }}
|
||||
title={
|
||||
|
||||
@@ -14,11 +14,11 @@ export default function JobsDocumentsDownloadButton({
|
||||
const [download, setDownload] = useState(null);
|
||||
const imagesToDownload = [
|
||||
...galleryImages.images.filter((image) => image.isSelected),
|
||||
...galleryImages.other.filter((image) => image.isSelected),
|
||||
// ...galleryImages.other.filter((image) => image.isSelected),
|
||||
];
|
||||
|
||||
const handleDownload = () => {
|
||||
logImEXEvent("jobs_documents_download");
|
||||
|
||||
axios
|
||||
.post("/media/download", {
|
||||
ids: imagesToDownload.map((_) => _.key),
|
||||
@@ -27,12 +27,8 @@ export default function JobsDocumentsDownloadButton({
|
||||
// window.open(r.data);
|
||||
downloadAs(
|
||||
r.data,
|
||||
`${identifier || "images"}.zip`,
|
||||
`${identifier || "documents"}.zip`,
|
||||
(progressEvent) => {
|
||||
const percentage = Math.round(
|
||||
(progressEvent.loaded * 100) / progressEvent.total
|
||||
);
|
||||
console.log(progressEvent, percentage);
|
||||
setDownload((currentDownloadState) => {
|
||||
return {
|
||||
downloaded: progressEvent.loaded || 0,
|
||||
|
||||
@@ -56,6 +56,7 @@ function JobsDocumentsComponent({
|
||||
isSelected: false,
|
||||
key: value.key,
|
||||
extension: value.extension,
|
||||
|
||||
id: value.id,
|
||||
type: value.type,
|
||||
size: value.size,
|
||||
@@ -74,7 +75,8 @@ function JobsDocumentsComponent({
|
||||
|
||||
const fileName = value.key.split("/").pop();
|
||||
acc.other.push({
|
||||
src: GenerateSrcUrl(value),
|
||||
source: GenerateSrcUrl(value),
|
||||
src: "",
|
||||
thumbnail: thumb,
|
||||
tags: [
|
||||
{
|
||||
@@ -100,6 +102,7 @@ function JobsDocumentsComponent({
|
||||
thumbnailHeight: 225,
|
||||
thumbnailWidth: 225,
|
||||
isSelected: false,
|
||||
|
||||
extension: value.extension,
|
||||
key: value.key,
|
||||
id: value.id,
|
||||
@@ -211,7 +214,7 @@ function JobsDocumentsComponent({
|
||||
}}
|
||||
onClickThumbnail={(index) => {
|
||||
window.open(
|
||||
galleryImages.other[index].src,
|
||||
galleryImages.other[index].source,
|
||||
"_blank",
|
||||
"toolbar=0,location=0,menubar=0"
|
||||
);
|
||||
|
||||
@@ -677,7 +677,7 @@
|
||||
"documents": {
|
||||
"actions": {
|
||||
"delete": "Delete Selected Documents",
|
||||
"download": "Download Selected Documents",
|
||||
"download": "Download Selected Images",
|
||||
"reassign": "Reassign to another Job",
|
||||
"selectallimages": "Select All Images",
|
||||
"selectallotherdocuments": "Select All Other Documents"
|
||||
@@ -1420,6 +1420,7 @@
|
||||
"entertimeticket": "Enter Time Tickets",
|
||||
"export": "Export",
|
||||
"export-logs": "Export Logs",
|
||||
"help": "Help",
|
||||
"home": "Home",
|
||||
"jobs": "Jobs",
|
||||
"owners": "Owners",
|
||||
|
||||
@@ -1420,6 +1420,7 @@
|
||||
"entertimeticket": "",
|
||||
"export": "",
|
||||
"export-logs": "",
|
||||
"help": "",
|
||||
"home": "Casa",
|
||||
"jobs": "Trabajos",
|
||||
"owners": "propietarios",
|
||||
|
||||
@@ -1420,6 +1420,7 @@
|
||||
"entertimeticket": "",
|
||||
"export": "",
|
||||
"export-logs": "",
|
||||
"help": "",
|
||||
"home": "Accueil",
|
||||
"jobs": "Emplois",
|
||||
"owners": "Propriétaires",
|
||||
|
||||
Reference in New Issue
Block a user