Änderungen admin
This commit is contained in:
178
test/node_modules/bootstrap/js/dist/util/template-factory.js
generated
vendored
Normal file
178
test/node_modules/bootstrap/js/dist/util/template-factory.js
generated
vendored
Normal file
@ -0,0 +1,178 @@
|
||||
/*!
|
||||
* Bootstrap template-factory.js v5.2.3 (https://getbootstrap.com/)
|
||||
* Copyright 2011-2022 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
*/
|
||||
(function (global, factory) {
|
||||
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('./sanitizer'), require('./index'), require('../dom/selector-engine'), require('./config')) :
|
||||
typeof define === 'function' && define.amd ? define(['./sanitizer', './index', '../dom/selector-engine', './config'], factory) :
|
||||
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.TemplateFactory = factory(global.Sanitizer, global.Index, global.SelectorEngine, global.Config));
|
||||
})(this, (function (sanitizer, index, SelectorEngine, Config) { 'use strict';
|
||||
|
||||
const _interopDefaultLegacy = e => e && typeof e === 'object' && 'default' in e ? e : { default: e };
|
||||
|
||||
const SelectorEngine__default = /*#__PURE__*/_interopDefaultLegacy(SelectorEngine);
|
||||
const Config__default = /*#__PURE__*/_interopDefaultLegacy(Config);
|
||||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v5.2.3): util/template-factory.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
/**
|
||||
* Constants
|
||||
*/
|
||||
|
||||
const NAME = 'TemplateFactory';
|
||||
const Default = {
|
||||
allowList: sanitizer.DefaultAllowlist,
|
||||
content: {},
|
||||
// { selector : text , selector2 : text2 , }
|
||||
extraClass: '',
|
||||
html: false,
|
||||
sanitize: true,
|
||||
sanitizeFn: null,
|
||||
template: '<div></div>'
|
||||
};
|
||||
const DefaultType = {
|
||||
allowList: 'object',
|
||||
content: 'object',
|
||||
extraClass: '(string|function)',
|
||||
html: 'boolean',
|
||||
sanitize: 'boolean',
|
||||
sanitizeFn: '(null|function)',
|
||||
template: 'string'
|
||||
};
|
||||
const DefaultContentType = {
|
||||
entry: '(string|element|function|null)',
|
||||
selector: '(string|element)'
|
||||
};
|
||||
/**
|
||||
* Class definition
|
||||
*/
|
||||
|
||||
class TemplateFactory extends Config__default.default {
|
||||
constructor(config) {
|
||||
super();
|
||||
this._config = this._getConfig(config);
|
||||
} // Getters
|
||||
|
||||
|
||||
static get Default() {
|
||||
return Default;
|
||||
}
|
||||
|
||||
static get DefaultType() {
|
||||
return DefaultType;
|
||||
}
|
||||
|
||||
static get NAME() {
|
||||
return NAME;
|
||||
} // Public
|
||||
|
||||
|
||||
getContent() {
|
||||
return Object.values(this._config.content).map(config => this._resolvePossibleFunction(config)).filter(Boolean);
|
||||
}
|
||||
|
||||
hasContent() {
|
||||
return this.getContent().length > 0;
|
||||
}
|
||||
|
||||
changeContent(content) {
|
||||
this._checkContent(content);
|
||||
|
||||
this._config.content = { ...this._config.content,
|
||||
...content
|
||||
};
|
||||
return this;
|
||||
}
|
||||
|
||||
toHtml() {
|
||||
const templateWrapper = document.createElement('div');
|
||||
templateWrapper.innerHTML = this._maybeSanitize(this._config.template);
|
||||
|
||||
for (const [selector, text] of Object.entries(this._config.content)) {
|
||||
this._setContent(templateWrapper, text, selector);
|
||||
}
|
||||
|
||||
const template = templateWrapper.children[0];
|
||||
|
||||
const extraClass = this._resolvePossibleFunction(this._config.extraClass);
|
||||
|
||||
if (extraClass) {
|
||||
template.classList.add(...extraClass.split(' '));
|
||||
}
|
||||
|
||||
return template;
|
||||
} // Private
|
||||
|
||||
|
||||
_typeCheckConfig(config) {
|
||||
super._typeCheckConfig(config);
|
||||
|
||||
this._checkContent(config.content);
|
||||
}
|
||||
|
||||
_checkContent(arg) {
|
||||
for (const [selector, content] of Object.entries(arg)) {
|
||||
super._typeCheckConfig({
|
||||
selector,
|
||||
entry: content
|
||||
}, DefaultContentType);
|
||||
}
|
||||
}
|
||||
|
||||
_setContent(template, content, selector) {
|
||||
const templateElement = SelectorEngine__default.default.findOne(selector, template);
|
||||
|
||||
if (!templateElement) {
|
||||
return;
|
||||
}
|
||||
|
||||
content = this._resolvePossibleFunction(content);
|
||||
|
||||
if (!content) {
|
||||
templateElement.remove();
|
||||
return;
|
||||
}
|
||||
|
||||
if (index.isElement(content)) {
|
||||
this._putElementInTemplate(index.getElement(content), templateElement);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
if (this._config.html) {
|
||||
templateElement.innerHTML = this._maybeSanitize(content);
|
||||
return;
|
||||
}
|
||||
|
||||
templateElement.textContent = content;
|
||||
}
|
||||
|
||||
_maybeSanitize(arg) {
|
||||
return this._config.sanitize ? sanitizer.sanitizeHtml(arg, this._config.allowList, this._config.sanitizeFn) : arg;
|
||||
}
|
||||
|
||||
_resolvePossibleFunction(arg) {
|
||||
return typeof arg === 'function' ? arg(this) : arg;
|
||||
}
|
||||
|
||||
_putElementInTemplate(element, templateElement) {
|
||||
if (this._config.html) {
|
||||
templateElement.innerHTML = '';
|
||||
templateElement.append(element);
|
||||
return;
|
||||
}
|
||||
|
||||
templateElement.textContent = element.textContent;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return TemplateFactory;
|
||||
|
||||
}));
|
||||
//# sourceMappingURL=template-factory.js.map
|
Reference in New Issue
Block a user