woltlab-compiler
Version:
A compiler for WoltLab-Package Archives and WoltLab-Package Components
42 lines • 1.57 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const util_1 = require("util");
const XMLEditor_1 = require("../../Serialization/XMLEditor");
const OptionFileCompiler_1 = require("./OptionFileCompiler");
/**
* Provides the functionality to compiler user-option files.
*/
class UserOptionFileCompiler extends OptionFileCompiler_1.OptionFileCompiler {
/**
* Initializes a new instance of the `UserOptionFileCompiler` class.
*
* @param item
* The item to compile.
*/
constructor(item) {
super(item);
}
/**
* @inheritdoc
*/
get SchemaLocation() {
return "http://www.woltlab.com/XSD/tornado/userOption.xsd";
}
/**
* @inheritdoc
*/
CreateOption(option) {
let editor = new XMLEditor_1.XMLEditor(super.CreateOption(option));
editor.AddTextElement("required", option.Required ? "1" : "0");
editor.AddTextElement("askduringregistration", option.AskOnRegistration ? "1" : "0");
editor.AddTextElement("editable", option.EditPermissions.toString());
editor.AddTextElement("visible", option.ViewPermissions.toString());
editor.AddTextElement("searchable", option.Searchable ? "1" : "0");
if (!util_1.isNullOrUndefined(option.OutputClass)) {
editor.AddTextElement("outputclass", option.OutputClass);
}
return editor.Element;
}
}
exports.UserOptionFileCompiler = UserOptionFileCompiler;
//# sourceMappingURL=UserOptionFileCompiler.js.map