@aurigma/design-atoms
Version:
Design Atoms is a part of Customer's Canvas SDK which allows for manipulating individual design elements through your code.
145 lines • 5.83 kB
JavaScript
import { Uuid } from "@aurigma/design-atoms-model/Product";
export var Utils;
(function (Utils) {
Utils.round3 = function (value) {
return Math.round(value * 1000) / 1000;
};
function makeSingle(generator) {
let globalNonce;
return async function (...args) {
const localNonce = globalNonce = new Object();
const iter = generator(...args);
let resumeValue;
for (;;) {
const n = iter.next(resumeValue);
if (n.done) {
return n.value; // final return value of passed generator
}
// whatever the generator yielded, _now_ run await on it
resumeValue = await n.value;
if (localNonce !== globalNonce) {
return; // a new call was made
}
// next loop, we give resumeValue back to the generator
}
};
}
Utils.makeSingle = makeSingle;
function makeCancelable(promise) {
var hasCanceled_ = false;
var wrappedPromise = new Promise(function (resolve, reject) {
promise.then(function (val) {
return hasCanceled_ ? reject({ isCanceled: true }) : resolve(val);
});
promise.catch(function (error) {
return hasCanceled_ ? reject({ isCanceled: true }) : reject(error);
});
});
return {
promise: wrappedPromise,
id: new Uuid().toString(),
cancel: function () {
hasCanceled_ = true;
}
};
}
Utils.makeCancelable = makeCancelable;
;
/**
* @param {UIEvent} uiEvent
* @return {Element[]}
*/
Utils.getEventPath = function (uiEvent) {
if (uiEvent.view == null || !(uiEvent instanceof uiEvent.view.UIEvent))
throw new Error("Unexpected event type");
if (uiEvent.path != null) {
var nativePath = Array.isArray(uiEvent.path) ? uiEvent.path : Array.prototype.slice.call(uiEvent.path);
return nativePath.filter(function (el) { return el instanceof Element; });
}
var rv = [];
var element = uiEvent.target;
if (!(element instanceof uiEvent.view.Element) && console != null)
console.log("unexpected event target", element);
do {
rv.push(element);
element = element.parentElement;
} while (element != null && element !== uiEvent.currentTarget);
return rv;
};
/**
* @param {UIEvent | JqueryEventObject } event
*/
Utils.isEventPathContainsClass = function (event, cssClass) {
var uiEvent;
if (event instanceof UIEvent) {
uiEvent = event;
}
else if (event.originalEvent instanceof UIEvent) {
uiEvent = event.originalEvent;
}
else {
throw new Error("Unexpected event type");
}
var path = Utils.getEventPath(uiEvent);
if (path.some(function (element) { return element.classList.contains(cssClass); }))
return true;
return false;
};
function getListSettingFromConfig(config) {
return config ? {
maxNestingListLevel: config.maxLevel,
defOrderedListLevelGap: config.levelIndent,
defUnorderedListLevelGap: config.levelIndent,
defOrderedListStyle: {
firstLineIndent: config.firstLineIndent,
leftIndent: config.listIndent,
tabOffset: config.tabOffset,
numberingFormat: config.numberingFormat
},
defUnorderedListStyle: {
firstLineIndent: config.firstLineIndent,
leftIndent: config.listIndent,
tabOffset: config.tabOffset,
bulletCharCode: config.bulletChar ? config.bulletChar.charCodeAt(0) : null
},
styleNameKey: "",
styleNamePrefix: ""
} : null;
}
Utils.getListSettingFromConfig = getListSettingFromConfig;
})(Utils || (Utils = {}));
export var Cursor;
(function (Cursor) {
Cursor[Cursor["defaultCursor"] = 0] = "defaultCursor";
Cursor[Cursor["sizeNW"] = 1] = "sizeNW";
Cursor[Cursor["sizeNE"] = 2] = "sizeNE";
Cursor[Cursor["sizeSW"] = 3] = "sizeSW";
Cursor[Cursor["sizeSE"] = 4] = "sizeSE";
Cursor[Cursor["sizeN"] = 5] = "sizeN";
Cursor[Cursor["sizeS"] = 6] = "sizeS";
Cursor[Cursor["sizeW"] = 7] = "sizeW";
Cursor[Cursor["sizeE"] = 8] = "sizeE";
Cursor[Cursor["move"] = 9] = "move";
Cursor[Cursor["cross"] = 10] = "cross";
Cursor[Cursor["pointer"] = 11] = "pointer";
Cursor[Cursor["sizeEW"] = 12] = "sizeEW";
Cursor[Cursor["sizeNS"] = 13] = "sizeNS";
Cursor[Cursor["sizeNESW"] = 14] = "sizeNESW";
Cursor[Cursor["sizeNWSE"] = 15] = "sizeNWSE";
Cursor[Cursor["text"] = 16] = "text";
Cursor[Cursor["grab"] = 17] = "grab";
Cursor[Cursor["grabbing"] = 18] = "grabbing";
})(Cursor || (Cursor = {}));
export var ColorSpace;
(function (ColorSpace) {
ColorSpace[ColorSpace["rgb"] = 16777216] = "rgb";
ColorSpace[ColorSpace["cmyk"] = 335544320] = "cmyk";
ColorSpace[ColorSpace["grayScale"] = 301989888] = "grayScale";
ColorSpace[ColorSpace["unknown"] = 0] = "unknown";
})(ColorSpace || (ColorSpace = {}));
export var WebServiceCallType;
(function (WebServiceCallType) {
WebServiceCallType[WebServiceCallType["Item"] = 0] = "Item";
WebServiceCallType[WebServiceCallType["Color"] = 1] = "Color";
})(WebServiceCallType || (WebServiceCallType = {}));
//# sourceMappingURL=Common.js.map