webworld888/assets/core/plugin/js/plugin-index.js
2021-10-26 19:14:12 +09:00

155 lines
4.0 KiB
JavaScript
Vendored

window.jQuery(function ($) {
var PluginManager = (function (XE) {
var self
return {
init: function () {
self = this
self.cache()
self.bindEvents()
self.reset()
return this
},
cache: function () {
self.$manage = $('.__xe_manage_plugin')
self.$update = $('.__xe_update_plugin')
self.$remove = $('.__xe_remove_plugin')
self.$activate = $('.__xe_activate_plugin')
self.$deactivate = $('.__xe_deactivate_plugin')
self.$checkAll = $('.__xe_check_all')
self.$checkboxes = $('.__xe_checkbox')
self.$makePlugin = $('.__xe_make_plugin')
self.$makeTheme = $('.__xe_make_theme')
self.$makeSkin = $('.__xe_make_skin')
},
bindEvents: function () {
self.$checkAll.on('click', self.checkAll)
self.$checkboxes.on('change', self.check)
self.$remove.on('click', self.remove)
self.$activate.on('click', self.activate)
self.$deactivate.on('click', self.deactivate)
self.$update.on('click', self.update)
self.$makePlugin.on('click', self.makePlugin)
self.$makeTheme.on('click', self.makeTheme)
self.$makeSkin.on('click', self.makeSkin)
},
reset: function () {
var $checked = $('.__xe_checkbox:checked')
if ($checked.length) {
$('.__xe_controll_btn .btn').removeAttr('disabled')
} else {
$('.__xe_controll_btn .btn').attr('disabled', 'disabled')
}
},
checkAll: function (e) {
if ($(this).hasClass('on')) {
$(this).removeClass('on')
$('.__xe_checkbox').prop('checked', false)
} else {
$(this).addClass('on')
$('.__xe_checkbox').prop('checked', true)
}
self.reset()
},
check: function (e) {
self.reset()
},
checkedList: function () {
return $('input.__xe_checkbox:checked').map(function () {
return this.value
}).get()
},
remove: function () {
var pluginIds = []
if ($(this).data('plugin-id')) {
pluginIds = [$(this).data('plugin-id')]
} else {
pluginIds = self.checkedList()
}
if (pluginIds.length === 0) {
return false
}
var options = {
'data': {
'pluginId': pluginIds.join()
}
}
var url = self.$remove.attr('href')
XE.pageModal(url, options)
return false
},
activate: function () {
var pluginIds = []
if ($(this).data('plugin-id')) {
pluginIds = [$(this).data('plugin-id')]
} else {
pluginIds = self.checkedList()
}
if (pluginIds.length === 0) {
return false
}
var options = {
'data': {
'pluginId': pluginIds.join()
}
}
var url = self.$activate.attr('href')
XE.pageModal(url, options)
return false
},
deactivate: function () {
var pluginIds = []
if ($(this).data('plugin-id')) {
pluginIds = [$(this).data('plugin-id')]
} else {
pluginIds = self.checkedList()
}
if (pluginIds.length === 0) {
return false
}
var options = {
'data': {
'pluginId': pluginIds.join()
}
}
var url = self.$deactivate.attr('href')
XE.pageModal(url, options)
return false
},
update: function () {
var url = self.$update.attr('href')
XE.pageModal(url)
return false
},
makePlugin: function () {
var url = self.$makePlugin.attr('href')
XE.pageModal(url)
return false
},
makeTheme: function () {
var url = self.$makeTheme.attr('href')
XE.pageModal(url)
return false
},
makeSkin: function () {
var url = self.$makeSkin.attr('href')
XE.pageModal(url)
return false
}
}
})(window.XE).init()
})