Icard/angular-clarity-master(work.../node_modules/ngx-drag-drop/esm2022/lib/dnd-state.mjs

72 lines
9.0 KiB
JavaScript
Raw Normal View History

2024-07-16 14:55:36 +00:00
import { CUSTOM_MIME_TYPE, DROP_EFFECTS, filterEffects, getWellKnownMimeType, JSON_MIME_TYPE, MSIE_MIME_TYPE, } from './dnd-utils';
const _dndState = {
isDragging: false,
dropEffect: 'none',
effectAllowed: 'all',
type: undefined,
};
export function startDrag(event, effectAllowed, type) {
_dndState.isDragging = true;
_dndState.dropEffect = 'none';
_dndState.effectAllowed = effectAllowed;
_dndState.type = type;
if (event.dataTransfer) {
event.dataTransfer.effectAllowed = effectAllowed;
}
}
export function endDrag() {
_dndState.isDragging = false;
_dndState.dropEffect = undefined;
_dndState.effectAllowed = undefined;
_dndState.type = undefined;
}
export function setDropEffect(event, dropEffect) {
if (_dndState.isDragging === true) {
_dndState.dropEffect = dropEffect;
}
if (event.dataTransfer) {
event.dataTransfer.dropEffect = dropEffect;
}
}
export function getDropEffect(event, effectAllowed) {
const dataTransferEffectAllowed = event.dataTransfer
? event.dataTransfer.effectAllowed
: 'uninitialized';
let effects = filterEffects(DROP_EFFECTS, dataTransferEffectAllowed);
if (_dndState.isDragging === true) {
effects = filterEffects(effects, _dndState.effectAllowed);
}
if (effectAllowed) {
effects = filterEffects(effects, effectAllowed);
}
// MacOS automatically filters dataTransfer.effectAllowed depending on the modifier keys,
// therefore the following modifier keys will only affect other operating systems.
if (effects.length === 0) {
return 'none';
}
if (event.ctrlKey && effects.indexOf('copy') !== -1) {
return 'copy';
}
if (event.altKey && effects.indexOf('link') !== -1) {
return 'link';
}
return effects[0];
}
export function getDndType(event) {
if (_dndState.isDragging === true) {
return _dndState.type;
}
const mimeType = getWellKnownMimeType(event);
if (mimeType === null) {
return undefined;
}
if (mimeType === MSIE_MIME_TYPE || mimeType === JSON_MIME_TYPE) {
return undefined;
}
return mimeType.substr(CUSTOM_MIME_TYPE.length + 1) || undefined;
}
export function isExternalDrag() {
return _dndState.isDragging === false;
}
export const dndState = _dndState;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG5kLXN0YXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvZG5kL3NyYy9saWIvZG5kLXN0YXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFDTCxnQkFBZ0IsRUFDaEIsWUFBWSxFQUNaLGFBQWEsRUFDYixvQkFBb0IsRUFDcEIsY0FBYyxFQUNkLGNBQWMsR0FDZixNQUFNLGFBQWEsQ0FBQztBQVNyQixNQUFNLFNBQVMsR0FBYTtJQUMxQixVQUFVLEVBQUUsS0FBSztJQUNqQixVQUFVLEVBQUUsTUFBTTtJQUNsQixhQUFhLEVBQUUsS0FBSztJQUNwQixJQUFJLEVBQUUsU0FBUztDQUNoQixDQUFDO0FBRUYsTUFBTSxVQUFVLFNBQVMsQ0FDdkIsS0FBZ0IsRUFDaEIsYUFBNEIsRUFDNUIsSUFBd0I7SUFFeEIsU0FBUyxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7SUFDNUIsU0FBUyxDQUFDLFVBQVUsR0FBRyxNQUFNLENBQUM7SUFDOUIsU0FBUyxDQUFDLGFBQWEsR0FBRyxhQUFhLENBQUM7SUFDeEMsU0FBUyxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7SUFFdEIsSUFBSSxLQUFLLENBQUMsWUFBWSxFQUFFO1FBQ3RCLEtBQUssQ0FBQyxZQUFZLENBQUMsYUFBYSxHQUFHLGFBQWEsQ0FBQztLQUNsRDtBQUNILENBQUM7QUFFRCxNQUFNLFVBQVUsT0FBTztJQUNyQixTQUFTLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztJQUM3QixTQUFTLENBQUMsVUFBVSxHQUFHLFNBQVMsQ0FBQztJQUNqQyxTQUFTLENBQUMsYUFBYSxHQUFHLFNBQVMsQ0FBQztJQUNwQyxTQUFTLENBQUMsSUFBSSxHQUFHLFNBQVMsQ0FBQztBQUM3QixDQUFDO0FBRUQsTUFBTSxVQUFVLGFBQWEsQ0FBQyxLQUFnQixFQUFFLFVBQXNCO0lBQ3BFLElBQUksU0FBUyxDQUFDLFVBQVUsS0FBSyxJQUFJLEVBQUU7UUFDakMsU0FBUyxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUM7S0FDbkM7SUFFRCxJQUFJLEtBQUssQ0FBQyxZQUFZLEVBQUU7UUFDdEIsS0FBSyxDQUFDLFlBQVksQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDO0tBQzVDO0FBQ0gsQ0FBQztBQUVELE1BQU0sVUFBVSxhQUFhLENBQzNCLEtBQWdCLEVBQ2hCLGFBQTBDO0lBRTFDLE1BQU0seUJBQXlCLEdBQWtCLEtBQUssQ0FBQyxZQUFZO1FBQ2pFLENBQUMsQ0FBRSxLQUFLLENBQUMsWUFBWSxDQUFDLGFBQStCO1FBQ3JELENBQUMsQ0FBQyxlQUFlLENBQUM7SUFFcEIsSUFBSSxPQUFPLEdBQUcsYUFBYSxDQUFDLFlBQVksRUFBRSx5QkFBeUIsQ0FBQyxDQUFDO0lBRXJFLElBQUksU0FBUyxDQUFDLFVBQVUsS0FBSyxJQUFJLEVBQUU7UUFDakMsT0FBTyxHQUFHLGFBQWEsQ0FBQyxPQUFPLEVBQUUsU0FBUyxDQUFDLGFBQWMsQ0FBQyxDQUFDO0tBQzVEO0lBRUQsSUFBSSxhQUFhLEVBQUU7UUFDakIsT0FBTyxHQUFHLGFBQWEsQ0FBQyxPQUFPLEVBQUUsYUFBYSxDQUFDLENBQUM7S0FDakQ7SUFFRCx5RkFBeUY7SUFDekYsa0ZBQWtGO0lBQ2xGLElBQUksT0FBTyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7UUFDeEIsT0FBTyxNQUFNLENBQUM7S0FDZjtJQUVELElBQUksS0FBSyxDQUFDLE9BQU8sSUFBSSxPQUFPLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFO1FBQ25ELE9BQU8sTUFBTSxDQUFDO0tBQ2Y7SUFFRCxJQUFJLEtBQUssQ0FBQyxNQUFNLElBQUksT0FBTyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRTtRQUNsRCxPQUFPLE1BQU0sQ0FBQztLQUNmO0lBRUQsT0FBTyxPQUFPLENBQUMsQ0FBQyxDQUFlLENBQUM7QUFDbEMsQ0FBQztBQUVELE1BQU0sVUFBVSxVQUFVLENBQUMsS0FBZ0I7SUFDekMsSUFBSSxTQUFTLENBQUMsVUFBVSxLQUFLLElBQUksRUFBRTtRQUNqQyxPQUFPLFNBQVMsQ0FBQyxJQUFJLENBQUM7S0FDdkI7SUFFRCxNQUFNLFFBQVEsR0FBRyxvQkFBb0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUU3QyxJQUFJLFFBQVEsS0FBSyxJQUFJLEVBQUU7UUFDckIsT0FBTyxTQUFTLENBQUM7S0FDbEI7SUFFRCxJQUFJLFFBQVEsS0FBSyxjQUFjLElBQUksUUFBUSxLQUFLLGNBQWMsRUFBRTtRQUM5RCxPQUFPLFNBQVMsQ0FBQztLQUNsQjtJQUVELE9BQU8sUUFBUSxDQUFDLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLElBQUksU0FBUyxDQUFDO0FBQ25FLENBQUM7QUFFRCxNQUFNLFVBQVUsY0FBYztJQUM1QixPQUFPLFNBQVMsQ0FBQyxVQUFVLEtBQUssS0FBSyxDQUFDO0FBQ3hDLENBQUM7QUFFRCxNQUFNLENBQUMsTUFBTSxRQUFRLEdBQXVCLFNBQStCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEcm9wRWZmZWN0LCBFZmZlY3RBbGxvd2VkIH0gZnJvbSAnLi9kbmQtdHlwZXMnO1xuaW1wb3J0IHtcbiAgQ1VTVE9NX01JTUVfVFlQRSxcbiAgRFJPUF9FRkZFQ1RTLFxuICBmaWx0ZXJFZmZlY3RzLFxuICBnZXRXZWxsS25vd25NaW1lVHlwZSxcbiAgSlNPTl9NSU1FX1RZUEUsXG4gIE1TSUVfTUlNRV9UWVBFLFxufSBmcm9tICcuL2RuZC11dGlscyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRG5kU3RhdGUge1xuICBpc0RyYWdnaW5nOiBib29sZWFuO1xuICBkcm9wRWZmZWN0PzogRHJvcEVmZmVjdDtcbiAgZWZmZWN0QWxsb3dlZD86IEVmZmVjdEFsbG93ZWQ7XG4gIHR5cGU/OiBzdHJpbmc7XG59XG5cbmNvbnN0IF9kbmRTdGF0ZTogRG5kU3RhdGUgPSB7XG4gIGlzRHJhZ2dpbmc6IGZhbHNlLFxuICBkcm9wRWZmZWN0OiAnbm9uZScsXG4gIGVmZmVjdEFsbG93ZWQ6ICdhbGwnLFxuICB0eXBlOiB1bmRlZmluZWQsXG59O1xuXG5leHBvcnQgZnVuY3Rpb24gc3RhcnREcmFnKFxuICBldmVudDogRHJhZ0V2ZW50LFxuICBlZmZlY3RBbGxvd2VkOiBFZmZlY3RBbGxvd2VkLFxuICB0eXBlOiBzdHJpbmcgfCB1bmRlZmluZWRcbikge1xuICBfZG5kU3RhdGUuaXNEcmFnZ2luZyA9IHRydWU7XG4gIF9kbmRTdGF0ZS5kcm9wRWZmZWN0ID0gJ25vbmUnO1xuICBfZG5kU3RhdGUuZWZmZWN0QWxsb3dlZCA9IGVmZmVjdEFsbG93ZWQ7XG4gIF9kbmRTdGF0ZS50eXBlID0gdHlwZTtcblxuICBpZiAoZXZlbnQuZGF0Y