Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fixed progress bar issue with elementor popup #2621

Merged
merged 3 commits into from
Aug 13, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions css/qsm-admin.css
Original file line number Diff line number Diff line change
Expand Up @@ -3454,4 +3454,12 @@ input#preferred-date-format-custom {
#qmn-failed-submission-table-message {
padding-right: 38px;
position: relative;
}
#toplevel_page_qsm_dashboard li:nth-last-child(3) a:after {
border-bottom: 1px solid hsla(0, 0%, 100%, .2);
display: block;
float: left;
margin: 13px -15px 8px;
content: "";
width: calc(100% + 26px);
}
92 changes: 34 additions & 58 deletions js/qsm-quiz.js
Original file line number Diff line number Diff line change
Expand Up @@ -310,34 +310,7 @@ var qsmTimerInterval = [];
if ('1' == qmn_quiz_data[quizID].progress_bar) {
jQuery(document).trigger('qsm_init_progressbar_before', [quizID, qmn_quiz_data]);
$('#quizForm' + quizID).find('.qsm-progress-bar').show();
qmn_quiz_data[quizID].bar = new ProgressBar.Line('#quizForm' + quizID + ' .qsm-progress-bar', {
strokeWidth: 2,
easing: 'easeInOut',
duration: 1400,
color: '#3498db',
trailColor: '#eee',
trailWidth: 1,
svgStyle: { width: '100%', height: '100%' },
text: {
style: {
// color: '#999',
position: 'absolute',
padding: 0,
margin: 0,
top: 0,
right: '10px',
'font-size': '13px',
'font-weight': 'bold',
transform: null
},
autoStyleContainer: false
},
from: { color: '#3498db' },
to: { color: '#ED6A5A' },
step: function (state, bar) {
//bar.setText(Math.round(bar.value() * 100) + ' %');
}
});
qmn_quiz_data[quizID].bar = createQSMProgressBar(quizID, '#quizForm' + quizID + ' .qsm-progress-bar');
jQuery(document).trigger('qsm_init_progressbar_after', [quizID, qmn_quiz_data]);
}
QSM.goToPage(quizID, 1);
Expand Down Expand Up @@ -444,6 +417,10 @@ var qsmTimerInterval = [];
}
var animate_value = current_page / total_page_length;
if (animate_value <= 1) {
if (!qmn_quiz_data[quizID].bar) {
jQuery( '#quizForm' + quizID + ' .qsm-progress-bar svg' ).remove();
qmn_quiz_data[quizID].bar = createQSMProgressBar(quizID, '#quizForm' + quizID + ' .qsm-progress-bar');
}
qmn_quiz_data[quizID].bar.animate(animate_value);
var old_text = jQuery('#quizForm' + quizID).find('.progressbar-text').text().replace(' %', '');
var new_text = Math.round(animate_value * 100);
Expand Down Expand Up @@ -628,6 +605,33 @@ function isUrlValid(url) {
return /^(http|https|ftp):\/\/[a-z0-9]+([\-\.]{1}[a-z0-9]+)*\.[a-z]{2,5}(:[0-9]{1,5})?(\/.*)?$/i.test(url);
}

/**
* Create QSM progress bar
* @returns
*/
function createQSMProgressBar(quizID, elementID) {
return new ProgressBar.Line(elementID, {
strokeWidth: 2,
easing: 'easeInOut',
duration: 1400,
color: '#3498db',
trailColor: '#eee',
trailWidth: 1,
svgStyle: { width: '100%', height: '100%' },
text: {
style: {
'position': 'absolute',
'right': '10px',
'font-size': '13px',
'font-weight': 'bold'
},
autoStyleContainer: false
},
from: { color: '#3498db' },
to: { color: '#ED6A5A' }
});
}

/**
* Limit multiple response based on question limit
* @returns
Expand Down Expand Up @@ -1300,33 +1304,7 @@ function qmnInitPagination(quiz_id) {
if ('1' == qmn_quiz_data[quiz_id].progress_bar) {
jQuery(document).trigger('qsm_init_progressbar_before', [quiz_id, qmn_quiz_data]);
jQuery('#quizForm' + quiz_id).closest('.qmn_quiz_container').find('.qsm-progress-bar').show();
qmn_quiz_data[quiz_id].bar = new ProgressBar.Line('#qsm_progress_bar_' + quiz_id, {
strokeWidth: 2,
easing: 'easeInOut',
duration: 500,
color: '#3498db',
trailColor: '#eee',
trailWidth: 1,
svgStyle: { width: '100%', height: '100%' },
text: {
style: {
// color: '#999',
position: 'absolute',
padding: 0,
margin: 0,
top: 0,
right: '10px',
'font-size': '13px',
'font-weight': 'bold',
transform: null
},
autoStyleContainer: false
},
from: { color: '#3498db' },
to: { color: '#ED6A5A' },
step: function (state, bar) {
}
});
qmn_quiz_data[quiz_id].bar = createQSMProgressBar(quiz_id, '#qsm_progress_bar_' + quiz_id);
jQuery(document).trigger('qsm_init_progressbar_after', [quiz_id, qmn_quiz_data]);
}

Expand Down Expand Up @@ -2067,6 +2045,4 @@ jQuery(document).keydown(function(event) {
}
jQuery(document).trigger('qsm_keyboard_quiz_action_end', event);
}
});


});
19 changes: 10 additions & 9 deletions mlw_quizmaster2.php
Original file line number Diff line number Diff line change
Expand Up @@ -486,12 +486,12 @@ public function qsm_admin_scripts_style( $hook ) {
foreach ( $qsm_variables as $key => $value ) {
// Iterate over each key of the nested object
if ( is_array( $value ) && ! empty($value) ) {

foreach ( $value as $nestedKey => $nestedValue ) {
// Add the nested key to the array
$qsm_variables_name[] = $nestedKey;
}
}
}
}
}
$qsm_admin_messages = array(
'error' => __('Error', 'quiz-master-next'),
Expand Down Expand Up @@ -745,27 +745,28 @@ public function setup_admin_menu() {
if ( $enabled && 'cancelled' !== $enabled ) {
$qsm_taxonomy_menu_hook = add_submenu_page( 'qsm_dashboard', __( 'Question Categories', 'quiz-master-next' ), __( 'Question Categories', 'quiz-master-next' ), 'edit_posts', 'edit-tags.php?taxonomy=qsm_category' );
}
if ( ! class_exists( 'QSM_Advanced_Assessment' ) ) {
add_submenu_page( 'qsm_dashboard', __( 'Answer Labels', 'quiz-master-next' ), __( 'Answer Labels', 'quiz-master-next' ), 'manage_options', 'qsm-answer-label', 'qsm_advanced_assessment_quiz_page_content', 3 );
}
add_submenu_page( 'options.php', __( 'Settings', 'quiz-master-next' ), __( 'Settings', 'quiz-master-next' ), 'edit_posts', 'mlw_quiz_options', 'qsm_generate_quiz_options' );
add_submenu_page( 'qsm_dashboard', __( 'Results', 'quiz-master-next' ), __( 'Results', 'quiz-master-next' ), 'moderate_comments', 'mlw_quiz_results', 'qsm_generate_admin_results_page' );

// Failed Submission.
if ( ! empty( $settings['enable_qsm_log'] ) && $settings['enable_qsm_log'] ) {
add_submenu_page( 'qsm_dashboard', __( 'Failed Submission', 'quiz-master-next' ), __( 'Failed Submission', 'quiz-master-next' ), 'moderate_comments', 'qsm-quiz-failed-submission', array( $this, 'admin_failed_submission_page' ) );
}
// Failed DB Query.
// Failed DB Query
if ( ! empty( $settings['enable_qsm_log'] ) && $settings['enable_qsm_log'] && $this->get_failed_alter_table_queries() ) {
add_submenu_page( 'qsm_dashboard', __( 'Failed DB Queries', 'quiz-master-next' ), __( 'Failed Database Queries', 'quiz-master-next' ), 'moderate_comments', 'qsm-database-failed-queries', array( $this, 'qsm_database_failed_queries' ) );
}
add_submenu_page( 'options.php', __( 'Result Details', 'quiz-master-next' ), __( 'Result Details', 'quiz-master-next' ), 'moderate_comments', 'qsm_quiz_result_details', 'qsm_generate_result_details' );
add_submenu_page( 'qsm_dashboard', __( 'Settings', 'quiz-master-next' ), __( 'Settings', 'quiz-master-next' ), 'manage_options', 'qmn_global_settings', array( 'QMNGlobalSettingsPage', 'display_page' ) );
add_submenu_page( 'qsm_dashboard', __( 'Tools', 'quiz-master-next' ), __( 'Tools', 'quiz-master-next' ), 'manage_options', 'qsm_quiz_tools', 'qsm_generate_quiz_tools' );
add_submenu_page( 'qsm_dashboard', __( 'Stats', 'quiz-master-next' ), __( 'Stats', 'quiz-master-next' ), 'moderate_comments', 'qmn_stats', 'qmn_generate_stats_page' );
add_submenu_page( 'qsm_dashboard', __( 'Addon Settings', 'quiz-master-next' ), '<span style="color:#f39c12;">' . __( 'Addons', 'quiz-master-next' ) . '</span>', 'moderate_comments', 'qmn_addons', 'qmn_addons_page' );
add_submenu_page( 'qsm_dashboard', __( 'Get a Free Addon', 'quiz-master-next' ), '<span style="color:#f39c12;">' . esc_html__( 'Get a Free Addon!', 'quiz-master-next' ) . '</span>', 'moderate_comments', 'qsm-free-addon', 'qsm_display_optin_page' );
add_submenu_page( 'qsm_dashboard', __( 'About', 'quiz-master-next' ), __( 'About', 'quiz-master-next' ), 'moderate_comments', 'qsm_quiz_about', 'qsm_generate_about_page' );
if ( ! class_exists( 'QSM_Advanced_Assessment' ) ) {
add_submenu_page( 'qsm_dashboard', __( 'Answer Labels', 'quiz-master-next' ), __( 'Answer Labels', 'quiz-master-next' ), 'manage_options', 'qsm-answer-label', 'qsm_advanced_assessment_quiz_page_content', 3 );
}

add_submenu_page( 'qsm_dashboard', __( 'Extensions Settings', 'quiz-master-next' ), '<span style="color:#f39c12;">' . __( 'Extensions', 'quiz-master-next' ) . '</span>', 'moderate_comments', 'qmn_addons', 'qmn_addons_page', 34 );
add_submenu_page( 'qsm_dashboard', __( 'Free Add-ons', 'quiz-master-next' ), '<span style="color:#f39c12;">' . esc_html__( 'Free Add-ons', 'quiz-master-next' ) . '</span>', 'moderate_comments', 'qsm-free-addon', 'qsm_display_optin_page', 90 );
// Register screen option for dashboard page
add_action( 'screen_settings', 'qsm_dashboard_screen_options', 10, 2 );
}
Expand Down
2 changes: 1 addition & 1 deletion php/admin/addons-page.php
Original file line number Diff line number Diff line change
Expand Up @@ -211,7 +211,7 @@ function qsm_display_optin_page() {
?>
<div class="wrap about-wrap">

<h1><?php esc_html_e( 'Get Your Free Addon!', 'quiz-master-next' ); ?></h1>
<h1><?php esc_html_e( 'Get Your Free Extension!', 'quiz-master-next' ); ?></h1>

<div class="about-text">
<?php esc_html_e( 'Wanna get more out of Quiz and Survey Master, but not yet ready to spend the cash? Get one free addon today!', 'quiz-master-next' ); ?>
Expand Down
8 changes: 4 additions & 4 deletions php/template-variables.php
Original file line number Diff line number Diff line change
Expand Up @@ -952,12 +952,12 @@ function qsm_custom_wpkses_post_tags( $tags, $context ) {
'allowfullscreen' => true,
);
$tags['video'] = array(
'width' => true,
'height' => true,
'src' => true,
'width' => true,
'height' => true,
'src' => true,
'controls' => true,
'autoplay' => true,
'preload' => true,
'preload' => true,
);
$tags['source'] = array(
'src' => true,
Expand Down
Loading