| Server IP : 209.209.40.120 / Your IP : 216.73.217.112 Web Server : Microsoft-IIS/10.0 System : Windows NT NEWWWW 10.0 build 17763 (Windows Server 2019) i586 User : NEWWWW$ ( 0) PHP Version : 8.3.30 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : C:/framework7/node_modules/framework7/components/treeview/ |
Upload File : |
import $ from '../../shared/dom7.js';
import { bindMethods, iosPreloaderContent, mdPreloaderContent } from '../../shared/utils.js';
const Treeview = {
open(itemEl) {
const app = this;
const $itemEl = $(itemEl).eq(0);
if (!$itemEl.length) return;
$itemEl.addClass('treeview-item-opened');
$itemEl.trigger('treeview:open');
app.emit('treeviewOpen', $itemEl[0]);
function done(cancel) {
if (cancel) {
$itemEl.removeClass('treeview-item-opened');
$itemEl.trigger('treeview:close');
app.emit('treeviewClose', $itemEl[0]);
} else {
$itemEl[0].f7TreeviewChildrenLoaded = true;
}
$itemEl.find('.treeview-toggle').removeClass('treeview-toggle-hidden');
$itemEl.find('.treeview-preloader').remove();
}
if ($itemEl.hasClass('treeview-load-children') && !$itemEl[0].f7TreeviewChildrenLoaded) {
const preloaders = {
iosPreloaderContent,
mdPreloaderContent
};
$itemEl.trigger('treeview:loadchildren', done);
app.emit('treeviewLoadChildren', $itemEl[0], done);
$itemEl.find('.treeview-toggle').addClass('treeview-toggle-hidden');
$itemEl.find('.treeview-item-root').prepend(`<div class="preloader treeview-preloader">${preloaders[`${app.theme}PreloaderContent`]}</div>`);
}
},
close(itemEl) {
const app = this;
const $itemEl = $(itemEl).eq(0);
if (!$itemEl.length) return;
$itemEl.removeClass('treeview-item-opened');
$itemEl.trigger('treeview:close');
app.emit('treeviewClose', $itemEl[0]);
},
toggle(itemEl) {
const app = this;
const $itemEl = $(itemEl).eq(0);
if (!$itemEl.length) return;
const wasOpened = $itemEl.hasClass('treeview-item-opened');
app.treeview[wasOpened ? 'close' : 'open']($itemEl);
}
};
export default {
name: 'treeview',
create() {
const app = this;
bindMethods(app, {
treeview: Treeview
});
},
clicks: {
'.treeview-toggle': function toggle($clickedEl, clickedData, e) {
const app = this;
if ($clickedEl.parents('.treeview-item-toggle').length) return;
const $treeviewItemEl = $clickedEl.parents('.treeview-item').eq(0);
if (!$treeviewItemEl.length) return;
e.preventF7Router = true;
app.treeview.toggle($treeviewItemEl[0]);
},
'.treeview-item-toggle': function toggle($clickedEl, clickedData, e) {
const app = this;
const $treeviewItemEl = $clickedEl.closest('.treeview-item').eq(0);
if (!$treeviewItemEl.length) return;
e.preventF7Router = true;
app.treeview.toggle($treeviewItemEl[0]);
}
}
};