mywiki/js/script.js
2022-04-13 22:54:23 +00:00

76 lines
2.4 KiB
JavaScript

const appName = 'MyWiki';
class WikiEditor {
load(wikiId, wikiPageId) {
console.info(`JDG :: Loading Wiki ${wikiId}/${wikiPageId}`);
}
}
var MyWiki = MyWiki || {};
(function(window, $, exports, undefined) {
'use strict';
// Navigation menu --------------------------------
function appNavigationEntryMenuClose() {
document.querySelectorAll('.app-navigation-entry-menu').forEach(e=>e.classList.remove("open"));
}
document.addEventListener('click', e=>{
if (e.target.tagName === 'BUTTON' ) {
const li = e.target.parentNode?.parentNode?.closest('li');
if (!li) return;
const menu = li.querySelector(".app-navigation-entry-menu");
if (!menu) return;
if ( menu.classList.contains("open") ) {
menu.classList.remove("open");
} else {
appNavigationEntryMenuClose();
menu.classList.add("open");
}
return;
}
appNavigationEntryMenuClose();
})
// ------------------------------------------------
let wikiPages = new WikiPages(document.querySelector('li[data-id="pages"]').parentNode, onSelectWikiPage);
let wikiNavigation = new WikiNavigation(document.querySelector('li[data-id="wikis"]'),
wikiId => wikiPages.load(wikiId),
e=>wikiPages.onClickAdd(e)
);
function onSelectWikiPage(wikiPageId) {
console.info(`JDG :: WikiPage selected ${wikiPageId}` );
if ( wikiPageId > 0 ) {
// wikiEditor.load(wikiPage.getWikiId(), wikiPageId );
}
}
// ---------------------------------------------------------------------------------
$(`#${appName}-test`).on('click',test);
function test() {
var baseUrl = OC.generateUrl('/apps/mywiki/wikis');
$.ajax({
url: baseUrl + '/test',
type: 'GET',
contentType: 'application/json'
}).done(function (response) {
// handle success
$('output').html(response);
}).fail(function (response, code) {
// handle failure
$('output').html('<h2>'+response.statusText+'</h2><code>'+response.responseText+'</code>');
});
}
// ---------------------------------------------------------------------------------
})(window, jQuery, MyWiki);