mirror of
https://github.com/lrsjng/h5ai.git
synced 2025-05-31 07:18:21 -04:00
Improves event system.
This commit is contained in:
parent
aded72363a
commit
34eed09537
13 changed files with 98 additions and 130 deletions
|
@ -1,5 +1,5 @@
|
|||
|
||||
modulejs.define('ext/autorefresh', ['_', '$', 'core/settings', 'core/event', 'core/refresh'], function (_, $, allsettings, event, refresh) {
|
||||
modulejs.define('ext/autorefresh', ['_', '$', 'core/settings', 'core/event', 'core/location'], function (_, $, allsettings, event, location) {
|
||||
|
||||
var settings = _.extend({
|
||||
enabled: false,
|
||||
|
@ -8,7 +8,7 @@ modulejs.define('ext/autorefresh', ['_', '$', 'core/settings', 'core/event', 'co
|
|||
|
||||
heartbeat = function () {
|
||||
|
||||
refresh();
|
||||
location.refresh();
|
||||
setTimeout(heartbeat, settings.interval);
|
||||
},
|
||||
|
||||
|
|
|
@ -14,7 +14,6 @@ modulejs.define('ext/crumb', ['_', '$', 'core/settings', 'core/resource', 'core/
|
|||
pageHintTemplate = '<img class="hint" src="' + resource.image('page') + '" alt="has index page"/>',
|
||||
statusHintTemplate = '<span class="hint"/>',
|
||||
|
||||
// updates the crumb for this single entry
|
||||
update = function (entry, force) {
|
||||
|
||||
if (!force && entry.$crumb && entry.$crumb.data('status') === entry.status) {
|
||||
|
@ -62,13 +61,6 @@ modulejs.define('ext/crumb', ['_', '$', 'core/settings', 'core/resource', 'core/
|
|||
return $html;
|
||||
},
|
||||
|
||||
onContentChanged = function (entry) {
|
||||
|
||||
if (entry.$crumb) {
|
||||
update(entry, true);
|
||||
}
|
||||
},
|
||||
|
||||
onLocationChanged = function (item) {
|
||||
|
||||
var crumb = item.getCrumb(),
|
||||
|
@ -101,10 +93,6 @@ modulejs.define('ext/crumb', ['_', '$', 'core/settings', 'core/resource', 'core/
|
|||
return;
|
||||
}
|
||||
|
||||
// event.sub('entry.created', onContentChanged);
|
||||
// event.sub('entry.removed', onContentChanged);
|
||||
event.sub('entry.changed', onContentChanged);
|
||||
|
||||
event.sub('location.changed', onLocationChanged);
|
||||
};
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
|
||||
modulejs.define('ext/delete', ['_', '$', 'core/settings', 'core/event', 'core/resource', 'core/refresh', 'core/server'], function (_, $, allsettings, event, resource, refresh, server) {
|
||||
modulejs.define('ext/delete', ['_', '$', 'core/settings', 'core/event', 'core/resource', 'core/location', 'core/server'], function (_, $, allsettings, event, resource, location, server) {
|
||||
|
||||
var settings = _.extend({
|
||||
enabled: false
|
||||
|
@ -31,7 +31,7 @@ modulejs.define('ext/delete', ['_', '$', 'core/settings', 'core/event', 'core/re
|
|||
if (!json || json.code) {
|
||||
failed();
|
||||
}
|
||||
refresh();
|
||||
location.refresh();
|
||||
},
|
||||
|
||||
requestDeletion = function (hrefsStr) {
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
|
||||
modulejs.define('ext/dropbox', ['_', '$', 'core/settings', 'core/location', 'core/refresh', 'core/server'], function (_, $, allsettings, location, refresh, server) {
|
||||
modulejs.define('ext/dropbox', ['_', '$', 'core/settings', 'core/location', 'core/server'], function (_, $, allsettings, location, server) {
|
||||
|
||||
var settings = _.extend({
|
||||
enabled: false,
|
||||
|
@ -99,7 +99,7 @@ modulejs.define('ext/dropbox', ['_', '$', 'core/settings', 'core/location', 'cor
|
|||
|
||||
afterAll: function () {
|
||||
|
||||
refresh();
|
||||
location.refresh();
|
||||
},
|
||||
|
||||
error: function (err, file) {
|
||||
|
|
|
@ -143,8 +143,8 @@ modulejs.define('ext/sort', ['_', '$', 'core/settings', 'core/resource', 'core/e
|
|||
event.preventDefault();
|
||||
});
|
||||
|
||||
event.sub('entry.changed', onContentChanged);
|
||||
event.sub('entry.created', onContentChanged);
|
||||
event.sub('location.changed', onContentChanged);
|
||||
event.sub('location.refreshed', onContentChanged);
|
||||
};
|
||||
|
||||
init();
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
|
||||
modulejs.define('ext/statusbar', ['_', '$', 'core/settings', 'core/format', 'core/event', 'core/location'], function (_, $, allsettings, format, event, location) {
|
||||
modulejs.define('ext/statusbar', ['_', '$', 'core/settings', 'core/format', 'core/event'], function (_, $, allsettings, format, event) {
|
||||
|
||||
var settings = _.extend({
|
||||
enabled: false
|
||||
|
@ -37,36 +37,22 @@ modulejs.define('ext/statusbar', ['_', '$', 'core/settings', 'core/format', 'cor
|
|||
|
||||
var $statusbar = $(template),
|
||||
$folderTotal = $statusbar.find('.folderTotal'),
|
||||
$fileTotal = $statusbar.find('.fileTotal');
|
||||
$fileTotal = $statusbar.find('.fileTotal'),
|
||||
onLocationChanged = function (item) {
|
||||
|
||||
var stats = item.getStats();
|
||||
$folderTotal.text(stats.folders);
|
||||
$fileTotal.text(stats.files);
|
||||
};
|
||||
|
||||
$statusDefault = $statusbar.find('.status.default');
|
||||
$statusDynamic = $statusbar.find('.status.dynamic');
|
||||
|
||||
event.sub('location.changed', function (item) {
|
||||
|
||||
var stats = item.getStats();
|
||||
$folderTotal.text(stats.folders);
|
||||
$fileTotal.text(stats.files);
|
||||
|
||||
update();
|
||||
});
|
||||
|
||||
event.sub('statusbar', update);
|
||||
$('#bottombar > .center').append($statusbar);
|
||||
|
||||
event.sub('entry.created', function () {
|
||||
|
||||
var stats = location.getItem().getStats();
|
||||
$folderTotal.text(stats.folders);
|
||||
$fileTotal.text(stats.files);
|
||||
});
|
||||
|
||||
event.sub('entry.removed', function () {
|
||||
|
||||
var stats = location.getItem().getStats();
|
||||
$folderTotal.text(stats.folders);
|
||||
$fileTotal.text(stats.files);
|
||||
});
|
||||
event.sub('statusbar', update);
|
||||
event.sub('location.changed', onLocationChanged);
|
||||
event.sub('location.refreshed', onLocationChanged);
|
||||
|
||||
event.sub('entry.mouseenter', function (entry) {
|
||||
|
||||
|
|
|
@ -20,7 +20,6 @@ modulejs.define('ext/tree', ['_', '$', 'core/settings', 'core/resource', 'core/e
|
|||
|
||||
magicSequence = '=h5ai=',
|
||||
|
||||
// updates the tree for this single entry
|
||||
update = function (entry) {
|
||||
|
||||
var $html = $(template),
|
||||
|
@ -223,7 +222,6 @@ modulejs.define('ext/tree', ['_', '$', 'core/settings', 'core/resource', 'core/e
|
|||
});
|
||||
},
|
||||
|
||||
// creates the complete tree from entry down to the root
|
||||
init = function () {
|
||||
|
||||
if (!settings.enabled) {
|
||||
|
@ -243,14 +241,8 @@ modulejs.define('ext/tree', ['_', '$', 'core/settings', 'core/resource', 'core/e
|
|||
shiftTree();
|
||||
});
|
||||
|
||||
event.sub('location.changed', onLocationChanged);
|
||||
|
||||
// strong negative performance impact in aai mode
|
||||
// event.sub('entry.changed', onContentChanged);
|
||||
// event.sub('entry.created', onContentChanged);
|
||||
// event.sub('entry.removed', onContentChanged);
|
||||
|
||||
event.sub('ready', adjustSpacing);
|
||||
event.sub('location.changed', onLocationChanged);
|
||||
|
||||
$(window).on('resize', function () {
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue