aboutsummaryrefslogtreecommitdiffstats
path: root/plugins/AdminTools/template/public_controller.js
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/AdminTools/template/public_controller.js')
-rw-r--r--plugins/AdminTools/template/public_controller.js331
1 files changed, 0 insertions, 331 deletions
diff --git a/plugins/AdminTools/template/public_controller.js b/plugins/AdminTools/template/public_controller.js
deleted file mode 100644
index 7a61b5c9c..000000000
--- a/plugins/AdminTools/template/public_controller.js
+++ /dev/null
@@ -1,331 +0,0 @@
-var AdminTools = function($) {
- var __this = this;
-
- this.urlWS;
- this.urlSelf;
- this.multiView;
-
- var $ato = $('#ato_header'),
- $ato_closed = $('#ato_header_closed'),
- ato_height = 28; // normal height, real height conputed on init()
-
- // move to whole page down or up
- function moveBody(dir, anim) {
- var operator = dir=='show' ? '+=' : '-=';
-
- if (anim) {
- $('body').animate({'margin-top': operator+ato_height});
-
- if ($('#the_page, [data-role="page"]').css('position')=='absolute') {
- $('#the_page, [data-role="page"]').animate({'top': operator+ato_height});
- }
- }
- else {
- $('body').css({'margin-top': operator+ato_height});
-
- if ($('#the_page, [data-role="page"]').css('position')=='absolute') {
- $('#the_page, [data-role="page"]').css({'top': operator+ato_height});
- }
- }
- }
-
- // fill multiview selects
- // data came from AJAX request or sessionStorage
- function populateMultiView() {
- var $multiview = $ato.find('.multiview');
-
- if ($multiview.data('init')) return;
-
- var render = function(data) {
- var html = '';
- $.each(data.users, function(i, user) {
- html+= '<option value="'+ user.id +'">'+ user.username +'</option>';
- });
- $multiview.find('select[data-type="view_as"]').html(html)
- .val(__this.multiView.view_as);
-
- html = '';
- $.each(data.themes, function(i, theme) {
- html+= '<option value="'+ theme +'">'+ theme +'</option>';
- });
- $multiview.find('select[data-type="theme"]').html(html)
- .val(__this.multiView.theme);
-
- html = '';
- $.each(data.languages, function(i, language) {
- html+= '<option value="'+ language.id +'">'+ language.name +'</option>';
- });
- $multiview.find('select[data-type="lang"]').html(html)
- .val(__this.multiView.lang);
-
- $multiview.data('init', true);
-
- $multiview.find('.switcher').show();
- };
-
- if ('sessionStorage' in window && window.sessionStorage.multiView != undefined) {
- render(JSON.parse(window.sessionStorage.multiView));
- }
- else {
- $.ajax({
- method: 'POST',
- url: __this.urlWS + 'multiView.getData',
- dataType: 'json',
- success: function(data) {
- render(data.result);
- if ('sessionStorage' in window) {
- window.sessionStorage.multiView = JSON.stringify(data.result);
- }
- },
- error: function(xhr, text, error) {
- alert(text + ' ' + error);
- }
- });
- }
- }
-
- // delete session cache
- this.deleteCache = function() {
- if ('sessionStorage' in window) {
- window.sessionStorage.removeItem('multiView');
- }
- };
-
- // move close button to smartpocket toolbar
- this.initMobile = function() {
- var $headerbar = $('div[data-role="header"] .title');
- if ($headerbar.length == 1) {
- $ato_closed.addClass('smartpocket');
- $ato_closed.find('a').attr({
- 'data-iconpos':'notext',
- 'data-role':'button'
- });
- $headerbar.prepend($ato_closed);
- }
- };
-
- // attach jquery handlers
- this.init = function(open) {
- $('body').prepend($ato); // ensure the bar is at the begining
-
- $ato.show();
- ato_height = $ato.height();
-
- if ('localStorage' in window) {
- if (window.localStorage.ato_panel_open == null) {
- window.localStorage.ato_panel_open = open;
- }
-
- if (window.localStorage.ato_panel_open == 1) {
- moveBody('show', false);
- }
- else {
- $ato.hide();
- $ato_closed.show();
- }
- }
- else {
- $ato.show();
- moveBody('show', false);
- }
-
- /* <!-- sub menus --> */
- $ato.find('.parent').on({
- 'click': function() {
- if ($(this).hasClass('multiview')) {
- populateMultiView();
- }
- $(this).find('ul').toggle();
- },
- 'mouseleave': function(e) {
- if (e.target.tagName.toLowerCase() != "select") {
- $(this).find('ul').hide();
- }
- }
- });
- $ato.find('.parent>a').on('click', function(e) {
- e.preventDefault();
- });
- $ato.find('.parent ul').on('mouseleave', function(e) {
- if (e.target.tagName.toLowerCase() != "select") {
- $(this).hide();
- }
- });
-
- /* <!-- select boxes --> */
- $ato.find('.switcher').on({
- 'change': function() {
- window.location.href = __this.urlSelf + 'ato_'+ $(this).data('type') +'='+ $(this).val();
- },
- 'click': function(e) {
- e.stopPropagation();
- }
- });
-
- /* <!-- toggle toolbar --> */
- $ato.find('.close-panel').on('click', function(e) {
- $ato.slideUp();
- $ato_closed.slideDown();
- moveBody('hide', true);
-
- if ('localStorage' in window) window.localStorage.ato_panel_open = 0;
- e.preventDefault();
- });
-
- $ato_closed.on('click', function(e) {
- $ato.slideDown();
- $ato_closed.slideUp();
- moveBody('show', true);
-
- if ('localStorage' in window) window.localStorage.ato_panel_open = 1;
- e.preventDefault();
- });
- };
-
- // init "set as representative" button
- this.initRepresentative = function(image_id, category_id) {
- $ato.find('.set-representative').on('click', function(e) {
- if (!$(this).parent().hasClass('disabled')) {
- $(this).parent().addClass('disabled')
-
- $.ajax({
- method: 'POST',
- url: __this.urlWS + 'pwg.categories.setRepresentative',
- dataType: 'json',
- data: {
- image_id: image_id,
- category_id: category_id
- },
- success: function() {
- $ato.find('.saved').fadeIn(200).delay(1600).fadeOut(200);
- },
- error: function(xhr, text, error) {
- alert(text + ' ' + error);
- }
- });
- }
-
- e.preventDefault();
- });
- };
-
- // init "add to caddie" button
- this.initCaddie = function(image_id) {
- $ato.find('.add-caddie').on('click', function(e) {
- if (!$(this).parent().hasClass('disabled')) {
- $(this).parent().addClass('disabled')
-
- $.ajax({
- method: 'POST',
- url: __this.urlWS + 'pwg.caddie.add',
- dataType: 'json',
- data: {
- image_id: image_id
- },
- success: function() {
- $ato.find('.saved').fadeIn(200).delay(1600).fadeOut(200);
- },
- error: function(xhr, text, error) {
- alert(text + ' ' + error);
- }
- });
- }
-
- e.preventDefault();
- });
- };
-
- // init "quick edit" popup
- this.initQuickEdit = function(is_picture, tokeninput_lang) {
- var $ato_edit = $('#ato_quick_edit');
-
- // try to find background color matching text color
- // there is a 1s delay to wait for jQuery Mobile initialization
- function bgColor() {
- var bg_color = 'white';
- var selectors = ['#the_page #content', '[data-role="page"]', 'body'];
-
- for (var i=0; i<selectors.length; i++) {
- var color = $(selectors[i]).css('background-color');
- if (color && color!='transparent') {
- bg_color = color;
- break;
- }
- }
-
- $ato_edit.css('background-color', bg_color);
- }
-
- $ato_edit.find('.close-edit').on('click', function(e) {
- $.colorbox.close()
- e.preventDefault();
- });
-
- $(".edit-quick").colorbox({
- inline: true,
- transition: 'none',
- width: 500,
- maxWidth: '100%',
- top: 50,
- title: $ato_edit.attr('title'),
-
- onComplete: function() {
- setTimeout(function() {
- $('#quick_edit_name').focus();
- }, 0);
- },
-
- onOpen: function() {
- bgColor();
-
- if (is_picture) {
- $ato_edit.find('.datepicker').datepicker({
- dateFormat: 'yy-mm-dd'
- });
-
- // fetch tags list on first open
- if ($(this).data('tags-init')) return;
-
- $.ajax({
- method: 'POST',
- url: __this.urlWS + 'pwg.tags.getList',
- dataType: 'json',
- success: function(data) {
- var tags = [];
- // convert to custom format
- for (var i=0, l=data.result.tags.length; i<l; i++) {
- tags.push({
- id: '~~'+ data.result.tags[i].id +'~~',
- name: data.result.tags[i].name
- });
- }
-
- $ato_edit.find('.tags').tokenInput(
- tags,
- $.extend({
- animateDropdown: false,
- preventDuplicates: true,
- allowFreeTagging: true
- }, tokeninput_lang)
- );
-
- $.colorbox.resize();
- $(this).data('tags-init', true);
- },
- error: function(xhr, text, error) {
- alert(text + ' ' + error);
- }
- });
- }
- }
- });
-
- // Ctrl+E opens the quick edit
- Mousetrap.bind('mod+e', function(e) {
- e.preventDefault();
- $(".edit-quick").click();
- });
- };
-
- return this;
-}(jQuery); \ No newline at end of file