Casinomeister Video slot A free online-Just Local lost island pokie machine casino Games
Articles Lost island pokie machine | The brand new Motif out of Casinomeister Able to have VSO Coins? The Favourite Gambling enterprises […]
September 27, 2025 6 min read
You can study a little more about slots and how it works within our online slots games publication. Sign up with the demanded the new gambling enterprises playing the newest position games and have an informed acceptance incentive also provides to possess 2025. You can even locate fairly easily a well liked wager for every line because the there’s a number of one runs out of 0.01 to 20. The full choice to place whenever to play during the highest bet per range and you will limit paylines is 600 coins. The new Caricature ‘s the high spending icon and you may 5 in the an excellent range usually reward you with ten,100000 gold coins. All the successful combos pay out of kept to best with the exception of those formed by scatters.
The newest Casinomeister added bonus function is actually caused whenever step three or more Vortran symbols arrive anywhere to the reels. You will have 5 100 percent free revolves leftover when the Rogue signs appear on the fresh reels. The new extensive online game library comes with an intensive game library, catering to various pro tastes. The five-Reels theme captivates players, including fullness and you may breadth for the gameplay. A deck created to showcase the perform intended for using the sight from a less dangerous and a lot more transparent online gambling community so you can truth. Nextgen’s Casinomeister generally seems to support the suggestion since it surrounds the new reels which have a-sea away from green leaves.
Lost island pokie machine | The brand new Motif out of Casinomeister
- Exactly about this video game is actually created to incorporate participants that have fair and you may enjoyable play.
- Nextgen Playing has done a really an excellent jobs featuring the newest pros away from Casinomeister-a well-identified web site you to definitely fights at no cost and you will reasonable internet casino play.
- The overall game is founded on the most popular Casinomeister website, that’s a number one pro suggest and you will watchdog for the on line betting world.
- Join our very own necessary the new gambling enterprises playing the new position games and have an informed acceptance extra now offers for 2025.
Your website also offers many totally free-to-enjoy slot games in the better local casino application company regarding the industry. Casinomeister try a good five-reel, twenty-payline slot games which have an array of provides you to definitely keep players interested and you will entertained. The online game has many signs, along with a good pint of beer, a piggy-bank, and you can a Casinomeister badge. The newest wild icon is portrayed from the Casinomeister himself, while the scatter symbol are portrayed from the Vortran bot.
- 100 percent free Spins is played from the choice for each and every range and also the paylines you to definitely caused the newest 100 percent free Spins example.
- This video game is big for the incentives and you can first-in range are the newest Caricature incentive.
- This site also offers an array of free-to-gamble slot online game in the greatest gambling establishment application organization in the industry.
- The newest comprehensive video game collection has a thorough game collection, catering to various pro choice.
- The game have a variety of gambling choices, so it is suitable for one another high and you may low rollers.
Able to have VSO Coins?

No-one wants rogue casinos and Nextgen needless to say do a lost island pokie machine great work away from depicting them because the unappealing pigs sporting Gestapo jackets. As we take care of the issue, listed below are some these similar game you could delight in. Discuss some thing associated with Casinomeister along with other players, share their viewpoint, or get ways to the questions you have. To ensure you can utilize collect to the a great jackpot strike, come across Choice Maximum so you can maximize your spin choice and the profits. The fresh sounds is actually non-invasive and you can as well as obviously like just how signs involved inside an absolute integration come to life. We had a technical topic and you will couldn’t deliver the newest activation email.
Created by the new esteemed Nextgen Gaming, it has fast distributions, making sure a fuss-totally free sense. The newest in depth graphics improve game aesthetically appealing, when you are quick subscription allow it to be very easy to gamble. The overall game features a variety of gaming alternatives, making it right for both large and you can lowest rollers. The online game also features an autoplay function, that allows professionals to put a specific number of revolves and sit to see the experience unfold. Free elite group instructional programmes to own online casino staff geared towards globe best practices, improving athlete experience, and you will fair method to gambling.
The Favourite Gambling enterprises
The game also features many incentive provides, and 100 percent free spins, multipliers, and you may a plus bullet. People will enjoy many different slots with assorted layouts featuring, away from classic fruit machines to modern videos harbors that have amazing picture and you will animated graphics. The website is updated regularly having the newest games, making sure professionals always have something fresh and you can exciting to play. Nextgen Gaming has done a very an excellent job featuring the new benefits from Casinomeister-a proper-identified web site one to matches for free and you will fair internet casino play. About the game is actually constructed to add professionals having reasonable and you will exciting play. The brand new wagers for each range, paylines, and you may complete wagers are conveyed at the end of the screen.
Casinomeister Free Enjoy inside Demo Setting
Like many other Nextgen slots, Casinomeister have a variety of features and a low-progressive jackpot, multipliers, revolves, wilds, and you can scatters, simply to identity the best. The brand new 100 percent free Revolves mode was retriggered when you get the brand new Trailing Taverns icon searching inside leftover history 5 Totally free Revolves. The newest function usually automatically drain should you choose not get the Behind Pubs icon. Totally free Spins is played from the choice for each and every line plus the paylines you to caused the newest Free Spins example.

