@brizy/media-gallery
Version:
162 lines (161 loc) • 4.37 kB
JavaScript
import { isOneOf } from "../../utils/value";
import * as State from "./types/State";
import { match } from "fp-utilities";
import { IMAGE_UPLOAD_ERROR } from "./constants";
import { InsertFilesTypes } from "../../types/Context";
export var isReadyOrBulk = isOneOf([
State.isReady,
State.isBulkSelectReady
]);
var isNothingOrBulk = isOneOf([
State.isNothingSelected,
State.isBulkSelectNothing
]);
export var isBulkSaving = isOneOf([
State.isBulkSavingAltTitle,
State.isBulkSavingFileName
]);
export var isReadySaving = isOneOf([
State.isSavingAltTitle,
State.isSavingFileName
]);
export var isSavingFileName = isOneOf([
State.isSavingFileName,
State.isBulkSavingFileName
]);
export var isSavingAltTitle = isOneOf([
State.isSavingAltTitle,
State.isBulkSavingAltTitle
]);
export var isSaving = isOneOf([
isSavingFileName,
isSavingAltTitle
]);
export var isRemoving = isOneOf([
State.isRemovingFromReady,
State.isRemovingFromBulkReady,
State.isRemovingFromBulkMultiple
]);
export var isUploading = isOneOf([
State.isUploadingFromReady,
State.isUploadingFromNothing,
State.isUploadingFromBulkReady,
State.isUploadingFromBulkNothing,
State.isUploadingFromBulkMultiple
]);
export var isRemoveConfirmation = isOneOf([
State.isRemoveConfirmationFromReady,
State.isRemoveConfirmationFromBulkReady,
State.isRemoveConfirmationFromBulkMultiple
]);
export var isReadyOrMultiple = isOneOf([
State.isBulkSelectMultiple,
isReadyOrBulk
]);
export var isReadyOrNothing = isOneOf([
State.isNothingSelected,
State.isReady
]);
export var isBulkReadyOrNothingOrMultiple = isOneOf([
State.isBulkSelectNothing,
State.isBulkSelectReady,
State.isBulkSelectMultiple
]);
export var isReadyOrNothingOrBulk = isOneOf([
isBulkReadyOrNothingOrMultiple,
isReadyOrNothing
]);
export var isBulkSelected = isOneOf([
State.isRemovingFromBulkReady,
State.isRemovingFromBulkMultiple,
State.isRemoveConfirmationFromBulkReady,
State.isRemoveConfirmationFromBulkMultiple,
State.isUploadingFromBulkReady,
State.isUploadingFromBulkNothing,
State.isUploadingFromBulkMultiple,
isBulkSaving,
isBulkReadyOrNothingOrMultiple
]);
var isCancelable = isOneOf([
State.isReady,
isBulkSelected
]);
export var isMultipleSelected = isOneOf([
State.isBulkSelectMultiple,
State.isUploadingFromBulkMultiple,
State.isRemovingFromBulkMultiple,
State.isRemoveConfirmationFromBulkMultiple
]);
export var isNothingSelected = isOneOf([
State.isInit,
State.isUploadingFromNothing,
State.isUploadingFromBulkNothing,
isNothingOrBulk
]);
export var isWithContent = isOneOf([
isRemoving,
isReadyOrNothing,
isBulkReadyOrNothingOrMultiple,
isRemoveConfirmation,
isSaving
]);
export var isWithSidebar = isOneOf([
State.isUploadingFromReady,
State.isRemoveConfirmationFromReady,
State.isRemovingFromReady,
State.isUploadingFromBulkReady,
State.isRemoveConfirmationFromBulkReady,
State.isRemovingFromBulkReady,
isReadyOrBulk,
isSaving
]);
export var isSidebarState = isOneOf([
isWithSidebar,
isNothingSelected,
isMultipleSelected
]);
export var isLoading = isOneOf([
State.isInit,
isUploading
]);
export var isBulkNothingOrMultiple = isOneOf([
State.isBulkSelectNothing,
State.isBulkSelectMultiple
]);
export var pickUploadState = match([
State.isUploadingFromReady,
State.ready
], [
State.isUploadingFromNothing,
State.nothingSelected
], [
State.isUploadingFromBulkReady,
State.bulkSelectReady
], [
State.isUploadingFromBulkNothing,
State.bulkSelectNothing
], [
State.isUploadingFromBulkMultiple,
State.bulkSelectMultiple
]);
var insertFiles = function(s) {
switch(s.insertFilesType){
case InsertFilesTypes.MULTIPLE:
return isReadyOrMultiple(s);
case InsertFilesTypes.SINGLE:
return isReadyOrBulk(s);
case InsertFilesTypes.NONE:
return false;
}
};
export var disabled = function(s) {
return {
cancel: isCancelable(s),
delete: isReadyOrMultiple(s),
preview: isReadyOrBulk(s),
insertFiles: insertFiles(s)
};
};
export var isImageUploadError = function(item) {
return item === IMAGE_UPLOAD_ERROR;
};