@yoyoboot/l-52abp-ng-form-generator
Version:
This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 12.2.0.
67 lines • 9.06 kB
JavaScript
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;
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;
}
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG5kLXN0YXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbC01MmFicC1uZy1mb3JtLWdlbmVyYXRvci9zcmMvbmd4LWRyYWctZHJvcC9kbmQtc3RhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLGdCQUFnQixFQUNoQixZQUFZLEVBQ1osYUFBYSxFQUNiLG9CQUFvQixFQUNwQixjQUFjLEVBQ2QsY0FBYyxFQUNmLE1BQU0sYUFBYSxDQUFDO0FBVXJCLE1BQU0sU0FBUyxHQUFZO0lBQ3pCLFVBQVUsRUFBRSxLQUFLO0lBQ2pCLFVBQVUsRUFBRSxNQUFNO0lBQ2xCLGFBQWEsRUFBRSxLQUFLO0lBQ3BCLElBQUksRUFBRSxTQUFTO0NBQ2hCLENBQUM7QUFFRixNQUFNLFVBQVUsU0FBUyxDQUFFLEtBQWUsRUFBRSxhQUEyQixFQUFFLElBQXVCO0lBRTlGLFNBQVMsQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO0lBQzVCLFNBQVMsQ0FBQyxVQUFVLEdBQUcsTUFBTSxDQUFDO0lBQzlCLFNBQVMsQ0FBQyxhQUFhLEdBQUcsYUFBYSxDQUFDO0lBQ3hDLFNBQVMsQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO0lBRXRCLEtBQUssQ0FBQyxZQUFZLENBQUMsYUFBYSxHQUFHLGFBQWEsQ0FBQztBQUNuRCxDQUFDO0FBRUQsTUFBTSxVQUFVLE9BQU87SUFFckIsU0FBUyxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7SUFDN0IsU0FBUyxDQUFDLFVBQVUsR0FBRyxTQUFTLENBQUM7SUFDakMsU0FBUyxDQUFDLGFBQWEsR0FBRyxTQUFTLENBQUM7SUFDcEMsU0FBUyxDQUFDLElBQUksR0FBRyxTQUFTLENBQUM7QUFDN0IsQ0FBQztBQUVELE1BQU0sVUFBVSxhQUFhLENBQUUsS0FBZSxFQUFFLFVBQXFCO0lBRW5FLElBQUksU0FBUyxDQUFDLFVBQVUsS0FBSyxJQUFJLEVBQUc7UUFFbEMsU0FBUyxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUM7S0FDbkM7SUFFRCxLQUFLLENBQUMsWUFBWSxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUM7QUFDN0MsQ0FBQztBQUVELE1BQU0sVUFBVSxhQUFhLENBQUUsS0FBZSxFQUFFLGFBQXlDO0lBRXZGLE1BQU0seUJBQXlCLEdBQWlCLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLGFBQThCLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQztJQUUzSSxJQUFJLE9BQU8sR0FBRyxhQUFhLENBQUUsWUFBWSxFQUFFLHlCQUF5QixDQUFFLENBQUM7SUFFdkUsSUFBSSxTQUFTLENBQUMsVUFBVSxLQUFLLElBQUksRUFBRztRQUVsQyxPQUFPLEdBQUcsYUFBYSxDQUFFLE9BQU8sRUFBRSxTQUFTLENBQUMsYUFBYSxDQUFFLENBQUM7S0FDN0Q7SUFFRCxJQUFJLGFBQWEsRUFBRztRQUVsQixPQUFPLEdBQUcsYUFBYSxDQUFFLE9BQU8sRUFBRSxhQUFhLENBQUUsQ0FBQztLQUNuRDtJQUVELHlGQUF5RjtJQUN6RixrRkFBa0Y7SUFDbEYsSUFBSSxPQUFPLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRztRQUV6QixPQUFPLE1BQU0sQ0FBQztLQUNmO0lBRUQsSUFBSSxLQUFLLENBQUMsT0FBTyxJQUFJLE9BQU8sQ0FBQyxPQUFPLENBQUUsTUFBTSxDQUFFLEtBQUssQ0FBQyxDQUFDLEVBQUc7UUFFdEQsT0FBTyxNQUFNLENBQUM7S0FDZjtJQUVELElBQUksS0FBSyxDQUFDLE1BQU0sSUFBSSxPQUFPLENBQUMsT0FBTyxDQUFFLE1BQU0sQ0FBRSxLQUFLLENBQUMsQ0FBQyxFQUFHO1FBRXJELE9BQU8sTUFBTSxDQUFDO0tBQ2Y7SUFFRCxPQUFPLE9BQU8sQ0FBRSxDQUFDLENBQWdCLENBQUM7QUFDcEMsQ0FBQztBQUVELE1BQU0sVUFBVSxVQUFVLENBQUUsS0FBZTtJQUV6QyxJQUFJLFNBQVMsQ0FBQyxVQUFVLEtBQUssSUFBSSxFQUFHO1FBRWxDLE9BQU8sU0FBUyxDQUFDLElBQUksQ0FBQztLQUN2QjtJQUVELE1BQU0sUUFBUSxHQUFHLG9CQUFvQixDQUFFLEtBQUssQ0FBRSxDQUFDO0lBRS9DLElBQUksUUFBUSxLQUFLLElBQUksRUFBRztRQUV0QixPQUFPLFNBQVMsQ0FBQztLQUNsQjtJQUVELElBQUksUUFBUSxLQUFLLGNBQWM7V0FDMUIsUUFBUSxLQUFLLGNBQWMsRUFBRztRQUVqQyxPQUFPLFNBQVMsQ0FBQztLQUNsQjtJQUVELE9BQU8sUUFBUSxDQUFDLE1BQU0sQ0FBRSxnQkFBZ0IsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFFLElBQUksU0FBUyxDQUFDO0FBQ3JFLENBQUM7QUFFRCxNQUFNLFVBQVUsY0FBYztJQUU1QixPQUFPLFNBQVMsQ0FBQyxVQUFVLEtBQUssS0FBSyxDQUFDO0FBQ3hDLENBQUM7QUFFRCxNQUFNLENBQUMsTUFBTSxRQUFRLEdBQXNCLFNBQStCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDVVNUT01fTUlNRV9UWVBFLFxuICBEUk9QX0VGRkVDVFMsXG4gIGZpbHRlckVmZmVjdHMsXG4gIGdldFdlbGxLbm93bk1pbWVUeXBlLFxuICBKU09OX01JTUVfVFlQRSxcbiAgTVNJRV9NSU1FX1RZUEVcbn0gZnJvbSBcIi4vZG5kLXV0aWxzXCI7XG5pbXBvcnQgeyBEcm9wRWZmZWN0LCBFZmZlY3RBbGxvd2VkIH0gZnJvbSBcIi4vZG5kLXR5cGVzXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRG5kU3RhdGUge1xuICBpc0RyYWdnaW5nOmJvb2xlYW47XG4gIGRyb3BFZmZlY3Q/OkRyb3BFZmZlY3Q7XG4gIGVmZmVjdEFsbG93ZWQ/OkVmZmVjdEFsbG93ZWQ7XG4gIHR5cGU/OnN0cmluZztcbn1cblxuY29uc3QgX2RuZFN0YXRlOkRuZFN0YXRlID0ge1xuICBpc0RyYWdnaW5nOiBmYWxzZSxcbiAgZHJvcEVmZmVjdDogXCJub25lXCIsXG4gIGVmZmVjdEFsbG93ZWQ6IFwiYWxsXCIsXG4gIHR5cGU6IHVuZGVmaW5lZFxufTtcblxuZXhwb3J0IGZ1bmN0aW9uIHN0YXJ0RHJhZyggZXZlbnQ6RHJhZ0V2ZW50LCBlZmZlY3RBbGxvd2VkOkVmZmVjdEFsbG93ZWQsIHR5cGU6c3RyaW5nIHwgdW5kZWZpbmVkICkge1xuXG4gIF9kbmRTdGF0ZS5pc0RyYWdnaW5nID0gdHJ1ZTtcbiAgX2RuZFN0YXRlLmRyb3BFZmZlY3QgPSBcIm5vbmVcIjtcbiAgX2RuZFN0YXRlLmVmZmVjdEFsbG93ZWQgPSBlZmZlY3RBbGxvd2VkO1xuICBfZG5kU3RhdGUudHlwZSA9IHR5cGU7XG5cbiAgZXZlbnQuZGF0YVRyYW5zZmVyLmVmZmVjdEFsbG93ZWQgPSBlZmZlY3RBbGxvd2VkO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZW5kRHJhZygpIHtcblxuICBfZG5kU3RhdGUuaXNEcmFnZ2luZyA9IGZhbHNlO1xuICBfZG5kU3RhdGUuZHJvcEVmZmVjdCA9IHVuZGVmaW5lZDtcbiAgX2RuZFN0YXRlLmVmZmVjdEFsbG93ZWQgPSB1bmRlZmluZWQ7XG4gIF9kbmRTdGF0ZS50eXBlID0gdW5kZWZpbmVkO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc2V0RHJvcEVmZmVjdCggZXZlbnQ6RHJhZ0V2ZW50LCBkcm9wRWZmZWN0OkRyb3BFZmZlY3QgKSB7XG5cbiAgaWYoIF9kbmRTdGF0ZS5pc0RyYWdnaW5nID09PSB0cnVlICkge1xuXG4gICAgX2RuZFN0YXRlLmRyb3BFZmZlY3QgPSBkcm9wRWZmZWN0O1xuICB9XG5cbiAgZXZlbnQuZGF0YVRyYW5zZmVyLmRyb3BFZmZlY3QgPSBkcm9wRWZmZWN0O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0RHJvcEVmZmVjdCggZXZlbnQ6RHJhZ0V2ZW50LCBlZmZlY3RBbGxvd2VkPzpFZmZlY3RBbGxvd2VkIHwgRHJvcEVmZmVjdCApOkRyb3BFZmZlY3Qge1xuXG4gIGNvbnN0IGRhdGFUcmFuc2ZlckVmZmVjdEFsbG93ZWQ6RWZmZWN0QWxsb3dlZCA9IChldmVudC5kYXRhVHJhbnNmZXIpID8gZXZlbnQuZGF0YVRyYW5zZmVyLmVmZmVjdEFsbG93ZWQgYXMgRWZmZWN0QWxsb3dlZCA6IFwidW5pbml0aWFsaXplZFwiO1xuXG4gIGxldCBlZmZlY3RzID0gZmlsdGVyRWZmZWN0cyggRFJPUF9FRkZFQ1RTLCBkYXRhVHJhbnNmZXJFZmZlY3RBbGxvd2VkICk7XG5cbiAgaWYoIF9kbmRTdGF0ZS5pc0RyYWdnaW5nID09PSB0cnVlICkge1xuXG4gICAgZWZmZWN0cyA9IGZpbHRlckVmZmVjdHMoIGVmZmVjdHMsIF9kbmRTdGF0ZS5lZmZlY3RBbGxvd2VkICk7XG4gIH1cblxuICBpZiggZWZmZWN0QWxsb3dlZCApIHtcblxuICAgIGVmZmVjdHMgPSBmaWx0ZXJFZmZlY3RzKCBlZmZlY3RzLCBlZmZlY3RBbGxvd2VkICk7XG4gIH1cblxuICAvLyBNYWNPUyBhdXRvbWF0aWNhbGx5IGZpbHRlcnMgZGF0YVRyYW5zZmVyLmVmZmVjdEFsbG93ZWQgZGVwZW5kaW5nIG9uIHRoZSBtb2RpZmllciBrZXlzLFxuICAvLyB0aGVyZWZvcmUgdGhlIGZvbGxvd2luZyBtb2RpZmllciBrZXlzIHdpbGwgb25seSBhZmZlY3Qgb3RoZXIgb3BlcmF0aW5nIHN5c3RlbXMuXG4gIGlmKCBlZmZlY3RzLmxlbmd0aCA9PT0gMCApIHtcblxuICAgIHJldHVybiBcIm5vbmVcIjtcbiAgfVxuXG4gIGlmKCBldmVudC5jdHJsS2V5ICYmIGVmZmVjdHMuaW5kZXhPZiggXCJjb3B5XCIgKSAhPT0gLTEgKSB7XG5cbiAgICByZXR1cm4gXCJjb3B5XCI7XG4gIH1cblxuICBpZiggZXZlbnQuYWx0S2V5ICYmIGVmZmVjdHMuaW5kZXhPZiggXCJsaW5rXCIgKSAhPT0gLTEgKSB7XG5cbiAgICByZXR1cm4gXCJsaW5rXCI7XG4gIH1cblxuICByZXR1cm4gZWZmZWN0c1sgMCBdIGFzIERyb3BFZmZlY3Q7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXREbmRUeXBlKCBldmVudDpEcmFnRXZlbnQgKTpzdHJpbmcgfCB1bmRlZmluZWQge1xuXG4gIGlmKCBfZG5kU3RhdGUuaXNEcmFnZ2luZyA9PT0gdHJ1ZSApIHtcblxuICAgIHJldHVybiBfZG5kU3RhdGUudHlwZTtcbiAgfVxuXG4gIGNvbnN0IG1pbWVUeXBlID0gZ2V0V2VsbEtub3duTWltZVR5cGUoIGV2ZW50ICk7XG5cbiAgaWYoIG1pbWVUeXBlID09PSBudWxsICkge1xuXG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gIGlmKCBtaW1lVHlwZSA9PT0gTVNJRV9NSU1FX1RZUEVcbiAgICB8fCBtaW1lVHlwZSA9PT0gSlNPTl9NSU1FX1RZUEUgKSB7XG5cbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG5cbiAgcmV0dXJuIG1pbWVUeXBlLnN1YnN0ciggQ1VTVE9NX01JTUVfVFlQRS5sZW5ndGggKyAxICkgfHwgdW5kZWZpbmVkO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNFeHRlcm5hbERyYWcoKTpib29sZWFuIHtcblxuICByZXR1cm4gX2RuZFN0YXRlLmlzRHJhZ2dpbmcgPT09IGZhbHNlO1xufVxuXG5leHBvcnQgY29uc3QgZG5kU3RhdGU6UmVhZG9ubHk8RG5kU3RhdGU+ID0gX2RuZFN0YXRlIGFzIFJlYWRvbmx5PERuZFN0YXRlPjtcbiJdfQ==