albinasoft-ui-package 1.0.85 → 1.0.86
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.
@@ -89,8 +89,11 @@ var fa_1 = require("react-icons/fa");
|
|
89
89
|
// ====================
|
90
90
|
var AllowedTypes;
|
91
91
|
(function (AllowedTypes) {
|
92
|
-
AllowedTypes["
|
92
|
+
AllowedTypes["PDF"] = "pdf";
|
93
93
|
AllowedTypes["FILE"] = "file";
|
94
|
+
AllowedTypes["IMAGE"] = "image";
|
95
|
+
AllowedTypes["VIDEO"] = "video";
|
96
|
+
AllowedTypes["VISUAL"] = "visual";
|
94
97
|
AllowedTypes["ALL"] = "all";
|
95
98
|
})(AllowedTypes = exports.AllowedTypes || (exports.AllowedTypes = {}));
|
96
99
|
// ====================
|
@@ -152,8 +155,10 @@ var fileTypeIcons = {
|
|
152
155
|
".txt": react_1.default.createElement(fa_1.FaFilePdf, null),
|
153
156
|
};
|
154
157
|
var defaultFileIcon = react_1.default.createElement(fa_1.FaFile, null);
|
155
|
-
// İzin verilen
|
158
|
+
// İzin verilen dosya uzantıları
|
159
|
+
var allowedFileExtensions = [".pdf", ".doc", ".docx", ".xls", ".xlsx", ".txt"];
|
156
160
|
var allowedImageExtensions = [".jpg", ".jpeg", ".png", ".gif", ".bmp", ".webp"];
|
161
|
+
var allowedVideoExtensions = [".mp4", ".avi", ".mov", ".mkv", ".webm", ".flv"];
|
157
162
|
// ====================
|
158
163
|
// Yardımcı Fonksiyonlar
|
159
164
|
// ====================
|
@@ -164,14 +169,24 @@ var getFileExtension = function (file) {
|
|
164
169
|
var isImageFile = function (file) {
|
165
170
|
return allowedImageExtensions.includes(getFileExtension(file));
|
166
171
|
};
|
167
|
-
var isAllowedFileType = function (file,
|
168
|
-
|
169
|
-
|
170
|
-
|
171
|
-
|
172
|
-
|
173
|
-
|
174
|
-
|
172
|
+
var isAllowedFileType = function (file, allowedType) {
|
173
|
+
var ext = getFileExtension(file);
|
174
|
+
switch (allowedType) {
|
175
|
+
case AllowedTypes.ALL:
|
176
|
+
return true;
|
177
|
+
case AllowedTypes.PDF:
|
178
|
+
return ext === ".pdf";
|
179
|
+
case AllowedTypes.FILE:
|
180
|
+
return allowedFileExtensions.includes(ext);
|
181
|
+
case AllowedTypes.IMAGE:
|
182
|
+
return allowedImageExtensions.includes(ext);
|
183
|
+
case AllowedTypes.VIDEO:
|
184
|
+
return allowedVideoExtensions.includes(ext);
|
185
|
+
case AllowedTypes.VISUAL:
|
186
|
+
return allowedImageExtensions.includes(ext) || allowedVideoExtensions.includes(ext);
|
187
|
+
default:
|
188
|
+
return false;
|
189
|
+
}
|
175
190
|
};
|
176
191
|
// ====================
|
177
192
|
// CustomFileUploader Bileşeni
|
@@ -210,8 +225,8 @@ var CustomFileUploader = function (_a) {
|
|
210
225
|
react_toastify_1.toast.error("\"".concat(file.name, "\" dosyas\u0131 se\u00E7ilen dosya t\u00FCr\u00FCne uygun de\u011Fil."));
|
211
226
|
return;
|
212
227
|
}
|
213
|
-
var isImg = isImageFile(file);
|
214
|
-
var previewContent = isImg
|
228
|
+
var isImg = allowedTypes === AllowedTypes.IMAGE || (allowedTypes === AllowedTypes.VISUAL && isImageFile(file));
|
229
|
+
var previewContent = isImg && isImageFile(file)
|
215
230
|
? URL.createObjectURL(file)
|
216
231
|
: fileTypeIcons[getFileExtension(file)] || defaultFileIcon;
|
217
232
|
newPreviews.push({
|
@@ -333,9 +348,7 @@ var CustomFileUploader = function (_a) {
|
|
333
348
|
react_1.default.createElement("label", { style: { fontWeight: "bold" } }, label))),
|
334
349
|
react_1.default.createElement("div", { style: dropAreaStyle, onDrop: handleDrop, onDragOver: handleDragOver, onClick: handleAreaClick }, previews.length === 0 ? (react_1.default.createElement("div", null,
|
335
350
|
"Dosyalar\u0131 buraya s\u00FCr\u00FCkleyip b\u0131rak\u0131n veya t\u0131klayarak dosya se\u00E7in.",
|
336
|
-
multi
|
337
|
-
? " (Maksimum ".concat(maxFile, " dosya se\u00E7ilebilir.)")
|
338
|
-
: " (Tek dosya seçilebilir.)")) : (react_1.default.createElement("div", { style: previewContainerStyle }, previews.map(function (item) { return (react_1.default.createElement("div", { key: item.id, style: { display: "flex", flexDirection: "column", alignItems: "center" } },
|
351
|
+
multi ? " (Maksimum ".concat(maxFile, " dosya se\u00E7ilebilir.)") : " (Tek dosya seçilebilir.)")) : (react_1.default.createElement("div", { style: previewContainerStyle }, previews.map(function (item) { return (react_1.default.createElement("div", { key: item.id, style: { display: "flex", flexDirection: "column", alignItems: "center" } },
|
339
352
|
react_1.default.createElement("div", { style: previewItemStyle },
|
340
353
|
item.isImage ? (react_1.default.createElement("img", { src: item.previewContent, alt: "\u00D6nizleme ".concat(item.id), style: { width: "100%", height: "100%", objectFit: "cover" } })) : (react_1.default.createElement("div", { style: {
|
341
354
|
width: "100%",
|
@@ -345,8 +358,7 @@ var CustomFileUploader = function (_a) {
|
|
345
358
|
alignItems: "center",
|
346
359
|
fontSize: "48px",
|
347
360
|
} }, item.previewContent)),
|
348
|
-
react_1.default.createElement("button", { type: "button"
|
349
|
-
, style: removeButtonStyle, onClick: function (e) {
|
361
|
+
react_1.default.createElement("button", { type: "button", style: removeButtonStyle, onClick: function (e) {
|
350
362
|
e.stopPropagation();
|
351
363
|
handleRemoveFile(item.id);
|
352
364
|
}, title: "Kald\u0131r" }, "\u00D7"),
|