HEX
Server: Apache
System: Linux WWW 6.1.0-40-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.153-1 (2025-09-20) x86_64
User: web11 (1011)
PHP: 8.2.29
Disabled: NONE
Upload Files
File: /var/www/ideasforum.kaunokolegija.lt/wp-content/plugins/quiz-master-next/js/qsm-admin-results.js
/**
 * QSM - Admin results pages
 */

var QSMAdminResults;
(function ($) {
	QSMAdminResults = {
		total: 0,
		saveResults: function() {
			QSMAdmin.displayAlert( 'Saving results pages...', 'info' );
			var pages = [];
			var page = {};
			var redirect_value = '';
			$( '.results-page' ).each( function() {
				page = {
					'conditions': [],
					'page':  wp.editor.getContent( $( this ).find( '.results-page-template' ).attr( 'id' ) ),
					'redirect': false,
				};
				redirect_value = $( this ).find( '.results-page-redirect' ).val();
				if ( '' != redirect_value ) {
					page.redirect = redirect_value;
				}
				$( this ).find( '.results-page-condition' ).each( function() {
					page.conditions.push({
						'criteria': $( this ).children( '.results-page-condition-criteria' ).val(),
						'operator': $( this ).children( '.results-page-condition-operator' ).val(),
						'value': $( this ).children( '.results-page-condition-value' ).val()
					});
				});
				pages.push( page );
			});
			var data = {
				'pages': pages
			}
			$.ajax({
				url: wpApiSettings.root + 'quiz-survey-master/v1/quizzes/' + qsmResultsObject.quizID + '/results',
				method: 'POST',
				data: data,
				headers: { 'X-WP-Nonce': qsmResultsObject.nonce },
			})
			.done(function( results ) {                                
				if ( results.status ) {
					QSMAdmin.displayAlert( 'Results pages were saved!', 'success' );
				} else {
					QSMAdmin.displayAlert( 'There was an error when saving the results pages. Please try again.', 'error' );
				}                                
			})
			.fail(QSMAdmin.displayjQueryError);
		},
		loadResults: function() {
			//QSMAdmin.displayAlert( 'Loading results pages...', 'info' );
			$.ajax({
				url: wpApiSettings.root + 'quiz-survey-master/v1/quizzes/' + qsmResultsObject.quizID + '/results',
				headers: { 'X-WP-Nonce': qsmResultsObject.nonce },
			})
				.done(function( pages ) {
                                        $( '#results-pages' ).find( '.qsm-spinner-loader' ).remove();
					pages.forEach( function( page, i, pages ) {
						QSMAdminResults.addResultsPage( page.conditions, page.page, page.redirect );
					});
					QSMAdmin.clearAlerts();
				})
				.fail(QSMAdmin.displayjQueryError);
		},
		addCondition: function( $page, criteria, operator, value ) {
			var template = wp.template( 'results-page-condition' );
			$page.find( '.results-page-when-conditions' ).append( template({
				'criteria': criteria,
				'operator': operator,
				'value': value
			}));
		},
		newCondition: function( $page ) {
			QSMAdminResults.addCondition( $page, 'score', 'equal', 0 );
		},
		addResultsPage: function( conditions, page, redirect ) {
			QSMAdminResults.total += 1;
			var template = wp.template( 'results-page' );
			$( '#results-pages' ).append( template( { id: QSMAdminResults.total, page: page, redirect: redirect } ) );
			conditions.forEach( function( condition, i, conditions) {
				QSMAdminResults.addCondition( 
					$( '.results-page:last-child' ), 
					condition.criteria,
					condition.operator,
					condition.value
				);
			});
			var settings = {
				mediaButtons: true,
				tinymce:      {
					forced_root_block : '',
					toolbar1: 'formatselect,bold,italic,bullist,numlist,blockquote,alignleft,aligncenter,alignright,link,strikethrough,hr,forecolor,pastetext,removeformat,codeformat,charmap,undo,redo'
				},
				quicktags:    true,
			};
			wp.editor.initialize( 'results-page-' + QSMAdminResults.total, settings );
		},
		newResultsPage: function() {
			var conditions = [{
				'criteria': 'score',
				'operator': 'greater',
				'value': '0'
			}];
			var page = '%QUESTIONS_ANSWERS%';
			QSMAdminResults.addResultsPage( conditions, page );
		}
	};
	$(function() {
		QSMAdminResults.loadResults();

		$( '.add-new-page' ).on( 'click', function( event ) {
			event.preventDefault();
			QSMAdminResults.newResultsPage();
		});
		$( '.save-pages' ).on( 'click', function( event ) {
			event.preventDefault();                        
			QSMAdminResults.saveResults();                        
		});
		$( '#results-pages' ).on( 'click', '.new-condition', function( event ) {
			event.preventDefault();
			$page = $( this ).closest( '.results-page' );
			QSMAdminResults.newCondition( $page );
		});
		$( '#results-pages' ).on( 'click', '.delete-page-button', function( event ) {
			event.preventDefault();
			$( this ).closest( '.results-page' ).remove();
		});
		$( '#results-pages' ).on( 'click', '.delete-condition-button', function( event ) {
			event.preventDefault();
			$( this ).closest( '.results-page-condition' ).remove();
		});
	});
}(jQuery));