Merge branch 'feat/wiki' into 'main'

Feat/wiki

See merge request jjimenez/safekat!582
This commit is contained in:
Alvaro
2025-03-02 12:44:46 +00:00
10 changed files with 114 additions and 43 deletions

View File

@ -17,7 +17,7 @@ import WikiSectionForm from '../forms/WikiSectionForm.js'
class WikiEditor extends TranslationHelper{
class WikiEditor extends TranslationHelper {
constructor() {
super();
this.sectionId = $("#wiki-section-id").val();
@ -25,8 +25,7 @@ class WikiEditor extends TranslationHelper{
this.wikiFormSection = new WikiSectionForm()
this.wikiFormSection.setId(this.sectionId)
}
async initEditor()
{
async initEditor() {
this.wikiFormSection.init()
await this.get_translations("Wiki")
@ -107,46 +106,48 @@ class WikiEditor extends TranslationHelper{
},
})
}
async initViewOnly()
{
async initViewOnly() {
try {
await this.initEditor()
await this.editor.isReady;
this.handleGetDataPublished();
} catch (reason) {
console.log(`Editor.js initialization failed because of ${reason}`)
}
}
}
async init() {
try {
await this.initEditor()
$('#release-editor').attr('disabled', 'disabled')
$('#save-editor').attr('disabled', 'disabled')
await this.editor.isReady;
new DragDrop(this.editor);
/** Do anything you need after editor initialization */
$('#save-editor').on('click', () => {
this.editor.save().then(outputData => {
alertConfirmAction(this.get_lang('save_content')).then(result => {
if (result.isConfirmed) {
this.handleSaveContent(outputData)
}
});
})
this.editor.save().then(outputData => {
alertConfirmAction(this.get_lang('save_content')).then(result => {
if (result.isConfirmed) {
this.handleSaveContent(outputData)
}
});
})
})
$('#release-editor').on('click', () => {
this.editor.save().then(outputData => {
alertConfirmAction('Publicar contenido').then(result => {
if (result.isConfirmed) {
this.handlePublishContent(outputData)
}
console.log(result)
});
}).catch((error) => {
alertError(this.get_lang('need_editor_to_save')).fire()
})
this.editor.save().then(outputData => {
alertConfirmAction(this.get_lang('release_content')).then(result => {
if (result.isConfirmed) {
this.handlePublishContent(outputData)
}
console.log(result)
});
}).catch((error) => {
alertError(this.get_lang('need_editor_to_save')).fire()
})
})
$('#preview-editor').on('click', () => {
this.editor.readOnly.toggle()
$('#edit-editor').removeClass('d-none')
@ -155,12 +156,12 @@ class WikiEditor extends TranslationHelper{
$('#save-editor').attr('disabled', 'disabled')
})
$('#edit-editor').on('click', () => {
this.editor.readOnly.toggle()
$('#edit-editor').addClass('d-none')
$('#preview-editor').removeClass('d-none')
$('#release-editor').attr('disabled', null)
$('#save-editor').attr('disabled', null)
this.editor.readOnly.toggle()
})
this.handleGetData();
} catch (reason) {
@ -242,13 +243,13 @@ class WikiEditor extends TranslationHelper{
this.handleGetData()
}
handleSaveContentError(response) { }
centerImages(){
centerImages() {
setInterval(() => {
$(".image-tool img").css('margin','0 auto')
$(".image-tool__caption").css('margin','0 auto').css('border','none').css('text-align','center').css('box-shadow','none')
$(".image-tool img").css('margin', '0 auto')
$(".image-tool__caption").css('margin', '0 auto').css('border', 'none').css('text-align', 'center').css('box-shadow', 'none')
},500)
}, 500)
}
}

View File

@ -8,7 +8,9 @@ class WikiSectionForm {
this.btnNew = $("#submit-new-section")
this.btnUpdate = $("#submit-update-section")
this.btnDelete = $("#delete-section")
this.name = this.item.find('#section-name')
this.nameEs = this.item.find('#section-name-es')
this.nameEn = this.item.find('#section-name-en')
this.icon = this.item.find('#section-icon')
this.roles = this.item.find('#section-roles').select2({
dropdownParent: this.item.parent()
@ -61,7 +63,11 @@ class WikiSectionForm {
}
getFormData() {
return {
name: this.name.val(),
name: {
es : this.nameEs.val(),
en : this.nameEn.val(),
},
icon: this.icon.val(),
roles: this.roles.val()
}
@ -128,7 +134,8 @@ class WikiSectionForm {
const sectionData = await this.handleShowSection()
if (sectionData) {
console.log(sectionData)
this.name.val(sectionData.data.name)
this.nameEs.val(sectionData.data.name?.es)
this.nameEn.val(sectionData.data.name?.en)
this.icon.val(sectionData.data.icon).trigger('change')
this.roles.val(sectionData.data.roles_array).trigger('change')
}
@ -158,7 +165,8 @@ class WikiSectionForm {
})
}
empty() {
this.name.val(null)
this.nameEs.val(null)
this.nameEn.val(null)
this.icon.val("").trigger('change')
this.roles.val("").trigger('change')