Version Description
- Bug fixed: Multiple paginations on same page do not work
- Bug fixed: Fix some UI bugs in Add/Edit View page
Download this release
Release Info
Developer | PT Guy |
Plugin | Content Views – Post Grid & List for WordPress |
Version | 1.5.5 |
Comparing to | |
See all releases |
Code changes from version 1.5.4 to 1.5.5
- README.txt +5 -1
- admin/assets/js/admin.js +47 -47
- admin/views/view.php +2 -2
- content-views.php +2 -2
- includes/functions.php +7 -4
- public/assets/css/public.css +3 -3
- public/assets/js/public.js +6 -5
README.txt
CHANGED
@@ -4,7 +4,7 @@ Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_i
|
|
4 |
Tags: post, posts, page, pages, query, queries, search, display, show, grid, column, layout, author, blog, categories, category, comment, content, custom, editor, filter, Formatting, image, list, meta, plugin, responsive, shortcode, excerpt, title, tag, term, Taxonomy, thumbnail, pagination, date, scrollable, slider, collapsible
|
5 |
Requires at least: 3.3
|
6 |
Tested up to: 4.1.1
|
7 |
-
Stable tag: 1.5.
|
8 |
License: GPLv2 or later
|
9 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
10 |
|
@@ -165,6 +165,10 @@ function my_move_bootstrap( $args ) {
|
|
165 |
|
166 |
== Changelog ==
|
167 |
|
|
|
|
|
|
|
|
|
168 |
= 1.5.4 =
|
169 |
* Bug fixed: "Invalid post type" error in "All Views" page
|
170 |
* Update: Better responsive output of Scrollable List on Mobile
|
4 |
Tags: post, posts, page, pages, query, queries, search, display, show, grid, column, layout, author, blog, categories, category, comment, content, custom, editor, filter, Formatting, image, list, meta, plugin, responsive, shortcode, excerpt, title, tag, term, Taxonomy, thumbnail, pagination, date, scrollable, slider, collapsible
|
5 |
Requires at least: 3.3
|
6 |
Tested up to: 4.1.1
|
7 |
+
Stable tag: 1.5.5
|
8 |
License: GPLv2 or later
|
9 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
10 |
|
165 |
|
166 |
== Changelog ==
|
167 |
|
168 |
+
= 1.5.5 =
|
169 |
+
* Bug fixed: Multiple paginations on same page do not work
|
170 |
+
* Bug fixed: Fix some UI bugs in Add/Edit View page
|
171 |
+
|
172 |
= 1.5.4 =
|
173 |
* Bug fixed: "Invalid post type" error in "All Views" page
|
174 |
* Update: Better responsive output of Scrollable List on Mobile
|
admin/assets/js/admin.js
CHANGED
@@ -8,10 +8,10 @@
|
|
8 |
* @copyright 2014 PT Guy
|
9 |
*/
|
10 |
|
11 |
-
(
|
12 |
"use strict";
|
13 |
|
14 |
-
$.PT_CV_Admin = $.PT_CV_Admin || {
|
15 |
|
16 |
$.PT_CV_Admin = function (options) {
|
17 |
this.options = options;
|
@@ -21,14 +21,13 @@
|
|
21 |
};
|
22 |
|
23 |
$.PT_CV_Admin.prototype = {
|
24 |
-
|
25 |
/**
|
26 |
* Toggle panel when click Show/Hide icon on Heading
|
27 |
*
|
28 |
* @param {type} $selector
|
29 |
* @returns {undefined}
|
30 |
*/
|
31 |
-
_toggle_panel
|
32 |
$('body').on('click', $selector, function (e) {
|
33 |
var $heading = $(this);
|
34 |
var $span = $heading.find('span.clickable');
|
@@ -50,7 +49,7 @@
|
|
50 |
*
|
51 |
* @returns void
|
52 |
*/
|
53 |
-
_toggle_taxonomy_relation
|
54 |
var $self = this;
|
55 |
var _prefix = $self.options._prefix;
|
56 |
|
@@ -96,7 +95,7 @@
|
|
96 |
* @param {type} el : string to selector
|
97 |
* @returns {undefined}
|
98 |
*/
|
99 |
-
_get_field_val
|
100 |
var $this = $(el);
|
101 |
var value = $(el).val();
|
102 |
|
@@ -112,7 +111,7 @@
|
|
112 |
* @param {type} $toggle_data_js_
|
113 |
* @returns {undefined}
|
114 |
*/
|
115 |
-
dependence_do_all
|
116 |
var $self = this;
|
117 |
var _prefix = $self.options._prefix;
|
118 |
var $toggle_data_js = $.parseJSON($toggle_data_js_);
|
@@ -140,7 +139,7 @@
|
|
140 |
* @param {type} obj_sub : an object contains (dependence_id, expect_val, operator)
|
141 |
* @returns {undefined}
|
142 |
*/
|
143 |
-
_dependence_group
|
144 |
var $self = this;
|
145 |
$.each(obj_sub, function (key, data) {
|
146 |
$self._dependence_element(data[0], this_val, data[2], data[1]);
|
@@ -155,24 +154,24 @@
|
|
155 |
* @param {type} expect_val : expect value of B to show A group
|
156 |
* @returns {undefined}
|
157 |
*/
|
158 |
-
_dependence_element
|
159 |
|
160 |
var dependence_el = $("#" + dependence_id);
|
161 |
var pass = 0;
|
162 |
switch (operator) {
|
163 |
case "=":
|
164 |
-
|
165 |
-
|
166 |
-
|
167 |
-
|
168 |
-
|
169 |
break;
|
170 |
case "!=":
|
171 |
-
|
172 |
-
|
173 |
-
|
174 |
-
|
175 |
-
|
176 |
break;
|
177 |
default :
|
178 |
if (typeof expect_val !== 'object')
|
@@ -205,7 +204,7 @@
|
|
205 |
* @param {type} id_prefix
|
206 |
* @returns {undefined}
|
207 |
*/
|
208 |
-
toggle_group
|
209 |
var $self = this;
|
210 |
// Run on page load
|
211 |
$(selector).each(function () {
|
@@ -214,7 +213,10 @@
|
|
214 |
// Run on change
|
215 |
$(selector).each(function () {
|
216 |
$(this).change(function () {
|
217 |
-
$
|
|
|
|
|
|
|
218 |
});
|
219 |
});
|
220 |
},
|
@@ -225,10 +227,10 @@
|
|
225 |
* @param {type} id_prefix
|
226 |
* @returns {undefined}
|
227 |
*/
|
228 |
-
_toggle_each_group
|
229 |
var $self = this;
|
230 |
var _prefix = $self.options._prefix;
|
231 |
-
if ($this.is('select') || (
|
232 |
// Get id of element A which needs to toggle
|
233 |
var toggle_id = '#' + id_prefix + $this.val();
|
234 |
|
@@ -272,7 +274,7 @@
|
|
272 |
*
|
273 |
* @returns {undefined}
|
274 |
*/
|
275 |
-
_content_type
|
276 |
var $self = this;
|
277 |
var _prefix = $self.options._prefix;
|
278 |
|
@@ -353,7 +355,7 @@
|
|
353 |
* @param string _nonce
|
354 |
* @returns {undefined}
|
355 |
*/
|
356 |
-
preview
|
357 |
var $self = this;
|
358 |
var _prefix = $self.options._prefix;
|
359 |
|
@@ -423,46 +425,46 @@
|
|
423 |
* @param object $this_btn The Show/Hide preview button
|
424 |
* @returns void
|
425 |
*/
|
426 |
-
_preview_request
|
427 |
var $self = this;
|
428 |
var _prefix = $self.options._prefix;
|
429 |
|
430 |
// Setup data
|
431 |
var data = {
|
432 |
-
action
|
433 |
-
data
|
434 |
ajax_nonce: _nonce
|
435 |
};
|
436 |
|
437 |
// Sent POST request
|
438 |
$.ajax({
|
439 |
type: "POST",
|
440 |
-
url
|
441 |
data: data,
|
442 |
}).done(function (response) {
|
443 |
-
|
444 |
-
|
445 |
-
|
446 |
|
447 |
-
|
448 |
-
|
449 |
|
450 |
-
|
451 |
-
|
452 |
|
453 |
-
|
454 |
-
|
455 |
|
456 |
-
|
457 |
-
|
458 |
-
|
459 |
},
|
460 |
/**
|
461 |
* Toggle 'Thumbnail settings'
|
462 |
*
|
463 |
* @returns {undefined}
|
464 |
*/
|
465 |
-
_thumbnail_settings
|
466 |
var _prefix = this.options._prefix;
|
467 |
var _thumbnail_setting_state = 1;
|
468 |
|
@@ -501,7 +503,7 @@
|
|
501 |
* Toggle 'Layout format' when change 'View type'
|
502 |
*/
|
503 |
var fn_layout_format = function (this_val, layout_format) {
|
504 |
-
var expect_val = [
|
505 |
|
506 |
// Add more layouts
|
507 |
$('.pt-wrap').trigger('toggle-layout-format', [expect_val]);
|
@@ -531,7 +533,7 @@
|
|
531 |
* Toggle text of Preview button
|
532 |
* @returns {undefined}
|
533 |
*/
|
534 |
-
_preview_btn_toggle
|
535 |
|
536 |
var $self = this;
|
537 |
var _prefix = $self.options._prefix;
|
@@ -556,7 +558,6 @@
|
|
556 |
_fn();
|
557 |
});
|
558 |
},
|
559 |
-
|
560 |
/**
|
561 |
* Do handy toggle for Excerpt settings
|
562 |
*
|
@@ -587,7 +588,6 @@
|
|
587 |
// Handy do other toggle
|
588 |
$('.pt-wrap').trigger(_prefix + 'multi-level-toggle');
|
589 |
},
|
590 |
-
|
591 |
/**
|
592 |
* Custom js for elements
|
593 |
* @returns {undefined}
|
@@ -635,4 +635,4 @@
|
|
635 |
});
|
636 |
},
|
637 |
};
|
638 |
-
}(jQuery)
|
8 |
* @copyright 2014 PT Guy
|
9 |
*/
|
10 |
|
11 |
+
(function ($) {
|
12 |
"use strict";
|
13 |
|
14 |
+
$.PT_CV_Admin = $.PT_CV_Admin || {};
|
15 |
|
16 |
$.PT_CV_Admin = function (options) {
|
17 |
this.options = options;
|
21 |
};
|
22 |
|
23 |
$.PT_CV_Admin.prototype = {
|
|
|
24 |
/**
|
25 |
* Toggle panel when click Show/Hide icon on Heading
|
26 |
*
|
27 |
* @param {type} $selector
|
28 |
* @returns {undefined}
|
29 |
*/
|
30 |
+
_toggle_panel: function ($selector) {
|
31 |
$('body').on('click', $selector, function (e) {
|
32 |
var $heading = $(this);
|
33 |
var $span = $heading.find('span.clickable');
|
49 |
*
|
50 |
* @returns void
|
51 |
*/
|
52 |
+
_toggle_taxonomy_relation: function () {
|
53 |
var $self = this;
|
54 |
var _prefix = $self.options._prefix;
|
55 |
|
95 |
* @param {type} el : string to selector
|
96 |
* @returns {undefined}
|
97 |
*/
|
98 |
+
_get_field_val: function (el) {
|
99 |
var $this = $(el);
|
100 |
var value = $(el).val();
|
101 |
|
111 |
* @param {type} $toggle_data_js_
|
112 |
* @returns {undefined}
|
113 |
*/
|
114 |
+
dependence_do_all: function ($toggle_data_js_) {
|
115 |
var $self = this;
|
116 |
var _prefix = $self.options._prefix;
|
117 |
var $toggle_data_js = $.parseJSON($toggle_data_js_);
|
139 |
* @param {type} obj_sub : an object contains (dependence_id, expect_val, operator)
|
140 |
* @returns {undefined}
|
141 |
*/
|
142 |
+
_dependence_group: function (this_val, obj_sub) {
|
143 |
var $self = this;
|
144 |
$.each(obj_sub, function (key, data) {
|
145 |
$self._dependence_element(data[0], this_val, data[2], data[1]);
|
154 |
* @param {type} expect_val : expect value of B to show A group
|
155 |
* @returns {undefined}
|
156 |
*/
|
157 |
+
_dependence_element: function (dependence_id, this_val, operator, expect_val) {
|
158 |
|
159 |
var dependence_el = $("#" + dependence_id);
|
160 |
var pass = 0;
|
161 |
switch (operator) {
|
162 |
case "=":
|
163 |
+
{
|
164 |
+
if (typeof expect_val === 'string')
|
165 |
+
expect_val = [expect_val];
|
166 |
+
pass = ($.inArray(this_val, expect_val) >= 0);
|
167 |
+
}
|
168 |
break;
|
169 |
case "!=":
|
170 |
+
{
|
171 |
+
if (typeof expect_val === 'string')
|
172 |
+
expect_val = [expect_val];
|
173 |
+
pass = ($.inArray(this_val, expect_val) < 0);
|
174 |
+
}
|
175 |
break;
|
176 |
default :
|
177 |
if (typeof expect_val !== 'object')
|
204 |
* @param {type} id_prefix
|
205 |
* @returns {undefined}
|
206 |
*/
|
207 |
+
toggle_group: function (selector, id_prefix) {
|
208 |
var $self = this;
|
209 |
// Run on page load
|
210 |
$(selector).each(function () {
|
213 |
// Run on change
|
214 |
$(selector).each(function () {
|
215 |
$(this).change(function () {
|
216 |
+
var this_ = $(this);
|
217 |
+
setTimeout(function () {
|
218 |
+
$self._toggle_each_group(this_, id_prefix);
|
219 |
+
}, 200);
|
220 |
});
|
221 |
});
|
222 |
},
|
227 |
* @param {type} id_prefix
|
228 |
* @returns {undefined}
|
229 |
*/
|
230 |
+
_toggle_each_group: function ($this, id_prefix) {
|
231 |
var $self = this;
|
232 |
var _prefix = $self.options._prefix;
|
233 |
+
if ($this.is('select') || (($this.is(':checkbox') || $this.is(':radio')) && $this.is(':checked'))) {
|
234 |
// Get id of element A which needs to toggle
|
235 |
var toggle_id = '#' + id_prefix + $this.val();
|
236 |
|
274 |
*
|
275 |
* @returns {undefined}
|
276 |
*/
|
277 |
+
_content_type: function () {
|
278 |
var $self = this;
|
279 |
var _prefix = $self.options._prefix;
|
280 |
|
355 |
* @param string _nonce
|
356 |
* @returns {undefined}
|
357 |
*/
|
358 |
+
preview: function (_nonce) {
|
359 |
var $self = this;
|
360 |
var _prefix = $self.options._prefix;
|
361 |
|
425 |
* @param object $this_btn The Show/Hide preview button
|
426 |
* @returns void
|
427 |
*/
|
428 |
+
_preview_request: function (preview_box, _data, _nonce, $this_btn) {
|
429 |
var $self = this;
|
430 |
var _prefix = $self.options._prefix;
|
431 |
|
432 |
// Setup data
|
433 |
var data = {
|
434 |
+
action: 'preview_request',
|
435 |
+
data: _data,
|
436 |
ajax_nonce: _nonce
|
437 |
};
|
438 |
|
439 |
// Sent POST request
|
440 |
$.ajax({
|
441 |
type: "POST",
|
442 |
+
url: ajaxurl,
|
443 |
data: data,
|
444 |
}).done(function (response) {
|
445 |
+
preview_box.css('opacity', '1');
|
446 |
+
// Hide loading icon
|
447 |
+
preview_box.next().addClass('hidden');
|
448 |
|
449 |
+
// Update content of Preview box
|
450 |
+
preview_box.html(response);
|
451 |
|
452 |
+
// Toggle text of this button
|
453 |
+
$this_btn.html(PT_CV_ADMIN.btn.preview.hide);
|
454 |
|
455 |
+
// Disable preview
|
456 |
+
$self.options.can_preview = 0;
|
457 |
|
458 |
+
// Trigger action, to recall function such as pagination, pinterest render layout...
|
459 |
+
$('body').trigger(_prefix + 'custom-trigger');
|
460 |
+
});
|
461 |
},
|
462 |
/**
|
463 |
* Toggle 'Thumbnail settings'
|
464 |
*
|
465 |
* @returns {undefined}
|
466 |
*/
|
467 |
+
_thumbnail_settings: function () {
|
468 |
var _prefix = this.options._prefix;
|
469 |
var _thumbnail_setting_state = 1;
|
470 |
|
503 |
* Toggle 'Layout format' when change 'View type'
|
504 |
*/
|
505 |
var fn_layout_format = function (this_val, layout_format) {
|
506 |
+
var expect_val = ['scrollable'];
|
507 |
|
508 |
// Add more layouts
|
509 |
$('.pt-wrap').trigger('toggle-layout-format', [expect_val]);
|
533 |
* Toggle text of Preview button
|
534 |
* @returns {undefined}
|
535 |
*/
|
536 |
+
_preview_btn_toggle: function () {
|
537 |
|
538 |
var $self = this;
|
539 |
var _prefix = $self.options._prefix;
|
558 |
_fn();
|
559 |
});
|
560 |
},
|
|
|
561 |
/**
|
562 |
* Do handy toggle for Excerpt settings
|
563 |
*
|
588 |
// Handy do other toggle
|
589 |
$('.pt-wrap').trigger(_prefix + 'multi-level-toggle');
|
590 |
},
|
|
|
591 |
/**
|
592 |
* Custom js for elements
|
593 |
* @returns {undefined}
|
635 |
});
|
636 |
},
|
637 |
};
|
638 |
+
}(jQuery));
|
admin/views/view.php
CHANGED
@@ -406,7 +406,7 @@ $options = array(
|
|
406 |
), // End Order by Settings
|
407 |
|
408 |
// Author Settings
|
409 |
-
'author' => array(
|
410 |
array(
|
411 |
'label' => array(
|
412 |
'text' => __( 'Written by', PT_CV_DOMAIN ),
|
@@ -438,7 +438,7 @@ $options = array(
|
|
438 |
),
|
439 |
),
|
440 |
) : array(),
|
441 |
-
), // End Author Settings
|
442 |
|
443 |
// Status Settings
|
444 |
'status' => array(
|
406 |
), // End Order by Settings
|
407 |
|
408 |
// Author Settings
|
409 |
+
'author' => apply_filters( PT_CV_PREFIX_ . 'author_settings', array(
|
410 |
array(
|
411 |
'label' => array(
|
412 |
'text' => __( 'Written by', PT_CV_DOMAIN ),
|
438 |
),
|
439 |
),
|
440 |
) : array(),
|
441 |
+
) ), // End Author Settings
|
442 |
|
443 |
// Status Settings
|
444 |
'status' => array(
|
content-views.php
CHANGED
@@ -10,7 +10,7 @@
|
|
10 |
* Plugin Name: Content Views
|
11 |
* Plugin URI: http://wordpress.org/plugins/content-views-query-and-display-post-page/
|
12 |
* Description: Query and display <strong>posts, pages</strong> in awesome layouts (<strong>grid, scrollable list, collapsible list</strong>) easier than ever, without coding!
|
13 |
-
* Version: 1.5.
|
14 |
* Author: PT Guy
|
15 |
* Author URI: http://profiles.wordpress.org/pt-guy
|
16 |
* Text Domain: content-views
|
@@ -27,7 +27,7 @@ if ( ! defined( 'WPINC' ) ) {
|
|
27 |
/*
|
28 |
* Define Constant
|
29 |
*/
|
30 |
-
define( 'PT_CV_VERSION', '1.5.
|
31 |
define( 'PT_CV_FILE', __FILE__ );
|
32 |
$pt_cv_path = plugin_dir_path( __FILE__ );
|
33 |
include_once( $pt_cv_path . 'includes/defines.php' );
|
10 |
* Plugin Name: Content Views
|
11 |
* Plugin URI: http://wordpress.org/plugins/content-views-query-and-display-post-page/
|
12 |
* Description: Query and display <strong>posts, pages</strong> in awesome layouts (<strong>grid, scrollable list, collapsible list</strong>) easier than ever, without coding!
|
13 |
+
* Version: 1.5.5
|
14 |
* Author: PT Guy
|
15 |
* Author URI: http://profiles.wordpress.org/pt-guy
|
16 |
* Text Domain: content-views
|
27 |
/*
|
28 |
* Define Constant
|
29 |
*/
|
30 |
+
define( 'PT_CV_VERSION', '1.5.5' );
|
31 |
define( 'PT_CV_FILE', __FILE__ );
|
32 |
$pt_cv_path = plugin_dir_path( __FILE__ );
|
33 |
include_once( $pt_cv_path . 'includes/defines.php' );
|
includes/functions.php
CHANGED
@@ -201,7 +201,7 @@ if ( ! class_exists( 'PT_CV_Functions' ) ) {
|
|
201 |
* @return string
|
202 |
*/
|
203 |
static function string_slug_to_text( $slug ) {
|
204 |
-
$slug = preg_replace( '/[
|
205 |
|
206 |
return ucwords( $slug );
|
207 |
}
|
@@ -582,13 +582,16 @@ if ( ! class_exists( 'PT_CV_Functions' ) ) {
|
|
582 |
|
583 |
/**
|
584 |
* Check if this view is processed in this page
|
|
|
585 |
* @since 1.5.2
|
586 |
*/
|
587 |
-
global $processed_views;
|
588 |
-
|
|
|
|
|
589 |
return '';
|
590 |
}
|
591 |
-
$processed_views[$
|
592 |
|
593 |
// Escaped value appropriate for use in a SQL query
|
594 |
global $pt_view_settings;
|
201 |
* @return string
|
202 |
*/
|
203 |
static function string_slug_to_text( $slug ) {
|
204 |
+
$slug = preg_replace( '/[_\-]+/', ' ', $slug );
|
205 |
|
206 |
return ucwords( $slug );
|
207 |
}
|
582 |
|
583 |
/**
|
584 |
* Check if this view is processed in this page
|
585 |
+
* if processed => hide it
|
586 |
* @since 1.5.2
|
587 |
*/
|
588 |
+
global $processed_views, $pt_cv_shortcode_params;
|
589 |
+
// Same View but has different shortcode parameters => consider as 2 different Views
|
590 |
+
$vid = $id . '-' . md5( serialize( $pt_cv_shortcode_params ) );
|
591 |
+
if ( ! empty( $processed_views[$vid] ) ) {
|
592 |
return '';
|
593 |
}
|
594 |
+
$processed_views[$vid] = 1;
|
595 |
|
596 |
// Escaped value appropriate for use in a SQL query
|
597 |
global $pt_view_settings;
|
public/assets/css/public.css
CHANGED
@@ -15,9 +15,9 @@
|
|
15 |
.pt-cv-view *,
|
16 |
.pt-cv-view *:before,
|
17 |
.pt-cv-view *:after {
|
18 |
-
-webkit-box-sizing: border-box;
|
19 |
-
-moz-box-sizing: border-box;
|
20 |
-
box-sizing: border-box;
|
21 |
}
|
22 |
|
23 |
/* Common */
|
15 |
.pt-cv-view *,
|
16 |
.pt-cv-view *:before,
|
17 |
.pt-cv-view *:after {
|
18 |
+
-webkit-box-sizing: border-box !important;
|
19 |
+
-moz-box-sizing: border-box !important;
|
20 |
+
box-sizing: border-box !important;
|
21 |
}
|
22 |
|
23 |
/* Common */
|
public/assets/js/public.js
CHANGED
@@ -78,7 +78,7 @@
|
|
78 |
var selected_page = page;
|
79 |
|
80 |
$self._setup_pagination(this_, selected_page, function () {
|
81 |
-
|
82 |
});
|
83 |
}
|
84 |
});
|
@@ -97,11 +97,12 @@
|
|
97 |
var $self = this;
|
98 |
var _prefix = PT_CV_PUBLIC._prefix;
|
99 |
|
|
|
100 |
// Prevent duplicate processing
|
101 |
-
if (
|
102 |
return;
|
103 |
} else {
|
104 |
-
|
105 |
}
|
106 |
|
107 |
var session_id = this_.attr('data-sid');
|
@@ -137,9 +138,9 @@
|
|
137 |
_get_page: function (session_id, selected_page, spinner, pages_holder, callback) {
|
138 |
|
139 |
var $self = this;
|
140 |
-
|
141 |
var page_existed = $self._active_page(selected_page, pages_holder, callback);
|
142 |
-
|
143 |
if (page_existed) {
|
144 |
return;
|
145 |
}
|
78 |
var selected_page = page;
|
79 |
|
80 |
$self._setup_pagination(this_, selected_page, function () {
|
81 |
+
PT_CV_PUBLIC.paging = 0;
|
82 |
});
|
83 |
}
|
84 |
});
|
97 |
var $self = this;
|
98 |
var _prefix = PT_CV_PUBLIC._prefix;
|
99 |
|
100 |
+
PT_CV_PUBLIC.paging = PT_CV_PUBLIC.paging || 0;
|
101 |
// Prevent duplicate processing
|
102 |
+
if (PT_CV_PUBLIC.paging) {
|
103 |
return;
|
104 |
} else {
|
105 |
+
PT_CV_PUBLIC.paging = 1;
|
106 |
}
|
107 |
|
108 |
var session_id = this_.attr('data-sid');
|
138 |
_get_page: function (session_id, selected_page, spinner, pages_holder, callback) {
|
139 |
|
140 |
var $self = this;
|
141 |
+
// Show content of page if it existed
|
142 |
var page_existed = $self._active_page(selected_page, pages_holder, callback);
|
143 |
+
// If page is loaded, exit
|
144 |
if (page_existed) {
|
145 |
return;
|
146 |
}
|