Skip to content

Commit

Permalink
Merge pull request #81 from jacobxperez/develop
Browse files Browse the repository at this point in the history
Fix docs
  • Loading branch information
jacobxperez authored May 18, 2024
2 parents bd934c5 + 097e906 commit 014beb0
Show file tree
Hide file tree
Showing 3 changed files with 22 additions and 20 deletions.
4 changes: 2 additions & 2 deletions docs/index.880915d0.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 1 addition & 2 deletions src/docs/js/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -46,8 +46,7 @@ document.addEventListener('DOMContentLoaded', () => {

// parse everything together
templateGenerator
.newTemplate(
`
.newTemplate(`
<nav data-navbar="top">
</nav>
<header data-section="header">
Expand Down
35 changes: 19 additions & 16 deletions src/js/rams/core/components/templateGenerator.js
Original file line number Diff line number Diff line change
@@ -1,34 +1,35 @@
templateGenerator = {
_appendString(string, targetSelector) {
class TemplateGenerator {
constructor() {}
#appendString(string, targetSelector) {
const targetElement = document.querySelector(targetSelector);
targetElement.insertAdjacentHTML('beforeend', string);
},
_appendTemplate(sourceElement, templateSelector, targetSelector) {
}
#appendTemplate(sourceElement, templateSelector, targetSelector) {
const sourceTemplate = sourceElement.querySelector(templateSelector);
const clonedTemplate = sourceTemplate.content.cloneNode(true);
const targetElement = document.querySelector(targetSelector);
targetElement.appendChild(clonedTemplate);
// sourceTemplate.remove();
},
_parseTemplate(string, templateSelector, targetSelector) {
}
#parseTemplate(string, templateSelector, targetSelector) {
const parser = new DOMParser();
const parsedSource = parser.parseFromString(string, 'text/html');
this._appendTemplate(parsedSource, templateSelector, targetSelector);
},
this.#appendTemplate(parsedSource, templateSelector, targetSelector);
}
newTemplate(html, id) {
const newTemplate = document.createElement('template');
newTemplate.innerHTML = html.trim();
newTemplate.content.firstElementChild;
newTemplate.setAttribute('id', id);
document.body.appendChild(newTemplate);
return this;
},
}
setTemplate(templateSelector, targetSelector, callback = null) {
new Promise((resolve, reject) => {
templateSelector ? resolve() : reject();
})
.then(() =>
this._appendTemplate(document, templateSelector, targetSelector)
this.#appendTemplate(document, templateSelector, targetSelector)
)
.then(() => {
if (typeof callback === 'function') {
Expand All @@ -38,7 +39,7 @@ templateGenerator = {
.catch((err) => console.error(err, 'Error: Template not found'));

return this;
},
}
fromString(string, targetSelector, callback = null) {
new Promise((resolve, reject) => {
typeof string === 'string'
Expand All @@ -54,13 +55,13 @@ templateGenerator = {
.catch((err) => console.error(err));

return this;
},
}
fetchTemplate(templateSelector, targetSelector, url, callback = null) {
(async () => {
try {
let response = await fetch(url);
let fetchURL = await response.text();
this._parseTemplate(fetchURL, templateSelector, targetSelector);
this.#parseTemplate(fetchURL, templateSelector, targetSelector);
if (typeof callback === 'function') {
callback();
}
Expand All @@ -70,13 +71,15 @@ templateGenerator = {
})();

return this;
},
}
removeTemplates() {
const allTemplates = document.querySelectorAll('template');
allTemplates.forEach((template) => {
template.remove();
});
},
};
}
}

const templateGenerator = new TemplateGenerator();

export {templateGenerator};

0 comments on commit 014beb0

Please sign in to comment.