@genexus/web-standard-functions
Version:
GeneXus JavaScript standard functions library for web generators
84 lines • 2.15 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.GxImage = void 0;
class GxImage {
constructor(id, url, densitySet) {
this.id = id !== null && id !== void 0 ? id : "";
this.uri = url !== null && url !== void 0 ? url : "";
if (!densitySet) {
this.densitySet = url ? [{ uri: url, density: 1 }] : [];
}
else {
this.densitySet = [...densitySet];
}
}
serialize() {
return this.getInternalUri();
}
deserialize(imgString) {
return GxImage.createFromValue(imgString);
}
toString() {
return this.uri;
}
toAttrSrc() {
return this.uri;
}
toAttrSrcset() {
return this.densitySet
.map(image => `${image.uri} ${image.density}x`)
.join();
}
getInternalUri() {
if (this.id) {
return `gx-image://${this.id}`;
}
else {
return this.uri;
}
}
fromString(url) {
this.uri = url;
this.densitySet = [{ uri: url, density: 1 }];
}
isEmpty() {
return !this.uri && !this.id;
}
setEmpty() {
this.uri = "";
this.id = "";
this.densitySet = [];
}
toBase64String() {
console.log("toBase64String - Not implemented");
return "";
}
fromBase64String(s) {
console.log("fromBase64String - Not implemented");
}
static createFromValue(value) {
let id = "";
let url = "";
if (value.startsWith("gx-image://")) {
id = value
.slice(11)
.toLowerCase()
.replace(/\./g, "_");
}
else {
url = value.replace(/\s/g, "%20");
}
return new GxImage(id, url);
}
static createFromID(id) {
return new GxImage(id);
}
static create(image) {
return new GxImage(image.id, image.uri, image.densitySet);
}
static createImage(id, url) {
return new GxImage(id, url);
}
}
exports.GxImage = GxImage;
//# sourceMappingURL=gximage.js.map