The online game have a vibrant and you will entertaining theme, that have colorful graphics and immersive sound effects you to definitely transport people to an online local casino world. For quite some time, there are rumors you to a slot game based on the site might possibly be launched and also as we speak that it slot can be found both in 100 percent free and you will real cash play. It is a forest on the market while the one another rogue and legitimate gambling enterprises fight to own players. FreeCasinoSlotOnline.com is the best place to go for online casino enthusiasts who are in need of playing the new and more than fascinating slot machines with no to pay a penny.
Regardless if you are a professional player or a novice on the field of online gambling, Casinomeister is actually a game title that is most certainly value looking at. Casinomeister is actually a famous internet casino game designed by NextGen Gaming. The game is based on the popular Casinomeister webpages, that’s a number one pro advocate and you can watchdog to your on the internet playing community.
if (typeof TrustindexJsLoaded === 'undefined') {
var TrustindexJsLoaded = {};
}
TrustindexJsLoaded.common = true;
String.prototype.ucfirst = function() {
return this.charAt(0).toUpperCase() + this.slice(1)
}
function popupCenter(w, h)
{
let dleft = window.screenLeft !== undefined ? window.screenLeft : window.screenX;
let dtop = window.screenTop !== undefined ? window.screenTop : window.screenY;
let width = window.innerWidth ? window.innerWidth : document.documentElement.clientWidth ? document.documentElement.clientWidth : screen.width;
let height = window.innerHeight ? window.innerHeight : document.documentElement.clientHeight ? document.documentElement.clientHeight : screen.height;
let left = parseInt((width - w) / 2 + dleft);
let top = parseInt((height - h) / 2 + dtop);
return ',top=' + top + ',left=' + left;
}
jQuery.fn.expand = function() {
let textarea = jQuery(this);
let val = textarea.val();
textarea.css('height', textarea.get(0).scrollHeight + 'px');
textarea.val('').val(val);
};
jQuery(document).ready(function() {
/*************************************************************************/
/* PASSWORD TOGGLE */
jQuery('.ti-toggle-password').on('click', function(event) {
event.preventDefault();
let icon = jQuery(this);
let parent = icon.closest('.ti-form-group');
if (icon.hasClass('dashicons-visibility')) {
parent.find('input').attr('type', 'text');
icon.removeClass('dashicons-visibility').addClass('dashicons-hidden');
}
else {
parent.find('input').attr('type', 'password');
icon.removeClass('dashicons-hidden').addClass('dashicons-visibility');
}
});
// toggle opacity
jQuery('.ti-toggle-opacity').css('opacity', 1);
/*************************************************************************/
/* TOGGLE */
jQuery('#trustindex-plugin-settings-page .btn-toggle').on('click', function(event) {
event.preventDefault();
jQuery(jQuery(this).attr('href')).toggle();
return false;
});
/*************************************************************************/
/* FILTER */
// checkbox
jQuery('.ti-checkbox:not(.ti-disabled)').on('click', function() {
let checkbox = jQuery(this).find('input[type=checkbox], input[type=radio]');
checkbox.prop('checked', !checkbox.prop('checked')).trigger('change');
return false;
});
// custom select - init
jQuery('.ti-select').each(function() {
let el = jQuery(this);
let selected = el.find('ul li.ti-selected');
if (selected.length === 0) {
selected = el.find('ul li:first');
}
el.data('value', selected.data('value')).find('font').html(selected.html());
});
// custom select - toggle click
jQuery(document).on('click', '.ti-select', function() {
let el = jQuery(this);
el.toggleClass('ti-active');
if (el.hasClass('ti-active')) {
jQuery(window).unbind().on('click', function(event) {
if (!jQuery(event.target).is(el) && jQuery(event.target).closest('.ti-select').length === 0) {
el.removeClass('ti-active');
jQuery(window).unbind();
}
});
}
});
// custom select - select item
jQuery(document).on('click', '.ti-select li', function() {
let el = jQuery(this);
el.parent().parent().data('value', el.data('value')).trigger('change').find('font').html(el.html());
el.parent().find('li').removeClass('ti-selected');
el.addClass('ti-selected');
});
var isNoReviewsWithFilter = false;
// get reviews to memory
var reviewsElement = jQuery('.ti-widget-editor-preview .ti-widget').clone();
// set reviews' rating and empty to attributes
reviewsElement.find('.ti-review-item').each(function() {
let el = jQuery(this);
let rating = el.find('.ti-stars .ti-star.f, .stars .ti-star.f').length;
// facebook recommendations
if (el.find('.ti-recommendation-icon.positive').length) {
rating = 5;
}
else if (el.find('.ti-recommendation-icon.negative').length) {
rating = 1;
}
if (el.find('.ti-polarity-icon.positive').length) {
rating = 5;
}
else if (el.find('.ti-polarity-icon.neutral').length) {
rating = 3;
}
else if (el.find('.ti-polarity-icon.negative').length) {
rating = 1;
}
// ten scale
if (el.find('.ti-rating-box').length) {
rating = Math.round(parseFloat(el.find('.ti-rating-box').text()) / 2);
}
let selector = '.ti-review-content';
if (el.find('.ti-review-content .ti-inner').length) {
selector = '.ti-review-content .ti-inner';
}
else if (el.find('.ti-review-text').length) {
selector = '.ti-review-text';
}
el.attr('data-rating', rating);
if (typeof el.attr('data-empty') === 'undefined') {
el.attr('data-empty', el.find(selector).text().trim() == "" ? 1 : 0);
}
});
// check badge type
var isBadgeWidget = function() {
let layoutId = jQuery('.ti-widget-editor-preview .ti-widget').data('layout-id');
return [ 11, 12, 20, 22, 24, 25, 26, 27, 28, 29, 35, 55, 56, 57, 58, 59, 60, 61, 62 ].indexOf(layoutId) != -1;
};
// apply filter when change or init
var applyFilter = function(init) {
let styleId = parseInt(jQuery('.ti-widget').data('layout-id'));
// get stars
let stars = (jQuery('#ti-filter-star').data('value') + "").split(',').map(function(i) { return parseInt(i); });
// only ratings
let showOnlyRatings = jQuery('#ti-filter-only-ratings').prop('checked');
// filter removed
if (!jQuery('#ti-filter-star').length) {
stars = [ 1, 2, 3, 4, 5 ];
showOnlyRatings = false;
}
// remove current review elements
jQuery('.ti-widget .ti-reviews-container-wrapper .ti-review-item').remove();
// remove all event listeners on the widget
let widget = document.querySelector('.ti-widget');
widget.replaceWith(widget.cloneNode(true));
// iterate through stored reviews
let results = 0;
reviewsElement.find('.ti-review-item').each(function() {
let el = jQuery(this);
// check rating
if (stars.indexOf(el.data('rating')) !== -1) {
// check only ratings
if (showOnlyRatings && el.data('empty')) {
return;
}
// return after 5 results (vertical widgets)
if ([ '8', '9', '10', '18', '33' ].indexOf(styleId) !== -1 && results > 4) {
return;
}
// clone and append element
let clone = el.clone();
jQuery('.ti-widget-editor-preview .ti-widget .ti-reviews-container-wrapper').append(clone);
clone.hide();
clone.fadeIn();
// increase count
results++;
}
});
// clear pager interval
if (typeof Trustindex !== 'undefined' && Trustindex.intervalPointer) {
clearInterval(Trustindex.intervalPointer);
}
// show empty text
if (results === 0 && !isBadgeWidget()) {
jQuery('.ti-widget-editor-preview .ti-widget').hide().next().fadeIn();
isNoReviewsWithFilter = true;
}
else {
jQuery('.ti-widget-editor-preview .ti-widget').fadeIn().next().hide();
isNoReviewsWithFilter = false;
if (typeof Trustindex !== 'undefined') {
Trustindex.pager_inited = true;
Trustindex.init_pager(document.querySelectorAll('.ti-widget'));
Trustindex.resize_widgets();
}
}
// ajax save
if (init !== true) {
jQuery.post('', {
command: 'save-filter',
_wpnonce: jQuery('#ti-filter-star').data('nonce'),
filter: JSON.stringify({
'stars': stars,
'only-ratings': showOnlyRatings
})
});
}
}
// hooks
jQuery('#ti-filter-star').on('change', applyFilter);
jQuery('#ti-filter-only-ratings').on('change', function(event) {
event.preventDefault();
applyFilter();
return false;
});
// init
if (reviewsElement.length) {
applyFilter(true);
}
// background post save - style and set change
jQuery('#ti-widget-selects select, #ti-widget-options input[type=checkbox]:not(.no-form-update)').on('change', function() {
let form = jQuery(this).closest('form');
let data = form.serializeArray();
// include unchecked checkboxes
form.find('input[type=checkbox]:not(.no-form-update)').each(function() {
let checkbox = jQuery(this);
if (!checkbox.prop('checked') && checkbox.attr('name')) {
data.push({
name: checkbox.attr('name'),
value: 0
});
}
});
// show loading
jQuery('#ti-loading').addClass('ti-active');
jQuery('li.ti-preview-box').addClass('disabled');
jQuery.ajax({
url: form.attr('action'),
type: 'post',
dataType: 'application/json',
data: data
}).always(() => location.reload(true));
return false;
});
// layout select filter
jQuery('input[name=layout-select]').on('change', function(event) {
event.preventDefault();
let ids = (jQuery('input[name=layout-select]:checked').data('ids') + "").split(',');
console.log('filter', ids);
if (ids.length === 0 || ids[0] === "") {
jQuery('.ti-preview-boxes-container').find('.ti-full-width, .ti-half-width').fadeIn();
}
else {
jQuery('.ti-preview-boxes-container').find('.ti-full-width, .ti-half-width').hide();
ids.forEach(id => jQuery('.ti-preview-boxes-container').find('.ti-preview-boxes[data-layout-id="'+ id + '"]').parent().fadeIn());
}
return false;
});
/*************************************************************************/
/* MODAL */
jQuery(document).on('click', '.btn-modal-close', function(event) {
event.preventDefault();
jQuery(this).closest('.ti-modal').fadeOut();
});
jQuery(document).on('click', '.ti-modal', function(event) {
if (event.target.nodeName !== 'A') {
event.preventDefault();
if (!jQuery(event.target).closest('.ti-modal-dialog').length) {
jQuery(this).fadeOut();
}
}
});
/*************************************************************************/
/* NOTICE HIDE */
jQuery(document).on('click', '.ti-notice.is-dismissible .notice-dismiss', function() {
let button = jQuery(this);
let container = button.closest('.ti-notice');
container.fadeOut(200);
if (button.data('command') && !button.data('ajax-run')) {
button.data('ajax-run', 1); // prevent multiple triggers
jQuery.post('', { command: button.data('command') });
}
});
jQuery('.ti-checkbox input[type=checkbox][onchange]').on('change', function() {
jQuery('#ti-loading').addClass('ti-active');
});
/*************************************************************************/
/* DROPDOWN */
// change dropdown arrow positions
let fixDropdownArrows = function() {
jQuery('.ti-button-dropdown-arrow').each(function() {
let arrow = jQuery(this);
let button = arrow.closest('td').find(arrow.data('button'));
// add prev buttons' width
let left = 0;
button.prevAll('.ti-btn').each(function() {
left += jQuery(this).outerWidth(true);
});
// center the arrow
left += button.outerWidth() / 2;
arrow.css('left', left + 'px');
});
};
fixDropdownArrows();
/*************************************************************************/
/* AI REPLY */
let generateAiReply = function(text, callback) {
let tiWindow = window.open('', 'trustindex-generate-ai-reply', 'width=500,height=500,menubar=0' + popupCenter(500, 500));
let form = document.createElement('form');
let input = document.createElement('input');
// create form to pass POST data
form.target = 'trustindex-generate-ai-reply';
form.method = 'POST';
form.action = 'https://admin.trustindex.io/integration/generateAiReply';
form.style.display = 'none';
// data will be in a hidden input
input.type = 'hidden';
input.name = 'json';
input.value = JSON.stringify({ text: text, language: jQuery('#ti-widget-language').val() });
form.appendChild(input);
// add form to body
document.body.appendChild(form);
if (tiWindow) {
form.submit();
}
// remove added form
form.remove();
// popup close interval
let timer = setInterval(function() {
if (tiWindow.closed) {
callback(false);
clearInterval(timer);
}
}, 1000);
// wait for response from Trustindex
jQuery(window).one('message', function(event) {
// event comes from the correct window
if (tiWindow == event.originalEvent.source) {
clearInterval(timer);
callback(event.originalEvent.data.reply);
tiWindow.close();
}
});
};
let postReply = function(data, reconnect, callback) {
let tiWindow = window.open('', 'trustindex-post-reply', 'width=600,height=600,menubar=0' + popupCenter(600, 600));
let form = document.createElement('form');
let input = document.createElement('input');
// create form to pass POST data
form.target = 'trustindex-post-reply';
form.method = 'POST';
form.action = 'https://admin.trustindex.io/integration/postReply?type=google';
form.style.display = 'none';
if (reconnect) {
form.action += '&reconnect=1';
}
// data will be in a hidden input (JSON)
input.type = 'hidden';
input.name = 'json';
input.value = JSON.stringify(data);
form.appendChild(input);
// add form to body
document.body.appendChild(form);
if (tiWindow) {
form.submit();
}
// remove added form
form.remove();
// popup close interval
let timer = setInterval(function() {
if (tiWindow.closed) {
callback(undefined);
clearInterval(timer);
}
}, 1000);
// wait for response from Trustindex
jQuery(window).one('message', function(event) {
// event comes from the correct window
if (tiWindow == event.originalEvent.source) {
clearInterval(timer);
callback(!!event.originalEvent.data.success);
tiWindow.close();
}
});
};
// show reply section
// - generate reply with AI if not edit
jQuery(document).on('click', '.btn-show-ai-reply', function(event) {
event.preventDefault();
let btn = jQuery(this);
let td = btn.closest('td');
btn.addClass('ti-btn-loading').blur();
let replyBox = td.find('.ti-reply-box');
replyBox.find('.btn-post-reply').attr('data-reconnect', 0);
replyBox.find('.ti-alert').addClass('ti-d-none');
// generate reply with AI if not edit
if (replyBox.attr('data-state') === 'reply' || replyBox.attr('data-state') === 'copy-reply') {
let data = JSON.parse(replyBox.next().html());
generateAiReply(data.review.text, function(reply) {
btn.removeClass('ti-btn-loading');
// popup closed
if (reply === false) {
return;
}
btn.addClass('ti-btn-default-disabled');
replyBox.addClass('ti-active');
td.find('.ti-highlight-box').removeClass('ti-active');
td.find('.btn-show-highlight').removeClass('ti-btn-default-disabled');
let textarea = replyBox.find('.state-'+ replyBox.attr('data-state') +' textarea');
textarea.val(reply).focus().expand();
if (!data.review.text.trim()) {
replyBox.find('.ti-alert.ti-alert-empty-review').removeClass('d-none');
}
// save in DB
jQuery.ajax({
method: 'POST',
url: window.location.href,
data: { 'save-reply-generated': 1 }
});
});
}
else {
btn.removeClass('ti-btn-loading').addClass('ti-btn-default-disabled');
replyBox.addClass('ti-active');
td.find('.ti-highlight-box').removeClass('ti-active');
td.find('.btn-show-highlight').removeClass('ti-btn-default-disabled');
}
});
// hide reply section
jQuery(document).on('click', '.btn-hide-ai-reply', function(event) {
event.preventDefault();
let btn = jQuery(this);
btn.blur();
let replyBox = btn.closest('td').find('.ti-reply-box');
replyBox.attr('data-state', replyBox.attr('data-original-state'));
if (replyBox.attr('data-state') !== 'replied') {
replyBox.removeClass('ti-active');
}
btn.closest('td').find('.btn-show-ai-reply').removeClass('ti-btn-default-disabled');
});
// show edit reply section
jQuery(document).on('click', '.btn-show-edit-reply', function(event) {
event.preventDefault();
let btn = jQuery(this);
let replyBox = btn.closest('td').find('.ti-reply-box');
replyBox.attr('data-state', 'edit-reply');
replyBox.find('.state-edit-reply textarea').focus().expand();
});
// hide edit reply section
jQuery(document).on('click', '.btn-hide-edit-reply', function(event) {
event.preventDefault();
let btn = jQuery(this);
let replyBox = btn.closest('td').find('.ti-reply-box');
replyBox.find('.ti-alert').addClass('ti-d-none');
replyBox.attr('data-state', 'replied');
});
// post reply
jQuery(document).on('click', '.btn-post-reply', function(event) {
event.preventDefault();
let btn = jQuery(this);
let replyBox = btn.closest('td').find('.ti-reply-box');
let data = JSON.parse(replyBox.next().html());
let textarea = btn.closest('.ti-reply-box-state').find('textarea');
let reply = textarea.val().trim();
textarea.removeClass('is-invalid');
if (reply === "") {
return textarea.addClass('is-invalid');
}
btn.addClass('ti-btn-loading').blur();
data.reply = reply;
postReply(data, btn.attr('data-reconnect') == 1, function(isSuccess) {
btn.removeClass('ti-btn-loading');
// popup closed
if (isSuccess === undefined) {
return;
}
if (isSuccess) {
// save in DB
jQuery.ajax({
method: 'POST',
url: window.location.href,
data: {
id: btn.attr('href'),
_wpnonce: btn.data('nonce'),
'save-reply': reply
}
});
// show replied section
replyBox.attr('data-state', 'replied').attr('data-original-state', 'replied');
replyBox.find('.state-replied p').html(reply);
replyBox.find('.state-edit-reply textarea').val(reply);
replyBox.find('.state-replied .ti-alert').removeClass('ti-d-none');
// change Reply with AI button text
let replyButton = replyBox.closest('td').find('.btn-show-ai-reply:not(.btn-default)');
if (replyButton.length) {
replyButton.html(replyButton.data('edit-reply-text')).addClass('btn-default');
setTimeout(fixDropdownArrows, 100);
}
}
else {
// set try again button state
replyBox.find('.state-copy-reply .btn-try-reply-again').data('state', replyBox.attr('data-state'));
// show copy section
replyBox.attr('data-state', 'copy-reply');
replyBox.find('.state-copy-reply textarea').val(reply).focus().expand();
replyBox.find('.state-copy-reply .ti-alert').removeClass('ti-d-none');
}
});
});
/*************************************************************************/
/* HIGHLIGHT */
// show highlight section
jQuery(document).on('click', '.btn-show-highlight', function(event) {
event.preventDefault();
let btn = jQuery(this);
let td = btn.closest('td');
let replyBox = td.find('.ti-reply-box');
btn.addClass('ti-btn-default-disabled').blur();
td.find('.ti-highlight-box').addClass('ti-active');
replyBox.attr('data-state', replyBox.attr('data-original-state'));
replyBox.removeClass('ti-active');
td.find('.btn-show-ai-reply').removeClass('ti-btn-default-disabled');
});
// hide highlight section
jQuery(document).on('click', '.btn-hide-highlight', function(event) {
event.preventDefault();
let btn = jQuery(this);
let td = btn.closest('td');
btn.blur();
td.find('.ti-highlight-box').removeClass('ti-active');
td.find('.btn-show-highlight').removeClass('ti-btn-default-disabled');
td.find('.ti-reply-box[data-state="replied"]').addClass('ti-active');
if (td.find('.ti-reply-box').attr('data-state') === 'replied') {
td.find('.btn-show-ai-reply').addClass('ti-btn-default-disabled');
}
});
// highlight save
jQuery(document).on('click', '.btn-save-highlight', function(event) {
event.preventDefault();
let btn = jQuery(this);
let highlightContent = btn.closest('td').find('.ti-highlight-content .ti-selection-content');
let data = TI_highlight_getSelection(highlightContent.get(0));
if (data.start !== null) {
data.id = btn.attr('href');
data._wpnonce = btn.data('nonce');
data['save-highlight'] = 1;
btn.addClass('ti-btn-loading').blur();
btn.closest('td').find('.ti-btn').css('pointer-events', 'none');
jQuery.ajax({
method: 'POST',
url: window.location.href,
data: data
}).always(() => location.reload(true));
}
});
// highlight remove
jQuery(document).on('click', '.btn-remove-highlight', function(event) {
event.preventDefault();
let btn = jQuery(this);
btn.addClass('ti-btn-loading').blur();
btn.closest('td').find('.ti-btn').css('pointer-events', 'none');
jQuery.ajax({
method: 'POST',
url: window.location.href,
data: {
id: btn.attr('href'),
_wpnonce: btn.data('nonce'),
'save-highlight': 1
}
}).always(() => location.reload(true));
});
// review download notification email
jQuery(document).on('click', '.btn-notification-email-save', function(event) {
event.preventDefault();
let container = jQuery(this).closest('.ti-notification-email');
let input = container.find('input[type="text"]');
let type = input.data('type');
let nonce = input.data('nonce');
let email = input.val().trim().toLowerCase();
// hide alerts
container.find('.ti-notice').hide();
// check email
if (email !== "" && !/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/.test(email)) {
return container.find('.ti-notice').fadeIn();
}
// show loading
jQuery('#ti-loading').addClass('ti-active');
// save email
jQuery.post("", {
'save-notification-email': email,
'type': type,
'_wpnonce': nonce
}, () => location.reload(true));
});
});
// - import/btn-loading.js
// loading on click
jQuery(document).on('click', '.ti-btn-loading-on-click', function() {
let btn = jQuery(this);
btn.addClass('ti-btn-loading').blur();
});
// - import/copy-to-clipboard.js
jQuery(document).on('click', '.btn-copy2clipboard', function(event) {
event.preventDefault();
let btn = jQuery(this);
btn.blur();
let obj = jQuery(btn.attr('href'));
let text = obj.html() ? obj.html() : obj.val();
// parse html
let textArea = document.createElement('textarea');
textArea.innerHTML = text;
text = textArea.value;
let feedback = () => {
btn.removeClass('ti-toggle-tooltip').addClass('ti-show-tooltip');
if (typeof this.timeout !== 'undefined') {
clearTimeout(this.timeout);
}
this.timeout = setTimeout(() => btn.removeClass('ti-show-tooltip').addClass('ti-toggle-tooltip'), 3000);
};
if (!navigator.clipboard) {
// fallback
textArea = document.createElement('textarea');
textArea.value = text;
textArea.style.position = 'fixed'; // avoid scrolling to bottom
document.body.appendChild(textArea);
textArea.focus();
textArea.select();
try {
var successful = document.execCommand('copy');
feedback();
}
catch (err) { }
document.body.removeChild(textArea);
return;
}
navigator.clipboard.writeText(text).then(feedback);
});
// - import/feature-request.js
jQuery(document).on('click', '.btn-send-feature-request', function(event) {
event.preventDefault();
let btn = jQuery(this);
btn.blur();
let container = jQuery('.ti-feature-request');
let email = container.find('input[name="email"]').val().trim();
let text = container.find('textarea[name="description"]').val().trim();
// hide errors
container.find('.is-invalid').removeClass('is-invalid');
// check email
if (email === "" || !/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/.test(email)) {
container.find('input[name="email"]').addClass('is-invalid');
}
// check text
if (text === "") {
container.find('textarea[name="description"]').addClass('is-invalid');
}
// there is error
if (container.find('.is-invalid').length) {
return false;
}
// show loading animation
btn.addClass('ti-btn-loading');
let data = new FormData(jQuery('.ti-feature-request form').get(0));
// ajax request
jQuery.ajax({
type: 'POST',
data: data,
cache: false,
contentType: false,
processData: false
}).always(function() {
btn.removeClass('ti-btn-loading');
btn.addClass('ti-show-tooltip').removeClass('ti-toggle-tooltip');
setTimeout(() => btn.removeClass('ti-show-tooltip').addClass('ti-toggle-tooltip'), 3000);
});
});
// - import/rate-us.js
// remember on hover
jQuery(document).on('mouseenter', '.ti-quick-rating', function(event) {
let container = jQuery(this);
let selected = container.find('.ti-star-check.ti-active, .star-check.active');
if (selected.length) {
// add index to data & remove all active stars
container.data('selected', selected.index()).find('.ti-star-check, .star-check').removeClass('ti-active active');
// give back active star on mouse enter
container.one('mouseleave', () => container.find('.ti-star-check, .star-check').eq(container.data('selected')).addClass('ti-active active'));
}
});
// star click
jQuery(document).on('click', '.ti-rate-us-box .ti-quick-rating .ti-star-check', function(event) {
event.preventDefault();
let star = jQuery(this);
let container = star.parent();
// add index to data & remove all active stars
container.data('selected', star.index()).find('.ti-star-check').removeClass('ti-active');
// select current star
star.addClass('ti-active');
// show modals
if (parseInt(star.data('value')) >= 4) {
// open new window
window.open(location.href + '&command=rate-us-feedback&_wpnonce='+ container.data('nonce') +'&star=' + star.data('value'), '_blank');
jQuery('.ti-rate-us-box').fadeOut();
}
else {
let feedbackModal = jQuery('#ti-rateus-modal-feedback');
if (feedbackModal.data('bs') == '5') {
feedbackModal.modal('show');
setTimeout(() => feedbackModal.find('textarea').focus(), 500);
}
else {
feedbackModal.fadeIn();
feedbackModal.find('textarea').focus();
}
feedbackModal.find('.ti-quick-rating .ti-star-check').removeClass('ti-active').eq(star.index()).addClass('ti-active');
}
});
// write to support
jQuery(document).on('click', '.btn-rateus-support', function(event) {
event.preventDefault();
let btn = jQuery(this);
btn.blur();
let container = jQuery('#ti-rateus-modal-feedback');
let email = container.find('input[type=text]').val().trim();
let text = container.find('textarea').val().trim();
// hide errors
container.find('input[type=text], textarea').removeClass('is-invalid');
// check email
if (email === "" || !/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/.test(email)) {
container.find('input[type=text]').addClass('is-invalid').focus();
}
// check text
if (text === "") {
container.find('textarea').addClass('is-invalid').focus();
}
// there is error
if (container.find('.is-invalid').length) {
return false;
}
// show loading animation
btn.addClass('ti-btn-loading');
container.find('a, button').css('pointer-events', 'none');
// ajax request
jQuery.ajax({
type: 'post',
dataType: 'application/json',
data: {
command: 'rate-us-feedback',
_wpnonce: btn.data('nonce'),
email: email,
text: text,
star: container.find('.ti-quick-rating .ti-star-check.ti-active').data('value')
}
}).always(() => location.reload(true));
});