| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049 |
- /*jslint browser: true*/
- /*global $, jQuery, alert*/
- var idleTime = 0;
- var hasCookie = false;
- $(document).ajaxComplete(function () {
- pageLoad();
- });
- $(document).ready(function () {
- pageLoad();
- var clipboard = new Clipboard('.clipboard');
- clipboard.on('success', function(e) {
- message('Clipboard',e.text,'bottom-right','#FFF','info','5000');
- e.clearSelection();
- });
- /* ===========================================================
- Loads the correct sidebar on window load.
- collapses the sidebar on window resize.
- Sets the min-height of #page-wrapper to window size.
- =========================================================== */
- "use strict";
- var body = $("body");
- $(function () {
- //$("#preloader").fadeOut();
- var set = function () {
- var topOffset = 60,
- width = (window.innerWidth > 0) ? window.innerWidth : this.screen.width,
- height = ((window.innerHeight > 0) ? window.innerHeight : this.screen.height) - 1;
- if (width < 768) {
- $('div.navbar-collapse').addClass('collapse');
- topOffset = 100; /* 2-row-menu */
- } else {
- $('div.navbar-collapse').removeClass('collapse');
- }
- /* ===== This is for resizing window ===== */
- if (width < 1170) {
- body.addClass('content-wrapper');
- $(".sidebar-nav, .slimScrollDiv").css("overflow-x", "visible").parent().css("overflow", "visible");
- } else {
- body.removeClass('content-wrapper');
- }
- height = height - topOffset;
- if (height < 1) {
- height = 1;
- }
- if (height > topOffset) {
- $("#page-wrapper").css("min-height", (height) + "px");
- }
- },
- url = window.location,
- element = $('ul.nav a').filter(function () {
- return this.href === url || url.href.indexOf(this.href) === 0;
- }).addClass('activez').parent().parent().addClass('ok').parent();
- if (element.is('li')) {
- element.addClass('activezo');
- }
- $(window).ready(set);
- $(window).bind("resize", set);
- });
- body.trigger("resize");
- //Increment the idle time counter every minute.
- var idleInterval = setInterval(timerIncrement, 60000); // 1 minute
- hasCookie = (getCookie('organizrToken')) ? true : false;
- //Zero the idle timer on mouse movement.
- $(this).mousemove(function (e) {
- idleTime = 0;
- });
- $(this).keypress(function (e) {
- idleTime = 0;
- });
- });
- function pageLoad(){
- "use strict";
- //Start Organizr
- $(function () {
- $('#side-menu').metisMenu();
- lazyload();
- });
- $(".colorpicker").asColorPicker({
- mode: 'complex',
- color: {
- format: false,
- alphaConvert: false
- }
- });
- /* ===== Theme Settings ===== */
- /* ===== Collapsible Panels JS ===== */
- (function ($, window, document) {
- var panelSelector = '[data-perform="panel-collapse"]',
- panelRemover = '[data-perform="panel-dismiss"]';
- $(panelSelector).each(function () {
- var collapseOpts = {
- toggle: false
- },
- parent = $(this).closest('.panel'),
- wrapper = parent.find('.panel-wrapper'),
- child = $(this).children('i');
- if (!wrapper.length) {
- wrapper = parent.children('.panel-heading').nextAll().wrapAll('<div/>').parent().addClass('panel-wrapper');
- collapseOpts = {};
- }
- wrapper.collapse(collapseOpts).on('hide.bs.collapse', function () {
- child.removeClass('ti-minus').addClass('ti-plus');
- }).on('show.bs.collapse', function () {
- child.removeClass('ti-plus').addClass('ti-minus');
- });
- });
- /* ===== Collapse Panels ===== */
- $(document).on('click', panelSelector, function (e) {
- e.preventDefault();
- var parent = $(this).closest('.panel'),
- wrapper = parent.find('.panel-wrapper');
- $(this).children('i').toggleClass('ti-plus').toggleClass('ti-minus');
- wrapper.collapse('toggle');
- });
- /* ===== Remove Panels ===== */
- $(document).on('click', panelRemover, function (e) {
- e.preventDefault();
- var removeParent = $(this).closest('.panel');
- function removeElement() {
- var col = removeParent.parent();
- removeParent.remove();
- col.filter(function () {
- return ($(this).is('[class*="col-"]') && $(this).children('*').length === 0);
- }).remove();
- }
- removeElement();
- });
- }(jQuery, window, document));
- /* ===== Tooltip Initialization ===== */
- $(function () {
- $('[data-toggle="tooltip"]').tooltip();
- /*$('body').tooltip({
- selector: '[data-toggle="tooltip"]'
- });*/
- });
- /* ===== Popover Initialization ===== */
- $(function () {
- $('[data-toggle="popover"]').popover();
- });
- $(function () {
- // Switchery
- var elems = Array.prototype.slice.call(document.querySelectorAll('.js-switch'));
- $('.js-switch').each(function() {
- if ($(this).attr('data-switchery') !== 'true'){
- new Switchery($(this)[0], $(this).data());
- }
- });
- });
- /* ===== Task Initialization ===== */
- $(".list-task li label").on("click", function () {
- $(this).toggleClass("task-done");
- });
- $(".settings_box a").on("click", function () {
- $("ul.theme_color").toggleClass("theme_block");
- });
- /* ===== Collepsible Toggle ===== */
- $(".collapseble").on("click", function () {
- $(".collapseblebox").fadeToggle(350);
- });
- /* ===== Sidebar ===== */
- $('.slimscrollright').slimScroll({
- height: '100%',
- position: 'right',
- size: "5px",
- color: '#dcdcdc'
- });
- $('.slimscrollsidebar').slimScroll({
- height: '100%',
- position: 'left',
- size: "6px",
- color: 'rgba(0,0,0,0.5)'
- });
- $('.chat-list').slimScroll({
- height: '100%',
- position: 'right',
- size: "0px",
- color: '#dcdcdc'
- });
- /* ===== Resize all elements ===== */
- /* ===== Visited ul li ===== */
- /*$('.visited li a').on("click", function (e) {
- $('.visited li').removeClass('active');
- var $parent = $(this).parent();
- if (!$parent.hasClass('active')) {
- $parent.addClass('active');
- }
- e.preventDefault();
- });*/
- /* =================================================================
- Update 1.5
- this is for close icon when navigation open in mobile view
- ================================================================= */
- $(".navbar-toggle").on("click", function () {
- $(".navbar-toggle i").toggleClass("ti-menu").addClass("ti-close");
- });
- /* magnific stuff */
- $('.image-popup-vertical-fit').magnificPopup({
- type: 'image',
- closeOnContentClick: true,
- mainClass: 'mfp-img-mobile',
- image: {
- verticalFit: true
- }
- });
- $('.image-popup-fit-width').magnificPopup({
- type: 'image',
- closeOnContentClick: true,
- image: {
- verticalFit: false
- }
- });
- $('.image-popup-no-margins').magnificPopup({
- type: 'image',
- closeOnContentClick: true,
- closeBtnInside: false,
- fixedContentPos: true,
- mainClass: 'mfp-no-margins mfp-with-zoom', // class to remove default margin from left and right side
- image: {
- verticalFit: true
- },
- zoom: {
- enabled: true,
- duration: 300 // don't foget to change the duration also in CSS
- }
- });
- $('.popup-gallery').magnificPopup({
- delegate: 'a',
- type: 'image',
- tLoading: 'Loading image #%curr%...',
- mainClass: 'mfp-img-mobile',
- gallery: {
- enabled: true,
- navigateByImgClick: true,
- preload: [0,1] // Will preload 0 - before current, and 1 after the current image
- },
- image: {
- tError: '<a href="%url%">The image #%curr%</a> could not be loaded.',
- titleSrc: function(item) {
- return item.el.attr('title') + '<small>by Marsel Van Oosten</small>';
- }
- }
- });
- $('.zoom-gallery').magnificPopup({
- delegate: 'a',
- type: 'image',
- closeOnContentClick: false,
- closeBtnInside: false,
- mainClass: 'mfp-with-zoom mfp-img-mobile',
- image: {
- verticalFit: true,
- titleSrc: function(item) {
- return item.el.attr('title') + ' · <a class="image-source-link" href="'+item.el.attr('data-source')+'" target="_blank">image source</a>';
- }
- },
- gallery: {
- enabled: true
- },
- zoom: {
- enabled: true,
- duration: 300, // don't foget to change the duration also in CSS
- opener: function(element) {
- return element.find('img');
- }
- }
- });
- $('#image-popups').magnificPopup({
- delegate: 'a',
- type: 'image',
- removalDelay: 500, //delay removal by X to allow out-animation
- callbacks: {
- beforeOpen: function() {
- // just a hack that adds mfp-anim class to markup
- this.st.image.markup = this.st.image.markup.replace('mfp-figure', 'mfp-figure mfp-with-anim');
- this.st.mainClass = this.st.el.attr('data-effect');
- }
- },
- closeOnContentClick: true,
- midClick: true // allow opening popup on middle mouse click. Always set it to true if you don't provide alternative source.
- });
- $('.popup-youtube, .popup-vimeo, .popup-gmaps').magnificPopup({
- disableOn: 700,
- type: 'iframe',
- mainClass: 'mfp-fade',
- removalDelay: 160,
- preloader: false,
- fixedContentPos: false
- });
- $('.popup-with-form').magnificPopup({
- type: 'inline',
- preloader: true,
- removalDelay: 500,
- // When elemened is focused, some mobile browsers in some cases zoom in
- // It looks not nice, so we disable it:
- callbacks: {
- beforeOpen: function() {
- if($(window).width() < 700) {
- this.st.focus = false;
- } else {
- this.st.focus = '#name';
- }
- this.st.mainClass = this.st.el.attr('data-effect');
- }
- }
- });
- $('.simple-ajax-popup-align-top').magnificPopup({
- type: 'ajax',
- alignTop: true,
- overflowY: 'scroll' // as we know that popup content is tall we set scroll overflow by default to avoid jump
- });
- $('.simple-ajax-popup').magnificPopup({
- type: 'ajax'
- });
- }
- /* ===== Login and Recover Password ===== */
- $(document).on("click", "#to-recover", function(e) {
- $("#loginform").slideUp();
- $("#recoverform").fadeIn();
- });
- $(document).on("click", ".to-register", function(e) {
- $("#loginform").slideUp();
- $("#registerForm").removeClass('hidden');
- $("#registerform").fadeIn();
- });
- $(document).on("click", "#leave-recover", function(e) {
- $("#loginform").slideDown();
- $("#recoverform").fadeOut();
- });
- $(document).on("click", "#leave-registration", function(e) {
- $("#registerform").fadeOut();
- $("#registerForm").addClass('hidden');
- $("#loginform").slideDown();
- });
- $(document).on("click", ".updateNow", function(e) {
- updateNow();
- });
- $(document).on("click", ".show-login", function(e) {
- buildLogin();
- });
- $(document).on("click", ".depenency-item", function(e) {
- alert($(this).attr('data-name'));
- });
- $(document).on("click", ".login-button", function(e) {
- e.preventDefault;
- $('div.login-box').block({
- message: '<h4><img src="plugins/images/busy.gif" /> Just a moment...</h4>',
- css: {
- border: '1px solid #000'
- }
- });
- var post = $( '#loginform' ).serializeArray();
- organizrAPI('POST','api/?v1/login',post).success(function(data) {
- var html = JSON.parse(data);
- if(html.data == true){
- location.reload();
- }else if(html.data == 'mismatch'){
- $('div.login-box').unblock({});
- $.toast().reset('all');
- message('Login Error',' Wrong username/email/password combo','bottom-right','#FFF','warning','10000');
- console.error('Organizr Function: Login failed - wrong username/email/password');
- }
- }).fail(function(xhr) {
- console.error("Organizr Function: Login Failed");
- });
- });
- $(document).on("click", ".register-button", function(e) {
- e.preventDefault;
- var post = $( '#registerForm' ).serializeArray();
- organizrAPI('POST','api/?v1/register',post).success(function(data) {
- var html = JSON.parse(data);
- console.log(html);
- if(html.data == true){
- location.reload();
- }else if(html.data == 'mismatch'){
- $.toast().reset('all');
- message('Registration Error',' Wrong Registration Password','bottom-right','#FFF','warning','10000');
- console.error('Organizr Function: Registration failed - Wrong Registration Password');
- }else if(html.data == 'username taken'){
- $.toast().reset('all');
- message('Registration Error',' Registration Error - Username/Email Taken','bottom-right','#FFF','warning','10000');
- console.error('Organizr Function: Registration Failed - Username/Email Taken');
- }
- }).fail(function(xhr) {
- console.error("Organizr Function: Login Failed");
- });
- });
- $(document).on("click", ".open-close", function () {
- $("body").toggleClass("show-sidebar");
- });
- //EDIT GROUP GET ID
- $(document).on("click", ".editGroupButton", function () {
- $('#edit-group-form [name=groupName]').val($(this).parent().parent().attr("data-group"));
- $('#edit-group-form [name=id]').val($(this).parent().parent().attr("data-id"));
- $('#edit-group-form [name=groupImage]').val($(this).parent().parent().attr("data-image"));
- $('#edit-group-form [name=oldGroupName]').val($(this).parent().parent().attr("data-group"));
- });
- //EDIT GROUP
- $(document).on("click", ".editGroup", function () {
- //Create POST Array
- var post = {
- action:'editUserGroup',
- api:'api/?v1/settings/user/manage/groups',
- id:$('#edit-group-form [name=id]').val(),
- groupName:$('#edit-group-form [name=groupName]').val(),
- groupImage:$('#edit-group-form [name=groupImage]').val(),
- oldGroupName:$('#edit-group-form [name=oldGroupName]').val(),
- messageTitle:'',
- messageBody:'Edited User Group '+$('#edit-group-form [name=groupName]').val(),
- error:'Organizr Function: User Group API Connection Failed'
- };
- if (typeof post.id == 'undefined' || post.id == '') {
- message('New Group Error',' Could not get Group ID','bottom-right','#FFF','error','5000');
- }
- if (typeof post.groupName == 'undefined' || post.groupName == '') {
- message('New Group Error',' Please set a Group Name','bottom-right','#FFF','warning','5000');
- }
- if (typeof post.groupImage == 'undefined' || post.groupImage == '') {
- message('New Group Error',' Please set a Group Image','bottom-right','#FFF','warning','5000');
- }
- if(post.id !== '' && post.groupName !== '' && post.groupImage !== '' ){
- var callbacks = $.Callbacks();
- callbacks.add( buildGroupManagement );
- settingsAPI(post,callbacks);
- clearForm('#edit-group-form');
- $.magnificPopup.close();
- }
- });
- //CHANGE DEFAULT GROUP
- $(document).on("click", ".changeDefaultGroup", function () {
- //Create POST Array
- var post = {
- action:'changeDefaultGroup',
- api:'api/?v1/settings/user/manage/groups',
- id:$(this).parent().parent().attr("data-id"),
- oldGroupID:$('#manageGroupTable').find('tr[data-default=true]').attr("data-group-id"),
- oldGroupName:$('#manageGroupTable').find('tr[data-default=true]').attr("data-group"),
- newGroupID:$(this).parent().parent().attr("data-group-id"),
- newGroupName:$(this).parent().parent().attr("data-group"),
- messageTitle:'',
- messageBody:'Changed Default Group to '+$(this).parent().parent().attr("data-group"),
- error:'Organizr Function: User Group API Connection Failed'
- };
- var callbacks = $.Callbacks();
- callbacks.add( buildGroupManagement );
- settingsAPI(post,callbacks);
- });
- //DELETE GROUP
- $(document).on("click", ".deleteUserGroup", function () {
- //Create POST Array
- var post = {
- action:'deleteUserGroup',
- api:'api/?v1/settings/user/manage/groups',
- id:$(this).parent().parent().attr("data-id"),
- groupID:$(this).parent().parent().attr("data-group-id"),
- groupName:$(this).parent().parent().attr("data-group"),
- messageTitle:'',
- messageBody:'Deleted User Group '+$(this).parent().parent().attr("data-group"),
- error:'Organizr Function: User Group API Connection Failed'
- };
- var callbacks = $.Callbacks();
- callbacks.add( buildGroupManagement );
- settingsAPI(post,callbacks);
- });
- //ADD GROUP
- $(document).on("click", ".addNewGroup", function () {
- //Create POST Array
- var post = {
- action:'addUserGroup',
- api:'api/?v1/settings/user/manage/groups',
- newGroupID:parseInt($('#manageGroupTable').find('tr[data-group-id]:nth-last-child(2)').attr('data-group-id')) + 1,
- newGroupName:$('#new-group-form [name=groupName]').val(),
- newGroupImage:$('#new-group-form [name=groupImage]').val(),
- messageTitle:'',
- messageBody:'Created User Group '+$('#new-group-form [name=groupName]').val(),
- error:'Organizr Function: User Group API Connection Failed'
- };
- if (typeof post.newGroupID == 'undefined' || post.newGroupID == '') {
- message('New Group Error',' Could not get next Group ID','bottom-right','#FFF','error','5000');
- }
- if (typeof post.newGroupName == 'undefined' || post.newGroupName == '') {
- message('New Group Error',' Please set a Group Name','bottom-right','#FFF','warning','5000');
- }
- if (typeof post.newGroupImage == 'undefined' || post.newGroupImage == '') {
- message('New Group Error',' Please set a Group Image','bottom-right','#FFF','warning','5000');
- }
- if(post.newGroupID !== '' && post.newGroupName !== '' && post.newGroupImage !== '' ){
- var callbacks = $.Callbacks();
- callbacks.add( buildGroupManagement );
- settingsAPI(post,callbacks);
- clearForm('#new-group-form');
- $.magnificPopup.close();
- }
- });
- // ADD USER
- $(document).on("click", ".addNewUser", function () {
- //Create POST Array
- var post = {
- action:'addNewUser',
- api:'api/?v1/settings/user/manage/users',
- username:$('#new-user-form [name=username]').val(),
- email:$('#new-user-form [name=email]').val(),
- password:$('#new-user-form [name=password]').val(),
- messageTitle:'',
- messageBody:'Added New User: '+$('#new-user-form [name=username]').val(),
- error:'Organizr Function: User API Connection Failed'
- };
- if (typeof post.username == 'undefined' || post.username == '') {
- message('New User Error',' Please set a Username','bottom-right','#FFF','error','5000');
- }
- if (typeof post.email == 'undefined' || post.email == '') {
- message('New User Error',' Please set an Email','bottom-right','#FFF','warning','5000');
- }
- if (typeof post.password == 'undefined' || post.password == '') {
- message('New User Error',' Please set a Password','bottom-right','#FFF','warning','5000');
- }
- if(post.username !== '' && post.email !== '' && post.password !== '' ){
- var callbacks = $.Callbacks();
- callbacks.add( buildUserManagement );
- settingsAPI(post,callbacks);
- clearForm('#new-user-form');
- $.magnificPopup.close();
- }
- });
- // CHANGE USER GROUP
- $(document).on("change", ".userGroupSelect", function () {
- //Create POST Array
- var post = {
- action:'changeGroup',
- api:'api/?v1/settings/user/manage/users',
- id:$(this).parent().parent().attr("data-id"),
- username:$(this).parent().parent().attr("data-username"),
- oldGroup:$(this).parent().parent().attr("data-group"),
- newGroupID:$(this).find("option:selected").val(),
- newGroupName:$(this).find("option:selected").text(),
- messageTitle:'',
- messageBody:'User Info updated for '+$(this).parent().parent().attr("data-username"),
- error:'Organizr Function: User API Connection Failed'
- };
- var callbacks = $.Callbacks();
- callbacks.add( buildUserManagement );
- settingsAPI(post,callbacks);
- });
- // DELETE USER
- //DELETE GROUP
- $(document).on("click", ".deleteUser", function () {
- var user = $(this);
- swal({
- title: window.lang.translate('Delete ')+user.parent().parent().attr("data-username")+'?',
- type: "warning",
- showCancelButton: true,
- confirmButtonColor: "#DD6B55",
- confirmButtonText: window.lang.translate('Yes'),
- cancelButtonText: window.lang.translate('No'),
- closeOnConfirm: true,
- closeOnCancel: true
- }, function(isConfirm){
- if (isConfirm) {
- //Create POST Array
- var post = {
- action:'deleteUser',
- api:'api/?v1/settings/user/manage/users',
- id:user.parent().parent().attr("data-id"),
- username:user.parent().parent().attr("data-username"),
- messageTitle:'',
- messageBody:window.lang.translate('Deleted User')+': '+user.parent().parent().attr("data-username"),
- error:'Organizr Function: User API Connection Failed'
- };
- var callbacks = $.Callbacks();
- callbacks.add( buildUserManagement );
- settingsAPI(post,callbacks);
- }
- });
- });
- // CHANGE TAB GROUP
- $(document).on("change", ".tabGroupSelect", function () {
- //Create POST Array
- var post = {
- action:'changeGroup',
- api:'api/?v1/settings/tab/editor/tabs',
- id:$(this).parent().parent().attr("data-id"),
- tab:$(this).parent().parent().attr("data-name"),
- oldGroupID:$(this).parent().parent().attr("data-group-id"),
- newGroupID:$(this).find("option:selected").val(),
- newGroupName:$(this).find("option:selected").text(),
- messageTitle:'',
- messageBody:'Tab Info updated for '+$(this).parent().parent().attr("data-name"),
- error:'Organizr Function: Tab API Connection Failed'
- };
- var callbacks = $.Callbacks();
- callbacks.add( buildTabEditor );
- settingsAPI(post,callbacks);
- });
- // CHANGE TAB CATEGORY
- $(document).on("change", ".tabCategorySelect", function () {
- //Create POST Array
- var post = {
- action:'changeCategory',
- api:'api/?v1/settings/tab/editor/tabs',
- id:$(this).parent().parent().attr("data-id"),
- tab:$(this).parent().parent().attr("data-name"),
- newCategoryID:$(this).find("option:selected").val(),
- newCategoryName:$(this).find("option:selected").text(),
- messageTitle:'',
- messageBody:'Tab Info updated for '+$(this).parent().parent().attr("data-name"),
- error:'Organizr Function: Tab API Connection Failed'
- };
- var callbacks = $.Callbacks();
- callbacks.add( buildTabEditor );
- settingsAPI(post,callbacks);
- });
- // CHANGE TAB TYPE
- $(document).on("change", ".tabTypeSelect", function () {
- //Create POST Array
- var post = {
- action:'changeType',
- api:'api/?v1/settings/tab/editor/tabs',
- id:$(this).parent().parent().attr("data-id"),
- tab:$(this).parent().parent().attr("data-name"),
- newTypeID:$(this).find("option:selected").val(),
- newTypeName:$(this).find("option:selected").text(),
- messageTitle:'',
- messageBody:'Tab Info updated for '+$(this).parent().parent().attr("data-name"),
- error:'Organizr Function: Tab API Connection Failed'
- };
- var callbacks = $.Callbacks();
- callbacks.add( buildTabEditor );
- settingsAPI(post,callbacks);
- });
- // CHANGE ENABLED TAB
- $(document).on("change", ".enabledSwitch", function () {
- //Create POST Array
- var post = {
- action:'changeEnabled',
- api:'api/?v1/settings/tab/editor/tabs',
- id:$(this).parent().parent().attr("data-id"),
- tab:$(this).parent().parent().attr("data-name"),
- tabEnabled:$(this).prop("checked") ? 1 : 0,
- tabEnabledWord:$(this).prop("checked") ? "On" : "Off",
- messageTitle:'',
- messageBody:'Tab Info updated for '+$(this).parent().parent().attr("data-name"),
- error:'Organizr Function: Tab API Connection Failed'
- };
- var callbacks = $.Callbacks();
- callbacks.add( buildTabEditor );
- settingsAPI(post,callbacks);
- });
- // CHANGE SPLASH TAB
- $(document).on("change", ".splashSwitch", function () {
- //Create POST Array
- var post = {
- action:'changeSplash',
- api:'api/?v1/settings/tab/editor/tabs',
- id:$(this).parent().parent().attr("data-id"),
- tab:$(this).parent().parent().attr("data-name"),
- tabSplash:$(this).prop("checked") ? 1 : 0,
- tabSplashWord:$(this).prop("checked") ? "On" : "Off",
- messageTitle:'',
- messageBody:'Tab Info updated for '+$(this).parent().parent().attr("data-name"),
- error:'Organizr Function: Tab API Connection Failed'
- };
- var callbacks = $.Callbacks();
- callbacks.add( buildTabEditor );
- settingsAPI(post,callbacks);
- });
- // CHANGE DEFAULT TAB
- $(document).on("change", ".defaultSwitch", function () {
- //Create POST Array
- var post = {
- action:'changeDefault',
- api:'api/?v1/settings/tab/editor/tabs',
- id:$(this).parent().parent().parent().attr("data-id"),
- tab:$(this).parent().parent().parent().attr("data-name"),
- messageTitle:'',
- messageBody:'Changed Default Tab to: '+$(this).parent().parent().parent().attr("data-name"),
- error:'Organizr Function: Tab API Connection Failed'
- };
- var callbacks = $.Callbacks();
- callbacks.add( buildTabEditor );
- settingsAPI(post,callbacks);
- });
- //DELETE TAB
- $(document).on("click", ".deleteTab", function () {
- var user = $(this);
- swal({
- title: window.lang.translate('Delete ')+user.parent().parent().attr("data-name")+'?',
- type: "warning",
- showCancelButton: true,
- confirmButtonColor: "#DD6B55",
- confirmButtonText: window.lang.translate('Yes'),
- cancelButtonText: window.lang.translate('No'),
- closeOnConfirm: true,
- closeOnCancel: true
- }, function(isConfirm){
- if (isConfirm) {
- //Create POST Array
- var post = {
- action:'deleteTab',
- api:'api/?v1/settings/tab/editor/tabs',
- id:user.parent().parent().attr("data-id"),
- tab:user.parent().parent().attr("data-name"),
- messageTitle:'',
- messageBody:window.lang.translate('Deleted Tab')+': '+user.parent().parent().attr("data-name"),
- error:'Organizr Function: Tab Editor API Connection Failed'
- };
- var callbacks = $.Callbacks();
- callbacks.add( buildTabEditor );
- settingsAPI(post,callbacks);
- }
- });
- });
- //EDIT TAB GET ID
- $(document).on("click", ".editTabButton", function () {
- $('#edit-tab-form [name=tabName]').val($(this).parent().parent().attr("data-name"));
- $('#edit-tab-form [name=tabURL]').val($(this).parent().parent().attr("data-url"));
- $('#edit-tab-form [name=tabImage]').val($(this).parent().parent().attr("data-image"));
- $('#edit-tab-form [name=id]').val($(this).parent().parent().attr("data-id"));
- if( $(this).parent().parent().attr("data-url").indexOf('/?v') > 0){
- $('#edit-tab-form [name=tabURL]').prop('disabled', 'true');
- }else{
- $('#edit-tab-form [name=tabURL]').prop('disabled', null);
- }
- });
- //EDIT TAB
- $(document).on("click", ".editTab", function () {
- //Create POST Array
- var post = {
- action:'editTab',
- api:'api/?v1/settings/tab/editor/tabs',
- id:$('#edit-tab-form [name=id]').val(),
- tabName:$('#edit-tab-form [name=tabName]').val(),
- tabImage:$('#edit-tab-form [name=tabImage]').val(),
- tabURL:$('#edit-tab-form [name=tabURL]').val(),
- messageTitle:'',
- messageBody:'Edited Tab '+$('#edit-tab-form [name=tabName]').val(),
- error:'Organizr Function: Tab Editor API Connection Failed'
- };
- if (typeof post.id == 'undefined' || post.id == '') {
- message('Edit Tab Error',' Could not get Tab ID','bottom-right','#FFF','error','5000');
- }
- if (typeof post.tabName == 'undefined' || post.tabName == '') {
- message('Edit Tab Error',' Please set a Tab Name','bottom-right','#FFF','warning','5000');
- }
- if (typeof post.tabImage == 'undefined' || post.tabImage == '') {
- message('Edit Tab Error',' Please set a Tab Image','bottom-right','#FFF','warning','5000');
- }
- if (typeof post.tabURL == 'undefined' || post.tabURL == '') {
- message('Edit Tab Error',' Please set a Tab URL','bottom-right','#FFF','warning','5000');
- }
- if(post.id !== '' && post.tabName !== '' && post.tabImage !== '' && post.tabURL !== '' ){
- var callbacks = $.Callbacks();
- callbacks.add( buildTabEditor );
- settingsAPI(post,callbacks);
- clearForm('#edit-tab-form');
- $.magnificPopup.close();
- }
- });
- //ADD NEW TAB
- $(document).on("click", ".addNewTab", function () {
- //Create POST Array
- var post = {
- action:'addNewTab',
- api:'api/?v1/settings/tab/editor/tabs',
- tabOrder:parseInt($('#tabEditorTable').find('tr[data-order]').last().attr('data-order')) + 1,
- tabName:$('#new-tab-form [name=tabName]').val(),
- tabImage:$('#new-tab-form [name=tabImage]').val(),
- tabURL:$('#new-tab-form [name=tabURL]').val(),
- tabGroupID:1,
- tabEnabled:0,
- tabDefault:0,
- tabType:1,
- messageTitle:'',
- messageBody:'Created Tab '+$('#new-tab-form [name=tabName]').val(),
- error:'Organizr Function: Tab API Connection Failed'
- };
- if (typeof post.tabOrder == 'undefined' || post.tabOrder == '') {
- message('New Tab Error',' Could not get next Group ID','bottom-right','#FFF','error','5000');
- }
- if (typeof post.tabName == 'undefined' || post.tabName == '') {
- message('New Tab Error',' Please set a Tab Name','bottom-right','#FFF','error','5000');
- }
- if (typeof post.tabURL == 'undefined' || post.tabURL == '') {
- message('New Tab Error',' Please set a Tab URL','bottom-right','#FFF','warning','5000');
- }
- if (typeof post.tabImage == 'undefined' || post.tabImage == '') {
- message('New Tab Error',' Please set a Tab Image','bottom-right','#FFF','warning','5000');
- }
- if(post.tabOrder !== '' && post.tabName !== '' && post.tabURL !== '' && post.tabImage !== '' ){
- var callbacks = $.Callbacks();
- callbacks.add( buildTabEditor );
- settingsAPI(post,callbacks);
- clearForm('#new-tab-form');
- $.magnificPopup.close();
- }
- });
- //ADD NEW CATEGORY
- $(document).on("click", ".addNewCategory", function () {
- //Create POST
- var nextID = [];
- $($('#categoryEditorTable').find('tr[data-category-id]')).each(function () {
- nextID.push($(this).attr('data-category-id'));
- });
- var post = {
- action:'addNewCategory',
- api:'api/?v1/settings/tab/editor/categories',
- categoryOrder:parseInt($('#categoryEditorTable').find('tr[data-order]').last().attr('data-order')) + 1,
- categoryName:$('#new-category-form [name=name]').val(),
- categoryImage:$('#new-category-form [name=image]').val(),
- categoryID:Math.max.apply( null, nextID ) + 1,
- categoryDefault:0,
- messageTitle:'',
- messageBody:'Created Category '+$('#new-category-form [name=name]').val(),
- error:'Organizr Function: API Connection Failed'
- };
- console.log(post);
- if (typeof post.categoryID == 'undefined' || post.categoryID == '') {
- message('New Category Error',' Could not get next Category ID','bottom-right','#FFF','error','5000');
- }
- if (typeof post.categoryName == 'undefined' || post.categoryName == '') {
- message('New Category Error',' Please set a Category Name','bottom-right','#FFF','error','5000');
- }
- if (typeof post.categoryOrder == 'undefined' || post.categoryOrder == '') {
- message('New Category Error',' Could not get Category Order','bottom-right','#FFF','warning','5000');
- }
- if (typeof post.categoryImage == 'undefined' || post.categoryImage == '') {
- message('New Category Error',' Please set a Category Image','bottom-right','#FFF','warning','5000');
- }
- if(post.categoryID !== '' && post.categoryName !== '' && post.categoryOrder !== '' && post.categoryImage !== '' ){
- var callbacks = $.Callbacks();
- callbacks.add( buildCategoryEditor );
- settingsAPI(post,callbacks);
- clearForm('#new-category-form');
- $.magnificPopup.close();
- }
- });
- //DELETE CATEGORY
- $(document).on("click", ".deleteCategory", function () {
- var category = $(this);
- swal({
- title: window.lang.translate('Delete ')+category.parent().parent().attr("data-name")+'?',
- type: "warning",
- showCancelButton: true,
- confirmButtonColor: "#DD6B55",
- confirmButtonText: window.lang.translate('Yes'),
- cancelButtonText: window.lang.translate('No'),
- closeOnConfirm: true,
- closeOnCancel: true
- }, function(isConfirm){
- if (isConfirm) {
- //Create POST Array
- var post = {
- action:'deleteCategory',
- api:'api/?v1/settings/tab/editor/categories',
- id:category.parent().parent().attr("data-id"),
- category:category.parent().parent().attr("data-name"),
- messageTitle:'',
- messageBody:window.lang.translate('Deleted Category')+': '+category.parent().parent().attr("data-name"),
- error:'Organizr Function: API Connection Failed'
- };
- var callbacks = $.Callbacks();
- callbacks.add( buildCategoryEditor );
- settingsAPI(post,callbacks);
- }
- });
- });
- //EDIT CATEGORY GET ID
- $(document).on("click", ".editCategoryButton", function () {
- $('#edit-category-form [name=name]').val($(this).parent().parent().attr("data-name"));
- $('#edit-category-form [name=image]').val($(this).parent().parent().attr("data-image"));
- $('#edit-category-form [name=id]').val($(this).parent().parent().attr("data-id"));
- });
- //EDIT CATEGORY
- $(document).on("click", ".editCategory", function () {
- //Create POST Array
- var post = {
- action:'editCategory',
- api:'api/?v1/settings/tab/editor/categories',
- id:$('#edit-category-form [name=id]').val(),
- name:$('#edit-category-form [name=name]').val(),
- image:$('#edit-category-form [name=image]').val(),
- messageTitle:'',
- messageBody:'Edited Category '+$('#edit-category-form [name=name]').val(),
- error:'Organizr Function: API Connection Failed'
- };
- console.log(post)
- if (typeof post.id == 'undefined' || post.id == '') {
- message('Edit Tab Error',' Could not get Tab ID','bottom-right','#FFF','error','5000');
- }
- if (typeof post.name == 'undefined' || post.name == '') {
- message('Edit Tab Error',' Please set a Tab Name','bottom-right','#FFF','warning','5000');
- }
- if (typeof post.image == 'undefined' || post.image == '') {
- message('Edit Tab Error',' Please set a Tab Image','bottom-right','#FFF','warning','5000');
- }
- if(post.id !== '' && post.name !== '' && post.image !== ''){
- var callbacks = $.Callbacks();
- callbacks.add( buildCategoryEditor );
- settingsAPI(post,callbacks);
- clearForm('#edit-category-form');
- $.magnificPopup.close();
- }
- });
- //CHANGE DEFAULT CATEGORY
- $(document).on("click", ".changeDefaultCategory", function () {
- //Create POST Array
- var post = {
- action:'changeDefault',
- api:'api/?v1/settings/tab/editor/categories',
- id:$(this).parent().parent().attr("data-id"),
- oldCategoryName:$('#categoryEditorTable').find('tr[data-default=true]').attr("data-name"),
- newCategoryName:$(this).parent().parent().attr("data-name"),
- messageTitle:'',
- messageBody:'Changed Default Category to '+$(this).parent().parent().attr("data-name"),
- error:'Organizr Function: API Connection Failed'
- };
- var callbacks = $.Callbacks();
- callbacks.add( buildCategoryEditor );
- settingsAPI(post,callbacks);
- });
- // CHANGE CUSTOMIZE Options
- $(document).on('change asColorPicker::close', '#customize-appearance-form :input', function(e) {
- $(this).attr('data-changed', true);
- switch ($(this).attr('type')) {
- case 'switch':
- case 'checkbox':
- var value = $(this).prop("checked") ? true : false;
- break;
- default:
- var value = $(this).val();
- }
- var post = {
- action:'editCustomizeAppearance',
- api:'api/?v1/settings/customize/appearance',
- name:$(this).attr("name"),
- value:value,
- messageTitle:'',
- messageBody:'Update Value for '+$(this).parent().parent().find('label').text(),
- error:'Organizr Function: API Connection Failed'
- };
- console.log(post);
- $('#customize-appearance-reload').removeClass('hidden');
- var callbacks = $.Callbacks();
- //callbacks.add( buildCustomizeAppearance );
- settingsAPI(post,callbacks);
- });
- //DELETE IMAGE
- $(document).on("click", ".deleteImage", function () {
- var image = $(this);
- swal({
- title: window.lang.translate('Delete ')+image.attr("data-image-name")+'?',
- type: "warning",
- showCancelButton: true,
- confirmButtonColor: "#DD6B55",
- confirmButtonText: window.lang.translate('Yes'),
- cancelButtonText: window.lang.translate('No'),
- closeOnConfirm: true,
- closeOnCancel: true
- }, function(isConfirm){
- if (isConfirm) {
- //Create POST Array
- var post = {
- action:'deleteImage',
- api:'api/?v1/settings/image/manager/view',
- imageName:image.attr("data-image-name"),
- imagePath:image.attr("data-image-path"),
- messageTitle:'',
- messageBody:window.lang.translate('Deleted Image')+': '+image.attr("data-image-name"),
- error:'Organizr Function: User API Connection Failed'
- };
- var callbacks = $.Callbacks();
- callbacks.add( buildImageManagerView );
- settingsAPI(post,callbacks);
- }
- });
- });
- // RELOAD Page
- $(document).on("click", ".reload", function () {
- location.reload();
- });
- /* ===== Open-Close Right Sidebar ===== */
- $(document).on("click", ".right-side-toggle", function () {
- $(".right-sidebar").slideDown(50).toggleClass("shw-rside");
- $(".fxhdr").on("click", function () {
- $("body").toggleClass("fix-header"); /* Fix Header JS */
- });
- $(".fxsdr").on("click", function () {
- $("body").toggleClass("fix-sidebar"); /* Fix Sidebar JS */
- });
- /* ===== Service Panel JS ===== */
- var fxhdr = $('.fxhdr');
- if ($("body").hasClass("fix-header")) {
- fxhdr.attr('checked', true);
- } else {
- fxhdr.attr('checked', false);
- }
- });
|