h5p-utils
Version:
A set of utility classes and functions to be used when creating H5P widgets and content types.
104 lines (98 loc) • 3.15 kB
JavaScript
;
var __defProp = Object.defineProperty;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __getOwnPropNames = Object.getOwnPropertyNames;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __export = (target, all) => {
for (var name in all)
__defProp(target, name, { get: all[name], enumerable: true });
};
var __copyProps = (to, from, except, desc) => {
if (from && typeof from === "object" || typeof from === "function") {
for (let key of __getOwnPropNames(from))
if (!__hasOwnProp.call(to, key) && key !== except)
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
}
return to;
};
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
// index.ts
var h5p_utils_exports = {};
__export(h5p_utils_exports, {
H5P: () => H5P,
H5PContentType: () => H5PContentType,
H5PEditor: () => H5PEditor,
H5PResumableContentType: () => H5PResumableContentType,
H5PWidget: () => H5PWidget,
getAbsoluteUrlFromRelativePath: () => getAbsoluteUrlFromRelativePath,
getImageUrl: () => getImageUrl,
registerContentType: () => registerContentType,
registerWidget: () => registerWidget
});
module.exports = __toCommonJS(h5p_utils_exports);
// src/utils/H5P.utils.ts
var H5P = window.H5P ?? {};
var H5PEditor = window.H5PEditor ?? {};
var getAbsoluteUrlFromRelativePath = (path) => {
return H5P.getPath(path, H5PEditor.contentId);
};
var getImageUrl = (imagePath) => {
if (!imagePath) {
return null;
}
const imagePathIsAbsolute = imagePath.startsWith("http://") || imagePath.startsWith("https://");
const imageUrl = imagePathIsAbsolute ? imagePath : getAbsoluteUrlFromRelativePath(imagePath);
return imageUrl;
};
var registerContentType = (name, contentType) => {
H5P[name] = contentType;
};
var registerWidget = (h5pName, widgetName, widget) => {
H5PEditor[h5pName] = widget;
H5PEditor.widgets[widgetName] = widget;
};
// src/models/H5PContentType.ts
var H5PContentType = class extends H5P.EventDispatcher {
constructor(params, contentId, extras) {
super();
this.params = params;
this.contentId = contentId;
this.extras = extras;
this.wrapper = document.createElement("div");
}
wrapper;
};
// src/models/H5PWidget.ts
var H5PWidget = class extends H5P.EventDispatcher {
constructor(parent, field, params, setValue) {
super();
this.parent = parent;
this.field = field;
this.params = params;
this.setValue = setValue;
this.wrapper = document.createElement("div");
}
wrapper;
};
// src/models/H5PResumableContentType.ts
var H5PResumableContentType = class extends H5PContentType {
extras;
state;
constructor(params, contentId, extras) {
super(params, contentId, extras);
this.extras = extras;
this.state = extras?.previousState;
}
};
// Annotate the CommonJS export names for ESM import in node:
0 && (module.exports = {
H5P,
H5PContentType,
H5PEditor,
H5PResumableContentType,
H5PWidget,
getAbsoluteUrlFromRelativePath,
getImageUrl,
registerContentType,
registerWidget
});