Photo Gallery by Supsystic - Version 1.12.4

Version Description

Download this release

Release Info

Developer supsystic.com
Plugin Icon 128x128 Photo Gallery by Supsystic
Version 1.12.4
Comparing to
See all releases

Code changes from version 1.12.2 to 1.12.4

Files changed (36) hide show
  1. app/assets/css/supsystic-ui.css +2 -2
  2. index.php +2 -2
  3. readme.txt +87 -252
  4. src/GridGallery/Core/BaseController.php +2 -1
  5. src/GridGallery/Galleries/Controller.php +40 -0
  6. src/GridGallery/Galleries/Model/Galleries.php +8 -1
  7. src/GridGallery/Galleries/Module.php +29 -14
  8. src/GridGallery/Galleries/assets/css/grid-gallery.galleries.effects.css +4 -0
  9. src/GridGallery/Galleries/assets/css/grid-gallery.galleries.frontend.css +1 -1
  10. src/GridGallery/Galleries/assets/css/grid-gallery.galleries.style.css +49 -3
  11. src/GridGallery/Galleries/assets/css/jquery-ui.theme.min.css +2 -2
  12. src/GridGallery/Galleries/assets/css/jquery.dataTables.min.css +1 -0
  13. src/GridGallery/Galleries/assets/css/photobox.css +3 -2
  14. src/GridGallery/Galleries/assets/css/prettyPhoto.css +8 -3
  15. src/GridGallery/Galleries/assets/images/sort_asc.png +0 -0
  16. src/GridGallery/Galleries/assets/images/sort_asc_disabled.png +0 -0
  17. src/GridGallery/Galleries/assets/images/sort_both.png +0 -0
  18. src/GridGallery/Galleries/assets/images/sort_desc.png +0 -0
  19. src/GridGallery/Galleries/assets/images/sort_desc_disabled.png +0 -0
  20. src/GridGallery/Galleries/assets/js/frontend.js +45 -12
  21. src/GridGallery/Galleries/assets/js/gallery.index.js +143 -0
  22. src/GridGallery/Galleries/assets/js/grid-gallery.galleries.index.js +18 -21
  23. src/GridGallery/Galleries/assets/js/lib/imagesLoaded.min.js +1 -1
  24. src/GridGallery/Galleries/assets/js/lib/jquery.dataTables.min.js +166 -0
  25. src/GridGallery/Galleries/assets/js/lib/jquery.prettyphoto.js +40 -4
  26. src/GridGallery/Galleries/assets/js/settings.js +345 -121
  27. src/GridGallery/Galleries/configs/tooltips.php +4 -0
  28. src/GridGallery/Galleries/views/gallery_preset.twig +3 -1
  29. src/GridGallery/Galleries/views/index.twig +97 -151
  30. src/GridGallery/Galleries/views/settings.twig +97 -51
  31. src/GridGallery/Galleries/views/shortcode/gallery.twig +4 -0
  32. src/GridGallery/Galleries/views/shortcode/helpers.twig +17 -4
  33. src/GridGallery/Galleries/views/shortcode/import.twig +15 -33
  34. src/GridGallery/Installer/Model.php +10 -2
  35. src/GridGallery/Installer/Module.php +64 -12
  36. src/GridGallery/Ui/views/type.twig +13 -37
app/assets/css/supsystic-ui.css CHANGED
@@ -775,7 +775,7 @@ form.photo-editor .description a {
775
  overflow: hidden;
776
  }
777
 
778
- .categories-order label {
779
  font-size: 16px;
780
  padding: 20px 10px 20px 10px;
781
  line-height: 1.3;
@@ -860,7 +860,7 @@ table[name="cats"] {
860
  }
861
 
862
  /* Fix for WP 4.4 */
863
- .supsystic-plugin a,
864
  .supsystic-plugin .button-primary,
865
  .supsystic-plugin .button-primary.button-hero,
866
  .ui-dialog a,
775
  overflow: hidden;
776
  }
777
 
778
+ .categories-order label, .subOpt label {
779
  font-size: 16px;
780
  padding: 20px 10px 20px 10px;
781
  line-height: 1.3;
860
  }
861
 
862
  /* Fix for WP 4.4 */
863
+ .supsystic-plugin a:not(.hi-icon),
864
  .supsystic-plugin .button-primary,
865
  .supsystic-plugin .button-primary.button-hero,
866
  .ui-dialog a,
index.php CHANGED
@@ -3,7 +3,7 @@
3
  /**
4
  * Plugin Name: Photo Gallery by Supsystic
5
  * Description: Easy to use Gallery by Supsystic with professional gallery templates. Show off your best design, photography and creative work
6
- * Version: 1.12.2
7
  * Author: supsystic.com
8
  * Author URI: https://supsystic.com
9
  * Text Domain: grid-gallery
@@ -11,5 +11,5 @@
11
 
12
  require_once dirname(__FILE__) . '/app/SupsysticGallery.php';
13
 
14
- $supsysticGallery = new SupsysticGallery('1.12.2');
15
  $supsysticGallery->run();
3
  /**
4
  * Plugin Name: Photo Gallery by Supsystic
5
  * Description: Easy to use Gallery by Supsystic with professional gallery templates. Show off your best design, photography and creative work
6
+ * Version: 1.12.4
7
  * Author: supsystic.com
8
  * Author URI: https://supsystic.com
9
  * Text Domain: grid-gallery
11
 
12
  require_once dirname(__FILE__) . '/app/SupsysticGallery.php';
13
 
14
+ $supsysticGallery = new SupsysticGallery('1.12.4');
15
  $supsysticGallery->run();
readme.txt CHANGED
@@ -1,54 +1,61 @@
1
  === Photo Gallery by Supsystic ===
2
  Contributors: supsystic.com
3
- Donate link: http://supsystic.com/plugins/gallery
4
- Tags: gallery, grid gallery, image gallery, video gallery, wordpress gallery plugin, responsive gallery, polaroid gallery, photo gallery
5
- Tested up to: 4.9.6
6
- Stable tag: 1.12.2
7
 
8
- Photo Gallery with visual editor to build amazing image gallery. Responsive mobile gallery with grid, masonry, carousel, polaroid and more gallery
9
 
10
  == Description ==
11
 
12
- = Photo Gallery by Supsystic =
 
 
13
 
14
- * [Responsive WordPress Image Gallery](http://supsystic.com/plugins/photo-gallery?utm_source=wordpress&utm_medium=responsive&utm_campaign=gallery "Responsive WordPress Image Gallery")
15
- * [Photo Gallery Demo](http://supsystic.com/gallery-examples?utm_source=wordpress&utm_medium=demo&utm_campaign=gallery "WordPress Photo Gallery")
16
- * [Grid Gallery FAQ and Documentation](http://supsystic.com/plugins/photo-gallery/#faq "Grid Gallery FAQ and Documentation")
17
 
18
- **[Grid Photo Gallery WordPress Plugin](http://supsystic.com/plugins/photo-gallery?utm_source=wordpress&utm_medium=description&utm_campaign=gallery "Photo Gallery WordPress Plugin") by Supsystic with a great number of layouts will help you to create quality respectable portfolios and image galleries. Unlimited photo gallery options allow to choose different designs and styles, which make your photo grid gallery attractive for users.**
19
 
20
- * Elegant photo gallery design optimized for mobile devices
21
- * Fully customization image gallery styles such as shadow, border, caption and icons
22
- * Horizontal, Vertical, Fixed and Mobile photo gallery layouts
23
- * Add links, icons and HTML captions
24
- * [Post Feed Photo Gallery](http://supsystic.com/post-feed-animated-gallery-example/ "Post Feed Photo Gallery") and [Video Gallery](supsystic.com/video-gallery/ "WordPress Video Gallery") (pro)
25
- * [Carousel Gallery](http://supsystic.com/gallery-horizontal-scroll/ "Carousel Gallery")
26
- * [Gallery with Paginations](supsystic.com/pagination-gallery-example/ "Gallery with Paginations") and [Categories](supsystic.com/categories-gallery-example/ "WordPress Gallery with Categories") (pro)
27
- * [Watermark option](https://supsystic.com/gallery-watermark-example/ "Watermark Gallery")
28
- * [Polaroid Gallery](http://supsystic.com/polaroid-gallery/ "Polaroid Gallery Style")
29
- * [Full Width Gallery](supsystic.com/full-width-gallery-example/ "Full Width Gallery")
30
- * [Mosaic Gallery](https://supsystic.com/mosaic-gallery-example/ "Mosaic Gallery")
31
- * Add Images to the Gallery from FTP and Social Networks (Facebook, Instagram and more)
32
- * Excellent feature [Caption builder](https://supsystic.com/documentation/caption-builder/ "Caption Builder") to make captions for images
33
- * Compatible with any WordPress Theme
34
 
35
- Image gallery plugin will help you to display images, videos and content for maximum effect on your blog or website.
36
 
37
- A photo gallery adds an instant professional touch to any WordPress website. But it doesn't just enhance your sites looks, it also makes image management a breeze, by allowing bulk uploading and publishing.
38
 
39
- [youtube https://www.youtube.com/watch?v=5bkjrlV14CE#t=14]
 
40
 
41
- Image Gallery by Supsystic is an easy to use photo gallery plugin that allows you to add simply galleries to your website. The grid gallery plugin utilizes the WordPress media uploader for images and import images from Instagram, Facebook and other social networks.
 
42
 
43
- Whether you are showcasing images, video or HTML, this photo gallery will render them beautifully on any platform and any browser size. Variety of responsive image gallery effects and photo gallery slideshows to better manage and display your photos, screenshots, videos and other forms of image gallery on your site. Some incorporate gallery transition effects, fade-in, fade-out and other effects, as well as thumbnail views of the gallery for faster access, flexibility and ease-of-use to view your gallery in full all-out browser mode and small-sized smartphone screens.
44
 
45
- To make it easier for you to find the right gallery pick for your websites needs, we have put together a presets photo gallery templates you can choose them when create new gallery and later customize design.
46
 
47
- = Photo Gallery by Supsystic Plugin Support =
 
48
 
49
- If you have any problem or feature request for the Photo Gallery by Supsystic, please [let us know](http://supsystic.com/contact-us/ "Contact Us")!
 
 
50
 
51
- This [guide](https://supsystic.com/make-requests-support-service/ "How to Make Requests to Support Service") helps you to provide the right information about your issue.
 
 
 
 
 
 
 
 
52
 
53
  = Translate Photo Gallery by Supsystic to Your Language =
54
 
@@ -72,245 +79,73 @@ You have an incredible opportunity to get PRO version of the photo gallery for f
72
  * Spanish
73
  * Turkish
74
 
75
- Photo Gallery by Supsystic is a cornerstone of many websites today, allowing you to showcase photographs, screenshots, illustrations, videos and more with amazing gallery. A portfolio website without a gallery is like pizza without cheese. A gallery adds an instant professional touch to any website. But it doesn’t just enhance your site’s looks, it also makes gallery image management a breeze, by allowing bulk uploading and photo gallery publishing. Choose the best to suit your particular needs!
76
-
77
- The gallery by Supsystic available today have come a long way from a simple static image display tool. We offered wide range from animated effects, branding possibilities, inclusion of sub-galleries, social network accessibility, and much more. You can use a gallery or slider to feature your posts, and add slow motion effects, icons and post feed gallery. Don't forget photo gallery with slideshow function.
78
-
79
  == Frequently Asked Questions ==
80
 
81
  = First time Photo Gallery by Supsystic user =
82
 
83
- Complete tutorial [How to create your first WordPress Gallery](https://supsystic.com/documentation/gallery-getting-started/ "How to create your first gallery in WordPress")
84
 
85
- = Where is documentation for Gallery by Supsystic WP plugin? =
86
 
87
- Here it is [Gallery Documentation](https://supsystic.com/docs/gallery/ "WordPress Gallery plugin documentation")
88
 
89
  = How to import images to the Gallery by Supsystic plugin? =
90
 
91
- You can see all import methods [here](https://supsystic.com/docs/import-images/ "Import images")
92
-
93
- = How to add gallery into site content? =
94
-
95
- You can add gallery via shortcode or PHP code. More info [here](https://supsystic.com/documentation/add-gallery-site-content/ "Add gallery in to WordPress")
96
-
97
- == Other Notes ==
98
-
99
- = How to Create Photo Gallery in WordPress =
100
-
101
- = Step 1: Creating Responsive Grid Gallery =
102
-
103
- 1. On the left navigation menu click “New Photo Gallery”.
104
-
105
- 2. Enter the name of photo grid gallery.
106
-
107
- 3. Choose image gallery template. You have the ability to choose one of templates:
108
-
109
- * Standard Image Gallery (with fixed grid).
110
- * Vertical Photo Grid Gallery (without distance between images).
111
- * Rounded Grid Gallery (with fixed grid and border option).
112
- * Horizontal Image Gallery (with shadow option).
113
- * Categories and Icons (PRO gallery template).
114
- * Post Feed and Pagination (PRO gallery template).
115
- * Post Feed Slide Up (PRO gallery template).
116
- * Post Feed Description (PRO gallery template).
117
- * Mozaic Gallery (PRO gallery template).
118
-
119
- 4. Click "Save" button.
120
-
121
- On the next steps you can change the settings of photo gallery template.
122
-
123
- = Step 2: Adding images to the Grid Photo Gallery =
124
-
125
- With responsive photo gallery plugin you can import images from -
126
-
127
- * WordPress Media Library
128
- * Instagram Account
129
- * Flickr Account (PRO gallery feature)
130
- * Tumblr Account (PRO gallery feature)
131
- * Facebook Account (PRO gallery feature)
132
-
133
- 1. Click on "Add Images" gallery button
134
-
135
- 2. Choose images from WordPress Media Library - mark those images that you like for the photo gallery. If there are no images that you need, click the Upload Files tab - here you can drop files anywhere to upload or select files from your computer to the gallery.
136
-
137
- 3. Click on “Choose Image” gallery button.
138
-
139
- 4. To manage or change properties of the photo gallery of images click “Image List” button. Here you can:
140
-
141
- - change the order of photo gallery images - simply by dragging them manually;
142
- - delete gallery photos;
143
- - add new images from different sources to the grid gallery - click “Add Images” button and select source to import from;
144
- - add caption to photo gallery image - it will be displayed on the gallery images caption effect of the photo gallery;
145
- - add SEO photo gallery - tags for search requests;
146
- - attach links to gallery image - it will go to the link when you click the gallery image;
147
- - add video to the gallery - it will be displayed in a pop-up image when you click on a gallery picture;
148
- - add tags for gallery image categories.
149
-
150
- = Step3: Editing of Photo Gallery settings =
151
-
152
- To get back to the settings of gallery - click “Properties” button.
153
-
154
- Here you can change default options of photo gallery template. Simply navigate the corresponding tab of gallery properties - Main, Captions, Categories and Posts of the photo gallery. Important! After changing the settings of gallery don’t forget to click “Save” button.
155
-
156
- = 1. Main tab of the photo gallery =
157
-
158
- 1.1. Photo Gallery Type - here you can:
159
-
160
- - choose the type of photo gallery - there are 5 gallery types: Fixed, Horizontal, Vertical, Fixed Column and Mozaic (Available in PRO);
161
- - set the distance between photo gallery images;
162
- - set the width of the responsive image gallery;
163
- - set the width and height of gallery images;
164
- - set the radius for picture - thanks to this option will turn out wonderful rounded or circular galleries.
165
-
166
- All the values of these gallery options, except for images distance, can be set in pixels or in percent. Gallery images distance set only in pixels.
167
-
168
- 1.2. Image Gallery border type - here you have the opportunity:
169
-
170
- - select 8 different types of photo gallery border - Solid, Dotted, Dashed, Double, Groove, Ridge, Inset, Outset;
171
- - select the colour of border for images;
172
- - define the image border width.
173
-
174
- This gallery option can be disabled. Simply select value - “None” for Border Type.
175
-
176
- 1.3. Photo Shadow
177
-
178
- Activate “Available” radio button to see the settings of this gallery option. Shadow option of photo Gallery by Supsystic allows you:
179
-
180
- - show the shadow when mouse is over the gallery image. there are two types of this option: show / hide the shadow when mouse is on picture;
181
- - overlay image with shadow ;
182
- - choose the colour of image shadow;
183
- - set the image gallery shadow blur in percent;
184
- - specify the offset of the gallery shadow by X and Y.
185
 
186
- 1.4. Pop-up Gallery Image:
187
 
188
- - choose the “Big Image” gallery theme for popup image of grid gallery - to do this you need simply click a “Choose theme” button and select one of the popup gallery themes. One of the themes include the gallery navigation control with thumbnails of images, which is much simplify and speed up access to all gallery images of the photo gallery.
189
- - select the transition of popup gallery image - Fade, Elastic, None.
190
- - enable the gallery slideshow option - you need activate “Available” radio button to see the settings of this option. here you can set speed of slideshow and activate slideshow autostart. If you activate it - slideshow starts when big image open in popup, if don’t - you have the ability to start gallery slideshow whenever you want. In any case, on the big image will be slideshow controls.
191
-
192
- = 2. Image Gallery Captions Tab =
193
-
194
- 2.1. Captions - this option contains such features as:
195
-
196
- - a huge variety of gallery caption effects. Simply click “Choose effect” button and select the overlay effect
197
- - the ability to choose background colour of caption
198
- - text colour of caption photo gallery
199
- - the ability to set the level of transparency for caption option
200
- - the ability to specify the font size of the text. (in pixels, percent, ems)
201
- - the ability to choose the text alignment of caption - left, center, right, auto.
202
-
203
- 2.2. Icons - show amazing icons on the images with different gallery options. There are several types of gallery icons, it all depends on what exactly is attached to the picture - link, video on the gallery images
204
-
205
- - select the effect for animation of gallery icons - you need to click ”Animation” button and choose the effect photo gallery
206
- - select the gallery icons color
207
- - select the gallery icons hover color - colour of the gallery icon when mouse is over
208
- - choose the image gallery background colour for icons
209
- - choose the photo gallery background hover colour for icons
210
- - set the size of photo gallery icons
211
- - set the distance between gallery icons
212
- - enable the overlay gallery effect - image will fade under the overlay
213
- - set the colour and level of transparency for overlay effect of gallery icons
214
-
215
- You have the opportunity to enable photo gallery Captions and Icons options at the same time, but then you can not choose caption effect for gallery. “Appear” effect always will be by default.
216
-
217
- = 3. Photo Gallery Categories Tab =
218
-
219
- 3.1. Show slideshow gallery categories (PRO feature) - categorize images in the grid gallery.
220
-
221
- First you need to add tags for the gallery categories:
222
-
223
- 1. Click on “Images list”.
224
- 2. For each photo choose Categories tab.
225
- 3. Add a tag for all images.
226
- 4. Go back to the settings - click “Properties” button.
227
-
228
- Further activate “Available” radio button responsive photo gallery and definitely select the preset (without it categories not displayed). You have the ability to choose one of the default presets or create your own.
229
-
230
- In order to create the gallery preset click “Show preset editor” button. Provide a name for your photo gallery template and specify the settings that you need. Here you can:
231
-
232
- - Select the background colour for gallery images and video container or hide it. Сontainer - the area where will be shown the categories of the image gallery.
233
- - Select the background colour for gallery photos text or hide it.
234
- - Select the colour of text or use colour, based on your theme.
235
- - Set overall vertical and horizontal padding for the categories of image gallery.
236
- - Set the font weight and size.
237
- - Define the border width for the categories.
238
- - Select gallery border type.
239
- - Choose photo gallery border colour.
240
- - Define image gallery border radius for the categories.
241
-
242
- After configuring the image gallery settings click “Save” button. Select your preset in the “Choose preset” dropdown box.
243
-
244
- Also Categories option includes such capabilities:
245
-
246
- * Enable shuffling animation of gallery images. (If you enable posts layout on the Posts tab - this feature will not be available).
247
- * Set the duration of animation (include video gallery).
248
- * Define the position of categories - over or under the media gallery.
249
- * Determine the alignment of gallery categories (video gallery or photo gallery).
250
-
251
- 3.2. Pagination (PRO feature) - make your image gallery easier to use with grid gallery wordpress plugin.
252
-
253
- At first you need to set the number of images per page and choose the preset. You can choose one of the default presets or create your own. In order to create the preset click “Show preset editor” button. Enter the name of your preset and specify the settings that you need. They are exactly the same as in the previous option. After configuring the settings click “Save” button. Select your preset in the “Choose preset” dropdown box.
254
-
255
- As well you have the opportunity:
256
-
257
- * Set the position of gallery buttons - top or bottom of photo gallery
258
- * Define the alignment of gallery pagination
259
- * You can select only the one of these gallery two options (Categories or Pagination) for one gallery
260
- * Pagination gallery option is not available, when is set vertical gallery type of photo gallery
261
-
262
- = 4. Posts tab (PRO feature) - show posts and pages with Gallery by Supsystic! =
263
-
264
- This tab is completely about the capabilities to display the posts and pages in the gallery. To activate the posts option - select “Enable” in Posts Layout dropdown list. Here you find such features as:
265
-
266
- - the ability to choose one of gallery post layout styles - Fixed, Animated, Cover;
267
- - the ability to add pages and posts to the polaroid gallery - simply select post / page from corresponding dropdown list and click “Add post” / “Add page” button - it will appear on the bottom of the page;
268
- - the opportunity to choose gallery what to show on the posts layout in the gallery and what not to show - author of the post, date, contents and categories of the posts;
269
- - the ability to delete a post or page from the grid gallery.
270
-
271
- = Step 4: Photo gallery preview settings =
272
-
273
- After you change some settings - with responsive photo gallery plugin, you can immediately see the result in a live preview in the left top corner. You have the ability to choose image for preview - simply click the “Choose gallery image for preview” button under the window of live preview.
274
-
275
- Live photo gallery preview allows you to view the setting of such features:
276
-
277
- * Images gallery radius
278
- * Border gallery option
279
- * Shadow gallery option
280
- * Caption gallery effect
281
-
282
- In order to see how the other gallery options of responsive image gallery look - you should to click on “Preview” button and will be able to see the whole gallery in a new tab of your browser.
283
-
284
- = Step 5: Displaying the Photo Gallery on the website =
285
-
286
- Under the gallery window with image preview you can see the shortcode of photo gallery. Copy and paste the shortcode into your post or page and Gallery by Supsystic plugin will automatically create the gallery on your page using the settings you choose above.
287
- Important! Photo gallery plugin shortcode must be added in a text editor page, and not in the visual.
288
 
289
  == Screenshots ==
290
 
291
- 1. [Fixed Gallery](http://supsystic.com/plugins/photo-gallery/#examples?utm_source=wordpress&utm_medium=screenshots&utm_campaign=gallery "Fixed Gallery") It's still responsive and compatible all mobile devices, but fixed :)
292
- 2. [Photo Gallery WordPress Plugin](http://supsystic.com/plugins/photo-gallery?utm_source=wordpress&utm_medium=screenshots&utm_campaign=gallery "Photo Gallery WordPress plugin") by Supsystic the complete set for any user that can assist quickly create stunning online presentation, photo gallery or slideshow
293
- 3. Photo gallery plugin admin area. Choose one of the professional image gallery template and manage any aspect of the gallery with easy-to-use options
294
  4. [Post Feed Gallery](http://supsystic.com/post-feed-animated-gallery-example?utm_source=wordpress&utm_medium=screenshots&utm_campaign=gallery "Post Feed Gallery") - it never was so easy to show Posts, Pages or any Content in an amazing view of the post feed gallery.
295
  5. [Image Circle Gallery](http://supsystic.com/plugins/photo-gallery/#examples?utm_source=wordpress&utm_medium=screenshots&utm_campaign=gallery "Image Circle Gallery") - perform your best ideas with Gallery by Supsystic!
296
- 6. [Polaroid Gallery](http://supsystic.com/polaroid-gallery/ "Polaroid WordPress Gallery Plugin") with Load More button
297
- 7. [Video Gallery](http://supsystic.com/video-gallery/ "WordPress Video Gallery")
 
298
 
299
  == Changelog ==
300
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
301
  = Gallery 1.12.2 / 21.06.2018 =
302
- * Fixed popup-rotate for "portrait images"
303
- * Fixed labels text and styles in admin
304
- * Improve admin page
305
- * Added slimScroll position to admin page, to restore scroll postion, after gallery save
306
- * Fixed LazyLoad compatibility with "Fixed columns"
307
- * Fixed bug with some Mosaic gallery empty places
308
- * Fixed "Load More Button" text, to "Load More"
309
- * Removed "Use old icons and overlay" option from Caption Builder
310
- * Fixed option "Mobile - show always caption". Now popup opened in one click
311
- * Improved render "Strict use of images order" script for mosaic Gallery
312
- * Fixed tooltips
313
- * Minor issues fixes
314
 
315
  = Gallery 1.12.1 / 30.05.2018 =
316
  * Fixed "Full screen width" parameter, when "Gallery Position" is "right"
1
  === Photo Gallery by Supsystic ===
2
  Contributors: supsystic.com
3
+ Donate link: https://supsystic.com/plugins/gallery
4
+ Tags: gallery, wordpress gallery plugin, photo gallery, grid gallery, image gallery, video gallery, responsive gallery, polaroid gallery
5
+ Tested up to: 4.9.7
6
+ Stable tag: 1.12.4
7
 
8
+ Photo Gallery with template editor to build amazing media gallery. Responsive mobile gallery with grid, masonry, carousel, polaroid and more gallery
9
 
10
  == Description ==
11
 
12
+ * [WordPress Photo Gallery](http://supsystic.com/plugins/photo-gallery?utm_source=wordpress&utm_medium=responsive&utm_campaign=gallery "WordPress Photo Gallery")
13
+ * [Media Gallery Demos](http://supsystic.com/gallery-examples?utm_source=wordpress&utm_medium=demo&utm_campaign=gallery "Media Gallery Demos")
14
+ * [Plugin FAQ and Documentation](http://supsystic.com/plugins/photo-gallery/#faq "Plugin FAQ and Documentation")
15
 
16
+ [Photo Gallery WordPress Plugin](http://supsystic.com/plugins/photo-gallery?utm_source=wordpress&utm_medium=description&utm_campaign=gallery "Photo Gallery WordPress Plugin") by Supsystic is the best way to create responsive media galleries and albums on your website.
 
 
17
 
18
+ = Gallery types =
19
 
20
+ * [Full Width Gallery](https://supsystic.com/example/full-width-gallery-example?utm_source=wordpress&utm_medium=fullwidth&utm_campaign=gallery "Full Width Gallery")
21
+ * [Polaroid Gallery](https://supsystic.com/example/polaroid-gallery?utm_source=wordpress&utm_medium=polaroid&utm_campaign=gallery "Polaroid Gallery Style")
22
+ * [Video Gallery](https://supsystic.com/example/video-gallery?utm_source=wordpress&utm_medium=videogallery&utm_campaign=gallery "Video gallery")
23
+ * [Fixed Gallery](https://supsystic.com/documentation/fixed-type?utm_source=wordpress&utm_medium=fixedgallery&utm_campaign=gallery "Fixed Gallery")
24
+ * [Post Feed Gallery](https://supsystic.com/documentation/gallery-posts-feature?utm_source=wordpress&utm_medium=postfeed&utm_campaign=gallery "Post Feed Gallery")
25
+ * [Carousel Gallery](http://supsystic.com/gallery-horizontal-scroll?utm_source=wordpress&utm_medium=Carousel&utm_campaign=gallery "Carousel Gallery")
26
+ * [Masonry Gallery](https://supsystic.com/example/masonry-gallery?utm_source=wordpress&utm_medium=masonry&utm_campaign=gallery "Masonry Gallery")
27
+ * Grid Gallery
 
 
 
 
 
 
28
 
29
+ **[Check all gallery types](https://supsystic.com/gallery-examples?utm_source=wordpress&utm_medium=gallerytypes&utm_campaign=gallery "Check all gallery types")**
30
 
31
+ = Main Features =
32
 
33
+ * **Fully customization gallery styles: [shadow](https://supsystic.com/example/shadow-gallery-example?utm_source=wordpress&utm_medium=shadow&utm_campaign=gallery "Shadow"), [border](https://supsystic.com/documentation/border-type?utm_source=wordpress&utm_medium=border&utm_campaign=gallery "border"), [caption and icons](https://supsystic.com/example/captionsicons-gallery-example?utm_source=wordpress&utm_medium=captionandicons&utm_campaign=gallery "caption and icons")**
34
+ WordPress Gallery by Supsystic plugin gives you the versatility to create any type of gallery. Choose the shadow preset and set the color and thickness as you like. Highlight images. Use different types of border, give photo description and icon on each gallery image.
35
 
36
+ * **SEO Friendly**
37
+ Set title and description of the gallery media so gallery become SEO friendly.
38
 
39
+ * **[Responsive Mobile Friendly](https://supsystic.com/documentation/gallery-responsive-mode?utm_source=wordpress&utm_medium=responsive&utm_campaign=gallery "Responsive Mobile Friendly WordPress Gallery")**
40
 
41
+ * **[Load More button](https://supsystic.com/documentation/load-more-button?utm_source=wordpress&utm_medium=loadmore&utm_campaign=gallery "Load More button")**, [Pagination](https://supsystic.com/example/pagination-gallery-example?utm_source=wordpress&utm_medium=pagination&utm_campaign=gallery "Paginations") and **[Lazy Load](https://supsystic.com/documentation/lazy-load?utm_source=wordpress&utm_medium=lazyload&utm_campaign=gallery "Lazy Load")**
42
 
43
+ * **[Social Sharing](https://supsystic.com/example/social-sharing?utm_source=wordpress&utm_medium=socialsharing&utm_campaign=gallery "Social Sharing")**
44
+ We integrated our [Social Share Buttons](https://supsystic.com/plugins/social-share-plugin?utm_source=wordpress&utm_medium=sharebuttons&utm_campaign=gallery "Social Share Buttons") plugin with Gallery. Now you can share the photos, gather likes of your followers on Facebook, Pinterest, Twitter or any other social media. Stay in touch with your audience and keep contact with them.
45
 
46
+ * **[Watermark option](https://supsystic.com/example/gallery-watermark-example?utm_source=wordpress&utm_medium=watermark&utm_campaign=gallery "Watermark
47
+ option")**
48
+ Protect photos from theft and make them unique using Watermark (PRO feature). You can also reflect a logo of your organization on each photos and this helps to build branded gallery
49
 
50
+ * **[CDN options](https://supsystic.com/documentation/transfer-to-cdn?utm_source=wordpress&utm_medium=cdn&utm_campaign=gallery "CDN options")**, **[Image compression and optimization](https://supsystic.com/documentation/optimization-gallery-images?utm_source=wordpress&utm_medium=imagecompressionandoptimization&utm_campaign=gallery "Image compression and optimization")**.
51
+ Transfer to CDN function can maintain and accelerate images loading.
52
+ Images compression and optimization speed up your website and improve your visitors' experience.
53
+
54
+ * **[Add Images to the Gallery from FTP and Social Networks](https://supsystic.com/docs/import-images?utm_source=wordpress&utm_medium=importimages&utm_campaign=gallery "Import images")**
55
+
56
+ = Support =
57
+
58
+ Ask your questions in the [support forum](https://wordpress.org/support/plugin/gallery-by-supsystic?utm_source=wordpress&utm_medium=supportforum&utm_campaign=gallery "Support Forum"), or [contact us](https://supsystic.com/contact-us?utm_source=wordpress&utm_medium=contactus&utm_campaign=gallery "Contact Us") directly.
59
 
60
  = Translate Photo Gallery by Supsystic to Your Language =
61
 
79
  * Spanish
80
  * Turkish
81
 
 
 
 
 
82
  == Frequently Asked Questions ==
83
 
84
  = First time Photo Gallery by Supsystic user =
85
 
86
+ Complete tutorial [How to create your first WordPress Media Gallery](https://supsystic.com/documentation/gallery-getting-started?utm_source=wordpress&utm_medium=gettingstarted&utm_campaign=gallery "How to create your first WordPress media gallery")
87
 
88
+ = Where is documentation for Gallery by Supsystic? =
89
 
90
+ Here it is [Gallery Documentation](https://supsystic.com/docs/gallery?utm_source=wordpress&utm_medium=documentation&utm_campaign=gallery "WordPress Gallery plugin documentation")
91
 
92
  = How to import images to the Gallery by Supsystic plugin? =
93
 
94
+ You can see all import methods [here](https://supsystic.com/docs/import-images?utm_source=wordpress&utm_medium=importmethods&utm_campaign=gallery "Import images")
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
95
 
96
+ = How to add media gallery into site content? =
97
 
98
+ You can add media gallery via shortcode or PHP code. More info [here](https://supsystic.com/documentation/add-gallery-site-content?utm_source=wordpress&utm_medium=addgallery&utm_campaign=gallery "Add media gallery to WordPress")
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
99
 
100
  == Screenshots ==
101
 
102
+ 1. [Fixed Gallery](http://supsystic.com/plugins/photo-gallery/#examples?utm_source=wordpress&utm_medium=screenshots&utm_campaign=gallery "Fixed Gallery") It's still responsive and compatible all mobile devices, but fixed.
103
+ 2. [Photo Gallery WordPress Plugin](http://supsystic.com/plugins/photo-gallery?utm_source=wordpress&utm_medium=screenshots&utm_campaign=gallery "Photo Gallery WordPress plugin") by Supsystic the complete set for any user that can assist quickly create stunning online presentation, photo gallery or slideshow.
104
+ 3. Photo gallery plugin admin area. Choose one of the professional image gallery template and manage any aspect of the gallery with easy-to-use options.
105
  4. [Post Feed Gallery](http://supsystic.com/post-feed-animated-gallery-example?utm_source=wordpress&utm_medium=screenshots&utm_campaign=gallery "Post Feed Gallery") - it never was so easy to show Posts, Pages or any Content in an amazing view of the post feed gallery.
106
  5. [Image Circle Gallery](http://supsystic.com/plugins/photo-gallery/#examples?utm_source=wordpress&utm_medium=screenshots&utm_campaign=gallery "Image Circle Gallery") - perform your best ideas with Gallery by Supsystic!
107
+ 6. [Polaroid Gallery](http://supsystic.com/polaroid-gallery?utm_source=wordpress&utm_medium=screenshots&utm_campaign=gallery "Polaroid WordPress Gallery Plugin") with Load More button
108
+ 7. [Video Gallery](http://supsystic.com/video-gallery?utm_source=wordpress&utm_medium=videogallery&utm_campaign=gallery "WordPress Video Gallery")
109
+
110
 
111
  == Changelog ==
112
 
113
+ = Gallery 1.12.4 / 24.07.2018 =
114
+ * Centering popup img position
115
+ * Fix the first click on the License Link
116
+ * Changed gallery list view
117
+ * Fixed size of Image Loading
118
+ * Fix location of buttons in popup for right-to-left languages
119
+ * Added border to popup in 6 popup theme
120
+ * Fix Multisite Installation process
121
+ * Added option Enable Multi-select for Categories
122
+ * Fixed popup border position
123
+ * Added the choice of the first image from the post for Post Feed Gallery
124
+ * Removed duplicate tooltips
125
+ * Fixed img position in popup
126
+ * Add new option: Multiselect Results
127
+ * Fix for uninstall
128
+ * Fix overlay images by Lazy Load
129
+ * Minor issues fixes
130
+
131
+ = Gallery 1.12.3 / 03.07.2018 =
132
+ * Add options to change the size of the Watermark
133
+ * Fixed the work of the Load More option in conjunction with Categories
134
+ * Minor issues fixes
135
+
136
  = Gallery 1.12.2 / 21.06.2018 =
137
+ * Fixed popup-rotate for "portrait images"
138
+ * Fixed labels text and styles in admin
139
+ * Improve admin page
140
+ * Added slimScroll position to admin page, to restore scroll postion, after gallery save
141
+ * Fixed LazyLoad compatibility with "Fixed columns"
142
+ * Fixed bug with some Mosaic gallery empty places
143
+ * Fixed "Load More Button" text, to "Load More"
144
+ * Removed "Use old icons and overlay" option from Caption Builder
145
+ * Fixed option "Mobile - show always caption". Now popup opened in one click
146
+ * Improved render "Strict use of images order" script for mosaic Gallery
147
+ * Fixed tooltips
148
+ * Minor issues fixes
149
 
150
  = Gallery 1.12.1 / 30.05.2018 =
151
  * Fixed "Full screen width" parameter, when "Gallery Position" is "right"
src/GridGallery/Core/BaseController.php CHANGED
@@ -16,7 +16,8 @@ class GridGallery_Core_BaseController extends Rsc_Mvc_Controller
16
  public function __construct(Rsc_Environment $environment, Rsc_Http_Request $request)
17
  {
18
  parent::__construct($environment, $request);
19
- if ($environment->isPluginPage() && !$environment->isModule('promo', 'welcome') && !$environment->getConfig()->get('welcome_page_was_showed')) {
 
20
  return $this->redirect($this->generateUrl('promo', 'welcome'));
21
  }
22
  }
16
  public function __construct(Rsc_Environment $environment, Rsc_Http_Request $request)
17
  {
18
  parent::__construct($environment, $request);
19
+ if ($environment->isPluginPage() && !$environment->isModule('license')
20
+ && !$environment->isModule('promo', 'welcome') && !$environment->getConfig()->get('welcome_page_was_showed')) {
21
  return $this->redirect($this->generateUrl('promo', 'welcome'));
22
  }
23
  }
src/GridGallery/Galleries/Controller.php CHANGED
@@ -20,6 +20,7 @@ class GridGallery_Galleries_Controller extends GridGallery_Core_BaseController
20
  'chooseAction',
21
  'renameAction',
22
  'deleteAction',
 
23
  'deleteResourceAction',
24
  'addImagesAction',
25
  'saveSettingsAction',
@@ -528,6 +529,45 @@ class GridGallery_Galleries_Controller extends GridGallery_Core_BaseController
528
  return $this->redirect($this->generateUrl('galleries'));
529
  }
530
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
531
  /**
532
  * Deletes the resources from the specified gallery.
533
  *
20
  'chooseAction',
21
  'renameAction',
22
  'deleteAction',
23
+ 'deleteGroupAction',
24
  'deleteResourceAction',
25
  'addImagesAction',
26
  'saveSettingsAction',
529
  return $this->redirect($this->generateUrl('galleries'));
530
  }
531
 
532
+ /**
533
+ * Delete Group Action
534
+ * Deletes the gallery list
535
+ *
536
+ * @param Rsc_Http_Request $request An instance of the HTTP request
537
+ * @return Rsc_Http_Response
538
+ */
539
+ public function deleteGroupAction(Rsc_Http_Request $request)
540
+ {
541
+ $env = $this->getEnvironment();
542
+ $logger = $env->getLogger();
543
+
544
+ $ids = $request->post->get('gallery_ids');
545
+
546
+ foreach ($ids as $id) {
547
+ try {
548
+ $this->getModel('galleries')->delete( $id );
549
+
550
+ } catch (Exception $e) {
551
+
552
+ if ($logger) {
553
+ $logger->error(
554
+ 'Failed to delete the gallery: {exception}',
555
+ array(
556
+ 'exception' => $e,
557
+ )
558
+ );
559
+ }
560
+
561
+ return $this->response(
562
+ 'ajax',
563
+ $this->getErrorResponseData($e->getMessage())
564
+ );
565
+ }
566
+ }
567
+
568
+
569
+ }
570
+
571
  /**
572
  * Deletes the resources from the specified gallery.
573
  *
src/GridGallery/Galleries/Model/Galleries.php CHANGED
@@ -134,7 +134,10 @@ class GridGallery_Galleries_Model_Galleries extends GridGallery_Core_BaseModel
134
  */
135
  public function createFromRequest(Rsc_Http_Request $request, Rsc_Lang $lang, Rsc_Config $config)
136
  {
137
- if (!$title = $request->post->get('title')) {
 
 
 
138
  $title = $lang->translate('Unnamed gallery');
139
  }
140
 
@@ -145,6 +148,10 @@ class GridGallery_Galleries_Model_Galleries extends GridGallery_Core_BaseModel
145
  if ($res) {
146
  $id = $this->db->insert_id;
147
 
 
 
 
 
148
  $config->load('@galleries/presets.php');
149
  $presets = $config->get('gallery_presets');
150
 
134
  */
135
  public function createFromRequest(Rsc_Http_Request $request, Rsc_Lang $lang, Rsc_Config $config)
136
  {
137
+ $title = $request->post->get('title');
138
+ $unnamed = (!$title || sizeof($title) == 0);
139
+
140
+ if($unnamed) {
141
  $title = $lang->translate('Unnamed gallery');
142
  }
143
 
148
  if ($res) {
149
  $id = $this->db->insert_id;
150
 
151
+ if($unnamed) {
152
+ $this->rename($id, $lang->translate('Gallery ').$id);
153
+ }
154
+
155
  $config->load('@galleries/presets.php');
156
  $presets = $config->get('gallery_presets');
157
 
src/GridGallery/Galleries/Module.php CHANGED
@@ -167,24 +167,39 @@ class GridGallery_Galleries_Module extends GridGallery_Core_Module
167
  $this->getLocationUrl() . '/assets/css/loaders.css',
168
  $this->getLocationUrl() . '/assets/css/chosen.css',
169
  );
 
 
 
 
 
 
170
  return $cssList;
171
  }
172
 
173
  public function getBackendJS() {
174
- return array(
175
- $this->getLocationUrl() . '/assets/js/settings.js',
176
- $this->getLocationUrl() . '/assets/js/attrchange.js',
177
- $this->getLocationUrl() . '/assets/js/addImages.js',
178
- $this->getLocationUrl() . '/assets/js/position.js',
179
- $this->getLocationUrl() . '/assets/js/jquery.jqGrid.min.js',
180
- $this->getLocationUrl() . '/assets/js/grid.locale-en.js',
181
- $this->getLocationUrl() . '/assets/js/holder.js',
182
- $this->getLocationUrl() . '/assets/js/grid-gallery.galleries.index.js',
183
- $this->getLocationUrl() . '/assets/js/grid-gallery.galleries.view.js',
184
- $this->getLocationUrl() . '/assets/js/grid-gallery.galleries.preview.js',
185
- $this->getLocationUrl() . '/assets/js/grid-gallery.galleries.thumb.js',
186
- $this->getLocationUrl() . '/assets/js/lib/chosen.jquery.js',
187
- );
 
 
 
 
 
 
 
 
 
188
  }
189
 
190
  /**
167
  $this->getLocationUrl() . '/assets/css/loaders.css',
168
  $this->getLocationUrl() . '/assets/css/chosen.css',
169
  );
170
+
171
+ $environment = $this->getEnvironment();
172
+ if ($environment->isAction('index')) {
173
+ $cssList[] = $this->getLocationUrl() . '/assets/css/jquery.dataTables.min.css';
174
+ }
175
+
176
  return $cssList;
177
  }
178
 
179
  public function getBackendJS() {
180
+
181
+ $jsList = array(
182
+ $this->getLocationUrl() . '/assets/js/settings.js',
183
+ $this->getLocationUrl() . '/assets/js/attrchange.js',
184
+ $this->getLocationUrl() . '/assets/js/addImages.js',
185
+ $this->getLocationUrl() . '/assets/js/position.js',
186
+ $this->getLocationUrl() . '/assets/js/jquery.jqGrid.min.js',
187
+ $this->getLocationUrl() . '/assets/js/grid.locale-en.js',
188
+ $this->getLocationUrl() . '/assets/js/holder.js',
189
+ $this->getLocationUrl() . '/assets/js/grid-gallery.galleries.index.js',
190
+ $this->getLocationUrl() . '/assets/js/grid-gallery.galleries.view.js',
191
+ $this->getLocationUrl() . '/assets/js/grid-gallery.galleries.preview.js',
192
+ $this->getLocationUrl() . '/assets/js/grid-gallery.galleries.thumb.js',
193
+ $this->getLocationUrl() . '/assets/js/lib/chosen.jquery.js',
194
+ );
195
+
196
+ $environment = $this->getEnvironment();
197
+ if ($environment->isAction('index')) {
198
+ $jsList[] = $this->getLocationUrl() . '/assets/js/lib/jquery.dataTables.min.js';
199
+ $jsList[] = $this->getLocationUrl() . '/assets/js/gallery.index.js';
200
+ }
201
+
202
+ return $jsList;
203
  }
204
 
205
  /**
src/GridGallery/Galleries/assets/css/grid-gallery.galleries.effects.css CHANGED
@@ -45,6 +45,10 @@ a.post .grid-gallery-caption {
45
  padding: 0;
46
  }
47
 
 
 
 
 
48
  .grid-gallery-caption figcaption {
49
  -webkit-box-sizing: border-box;
50
  -moz-box-sizing: border-box;
45
  padding: 0;
46
  }
47
 
48
+ .ggLazyImg {
49
+ width: 150px !important;
50
+ }
51
+
52
  .grid-gallery-caption figcaption {
53
  -webkit-box-sizing: border-box;
54
  -moz-box-sizing: border-box;
src/GridGallery/Galleries/assets/css/grid-gallery.galleries.frontend.css CHANGED
@@ -443,7 +443,7 @@
443
  Colorbox Core Style:
444
  The following CSS is consistent between example themes and should not be altered.
445
  */
446
- #colorbox, #cboxOverlay, #cboxWrapper{position:absolute; top:0; left:0; z-index:9999; overflow:hidden;}
447
  #cboxWrapper {max-width:none;}
448
  #cboxOverlay{position:fixed; width:100%; height:100%;}
449
  #cboxMiddleLeft, #cboxBottomLeft{clear:left;}
443
  Colorbox Core Style:
444
  The following CSS is consistent between example themes and should not be altered.
445
  */
446
+ #colorbox, #cboxOverlay, #cboxWrapper{position:absolute; top:0; left:0; z-index:99999; overflow:hidden;}
447
  #cboxWrapper {max-width:none;}
448
  #cboxOverlay{position:fixed; width:100%; height:100%;}
449
  #cboxMiddleLeft, #cboxBottomLeft{clear:left;}
src/GridGallery/Galleries/assets/css/grid-gallery.galleries.style.css CHANGED
@@ -513,10 +513,13 @@ div.gg-shortcode {
513
  }
514
 
515
  .supsystic-plugin .ggCopyTextCode.shortcode {
516
- width: 330px;
517
  }
518
  .supsystic-plugin .ggCopyTextCode.phpcode {
519
- width: 530px;
 
 
 
520
  }
521
 
522
  .preset {
@@ -740,7 +743,7 @@ div.gg-shortcode {
740
  .gg-wraper-anchor-nav-links .gg-anchor-nav-links.active,
741
  .gg-wraper-anchor-nav-links .gg-anchor-nav-links:hover {
742
  color: #000;
743
- font-weight: bold;
744
  }
745
  #gg-anl-main {
746
  margin-top: 0px;
@@ -851,6 +854,9 @@ div.gg-shortcode {
851
  .ggSettingsDisplNone {
852
  display: none !important;
853
  }
 
 
 
854
  .gg-tab-links.gg-image-params {
855
  border-bottom: 1px solid #ccc;
856
  }
@@ -951,4 +957,44 @@ label[for="captEffShrinkType"] {
951
 
952
  label.sggCheckboxLabelInOneRow {
953
  margin-right: 10px;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
954
  }
513
  }
514
 
515
  .supsystic-plugin .ggCopyTextCode.shortcode {
516
+ width: 185px;
517
  }
518
  .supsystic-plugin .ggCopyTextCode.phpcode {
519
+ width: 185px;
520
+ }
521
+ .sggActionButtons{
522
+ margin-bottom: 5px!important;
523
  }
524
 
525
  .preset {
743
  .gg-wraper-anchor-nav-links .gg-anchor-nav-links.active,
744
  .gg-wraper-anchor-nav-links .gg-anchor-nav-links:hover {
745
  color: #000;
746
+ text-decoration: underline;
747
  }
748
  #gg-anl-main {
749
  margin-top: 0px;
854
  .ggSettingsDisplNone {
855
  display: none !important;
856
  }
857
+ .ggSettingsTop0 {
858
+ top: 0!important;
859
+ }
860
  .gg-tab-links.gg-image-params {
861
  border-bottom: 1px solid #ccc;
862
  }
957
 
958
  label.sggCheckboxLabelInOneRow {
959
  margin-right: 10px;
960
+ }
961
+ .sggFigCaptionIconsEntry {
962
+ font-size: 0.8em;
963
+ }
964
+
965
+ #galleries_wrapper .top{
966
+ float: left;
967
+ }
968
+
969
+ #galleries_wrapper .dt_rigth {
970
+ float: right !important;
971
+ text-align: right !important;
972
+ }
973
+ #galleries_wrapper .dataTables_paginate{
974
+ text-align: left !important;
975
+ width: 40%;
976
+ float: right;
977
+ }
978
+ .paginate_links {
979
+ box-sizing: border-box;
980
+ display: inline-block;
981
+ min-width: 1em;
982
+ padding: 0.5em;
983
+ margin-left: 2px;
984
+ text-align: center;
985
+ text-decoration: none !important;
986
+ cursor: pointer;
987
+ color: #333 !important;
988
+ border: 1px solid transparent;
989
+ border-radius: 2px;
990
+ }
991
+ .dataTables_info {
992
+ padding: 0.4em !important;
993
+ }
994
+
995
+ #gg-galleries #galleries_length select{
996
+ height: auto;
997
+ }
998
+ #gg-galleries #delete-group{
999
+ margin-top: 10px;
1000
  }
src/GridGallery/Galleries/assets/css/jquery-ui.theme.min.css CHANGED
@@ -8,8 +8,8 @@
8
  background:#555 url("images/ui-bg_highlight-hard_55_555555_1x100.png") 50% top repeat-x;
9
  color:#ccc}
10
  .ui-state-highlight a,.ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a{color:#ccc}.ui-state-error,.ui-widget-content .ui-state-error,.ui-widget-header .ui-state-error{border:1px solid #cd0a0a;background:#fef1ec url("images/ui-bg_glass_95_fef1ec_1x400.png") 50% 50% repeat-x;color:#cd0a0a}.ui-state-error a,.ui-widget-content .ui-state-error a,.ui-widget-header .ui-state-error a{color:#cd0a0a}.ui-state-error-text,.ui-widget-content .ui-state-error-text,.ui-widget-header .ui-state-error-text{color:#cd0a0a}.ui-priority-primary,.ui-widget-content .ui-priority-primary,.ui-widget-header .ui-priority-primary{font-weight:bold}.ui-priority-secondary,.ui-widget-content .ui-priority-secondary,.ui-widget-header .ui-priority-secondary{opacity:.7;filter:Alpha(Opacity=70);font-weight:normal}.ui-state-disabled,.ui-widget-content .ui-state-disabled,.ui-widget-header .ui-state-disabled{opacity:.35;filter:Alpha(Opacity=35);background-image:none}.ui-state-disabled .ui-icon{filter:Alpha(Opacity=35)}.ui-icon{width:16px;height:16px}.ui-state-active .ui-icon{background-image:url("images/ui-icons_f29a00_256x240.png")}.ui-state-highlight .ui-icon{background-image:url("images/ui-icons_aaaaaa_256x240.png")}.ui-state-error .ui-icon,.ui-state-error-text .ui-icon{background-image:url("images/ui-icons_cd0a0a_256x240.png")}.ui-icon-blank{background-position:16px 16px}.ui-icon-carat-1-n{background-position:0 0}.ui-icon-carat-1-ne{background-position:-16px 0}.ui-icon-carat-1-e{background-position:-32px 0}.ui-icon-carat-1-se{background-position:-48px 0}.ui-icon-carat-1-s{background-position:-64px 0}.ui-icon-carat-1-sw{background-position:-80px 0}.ui-icon-carat-1-w{background-position:-96px 0}.ui-icon-carat-1-nw{background-position:-112px 0}.ui-icon-carat-2-n-s{background-position:-128px 0}.ui-icon-carat-2-e-w{background-position:-144px 0}.ui-icon-triangle-1-n{background-position:0 -16px}.ui-icon-triangle-1-ne{background-position:-16px -16px}.ui-icon-triangle-1-e{background-position:-32px -16px}.ui-icon-triangle-1-se{background-position:-48px -16px}.ui-icon-triangle-1-sw{background-position:-80px -16px}.ui-icon-triangle-1-w{background-position:-96px -16px}.ui-icon-triangle-1-nw{background-position:-112px -16px}.ui-icon-triangle-2-n-s{background-position:-128px -16px}.ui-icon-triangle-2-e-w{background-position:-144px -16px}.ui-icon-arrow-1-n{background-position:0 -32px}.ui-icon-arrow-1-ne{background-position:-16px -32px}.ui-icon-arrow-1-e{background-position:-32px -32px}.ui-icon-arrow-1-se{background-position:-48px -32px}.ui-icon-arrow-1-s{background-position:-64px -32px}.ui-icon-arrow-1-sw{background-position:-80px -32px}.ui-icon-arrow-1-w{background-position:-96px -32px}.ui-icon-arrow-1-nw{background-position:-112px -32px}.ui-icon-arrow-2-n-s{background-position:-128px -32px}.ui-icon-arrow-2-ne-sw{background-position:-144px -32px}.ui-icon-arrow-2-e-w{background-position:-160px -32px}.ui-icon-arrow-2-se-nw{background-position:-176px -32px}.ui-icon-arrowstop-1-n{background-position:-192px -32px}.ui-icon-arrowstop-1-e{background-position:-208px -32px}.ui-icon-arrowstop-1-s{background-position:-224px -32px}.ui-icon-arrowstop-1-w{background-position:-240px -32px}.ui-icon-arrowthick-1-n{background-position:0 -48px}.ui-icon-arrowthick-1-ne{background-position:-16px -48px}.ui-icon-arrowthick-1-e{background-position:-32px -48px}.ui-icon-arrowthick-1-se{background-position:-48px -48px}.ui-icon-arrowthick-1-s{background-position:-64px -48px}.ui-icon-arrowthick-1-sw{background-position:-80px -48px}.ui-icon-arrowthick-1-w{background-position:-96px -48px}.ui-icon-arrowthick-1-nw{background-position:-112px -48px}.ui-icon-arrowthick-2-n-s{background-position:-128px -48px}.ui-icon-arrowthick-2-ne-sw{background-position:-144px -48px}.ui-icon-arrowthick-2-e-w{background-position:-160px -48px}.ui-icon-arrowthick-2-se-nw{background-position:-176px -48px}.ui-icon-arrowthickstop-1-n{background-position:-192px -48px}.ui-icon-arrowthickstop-1-e{background-position:-208px -48px}.ui-icon-arrowthickstop-1-s{background-position:-224px -48px}.ui-icon-arrowthickstop-1-w{background-position:-240px -48px}.ui-icon-arrowreturnthick-1-w{background-position:0 -64px}.ui-icon-arrowreturnthick-1-n{background-position:-16px -64px}.ui-icon-arrowreturnthick-1-e{background-position:-32px -64px}.ui-icon-arrowreturnthick-1-s{background-position:-48px -64px}.ui-icon-arrowreturn-1-w{background-position:-64px -64px}.ui-icon-arrowreturn-1-n{background-position:-80px -64px}.ui-icon-arrowreturn-1-e{background-position:-96px -64px}.ui-icon-arrowreturn-1-s{background-position:-112px -64px}.ui-icon-arrowrefresh-1-w{background-position:-128px -64px}.ui-icon-arrowrefresh-1-n{background-position:-144px -64px}.ui-icon-arrowrefresh-1-e{background-position:-160px -64px}.ui-icon-arrowrefresh-1-s{background-position:-176px -64px}.ui-icon-arrow-4{background-position:0 -80px}.ui-icon-arrow-4-diag{background-position:-16px -80px}.ui-icon-extlink{background-position:-32px -80px}.ui-icon-newwin{background-position:-48px -80px}.ui-icon-refresh{background-position:-64px -80px}.ui-icon-shuffle{background-position:-80px -80px}.ui-icon-transfer-e-w{background-position:-96px -80px}.ui-icon-transferthick-e-w{background-position:-112px -80px}.ui-icon-folder-collapsed{background-position:0 -96px}.ui-icon-folder-open{background-position:-16px -96px}.ui-icon-document{background-position:-32px -96px}.ui-icon-document-b{background-position:-48px -96px}.ui-icon-note{background-position:-64px -96px}.ui-icon-mail-closed{background-position:-80px -96px}.ui-icon-mail-open{background-position:-96px -96px}.ui-icon-suitcase{background-position:-112px -96px}.ui-icon-comment{background-position:-128px -96px}.ui-icon-person{background-position:-144px -96px}.ui-icon-print{background-position:-160px -96px}.ui-icon-trash{background-position:-176px -96px}.ui-icon-locked{background-position:-192px -96px}.ui-icon-unlocked{background-position:-208px -96px}.ui-icon-bookmark{background-position:-224px -96px}.ui-icon-tag{background-position:-240px -96px}.ui-icon-home{background-position:0 -112px}.ui-icon-flag{background-position:-16px -112px}.ui-icon-calendar{background-position:-32px -112px}.ui-icon-cart{background-position:-48px -112px}.ui-icon-pencil{background-position:-64px -112px}.ui-icon-clock{background-position:-80px -112px}.ui-icon-disk{background-position:-96px -112px}.ui-icon-calculator{background-position:-112px -112px}.ui-icon-zoomin{background-position:-128px -112px}.ui-icon-zoomout{background-position:-144px -112px}.ui-icon-search{background-position:-160px -112px}.ui-icon-wrench{background-position:-176px -112px}.ui-icon-gear{background-position:-192px -112px}.ui-icon-heart{background-position:-208px -112px}.ui-icon-star{background-position:-224px -112px}.ui-icon-link{background-position:-240px -112px}.ui-icon-cancel{background-position:0 -128px}.ui-icon-plus{background-position:-16px -128px}.ui-icon-plusthick{background-position:-32px -128px}.ui-icon-minus{background-position:-48px -128px}.ui-icon-minusthick{background-position:-64px -128px}.ui-icon-close{background-position:-80px -128px}.ui-icon-closethick{background-position:-96px -128px}.ui-icon-key{background-position:-112px -128px}.ui-icon-lightbulb{background-position:-128px -128px}.ui-icon-scissors{background-position:-144px -128px}.ui-icon-clipboard{background-position:-160px -128px}.ui-icon-copy{background-position:-176px -128px}.ui-icon-contact{background-position:-192px -128px}.ui-icon-image{background-position:-208px -128px}.ui-icon-video{background-position:-224px -128px}.ui-icon-script{background-position:-240px -128px}.ui-icon-alert{background-position:0 -144px}.ui-icon-info{background-position:-16px -144px}.ui-icon-notice{background-position:-32px -144px}.ui-icon-help{background-position:-48px -144px}.ui-icon-check{background-position:-64px -144px}.ui-icon-bullet{background-position:-80px -144px}.ui-icon-radio-on{background-position:-96px -144px}.ui-icon-radio-off{background-position:-112px -144px}.ui-icon-pin-w{background-position:-128px -144px}.ui-icon-pin-s{background-position:-144px -144px}.ui-icon-play{background-position:0 -160px}.ui-icon-pause{background-position:-16px -160px}.ui-icon-seek-next{background-position:-32px -160px}.ui-icon-seek-prev{background-position:-48px -160px}.ui-icon-seek-end{background-position:-64px -160px}.ui-icon-seek-start{background-position:-80px -160px}.ui-icon-seek-first{background-position:-80px -160px}.ui-icon-stop{background-position:-96px -160px}.ui-icon-eject{background-position:-112px -160px}.ui-icon-volume-off{background-position:-128px -160px}.ui-icon-volume-on{background-position:-144px -160px}.ui-icon-power{background-position:0 -176px}.ui-icon-signal-diag{background-position:-16px -176px}.ui-icon-signal{background-position:-32px -176px}.ui-icon-battery-0{background-position:-48px -176px}.ui-icon-battery-1{background-position:-64px -176px}.ui-icon-battery-2{background-position:-80px -176px}.ui-icon-battery-3{background-position:-96px -176px}.ui-icon-circle-plus{background-position:0 -192px}.ui-icon-circle-minus{background-position:-16px -192px}.ui-icon-circle-close{background-position:-32px -192px}.ui-icon-circle-triangle-e{background-position:-48px -192px}.ui-icon-circle-triangle-s{background-position:-64px -192px}.ui-icon-circle-triangle-w{background-position:-80px -192px}.ui-icon-circle-triangle-n{background-position:-96px -192px}.ui-icon-circle-arrow-e{background-position:-112px -192px}.ui-icon-circle-arrow-s{background-position:-128px -192px}.ui-icon-circle-arrow-w{background-position:-144px -192px}.ui-icon-circle-arrow-n{background-position:-160px -192px}.ui-icon-circle-zoomin{background-position:-176px -192px}.ui-icon-circle-zoomout{background-position:-192px -192px}.ui-icon-circle-check{background-position:-208px -192px}.ui-icon-circlesmall-plus{background-position:0 -208px}.ui-icon-circlesmall-minus{background-position:-16px -208px}.ui-icon-circlesmall-close{background-position:-32px -208px}.ui-icon-squaresmall-plus{background-position:-48px -208px}.ui-icon-squaresmall-minus{background-position:-64px -208px}.ui-icon-squaresmall-close{background-position:-80px -208px}.ui-icon-grip-dotted-vertical{background-position:0 -224px}.ui-icon-grip-dotted-horizontal{background-position:-16px -224px}.ui-icon-grip-solid-vertical{background-position:-32px -224px}.ui-icon-grip-solid-horizontal{background-position:-48px -224px}.ui-icon-gripsmall-diagonal-se{background-position:-64px -224px}.ui-icon-grip-diagonal-se{background-position:-80px -224px}.ui-corner-all,.ui-corner-top,.ui-corner-left,.ui-corner-tl{border-top-left-radius:5px}.ui-corner-all,.ui-corner-top,.ui-corner-right,.ui-corner-tr{border-top-right-radius:5px}.ui-corner-all,.ui-corner-bottom,.ui-corner-left,.ui-corner-bl{border-bottom-left-radius:5px}.ui-corner-all,.ui-corner-bottom,.ui-corner-right,.ui-corner-br{border-bottom-right-radius:5px}.ui-widget-overlay{background:#aaa url("images/ui-bg_flat_0_aaaaaa_40x100.png") 50% 50% repeat-x;opacity:.3;filter:Alpha(Opacity=30)}.ui-widget-shadow{margin:-8px 0 0 -8px;padding:8px;background:#aaa url("images/ui-bg_flat_0_aaaaaa_40x100.png") 50% 50% repeat-x;opacity:.3;filter:Alpha(Opacity=30);border-radius:8px}
11
- table, th {
12
- background: white !important;
13
  }
14
  .ui-jqgrid-labels {
15
  height: 50px !important;
8
  background:#555 url("images/ui-bg_highlight-hard_55_555555_1x100.png") 50% top repeat-x;
9
  color:#ccc}
10
  .ui-state-highlight a,.ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a{color:#ccc}.ui-state-error,.ui-widget-content .ui-state-error,.ui-widget-header .ui-state-error{border:1px solid #cd0a0a;background:#fef1ec url("images/ui-bg_glass_95_fef1ec_1x400.png") 50% 50% repeat-x;color:#cd0a0a}.ui-state-error a,.ui-widget-content .ui-state-error a,.ui-widget-header .ui-state-error a{color:#cd0a0a}.ui-state-error-text,.ui-widget-content .ui-state-error-text,.ui-widget-header .ui-state-error-text{color:#cd0a0a}.ui-priority-primary,.ui-widget-content .ui-priority-primary,.ui-widget-header .ui-priority-primary{font-weight:bold}.ui-priority-secondary,.ui-widget-content .ui-priority-secondary,.ui-widget-header .ui-priority-secondary{opacity:.7;filter:Alpha(Opacity=70);font-weight:normal}.ui-state-disabled,.ui-widget-content .ui-state-disabled,.ui-widget-header .ui-state-disabled{opacity:.35;filter:Alpha(Opacity=35);background-image:none}.ui-state-disabled .ui-icon{filter:Alpha(Opacity=35)}.ui-icon{width:16px;height:16px}.ui-state-active .ui-icon{background-image:url("images/ui-icons_f29a00_256x240.png")}.ui-state-highlight .ui-icon{background-image:url("images/ui-icons_aaaaaa_256x240.png")}.ui-state-error .ui-icon,.ui-state-error-text .ui-icon{background-image:url("images/ui-icons_cd0a0a_256x240.png")}.ui-icon-blank{background-position:16px 16px}.ui-icon-carat-1-n{background-position:0 0}.ui-icon-carat-1-ne{background-position:-16px 0}.ui-icon-carat-1-e{background-position:-32px 0}.ui-icon-carat-1-se{background-position:-48px 0}.ui-icon-carat-1-s{background-position:-64px 0}.ui-icon-carat-1-sw{background-position:-80px 0}.ui-icon-carat-1-w{background-position:-96px 0}.ui-icon-carat-1-nw{background-position:-112px 0}.ui-icon-carat-2-n-s{background-position:-128px 0}.ui-icon-carat-2-e-w{background-position:-144px 0}.ui-icon-triangle-1-n{background-position:0 -16px}.ui-icon-triangle-1-ne{background-position:-16px -16px}.ui-icon-triangle-1-e{background-position:-32px -16px}.ui-icon-triangle-1-se{background-position:-48px -16px}.ui-icon-triangle-1-sw{background-position:-80px -16px}.ui-icon-triangle-1-w{background-position:-96px -16px}.ui-icon-triangle-1-nw{background-position:-112px -16px}.ui-icon-triangle-2-n-s{background-position:-128px -16px}.ui-icon-triangle-2-e-w{background-position:-144px -16px}.ui-icon-arrow-1-n{background-position:0 -32px}.ui-icon-arrow-1-ne{background-position:-16px -32px}.ui-icon-arrow-1-e{background-position:-32px -32px}.ui-icon-arrow-1-se{background-position:-48px -32px}.ui-icon-arrow-1-s{background-position:-64px -32px}.ui-icon-arrow-1-sw{background-position:-80px -32px}.ui-icon-arrow-1-w{background-position:-96px -32px}.ui-icon-arrow-1-nw{background-position:-112px -32px}.ui-icon-arrow-2-n-s{background-position:-128px -32px}.ui-icon-arrow-2-ne-sw{background-position:-144px -32px}.ui-icon-arrow-2-e-w{background-position:-160px -32px}.ui-icon-arrow-2-se-nw{background-position:-176px -32px}.ui-icon-arrowstop-1-n{background-position:-192px -32px}.ui-icon-arrowstop-1-e{background-position:-208px -32px}.ui-icon-arrowstop-1-s{background-position:-224px -32px}.ui-icon-arrowstop-1-w{background-position:-240px -32px}.ui-icon-arrowthick-1-n{background-position:0 -48px}.ui-icon-arrowthick-1-ne{background-position:-16px -48px}.ui-icon-arrowthick-1-e{background-position:-32px -48px}.ui-icon-arrowthick-1-se{background-position:-48px -48px}.ui-icon-arrowthick-1-s{background-position:-64px -48px}.ui-icon-arrowthick-1-sw{background-position:-80px -48px}.ui-icon-arrowthick-1-w{background-position:-96px -48px}.ui-icon-arrowthick-1-nw{background-position:-112px -48px}.ui-icon-arrowthick-2-n-s{background-position:-128px -48px}.ui-icon-arrowthick-2-ne-sw{background-position:-144px -48px}.ui-icon-arrowthick-2-e-w{background-position:-160px -48px}.ui-icon-arrowthick-2-se-nw{background-position:-176px -48px}.ui-icon-arrowthickstop-1-n{background-position:-192px -48px}.ui-icon-arrowthickstop-1-e{background-position:-208px -48px}.ui-icon-arrowthickstop-1-s{background-position:-224px -48px}.ui-icon-arrowthickstop-1-w{background-position:-240px -48px}.ui-icon-arrowreturnthick-1-w{background-position:0 -64px}.ui-icon-arrowreturnthick-1-n{background-position:-16px -64px}.ui-icon-arrowreturnthick-1-e{background-position:-32px -64px}.ui-icon-arrowreturnthick-1-s{background-position:-48px -64px}.ui-icon-arrowreturn-1-w{background-position:-64px -64px}.ui-icon-arrowreturn-1-n{background-position:-80px -64px}.ui-icon-arrowreturn-1-e{background-position:-96px -64px}.ui-icon-arrowreturn-1-s{background-position:-112px -64px}.ui-icon-arrowrefresh-1-w{background-position:-128px -64px}.ui-icon-arrowrefresh-1-n{background-position:-144px -64px}.ui-icon-arrowrefresh-1-e{background-position:-160px -64px}.ui-icon-arrowrefresh-1-s{background-position:-176px -64px}.ui-icon-arrow-4{background-position:0 -80px}.ui-icon-arrow-4-diag{background-position:-16px -80px}.ui-icon-extlink{background-position:-32px -80px}.ui-icon-newwin{background-position:-48px -80px}.ui-icon-refresh{background-position:-64px -80px}.ui-icon-shuffle{background-position:-80px -80px}.ui-icon-transfer-e-w{background-position:-96px -80px}.ui-icon-transferthick-e-w{background-position:-112px -80px}.ui-icon-folder-collapsed{background-position:0 -96px}.ui-icon-folder-open{background-position:-16px -96px}.ui-icon-document{background-position:-32px -96px}.ui-icon-document-b{background-position:-48px -96px}.ui-icon-note{background-position:-64px -96px}.ui-icon-mail-closed{background-position:-80px -96px}.ui-icon-mail-open{background-position:-96px -96px}.ui-icon-suitcase{background-position:-112px -96px}.ui-icon-comment{background-position:-128px -96px}.ui-icon-person{background-position:-144px -96px}.ui-icon-print{background-position:-160px -96px}.ui-icon-trash{background-position:-176px -96px}.ui-icon-locked{background-position:-192px -96px}.ui-icon-unlocked{background-position:-208px -96px}.ui-icon-bookmark{background-position:-224px -96px}.ui-icon-tag{background-position:-240px -96px}.ui-icon-home{background-position:0 -112px}.ui-icon-flag{background-position:-16px -112px}.ui-icon-calendar{background-position:-32px -112px}.ui-icon-cart{background-position:-48px -112px}.ui-icon-pencil{background-position:-64px -112px}.ui-icon-clock{background-position:-80px -112px}.ui-icon-disk{background-position:-96px -112px}.ui-icon-calculator{background-position:-112px -112px}.ui-icon-zoomin{background-position:-128px -112px}.ui-icon-zoomout{background-position:-144px -112px}.ui-icon-search{background-position:-160px -112px}.ui-icon-wrench{background-position:-176px -112px}.ui-icon-gear{background-position:-192px -112px}.ui-icon-heart{background-position:-208px -112px}.ui-icon-star{background-position:-224px -112px}.ui-icon-link{background-position:-240px -112px}.ui-icon-cancel{background-position:0 -128px}.ui-icon-plus{background-position:-16px -128px}.ui-icon-plusthick{background-position:-32px -128px}.ui-icon-minus{background-position:-48px -128px}.ui-icon-minusthick{background-position:-64px -128px}.ui-icon-close{background-position:-80px -128px}.ui-icon-closethick{background-position:-96px -128px}.ui-icon-key{background-position:-112px -128px}.ui-icon-lightbulb{background-position:-128px -128px}.ui-icon-scissors{background-position:-144px -128px}.ui-icon-clipboard{background-position:-160px -128px}.ui-icon-copy{background-position:-176px -128px}.ui-icon-contact{background-position:-192px -128px}.ui-icon-image{background-position:-208px -128px}.ui-icon-video{background-position:-224px -128px}.ui-icon-script{background-position:-240px -128px}.ui-icon-alert{background-position:0 -144px}.ui-icon-info{background-position:-16px -144px}.ui-icon-notice{background-position:-32px -144px}.ui-icon-help{background-position:-48px -144px}.ui-icon-check{background-position:-64px -144px}.ui-icon-bullet{background-position:-80px -144px}.ui-icon-radio-on{background-position:-96px -144px}.ui-icon-radio-off{background-position:-112px -144px}.ui-icon-pin-w{background-position:-128px -144px}.ui-icon-pin-s{background-position:-144px -144px}.ui-icon-play{background-position:0 -160px}.ui-icon-pause{background-position:-16px -160px}.ui-icon-seek-next{background-position:-32px -160px}.ui-icon-seek-prev{background-position:-48px -160px}.ui-icon-seek-end{background-position:-64px -160px}.ui-icon-seek-start{background-position:-80px -160px}.ui-icon-seek-first{background-position:-80px -160px}.ui-icon-stop{background-position:-96px -160px}.ui-icon-eject{background-position:-112px -160px}.ui-icon-volume-off{background-position:-128px -160px}.ui-icon-volume-on{background-position:-144px -160px}.ui-icon-power{background-position:0 -176px}.ui-icon-signal-diag{background-position:-16px -176px}.ui-icon-signal{background-position:-32px -176px}.ui-icon-battery-0{background-position:-48px -176px}.ui-icon-battery-1{background-position:-64px -176px}.ui-icon-battery-2{background-position:-80px -176px}.ui-icon-battery-3{background-position:-96px -176px}.ui-icon-circle-plus{background-position:0 -192px}.ui-icon-circle-minus{background-position:-16px -192px}.ui-icon-circle-close{background-position:-32px -192px}.ui-icon-circle-triangle-e{background-position:-48px -192px}.ui-icon-circle-triangle-s{background-position:-64px -192px}.ui-icon-circle-triangle-w{background-position:-80px -192px}.ui-icon-circle-triangle-n{background-position:-96px -192px}.ui-icon-circle-arrow-e{background-position:-112px -192px}.ui-icon-circle-arrow-s{background-position:-128px -192px}.ui-icon-circle-arrow-w{background-position:-144px -192px}.ui-icon-circle-arrow-n{background-position:-160px -192px}.ui-icon-circle-zoomin{background-position:-176px -192px}.ui-icon-circle-zoomout{background-position:-192px -192px}.ui-icon-circle-check{background-position:-208px -192px}.ui-icon-circlesmall-plus{background-position:0 -208px}.ui-icon-circlesmall-minus{background-position:-16px -208px}.ui-icon-circlesmall-close{background-position:-32px -208px}.ui-icon-squaresmall-plus{background-position:-48px -208px}.ui-icon-squaresmall-minus{background-position:-64px -208px}.ui-icon-squaresmall-close{background-position:-80px -208px}.ui-icon-grip-dotted-vertical{background-position:0 -224px}.ui-icon-grip-dotted-horizontal{background-position:-16px -224px}.ui-icon-grip-solid-vertical{background-position:-32px -224px}.ui-icon-grip-solid-horizontal{background-position:-48px -224px}.ui-icon-gripsmall-diagonal-se{background-position:-64px -224px}.ui-icon-grip-diagonal-se{background-position:-80px -224px}.ui-corner-all,.ui-corner-top,.ui-corner-left,.ui-corner-tl{border-top-left-radius:5px}.ui-corner-all,.ui-corner-top,.ui-corner-right,.ui-corner-tr{border-top-right-radius:5px}.ui-corner-all,.ui-corner-bottom,.ui-corner-left,.ui-corner-bl{border-bottom-left-radius:5px}.ui-corner-all,.ui-corner-bottom,.ui-corner-right,.ui-corner-br{border-bottom-right-radius:5px}.ui-widget-overlay{background:#aaa url("images/ui-bg_flat_0_aaaaaa_40x100.png") 50% 50% repeat-x;opacity:.3;filter:Alpha(Opacity=30)}.ui-widget-shadow{margin:-8px 0 0 -8px;padding:8px;background:#aaa url("images/ui-bg_flat_0_aaaaaa_40x100.png") 50% 50% repeat-x;opacity:.3;filter:Alpha(Opacity=30);border-radius:8px}
11
+ .ui-jqgrid-htable table,.ui-jqgrid-htable th {
12
+ background: white!important;
13
  }
14
  .ui-jqgrid-labels {
15
  height: 50px !important;
src/GridGallery/Galleries/assets/css/jquery.dataTables.min.css ADDED
@@ -0,0 +1 @@
 
1
+ table.dataTable{width:100%;margin:0 auto;clear:both;border-collapse:separate;border-spacing:0}table.dataTable thead th,table.dataTable tfoot th{font-weight:bold}table.dataTable thead th,table.dataTable thead td{padding:10px 18px;border-bottom:1px solid #111}table.dataTable thead th:active,table.dataTable thead td:active{outline:none}table.dataTable tfoot th,table.dataTable tfoot td{padding:10px 18px 6px 18px;border-top:1px solid #111}table.dataTable thead .sorting,table.dataTable thead .sorting_asc,table.dataTable thead .sorting_desc,table.dataTable thead .sorting_asc_disabled,table.dataTable thead .sorting_desc_disabled{cursor:pointer;*cursor:hand;background-repeat:no-repeat;background-position:center right}table.dataTable thead .sorting{background-image:url("../images/sort_both.png")}table.dataTable thead .sorting_asc{background-image:url("../images/sort_asc.png")}table.dataTable thead .sorting_desc{background-image:url("../images/sort_desc.png")}table.dataTable thead .sorting_asc_disabled{background-image:url("../images/sort_asc_disabled.png")}table.dataTable thead .sorting_desc_disabled{background-image:url("../images/sort_desc_disabled.png")}table.dataTable tbody tr{background-color:#ffffff}table.dataTable tbody tr.selected{background-color:#B0BED9}table.dataTable tbody th,table.dataTable tbody td{padding:8px 10px}table.dataTable.row-border tbody th,table.dataTable.row-border tbody td,table.dataTable.display tbody th,table.dataTable.display tbody td{border-top:1px solid #ddd}table.dataTable.row-border tbody tr:first-child th,table.dataTable.row-border tbody tr:first-child td,table.dataTable.display tbody tr:first-child th,table.dataTable.display tbody tr:first-child td{border-top:none}table.dataTable.cell-border tbody th,table.dataTable.cell-border tbody td{border-top:1px solid #ddd;border-right:1px solid #ddd}table.dataTable.cell-border tbody tr th:first-child,table.dataTable.cell-border tbody tr td:first-child{border-left:1px solid #ddd}table.dataTable.cell-border tbody tr:first-child th,table.dataTable.cell-border tbody tr:first-child td{border-top:none}table.dataTable.stripe tbody tr.odd,table.dataTable.display tbody tr.odd{background-color:#f9f9f9}table.dataTable.stripe tbody tr.odd.selected,table.dataTable.display tbody tr.odd.selected{background-color:#acbad4}table.dataTable.hover tbody tr:hover,table.dataTable.display tbody tr:hover{background-color:#f6f6f6}table.dataTable.hover tbody tr:hover.selected,table.dataTable.display tbody tr:hover.selected{background-color:#aab7d1}table.dataTable.order-column tbody tr>.sorting_1,table.dataTable.order-column tbody tr>.sorting_2,table.dataTable.order-column tbody tr>.sorting_3,table.dataTable.display tbody tr>.sorting_1,table.dataTable.display tbody tr>.sorting_2,table.dataTable.display tbody tr>.sorting_3{background-color:#fafafa}table.dataTable.order-column tbody tr.selected>.sorting_1,table.dataTable.order-column tbody tr.selected>.sorting_2,table.dataTable.order-column tbody tr.selected>.sorting_3,table.dataTable.display tbody tr.selected>.sorting_1,table.dataTable.display tbody tr.selected>.sorting_2,table.dataTable.display tbody tr.selected>.sorting_3{background-color:#acbad5}table.dataTable.display tbody tr.odd>.sorting_1,table.dataTable.order-column.stripe tbody tr.odd>.sorting_1{background-color:#f1f1f1}table.dataTable.display tbody tr.odd>.sorting_2,table.dataTable.order-column.stripe tbody tr.odd>.sorting_2{background-color:#f3f3f3}table.dataTable.display tbody tr.odd>.sorting_3,table.dataTable.order-column.stripe tbody tr.odd>.sorting_3{background-color:whitesmoke}table.dataTable.display tbody tr.odd.selected>.sorting_1,table.dataTable.order-column.stripe tbody tr.odd.selected>.sorting_1{background-color:#a6b4cd}table.dataTable.display tbody tr.odd.selected>.sorting_2,table.dataTable.order-column.stripe tbody tr.odd.selected>.sorting_2{background-color:#a8b5cf}table.dataTable.display tbody tr.odd.selected>.sorting_3,table.dataTable.order-column.stripe tbody tr.odd.selected>.sorting_3{background-color:#a9b7d1}table.dataTable.display tbody tr.even>.sorting_1,table.dataTable.order-column.stripe tbody tr.even>.sorting_1{background-color:#fafafa}table.dataTable.display tbody tr.even>.sorting_2,table.dataTable.order-column.stripe tbody tr.even>.sorting_2{background-color:#fcfcfc}table.dataTable.display tbody tr.even>.sorting_3,table.dataTable.order-column.stripe tbody tr.even>.sorting_3{background-color:#fefefe}table.dataTable.display tbody tr.even.selected>.sorting_1,table.dataTable.order-column.stripe tbody tr.even.selected>.sorting_1{background-color:#acbad5}table.dataTable.display tbody tr.even.selected>.sorting_2,table.dataTable.order-column.stripe tbody tr.even.selected>.sorting_2{background-color:#aebcd6}table.dataTable.display tbody tr.even.selected>.sorting_3,table.dataTable.order-column.stripe tbody tr.even.selected>.sorting_3{background-color:#afbdd8}table.dataTable.display tbody tr:hover>.sorting_1,table.dataTable.order-column.hover tbody tr:hover>.sorting_1{background-color:#eaeaea}table.dataTable.display tbody tr:hover>.sorting_2,table.dataTable.order-column.hover tbody tr:hover>.sorting_2{background-color:#ececec}table.dataTable.display tbody tr:hover>.sorting_3,table.dataTable.order-column.hover tbody tr:hover>.sorting_3{background-color:#efefef}table.dataTable.display tbody tr:hover.selected>.sorting_1,table.dataTable.order-column.hover tbody tr:hover.selected>.sorting_1{background-color:#a2aec7}table.dataTable.display tbody tr:hover.selected>.sorting_2,table.dataTable.order-column.hover tbody tr:hover.selected>.sorting_2{background-color:#a3b0c9}table.dataTable.display tbody tr:hover.selected>.sorting_3,table.dataTable.order-column.hover tbody tr:hover.selected>.sorting_3{background-color:#a5b2cb}table.dataTable.no-footer{border-bottom:1px solid #111}table.dataTable.nowrap th,table.dataTable.nowrap td{white-space:nowrap}table.dataTable.compact thead th,table.dataTable.compact thead td{padding:4px 17px 4px 4px}table.dataTable.compact tfoot th,table.dataTable.compact tfoot td{padding:4px}table.dataTable.compact tbody th,table.dataTable.compact tbody td{padding:4px}table.dataTable th.dt-left,table.dataTable td.dt-left{text-align:left}table.dataTable th.dt-center,table.dataTable td.dt-center,table.dataTable td.dataTables_empty{text-align:center}table.dataTable th.dt-right,table.dataTable td.dt-right{text-align:right}table.dataTable th.dt-justify,table.dataTable td.dt-justify{text-align:justify}table.dataTable th.dt-nowrap,table.dataTable td.dt-nowrap{white-space:nowrap}table.dataTable thead th.dt-head-left,table.dataTable thead td.dt-head-left,table.dataTable tfoot th.dt-head-left,table.dataTable tfoot td.dt-head-left{text-align:left}table.dataTable thead th.dt-head-center,table.dataTable thead td.dt-head-center,table.dataTable tfoot th.dt-head-center,table.dataTable tfoot td.dt-head-center{text-align:center}table.dataTable thead th.dt-head-right,table.dataTable thead td.dt-head-right,table.dataTable tfoot th.dt-head-right,table.dataTable tfoot td.dt-head-right{text-align:right}table.dataTable thead th.dt-head-justify,table.dataTable thead td.dt-head-justify,table.dataTable tfoot th.dt-head-justify,table.dataTable tfoot td.dt-head-justify{text-align:justify}table.dataTable thead th.dt-head-nowrap,table.dataTable thead td.dt-head-nowrap,table.dataTable tfoot th.dt-head-nowrap,table.dataTable tfoot td.dt-head-nowrap{white-space:nowrap}table.dataTable tbody th.dt-body-left,table.dataTable tbody td.dt-body-left{text-align:left}table.dataTable tbody th.dt-body-center,table.dataTable tbody td.dt-body-center{text-align:center}table.dataTable tbody th.dt-body-right,table.dataTable tbody td.dt-body-right{text-align:right}table.dataTable tbody th.dt-body-justify,table.dataTable tbody td.dt-body-justify{text-align:justify}table.dataTable tbody th.dt-body-nowrap,table.dataTable tbody td.dt-body-nowrap{white-space:nowrap}table.dataTable,table.dataTable th,table.dataTable td{box-sizing:content-box}.dataTables_wrapper{position:relative;clear:both;*zoom:1;zoom:1}.dataTables_wrapper .dataTables_length{float:left}.dataTables_wrapper .dataTables_filter{float:right;text-align:right}.dataTables_wrapper .dataTables_filter input{margin-left:0.5em}.dataTables_wrapper .dataTables_info{clear:both;float:left;padding-top:0.755em}.dataTables_wrapper .dataTables_paginate{float:right;text-align:right;padding-top:0.25em}.dataTables_wrapper .dataTables_paginate .paginate_button{box-sizing:border-box;display:inline-block;min-width:1.5em;padding:0.5em 1em;margin-left:2px;text-align:center;text-decoration:none !important;cursor:pointer;*cursor:hand;color:#333 !important;border:1px solid transparent;border-radius:2px}.dataTables_wrapper .dataTables_paginate .paginate_button.current,.dataTables_wrapper .dataTables_paginate .paginate_button.current:hover{color:#333 !important;border:1px solid #979797;background-color:white;background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #fff), color-stop(100%, #dcdcdc));background:-webkit-linear-gradient(top, #fff 0%, #dcdcdc 100%);background:-moz-linear-gradient(top, #fff 0%, #dcdcdc 100%);background:-ms-linear-gradient(top, #fff 0%, #dcdcdc 100%);background:-o-linear-gradient(top, #fff 0%, #dcdcdc 100%);background:linear-gradient(to bottom, #fff 0%, #dcdcdc 100%)}.dataTables_wrapper .dataTables_paginate .paginate_button.disabled,.dataTables_wrapper .dataTables_paginate .paginate_button.disabled:hover,.dataTables_wrapper .dataTables_paginate .paginate_button.disabled:active{cursor:default;color:#666 !important;border:1px solid transparent;background:transparent;box-shadow:none}.dataTables_wrapper .dataTables_paginate .paginate_button:hover{color:white !important;border:1px solid #111;background-color:#585858;background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #585858), color-stop(100%, #111));background:-webkit-linear-gradient(top, #585858 0%, #111 100%);background:-moz-linear-gradient(top, #585858 0%, #111 100%);background:-ms-linear-gradient(top, #585858 0%, #111 100%);background:-o-linear-gradient(top, #585858 0%, #111 100%);background:linear-gradient(to bottom, #585858 0%, #111 100%)}.dataTables_wrapper .dataTables_paginate .paginate_button:active{outline:none;background-color:#2b2b2b;background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #2b2b2b), color-stop(100%, #0c0c0c));background:-webkit-linear-gradient(top, #2b2b2b 0%, #0c0c0c 100%);background:-moz-linear-gradient(top, #2b2b2b 0%, #0c0c0c 100%);background:-ms-linear-gradient(top, #2b2b2b 0%, #0c0c0c 100%);background:-o-linear-gradient(top, #2b2b2b 0%, #0c0c0c 100%);background:linear-gradient(to bottom, #2b2b2b 0%, #0c0c0c 100%);box-shadow:inset 0 0 3px #111}.dataTables_wrapper .dataTables_paginate .ellipsis{padding:0 1em}.dataTables_wrapper .dataTables_processing{position:absolute;top:50%;left:50%;width:100%;height:40px;margin-left:-50%;margin-top:-25px;padding-top:20px;text-align:center;font-size:1.2em;background-color:white;background:-webkit-gradient(linear, left top, right top, color-stop(0%, rgba(255,255,255,0)), color-stop(25%, rgba(255,255,255,0.9)), color-stop(75%, rgba(255,255,255,0.9)), color-stop(100%, rgba(255,255,255,0)));background:-webkit-linear-gradient(left, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 25%, rgba(255,255,255,0.9) 75%, rgba(255,255,255,0) 100%);background:-moz-linear-gradient(left, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 25%, rgba(255,255,255,0.9) 75%, rgba(255,255,255,0) 100%);background:-ms-linear-gradient(left, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 25%, rgba(255,255,255,0.9) 75%, rgba(255,255,255,0) 100%);background:-o-linear-gradient(left, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 25%, rgba(255,255,255,0.9) 75%, rgba(255,255,255,0) 100%);background:linear-gradient(to right, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 25%, rgba(255,255,255,0.9) 75%, rgba(255,255,255,0) 100%)}.dataTables_wrapper .dataTables_length,.dataTables_wrapper .dataTables_filter,.dataTables_wrapper .dataTables_info,.dataTables_wrapper .dataTables_processing,.dataTables_wrapper .dataTables_paginate{color:#333}.dataTables_wrapper .dataTables_scroll{clear:both}.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody{*margin-top:-1px;-webkit-overflow-scrolling:touch}.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody>table>thead>tr>th,.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody>table>thead>tr>td,.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody>table>tbody>tr>th,.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody>table>tbody>tr>td{vertical-align:middle}.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody>table>thead>tr>th>div.dataTables_sizing,.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody>table>thead>tr>td>div.dataTables_sizing,.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody>table>tbody>tr>th>div.dataTables_sizing,.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody>table>tbody>tr>td>div.dataTables_sizing{height:0;overflow:hidden;margin:0 !important;padding:0 !important}.dataTables_wrapper.no-footer .dataTables_scrollBody{border-bottom:1px solid #111}.dataTables_wrapper.no-footer div.dataTables_scrollHead table.dataTable,.dataTables_wrapper.no-footer div.dataTables_scrollBody>table{border-bottom:none}.dataTables_wrapper:after{visibility:hidden;display:block;content:"";clear:both;height:0}@media screen and (max-width: 767px){.dataTables_wrapper .dataTables_info,.dataTables_wrapper .dataTables_paginate{float:none;text-align:center}.dataTables_wrapper .dataTables_paginate{margin-top:0.5em}}@media screen and (max-width: 640px){.dataTables_wrapper .dataTables_length,.dataTables_wrapper .dataTables_filter{float:none;text-align:center}.dataTables_wrapper .dataTables_filter{margin-top:0.5em}}
src/GridGallery/Galleries/assets/css/photobox.css CHANGED
@@ -1,13 +1,14 @@
1
  #pbOverlay.show{ opacity:1; pointer-events:auto; }
2
  #pbOverlay{
3
- opacity:0; overflow:hidden; width:100%; height:100%; position:fixed; z-index:9999; left:0; top:0; text-align:center; pointer-events:none;
4
  -moz-user-select:none;
5
  background:rgba(0,0,0,0.90);
6
- // background:radial-gradient(rgba(0,0,0,.6) 0%, rgba(0,0,0,.9) 100%);
7
  -webkit-transform:translate3d(0px, 0px, 0px);
8
  -ms-transition:opacity 300ms ease;
9
  transition:opacity 300ms ease;
10
  display: block;
 
11
  }
12
  #pbOverlay.msie{ background-color:rgba(0,0,0,.6); }
13
  .msie.pbLoading .pbWrapper{ background:url('../images/loading.gif') no-repeat center center; }
1
  #pbOverlay.show{ opacity:1; pointer-events:auto; }
2
  #pbOverlay{
3
+ opacity:0; overflow:hidden; width:100%; height:100%; position:fixed; z-index:99999; left:0; top:0; text-align:center; pointer-events:none;
4
  -moz-user-select:none;
5
  background:rgba(0,0,0,0.90);
6
+ /* background:radial-gradient(rgba(0,0,0,.6) 0%, rgba(0,0,0,.9) 100%);*/
7
  -webkit-transform:translate3d(0px, 0px, 0px);
8
  -ms-transition:opacity 300ms ease;
9
  transition:opacity 300ms ease;
10
  display: block;
11
+ direction: ltr;
12
  }
13
  #pbOverlay.msie{ background-color:rgba(0,0,0,.6); }
14
  .msie.pbLoading .pbWrapper{ background:url('../images/loading.gif') no-repeat center center; }
src/GridGallery/Galleries/assets/css/prettyPhoto.css CHANGED
@@ -63,7 +63,8 @@
63
  div.pp_details p {line-height: 1}
64
  div.pp_details .pp_description {
65
  margin: 3px 10px 0 0;
66
- padding-top: 4px;
 
67
  }
68
 
69
 
@@ -186,6 +187,7 @@
186
  Light Square Theme
187
  ----------------------------------- */
188
 
 
189
  div.light_square .pp_left ,
190
  div.light_square .pp_middle,
191
  div.light_square .pp_right,
@@ -294,6 +296,7 @@
294
  position: absolute;
295
  width: 100px;
296
  z-index: 999999;
 
297
  }
298
 
299
 
@@ -337,7 +340,7 @@
337
  }
338
  * html .pp_content { width: 40px; }
339
 
340
- .pp_fade { display: none; }
341
 
342
  .pp_content_container {
343
  position: relative;
@@ -560,6 +563,7 @@
560
 
561
  img#fullResImage {
562
  margin-bottom: 0px!important;
 
563
  }
564
 
565
  /*@media only screen and (min-width: 320px) and (max-width: 767px) {*/
@@ -760,4 +764,5 @@ a.pp_next {
760
  vertical-align: top;
761
  display: inline-block;
762
  float: left;
763
- }
 
63
  div.pp_details p {line-height: 1}
64
  div.pp_details .pp_description {
65
  margin: 3px 10px 0 0;
66
+ padding-top: 0px;
67
+ font-size: 1em;
68
  }
69
 
70
 
187
  Light Square Theme
188
  ----------------------------------- */
189
 
190
+ div.light_square,
191
  div.light_square .pp_left ,
192
  div.light_square .pp_middle,
193
  div.light_square .pp_right,
296
  position: absolute;
297
  width: 100px;
298
  z-index: 999999;
299
+ box-sizing: content-box;
300
  }
301
 
302
 
340
  }
341
  * html .pp_content { width: 40px; }
342
 
343
+ .pp_fade { display: none; position: relative; }
344
 
345
  .pp_content_container {
346
  position: relative;
563
 
564
  img#fullResImage {
565
  margin-bottom: 0px!important;
566
+ max-width: 100%;
567
  }
568
 
569
  /*@media only screen and (min-width: 320px) and (max-width: 767px) {*/
764
  vertical-align: top;
765
  display: inline-block;
766
  float: left;
767
+ }
768
+
src/GridGallery/Galleries/assets/images/sort_asc.png ADDED
Binary file
src/GridGallery/Galleries/assets/images/sort_asc_disabled.png ADDED
Binary file
src/GridGallery/Galleries/assets/images/sort_both.png ADDED
Binary file
src/GridGallery/Galleries/assets/images/sort_desc.png ADDED
Binary file
src/GridGallery/Galleries/assets/images/sort_desc_disabled.png ADDED
Binary file
src/GridGallery/Galleries/assets/js/frontend.js CHANGED
@@ -446,7 +446,6 @@
446
 
447
  //===========|Popup gallery scripts|===========//
448
  if(popupType == 'colorbox') {
449
-
450
  var $this = this.$container;
451
  // simple selector
452
  var colorBoxItemSelector = '.grid-gallery-photos > .gg-colorbox:visible,'
@@ -484,6 +483,9 @@
484
 
485
  $(document).on('cbox_complete', function(event) {
486
  $colorboxtooltip.html($("#cboxTitle").html());
 
 
 
487
  });
488
  }
489
  }
@@ -522,6 +524,9 @@
522
  onLoad: function(e){
523
  if(self.popup_opened_image == e.el) return;
524
  self.popup_opened_image = e.el;
 
 
 
525
  },
526
  onOpen: function(e) {
527
  //Enable/Disable stop slideshow on mouse hover
@@ -531,10 +536,12 @@
531
  clearTimeout(timeoutId);
532
  $('.cboxSlideshow_on #cboxSlideshow').click();
533
  },function(){
534
- clearTimeout(timeoutId);
535
- timeoutId = setTimeout(function(){
536
- $('.cboxSlideshow_off #cboxSlideshow').click();
537
- },slideshowSpeed);
 
 
538
  })
539
  }
540
  },
@@ -564,7 +571,6 @@
564
  }
565
 
566
  if(popupType == 'pretty-photo') {
567
-
568
  // simple selector
569
  var prettyPhotoItemSelector = '.grid-gallery-photos > a[data-rel^="prettyPhoto"]:visible,'
570
  + ' .grid-gallery-photos .gg-mosaic-wrapper a[data-rel^="prettyPhoto"],' // mosaic selector
@@ -617,6 +623,10 @@
617
  var imgTile = self.getPopupTitle($element);
618
  return imgTile;
619
  },
 
 
 
 
620
  changepicturecallback: function(element){
621
  self.changePopUpHash(element.attr('id') || element.attr('data-id'));
622
  self.popup_opened_image = element;
@@ -636,15 +646,16 @@
636
  $('.pp_hoverContainer').hover(function(){
637
  $('.pp_nav .pp_pause').click();
638
  },function(){
639
- $('.pp_nav .pp_play').click();
 
 
640
  })
641
  }
642
  var $_desc = $('.pp_description'),
643
  desc_height = parseInt($_desc.height()),
644
  desc_line_height = parseInt($_desc.css('font-size'));
645
  if(desc_line_height < desc_height){
646
- $('.pp_content').height($('.pp_content').height() +
647
- desc_height - desc_line_height);
648
  }
649
 
650
  if(hideLongTooltipTitles == 0) {
@@ -661,6 +672,7 @@
661
  });
662
  $(window).resize(function(){
663
  if(!self.popup_opened_image || !self.$prettyPhoto) return;
 
664
  self.$prettyPhoto.open(self.popup_opened_image);
665
  });
666
  } else {
@@ -671,7 +683,6 @@
671
  }
672
 
673
  if(popupType == 'photobox') {
674
-
675
  var photoBoxItemSelector = 'a.pbox:visible'
676
  , photoBoxConfig = null;
677
  // for popup "Display only first image"
@@ -721,7 +732,9 @@
721
  $('.pbWrapper img').hover(function(){
722
  $('#pbOverlay .playing').click();
723
  },function(){
724
- $('#pbOverlay .play').click();
 
 
725
  })
726
  }
727
 
@@ -1517,7 +1530,7 @@
1517
  title = '';
1518
  this.$container.find('a, img, div:not(.grid-gallery-photos)').on('mouseenter', function() {
1519
  title = $(this).attr('title');
1520
- $(this).attr({'title':''});
1521
  }).mouseout(function() {
1522
  $(this).attr({'title':title});
1523
  });
@@ -1703,6 +1716,7 @@
1703
  'min-height': height,
1704
  });
1705
  }
 
1706
  });
1707
 
1708
  Gallery.prototype.hidePreloader = function() {
@@ -2311,6 +2325,9 @@
2311
  // if hidden images not showing
2312
  setTimeout(function() {
2313
  self.lazyLoadTriggerHandler();
 
 
 
2314
  }, 450); // animation transition time
2315
  break;
2316
  case 1:
@@ -2341,6 +2358,7 @@
2341
  'threshold': 200,
2342
  'load': function(event) {
2343
  self.lazyLoadDistanceRefresh();
 
2344
  },
2345
  });
2346
  });
@@ -2507,9 +2525,24 @@
2507
 
2508
  $(window).on('resize', $.proxy(function () {
2509
  this.correctMargin();
 
2510
  }, this));
2511
  });
2512
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2513
  window.initGridGallery = (function (el, autoInit) {
2514
  var makeSelector = (function (el) {
2515
  return '#' + el.id;
446
 
447
  //===========|Popup gallery scripts|===========//
448
  if(popupType == 'colorbox') {
 
449
  var $this = this.$container;
450
  // simple selector
451
  var colorBoxItemSelector = '.grid-gallery-photos > .gg-colorbox:visible,'
483
 
484
  $(document).on('cbox_complete', function(event) {
485
  $colorboxtooltip.html($("#cboxTitle").html());
486
+ if($('#colorbox').width() < 300) {
487
+ $('#colorbox').filter('.theme_1').find('#cboxSlideshow').css('bottom', '30px');
488
+ }
489
  });
490
  }
491
  }
524
  onLoad: function(e){
525
  if(self.popup_opened_image == e.el) return;
526
  self.popup_opened_image = e.el;
527
+ var dimensions = getColorboxImageDimension();
528
+ $(self.popup_opened_image).data('colorbox').maxWidth = dimensions.width;
529
+ $(self.popup_opened_image).data('colorbox').maxHeight = dimensions.height;
530
  },
531
  onOpen: function(e) {
532
  //Enable/Disable stop slideshow on mouse hover
536
  clearTimeout(timeoutId);
537
  $('.cboxSlideshow_on #cboxSlideshow').click();
538
  },function(){
539
+ if(slidePlayAuto) {
540
+ clearTimeout(timeoutId);
541
+ timeoutId = setTimeout(function(){
542
+ $('.cboxSlideshow_off #cboxSlideshow').click();
543
+ },slideshowSpeed);
544
+ }
545
  })
546
  }
547
  },
571
  }
572
 
573
  if(popupType == 'pretty-photo') {
 
574
  // simple selector
575
  var prettyPhotoItemSelector = '.grid-gallery-photos > a[data-rel^="prettyPhoto"]:visible,'
576
  + ' .grid-gallery-photos .gg-mosaic-wrapper a[data-rel^="prettyPhoto"],' // mosaic selector
623
  var imgTile = self.getPopupTitle($element);
624
  return imgTile;
625
  },
626
+ 'popup_border_type': this.$container.attr('data-popup-border-type'),
627
+ 'popup_border_color': this.$container.attr('data-popup-border-color'),
628
+ 'popup_border_width': this.$container.attr('data-popup-border-width'),
629
+ 'popup_border_enable': this.$container.attr('data-popup-border-enable') == 'on',
630
  changepicturecallback: function(element){
631
  self.changePopUpHash(element.attr('id') || element.attr('data-id'));
632
  self.popup_opened_image = element;
646
  $('.pp_hoverContainer').hover(function(){
647
  $('.pp_nav .pp_pause').click();
648
  },function(){
649
+ if(slidePlayAuto) {
650
+ $('.pp_nav .pp_play').click();
651
+ }
652
  })
653
  }
654
  var $_desc = $('.pp_description'),
655
  desc_height = parseInt($_desc.height()),
656
  desc_line_height = parseInt($_desc.css('font-size'));
657
  if(desc_line_height < desc_height){
658
+ $('.pp_content').height($('.pp_fade').outerHeight(true) + $('.pp_details').outerHeight(true));
 
659
  }
660
 
661
  if(hideLongTooltipTitles == 0) {
672
  });
673
  $(window).resize(function(){
674
  if(!self.popup_opened_image || !self.$prettyPhoto) return;
675
+ if(self.$prettyPhoto[0].closest('div') != self.popup_opened_image[0].closest('div')) return;
676
  self.$prettyPhoto.open(self.popup_opened_image);
677
  });
678
  } else {
683
  }
684
 
685
  if(popupType == 'photobox') {
 
686
  var photoBoxItemSelector = 'a.pbox:visible'
687
  , photoBoxConfig = null;
688
  // for popup "Display only first image"
732
  $('.pbWrapper img').hover(function(){
733
  $('#pbOverlay .playing').click();
734
  },function(){
735
+ if(slidePlayAuto) {
736
+ $('#pbOverlay .play').click();
737
+ }
738
  })
739
  }
740
 
1530
  title = '';
1531
  this.$container.find('a, img, div:not(.grid-gallery-photos)').on('mouseenter', function() {
1532
  title = $(this).attr('title');
1533
+ $(this).attr({'title':' '});
1534
  }).mouseout(function() {
1535
  $(this).attr({'title':title});
1536
  });
1716
  'min-height': height,
1717
  });
1718
  }
1719
+ this.resizeHorizontalElements();
1720
  });
1721
 
1722
  Gallery.prototype.hidePreloader = function() {
2325
  // if hidden images not showing
2326
  setTimeout(function() {
2327
  self.lazyLoadTriggerHandler();
2328
+ setTimeout(function() {
2329
+ self.wookmark.trigger('refreshWookmark');
2330
+ }, 50);
2331
  }, 450); // animation transition time
2332
  break;
2333
  case 1:
2358
  'threshold': 200,
2359
  'load': function(event) {
2360
  self.lazyLoadDistanceRefresh();
2361
+ $(this).closest('div .crop').css('height', '');
2362
  },
2363
  });
2364
  });
2525
 
2526
  $(window).on('resize', $.proxy(function () {
2527
  this.correctMargin();
2528
+ this.resizeHorizontalElements();
2529
  }, this));
2530
  });
2531
 
2532
+ Gallery.prototype.resizeHorizontalElements = (function () {
2533
+ if(this.$container.data('gridType') == 2 && this.$elements) {
2534
+ this.$elements.each(function(){
2535
+ var image = $(this).find('img');
2536
+ if(image) {
2537
+ var imageHeight = parseInt(image.css('height'));
2538
+ if(!isNaN(imageHeight)) {
2539
+ $(this).css('height', Math.floor(imageHeight - 1) + 'px');
2540
+ }
2541
+ }
2542
+ });
2543
+ }
2544
+ });
2545
+
2546
  window.initGridGallery = (function (el, autoInit) {
2547
  var makeSelector = (function (el) {
2548
  return '#' + el.id;
src/GridGallery/Galleries/assets/js/gallery.index.js ADDED
@@ -0,0 +1,143 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ (function ($) {
2
+ $(document).ready(function () {
3
+ var $tables = $('#galleries'),
4
+ tableList = $tables.DataTable({
5
+ info: true,
6
+ scrollX: false,
7
+ pagingType: 'full_numbers',
8
+ language: {
9
+ search: '',
10
+ searchPlaceholder: 'Search',
11
+ lengthMenu: '<select>'+
12
+ '<option value="10">10</option>'+
13
+ '<option value="50">50</option>'+
14
+ '<option value="200">200</option>'+
15
+ '<option value="1000">1000</option>'+
16
+ '</select>'
17
+ },
18
+ dom: '<"top"f><"clear"><"dt_rigth"il><"dt_left"p>rt',
19
+ columnDefs: [
20
+ { "orderable": false, "targets": [0, 3, 4, 5, 6] },
21
+ // { "className": "dt-right", "targets": [0, 1] },
22
+ { "className": "dt-center", "targets": [0, 1, 2, 3, 4, 5] }
23
+ ],
24
+ order: [[1, 'asc']],
25
+ fnInitComplete: function () {
26
+ setCustomStyle();
27
+ setCheckboxesClick();
28
+ }
29
+ });
30
+
31
+ tableList.on('draw', function () {
32
+ setCustomStyle();
33
+ controlCheckboxes($('.icheckbox_minimal'), false);
34
+ setCheckboxesClick();
35
+ setGroupBtn();
36
+ });
37
+ tableList.on('search', function () {
38
+ setCustomStyle();
39
+ });
40
+
41
+ function setCustomStyle() {
42
+ var info = $('.dataTables_info');
43
+
44
+ info.text(info.text().replace('Showing', 'View').replace('to', '-').replace(' entries', ' '));
45
+ $('.paginate_button').removeClass('paginate_button').addClass('paginate_links');
46
+ $('#galleries_first').empty().append($('<i>').addClass('fa fa-angle-double-left'));
47
+ $('#galleries_last').empty().append($('<i>').addClass('fa fa-angle-double-right'));
48
+ $('#galleries_previous').empty().append($('<i>').addClass('fa fa-angle-left'));
49
+ $('#galleries_next').empty().append($('<i>').addClass('fa fa-angle-right'));
50
+ }
51
+ function setGroupBtn() {
52
+ var checked = $('.icheckbox_minimal').filter('.checked');
53
+
54
+ if (checked && checked.length > 0) {
55
+ $('#delete-group').removeAttr('disabled');
56
+ } else {
57
+ $('#delete-group').attr('disabled', 'disabled');
58
+ }
59
+ }
60
+
61
+ function setCheckboxesClick() {
62
+ $('.iCheck-helper').off('click.group').on('click.group', function() {
63
+ var icheckbox = $(this).closest('.icheckbox_minimal'),
64
+ checked = icheckbox.attr('class').indexOf('checked') >= 0,
65
+ id = icheckbox.find('input').attr('id')
66
+
67
+ if (id == 'check_all') {
68
+ controlCheckboxes($('.icheckbox_minimal'), checked);
69
+ } else if(!checked) {
70
+ controlCheckboxes($('.icheckbox_minimal').has('#check_all'), false);
71
+ }
72
+ setGroupBtn();
73
+ });
74
+ }
75
+ function controlCheckboxes(obj, check) {
76
+ if(check) {
77
+ obj.addClass('checked').find('input').attr('checked','checked');
78
+ } else {
79
+ obj.removeClass('checked').find('input').removeAttr('checked');
80
+ }
81
+ }
82
+
83
+ $('#delete-group').on('click', function() {
84
+ if (!confirm('Are you sure?')) {
85
+ return;
86
+ }
87
+ var checks = $('#galleries_wrapper .icheckbox_minimal:not(:has(#check_all))').filter('.checked'),
88
+ ids = [];
89
+
90
+ for (var i = 0; i < checks.length; i++) {
91
+ ids.push(parseInt(checks.eq(i).find('input').data('gallery-id')));
92
+ }
93
+
94
+ $.post(window.wp.ajax.settings.url,
95
+ {
96
+ action: 'grid-gallery',
97
+ _wpnonce: SupsysticGallery.nonce,
98
+ route: {
99
+ module: 'galleries',
100
+ action: 'deleteGroup'
101
+ },
102
+ gallery_ids : ids
103
+
104
+ }).done(function () {
105
+ for (i = 0; i < checks.length; i++) {
106
+ checks.eq(i).parents('tr').fadeOut(function () {
107
+ $(this).remove();
108
+ if ($tables.find('tr').length < 4) {
109
+ $tables.find('tr.empty').fadeIn();
110
+ }
111
+ });
112
+ }
113
+ }).fail(function (error) {
114
+ alert(error);
115
+ });
116
+ return false;
117
+ });
118
+
119
+ $('.shortcode').on('click', function () { $(this).select() });
120
+
121
+ // var $proNotify = $('.pro-notify');
122
+ // $proNotify.each(function() {
123
+ // var $this = $(this);
124
+ //
125
+ // $($this.data('dialog')).dialog({
126
+ // autoOpen: false,
127
+ // title: $this.data('dtitle'),
128
+ // width: $this.data('dwidth'),
129
+ // modal: true,
130
+ // buttons: {
131
+ // Close: function () {
132
+ // $(this).dialog('close');
133
+ // }
134
+ // }
135
+ // })
136
+ // });
137
+ // $proNotify.on('click', function (e) {
138
+ // e.preventDefault();
139
+ // $($(this).data('dialog')).dialog('open');
140
+ // return false;
141
+ // });
142
+ });
143
+ }(window.jQuery));
src/GridGallery/Galleries/assets/js/grid-gallery.galleries.index.js CHANGED
@@ -106,6 +106,7 @@
106
  $(this).addClass('active');
107
 
108
  $field.val($(this).data('preset'));
 
109
  });
110
 
111
  $('#gallery-create').on('click', function() {
@@ -119,38 +120,34 @@
119
  var title = $container.find('input').val(),
120
  preset = $container.find('#presetValue').val();
121
 
122
- if (!title) {
123
- $.jGrowl('Gallery name can\'t be empty!');
124
- return false;
125
- }
126
-
127
  $(this).find('i').removeClass('fa-check').addClass('fa-spinner fa-spin');
128
  layers.text.hide();
129
  layers.loader.show();
130
 
131
- if (title) {
132
-
133
- request = $.extend('', request, {
134
- title: title,
135
- preset: preset
136
- });
137
-
138
- $.post(wp.ajax.settings.url, request, function (response) {
139
- $.jGrowl(response.message);
140
 
141
- if (!response.error) {
142
- window.location.href = response.url;
143
- }
144
 
145
- //$container.dialog('close');
146
- $container.find('#newGalleryAlert').hide();
147
- });
148
 
149
- }
 
 
150
 
151
  layers.text.show();
152
  layers.loader.hide();
153
  });
 
 
 
 
 
154
  /*$('#gallery-cancel').on('click', function() {
155
  $('#gg-create-gallery-dialog').dialog('close');
156
  });*/
106
  $(this).addClass('active');
107
 
108
  $field.val($(this).data('preset'));
109
+ $('#gallery-create-title').focus();
110
  });
111
 
112
  $('#gallery-create').on('click', function() {
120
  var title = $container.find('input').val(),
121
  preset = $container.find('#presetValue').val();
122
 
 
 
 
 
 
123
  $(this).find('i').removeClass('fa-check').addClass('fa-spinner fa-spin');
124
  layers.text.hide();
125
  layers.loader.show();
126
 
127
+ request = $.extend('', request, {
128
+ title: (title ? title : ''),
129
+ preset: preset
130
+ });
 
 
 
 
 
131
 
132
+ $.post(wp.ajax.settings.url, request, function (response) {
133
+ $.jGrowl(response.message);
 
134
 
135
+ if (!response.error) {
136
+ window.location.href = response.url;
137
+ }
138
 
139
+ //$container.dialog('close');
140
+ $container.find('#newGalleryAlert').hide();
141
+ });
142
 
143
  layers.text.show();
144
  layers.loader.hide();
145
  });
146
+ $('#gallery-create-form').on('submit', function() {
147
+ $('#gallery-create').click();
148
+ return false;
149
+ });
150
+ $('#gallery-create-title').focus();
151
  /*$('#gallery-cancel').on('click', function() {
152
  $('#gg-create-gallery-dialog').dialog('close');
153
  });*/
src/GridGallery/Galleries/assets/js/lib/imagesLoaded.min.js CHANGED
@@ -4,4 +4,4 @@
4
  * MIT License
5
  */
6
 
7
- (function(){function e(){}function t(e,t){for(var n=e.length;n--;)if(e[n].listener===t)return n;return-1}function n(e){return function(){return this[e].apply(this,arguments)}}var i=e.prototype,r=this,o=r.EventEmitter;i.getListeners=function(e){var t,n,i=this._getEvents();if("object"==typeof e){t={};for(n in i)i.hasOwnProperty(n)&&e.test(n)&&(t[n]=i[n])}else t=i[e]||(i[e]=[]);return t},i.flattenListeners=function(e){var t,n=[];for(t=0;e.length>t;t+=1)n.push(e[t].listener);return n},i.getListenersAsObject=function(e){var t,n=this.getListeners(e);return n instanceof Array&&(t={},t[e]=n),t||n},i.addListener=function(e,n){var i,r=this.getListenersAsObject(e),o="object"==typeof n;for(i in r)r.hasOwnProperty(i)&&-1===t(r[i],n)&&r[i].push(o?n:{listener:n,once:!1});return this},i.on=n("addListener"),i.addOnceListener=function(e,t){return this.addListener(e,{listener:t,once:!0})},i.once=n("addOnceListener"),i.defineEvent=function(e){return this.getListeners(e),this},i.defineEvents=function(e){for(var t=0;e.length>t;t+=1)this.defineEvent(e[t]);return this},i.removeListener=function(e,n){var i,r,o=this.getListenersAsObject(e);for(r in o)o.hasOwnProperty(r)&&(i=t(o[r],n),-1!==i&&o[r].splice(i,1));return this},i.off=n("removeListener"),i.addListeners=function(e,t){return this.manipulateListeners(!1,e,t)},i.removeListeners=function(e,t){return this.manipulateListeners(!0,e,t)},i.manipulateListeners=function(e,t,n){var i,r,o=e?this.removeListener:this.addListener,s=e?this.removeListeners:this.addListeners;if("object"!=typeof t||t instanceof RegExp)for(i=n.length;i--;)o.call(this,t,n[i]);else for(i in t)t.hasOwnProperty(i)&&(r=t[i])&&("function"==typeof r?o.call(this,i,r):s.call(this,i,r));return this},i.removeEvent=function(e){var t,n=typeof e,i=this._getEvents();if("string"===n)delete i[e];else if("object"===n)for(t in i)i.hasOwnProperty(t)&&e.test(t)&&delete i[t];else delete this._events;return this},i.removeAllListeners=n("removeEvent"),i.emitEvent=function(e,t){var n,i,r,o,s=this.getListenersAsObject(e);for(r in s)if(s.hasOwnProperty(r))for(i=s[r].length;i--;)n=s[r][i],n.once===!0&&this.removeListener(e,n.listener),o=n.listener.apply(this,t||[]),o===this._getOnceReturnValue()&&this.removeListener(e,n.listener);return this},i.trigger=n("emitEvent"),i.emit=function(e){var t=Array.prototype.slice.call(arguments,1);return this.emitEvent(e,t)},i.setOnceReturnValue=function(e){return this._onceReturnValue=e,this},i._getOnceReturnValue=function(){return this.hasOwnProperty("_onceReturnValue")?this._onceReturnValue:!0},i._getEvents=function(){return this._events||(this._events={})},e.noConflict=function(){return r.EventEmitter=o,e},"function"==typeof define&&define.amd?define("eventEmitter/EventEmitter",[],function(){return e}):"object"==typeof module&&module.exports?module.exports=e:this.EventEmitter=e}).call(this),function(e){function t(t){var n=e.event;return n.target=n.target||n.srcElement||t,n}var n=document.documentElement,i=function(){};n.addEventListener?i=function(e,t,n){e.addEventListener(t,n,!1)}:n.attachEvent&&(i=function(e,n,i){e[n+i]=i.handleEvent?function(){var n=t(e);i.handleEvent.call(i,n)}:function(){var n=t(e);i.call(e,n)},e.attachEvent("on"+n,e[n+i])});var r=function(){};n.removeEventListener?r=function(e,t,n){e.removeEventListener(t,n,!1)}:n.detachEvent&&(r=function(e,t,n){e.detachEvent("on"+t,e[t+n]);try{delete e[t+n]}catch(i){e[t+n]=void 0}});var o={bind:i,unbind:r};"function"==typeof define&&define.amd?define("eventie/eventie",o):e.eventie=o}(this),function(e,t){"function"==typeof define&&define.amd?define(["eventEmitter/EventEmitter","eventie/eventie"],function(n,i){return t(e,n,i)}):"object"==typeof exports&&typeof module!='undefined'&&module.exports?module.exports=t(e,require("eventEmitter"),require("eventie")):e.imagesLoaded=t(e,e.EventEmitter,e.eventie)}(this,function(e,t,n){function i(e,t){for(var n in t)e[n]=t[n];return e}function r(e){return"[object Array]"===d.call(e)}function o(e){var t=[];if(r(e))t=e;else if("number"==typeof e.length)for(var n=0,i=e.length;i>n;n++)t.push(e[n]);else t.push(e);return t}function s(e,t,n){if(!(this instanceof s))return new s(e,t);"string"==typeof e&&(e=document.querySelectorAll(e)),this.elements=o(e),this.options=i({},this.options),"function"==typeof t?n=t:i(this.options,t),n&&this.on("always",n),this.getImages(),a&&(this.jqDeferred=new a.Deferred);var r=this;setTimeout(function(){r.check()})}function c(e){this.img=e}function f(e){this.src=e,v[e]=this}var a=e.jQuery,u=e.console,h=u!==void 0,d=Object.prototype.toString;s.prototype=new t,s.prototype.options={},s.prototype.getImages=function(){this.images=[];for(var e=0,t=this.elements.length;t>e;e++){var n=this.elements[e];"IMG"===n.nodeName&&this.addImage(n);var i=n.nodeType;if(i&&(1===i||9===i||11===i))for(var r=n.querySelectorAll("img"),o=0,s=r.length;s>o;o++){var c=r[o];this.addImage(c)}}},s.prototype.addImage=function(e){var t=new c(e);this.images.push(t)},s.prototype.check=function(){function e(e,r){return t.options.debug&&h&&u.log("confirm",e,r),t.progress(e),n++,n===i&&t.complete(),!0}var t=this,n=0,i=this.images.length;if(this.hasAnyBroken=!1,!i)return this.complete(),void 0;for(var r=0;i>r;r++){var o=this.images[r];o.on("confirm",e),o.check()}},s.prototype.progress=function(e){this.hasAnyBroken=this.hasAnyBroken||!e.isLoaded;var t=this;setTimeout(function(){t.emit("progress",t,e),t.jqDeferred&&t.jqDeferred.йгnotify&&t.jqDeferred.notify(t,e)})},s.prototype.complete=function(){var e=this.hasAnyBroken?"fail":"done";this.isComplete=!0;var t=this;setTimeout(function(){if(t.emit(e,t),t.emit("always",t),t.jqDeferred){var n=t.hasAnyBroken?"reject":"resolve";t.jqDeferred[n](t)}})},a&&(a.fn.imagesLoaded=function(e,t){var n=new s(this,e,t);return n.jqDeferred.promise(a(this))}),c.prototype=new t,c.prototype.check=function(){var e=v[this.img.src]||new f(this.img.src);if(e.isConfirmed)return this.confirm(e.isLoaded,"cached was confirmed"),void 0;if(this.img.complete&&void 0!==this.img.naturalWidth)return this.confirm(0!==this.img.naturalWidth,"naturalWidth"),void 0;var t=this;e.on("confirm",function(e,n){return t.confirm(e.isLoaded,n),!0}),e.check()},c.prototype.confirm=function(e,t){this.isLoaded=e,this.emit("confirm",this,t)};var v={};return f.prototype=new t,f.prototype.check=function(){if(!this.isChecked){var e=new Image;n.bind(e,"load",this),n.bind(e,"error",this),e.src=this.src,this.isChecked=!0}},f.prototype.handleEvent=function(e){var t="on"+e.type;this[t]&&this[t](e)},f.prototype.onload=function(e){this.confirm(!0,"onload"),this.unbindProxyEvents(e)},f.prototype.onerror=function(e){this.confirm(!1,"onerror"),this.unbindProxyEvents(e)},f.prototype.confirm=function(e,t){this.isConfirmed=!0,this.isLoaded=e,this.emit("confirm",this,t)},f.prototype.unbindProxyEvents=function(e){n.unbind(e.target,"load",this),n.unbind(e.target,"error",this)},s});
4
  * MIT License
5
  */
6
 
7
+ (function(){function e(){}function t(e,t){for(var n=e.length;n--;)if(e[n].listener===t)return n;return-1}function n(e){return function(){return this[e].apply(this,arguments)}}var i=e.prototype,r=this,o=r.EventEmitter;i.getListeners=function(e){var t,n,i=this._getEvents();if("object"==typeof e){t={};for(n in i)i.hasOwnProperty(n)&&e.test(n)&&(t[n]=i[n])}else t=i[e]||(i[e]=[]);return t},i.flattenListeners=function(e){var t,n=[];for(t=0;e.length>t;t+=1)n.push(e[t].listener);return n},i.getListenersAsObject=function(e){var t,n=this.getListeners(e);return n instanceof Array&&(t={},t[e]=n),t||n},i.addListener=function(e,n){var i,r=this.getListenersAsObject(e),o="object"==typeof n;for(i in r)r.hasOwnProperty(i)&&-1===t(r[i],n)&&r[i].push(o?n:{listener:n,once:!1});return this},i.on=n("addListener"),i.addOnceListener=function(e,t){return this.addListener(e,{listener:t,once:!0})},i.once=n("addOnceListener"),i.defineEvent=function(e){return this.getListeners(e),this},i.defineEvents=function(e){for(var t=0;e.length>t;t+=1)this.defineEvent(e[t]);return this},i.removeListener=function(e,n){var i,r,o=this.getListenersAsObject(e);for(r in o)o.hasOwnProperty(r)&&(i=t(o[r],n),-1!==i&&o[r].splice(i,1));return this},i.off=n("removeListener"),i.addListeners=function(e,t){return this.manipulateListeners(!1,e,t)},i.removeListeners=function(e,t){return this.manipulateListeners(!0,e,t)},i.manipulateListeners=function(e,t,n){var i,r,o=e?this.removeListener:this.addListener,s=e?this.removeListeners:this.addListeners;if("object"!=typeof t||t instanceof RegExp)for(i=n.length;i--;)o.call(this,t,n[i]);else for(i in t)t.hasOwnProperty(i)&&(r=t[i])&&("function"==typeof r?o.call(this,i,r):s.call(this,i,r));return this},i.removeEvent=function(e){var t,n=typeof e,i=this._getEvents();if("string"===n)delete i[e];else if("object"===n)for(t in i)i.hasOwnProperty(t)&&e.test(t)&&delete i[t];else delete this._events;return this},i.removeAllListeners=n("removeEvent"),i.emitEvent=function(e,t){var n,i,r,o,s=this.getListenersAsObject(e);for(r in s)if(s.hasOwnProperty(r))for(i=s[r].length;i--;)n=s[r][i],n.once===!0&&this.removeListener(e,n.listener),o=n.listener.apply(this,t||[]),o===this._getOnceReturnValue()&&this.removeListener(e,n.listener);return this},i.trigger=n("emitEvent"),i.emit=function(e){var t=Array.prototype.slice.call(arguments,1);return this.emitEvent(e,t)},i.setOnceReturnValue=function(e){return this._onceReturnValue=e,this},i._getOnceReturnValue=function(){return this.hasOwnProperty("_onceReturnValue")?this._onceReturnValue:!0},i._getEvents=function(){return this._events||(this._events={})},e.noConflict=function(){return r.EventEmitter=o,e},"function"==typeof define&&define.amd?define("eventEmitter/EventEmitter",[],function(){return e}):"object"==typeof module&&module.exports?module.exports=e:this.EventEmitter=e}).call(this),function(e){function t(t){var n=e.event;return n.target=n.target||n.srcElement||t,n}var n=document.documentElement,i=function(){};n.addEventListener?i=function(e,t,n){e.addEventListener(t,n,!1)}:n.attachEvent&&(i=function(e,n,i){e[n+i]=i.handleEvent?function(){var n=t(e);i.handleEvent.call(i,n)}:function(){var n=t(e);i.call(e,n)},e.attachEvent("on"+n,e[n+i])});var r=function(){};n.removeEventListener?r=function(e,t,n){e.removeEventListener(t,n,!1)}:n.detachEvent&&(r=function(e,t,n){e.detachEvent("on"+t,e[t+n]);try{delete e[t+n]}catch(i){e[t+n]=void 0}});var o={bind:i,unbind:r};"function"==typeof define&&define.amd?define("eventie/eventie",o):e.eventie=o}(this),function(e,t){"function"==typeof define&&define.amd?define(["eventEmitter/EventEmitter","eventie/eventie"],function(n,i){return t(e,n,i)}):"object"==typeof exports&&typeof module!='undefined'&&module.exports?module.exports=t(e,require("eventEmitter"),require("eventie")):e.imagesLoaded=t(e,e.EventEmitter,e.eventie)}(this,function(e,t,n){function i(e,t){for(var n in t)e[n]=t[n];return e}function r(e){return"[object Array]"===d.call(e)}function o(e){var t=[];if(r(e))t=e;else if("number"==typeof e.length)for(var n=0,i=e.length;i>n;n++)t.push(e[n]);else t.push(e);return t}function s(e,t,n){if(!(this instanceof s))return new s(e,t);"string"==typeof e&&(e=document.querySelectorAll(e)),this.elements=o(e),this.options=i({},this.options),"function"==typeof t?n=t:i(this.options,t),n&&this.on("always",n),this.getImages(),a&&(this.jqDeferred=new a.Deferred);var r=this;setTimeout(function(){r.check()})}function c(e){this.img=e}function f(e){this.src=e,v[e]=this}var a=e.jQuery,u=e.console,h=u!==void 0,d=Object.prototype.toString;s.prototype=new t,s.prototype.options={},s.prototype.getImages=function(){this.images=[];for(var e=0,t=this.elements.length;t>e;e++){var n=this.elements[e];"IMG"===n.nodeName&&this.addImage(n);var i=n.nodeType;if(i&&(1===i||9===i||11===i))for(var r=n.querySelectorAll("img"),o=0,s=r.length;s>o;o++){var c=r[o];this.addImage(c)}}},s.prototype.addImage=function(e){var t=new c(e);this.images.push(t)},s.prototype.check=function(){function e(e,r){return t.options.debug&&h&&u.log("confirm",e,r),t.progress(e),n++,n===i&&t.complete(),!0}var t=this,n=0,i=this.images.length;if(this.hasAnyBroken=!1,!i)return this.complete(),void 0;for(var r=0;i>r;r++){var o=this.images[r];o.on("confirm",e),o.check()}},s.prototype.progress=function(e){this.hasAnyBroken=this.hasAnyBroken||!e.isLoaded;var t=this;setTimeout(function(){t.emit("progress",t,e),t.jqDeferred&&t.jqDeferred.notify&&t.jqDeferred.notify(t,e)})},s.prototype.complete=function(){var e=this.hasAnyBroken?"fail":"done";this.isComplete=!0;var t=this;setTimeout(function(){if(t.emit(e,t),t.emit("always",t),t.jqDeferred){var n=t.hasAnyBroken?"reject":"resolve";t.jqDeferred[n](t)}})},a&&(a.fn.imagesLoaded=function(e,t){var n=new s(this,e,t);return n.jqDeferred.promise(a(this))}),c.prototype=new t,c.prototype.check=function(){var e=v[this.img.src]||new f(this.img.src);if(e.isConfirmed)return this.confirm(e.isLoaded,"cached was confirmed"),void 0;if(this.img.complete&&void 0!==this.img.naturalWidth)return this.confirm(0!==this.img.naturalWidth,"naturalWidth"),void 0;var t=this;e.on("confirm",function(e,n){return t.confirm(e.isLoaded,n),!0}),e.check()},c.prototype.confirm=function(e,t){this.isLoaded=e,this.emit("confirm",this,t)};var v={};return f.prototype=new t,f.prototype.check=function(){if(!this.isChecked){var e=new Image;n.bind(e,"load",this),n.bind(e,"error",this),e.src=this.src,this.isChecked=!0}},f.prototype.handleEvent=function(e){var t="on"+e.type;this[t]&&this[t](e)},f.prototype.onload=function(e){this.confirm(!0,"onload"),this.unbindProxyEvents(e)},f.prototype.onerror=function(e){this.confirm(!1,"onerror"),this.unbindProxyEvents(e)},f.prototype.confirm=function(e,t){this.isConfirmed=!0,this.isLoaded=e,this.emit("confirm",this,t)},f.prototype.unbindProxyEvents=function(e){n.unbind(e.target,"load",this),n.unbind(e.target,"error",this)},s});
src/GridGallery/Galleries/assets/js/lib/jquery.dataTables.min.js ADDED
@@ -0,0 +1,166 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*!
2
+ DataTables 1.10.19
3
+ ©2008-2018 SpryMedia Ltd - datatables.net/license
4
+ */
5
+ (function(h){"function"===typeof define&&define.amd?define(["jquery"],function(E){return h(E,window,document)}):"object"===typeof exports?module.exports=function(E,H){E||(E=window);H||(H="undefined"!==typeof window?require("jquery"):require("jquery")(E));return h(H,E,E.document)}:h(jQuery,window,document)})(function(h,E,H,k){function Z(a){var b,c,d={};h.each(a,function(e){if((b=e.match(/^([^A-Z]+?)([A-Z])/))&&-1!=="a aa ai ao as b fn i m o s ".indexOf(b[1]+" "))c=e.replace(b[0],b[2].toLowerCase()),
6
+ d[c]=e,"o"===b[1]&&Z(a[e])});a._hungarianMap=d}function J(a,b,c){a._hungarianMap||Z(a);var d;h.each(b,function(e){d=a._hungarianMap[e];if(d!==k&&(c||b[d]===k))"o"===d.charAt(0)?(b[d]||(b[d]={}),h.extend(!0,b[d],b[e]),J(a[d],b[d],c)):b[d]=b[e]})}function Ca(a){var b=n.defaults.oLanguage,c=b.sDecimal;c&&Da(c);if(a){var d=a.sZeroRecords;!a.sEmptyTable&&(d&&"No data available in table"===b.sEmptyTable)&&F(a,a,"sZeroRecords","sEmptyTable");!a.sLoadingRecords&&(d&&"Loading..."===b.sLoadingRecords)&&F(a,
7
+ a,"sZeroRecords","sLoadingRecords");a.sInfoThousands&&(a.sThousands=a.sInfoThousands);(a=a.sDecimal)&&c!==a&&Da(a)}}function fb(a){A(a,"ordering","bSort");A(a,"orderMulti","bSortMulti");A(a,"orderClasses","bSortClasses");A(a,"orderCellsTop","bSortCellsTop");A(a,"order","aaSorting");A(a,"orderFixed","aaSortingFixed");A(a,"paging","bPaginate");A(a,"pagingType","sPaginationType");A(a,"pageLength","iDisplayLength");A(a,"searching","bFilter");"boolean"===typeof a.sScrollX&&(a.sScrollX=a.sScrollX?"100%":
8
+ "");"boolean"===typeof a.scrollX&&(a.scrollX=a.scrollX?"100%":"");if(a=a.aoSearchCols)for(var b=0,c=a.length;b<c;b++)a[b]&&J(n.models.oSearch,a[b])}function gb(a){A(a,"orderable","bSortable");A(a,"orderData","aDataSort");A(a,"orderSequence","asSorting");A(a,"orderDataType","sortDataType");var b=a.aDataSort;"number"===typeof b&&!h.isArray(b)&&(a.aDataSort=[b])}function hb(a){if(!n.__browser){var b={};n.__browser=b;var c=h("<div/>").css({position:"fixed",top:0,left:-1*h(E).scrollLeft(),height:1,width:1,
9
+ overflow:"hidden"}).append(h("<div/>").css({position:"absolute",top:1,left:1,width:100,overflow:"scroll"}).append(h("<div/>").css({width:"100%",height:10}))).appendTo("body"),d=c.children(),e=d.children();b.barWidth=d[0].offsetWidth-d[0].clientWidth;b.bScrollOversize=100===e[0].offsetWidth&&100!==d[0].clientWidth;b.bScrollbarLeft=1!==Math.round(e.offset().left);b.bBounding=c[0].getBoundingClientRect().width?!0:!1;c.remove()}h.extend(a.oBrowser,n.__browser);a.oScroll.iBarWidth=n.__browser.barWidth}
10
+ function ib(a,b,c,d,e,f){var g,j=!1;c!==k&&(g=c,j=!0);for(;d!==e;)a.hasOwnProperty(d)&&(g=j?b(g,a[d],d,a):a[d],j=!0,d+=f);return g}function Ea(a,b){var c=n.defaults.column,d=a.aoColumns.length,c=h.extend({},n.models.oColumn,c,{nTh:b?b:H.createElement("th"),sTitle:c.sTitle?c.sTitle:b?b.innerHTML:"",aDataSort:c.aDataSort?c.aDataSort:[d],mData:c.mData?c.mData:d,idx:d});a.aoColumns.push(c);c=a.aoPreSearchCols;c[d]=h.extend({},n.models.oSearch,c[d]);ka(a,d,h(b).data())}function ka(a,b,c){var b=a.aoColumns[b],
11
+ d=a.oClasses,e=h(b.nTh);if(!b.sWidthOrig){b.sWidthOrig=e.attr("width")||null;var f=(e.attr("style")||"").match(/width:\s*(\d+[pxem%]+)/);f&&(b.sWidthOrig=f[1])}c!==k&&null!==c&&(gb(c),J(n.defaults.column,c),c.mDataProp!==k&&!c.mData&&(c.mData=c.mDataProp),c.sType&&(b._sManualType=c.sType),c.className&&!c.sClass&&(c.sClass=c.className),c.sClass&&e.addClass(c.sClass),h.extend(b,c),F(b,c,"sWidth","sWidthOrig"),c.iDataSort!==k&&(b.aDataSort=[c.iDataSort]),F(b,c,"aDataSort"));var g=b.mData,j=S(g),i=b.mRender?
12
+ S(b.mRender):null,c=function(a){return"string"===typeof a&&-1!==a.indexOf("@")};b._bAttrSrc=h.isPlainObject(g)&&(c(g.sort)||c(g.type)||c(g.filter));b._setter=null;b.fnGetData=function(a,b,c){var d=j(a,b,k,c);return i&&b?i(d,b,a,c):d};b.fnSetData=function(a,b,c){return N(g)(a,b,c)};"number"!==typeof g&&(a._rowReadObject=!0);a.oFeatures.bSort||(b.bSortable=!1,e.addClass(d.sSortableNone));a=-1!==h.inArray("asc",b.asSorting);c=-1!==h.inArray("desc",b.asSorting);!b.bSortable||!a&&!c?(b.sSortingClass=d.sSortableNone,
13
+ b.sSortingClassJUI=""):a&&!c?(b.sSortingClass=d.sSortableAsc,b.sSortingClassJUI=d.sSortJUIAscAllowed):!a&&c?(b.sSortingClass=d.sSortableDesc,b.sSortingClassJUI=d.sSortJUIDescAllowed):(b.sSortingClass=d.sSortable,b.sSortingClassJUI=d.sSortJUI)}function $(a){if(!1!==a.oFeatures.bAutoWidth){var b=a.aoColumns;Fa(a);for(var c=0,d=b.length;c<d;c++)b[c].nTh.style.width=b[c].sWidth}b=a.oScroll;(""!==b.sY||""!==b.sX)&&la(a);r(a,null,"column-sizing",[a])}function aa(a,b){var c=ma(a,"bVisible");return"number"===
14
+ typeof c[b]?c[b]:null}function ba(a,b){var c=ma(a,"bVisible"),c=h.inArray(b,c);return-1!==c?c:null}function V(a){var b=0;h.each(a.aoColumns,function(a,d){d.bVisible&&"none"!==h(d.nTh).css("display")&&b++});return b}function ma(a,b){var c=[];h.map(a.aoColumns,function(a,e){a[b]&&c.push(e)});return c}function Ga(a){var b=a.aoColumns,c=a.aoData,d=n.ext.type.detect,e,f,g,j,i,h,l,q,t;e=0;for(f=b.length;e<f;e++)if(l=b[e],t=[],!l.sType&&l._sManualType)l.sType=l._sManualType;else if(!l.sType){g=0;for(j=d.length;g<
15
+ j;g++){i=0;for(h=c.length;i<h;i++){t[i]===k&&(t[i]=B(a,i,e,"type"));q=d[g](t[i],a);if(!q&&g!==d.length-1)break;if("html"===q)break}if(q){l.sType=q;break}}l.sType||(l.sType="string")}}function jb(a,b,c,d){var e,f,g,j,i,m,l=a.aoColumns;if(b)for(e=b.length-1;0<=e;e--){m=b[e];var q=m.targets!==k?m.targets:m.aTargets;h.isArray(q)||(q=[q]);f=0;for(g=q.length;f<g;f++)if("number"===typeof q[f]&&0<=q[f]){for(;l.length<=q[f];)Ea(a);d(q[f],m)}else if("number"===typeof q[f]&&0>q[f])d(l.length+q[f],m);else if("string"===
16
+ typeof q[f]){j=0;for(i=l.length;j<i;j++)("_all"==q[f]||h(l[j].nTh).hasClass(q[f]))&&d(j,m)}}if(c){e=0;for(a=c.length;e<a;e++)d(e,c[e])}}function O(a,b,c,d){var e=a.aoData.length,f=h.extend(!0,{},n.models.oRow,{src:c?"dom":"data",idx:e});f._aData=b;a.aoData.push(f);for(var g=a.aoColumns,j=0,i=g.length;j<i;j++)g[j].sType=null;a.aiDisplayMaster.push(e);b=a.rowIdFn(b);b!==k&&(a.aIds[b]=f);(c||!a.oFeatures.bDeferRender)&&Ha(a,e,c,d);return e}function na(a,b){var c;b instanceof h||(b=h(b));return b.map(function(b,
17
+ e){c=Ia(a,e);return O(a,c.data,e,c.cells)})}function B(a,b,c,d){var e=a.iDraw,f=a.aoColumns[c],g=a.aoData[b]._aData,j=f.sDefaultContent,i=f.fnGetData(g,d,{settings:a,row:b,col:c});if(i===k)return a.iDrawError!=e&&null===j&&(K(a,0,"Requested unknown parameter "+("function"==typeof f.mData?"{function}":"'"+f.mData+"'")+" for row "+b+", column "+c,4),a.iDrawError=e),j;if((i===g||null===i)&&null!==j&&d!==k)i=j;else if("function"===typeof i)return i.call(g);return null===i&&"display"==d?"":i}function kb(a,
18
+ b,c,d){a.aoColumns[c].fnSetData(a.aoData[b]._aData,d,{settings:a,row:b,col:c})}function Ja(a){return h.map(a.match(/(\\.|[^\.])+/g)||[""],function(a){return a.replace(/\\\./g,".")})}function S(a){if(h.isPlainObject(a)){var b={};h.each(a,function(a,c){c&&(b[a]=S(c))});return function(a,c,f,g){var j=b[c]||b._;return j!==k?j(a,c,f,g):a}}if(null===a)return function(a){return a};if("function"===typeof a)return function(b,c,f,g){return a(b,c,f,g)};if("string"===typeof a&&(-1!==a.indexOf(".")||-1!==a.indexOf("[")||
19
+ -1!==a.indexOf("("))){var c=function(a,b,f){var g,j;if(""!==f){j=Ja(f);for(var i=0,m=j.length;i<m;i++){f=j[i].match(ca);g=j[i].match(W);if(f){j[i]=j[i].replace(ca,"");""!==j[i]&&(a=a[j[i]]);g=[];j.splice(0,i+1);j=j.join(".");if(h.isArray(a)){i=0;for(m=a.length;i<m;i++)g.push(c(a[i],b,j))}a=f[0].substring(1,f[0].length-1);a=""===a?g:g.join(a);break}else if(g){j[i]=j[i].replace(W,"");a=a[j[i]]();continue}if(null===a||a[j[i]]===k)return k;a=a[j[i]]}}return a};return function(b,e){return c(b,e,a)}}return function(b){return b[a]}}
20
+ function N(a){if(h.isPlainObject(a))return N(a._);if(null===a)return function(){};if("function"===typeof a)return function(b,d,e){a(b,"set",d,e)};if("string"===typeof a&&(-1!==a.indexOf(".")||-1!==a.indexOf("[")||-1!==a.indexOf("("))){var b=function(a,d,e){var e=Ja(e),f;f=e[e.length-1];for(var g,j,i=0,m=e.length-1;i<m;i++){g=e[i].match(ca);j=e[i].match(W);if(g){e[i]=e[i].replace(ca,"");a[e[i]]=[];f=e.slice();f.splice(0,i+1);g=f.join(".");if(h.isArray(d)){j=0;for(m=d.length;j<m;j++)f={},b(f,d[j],g),
21
+ a[e[i]].push(f)}else a[e[i]]=d;return}j&&(e[i]=e[i].replace(W,""),a=a[e[i]](d));if(null===a[e[i]]||a[e[i]]===k)a[e[i]]={};a=a[e[i]]}if(f.match(W))a[f.replace(W,"")](d);else a[f.replace(ca,"")]=d};return function(c,d){return b(c,d,a)}}return function(b,d){b[a]=d}}function Ka(a){return D(a.aoData,"_aData")}function oa(a){a.aoData.length=0;a.aiDisplayMaster.length=0;a.aiDisplay.length=0;a.aIds={}}function pa(a,b,c){for(var d=-1,e=0,f=a.length;e<f;e++)a[e]==b?d=e:a[e]>b&&a[e]--; -1!=d&&c===k&&a.splice(d,
22
+ 1)}function da(a,b,c,d){var e=a.aoData[b],f,g=function(c,d){for(;c.childNodes.length;)c.removeChild(c.firstChild);c.innerHTML=B(a,b,d,"display")};if("dom"===c||(!c||"auto"===c)&&"dom"===e.src)e._aData=Ia(a,e,d,d===k?k:e._aData).data;else{var j=e.anCells;if(j)if(d!==k)g(j[d],d);else{c=0;for(f=j.length;c<f;c++)g(j[c],c)}}e._aSortData=null;e._aFilterData=null;g=a.aoColumns;if(d!==k)g[d].sType=null;else{c=0;for(f=g.length;c<f;c++)g[c].sType=null;La(a,e)}}function Ia(a,b,c,d){var e=[],f=b.firstChild,g,
23
+ j,i=0,m,l=a.aoColumns,q=a._rowReadObject,d=d!==k?d:q?{}:[],t=function(a,b){if("string"===typeof a){var c=a.indexOf("@");-1!==c&&(c=a.substring(c+1),N(a)(d,b.getAttribute(c)))}},G=function(a){if(c===k||c===i)j=l[i],m=h.trim(a.innerHTML),j&&j._bAttrSrc?(N(j.mData._)(d,m),t(j.mData.sort,a),t(j.mData.type,a),t(j.mData.filter,a)):q?(j._setter||(j._setter=N(j.mData)),j._setter(d,m)):d[i]=m;i++};if(f)for(;f;){g=f.nodeName.toUpperCase();if("TD"==g||"TH"==g)G(f),e.push(f);f=f.nextSibling}else{e=b.anCells;
24
+ f=0;for(g=e.length;f<g;f++)G(e[f])}if(b=b.firstChild?b:b.nTr)(b=b.getAttribute("id"))&&N(a.rowId)(d,b);return{data:d,cells:e}}function Ha(a,b,c,d){var e=a.aoData[b],f=e._aData,g=[],j,i,m,l,q;if(null===e.nTr){j=c||H.createElement("tr");e.nTr=j;e.anCells=g;j._DT_RowIndex=b;La(a,e);l=0;for(q=a.aoColumns.length;l<q;l++){m=a.aoColumns[l];i=c?d[l]:H.createElement(m.sCellType);i._DT_CellIndex={row:b,column:l};g.push(i);if((!c||m.mRender||m.mData!==l)&&(!h.isPlainObject(m.mData)||m.mData._!==l+".display"))i.innerHTML=
25
+ B(a,b,l,"display");m.sClass&&(i.className+=" "+m.sClass);m.bVisible&&!c?j.appendChild(i):!m.bVisible&&c&&i.parentNode.removeChild(i);m.fnCreatedCell&&m.fnCreatedCell.call(a.oInstance,i,B(a,b,l),f,b,l)}r(a,"aoRowCreatedCallback",null,[j,f,b,g])}e.nTr.setAttribute("role","row")}function La(a,b){var c=b.nTr,d=b._aData;if(c){var e=a.rowIdFn(d);e&&(c.id=e);d.DT_RowClass&&(e=d.DT_RowClass.split(" "),b.__rowc=b.__rowc?qa(b.__rowc.concat(e)):e,h(c).removeClass(b.__rowc.join(" ")).addClass(d.DT_RowClass));
26
+ d.DT_RowAttr&&h(c).attr(d.DT_RowAttr);d.DT_RowData&&h(c).data(d.DT_RowData)}}function lb(a){var b,c,d,e,f,g=a.nTHead,j=a.nTFoot,i=0===h("th, td",g).length,m=a.oClasses,l=a.aoColumns;i&&(e=h("<tr/>").appendTo(g));b=0;for(c=l.length;b<c;b++)f=l[b],d=h(f.nTh).addClass(f.sClass),i&&d.appendTo(e),a.oFeatures.bSort&&(d.addClass(f.sSortingClass),!1!==f.bSortable&&(d.attr("tabindex",a.iTabIndex).attr("aria-controls",a.sTableId),Ma(a,f.nTh,b))),f.sTitle!=d[0].innerHTML&&d.html(f.sTitle),Na(a,"header")(a,d,
27
+ f,m);i&&ea(a.aoHeader,g);h(g).find(">tr").attr("role","row");h(g).find(">tr>th, >tr>td").addClass(m.sHeaderTH);h(j).find(">tr>th, >tr>td").addClass(m.sFooterTH);if(null!==j){a=a.aoFooter[0];b=0;for(c=a.length;b<c;b++)f=l[b],f.nTf=a[b].cell,f.sClass&&h(f.nTf).addClass(f.sClass)}}function fa(a,b,c){var d,e,f,g=[],j=[],i=a.aoColumns.length,m;if(b){c===k&&(c=!1);d=0;for(e=b.length;d<e;d++){g[d]=b[d].slice();g[d].nTr=b[d].nTr;for(f=i-1;0<=f;f--)!a.aoColumns[f].bVisible&&!c&&g[d].splice(f,1);j.push([])}d=
28
+ 0;for(e=g.length;d<e;d++){if(a=g[d].nTr)for(;f=a.firstChild;)a.removeChild(f);f=0;for(b=g[d].length;f<b;f++)if(m=i=1,j[d][f]===k){a.appendChild(g[d][f].cell);for(j[d][f]=1;g[d+i]!==k&&g[d][f].cell==g[d+i][f].cell;)j[d+i][f]=1,i++;for(;g[d][f+m]!==k&&g[d][f].cell==g[d][f+m].cell;){for(c=0;c<i;c++)j[d+c][f+m]=1;m++}h(g[d][f].cell).attr("rowspan",i).attr("colspan",m)}}}}function P(a){var b=r(a,"aoPreDrawCallback","preDraw",[a]);if(-1!==h.inArray(!1,b))C(a,!1);else{var b=[],c=0,d=a.asStripeClasses,e=
29
+ d.length,f=a.oLanguage,g=a.iInitDisplayStart,j="ssp"==y(a),i=a.aiDisplay;a.bDrawing=!0;g!==k&&-1!==g&&(a._iDisplayStart=j?g:g>=a.fnRecordsDisplay()?0:g,a.iInitDisplayStart=-1);var g=a._iDisplayStart,m=a.fnDisplayEnd();if(a.bDeferLoading)a.bDeferLoading=!1,a.iDraw++,C(a,!1);else if(j){if(!a.bDestroying&&!mb(a))return}else a.iDraw++;if(0!==i.length){f=j?a.aoData.length:m;for(j=j?0:g;j<f;j++){var l=i[j],q=a.aoData[l];null===q.nTr&&Ha(a,l);var t=q.nTr;if(0!==e){var G=d[c%e];q._sRowStripe!=G&&(h(t).removeClass(q._sRowStripe).addClass(G),
30
+ q._sRowStripe=G)}r(a,"aoRowCallback",null,[t,q._aData,c,j,l]);b.push(t);c++}}else c=f.sZeroRecords,1==a.iDraw&&"ajax"==y(a)?c=f.sLoadingRecords:f.sEmptyTable&&0===a.fnRecordsTotal()&&(c=f.sEmptyTable),b[0]=h("<tr/>",{"class":e?d[0]:""}).append(h("<td />",{valign:"top",colSpan:V(a),"class":a.oClasses.sRowEmpty}).html(c))[0];r(a,"aoHeaderCallback","header",[h(a.nTHead).children("tr")[0],Ka(a),g,m,i]);r(a,"aoFooterCallback","footer",[h(a.nTFoot).children("tr")[0],Ka(a),g,m,i]);d=h(a.nTBody);d.children().detach();
31
+ d.append(h(b));r(a,"aoDrawCallback","draw",[a]);a.bSorted=!1;a.bFiltered=!1;a.bDrawing=!1}}function T(a,b){var c=a.oFeatures,d=c.bFilter;c.bSort&&nb(a);d?ga(a,a.oPreviousSearch):a.aiDisplay=a.aiDisplayMaster.slice();!0!==b&&(a._iDisplayStart=0);a._drawHold=b;P(a);a._drawHold=!1}function ob(a){var b=a.oClasses,c=h(a.nTable),c=h("<div/>").insertBefore(c),d=a.oFeatures,e=h("<div/>",{id:a.sTableId+"_wrapper","class":b.sWrapper+(a.nTFoot?"":" "+b.sNoFooter)});a.nHolding=c[0];a.nTableWrapper=e[0];a.nTableReinsertBefore=
32
+ a.nTable.nextSibling;for(var f=a.sDom.split(""),g,j,i,m,l,q,k=0;k<f.length;k++){g=null;j=f[k];if("<"==j){i=h("<div/>")[0];m=f[k+1];if("'"==m||'"'==m){l="";for(q=2;f[k+q]!=m;)l+=f[k+q],q++;"H"==l?l=b.sJUIHeader:"F"==l&&(l=b.sJUIFooter);-1!=l.indexOf(".")?(m=l.split("."),i.id=m[0].substr(1,m[0].length-1),i.className=m[1]):"#"==l.charAt(0)?i.id=l.substr(1,l.length-1):i.className=l;k+=q}e.append(i);e=h(i)}else if(">"==j)e=e.parent();else if("l"==j&&d.bPaginate&&d.bLengthChange)g=pb(a);else if("f"==j&&
33
+ d.bFilter)g=qb(a);else if("r"==j&&d.bProcessing)g=rb(a);else if("t"==j)g=sb(a);else if("i"==j&&d.bInfo)g=tb(a);else if("p"==j&&d.bPaginate)g=ub(a);else if(0!==n.ext.feature.length){i=n.ext.feature;q=0;for(m=i.length;q<m;q++)if(j==i[q].cFeature){g=i[q].fnInit(a);break}}g&&(i=a.aanFeatures,i[j]||(i[j]=[]),i[j].push(g),e.append(g))}c.replaceWith(e);a.nHolding=null}function ea(a,b){var c=h(b).children("tr"),d,e,f,g,j,i,m,l,q,k;a.splice(0,a.length);f=0;for(i=c.length;f<i;f++)a.push([]);f=0;for(i=c.length;f<
34
+ i;f++){d=c[f];for(e=d.firstChild;e;){if("TD"==e.nodeName.toUpperCase()||"TH"==e.nodeName.toUpperCase()){l=1*e.getAttribute("colspan");q=1*e.getAttribute("rowspan");l=!l||0===l||1===l?1:l;q=!q||0===q||1===q?1:q;g=0;for(j=a[f];j[g];)g++;m=g;k=1===l?!0:!1;for(j=0;j<l;j++)for(g=0;g<q;g++)a[f+g][m+j]={cell:e,unique:k},a[f+g].nTr=d}e=e.nextSibling}}}function ra(a,b,c){var d=[];c||(c=a.aoHeader,b&&(c=[],ea(c,b)));for(var b=0,e=c.length;b<e;b++)for(var f=0,g=c[b].length;f<g;f++)if(c[b][f].unique&&(!d[f]||
35
+ !a.bSortCellsTop))d[f]=c[b][f].cell;return d}function sa(a,b,c){r(a,"aoServerParams","serverParams",[b]);if(b&&h.isArray(b)){var d={},e=/(.*?)\[\]$/;h.each(b,function(a,b){var c=b.name.match(e);c?(c=c[0],d[c]||(d[c]=[]),d[c].push(b.value)):d[b.name]=b.value});b=d}var f,g=a.ajax,j=a.oInstance,i=function(b){r(a,null,"xhr",[a,b,a.jqXHR]);c(b)};if(h.isPlainObject(g)&&g.data){f=g.data;var m="function"===typeof f?f(b,a):f,b="function"===typeof f&&m?m:h.extend(!0,b,m);delete g.data}m={data:b,success:function(b){var c=
36
+ b.error||b.sError;c&&K(a,0,c);a.json=b;i(b)},dataType:"json",cache:!1,type:a.sServerMethod,error:function(b,c){var d=r(a,null,"xhr",[a,null,a.jqXHR]);-1===h.inArray(!0,d)&&("parsererror"==c?K(a,0,"Invalid JSON response",1):4===b.readyState&&K(a,0,"Ajax error",7));C(a,!1)}};a.oAjaxData=b;r(a,null,"preXhr",[a,b]);a.fnServerData?a.fnServerData.call(j,a.sAjaxSource,h.map(b,function(a,b){return{name:b,value:a}}),i,a):a.sAjaxSource||"string"===typeof g?a.jqXHR=h.ajax(h.extend(m,{url:g||a.sAjaxSource})):
37
+ "function"===typeof g?a.jqXHR=g.call(j,b,i,a):(a.jqXHR=h.ajax(h.extend(m,g)),g.data=f)}function mb(a){return a.bAjaxDataGet?(a.iDraw++,C(a,!0),sa(a,vb(a),function(b){wb(a,b)}),!1):!0}function vb(a){var b=a.aoColumns,c=b.length,d=a.oFeatures,e=a.oPreviousSearch,f=a.aoPreSearchCols,g,j=[],i,m,l,k=X(a);g=a._iDisplayStart;i=!1!==d.bPaginate?a._iDisplayLength:-1;var t=function(a,b){j.push({name:a,value:b})};t("sEcho",a.iDraw);t("iColumns",c);t("sColumns",D(b,"sName").join(","));t("iDisplayStart",g);t("iDisplayLength",
38
+ i);var G={draw:a.iDraw,columns:[],order:[],start:g,length:i,search:{value:e.sSearch,regex:e.bRegex}};for(g=0;g<c;g++)m=b[g],l=f[g],i="function"==typeof m.mData?"function":m.mData,G.columns.push({data:i,name:m.sName,searchable:m.bSearchable,orderable:m.bSortable,search:{value:l.sSearch,regex:l.bRegex}}),t("mDataProp_"+g,i),d.bFilter&&(t("sSearch_"+g,l.sSearch),t("bRegex_"+g,l.bRegex),t("bSearchable_"+g,m.bSearchable)),d.bSort&&t("bSortable_"+g,m.bSortable);d.bFilter&&(t("sSearch",e.sSearch),t("bRegex",
39
+ e.bRegex));d.bSort&&(h.each(k,function(a,b){G.order.push({column:b.col,dir:b.dir});t("iSortCol_"+a,b.col);t("sSortDir_"+a,b.dir)}),t("iSortingCols",k.length));b=n.ext.legacy.ajax;return null===b?a.sAjaxSource?j:G:b?j:G}function wb(a,b){var c=ta(a,b),d=b.sEcho!==k?b.sEcho:b.draw,e=b.iTotalRecords!==k?b.iTotalRecords:b.recordsTotal,f=b.iTotalDisplayRecords!==k?b.iTotalDisplayRecords:b.recordsFiltered;if(d){if(1*d<a.iDraw)return;a.iDraw=1*d}oa(a);a._iRecordsTotal=parseInt(e,10);a._iRecordsDisplay=parseInt(f,
40
+ 10);d=0;for(e=c.length;d<e;d++)O(a,c[d]);a.aiDisplay=a.aiDisplayMaster.slice();a.bAjaxDataGet=!1;P(a);a._bInitComplete||ua(a,b);a.bAjaxDataGet=!0;C(a,!1)}function ta(a,b){var c=h.isPlainObject(a.ajax)&&a.ajax.dataSrc!==k?a.ajax.dataSrc:a.sAjaxDataProp;return"data"===c?b.aaData||b[c]:""!==c?S(c)(b):b}function qb(a){var b=a.oClasses,c=a.sTableId,d=a.oLanguage,e=a.oPreviousSearch,f=a.aanFeatures,g='<input type="search" class="'+b.sFilterInput+'"/>',j=d.sSearch,j=j.match(/_INPUT_/)?j.replace("_INPUT_",
41
+ g):j+g,b=h("<div/>",{id:!f.f?c+"_filter":null,"class":b.sFilter}).append(h("<label/>").append(j)),f=function(){var b=!this.value?"":this.value;b!=e.sSearch&&(ga(a,{sSearch:b,bRegex:e.bRegex,bSmart:e.bSmart,bCaseInsensitive:e.bCaseInsensitive}),a._iDisplayStart=0,P(a))},g=null!==a.searchDelay?a.searchDelay:"ssp"===y(a)?400:0,i=h("input",b).val(e.sSearch).attr("placeholder",d.sSearchPlaceholder).on("keyup.DT search.DT input.DT paste.DT cut.DT",g?Oa(f,g):f).on("keypress.DT",function(a){if(13==a.keyCode)return!1}).attr("aria-controls",
42
+ c);h(a.nTable).on("search.dt.DT",function(b,c){if(a===c)try{i[0]!==H.activeElement&&i.val(e.sSearch)}catch(d){}});return b[0]}function ga(a,b,c){var d=a.oPreviousSearch,e=a.aoPreSearchCols,f=function(a){d.sSearch=a.sSearch;d.bRegex=a.bRegex;d.bSmart=a.bSmart;d.bCaseInsensitive=a.bCaseInsensitive};Ga(a);if("ssp"!=y(a)){xb(a,b.sSearch,c,b.bEscapeRegex!==k?!b.bEscapeRegex:b.bRegex,b.bSmart,b.bCaseInsensitive);f(b);for(b=0;b<e.length;b++)yb(a,e[b].sSearch,b,e[b].bEscapeRegex!==k?!e[b].bEscapeRegex:e[b].bRegex,
43
+ e[b].bSmart,e[b].bCaseInsensitive);zb(a)}else f(b);a.bFiltered=!0;r(a,null,"search",[a])}function zb(a){for(var b=n.ext.search,c=a.aiDisplay,d,e,f=0,g=b.length;f<g;f++){for(var j=[],i=0,m=c.length;i<m;i++)e=c[i],d=a.aoData[e],b[f](a,d._aFilterData,e,d._aData,i)&&j.push(e);c.length=0;h.merge(c,j)}}function yb(a,b,c,d,e,f){if(""!==b){for(var g=[],j=a.aiDisplay,d=Pa(b,d,e,f),e=0;e<j.length;e++)b=a.aoData[j[e]]._aFilterData[c],d.test(b)&&g.push(j[e]);a.aiDisplay=g}}function xb(a,b,c,d,e,f){var d=Pa(b,
44
+ d,e,f),f=a.oPreviousSearch.sSearch,g=a.aiDisplayMaster,j,e=[];0!==n.ext.search.length&&(c=!0);j=Ab(a);if(0>=b.length)a.aiDisplay=g.slice();else{if(j||c||f.length>b.length||0!==b.indexOf(f)||a.bSorted)a.aiDisplay=g.slice();b=a.aiDisplay;for(c=0;c<b.length;c++)d.test(a.aoData[b[c]]._sFilterRow)&&e.push(b[c]);a.aiDisplay=e}}function Pa(a,b,c,d){a=b?a:Qa(a);c&&(a="^(?=.*?"+h.map(a.match(/"[^"]+"|[^ ]+/g)||[""],function(a){if('"'===a.charAt(0))var b=a.match(/^"(.*)"$/),a=b?b[1]:a;return a.replace('"',
45
+ "")}).join(")(?=.*?")+").*$");return RegExp(a,d?"i":"")}function Ab(a){var b=a.aoColumns,c,d,e,f,g,j,i,h,l=n.ext.type.search;c=!1;d=0;for(f=a.aoData.length;d<f;d++)if(h=a.aoData[d],!h._aFilterData){j=[];e=0;for(g=b.length;e<g;e++)c=b[e],c.bSearchable?(i=B(a,d,e,"filter"),l[c.sType]&&(i=l[c.sType](i)),null===i&&(i=""),"string"!==typeof i&&i.toString&&(i=i.toString())):i="",i.indexOf&&-1!==i.indexOf("&")&&(va.innerHTML=i,i=Wb?va.textContent:va.innerText),i.replace&&(i=i.replace(/[\r\n]/g,"")),j.push(i);
46
+ h._aFilterData=j;h._sFilterRow=j.join(" ");c=!0}return c}function Bb(a){return{search:a.sSearch,smart:a.bSmart,regex:a.bRegex,caseInsensitive:a.bCaseInsensitive}}function Cb(a){return{sSearch:a.search,bSmart:a.smart,bRegex:a.regex,bCaseInsensitive:a.caseInsensitive}}function tb(a){var b=a.sTableId,c=a.aanFeatures.i,d=h("<div/>",{"class":a.oClasses.sInfo,id:!c?b+"_info":null});c||(a.aoDrawCallback.push({fn:Db,sName:"information"}),d.attr("role","status").attr("aria-live","polite"),h(a.nTable).attr("aria-describedby",
47
+ b+"_info"));return d[0]}function Db(a){var b=a.aanFeatures.i;if(0!==b.length){var c=a.oLanguage,d=a._iDisplayStart+1,e=a.fnDisplayEnd(),f=a.fnRecordsTotal(),g=a.fnRecordsDisplay(),j=g?c.sInfo:c.sInfoEmpty;g!==f&&(j+=" "+c.sInfoFiltered);j+=c.sInfoPostFix;j=Eb(a,j);c=c.fnInfoCallback;null!==c&&(j=c.call(a.oInstance,a,d,e,f,g,j));h(b).html(j)}}function Eb(a,b){var c=a.fnFormatNumber,d=a._iDisplayStart+1,e=a._iDisplayLength,f=a.fnRecordsDisplay(),g=-1===e;return b.replace(/_START_/g,c.call(a,d)).replace(/_END_/g,
48
+ c.call(a,a.fnDisplayEnd())).replace(/_MAX_/g,c.call(a,a.fnRecordsTotal())).replace(/_TOTAL_/g,c.call(a,f)).replace(/_PAGE_/g,c.call(a,g?1:Math.ceil(d/e))).replace(/_PAGES_/g,c.call(a,g?1:Math.ceil(f/e)))}function ha(a){var b,c,d=a.iInitDisplayStart,e=a.aoColumns,f;c=a.oFeatures;var g=a.bDeferLoading;if(a.bInitialised){ob(a);lb(a);fa(a,a.aoHeader);fa(a,a.aoFooter);C(a,!0);c.bAutoWidth&&Fa(a);b=0;for(c=e.length;b<c;b++)f=e[b],f.sWidth&&(f.nTh.style.width=v(f.sWidth));r(a,null,"preInit",[a]);T(a);e=
49
+ y(a);if("ssp"!=e||g)"ajax"==e?sa(a,[],function(c){var f=ta(a,c);for(b=0;b<f.length;b++)O(a,f[b]);a.iInitDisplayStart=d;T(a);C(a,!1);ua(a,c)},a):(C(a,!1),ua(a))}else setTimeout(function(){ha(a)},200)}function ua(a,b){a._bInitComplete=!0;(b||a.oInit.aaData)&&$(a);r(a,null,"plugin-init",[a,b]);r(a,"aoInitComplete","init",[a,b])}function Ra(a,b){var c=parseInt(b,10);a._iDisplayLength=c;Sa(a);r(a,null,"length",[a,c])}function pb(a){for(var b=a.oClasses,c=a.sTableId,d=a.aLengthMenu,e=h.isArray(d[0]),f=
50
+ e?d[0]:d,d=e?d[1]:d,e=h("<select/>",{name:c+"_length","aria-controls":c,"class":b.sLengthSelect}),g=0,j=f.length;g<j;g++)e[0][g]=new Option("number"===typeof d[g]?a.fnFormatNumber(d[g]):d[g],f[g]);var i=h("<div><label/></div>").addClass(b.sLength);a.aanFeatures.l||(i[0].id=c+"_length");i.children().append(a.oLanguage.sLengthMenu.replace("_MENU_",e[0].outerHTML));h("select",i).val(a._iDisplayLength).on("change.DT",function(){Ra(a,h(this).val());P(a)});h(a.nTable).on("length.dt.DT",function(b,c,d){a===
51
+ c&&h("select",i).val(d)});return i[0]}function ub(a){var b=a.sPaginationType,c=n.ext.pager[b],d="function"===typeof c,e=function(a){P(a)},b=h("<div/>").addClass(a.oClasses.sPaging+b)[0],f=a.aanFeatures;d||c.fnInit(a,b,e);f.p||(b.id=a.sTableId+"_paginate",a.aoDrawCallback.push({fn:function(a){if(d){var b=a._iDisplayStart,i=a._iDisplayLength,h=a.fnRecordsDisplay(),l=-1===i,b=l?0:Math.ceil(b/i),i=l?1:Math.ceil(h/i),h=c(b,i),k,l=0;for(k=f.p.length;l<k;l++)Na(a,"pageButton")(a,f.p[l],l,h,b,i)}else c.fnUpdate(a,
52
+ e)},sName:"pagination"}));return b}function Ta(a,b,c){var d=a._iDisplayStart,e=a._iDisplayLength,f=a.fnRecordsDisplay();0===f||-1===e?d=0:"number"===typeof b?(d=b*e,d>f&&(d=0)):"first"==b?d=0:"previous"==b?(d=0<=e?d-e:0,0>d&&(d=0)):"next"==b?d+e<f&&(d+=e):"last"==b?d=Math.floor((f-1)/e)*e:K(a,0,"Unknown paging action: "+b,5);b=a._iDisplayStart!==d;a._iDisplayStart=d;b&&(r(a,null,"page",[a]),c&&P(a));return b}function rb(a){return h("<div/>",{id:!a.aanFeatures.r?a.sTableId+"_processing":null,"class":a.oClasses.sProcessing}).html(a.oLanguage.sProcessing).insertBefore(a.nTable)[0]}
53
+ function C(a,b){a.oFeatures.bProcessing&&h(a.aanFeatures.r).css("display",b?"block":"none");r(a,null,"processing",[a,b])}function sb(a){var b=h(a.nTable);b.attr("role","grid");var c=a.oScroll;if(""===c.sX&&""===c.sY)return a.nTable;var d=c.sX,e=c.sY,f=a.oClasses,g=b.children("caption"),j=g.length?g[0]._captionSide:null,i=h(b[0].cloneNode(!1)),m=h(b[0].cloneNode(!1)),l=b.children("tfoot");l.length||(l=null);i=h("<div/>",{"class":f.sScrollWrapper}).append(h("<div/>",{"class":f.sScrollHead}).css({overflow:"hidden",
54
+ position:"relative",border:0,width:d?!d?null:v(d):"100%"}).append(h("<div/>",{"class":f.sScrollHeadInner}).css({"box-sizing":"content-box",width:c.sXInner||"100%"}).append(i.removeAttr("id").css("margin-left",0).append("top"===j?g:null).append(b.children("thead"))))).append(h("<div/>",{"class":f.sScrollBody}).css({position:"relative",overflow:"auto",width:!d?null:v(d)}).append(b));l&&i.append(h("<div/>",{"class":f.sScrollFoot}).css({overflow:"hidden",border:0,width:d?!d?null:v(d):"100%"}).append(h("<div/>",
55
+ {"class":f.sScrollFootInner}).append(m.removeAttr("id").css("margin-left",0).append("bottom"===j?g:null).append(b.children("tfoot")))));var b=i.children(),k=b[0],f=b[1],t=l?b[2]:null;if(d)h(f).on("scroll.DT",function(){var a=this.scrollLeft;k.scrollLeft=a;l&&(t.scrollLeft=a)});h(f).css(e&&c.bCollapse?"max-height":"height",e);a.nScrollHead=k;a.nScrollBody=f;a.nScrollFoot=t;a.aoDrawCallback.push({fn:la,sName:"scrolling"});return i[0]}function la(a){var b=a.oScroll,c=b.sX,d=b.sXInner,e=b.sY,b=b.iBarWidth,
56
+ f=h(a.nScrollHead),g=f[0].style,j=f.children("div"),i=j[0].style,m=j.children("table"),j=a.nScrollBody,l=h(j),q=j.style,t=h(a.nScrollFoot).children("div"),n=t.children("table"),o=h(a.nTHead),p=h(a.nTable),s=p[0],r=s.style,u=a.nTFoot?h(a.nTFoot):null,x=a.oBrowser,U=x.bScrollOversize,Xb=D(a.aoColumns,"nTh"),Q,L,R,w,Ua=[],y=[],z=[],A=[],B,C=function(a){a=a.style;a.paddingTop="0";a.paddingBottom="0";a.borderTopWidth="0";a.borderBottomWidth="0";a.height=0};L=j.scrollHeight>j.clientHeight;if(a.scrollBarVis!==
57
+ L&&a.scrollBarVis!==k)a.scrollBarVis=L,$(a);else{a.scrollBarVis=L;p.children("thead, tfoot").remove();u&&(R=u.clone().prependTo(p),Q=u.find("tr"),R=R.find("tr"));w=o.clone().prependTo(p);o=o.find("tr");L=w.find("tr");w.find("th, td").removeAttr("tabindex");c||(q.width="100%",f[0].style.width="100%");h.each(ra(a,w),function(b,c){B=aa(a,b);c.style.width=a.aoColumns[B].sWidth});u&&I(function(a){a.style.width=""},R);f=p.outerWidth();if(""===c){r.width="100%";if(U&&(p.find("tbody").height()>j.offsetHeight||
58
+ "scroll"==l.css("overflow-y")))r.width=v(p.outerWidth()-b);f=p.outerWidth()}else""!==d&&(r.width=v(d),f=p.outerWidth());I(C,L);I(function(a){z.push(a.innerHTML);Ua.push(v(h(a).css("width")))},L);I(function(a,b){if(h.inArray(a,Xb)!==-1)a.style.width=Ua[b]},o);h(L).height(0);u&&(I(C,R),I(function(a){A.push(a.innerHTML);y.push(v(h(a).css("width")))},R),I(function(a,b){a.style.width=y[b]},Q),h(R).height(0));I(function(a,b){a.innerHTML='<div class="dataTables_sizing">'+z[b]+"</div>";a.childNodes[0].style.height=
59
+ "0";a.childNodes[0].style.overflow="hidden";a.style.width=Ua[b]},L);u&&I(function(a,b){a.innerHTML='<div class="dataTables_sizing">'+A[b]+"</div>";a.childNodes[0].style.height="0";a.childNodes[0].style.overflow="hidden";a.style.width=y[b]},R);if(p.outerWidth()<f){Q=j.scrollHeight>j.offsetHeight||"scroll"==l.css("overflow-y")?f+b:f;if(U&&(j.scrollHeight>j.offsetHeight||"scroll"==l.css("overflow-y")))r.width=v(Q-b);(""===c||""!==d)&&K(a,1,"Possible column misalignment",6)}else Q="100%";q.width=v(Q);
60
+ g.width=v(Q);u&&(a.nScrollFoot.style.width=v(Q));!e&&U&&(q.height=v(s.offsetHeight+b));c=p.outerWidth();m[0].style.width=v(c);i.width=v(c);d=p.height()>j.clientHeight||"scroll"==l.css("overflow-y");e="padding"+(x.bScrollbarLeft?"Left":"Right");i[e]=d?b+"px":"0px";u&&(n[0].style.width=v(c),t[0].style.width=v(c),t[0].style[e]=d?b+"px":"0px");p.children("colgroup").insertBefore(p.children("thead"));l.scroll();if((a.bSorted||a.bFiltered)&&!a._drawHold)j.scrollTop=0}}function I(a,b,c){for(var d=0,e=0,
61
+ f=b.length,g,j;e<f;){g=b[e].firstChild;for(j=c?c[e].firstChild:null;g;)1===g.nodeType&&(c?a(g,j,d):a(g,d),d++),g=g.nextSibling,j=c?j.nextSibling:null;e++}}function Fa(a){var b=a.nTable,c=a.aoColumns,d=a.oScroll,e=d.sY,f=d.sX,g=d.sXInner,j=c.length,i=ma(a,"bVisible"),m=h("th",a.nTHead),l=b.getAttribute("width"),k=b.parentNode,t=!1,n,o,p=a.oBrowser,d=p.bScrollOversize;(n=b.style.width)&&-1!==n.indexOf("%")&&(l=n);for(n=0;n<i.length;n++)o=c[i[n]],null!==o.sWidth&&(o.sWidth=Fb(o.sWidthOrig,k),t=!0);if(d||
62
+ !t&&!f&&!e&&j==V(a)&&j==m.length)for(n=0;n<j;n++)i=aa(a,n),null!==i&&(c[i].sWidth=v(m.eq(n).width()));else{j=h(b).clone().css("visibility","hidden").removeAttr("id");j.find("tbody tr").remove();var s=h("<tr/>").appendTo(j.find("tbody"));j.find("thead, tfoot").remove();j.append(h(a.nTHead).clone()).append(h(a.nTFoot).clone());j.find("tfoot th, tfoot td").css("width","");m=ra(a,j.find("thead")[0]);for(n=0;n<i.length;n++)o=c[i[n]],m[n].style.width=null!==o.sWidthOrig&&""!==o.sWidthOrig?v(o.sWidthOrig):
63
+ "",o.sWidthOrig&&f&&h(m[n]).append(h("<div/>").css({width:o.sWidthOrig,margin:0,padding:0,border:0,height:1}));if(a.aoData.length)for(n=0;n<i.length;n++)t=i[n],o=c[t],h(Gb(a,t)).clone(!1).append(o.sContentPadding).appendTo(s);h("[name]",j).removeAttr("name");o=h("<div/>").css(f||e?{position:"absolute",top:0,left:0,height:1,right:0,overflow:"hidden"}:{}).append(j).appendTo(k);f&&g?j.width(g):f?(j.css("width","auto"),j.removeAttr("width"),j.width()<k.clientWidth&&l&&j.width(k.clientWidth)):e?j.width(k.clientWidth):
64
+ l&&j.width(l);for(n=e=0;n<i.length;n++)k=h(m[n]),g=k.outerWidth()-k.width(),k=p.bBounding?Math.ceil(m[n].getBoundingClientRect().width):k.outerWidth(),e+=k,c[i[n]].sWidth=v(k-g);b.style.width=v(e);o.remove()}l&&(b.style.width=v(l));if((l||f)&&!a._reszEvt)b=function(){h(E).on("resize.DT-"+a.sInstance,Oa(function(){$(a)}))},d?setTimeout(b,1E3):b(),a._reszEvt=!0}function Fb(a,b){if(!a)return 0;var c=h("<div/>").css("width",v(a)).appendTo(b||H.body),d=c[0].offsetWidth;c.remove();return d}function Gb(a,
65
+ b){var c=Hb(a,b);if(0>c)return null;var d=a.aoData[c];return!d.nTr?h("<td/>").html(B(a,c,b,"display"))[0]:d.anCells[b]}function Hb(a,b){for(var c,d=-1,e=-1,f=0,g=a.aoData.length;f<g;f++)c=B(a,f,b,"display")+"",c=c.replace(Yb,""),c=c.replace(/&nbsp;/g," "),c.length>d&&(d=c.length,e=f);return e}function v(a){return null===a?"0px":"number"==typeof a?0>a?"0px":a+"px":a.match(/\d$/)?a+"px":a}function X(a){var b,c,d=[],e=a.aoColumns,f,g,j,i;b=a.aaSortingFixed;c=h.isPlainObject(b);var m=[];f=function(a){a.length&&
66
+ !h.isArray(a[0])?m.push(a):h.merge(m,a)};h.isArray(b)&&f(b);c&&b.pre&&f(b.pre);f(a.aaSorting);c&&b.post&&f(b.post);for(a=0;a<m.length;a++){i=m[a][0];f=e[i].aDataSort;b=0;for(c=f.length;b<c;b++)g=f[b],j=e[g].sType||"string",m[a]._idx===k&&(m[a]._idx=h.inArray(m[a][1],e[g].asSorting)),d.push({src:i,col:g,dir:m[a][1],index:m[a]._idx,type:j,formatter:n.ext.type.order[j+"-pre"]})}return d}function nb(a){var b,c,d=[],e=n.ext.type.order,f=a.aoData,g=0,j,i=a.aiDisplayMaster,h;Ga(a);h=X(a);b=0;for(c=h.length;b<
67
+ c;b++)j=h[b],j.formatter&&g++,Ib(a,j.col);if("ssp"!=y(a)&&0!==h.length){b=0;for(c=i.length;b<c;b++)d[i[b]]=b;g===h.length?i.sort(function(a,b){var c,e,g,j,i=h.length,k=f[a]._aSortData,n=f[b]._aSortData;for(g=0;g<i;g++)if(j=h[g],c=k[j.col],e=n[j.col],c=c<e?-1:c>e?1:0,0!==c)return"asc"===j.dir?c:-c;c=d[a];e=d[b];return c<e?-1:c>e?1:0}):i.sort(function(a,b){var c,g,j,i,k=h.length,n=f[a]._aSortData,o=f[b]._aSortData;for(j=0;j<k;j++)if(i=h[j],c=n[i.col],g=o[i.col],i=e[i.type+"-"+i.dir]||e["string-"+i.dir],
68
+ c=i(c,g),0!==c)return c;c=d[a];g=d[b];return c<g?-1:c>g?1:0})}a.bSorted=!0}function Jb(a){for(var b,c,d=a.aoColumns,e=X(a),a=a.oLanguage.oAria,f=0,g=d.length;f<g;f++){c=d[f];var j=c.asSorting;b=c.sTitle.replace(/<.*?>/g,"");var i=c.nTh;i.removeAttribute("aria-sort");c.bSortable&&(0<e.length&&e[0].col==f?(i.setAttribute("aria-sort","asc"==e[0].dir?"ascending":"descending"),c=j[e[0].index+1]||j[0]):c=j[0],b+="asc"===c?a.sSortAscending:a.sSortDescending);i.setAttribute("aria-label",b)}}function Va(a,
69
+ b,c,d){var e=a.aaSorting,f=a.aoColumns[b].asSorting,g=function(a,b){var c=a._idx;c===k&&(c=h.inArray(a[1],f));return c+1<f.length?c+1:b?null:0};"number"===typeof e[0]&&(e=a.aaSorting=[e]);c&&a.oFeatures.bSortMulti?(c=h.inArray(b,D(e,"0")),-1!==c?(b=g(e[c],!0),null===b&&1===e.length&&(b=0),null===b?e.splice(c,1):(e[c][1]=f[b],e[c]._idx=b)):(e.push([b,f[0],0]),e[e.length-1]._idx=0)):e.length&&e[0][0]==b?(b=g(e[0]),e.length=1,e[0][1]=f[b],e[0]._idx=b):(e.length=0,e.push([b,f[0]]),e[0]._idx=0);T(a);"function"==
70
+ typeof d&&d(a)}function Ma(a,b,c,d){var e=a.aoColumns[c];Wa(b,{},function(b){!1!==e.bSortable&&(a.oFeatures.bProcessing?(C(a,!0),setTimeout(function(){Va(a,c,b.shiftKey,d);"ssp"!==y(a)&&C(a,!1)},0)):Va(a,c,b.shiftKey,d))})}function wa(a){var b=a.aLastSort,c=a.oClasses.sSortColumn,d=X(a),e=a.oFeatures,f,g;if(e.bSort&&e.bSortClasses){e=0;for(f=b.length;e<f;e++)g=b[e].src,h(D(a.aoData,"anCells",g)).removeClass(c+(2>e?e+1:3));e=0;for(f=d.length;e<f;e++)g=d[e].src,h(D(a.aoData,"anCells",g)).addClass(c+
71
+ (2>e?e+1:3))}a.aLastSort=d}function Ib(a,b){var c=a.aoColumns[b],d=n.ext.order[c.sSortDataType],e;d&&(e=d.call(a.oInstance,a,b,ba(a,b)));for(var f,g=n.ext.type.order[c.sType+"-pre"],j=0,i=a.aoData.length;j<i;j++)if(c=a.aoData[j],c._aSortData||(c._aSortData=[]),!c._aSortData[b]||d)f=d?e[j]:B(a,j,b,"sort"),c._aSortData[b]=g?g(f):f}function xa(a){if(a.oFeatures.bStateSave&&!a.bDestroying){var b={time:+new Date,start:a._iDisplayStart,length:a._iDisplayLength,order:h.extend(!0,[],a.aaSorting),search:Bb(a.oPreviousSearch),
72
+ columns:h.map(a.aoColumns,function(b,d){return{visible:b.bVisible,search:Bb(a.aoPreSearchCols[d])}})};r(a,"aoStateSaveParams","stateSaveParams",[a,b]);a.oSavedState=b;a.fnStateSaveCallback.call(a.oInstance,a,b)}}function Kb(a,b,c){var d,e,f=a.aoColumns,b=function(b){if(b&&b.time){var g=r(a,"aoStateLoadParams","stateLoadParams",[a,b]);if(-1===h.inArray(!1,g)&&(g=a.iStateDuration,!(0<g&&b.time<+new Date-1E3*g)&&!(b.columns&&f.length!==b.columns.length))){a.oLoadedState=h.extend(!0,{},b);b.start!==k&&
73
+ (a._iDisplayStart=b.start,a.iInitDisplayStart=b.start);b.length!==k&&(a._iDisplayLength=b.length);b.order!==k&&(a.aaSorting=[],h.each(b.order,function(b,c){a.aaSorting.push(c[0]>=f.length?[0,c[1]]:c)}));b.search!==k&&h.extend(a.oPreviousSearch,Cb(b.search));if(b.columns){d=0;for(e=b.columns.length;d<e;d++)g=b.columns[d],g.visible!==k&&(f[d].bVisible=g.visible),g.search!==k&&h.extend(a.aoPreSearchCols[d],Cb(g.search))}r(a,"aoStateLoaded","stateLoaded",[a,b])}}c()};if(a.oFeatures.bStateSave){var g=
74
+ a.fnStateLoadCallback.call(a.oInstance,a,b);g!==k&&b(g)}else c()}function ya(a){var b=n.settings,a=h.inArray(a,D(b,"nTable"));return-1!==a?b[a]:null}function K(a,b,c,d){c="DataTables warning: "+(a?"table id="+a.sTableId+" - ":"")+c;d&&(c+=". For more information about this error, please see http://datatables.net/tn/"+d);if(b)E.console&&console.log&&console.log(c);else if(b=n.ext,b=b.sErrMode||b.errMode,a&&r(a,null,"error",[a,d,c]),"alert"==b)alert(c);else{if("throw"==b)throw Error(c);"function"==
75
+ typeof b&&b(a,d,c)}}function F(a,b,c,d){h.isArray(c)?h.each(c,function(c,d){h.isArray(d)?F(a,b,d[0],d[1]):F(a,b,d)}):(d===k&&(d=c),b[c]!==k&&(a[d]=b[c]))}function Xa(a,b,c){var d,e;for(e in b)b.hasOwnProperty(e)&&(d=b[e],h.isPlainObject(d)?(h.isPlainObject(a[e])||(a[e]={}),h.extend(!0,a[e],d)):a[e]=c&&"data"!==e&&"aaData"!==e&&h.isArray(d)?d.slice():d);return a}function Wa(a,b,c){h(a).on("click.DT",b,function(b){h(a).blur();c(b)}).on("keypress.DT",b,function(a){13===a.which&&(a.preventDefault(),c(a))}).on("selectstart.DT",
76
+ function(){return!1})}function z(a,b,c,d){c&&a[b].push({fn:c,sName:d})}function r(a,b,c,d){var e=[];b&&(e=h.map(a[b].slice().reverse(),function(b){return b.fn.apply(a.oInstance,d)}));null!==c&&(b=h.Event(c+".dt"),h(a.nTable).trigger(b,d),e.push(b.result));return e}function Sa(a){var b=a._iDisplayStart,c=a.fnDisplayEnd(),d=a._iDisplayLength;b>=c&&(b=c-d);b-=b%d;if(-1===d||0>b)b=0;a._iDisplayStart=b}function Na(a,b){var c=a.renderer,d=n.ext.renderer[b];return h.isPlainObject(c)&&c[b]?d[c[b]]||d._:"string"===
77
+ typeof c?d[c]||d._:d._}function y(a){return a.oFeatures.bServerSide?"ssp":a.ajax||a.sAjaxSource?"ajax":"dom"}function ia(a,b){var c=[],c=Lb.numbers_length,d=Math.floor(c/2);b<=c?c=Y(0,b):a<=d?(c=Y(0,c-2),c.push("ellipsis"),c.push(b-1)):(a>=b-1-d?c=Y(b-(c-2),b):(c=Y(a-d+2,a+d-1),c.push("ellipsis"),c.push(b-1)),c.splice(0,0,"ellipsis"),c.splice(0,0,0));c.DT_el="span";return c}function Da(a){h.each({num:function(b){return za(b,a)},"num-fmt":function(b){return za(b,a,Ya)},"html-num":function(b){return za(b,
78
+ a,Aa)},"html-num-fmt":function(b){return za(b,a,Aa,Ya)}},function(b,c){x.type.order[b+a+"-pre"]=c;b.match(/^html\-/)&&(x.type.search[b+a]=x.type.search.html)})}function Mb(a){return function(){var b=[ya(this[n.ext.iApiIndex])].concat(Array.prototype.slice.call(arguments));return n.ext.internal[a].apply(this,b)}}var n=function(a){this.$=function(a,b){return this.api(!0).$(a,b)};this._=function(a,b){return this.api(!0).rows(a,b).data()};this.api=function(a){return a?new s(ya(this[x.iApiIndex])):new s(this)};
79
+ this.fnAddData=function(a,b){var c=this.api(!0),d=h.isArray(a)&&(h.isArray(a[0])||h.isPlainObject(a[0]))?c.rows.add(a):c.row.add(a);(b===k||b)&&c.draw();return d.flatten().toArray()};this.fnAdjustColumnSizing=function(a){var b=this.api(!0).columns.adjust(),c=b.settings()[0],d=c.oScroll;a===k||a?b.draw(!1):(""!==d.sX||""!==d.sY)&&la(c)};this.fnClearTable=function(a){var b=this.api(!0).clear();(a===k||a)&&b.draw()};this.fnClose=function(a){this.api(!0).row(a).child.hide()};this.fnDeleteRow=function(a,
80
+ b,c){var d=this.api(!0),a=d.rows(a),e=a.settings()[0],h=e.aoData[a[0][0]];a.remove();b&&b.call(this,e,h);(c===k||c)&&d.draw();return h};this.fnDestroy=function(a){this.api(!0).destroy(a)};this.fnDraw=function(a){this.api(!0).draw(a)};this.fnFilter=function(a,b,c,d,e,h){e=this.api(!0);null===b||b===k?e.search(a,c,d,h):e.column(b).search(a,c,d,h);e.draw()};this.fnGetData=function(a,b){var c=this.api(!0);if(a!==k){var d=a.nodeName?a.nodeName.toLowerCase():"";return b!==k||"td"==d||"th"==d?c.cell(a,b).data():
81
+ c.row(a).data()||null}return c.data().toArray()};this.fnGetNodes=function(a){var b=this.api(!0);return a!==k?b.row(a).node():b.rows().nodes().flatten().toArray()};this.fnGetPosition=function(a){var b=this.api(!0),c=a.nodeName.toUpperCase();return"TR"==c?b.row(a).index():"TD"==c||"TH"==c?(a=b.cell(a).index(),[a.row,a.columnVisible,a.column]):null};this.fnIsOpen=function(a){return this.api(!0).row(a).child.isShown()};this.fnOpen=function(a,b,c){return this.api(!0).row(a).child(b,c).show().child()[0]};
82
+ this.fnPageChange=function(a,b){var c=this.api(!0).page(a);(b===k||b)&&c.draw(!1)};this.fnSetColumnVis=function(a,b,c){a=this.api(!0).column(a).visible(b);(c===k||c)&&a.columns.adjust().draw()};this.fnSettings=function(){return ya(this[x.iApiIndex])};this.fnSort=function(a){this.api(!0).order(a).draw()};this.fnSortListener=function(a,b,c){this.api(!0).order.listener(a,b,c)};this.fnUpdate=function(a,b,c,d,e){var h=this.api(!0);c===k||null===c?h.row(b).data(a):h.cell(b,c).data(a);(e===k||e)&&h.columns.adjust();
83
+ (d===k||d)&&h.draw();return 0};this.fnVersionCheck=x.fnVersionCheck;var b=this,c=a===k,d=this.length;c&&(a={});this.oApi=this.internal=x.internal;for(var e in n.ext.internal)e&&(this[e]=Mb(e));this.each(function(){var e={},g=1<d?Xa(e,a,!0):a,j=0,i,e=this.getAttribute("id"),m=!1,l=n.defaults,q=h(this);if("table"!=this.nodeName.toLowerCase())K(null,0,"Non-table node initialisation ("+this.nodeName+")",2);else{fb(l);gb(l.column);J(l,l,!0);J(l.column,l.column,!0);J(l,h.extend(g,q.data()));var t=n.settings,
84
+ j=0;for(i=t.length;j<i;j++){var o=t[j];if(o.nTable==this||o.nTHead&&o.nTHead.parentNode==this||o.nTFoot&&o.nTFoot.parentNode==this){var s=g.bRetrieve!==k?g.bRetrieve:l.bRetrieve;if(c||s)return o.oInstance;if(g.bDestroy!==k?g.bDestroy:l.bDestroy){o.oInstance.fnDestroy();break}else{K(o,0,"Cannot reinitialise DataTable",3);return}}if(o.sTableId==this.id){t.splice(j,1);break}}if(null===e||""===e)this.id=e="DataTables_Table_"+n.ext._unique++;var p=h.extend(!0,{},n.models.oSettings,{sDestroyWidth:q[0].style.width,
85
+ sInstance:e,sTableId:e});p.nTable=this;p.oApi=b.internal;p.oInit=g;t.push(p);p.oInstance=1===b.length?b:q.dataTable();fb(g);Ca(g.oLanguage);g.aLengthMenu&&!g.iDisplayLength&&(g.iDisplayLength=h.isArray(g.aLengthMenu[0])?g.aLengthMenu[0][0]:g.aLengthMenu[0]);g=Xa(h.extend(!0,{},l),g);F(p.oFeatures,g,"bPaginate bLengthChange bFilter bSort bSortMulti bInfo bProcessing bAutoWidth bSortClasses bServerSide bDeferRender".split(" "));F(p,g,["asStripeClasses","ajax","fnServerData","fnFormatNumber","sServerMethod",
86
+ "aaSorting","aaSortingFixed","aLengthMenu","sPaginationType","sAjaxSource","sAjaxDataProp","iStateDuration","sDom","bSortCellsTop","iTabIndex","fnStateLoadCallback","fnStateSaveCallback","renderer","searchDelay","rowId",["iCookieDuration","iStateDuration"],["oSearch","oPreviousSearch"],["aoSearchCols","aoPreSearchCols"],["iDisplayLength","_iDisplayLength"]]);F(p.oScroll,g,[["sScrollX","sX"],["sScrollXInner","sXInner"],["sScrollY","sY"],["bScrollCollapse","bCollapse"]]);F(p.oLanguage,g,"fnInfoCallback");
87
+ z(p,"aoDrawCallback",g.fnDrawCallback,"user");z(p,"aoServerParams",g.fnServerParams,"user");z(p,"aoStateSaveParams",g.fnStateSaveParams,"user");z(p,"aoStateLoadParams",g.fnStateLoadParams,"user");z(p,"aoStateLoaded",g.fnStateLoaded,"user");z(p,"aoRowCallback",g.fnRowCallback,"user");z(p,"aoRowCreatedCallback",g.fnCreatedRow,"user");z(p,"aoHeaderCallback",g.fnHeaderCallback,"user");z(p,"aoFooterCallback",g.fnFooterCallback,"user");z(p,"aoInitComplete",g.fnInitComplete,"user");z(p,"aoPreDrawCallback",
88
+ g.fnPreDrawCallback,"user");p.rowIdFn=S(g.rowId);hb(p);var u=p.oClasses;h.extend(u,n.ext.classes,g.oClasses);q.addClass(u.sTable);p.iInitDisplayStart===k&&(p.iInitDisplayStart=g.iDisplayStart,p._iDisplayStart=g.iDisplayStart);null!==g.iDeferLoading&&(p.bDeferLoading=!0,e=h.isArray(g.iDeferLoading),p._iRecordsDisplay=e?g.iDeferLoading[0]:g.iDeferLoading,p._iRecordsTotal=e?g.iDeferLoading[1]:g.iDeferLoading);var v=p.oLanguage;h.extend(!0,v,g.oLanguage);v.sUrl&&(h.ajax({dataType:"json",url:v.sUrl,success:function(a){Ca(a);
89
+ J(l.oLanguage,a);h.extend(true,v,a);ha(p)},error:function(){ha(p)}}),m=!0);null===g.asStripeClasses&&(p.asStripeClasses=[u.sStripeOdd,u.sStripeEven]);var e=p.asStripeClasses,x=q.children("tbody").find("tr").eq(0);-1!==h.inArray(!0,h.map(e,function(a){return x.hasClass(a)}))&&(h("tbody tr",this).removeClass(e.join(" ")),p.asDestroyStripes=e.slice());e=[];t=this.getElementsByTagName("thead");0!==t.length&&(ea(p.aoHeader,t[0]),e=ra(p));if(null===g.aoColumns){t=[];j=0;for(i=e.length;j<i;j++)t.push(null)}else t=
90
+ g.aoColumns;j=0;for(i=t.length;j<i;j++)Ea(p,e?e[j]:null);jb(p,g.aoColumnDefs,t,function(a,b){ka(p,a,b)});if(x.length){var w=function(a,b){return a.getAttribute("data-"+b)!==null?b:null};h(x[0]).children("th, td").each(function(a,b){var c=p.aoColumns[a];if(c.mData===a){var d=w(b,"sort")||w(b,"order"),e=w(b,"filter")||w(b,"search");if(d!==null||e!==null){c.mData={_:a+".display",sort:d!==null?a+".@data-"+d:k,type:d!==null?a+".@data-"+d:k,filter:e!==null?a+".@data-"+e:k};ka(p,a)}}})}var U=p.oFeatures,
91
+ e=function(){if(g.aaSorting===k){var a=p.aaSorting;j=0;for(i=a.length;j<i;j++)a[j][1]=p.aoColumns[j].asSorting[0]}wa(p);U.bSort&&z(p,"aoDrawCallback",function(){if(p.bSorted){var a=X(p),b={};h.each(a,function(a,c){b[c.src]=c.dir});r(p,null,"order",[p,a,b]);Jb(p)}});z(p,"aoDrawCallback",function(){(p.bSorted||y(p)==="ssp"||U.bDeferRender)&&wa(p)},"sc");var a=q.children("caption").each(function(){this._captionSide=h(this).css("caption-side")}),b=q.children("thead");b.length===0&&(b=h("<thead/>").appendTo(q));
92
+ p.nTHead=b[0];b=q.children("tbody");b.length===0&&(b=h("<tbody/>").appendTo(q));p.nTBody=b[0];b=q.children("tfoot");if(b.length===0&&a.length>0&&(p.oScroll.sX!==""||p.oScroll.sY!==""))b=h("<tfoot/>").appendTo(q);if(b.length===0||b.children().length===0)q.addClass(u.sNoFooter);else if(b.length>0){p.nTFoot=b[0];ea(p.aoFooter,p.nTFoot)}if(g.aaData)for(j=0;j<g.aaData.length;j++)O(p,g.aaData[j]);else(p.bDeferLoading||y(p)=="dom")&&na(p,h(p.nTBody).children("tr"));p.aiDisplay=p.aiDisplayMaster.slice();
93
+ p.bInitialised=true;m===false&&ha(p)};g.bStateSave?(U.bStateSave=!0,z(p,"aoDrawCallback",xa,"state_save"),Kb(p,g,e)):e()}});b=null;return this},x,s,o,u,Za={},Nb=/[\r\n]/g,Aa=/<.*?>/g,Zb=/^\d{2,4}[\.\/\-]\d{1,2}[\.\/\-]\d{1,2}([T ]{1}\d{1,2}[:\.]\d{2}([\.:]\d{2})?)?$/,$b=RegExp("(\\/|\\.|\\*|\\+|\\?|\\||\\(|\\)|\\[|\\]|\\{|\\}|\\\\|\\$|\\^|\\-)","g"),Ya=/[',$£€¥%\u2009\u202F\u20BD\u20a9\u20BArfkɃΞ]/gi,M=function(a){return!a||!0===a||"-"===a?!0:!1},Ob=function(a){var b=parseInt(a,10);return!isNaN(b)&&
94
+ isFinite(a)?b:null},Pb=function(a,b){Za[b]||(Za[b]=RegExp(Qa(b),"g"));return"string"===typeof a&&"."!==b?a.replace(/\./g,"").replace(Za[b],"."):a},$a=function(a,b,c){var d="string"===typeof a;if(M(a))return!0;b&&d&&(a=Pb(a,b));c&&d&&(a=a.replace(Ya,""));return!isNaN(parseFloat(a))&&isFinite(a)},Qb=function(a,b,c){return M(a)?!0:!(M(a)||"string"===typeof a)?null:$a(a.replace(Aa,""),b,c)?!0:null},D=function(a,b,c){var d=[],e=0,f=a.length;if(c!==k)for(;e<f;e++)a[e]&&a[e][b]&&d.push(a[e][b][c]);else for(;e<
95
+ f;e++)a[e]&&d.push(a[e][b]);return d},ja=function(a,b,c,d){var e=[],f=0,g=b.length;if(d!==k)for(;f<g;f++)a[b[f]][c]&&e.push(a[b[f]][c][d]);else for(;f<g;f++)e.push(a[b[f]][c]);return e},Y=function(a,b){var c=[],d;b===k?(b=0,d=a):(d=b,b=a);for(var e=b;e<d;e++)c.push(e);return c},Rb=function(a){for(var b=[],c=0,d=a.length;c<d;c++)a[c]&&b.push(a[c]);return b},qa=function(a){var b;a:{if(!(2>a.length)){b=a.slice().sort();for(var c=b[0],d=1,e=b.length;d<e;d++){if(b[d]===c){b=!1;break a}c=b[d]}}b=!0}if(b)return a.slice();
96
+ b=[];var e=a.length,f,g=0,d=0;a:for(;d<e;d++){c=a[d];for(f=0;f<g;f++)if(b[f]===c)continue a;b.push(c);g++}return b};n.util={throttle:function(a,b){var c=b!==k?b:200,d,e;return function(){var b=this,g=+new Date,j=arguments;d&&g<d+c?(clearTimeout(e),e=setTimeout(function(){d=k;a.apply(b,j)},c)):(d=g,a.apply(b,j))}},escapeRegex:function(a){return a.replace($b,"\\$1")}};var A=function(a,b,c){a[b]!==k&&(a[c]=a[b])},ca=/\[.*?\]$/,W=/\(\)$/,Qa=n.util.escapeRegex,va=h("<div>")[0],Wb=va.textContent!==k,Yb=
97
+ /<.*?>/g,Oa=n.util.throttle,Sb=[],w=Array.prototype,ac=function(a){var b,c,d=n.settings,e=h.map(d,function(a){return a.nTable});if(a){if(a.nTable&&a.oApi)return[a];if(a.nodeName&&"table"===a.nodeName.toLowerCase())return b=h.inArray(a,e),-1!==b?[d[b]]:null;if(a&&"function"===typeof a.settings)return a.settings().toArray();"string"===typeof a?c=h(a):a instanceof h&&(c=a)}else return[];if(c)return c.map(function(){b=h.inArray(this,e);return-1!==b?d[b]:null}).toArray()};s=function(a,b){if(!(this instanceof
98
+ s))return new s(a,b);var c=[],d=function(a){(a=ac(a))&&(c=c.concat(a))};if(h.isArray(a))for(var e=0,f=a.length;e<f;e++)d(a[e]);else d(a);this.context=qa(c);b&&h.merge(this,b);this.selector={rows:null,cols:null,opts:null};s.extend(this,this,Sb)};n.Api=s;h.extend(s.prototype,{any:function(){return 0!==this.count()},concat:w.concat,context:[],count:function(){return this.flatten().length},each:function(a){for(var b=0,c=this.length;b<c;b++)a.call(this,this[b],b,this);return this},eq:function(a){var b=
99
+ this.context;return b.length>a?new s(b[a],this[a]):null},filter:function(a){var b=[];if(w.filter)b=w.filter.call(this,a,this);else for(var c=0,d=this.length;c<d;c++)a.call(this,this[c],c,this)&&b.push(this[c]);return new s(this.context,b)},flatten:function(){var a=[];return new s(this.context,a.concat.apply(a,this.toArray()))},join:w.join,indexOf:w.indexOf||function(a,b){for(var c=b||0,d=this.length;c<d;c++)if(this[c]===a)return c;return-1},iterator:function(a,b,c,d){var e=[],f,g,j,h,m,l=this.context,
100
+ n,o,u=this.selector;"string"===typeof a&&(d=c,c=b,b=a,a=!1);g=0;for(j=l.length;g<j;g++){var r=new s(l[g]);if("table"===b)f=c.call(r,l[g],g),f!==k&&e.push(f);else if("columns"===b||"rows"===b)f=c.call(r,l[g],this[g],g),f!==k&&e.push(f);else if("column"===b||"column-rows"===b||"row"===b||"cell"===b){o=this[g];"column-rows"===b&&(n=Ba(l[g],u.opts));h=0;for(m=o.length;h<m;h++)f=o[h],f="cell"===b?c.call(r,l[g],f.row,f.column,g,h):c.call(r,l[g],f,g,h,n),f!==k&&e.push(f)}}return e.length||d?(a=new s(l,a?
101
+ e.concat.apply([],e):e),b=a.selector,b.rows=u.rows,b.cols=u.cols,b.opts=u.opts,a):this},lastIndexOf:w.lastIndexOf||function(a,b){return this.indexOf.apply(this.toArray.reverse(),arguments)},length:0,map:function(a){var b=[];if(w.map)b=w.map.call(this,a,this);else for(var c=0,d=this.length;c<d;c++)b.push(a.call(this,this[c],c));return new s(this.context,b)},pluck:function(a){return this.map(function(b){return b[a]})},pop:w.pop,push:w.push,reduce:w.reduce||function(a,b){return ib(this,a,b,0,this.length,
102
+ 1)},reduceRight:w.reduceRight||function(a,b){return ib(this,a,b,this.length-1,-1,-1)},reverse:w.reverse,selector:null,shift:w.shift,slice:function(){return new s(this.context,this)},sort:w.sort,splice:w.splice,toArray:function(){return w.slice.call(this)},to$:function(){return h(this)},toJQuery:function(){return h(this)},unique:function(){return new s(this.context,qa(this))},unshift:w.unshift});s.extend=function(a,b,c){if(c.length&&b&&(b instanceof s||b.__dt_wrapper)){var d,e,f,g=function(a,b,c){return function(){var d=
103
+ b.apply(a,arguments);s.extend(d,d,c.methodExt);return d}};d=0;for(e=c.length;d<e;d++)f=c[d],b[f.name]="function"===typeof f.val?g(a,f.val,f):h.isPlainObject(f.val)?{}:f.val,b[f.name].__dt_wrapper=!0,s.extend(a,b[f.name],f.propExt)}};s.register=o=function(a,b){if(h.isArray(a))for(var c=0,d=a.length;c<d;c++)s.register(a[c],b);else for(var e=a.split("."),f=Sb,g,j,c=0,d=e.length;c<d;c++){g=(j=-1!==e[c].indexOf("()"))?e[c].replace("()",""):e[c];var i;a:{i=0;for(var m=f.length;i<m;i++)if(f[i].name===g){i=
104
+ f[i];break a}i=null}i||(i={name:g,val:{},methodExt:[],propExt:[]},f.push(i));c===d-1?i.val=b:f=j?i.methodExt:i.propExt}};s.registerPlural=u=function(a,b,c){s.register(a,c);s.register(b,function(){var a=c.apply(this,arguments);return a===this?this:a instanceof s?a.length?h.isArray(a[0])?new s(a.context,a[0]):a[0]:k:a})};o("tables()",function(a){var b;if(a){b=s;var c=this.context;if("number"===typeof a)a=[c[a]];else var d=h.map(c,function(a){return a.nTable}),a=h(d).filter(a).map(function(){var a=h.inArray(this,
105
+ d);return c[a]}).toArray();b=new b(a)}else b=this;return b});o("table()",function(a){var a=this.tables(a),b=a.context;return b.length?new s(b[0]):a});u("tables().nodes()","table().node()",function(){return this.iterator("table",function(a){return a.nTable},1)});u("tables().body()","table().body()",function(){return this.iterator("table",function(a){return a.nTBody},1)});u("tables().header()","table().header()",function(){return this.iterator("table",function(a){return a.nTHead},1)});u("tables().footer()",
106
+ "table().footer()",function(){return this.iterator("table",function(a){return a.nTFoot},1)});u("tables().containers()","table().container()",function(){return this.iterator("table",function(a){return a.nTableWrapper},1)});o("draw()",function(a){return this.iterator("table",function(b){"page"===a?P(b):("string"===typeof a&&(a="full-hold"===a?!1:!0),T(b,!1===a))})});o("page()",function(a){return a===k?this.page.info().page:this.iterator("table",function(b){Ta(b,a)})});o("page.info()",function(){if(0===
107
+ this.context.length)return k;var a=this.context[0],b=a._iDisplayStart,c=a.oFeatures.bPaginate?a._iDisplayLength:-1,d=a.fnRecordsDisplay(),e=-1===c;return{page:e?0:Math.floor(b/c),pages:e?1:Math.ceil(d/c),start:b,end:a.fnDisplayEnd(),length:c,recordsTotal:a.fnRecordsTotal(),recordsDisplay:d,serverSide:"ssp"===y(a)}});o("page.len()",function(a){return a===k?0!==this.context.length?this.context[0]._iDisplayLength:k:this.iterator("table",function(b){Ra(b,a)})});var Tb=function(a,b,c){if(c){var d=new s(a);
108
+ d.one("draw",function(){c(d.ajax.json())})}if("ssp"==y(a))T(a,b);else{C(a,!0);var e=a.jqXHR;e&&4!==e.readyState&&e.abort();sa(a,[],function(c){oa(a);for(var c=ta(a,c),d=0,e=c.length;d<e;d++)O(a,c[d]);T(a,b);C(a,!1)})}};o("ajax.json()",function(){var a=this.context;if(0<a.length)return a[0].json});o("ajax.params()",function(){var a=this.context;if(0<a.length)return a[0].oAjaxData});o("ajax.reload()",function(a,b){return this.iterator("table",function(c){Tb(c,!1===b,a)})});o("ajax.url()",function(a){var b=
109
+ this.context;if(a===k){if(0===b.length)return k;b=b[0];return b.ajax?h.isPlainObject(b.ajax)?b.ajax.url:b.ajax:b.sAjaxSource}return this.iterator("table",function(b){h.isPlainObject(b.ajax)?b.ajax.url=a:b.ajax=a})});o("ajax.url().load()",function(a,b){return this.iterator("table",function(c){Tb(c,!1===b,a)})});var ab=function(a,b,c,d,e){var f=[],g,j,i,m,l,n;i=typeof b;if(!b||"string"===i||"function"===i||b.length===k)b=[b];i=0;for(m=b.length;i<m;i++){j=b[i]&&b[i].split&&!b[i].match(/[\[\(:]/)?b[i].split(","):
110
+ [b[i]];l=0;for(n=j.length;l<n;l++)(g=c("string"===typeof j[l]?h.trim(j[l]):j[l]))&&g.length&&(f=f.concat(g))}a=x.selector[a];if(a.length){i=0;for(m=a.length;i<m;i++)f=a[i](d,e,f)}return qa(f)},bb=function(a){a||(a={});a.filter&&a.search===k&&(a.search=a.filter);return h.extend({search:"none",order:"current",page:"all"},a)},cb=function(a){for(var b=0,c=a.length;b<c;b++)if(0<a[b].length)return a[0]=a[b],a[0].length=1,a.length=1,a.context=[a.context[b]],a;a.length=0;return a},Ba=function(a,b){var c,
111
+ d,e,f=[],g=a.aiDisplay;e=a.aiDisplayMaster;var j=b.search;c=b.order;d=b.page;if("ssp"==y(a))return"removed"===j?[]:Y(0,e.length);if("current"==d){c=a._iDisplayStart;for(d=a.fnDisplayEnd();c<d;c++)f.push(g[c])}else if("current"==c||"applied"==c)if("none"==j)f=e.slice();else if("applied"==j)f=g.slice();else{if("removed"==j){var i={};c=0;for(d=g.length;c<d;c++)i[g[c]]=null;f=h.map(e,function(a){return!i.hasOwnProperty(a)?a:null})}}else if("index"==c||"original"==c){c=0;for(d=a.aoData.length;c<d;c++)"none"==
112
+ j?f.push(c):(e=h.inArray(c,g),(-1===e&&"removed"==j||0<=e&&"applied"==j)&&f.push(c))}return f};o("rows()",function(a,b){a===k?a="":h.isPlainObject(a)&&(b=a,a="");var b=bb(b),c=this.iterator("table",function(c){var e=b,f;return ab("row",a,function(a){var b=Ob(a),i=c.aoData;if(b!==null&&!e)return[b];f||(f=Ba(c,e));if(b!==null&&h.inArray(b,f)!==-1)return[b];if(a===null||a===k||a==="")return f;if(typeof a==="function")return h.map(f,function(b){var c=i[b];return a(b,c._aData,c.nTr)?b:null});if(a.nodeName){var b=
113
+ a._DT_RowIndex,m=a._DT_CellIndex;if(b!==k)return i[b]&&i[b].nTr===a?[b]:[];if(m)return i[m.row]&&i[m.row].nTr===a?[m.row]:[];b=h(a).closest("*[data-dt-row]");return b.length?[b.data("dt-row")]:[]}if(typeof a==="string"&&a.charAt(0)==="#"){b=c.aIds[a.replace(/^#/,"")];if(b!==k)return[b.idx]}b=Rb(ja(c.aoData,f,"nTr"));return h(b).filter(a).map(function(){return this._DT_RowIndex}).toArray()},c,e)},1);c.selector.rows=a;c.selector.opts=b;return c});o("rows().nodes()",function(){return this.iterator("row",
114
+ function(a,b){return a.aoData[b].nTr||k},1)});o("rows().data()",function(){return this.iterator(!0,"rows",function(a,b){return ja(a.aoData,b,"_aData")},1)});u("rows().cache()","row().cache()",function(a){return this.iterator("row",function(b,c){var d=b.aoData[c];return"search"===a?d._aFilterData:d._aSortData},1)});u("rows().invalidate()","row().invalidate()",function(a){return this.iterator("row",function(b,c){da(b,c,a)})});u("rows().indexes()","row().index()",function(){return this.iterator("row",
115
+ function(a,b){return b},1)});u("rows().ids()","row().id()",function(a){for(var b=[],c=this.context,d=0,e=c.length;d<e;d++)for(var f=0,g=this[d].length;f<g;f++){var h=c[d].rowIdFn(c[d].aoData[this[d][f]]._aData);b.push((!0===a?"#":"")+h)}return new s(c,b)});u("rows().remove()","row().remove()",function(){var a=this;this.iterator("row",function(b,c,d){var e=b.aoData,f=e[c],g,h,i,m,l;e.splice(c,1);g=0;for(h=e.length;g<h;g++)if(i=e[g],l=i.anCells,null!==i.nTr&&(i.nTr._DT_RowIndex=g),null!==l){i=0;for(m=
116
+ l.length;i<m;i++)l[i]._DT_CellIndex.row=g}pa(b.aiDisplayMaster,c);pa(b.aiDisplay,c);pa(a[d],c,!1);0<b._iRecordsDisplay&&b._iRecordsDisplay--;Sa(b);c=b.rowIdFn(f._aData);c!==k&&delete b.aIds[c]});this.iterator("table",function(a){for(var c=0,d=a.aoData.length;c<d;c++)a.aoData[c].idx=c});return this});o("rows.add()",function(a){var b=this.iterator("table",function(b){var c,f,g,h=[];f=0;for(g=a.length;f<g;f++)c=a[f],c.nodeName&&"TR"===c.nodeName.toUpperCase()?h.push(na(b,c)[0]):h.push(O(b,c));return h},
117
+ 1),c=this.rows(-1);c.pop();h.merge(c,b);return c});o("row()",function(a,b){return cb(this.rows(a,b))});o("row().data()",function(a){var b=this.context;if(a===k)return b.length&&this.length?b[0].aoData[this[0]]._aData:k;var c=b[0].aoData[this[0]];c._aData=a;h.isArray(a)&&c.nTr.id&&N(b[0].rowId)(a,c.nTr.id);da(b[0],this[0],"data");return this});o("row().node()",function(){var a=this.context;return a.length&&this.length?a[0].aoData[this[0]].nTr||null:null});o("row.add()",function(a){a instanceof h&&
118
+ a.length&&(a=a[0]);var b=this.iterator("table",function(b){return a.nodeName&&"TR"===a.nodeName.toUpperCase()?na(b,a)[0]:O(b,a)});return this.row(b[0])});var db=function(a,b){var c=a.context;if(c.length&&(c=c[0].aoData[b!==k?b:a[0]])&&c._details)c._details.remove(),c._detailsShow=k,c._details=k},Ub=function(a,b){var c=a.context;if(c.length&&a.length){var d=c[0].aoData[a[0]];if(d._details){(d._detailsShow=b)?d._details.insertAfter(d.nTr):d._details.detach();var e=c[0],f=new s(e),g=e.aoData;f.off("draw.dt.DT_details column-visibility.dt.DT_details destroy.dt.DT_details");
119
+ 0<D(g,"_details").length&&(f.on("draw.dt.DT_details",function(a,b){e===b&&f.rows({page:"current"}).eq(0).each(function(a){a=g[a];a._detailsShow&&a._details.insertAfter(a.nTr)})}),f.on("column-visibility.dt.DT_details",function(a,b){if(e===b)for(var c,d=V(b),f=0,h=g.length;f<h;f++)c=g[f],c._details&&c._details.children("td[colspan]").attr("colspan",d)}),f.on("destroy.dt.DT_details",function(a,b){if(e===b)for(var c=0,d=g.length;c<d;c++)g[c]._details&&db(f,c)}))}}};o("row().child()",function(a,b){var c=
120
+ this.context;if(a===k)return c.length&&this.length?c[0].aoData[this[0]]._details:k;if(!0===a)this.child.show();else if(!1===a)db(this);else if(c.length&&this.length){var d=c[0],c=c[0].aoData[this[0]],e=[],f=function(a,b){if(h.isArray(a)||a instanceof h)for(var c=0,k=a.length;c<k;c++)f(a[c],b);else a.nodeName&&"tr"===a.nodeName.toLowerCase()?e.push(a):(c=h("<tr><td/></tr>").addClass(b),h("td",c).addClass(b).html(a)[0].colSpan=V(d),e.push(c[0]))};f(a,b);c._details&&c._details.detach();c._details=h(e);
121
+ c._detailsShow&&c._details.insertAfter(c.nTr)}return this});o(["row().child.show()","row().child().show()"],function(){Ub(this,!0);return this});o(["row().child.hide()","row().child().hide()"],function(){Ub(this,!1);return this});o(["row().child.remove()","row().child().remove()"],function(){db(this);return this});o("row().child.isShown()",function(){var a=this.context;return a.length&&this.length?a[0].aoData[this[0]]._detailsShow||!1:!1});var bc=/^([^:]+):(name|visIdx|visible)$/,Vb=function(a,b,
122
+ c,d,e){for(var c=[],d=0,f=e.length;d<f;d++)c.push(B(a,e[d],b));return c};o("columns()",function(a,b){a===k?a="":h.isPlainObject(a)&&(b=a,a="");var b=bb(b),c=this.iterator("table",function(c){var e=a,f=b,g=c.aoColumns,j=D(g,"sName"),i=D(g,"nTh");return ab("column",e,function(a){var b=Ob(a);if(a==="")return Y(g.length);if(b!==null)return[b>=0?b:g.length+b];if(typeof a==="function"){var e=Ba(c,f);return h.map(g,function(b,f){return a(f,Vb(c,f,0,0,e),i[f])?f:null})}var k=typeof a==="string"?a.match(bc):
123
+ "";if(k)switch(k[2]){case "visIdx":case "visible":b=parseInt(k[1],10);if(b<0){var n=h.map(g,function(a,b){return a.bVisible?b:null});return[n[n.length+b]]}return[aa(c,b)];case "name":return h.map(j,function(a,b){return a===k[1]?b:null});default:return[]}if(a.nodeName&&a._DT_CellIndex)return[a._DT_CellIndex.column];b=h(i).filter(a).map(function(){return h.inArray(this,i)}).toArray();if(b.length||!a.nodeName)return b;b=h(a).closest("*[data-dt-column]");return b.length?[b.data("dt-column")]:[]},c,f)},
124
+ 1);c.selector.cols=a;c.selector.opts=b;return c});u("columns().header()","column().header()",function(){return this.iterator("column",function(a,b){return a.aoColumns[b].nTh},1)});u("columns().footer()","column().footer()",function(){return this.iterator("column",function(a,b){return a.aoColumns[b].nTf},1)});u("columns().data()","column().data()",function(){return this.iterator("column-rows",Vb,1)});u("columns().dataSrc()","column().dataSrc()",function(){return this.iterator("column",function(a,b){return a.aoColumns[b].mData},
125
+ 1)});u("columns().cache()","column().cache()",function(a){return this.iterator("column-rows",function(b,c,d,e,f){return ja(b.aoData,f,"search"===a?"_aFilterData":"_aSortData",c)},1)});u("columns().nodes()","column().nodes()",function(){return this.iterator("column-rows",function(a,b,c,d,e){return ja(a.aoData,e,"anCells",b)},1)});u("columns().visible()","column().visible()",function(a,b){var c=this.iterator("column",function(b,c){if(a===k)return b.aoColumns[c].bVisible;var f=b.aoColumns,g=f[c],j=b.aoData,
126
+ i,m,l;if(a!==k&&g.bVisible!==a){if(a){var n=h.inArray(!0,D(f,"bVisible"),c+1);i=0;for(m=j.length;i<m;i++)l=j[i].nTr,f=j[i].anCells,l&&l.insertBefore(f[c],f[n]||null)}else h(D(b.aoData,"anCells",c)).detach();g.bVisible=a;fa(b,b.aoHeader);fa(b,b.aoFooter);b.aiDisplay.length||h(b.nTBody).find("td[colspan]").attr("colspan",V(b));xa(b)}});a!==k&&(this.iterator("column",function(c,e){r(c,null,"column-visibility",[c,e,a,b])}),(b===k||b)&&this.columns.adjust());return c});u("columns().indexes()","column().index()",
127
+ function(a){return this.iterator("column",function(b,c){return"visible"===a?ba(b,c):c},1)});o("columns.adjust()",function(){return this.iterator("table",function(a){$(a)},1)});o("column.index()",function(a,b){if(0!==this.context.length){var c=this.context[0];if("fromVisible"===a||"toData"===a)return aa(c,b);if("fromData"===a||"toVisible"===a)return ba(c,b)}});o("column()",function(a,b){return cb(this.columns(a,b))});o("cells()",function(a,b,c){h.isPlainObject(a)&&(a.row===k?(c=a,a=null):(c=b,b=null));
128
+ h.isPlainObject(b)&&(c=b,b=null);if(null===b||b===k)return this.iterator("table",function(b){var d=a,e=bb(c),f=b.aoData,g=Ba(b,e),j=Rb(ja(f,g,"anCells")),i=h([].concat.apply([],j)),l,m=b.aoColumns.length,n,o,u,s,r,v;return ab("cell",d,function(a){var c=typeof a==="function";if(a===null||a===k||c){n=[];o=0;for(u=g.length;o<u;o++){l=g[o];for(s=0;s<m;s++){r={row:l,column:s};if(c){v=f[l];a(r,B(b,l,s),v.anCells?v.anCells[s]:null)&&n.push(r)}else n.push(r)}}return n}if(h.isPlainObject(a))return a.column!==
129
+ k&&a.row!==k&&h.inArray(a.row,g)!==-1?[a]:[];c=i.filter(a).map(function(a,b){return{row:b._DT_CellIndex.row,column:b._DT_CellIndex.column}}).toArray();if(c.length||!a.nodeName)return c;v=h(a).closest("*[data-dt-row]");return v.length?[{row:v.data("dt-row"),column:v.data("dt-column")}]:[]},b,e)});var d=this.columns(b),e=this.rows(a),f,g,j,i,m;this.iterator("table",function(a,b){f=[];g=0;for(j=e[b].length;g<j;g++){i=0;for(m=d[b].length;i<m;i++)f.push({row:e[b][g],column:d[b][i]})}},1);var l=this.cells(f,
130
+ c);h.extend(l.selector,{cols:b,rows:a,opts:c});return l});u("cells().nodes()","cell().node()",function(){return this.iterator("cell",function(a,b,c){return(a=a.aoData[b])&&a.anCells?a.anCells[c]:k},1)});o("cells().data()",function(){return this.iterator("cell",function(a,b,c){return B(a,b,c)},1)});u("cells().cache()","cell().cache()",function(a){a="search"===a?"_aFilterData":"_aSortData";return this.iterator("cell",function(b,c,d){return b.aoData[c][a][d]},1)});u("cells().render()","cell().render()",
131
+ function(a){return this.iterator("cell",function(b,c,d){return B(b,c,d,a)},1)});u("cells().indexes()","cell().index()",function(){return this.iterator("cell",function(a,b,c){return{row:b,column:c,columnVisible:ba(a,c)}},1)});u("cells().invalidate()","cell().invalidate()",function(a){return this.iterator("cell",function(b,c,d){da(b,c,a,d)})});o("cell()",function(a,b,c){return cb(this.cells(a,b,c))});o("cell().data()",function(a){var b=this.context,c=this[0];if(a===k)return b.length&&c.length?B(b[0],
132
+ c[0].row,c[0].column):k;kb(b[0],c[0].row,c[0].column,a);da(b[0],c[0].row,"data",c[0].column);return this});o("order()",function(a,b){var c=this.context;if(a===k)return 0!==c.length?c[0].aaSorting:k;"number"===typeof a?a=[[a,b]]:a.length&&!h.isArray(a[0])&&(a=Array.prototype.slice.call(arguments));return this.iterator("table",function(b){b.aaSorting=a.slice()})});o("order.listener()",function(a,b,c){return this.iterator("table",function(d){Ma(d,a,b,c)})});o("order.fixed()",function(a){if(!a){var b=
133
+ this.context,b=b.length?b[0].aaSortingFixed:k;return h.isArray(b)?{pre:b}:b}return this.iterator("table",function(b){b.aaSortingFixed=h.extend(!0,{},a)})});o(["columns().order()","column().order()"],function(a){var b=this;return this.iterator("table",function(c,d){var e=[];h.each(b[d],function(b,c){e.push([c,a])});c.aaSorting=e})});o("search()",function(a,b,c,d){var e=this.context;return a===k?0!==e.length?e[0].oPreviousSearch.sSearch:k:this.iterator("table",function(e){e.oFeatures.bFilter&&ga(e,
134
+ h.extend({},e.oPreviousSearch,{sSearch:a+"",bRegex:null===b?!1:b,bSmart:null===c?!0:c,bCaseInsensitive:null===d?!0:d}),1)})});u("columns().search()","column().search()",function(a,b,c,d){return this.iterator("column",function(e,f){var g=e.aoPreSearchCols;if(a===k)return g[f].sSearch;e.oFeatures.bFilter&&(h.extend(g[f],{sSearch:a+"",bRegex:null===b?!1:b,bSmart:null===c?!0:c,bCaseInsensitive:null===d?!0:d}),ga(e,e.oPreviousSearch,1))})});o("state()",function(){return this.context.length?this.context[0].oSavedState:
135
+ null});o("state.clear()",function(){return this.iterator("table",function(a){a.fnStateSaveCallback.call(a.oInstance,a,{})})});o("state.loaded()",function(){return this.context.length?this.context[0].oLoadedState:null});o("state.save()",function(){return this.iterator("table",function(a){xa(a)})});n.versionCheck=n.fnVersionCheck=function(a){for(var b=n.version.split("."),a=a.split("."),c,d,e=0,f=a.length;e<f;e++)if(c=parseInt(b[e],10)||0,d=parseInt(a[e],10)||0,c!==d)return c>d;return!0};n.isDataTable=
136
+ n.fnIsDataTable=function(a){var b=h(a).get(0),c=!1;if(a instanceof n.Api)return!0;h.each(n.settings,function(a,e){var f=e.nScrollHead?h("table",e.nScrollHead)[0]:null,g=e.nScrollFoot?h("table",e.nScrollFoot)[0]:null;if(e.nTable===b||f===b||g===b)c=!0});return c};n.tables=n.fnTables=function(a){var b=!1;h.isPlainObject(a)&&(b=a.api,a=a.visible);var c=h.map(n.settings,function(b){if(!a||a&&h(b.nTable).is(":visible"))return b.nTable});return b?new s(c):c};n.camelToHungarian=J;o("$()",function(a,b){var c=
137
+ this.rows(b).nodes(),c=h(c);return h([].concat(c.filter(a).toArray(),c.find(a).toArray()))});h.each(["on","one","off"],function(a,b){o(b+"()",function(){var a=Array.prototype.slice.call(arguments);a[0]=h.map(a[0].split(/\s/),function(a){return!a.match(/\.dt\b/)?a+".dt":a}).join(" ");var d=h(this.tables().nodes());d[b].apply(d,a);return this})});o("clear()",function(){return this.iterator("table",function(a){oa(a)})});o("settings()",function(){return new s(this.context,this.context)});o("init()",function(){var a=
138
+ this.context;return a.length?a[0].oInit:null});o("data()",function(){return this.iterator("table",function(a){return D(a.aoData,"_aData")}).flatten()});o("destroy()",function(a){a=a||!1;return this.iterator("table",function(b){var c=b.nTableWrapper.parentNode,d=b.oClasses,e=b.nTable,f=b.nTBody,g=b.nTHead,j=b.nTFoot,i=h(e),f=h(f),k=h(b.nTableWrapper),l=h.map(b.aoData,function(a){return a.nTr}),o;b.bDestroying=!0;r(b,"aoDestroyCallback","destroy",[b]);a||(new s(b)).columns().visible(!0);k.off(".DT").find(":not(tbody *)").off(".DT");
139
+ h(E).off(".DT-"+b.sInstance);e!=g.parentNode&&(i.children("thead").detach(),i.append(g));j&&e!=j.parentNode&&(i.children("tfoot").detach(),i.append(j));b.aaSorting=[];b.aaSortingFixed=[];wa(b);h(l).removeClass(b.asStripeClasses.join(" "));h("th, td",g).removeClass(d.sSortable+" "+d.sSortableAsc+" "+d.sSortableDesc+" "+d.sSortableNone);f.children().detach();f.append(l);g=a?"remove":"detach";i[g]();k[g]();!a&&c&&(c.insertBefore(e,b.nTableReinsertBefore),i.css("width",b.sDestroyWidth).removeClass(d.sTable),
140
+ (o=b.asDestroyStripes.length)&&f.children().each(function(a){h(this).addClass(b.asDestroyStripes[a%o])}));c=h.inArray(b,n.settings);-1!==c&&n.settings.splice(c,1)})});h.each(["column","row","cell"],function(a,b){o(b+"s().every()",function(a){var d=this.selector.opts,e=this;return this.iterator(b,function(f,g,h,i,m){a.call(e[b](g,"cell"===b?h:d,"cell"===b?d:k),g,h,i,m)})})});o("i18n()",function(a,b,c){var d=this.context[0],a=S(a)(d.oLanguage);a===k&&(a=b);c!==k&&h.isPlainObject(a)&&(a=a[c]!==k?a[c]:
141
+ a._);return a.replace("%d",c)});n.version="1.10.19";n.settings=[];n.models={};n.models.oSearch={bCaseInsensitive:!0,sSearch:"",bRegex:!1,bSmart:!0};n.models.oRow={nTr:null,anCells:null,_aData:[],_aSortData:null,_aFilterData:null,_sFilterRow:null,_sRowStripe:"",src:null,idx:-1};n.models.oColumn={idx:null,aDataSort:null,asSorting:null,bSearchable:null,bSortable:null,bVisible:null,_sManualType:null,_bAttrSrc:!1,fnCreatedCell:null,fnGetData:null,fnSetData:null,mData:null,mRender:null,nTh:null,nTf:null,
142
+ sClass:null,sContentPadding:null,sDefaultContent:null,sName:null,sSortDataType:"std",sSortingClass:null,sSortingClassJUI:null,sTitle:null,sType:null,sWidth:null,sWidthOrig:null};n.defaults={aaData:null,aaSorting:[[0,"asc"]],aaSortingFixed:[],ajax:null,aLengthMenu:[10,25,50,100],aoColumns:null,aoColumnDefs:null,aoSearchCols:[],asStripeClasses:null,bAutoWidth:!0,bDeferRender:!1,bDestroy:!1,bFilter:!0,bInfo:!0,bLengthChange:!0,bPaginate:!0,bProcessing:!1,bRetrieve:!1,bScrollCollapse:!1,bServerSide:!1,
143
+ bSort:!0,bSortMulti:!0,bSortCellsTop:!1,bSortClasses:!0,bStateSave:!1,fnCreatedRow:null,fnDrawCallback:null,fnFooterCallback:null,fnFormatNumber:function(a){return a.toString().replace(/\B(?=(\d{3})+(?!\d))/g,this.oLanguage.sThousands)},fnHeaderCallback:null,fnInfoCallback:null,fnInitComplete:null,fnPreDrawCallback:null,fnRowCallback:null,fnServerData:null,fnServerParams:null,fnStateLoadCallback:function(a){try{return JSON.parse((-1===a.iStateDuration?sessionStorage:localStorage).getItem("DataTables_"+
144
+ a.sInstance+"_"+location.pathname))}catch(b){}},fnStateLoadParams:null,fnStateLoaded:null,fnStateSaveCallback:function(a,b){try{(-1===a.iStateDuration?sessionStorage:localStorage).setItem("DataTables_"+a.sInstance+"_"+location.pathname,JSON.stringify(b))}catch(c){}},fnStateSaveParams:null,iStateDuration:7200,iDeferLoading:null,iDisplayLength:10,iDisplayStart:0,iTabIndex:0,oClasses:{},oLanguage:{oAria:{sSortAscending:": activate to sort column ascending",sSortDescending:": activate to sort column descending"},
145
+ oPaginate:{sFirst:"First",sLast:"Last",sNext:"Next",sPrevious:"Previous"},sEmptyTable:"No data available in table",sInfo:"Showing _START_ to _END_ of _TOTAL_ entries",sInfoEmpty:"Showing 0 to 0 of 0 entries",sInfoFiltered:"(filtered from _MAX_ total entries)",sInfoPostFix:"",sDecimal:"",sThousands:",",sLengthMenu:"Show _MENU_ entries",sLoadingRecords:"Loading...",sProcessing:"Processing...",sSearch:"Search:",sSearchPlaceholder:"",sUrl:"",sZeroRecords:"No matching records found"},oSearch:h.extend({},
146
+ n.models.oSearch),sAjaxDataProp:"data",sAjaxSource:null,sDom:"lfrtip",searchDelay:null,sPaginationType:"simple_numbers",sScrollX:"",sScrollXInner:"",sScrollY:"",sServerMethod:"GET",renderer:null,rowId:"DT_RowId"};Z(n.defaults);n.defaults.column={aDataSort:null,iDataSort:-1,asSorting:["asc","desc"],bSearchable:!0,bSortable:!0,bVisible:!0,fnCreatedCell:null,mData:null,mRender:null,sCellType:"td",sClass:"",sContentPadding:"",sDefaultContent:null,sName:"",sSortDataType:"std",sTitle:null,sType:null,sWidth:null};
147
+ Z(n.defaults.column);n.models.oSettings={oFeatures:{bAutoWidth:null,bDeferRender:null,bFilter:null,bInfo:null,bLengthChange:null,bPaginate:null,bProcessing:null,bServerSide:null,bSort:null,bSortMulti:null,bSortClasses:null,bStateSave:null},oScroll:{bCollapse:null,iBarWidth:0,sX:null,sXInner:null,sY:null},oLanguage:{fnInfoCallback:null},oBrowser:{bScrollOversize:!1,bScrollbarLeft:!1,bBounding:!1,barWidth:0},ajax:null,aanFeatures:[],aoData:[],aiDisplay:[],aiDisplayMaster:[],aIds:{},aoColumns:[],aoHeader:[],
148
+ aoFooter:[],oPreviousSearch:{},aoPreSearchCols:[],aaSorting:null,aaSortingFixed:[],asStripeClasses:null,asDestroyStripes:[],sDestroyWidth:0,aoRowCallback:[],aoHeaderCallback:[],aoFooterCallback:[],aoDrawCallback:[],aoRowCreatedCallback:[],aoPreDrawCallback:[],aoInitComplete:[],aoStateSaveParams:[],aoStateLoadParams:[],aoStateLoaded:[],sTableId:"",nTable:null,nTHead:null,nTFoot:null,nTBody:null,nTableWrapper:null,bDeferLoading:!1,bInitialised:!1,aoOpenRows:[],sDom:null,searchDelay:null,sPaginationType:"two_button",
149
+ iStateDuration:0,aoStateSave:[],aoStateLoad:[],oSavedState:null,oLoadedState:null,sAjaxSource:null,sAjaxDataProp:null,bAjaxDataGet:!0,jqXHR:null,json:k,oAjaxData:k,fnServerData:null,aoServerParams:[],sServerMethod:null,fnFormatNumber:null,aLengthMenu:null,iDraw:0,bDrawing:!1,iDrawError:-1,_iDisplayLength:10,_iDisplayStart:0,_iRecordsTotal:0,_iRecordsDisplay:0,oClasses:{},bFiltered:!1,bSorted:!1,bSortCellsTop:null,oInit:null,aoDestroyCallback:[],fnRecordsTotal:function(){return"ssp"==y(this)?1*this._iRecordsTotal:
150
+ this.aiDisplayMaster.length},fnRecordsDisplay:function(){return"ssp"==y(this)?1*this._iRecordsDisplay:this.aiDisplay.length},fnDisplayEnd:function(){var a=this._iDisplayLength,b=this._iDisplayStart,c=b+a,d=this.aiDisplay.length,e=this.oFeatures,f=e.bPaginate;return e.bServerSide?!1===f||-1===a?b+d:Math.min(b+a,this._iRecordsDisplay):!f||c>d||-1===a?d:c},oInstance:null,sInstance:null,iTabIndex:0,nScrollHead:null,nScrollFoot:null,aLastSort:[],oPlugins:{},rowIdFn:null,rowId:null};n.ext=x={buttons:{},
151
+ classes:{},builder:"-source-",errMode:"alert",feature:[],search:[],selector:{cell:[],column:[],row:[]},internal:{},legacy:{ajax:null},pager:{},renderer:{pageButton:{},header:{}},order:{},type:{detect:[],search:{},order:{}},_unique:0,fnVersionCheck:n.fnVersionCheck,iApiIndex:0,oJUIClasses:{},sVersion:n.version};h.extend(x,{afnFiltering:x.search,aTypes:x.type.detect,ofnSearch:x.type.search,oSort:x.type.order,afnSortData:x.order,aoFeatures:x.feature,oApi:x.internal,oStdClasses:x.classes,oPagination:x.pager});
152
+ h.extend(n.ext.classes,{sTable:"dataTable",sNoFooter:"no-footer",sPageButton:"paginate_button",sPageButtonActive:"current",sPageButtonDisabled:"disabled",sStripeOdd:"odd",sStripeEven:"even",sRowEmpty:"dataTables_empty",sWrapper:"dataTables_wrapper",sFilter:"dataTables_filter",sInfo:"dataTables_info",sPaging:"dataTables_paginate paging_",sLength:"dataTables_length",sProcessing:"dataTables_processing",sSortAsc:"sorting_asc",sSortDesc:"sorting_desc",sSortable:"sorting",sSortableAsc:"sorting_asc_disabled",
153
+ sSortableDesc:"sorting_desc_disabled",sSortableNone:"sorting_disabled",sSortColumn:"sorting_",sFilterInput:"",sLengthSelect:"",sScrollWrapper:"dataTables_scroll",sScrollHead:"dataTables_scrollHead",sScrollHeadInner:"dataTables_scrollHeadInner",sScrollBody:"dataTables_scrollBody",sScrollFoot:"dataTables_scrollFoot",sScrollFootInner:"dataTables_scrollFootInner",sHeaderTH:"",sFooterTH:"",sSortJUIAsc:"",sSortJUIDesc:"",sSortJUI:"",sSortJUIAscAllowed:"",sSortJUIDescAllowed:"",sSortJUIWrapper:"",sSortIcon:"",
154
+ sJUIHeader:"",sJUIFooter:""});var Lb=n.ext.pager;h.extend(Lb,{simple:function(){return["previous","next"]},full:function(){return["first","previous","next","last"]},numbers:function(a,b){return[ia(a,b)]},simple_numbers:function(a,b){return["previous",ia(a,b),"next"]},full_numbers:function(a,b){return["first","previous",ia(a,b),"next","last"]},first_last_numbers:function(a,b){return["first",ia(a,b),"last"]},_numbers:ia,numbers_length:7});h.extend(!0,n.ext.renderer,{pageButton:{_:function(a,b,c,d,e,
155
+ f){var g=a.oClasses,j=a.oLanguage.oPaginate,i=a.oLanguage.oAria.paginate||{},m,l,n=0,o=function(b,d){var k,s,u,r,v=function(b){Ta(a,b.data.action,true)};k=0;for(s=d.length;k<s;k++){r=d[k];if(h.isArray(r)){u=h("<"+(r.DT_el||"div")+"/>").appendTo(b);o(u,r)}else{m=null;l="";switch(r){case "ellipsis":b.append('<span class="ellipsis">&#x2026;</span>');break;case "first":m=j.sFirst;l=r+(e>0?"":" "+g.sPageButtonDisabled);break;case "previous":m=j.sPrevious;l=r+(e>0?"":" "+g.sPageButtonDisabled);break;case "next":m=
156
+ j.sNext;l=r+(e<f-1?"":" "+g.sPageButtonDisabled);break;case "last":m=j.sLast;l=r+(e<f-1?"":" "+g.sPageButtonDisabled);break;default:m=r+1;l=e===r?g.sPageButtonActive:""}if(m!==null){u=h("<a>",{"class":g.sPageButton+" "+l,"aria-controls":a.sTableId,"aria-label":i[r],"data-dt-idx":n,tabindex:a.iTabIndex,id:c===0&&typeof r==="string"?a.sTableId+"_"+r:null}).html(m).appendTo(b);Wa(u,{action:r},v);n++}}}},s;try{s=h(b).find(H.activeElement).data("dt-idx")}catch(u){}o(h(b).empty(),d);s!==k&&h(b).find("[data-dt-idx="+
157
+ s+"]").focus()}}});h.extend(n.ext.type.detect,[function(a,b){var c=b.oLanguage.sDecimal;return $a(a,c)?"num"+c:null},function(a){if(a&&!(a instanceof Date)&&!Zb.test(a))return null;var b=Date.parse(a);return null!==b&&!isNaN(b)||M(a)?"date":null},function(a,b){var c=b.oLanguage.sDecimal;return $a(a,c,!0)?"num-fmt"+c:null},function(a,b){var c=b.oLanguage.sDecimal;return Qb(a,c)?"html-num"+c:null},function(a,b){var c=b.oLanguage.sDecimal;return Qb(a,c,!0)?"html-num-fmt"+c:null},function(a){return M(a)||
158
+ "string"===typeof a&&-1!==a.indexOf("<")?"html":null}]);h.extend(n.ext.type.search,{html:function(a){return M(a)?a:"string"===typeof a?a.replace(Nb," ").replace(Aa,""):""},string:function(a){return M(a)?a:"string"===typeof a?a.replace(Nb," "):a}});var za=function(a,b,c,d){if(0!==a&&(!a||"-"===a))return-Infinity;b&&(a=Pb(a,b));a.replace&&(c&&(a=a.replace(c,"")),d&&(a=a.replace(d,"")));return 1*a};h.extend(x.type.order,{"date-pre":function(a){a=Date.parse(a);return isNaN(a)?-Infinity:a},"html-pre":function(a){return M(a)?
159
+ "":a.replace?a.replace(/<.*?>/g,"").toLowerCase():a+""},"string-pre":function(a){return M(a)?"":"string"===typeof a?a.toLowerCase():!a.toString?"":a.toString()},"string-asc":function(a,b){return a<b?-1:a>b?1:0},"string-desc":function(a,b){return a<b?1:a>b?-1:0}});Da("");h.extend(!0,n.ext.renderer,{header:{_:function(a,b,c,d){h(a.nTable).on("order.dt.DT",function(e,f,g,h){if(a===f){e=c.idx;b.removeClass(c.sSortingClass+" "+d.sSortAsc+" "+d.sSortDesc).addClass(h[e]=="asc"?d.sSortAsc:h[e]=="desc"?d.sSortDesc:
160
+ c.sSortingClass)}})},jqueryui:function(a,b,c,d){h("<div/>").addClass(d.sSortJUIWrapper).append(b.contents()).append(h("<span/>").addClass(d.sSortIcon+" "+c.sSortingClassJUI)).appendTo(b);h(a.nTable).on("order.dt.DT",function(e,f,g,h){if(a===f){e=c.idx;b.removeClass(d.sSortAsc+" "+d.sSortDesc).addClass(h[e]=="asc"?d.sSortAsc:h[e]=="desc"?d.sSortDesc:c.sSortingClass);b.find("span."+d.sSortIcon).removeClass(d.sSortJUIAsc+" "+d.sSortJUIDesc+" "+d.sSortJUI+" "+d.sSortJUIAscAllowed+" "+d.sSortJUIDescAllowed).addClass(h[e]==
161
+ "asc"?d.sSortJUIAsc:h[e]=="desc"?d.sSortJUIDesc:c.sSortingClassJUI)}})}}});var eb=function(a){return"string"===typeof a?a.replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;"):a};n.render={number:function(a,b,c,d,e){return{display:function(f){if("number"!==typeof f&&"string"!==typeof f)return f;var g=0>f?"-":"",h=parseFloat(f);if(isNaN(h))return eb(f);h=h.toFixed(c);f=Math.abs(h);h=parseInt(f,10);f=c?b+(f-h).toFixed(c).substring(2):"";return g+(d||"")+h.toString().replace(/\B(?=(\d{3})+(?!\d))/g,
162
+ a)+f+(e||"")}}},text:function(){return{display:eb,filter:eb}}};h.extend(n.ext.internal,{_fnExternApiFunc:Mb,_fnBuildAjax:sa,_fnAjaxUpdate:mb,_fnAjaxParameters:vb,_fnAjaxUpdateDraw:wb,_fnAjaxDataSrc:ta,_fnAddColumn:Ea,_fnColumnOptions:ka,_fnAdjustColumnSizing:$,_fnVisibleToColumnIndex:aa,_fnColumnIndexToVisible:ba,_fnVisbleColumns:V,_fnGetColumns:ma,_fnColumnTypes:Ga,_fnApplyColumnDefs:jb,_fnHungarianMap:Z,_fnCamelToHungarian:J,_fnLanguageCompat:Ca,_fnBrowserDetect:hb,_fnAddData:O,_fnAddTr:na,_fnNodeToDataIndex:function(a,
163
+ b){return b._DT_RowIndex!==k?b._DT_RowIndex:null},_fnNodeToColumnIndex:function(a,b,c){return h.inArray(c,a.aoData[b].anCells)},_fnGetCellData:B,_fnSetCellData:kb,_fnSplitObjNotation:Ja,_fnGetObjectDataFn:S,_fnSetObjectDataFn:N,_fnGetDataMaster:Ka,_fnClearTable:oa,_fnDeleteIndex:pa,_fnInvalidate:da,_fnGetRowElements:Ia,_fnCreateTr:Ha,_fnBuildHead:lb,_fnDrawHead:fa,_fnDraw:P,_fnReDraw:T,_fnAddOptionsHtml:ob,_fnDetectHeader:ea,_fnGetUniqueThs:ra,_fnFeatureHtmlFilter:qb,_fnFilterComplete:ga,_fnFilterCustom:zb,
164
+ _fnFilterColumn:yb,_fnFilter:xb,_fnFilterCreateSearch:Pa,_fnEscapeRegex:Qa,_fnFilterData:Ab,_fnFeatureHtmlInfo:tb,_fnUpdateInfo:Db,_fnInfoMacros:Eb,_fnInitialise:ha,_fnInitComplete:ua,_fnLengthChange:Ra,_fnFeatureHtmlLength:pb,_fnFeatureHtmlPaginate:ub,_fnPageChange:Ta,_fnFeatureHtmlProcessing:rb,_fnProcessingDisplay:C,_fnFeatureHtmlTable:sb,_fnScrollDraw:la,_fnApplyToChildren:I,_fnCalculateColumnWidths:Fa,_fnThrottle:Oa,_fnConvertToWidth:Fb,_fnGetWidestNode:Gb,_fnGetMaxLenString:Hb,_fnStringToCss:v,
165
+ _fnSortFlatten:X,_fnSort:nb,_fnSortAria:Jb,_fnSortListener:Va,_fnSortAttachListener:Ma,_fnSortingClasses:wa,_fnSortData:Ib,_fnSaveState:xa,_fnLoadState:Kb,_fnSettingsFromNode:ya,_fnLog:K,_fnMap:F,_fnBindAction:Wa,_fnCallbackReg:z,_fnCallbackFire:r,_fnLengthOverflow:Sa,_fnRenderer:Na,_fnDataSource:y,_fnRowAttributes:La,_fnExtend:Xa,_fnCalculateEnd:function(){}});h.fn.dataTable=n;n.$=h;h.fn.dataTableSettings=n.settings;h.fn.dataTableExt=n.ext;h.fn.DataTable=function(a){return h(this).dataTable(a).api()};
166
+ h.each(n,function(a,b){h.fn.DataTable[a]=b});return h.fn.dataTable});
src/GridGallery/Galleries/assets/js/lib/jquery.prettyphoto.js CHANGED
@@ -349,6 +349,18 @@ Version: 3.1.6
349
  if(movie_height.indexOf('%') != -1) { movie_height = parseFloat(($(window).height() * parseFloat(movie_height) / 100) - 150); percentBased = true; }
350
  if(movie_width.indexOf('%') != -1) { movie_width = parseFloat(($(window).width() * parseFloat(movie_width) / 100) - 150); percentBased = true; }
351
 
 
 
 
 
 
 
 
 
 
 
 
 
352
  // Fade the holder
353
  $pp_pic_holder.fadeIn(function(){
354
  // Set the title
@@ -374,6 +386,7 @@ Version: 3.1.6
374
  imgPreloader.onload = function(){
375
  // Fit item to viewport
376
  pp_dimensions = _fitToViewportImage(imgPreloader.width,imgPreloader.height);
 
377
  _showContent();
378
  };
379
 
@@ -658,6 +671,7 @@ Version: 3.1.6
658
 
659
  $ppt.fadeTo(settings.animation_speed,1);
660
 
 
661
  // Resize the content holder
662
  $pp_pic_holder.find('.pp_content')
663
  .animate({
@@ -666,7 +680,7 @@ Version: 3.1.6
666
  }
667
  , settings.animation_speed
668
  , function(){
669
- // Resize picture the holder
670
  $pp_pic_holder.animate({
671
  'top': projectedTop,
672
  'left': ((windowWidth/2) - (pp_dimensions['containerWidth']/2) < 0) ? 0 : (windowWidth/2) - (pp_dimensions['containerWidth']/2),
@@ -675,6 +689,7 @@ Version: 3.1.6
675
  var $ppHoverContainer = $pp_pic_holder.find('.pp_hoverContainer')
676
  , $ppImageWrapper = $pp_pic_holder.find('#pp_full_res')
677
  , $ppPopupImage = $pp_pic_holder.find('#fullResImage');
 
678
  $ppHoverContainer.height(pp_dimensions['height']).width(pp_dimensions['width']);
679
  $ppPopupImage.height(pp_dimensions['height']).width(pp_dimensions['width']);
680
 
@@ -717,6 +732,14 @@ Version: 3.1.6
717
 
718
  _insert_gallery();
719
  pp_settings.ajaxcallback();
 
 
 
 
 
 
 
 
720
  };
721
 
722
  $selfPp.initRotate = (function() {
@@ -778,8 +801,20 @@ Version: 3.1.6
778
 
779
  var response = _fitToViewport(width,height);
780
 
781
- windowWidth = $(window).width();
782
- windowHeight = $(window).height();
 
 
 
 
 
 
 
 
 
 
 
 
783
 
784
  return response;
785
  }
@@ -824,12 +859,12 @@ Version: 3.1.6
824
 
825
  _fitToViewport(pp_containerWidth,pp_containerHeight)
826
  };
827
-
828
  _getDimensions(imageWidth,imageHeight);
829
  };
830
 
831
 
832
  return {
 
833
  width:Math.floor(imageWidth),
834
  height:Math.floor(imageHeight),
835
  containerHeight:Math.floor(pp_containerHeight),
@@ -928,6 +963,7 @@ Version: 3.1.6
928
  'top': projectedTop,
929
  'left': (windowWidth/2) + scroll_pos['scrollLeft'] - (contentwidth/2)
930
  });
 
931
  };
932
  };
933
 
349
  if(movie_height.indexOf('%') != -1) { movie_height = parseFloat(($(window).height() * parseFloat(movie_height) / 100) - 150); percentBased = true; }
350
  if(movie_width.indexOf('%') != -1) { movie_width = parseFloat(($(window).width() * parseFloat(movie_width) / 100) - 150); percentBased = true; }
351
 
352
+ if(pp_settings.popup_border_enable && pp_settings.popup_border_color
353
+ && pp_settings.popup_border_type && pp_settings.popup_border_width)
354
+ {
355
+ $pp_pic_holder.css({
356
+ "border-color": pp_settings.popup_border_color,
357
+ "border-width": pp_settings.popup_border_width +"px",
358
+ "border-style": pp_settings.popup_border_type,
359
+ //"box-sizing": 'content-box'
360
+ });
361
+ }
362
+
363
+
364
  // Fade the holder
365
  $pp_pic_holder.fadeIn(function(){
366
  // Set the title
386
  imgPreloader.onload = function(){
387
  // Fit item to viewport
388
  pp_dimensions = _fitToViewportImage(imgPreloader.width,imgPreloader.height);
389
+
390
  _showContent();
391
  };
392
 
671
 
672
  $ppt.fadeTo(settings.animation_speed,1);
673
 
674
+
675
  // Resize the content holder
676
  $pp_pic_holder.find('.pp_content')
677
  .animate({
680
  }
681
  , settings.animation_speed
682
  , function(){
683
+ // Resize picture the holder
684
  $pp_pic_holder.animate({
685
  'top': projectedTop,
686
  'left': ((windowWidth/2) - (pp_dimensions['containerWidth']/2) < 0) ? 0 : (windowWidth/2) - (pp_dimensions['containerWidth']/2),
689
  var $ppHoverContainer = $pp_pic_holder.find('.pp_hoverContainer')
690
  , $ppImageWrapper = $pp_pic_holder.find('#pp_full_res')
691
  , $ppPopupImage = $pp_pic_holder.find('#fullResImage');
692
+
693
  $ppHoverContainer.height(pp_dimensions['height']).width(pp_dimensions['width']);
694
  $ppPopupImage.height(pp_dimensions['height']).width(pp_dimensions['width']);
695
 
732
 
733
  _insert_gallery();
734
  pp_settings.ajaxcallback();
735
+ //centered popup after init with real width params
736
+ setTimeout(function () {
737
+ $pp_pic_holder.animate({
738
+ 'left': ((windowWidth/2) - (pp_dimensions['containerWidth']/2) < 0) ? 0 : (windowWidth/2) - ($pp_pic_holder.outerWidth()/2),
739
+ width:pp_dimensions['containerWidth']
740
+ });
741
+ }, 600);
742
+
743
  };
744
 
745
  $selfPp.initRotate = (function() {
801
 
802
  var response = _fitToViewport(width,height);
803
 
804
+ winWidth = $(window).width();
805
+ winHeight = $(window).height();
806
+
807
+ if(response.containerWidth > winWidth || response.containerHeight > winHeight)
808
+ {
809
+ if(response.containerWidth > winWidth) {
810
+ windowWidth -= (response.containerWidth - winWidth);
811
+ } else if(response.containerHeight > winHeight) {
812
+ windowHeight -= (response.containerHeight - winHeight);
813
+ }
814
+ response = _fitToViewport(response.width, response.height);
815
+ }
816
+ windowWidth = winWidth;
817
+ windowHeight = winHeight;
818
 
819
  return response;
820
  }
859
 
860
  _fitToViewport(pp_containerWidth,pp_containerHeight)
861
  };
 
862
  _getDimensions(imageWidth,imageHeight);
863
  };
864
 
865
 
866
  return {
867
+ // - 20px necessary for centering popup img
868
  width:Math.floor(imageWidth),
869
  height:Math.floor(imageHeight),
870
  containerHeight:Math.floor(pp_containerHeight),
963
  'top': projectedTop,
964
  'left': (windowWidth/2) + scroll_pos['scrollLeft'] - (contentwidth/2)
965
  });
966
+
967
  };
968
  };
969
 
src/GridGallery/Galleries/assets/js/settings.js CHANGED
@@ -220,7 +220,8 @@ sggDataSelectorsCache.prototype.getFromArray = (function(key) {
220
  $dialog.dialog('close');
221
  $('#iconsEffectNameText').text(effectName);
222
  $previewIcons.removeClass(prevEffectName).removeClass(prevBaseEffectName);
223
- $('#iconsEffectName').val(effectName);
 
224
  $previewIcons.addClass(effectName).addClass(baseEffectName);
225
  });
226
 
@@ -680,10 +681,9 @@ sggDataSelectorsCache.prototype.getFromArray = (function(key) {
680
  $('#preview [data-grid-gallery-type]')
681
  .data('grid-gallery-type', $this.data('grid-gallery-type'));
682
 
 
683
  $('#preview.gallery-preview').trigger('preview.refresh');
684
 
685
- $effect.val($this.data('grid-gallery-type'));
686
-
687
  if ($this.data('grid-gallery-type') == 'polaroid') {
688
  $('.polaroid-effect-class:enabled').val('true').trigger('change');
689
  }
@@ -2500,94 +2500,6 @@ sggDataSelectorsCache.prototype.getFromArray = (function(key) {
2500
  $('#showFewIconsSel').trigger('change');
2501
  });
2502
 
2503
- ImagePreview.prototype.initIcons = (function () {
2504
- var fields = {
2505
- iconsColor: 'icons[color]',
2506
- hoverIconsColor: 'icons[hover_color]',
2507
- bgColor: 'icons[background]',
2508
- hoverBgColor: 'icons[background_hover]',
2509
- iconsSize : 'icons[size]'
2510
- };
2511
-
2512
- if($.parseJSON($('#showIcons').val())) {
2513
- $('#preview figure.grid-gallery-caption').attr('data-grid-gallery-type', 'icons');
2514
- $('#preview figcaption').show();
2515
- }
2516
- $('#showIcons').on('change', $.proxy(function() {
2517
- if($.parseJSON($('#showIcons').val())){
2518
- this.setDataset('figure', 'data-grid-gallery-type', 'icons');
2519
- $('#preview figcaption').show();
2520
- } else {
2521
- $('#preview figcaption').hide();
2522
- }
2523
- }, this));
2524
-
2525
- $(getSelector(fields.iconsColor)).bind('change paste keyup', $.proxy(function (e) {
2526
- this.setProp('a.hi-icon', { color: $(e.currentTarget).val() });
2527
- }, this))
2528
- .trigger('change')
2529
- .bind('change', $.proxy(function () {
2530
- this.setProp('figcaption', { opacity: 1 });
2531
- }, this))
2532
- .on('focusout', $.proxy(function () {
2533
- this.setProp('figcaption', { opacity: '' });
2534
- }, this));
2535
-
2536
- $(getSelector(fields.hoverIconsColor)).bind('change paste keyup', $.proxy(function (e) {
2537
- $('a.hi-icon').on('mouseover', $.proxy(function() {
2538
- this.setProp('a.hi-icon', { color: $(e.currentTarget).val() });
2539
- }, this))
2540
- $('a.hi-icon').on('mouseleave', $.proxy(function() {
2541
- this.setProp('a.hi-icon', { color: $(getSelector(fields.iconsColor)).val() });
2542
- }, this))
2543
- }, this))
2544
- .trigger('change')
2545
- .bind('change', $.proxy(function () {
2546
- this.setProp('figcaption', { opacity: 1 });
2547
- }, this))
2548
- .on('focusout', $.proxy(function () {
2549
- this.setProp('figcaption', { opacity: '' });
2550
- }, this));
2551
-
2552
- $(getSelector(fields.bgColor)).bind('change paste keyup', $.proxy(function (e) {
2553
- this.setProp('figcaption', { backgroundColor: $(e.currentTarget).val() });
2554
- }, this))
2555
- .trigger('change')
2556
- .bind('change', $.proxy(function () {
2557
- this.setProp('figcaption', { opacity: 1 });
2558
- }, this))
2559
- .on('focusout', $.proxy(function () {
2560
- this.setProp('figcaption', { opacity: '' });
2561
- }, this));
2562
-
2563
- $(getSelector(fields.hoverBgColor)).bind('change paste keyup', $.proxy(function (e) {
2564
- $('a.hi-icon').on('mouseover', $.proxy(function() {
2565
- this.setProp('figcaption', { backgroundColor: $(e.currentTarget).val() });
2566
- }, this))
2567
- $('a.hi-icon').on('mouseleave', $.proxy(function() {
2568
- this.setProp('figcaption', { backgroundColor: $(getSelector(fields.bgColor)).val() });
2569
- }, this))
2570
- }, this))
2571
- .trigger('change')
2572
- .bind('change', $.proxy(function () {
2573
- this.setProp('figcaption', { opacity: 1 });
2574
- }, this))
2575
- .on('focusout', $.proxy(function () {
2576
- this.setProp('figcaption', { opacity: '' });
2577
- }, this));
2578
-
2579
- $(getSelector(fields.iconsSize)).bind('change paste keyup', $.proxy(function (e) {
2580
- this.setProp('a.hi-icon', { width: $(e.currentTarget).val()*9, height: $(e.currentTarget).val()*9 });
2581
- }, this))
2582
- .trigger('change')
2583
- .bind('change', $.proxy(function () {
2584
- this.setProp('figcaption', { opacity: 1 });
2585
- }, this))
2586
- .on('focusout', $.proxy(function () {
2587
- this.setProp('figcaption', { opacity: '' });
2588
- }, this));
2589
- });
2590
-
2591
  ImagePreview.prototype.initShadow = (function () {
2592
  var _this = this;
2593
 
@@ -2846,25 +2758,325 @@ sggDataSelectorsCache.prototype.getFromArray = (function(key) {
2846
  selfIp.previewCaptionHide();
2847
  }
2848
  }
2849
- });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2850
 
2851
  this.previewSettingsKeys = {};
2852
  this.objectsData = new sggDataSelectorsCache();
2853
  this.objectsData.init({
2854
  'keys': this.previewSettingsKeys,
2855
  });
2856
- });
2857
 
2858
- ImagePreview.prototype.init = (function () {
2859
- //this.$window.draggable();
2860
- this.initBorder();
2861
- this.initShadow();
2862
- this.initMouseShadow();
2863
- this.initOverlayShadow();
2864
- //this.initIcons();
2865
- this.initSharedPropsForIcons();
2866
- this.initCaption();
2867
- this.initCaptionEffects();
2868
  });
2869
 
2870
  ImagePreview.prototype.captionCalculations = (function() {
@@ -2937,7 +3149,7 @@ sggDataSelectorsCache.prototype.getFromArray = (function(key) {
2937
  } else {
2938
  // get preview figure params
2939
  var figureWithStyle = $("#preview figure.grid-gallery-caption")
2940
- , imageStyleObj = self.getCssFromString(figureWithStyle.find('img').attr('style'));
2941
  // remove image size properties
2942
  if(imageStyleObj['height']) {
2943
  delete imageStyleObj['height'];
@@ -2989,25 +3201,34 @@ sggDataSelectorsCache.prototype.getFromArray = (function(key) {
2989
  if ($(this).data('grid-gallery-type') == 'polaroid' &&
2990
  $(this).closest('#preview').length > 0) {
2991
 
2992
- var frameWidth = $('.caption-type[data-gg-cb-type="captions-icons"] [name="thumbnail[overlay][polaroidFrameWidth]"]').val(),
2993
- $img = $(this).find('img'),
2994
- width = $(this).width() || $img.width(),
2995
- scaleRatio = $img.width() / $img.height(),
2996
- imageWidth = $img.width() - frameWidth * 2,
2997
- imageHeight = imageWidth / scaleRatio,
2998
- $figcaption = $(this).find('figcaption');
2999
-
3000
- if($img.first().attr('data-width')){
3001
- imageWidth = $img.first().attr('data-width');
3002
- }
3003
-
3004
- if($img.first().attr('data-height')){
3005
- imageHeight = $img.first().attr('data-height');
 
 
 
 
 
 
 
 
 
 
 
 
3006
  }
3007
 
3008
- $img.first().attr('data-width', imageWidth);
3009
- $img.first().attr('data-height', imageHeight);
3010
-
3011
  $img[0].style.setProperty('width', imageWidth + 'px', 'important');
3012
  $img[0].style.setProperty('height', imageHeight + 'px', 'important');
3013
  $img[0].style.setProperty('margin', '0 auto', 'important');
@@ -3137,6 +3358,9 @@ sggDataSelectorsCache.prototype.getFromArray = (function(key) {
3137
 
3138
  // Init Caption: run only on One time
3139
  $('[name="thumbnail[overlay][enabled]"]:checked').trigger('change');
 
 
 
3140
  });
3141
 
3142
  /* NOW its unusable Code created for mosaic[images][count]
220
  $dialog.dialog('close');
221
  $('#iconsEffectNameText').text(effectName);
222
  $previewIcons.removeClass(prevEffectName).removeClass(prevBaseEffectName);
223
+ $('#iconsEffectName').val(effectName)
224
+ .trigger('change');
225
  $previewIcons.addClass(effectName).addClass(baseEffectName);
226
  });
227
 
681
  $('#preview [data-grid-gallery-type]')
682
  .data('grid-gallery-type', $this.data('grid-gallery-type'));
683
 
684
+ $effect.val($this.data('grid-gallery-type'));
685
  $('#preview.gallery-preview').trigger('preview.refresh');
686
 
 
 
687
  if ($this.data('grid-gallery-type') == 'polaroid') {
688
  $('.polaroid-effect-class:enabled').val('true').trigger('change');
689
  }
2500
  $('#showFewIconsSel').trigger('change');
2501
  });
2502
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2503
  ImagePreview.prototype.initShadow = (function () {
2504
  var _this = this;
2505
 
2758
  selfIp.previewCaptionHide();
2759
  }
2760
  }
2761
+ });
2762
+ $('[name="thumbnail[overlay][enabled]"]').off('ifChanged').on('ifChanged', function(event) {
2763
+ // code runnen twice
2764
+ var $overlayEnabled = $('[name="thumbnail[overlay][enabled]"]:checked');
2765
+ if($overlayEnabled.length) {
2766
+ selfIp.initCaptionsAndIcons();
2767
+ }
2768
+ });
2769
+ });
2770
+
2771
+ //ImagePreview.prototype.getCssParamsForCaption = (function() {
2772
+ //
2773
+ //});
2774
+
2775
+ ImagePreview.prototype.getCssParamsForIcons = (function(paramsToGet) {
2776
+ var returnObj = {};
2777
+
2778
+ if(!paramsToGet || paramsToGet.effectName) {
2779
+ var $iconEffectName = $('#iconsEffectName');
2780
+ returnObj['effectName'] = $iconEffectName.val();
2781
+ }
2782
+ if(!paramsToGet || paramsToGet.color) {
2783
+ var $iconsColor = $('#iconsColor');
2784
+ returnObj['color'] = $iconsColor.val();
2785
+ }
2786
+ if(!paramsToGet || paramsToGet.colorOnHover) {
2787
+ var $iconsHoverColor = $('#iconsHoverColor');
2788
+ returnObj['colorOnHover'] = $iconsHoverColor.val();
2789
+ }
2790
+ if(!paramsToGet || paramsToGet.bgColor) {
2791
+ var $iconsBgColor = $('#iconsBackgroundColor');
2792
+ returnObj['bgColor'] = $iconsBgColor.val();
2793
+ }
2794
+ if(!paramsToGet || paramsToGet.bgColorOnHover) {
2795
+ var $iconsHoverBgColor = $('#iconsBackgroundHoverColor');
2796
+ returnObj['bgColorOnHover'] = $iconsHoverBgColor.val();
2797
+ }
2798
+ if(!paramsToGet || paramsToGet.fontSize) {
2799
+ var $iconsSize = $('#iconsSize');
2800
+ returnObj['fontSize'] = $iconsSize.val();
2801
+ }
2802
+ if(!paramsToGet || paramsToGet.distance) {
2803
+ var $iconsDistance = $('#iconsMargin');
2804
+ returnObj['distance'] = $iconsDistance.val();
2805
+ }
2806
+ if(!paramsToGet || paramsToGet.overlayIsShowing) {
2807
+ var $iconsOverlayIsShowed = $('#iconsOverlay');
2808
+ returnObj['overlayIsShowing'] = $iconsOverlayIsShowed.val();
2809
+ }
2810
+
2811
+ if(!paramsToGet || paramsToGet.overlayColor) {
2812
+ var $iconsOverlayColor = $('#iconsOverlayColor');
2813
+ returnObj['overlayColor'] = $iconsOverlayColor.val();
2814
+ }
2815
+ if(!paramsToGet || paramsToGet.overlayTransparency) {
2816
+ var $iconsOverlayTransparency = $('#iconsOverlayTransparency')
2817
+ , transpVal = parseInt($iconsOverlayTransparency.val());
2818
+ ;
2819
+ if(!isNaN(transpVal)) {
2820
+ returnObj['overlayTransparency'] = 1 - (transpVal / 10);
2821
+ } else {
2822
+ returnObj['overlayTransparency'] = 1;
2823
+ }
2824
+ }
2825
+ return returnObj;
2826
+ });
2827
+
2828
+ ImagePreview.prototype.initSimpleIcons = (function() {
2829
+ var selfIp = this
2830
+ , $iconEffectName = $('#iconsEffectName')
2831
+ , $iconsColor = $('#iconsColor')
2832
+ , $iconsHoverColor = $('#iconsHoverColor')
2833
+ , $iconsBgColor = $('#iconsBackgroundColor')
2834
+ , $iconsHoverBgColor = $('#iconsBackgroundHoverColor')
2835
+ , $iconsSize = $('#iconsSize')
2836
+ , $iconsDistance = $('#iconsMargin')
2837
+ , $figureIconsBlock = $('#preview .sggFigCaptionIconsEntry')
2838
+ ;
2839
+ $iconEffectName.off('change').on('change', function() {
2840
+ selfIp.setIconParams($figureIconsBlock, {'effectName': $iconEffectName.val()});
2841
+ });
2842
+ $iconsColor.off('change').on('change', function() {
2843
+ selfIp.setIconParams($figureIconsBlock, {'color': $iconsColor.val()});
2844
+ });
2845
+ $iconsHoverColor.off('change').on('change', function() {
2846
+ selfIp.setIconParams($figureIconsBlock, {'colorOnHover': $iconsHoverColor.val()});
2847
+ });
2848
+ $iconsBgColor.off('change').on('change', function() {
2849
+ selfIp.setIconParams($figureIconsBlock, {'bgColor': $iconsBgColor.val()});
2850
+ });
2851
+ $iconsHoverBgColor.off('change').on('change', function() {
2852
+ selfIp.setIconParams($figureIconsBlock, {'bgColorOnHover': $iconsHoverBgColor.val()});
2853
+ });
2854
+ $iconsSize.off('change keyup paste').on('change keyup paste', function() {
2855
+ selfIp.setIconParams($figureIconsBlock, {'fontSize': $iconsSize.val()});
2856
+ });
2857
+ $iconsDistance.off('change keyup paste').on('change keyup paste', function() {
2858
+ selfIp.setIconParams($figureIconsBlock, {'distance': $iconsDistance.val()});
2859
+ });
2860
+ });
2861
+
2862
+ ImagePreview.prototype.initSimpleOverlay = (function($simpleOverlayBlock) {
2863
+ var $iconsOverlayIsShowed = $('#iconsOverlay')
2864
+ , $iconsOverlayTransparency = $('#iconsOverlayTransparency')
2865
+ , $iconsOverlayColor = $('#iconsOverlayColor')
2866
+ , selfIp = this
2867
+ ;
2868
+ $iconsOverlayIsShowed.off('change').on('change', function() {
2869
+ selfIp.setSimpleOverlay($simpleOverlayBlock, {
2870
+ 'overlayIsShowing': $iconsOverlayIsShowed.val(),
2871
+ 'overlayColor': $iconsOverlayColor.val(),
2872
+ 'overlayTransparency': $iconsOverlayTransparency.val(),
2873
+ });
2874
+ });
2875
+ $iconsOverlayColor.off('change').on('change', function() {
2876
+ selfIp.setSimpleOverlay($simpleOverlayBlock, {
2877
+ 'overlayIsShowing': $iconsOverlayIsShowed.val(),
2878
+ 'overlayColor': $iconsOverlayColor.val(),
2879
+ 'overlayTransparency': $iconsOverlayTransparency.val(),
2880
+ });
2881
+ });
2882
+ $iconsOverlayTransparency.off('change').on('change', function() {
2883
+ selfIp.setSimpleOverlay($simpleOverlayBlock, {
2884
+ 'overlayIsShowing': $iconsOverlayIsShowed.val(),
2885
+ 'overlayColor': $iconsOverlayColor.val(),
2886
+ 'overlayTransparency': $iconsOverlayTransparency.val(),
2887
+ });
2888
+ });
2889
+ });
2890
+
2891
+ ImagePreview.prototype.setSimpleOverlay = (function($overlayBlock, paramsToGet) {
2892
+ var isOverlayShow
2893
+ , color
2894
+ , transpVal
2895
+ , notSetted = true
2896
+ ;
2897
+ if(!$overlayBlock || !$overlayBlock.length) {
2898
+ $overlayBlock = $('#preview .grid-gallery-caption')
2899
+ }
2900
+ if(paramsToGet && paramsToGet.overlayIsShowing == 'true' && paramsToGet.overlayColor) {
2901
+ transpVal = parseInt(paramsToGet.overlayTransparency);
2902
+ if(!isNaN(transpVal)) {
2903
+ transpVal = 1 - (transpVal / 10);
2904
+ color = hexToRgbA(paramsToGet.overlayColor, transpVal);
2905
+ $overlayBlock.css({'background-color': color});
2906
+ notSetted = false;
2907
+ }
2908
+ }
2909
+
2910
+ if(notSetted) {
2911
+ $overlayBlock.css({'background-color': 'transparent'});
2912
+ }
2913
+ });
2914
+
2915
+ ImagePreview.prototype.setIconParams = (function($iconWrapper, params) {
2916
+ var $iconList = $iconWrapper.find('.hi-icon');
2917
+
2918
+ if(params) {
2919
+ if(params.effectName) {
2920
+ var oldClassArr = this.findClassByStr($iconWrapper, 'hi-icon-effect')
2921
+ , tmpVal = params.effectName;
2922
+ for(var indTmpInd = 0; indTmpInd < oldClassArr.length; indTmpInd++) {
2923
+ $iconWrapper.removeClass(oldClassArr[indTmpInd]);
2924
+ }
2925
+
2926
+ $iconWrapper.addClass(tmpVal);
2927
+ tmpVal = tmpVal.substr(0, tmpVal.length - 1);
2928
+ $iconWrapper.addClass(tmpVal);
2929
+ }
2930
+ if(params.distance) {
2931
+ var distance = parseInt(params.distance);
2932
+ if(!isNaN(distance)) {
2933
+ $iconList.each(function(ind, item) {
2934
+ var $currItem = $(item);
2935
+ $currItem.css({
2936
+ 'margin-left': distance + 'px',
2937
+ 'margin-right': distance + 'px',
2938
+ });
2939
+ });
2940
+ }
2941
+ }
2942
+ if(params.color) {
2943
+ $('#sggSettingsIconColorStyle').html('.hi-icon {color: ' + params.color + ' !important;}');
2944
+ }
2945
+ if(params.colorOnHover) {
2946
+ $('#sggSettingHiIconHoverColorStyle').html('.hi-icon:hover { color: ' + params.colorOnHover + ' !important; }');
2947
+ }
2948
+ if(params.bgColor) {
2949
+ $('#sggSettingsIconBgColorStyle').html('.hi-icon { background: ' + params.bgColor + ' !important; }');
2950
+ }
2951
+ if(params.bgColorOnHover) {
2952
+ $('#sggSettingHiIconHoverBgStyle').html('.hi-icon:hover { background: ' + params.bgColorOnHover + ' !important; }');
2953
+ }
2954
+ if(params.fontSize) {
2955
+ var fontSize = parseInt(params.fontSize);
2956
+ if(!isNaN(fontSize)) {
2957
+ $('#sggSettingHiIconBeforeFontSizeStyle').html(
2958
+ '.hi-icon:before {font-size: ' + fontSize + 'px !important;' +
2959
+ 'line-height: ' + 2*fontSize + 'px !important;}'
2960
+ );
2961
+ $('#sggSettingsIconSizeStyle').html(
2962
+ '.hi-icon {width: ' + 2*fontSize + 'px !important;' +
2963
+ 'height: ' + 2*fontSize + 'px !important;}'
2964
+ );
2965
+ }
2966
+ }
2967
+ }
2968
+ });
2969
+
2970
+ ImagePreview.prototype.initCaptionsAndIcons = (function() {
2971
+ var captBuilderEnabled = $('input.ggUserCaptionBuilderCl:checked').val() == 1
2972
+ , captionEnabled = $('input[name="thumbnail[overlay][enabled]"]:checked').val() == 'true'
2973
+ , iconsEnabled = $('input[name="icons[enabled]"]:checked').val() == 'true'
2974
+ , $preview = $('#preview')
2975
+ , $iconsOverlayIsShowed = $('#iconsOverlay')
2976
+ , $iconsOverlayTransparency = $('#iconsOverlayTransparency')
2977
+ , $iconsOverlayColor = $('#iconsOverlayColor')
2978
+ , $figure = $preview.find('.grid-gallery-caption')
2979
+ // when use Icons and Captions then added 2nd block for effects
2980
+ , $figureNewCaptionBlock = $figure.find('.sggCcBlockAfter')
2981
+ , $figureIconsBlock = $figure.find('.sggFigCaptionIconsEntry')
2982
+ , $figureCaptionBlock = $figure.find('.sggFigcaptionCaptionWrapper')
2983
+ , $figcaptionBlock = $figure.find('figcaption')
2984
+ , effectCode = $('#overlayEffect').val()
2985
+ , previewInited = false
2986
+ , selfIp = this
2987
+ ;
2988
+ if(!captBuilderEnabled) {
2989
+ if(captionEnabled && iconsEnabled) {
2990
+
2991
+ if(['icons-sodium-left', 'icons-sodium-top'].indexOf(effectCode) != -1) {
2992
+ // additional panel in figure
2993
+ $figureNewCaptionBlock.removeClass('ggSettingsDisplNone');
2994
+ $figureIconsBlock.removeClass('ggSettingsDisplNone');
2995
+ $figureCaptionBlock.addClass('ggSettingsDisplNone');
2996
+
2997
+ var iconSetts = this.getCssParamsForIcons(false)
2998
+ , oldClassObjArr = this.findClassByStr($figureNewCaptionBlock, 'caption-with-');
2999
+ selfIp.setIconParams($figureIconsBlock, iconSetts);
3000
+
3001
+ if(!selfIp.isInitSimpleIcons) {
3002
+ selfIp.initSimpleIcons();
3003
+ selfIp.isInitSimpleIcons = 1;
3004
+ }
3005
+ if(!selfIp.isInitSimpleOverlay) {
3006
+ selfIp.initSimpleOverlay($figcaptionBlock);
3007
+ selfIp.isInitSimpleOverlay = 1;
3008
+ }
3009
+
3010
+ // first init BgColor
3011
+ selfIp.setSimpleOverlay($figcaptionBlock, {
3012
+ 'overlayIsShowing': $iconsOverlayIsShowed.val(),
3013
+ 'overlayColor': $iconsOverlayColor.val(),
3014
+ 'overlayTransparency': $iconsOverlayTransparency.val(),
3015
+ });
3016
+ // remove old class and set new
3017
+ for(var indTmpInd = 0; indTmpInd < oldClassObjArr.length; indTmpInd++) {
3018
+ $figureNewCaptionBlock.removeClass(oldClassObjArr[indTmpInd]);
3019
+ }
3020
+ $figureNewCaptionBlock.addClass('caption-with-' + effectCode);
3021
+ previewInited = true;
3022
+ } else {
3023
+ $figureNewCaptionBlock.addClass('ggSettingsDisplNone');
3024
+ $figureIconsBlock.addClass('ggSettingsDisplNone');
3025
+ $figureCaptionBlock.removeClass('ggSettingsDisplNone');
3026
+ }
3027
+ } else {
3028
+ $figureNewCaptionBlock.addClass('ggSettingsDisplNone');
3029
+ $figureIconsBlock.addClass('ggSettingsDisplNone');
3030
+ $figureCaptionBlock.removeClass('ggSettingsDisplNone');
3031
+ $figcaptionBlock.show();
3032
+ $figcaptionBlock.removeClass('ggSettingsTop0');
3033
+ if(captionEnabled) {
3034
+
3035
+ } else if(iconsEnabled) {
3036
+ $figureIconsBlock.removeClass('ggSettingsDisplNone');
3037
+ $figureCaptionBlock.addClass('ggSettingsDisplNone');
3038
+ $figcaptionBlock.addClass('ggSettingsTop0');
3039
+ // set bg
3040
+ selfIp.setSimpleOverlay($figcaptionBlock, {
3041
+ 'overlayIsShowing': $iconsOverlayIsShowed.val(),
3042
+ 'overlayColor': $iconsOverlayColor.val(),
3043
+ 'overlayTransparency': $iconsOverlayTransparency.val(),
3044
+ });
3045
+ } else {
3046
+ $figcaptionBlock.hide();
3047
+ }
3048
+ }
3049
+ }
3050
+ $('input[name="icons[enabled]"]').off('ifChanged').on('ifChanged', function(event) {
3051
+ // runned twice
3052
+ var $checkedElem = $('input[name="icons[enabled]"]:checked');
3053
+ if($checkedElem.length) {
3054
+ selfIp.initCaptionsAndIcons();
3055
+ }
3056
+ });
3057
+ return previewInited;
3058
+ });
3059
+
3060
+ ImagePreview.prototype.init = (function () {
3061
+ var selfIp = this;
3062
+ //this.$window.draggable();
3063
+ this.initBorder();
3064
+ this.initShadow();
3065
+ this.initMouseShadow();
3066
+ this.initOverlayShadow();
3067
+ this.initSharedPropsForIcons();
3068
 
3069
  this.previewSettingsKeys = {};
3070
  this.objectsData = new sggDataSelectorsCache();
3071
  this.objectsData.init({
3072
  'keys': this.previewSettingsKeys,
3073
  });
 
3074
 
3075
+ // ???
3076
+ this.initCaption();
3077
+ this.initCaptionEffects();
3078
+
3079
+ this.initCaptionsAndIcons();
 
 
 
 
 
3080
  });
3081
 
3082
  ImagePreview.prototype.captionCalculations = (function() {
3149
  } else {
3150
  // get preview figure params
3151
  var figureWithStyle = $("#preview figure.grid-gallery-caption")
3152
+ , imageStyleObj = self.getCssFromString(figureWithStyle.find('img').attr('style'));
3153
  // remove image size properties
3154
  if(imageStyleObj['height']) {
3155
  delete imageStyleObj['height'];
3201
  if ($(this).data('grid-gallery-type') == 'polaroid' &&
3202
  $(this).closest('#preview').length > 0) {
3203
 
3204
+ var $img = $(this).find('img')
3205
+ , $galleryType = $('select[name="area[grid]"]')
3206
+ , $imgGalleryWidth = $('input[name="area[photo_width]"]')
3207
+ , $imgGalleryHeight = $('input[name="area[photo_height]"]')
3208
+ , realImgHeight = $img[0].naturalHeight
3209
+ , realImgWidth = $img[0].naturalWidth
3210
+ , scaleRatio = realImgWidth / realImgHeight
3211
+ , frameWidth = parseInt($('.caption-type[data-gg-cb-type="captions-icons"] [name="thumbnail[overlay][polaroidFrameWidth]"]').val())
3212
+ , $figcaption = $(this).find('figcaption')
3213
+ , $polaroidWrapper = $('.polaroid-bg-wrap')
3214
+ , imageWidth
3215
+ , imageHeight
3216
+ ;
3217
+
3218
+ if($galleryType.val() == 2) {
3219
+ // only image height
3220
+ //imageHeight = parseInt($polaroidWrapper.outerHeight());
3221
+ //imageWidth = imageHeight * scaleRatio;
3222
+ //// cal width with border
3223
+ //imageWidth = imageWidth - (2*frameWidth);
3224
+ //imageHeight = imageWidth/scaleRatio;
3225
+ imageWidth = parseInt($polaroidWrapper.outerWidth()) - (frameWidth*2);
3226
+ imageHeight = imageWidth / scaleRatio;
3227
+ } else {
3228
+ imageWidth = parseInt($polaroidWrapper.outerWidth()) - (frameWidth*2);
3229
+ imageHeight = imageWidth / scaleRatio;
3230
  }
3231
 
 
 
 
3232
  $img[0].style.setProperty('width', imageWidth + 'px', 'important');
3233
  $img[0].style.setProperty('height', imageHeight + 'px', 'important');
3234
  $img[0].style.setProperty('margin', '0 auto', 'important');
3358
 
3359
  // Init Caption: run only on One time
3360
  $('[name="thumbnail[overlay][enabled]"]:checked').trigger('change');
3361
+ setTimeout(function() {
3362
+ $('input[name="icons[enabled]"]:checked').trigger('ifChanged');
3363
+ }, 100);
3364
  });
3365
 
3366
  /* NOW its unusable Code created for mosaic[images][count]
src/GridGallery/Galleries/configs/tooltips.php CHANGED
@@ -24,9 +24,13 @@ return array(
24
  'default-settings' =>__('All new galleries you create after enabling the option will be created with these settings by default (even gallery type). Important! This feature may be enabled only in single gallery at once. ', 'sgg'),
25
  // Border
26
  'border-type' => __('Select border type for your gallery thumbnails. ', 'sgg') . '<p><img src=@url/solid_border.jpg><img src=@url/Dashed_border.jpg></p><p><img src=@url/dotted_border.jpg><img src=@url/double_border.jpg></p>',
 
27
  // 'border-type' => __('Select border type for your gallery thumbnails. ', 'sgg') . '<a target=\'_blank\' href=\'https://supsystic.com/documentation/border-type/\'>https://supsystic.com/documentation/border-type/</a>',
28
  'border-color' => __('Select border color for your gallery thumbnails.', 'sgg'),
 
29
  'border-width' =>__('Select border thickness for your gallery thumbnails.', 'sgg'),
 
 
30
  'border-radius' => __('Set the radius of corner rounding for your button in pixels. ', 'sgg') . '</br><img src=@url/image-radius.jpg>',
31
  'cropQuality' => __('Here you may set the quality of your displayed gallery thumbnails in percents. ', 'sgg') . '<a target=\'_blank\' href=\'https://supsystic.com/documentation/main-settings/\'>https://supsystic.com/documentation/main-settings/</a>',
32
  'display-first-photo' => __('When this option is enabled, only first picture from this gallery will be seen on the website. The other pictures will be seen in the popup window after clicking on the first picture.', 'sgg'),
24
  'default-settings' =>__('All new galleries you create after enabling the option will be created with these settings by default (even gallery type). Important! This feature may be enabled only in single gallery at once. ', 'sgg'),
25
  // Border
26
  'border-type' => __('Select border type for your gallery thumbnails. ', 'sgg') . '<p><img src=@url/solid_border.jpg><img src=@url/Dashed_border.jpg></p><p><img src=@url/dotted_border.jpg><img src=@url/double_border.jpg></p>',
27
+ 'border-type-popup' => __('Select border type for your popup thumbnails. ', 'sgg') . '<p><img src=@url/solid_border.jpg><img src=@url/Dashed_border.jpg></p><p><img src=@url/dotted_border.jpg><img src=@url/double_border.jpg></p>',
28
  // 'border-type' => __('Select border type for your gallery thumbnails. ', 'sgg') . '<a target=\'_blank\' href=\'https://supsystic.com/documentation/border-type/\'>https://supsystic.com/documentation/border-type/</a>',
29
  'border-color' => __('Select border color for your gallery thumbnails.', 'sgg'),
30
+ 'border-color-popup' => __('Select border color for your popup thumbnails.', 'sgg'),
31
  'border-width' =>__('Select border thickness for your gallery thumbnails.', 'sgg'),
32
+ 'border-width-popup' =>__('Select border thickness for your popup thumbnails.', 'sgg'),
33
+ 'popup-border-enable' =>__('Enable border for your popup. (Work only in 6 theme popup)', 'sgg'),
34
  'border-radius' => __('Set the radius of corner rounding for your button in pixels. ', 'sgg') . '</br><img src=@url/image-radius.jpg>',
35
  'cropQuality' => __('Here you may set the quality of your displayed gallery thumbnails in percents. ', 'sgg') . '<a target=\'_blank\' href=\'https://supsystic.com/documentation/main-settings/\'>https://supsystic.com/documentation/main-settings/</a>',
36
  'display-first-photo' => __('When this option is enabled, only first picture from this gallery will be seen on the website. The other pictures will be seen in the popup window after clicking on the first picture.', 'sgg'),
src/GridGallery/Galleries/views/gallery_preset.twig CHANGED
@@ -43,7 +43,8 @@
43
  ~ ' <a target=\'_blank\' href=\'https://supsystic.com/documentation/gallery-getting-started/\'>https://supsystic.com/documentation/gallery-getting-started/</a>'
44
  , 'top', true) }}
45
  </h3>
46
- <input name="title" type="text" style="float: left; width: 60%; height: 36px;"/>
 
47
  <button id="gallery-create" class="button button-primary" type="button" style="height:37px;">
48
  <i class="fa fa-check"></i>
49
  {{ translate('Save') }}
@@ -51,6 +52,7 @@
51
  {#<button id="gallery-cancel" class="button button-primary" type="button">
52
  {{ environment.translate('Cancel') }}
53
  </button>#}
 
54
 
55
  <div class="clear"></div>
56
  <input id="presetValue" name="preset" type="hidden" value="1"/>
43
  ~ ' <a target=\'_blank\' href=\'https://supsystic.com/documentation/gallery-getting-started/\'>https://supsystic.com/documentation/gallery-getting-started/</a>'
44
  , 'top', true) }}
45
  </h3>
46
+ <form id="gallery-create-form">
47
+ <input id="gallery-create-title" name="title" type="text" style="float: left; width: 60%; height: 36px;"/>
48
  <button id="gallery-create" class="button button-primary" type="button" style="height:37px;">
49
  <i class="fa fa-check"></i>
50
  {{ translate('Save') }}
52
  {#<button id="gallery-cancel" class="button button-primary" type="button">
53
  {{ environment.translate('Cancel') }}
54
  </button>#}
55
+ </form">
56
 
57
  <div class="clear"></div>
58
  <input id="presetValue" name="preset" type="hidden" value="1"/>
src/GridGallery/Galleries/views/index.twig CHANGED
@@ -14,120 +14,107 @@
14
 
15
  <section id="gg-galleries">
16
 
17
- {% if galleries is not defined %}
18
- {# Show error here #}
19
- {% else %}
20
-
21
- <div class="gg-galleries-grid">
22
- {#<h2 style="margin-left: 10px;padding-bottom: 10px !important;border-bottom: 1px solid;">Gallery list</h2>#}
23
- {% for gallery in galleries %}
24
- <div id="{{ gallery.id }}" class="gg-item gg-gallery" style="height: auto;">
25
- <h3 class="gallery-title">{{ gallery.title|title|raw }}</h3>
26
- <div class="image">
27
- {#<a href="{{ environment.generateUrl('galleries', 'view', { 'gallery_id': gallery.id }) }}">#}
28
- {% set cover = get_attachment(gallery.attachment_id, '350', '225', 'true') %}
29
-
30
- {% if cover|length < 1 %}
31
- {% if gallery.settings.posts.postCover|length > 1 %}
32
- {% set cover = gallery.settings.posts.postCover %}
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
33
  {% endif %}
34
- {% endif %}
35
- <img src="{{ cover|default('holder.js/350x220?theme=gray&text=' ~ gallery.title|raw) }}" alt="{{ gallery.title|raw }}" width="350px" height="220px"/>
36
- {#</a>#}
37
- {#<a class="delete-gallery" title="Delete this gallery"
38
- href="{{ environment.generateUrl('galleries', 'delete', { 'gallery_id': gallery.id }) }}">
39
- <i class="fa fa-trash-o fa-5x"></i>
40
- </a>#}
41
- <div class="sgg-images-info" style="padding-left: 20px;position: relative;">
42
- <h4>
43
- {{ translate('Images: ') }}
44
- <div class="gg-counter"
45
- style="display: inline-block; font-weight: 200; margin-right: 20px;"
46
- title="{{ translate('There are %s photos in the gallery %s')|format(gallery.photos|length, gallery.title|raw) }}">
47
- {{ gallery.total + gallery.settings.posts.length|default(0) }}
48
- </div>
49
- {#{{ translate(' Size: ') }}#}
50
- {#<div class="sgg-io-size-info" style="display: inline-block; font-weight: 200;"> 00 </div>#}
51
- {#{{ translate(' Mb ') }}#}
52
- </h4>
53
- </div>
54
- </div>
55
- <div class="controls-wrap" style="display: inline-block; margin-top: 10px;">
56
- <!-- Control buttons -->
57
- <ul class="gg-control-btn">
58
- <li>
59
- <a href="{{ environment.generateUrl('galleries', 'settings', { 'gallery_id': gallery.id }) }}"
60
- class="button background">
61
- <i class="fa fa-cogs"></i>
62
- {{ translate('Settings') }}
63
- </a>
64
- </li>
65
- <li>
66
- <a href="{{ environment.generateUrl('galleries', 'view', { 'gallery_id': gallery.id }) }}"
67
- class="button background">
68
- <i class="fa fa-bars"></i>
69
- {{ translate('Images list') }}
70
- </a>
71
- </li>
72
- <li>
73
- <a href="{{ environment.generateUrl('galleries', 'preview', { 'gallery_id': gallery.id }) }}"
74
- class="button background">
75
- <i class="fa fa-eye"></i>
76
- {{ translate('Preview') }}
77
- </a>
78
- </li>
79
- </ul>
80
- <ul class="gg-control-btn">
81
- {#<li title="{{ translate('Images Optimization') }}">#}
82
- {#<button class="button button-primary gallery btn-mages-optimization" id="" data-gallery-id="{{ gallery.id }}">#}
83
- {#<i class="fa fa-compress"></i>#}
84
- {#{{ translate('Images Optimization') }}#}
85
- {#</button>#}
86
- {#</li>#}
87
- <li title="{{ translate('Upload new images') }}">
88
- <button class="button button-primary gallery import-to-gallery" id="!sgg-btn-upload" data-folder-id="0"
89
- data-gallery-id="{{ gallery.id }}" {# data-upload #}>
90
- <i class="fa fa-fw fa-camera"></i>
91
- {{ translate('Add Images') }}
92
- </button>
93
- </li>
94
- <li>
95
- <a id="delete-gallery" data-confirm="{{ translate('Are you sure you want to delete this gallery?') }}" class="button button-primary" title="Delete this gallery"
96
- href="{{ environment.generateUrl('galleries', 'delete', { 'gallery_id': gallery.id, '_wpnonce': _wpnonce }) }}">
97
- <i class="fa fa-trash-o"></i>
98
- {{ translate('Delete gallery') }}
99
- </a>
100
- </li>
101
- </ul>
102
- </div>
103
- <div class="shortcode-wrap">
104
- <div class="gg-shortcode">
105
- {{ translate('Shortcode:') }}<br /><br /> <input type="text" id="shortcode-{{ gallery.id }}" class="ggCopyTextCode shortcode" value="[supsystic-gallery id='{{ gallery.id }}']"><br /><br />
106
- {{ translate('PHPCode:') }}<br /><br />
107
  <input type="text" id="phpcode-{{ gallery.id }}" class="ggCopyTextCode phpcode"
108
  value="{{ '<?php echo do_shortcode(\'[supsystic-gallery id=' ~ gallery.id ~ ']\') ?>' }}">
109
- </div>
110
- </div>
111
- </div>
112
- {% else %}
113
- <h3>{{ translate('You have no galleries') }}</h3>
114
- <p>
115
- {{ translate('You don\'t have any galleries yet.') }}
116
- <a href="{{ environment.generateUrl('galleries', 'showPresets') }}"
117
- id="gg-create-gallery-link"
118
- style = "color: #4ae8ea;">{{ translate('Want to create one right now?') }}</a>
119
- </p>
120
-
121
- <h3>{{ translate('What is a gallery') }}</h3>
122
- <p>
123
- {{ translate('<strong>Gallery</strong> &mdash; the highest type of entity in the Gallery by Supsystic.')|raw }}
124
- <br/>
125
- {{ translate('You can have an unlimited number of galleries, to which you can attach the preloaded pictures.') }}
126
- {{ translate('Each gallery has a number of display settings and behaviors that you can save to presets and apply to other galleries.') }}
127
- </p>
128
- {% endfor %}
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
129
  </div>
130
- {% endif %}
131
  </section>
132
 
133
  {% macro putPreset(data) %}
@@ -152,48 +139,7 @@
152
  </div>
153
  {% endmacro %}
154
 
155
- <!-- Create dialog -->
156
- {#<div id="gg-create-gallery-dialog" title="{{ environment.translate('Create new gallery') }}">
157
- <div id="newGalleryAlert" style="color:red;display:none">
158
- {{ environment.translate('Gallery title can\'t be empty!') }}
159
- </div>
160
- <div id="gg-create-gallery-text">
161
- <label style="float: left; margin: 4px 5px 0 0;">{{ environment.translate('Gallery title:') }}</label>
162
- <input name="title" type="text" style="float: left; width: 60%;"/>
163
- <button id="gallery-create" class="button button-primary" type="button">
164
- {{ environment.translate('Save') }}
165
- </button>
166
- <button id="gallery-cancel" class="button button-primary" type="button">
167
- {{ environment.translate('Cancel') }}
168
- </button>
169
-
170
- <div class="clear"></div>
171
- <input id="presetValue" name="preset" type="hidden" value="1"/>
172
-
173
- <div class="presetSelect">
174
- {% import _self as preset %}
175
-
176
- {% set presets = [
177
- {'title':'Default', 'image':'1-photo-gallery-default-settings.jpg', 'pro': false, 'value': 1},
178
- {'title':'Fluid, Border, Caption', 'image':'2-photo-gallery-borders.jpg', 'pro': false, 'value': 2},
179
- {'title':'Fluid, Shadow, Rounded', 'image':'3-round-cornerns.jpg', 'pro': false, 'value': 3},
180
- {'title':'Categories', 'image':'4-categories.jpg', 'pro': true, 'value': 4},
181
- {'title':'Icons', 'image':'5-icons.jpg', 'pro': true, 'value': 5},
182
- {'title':'Pagination', 'image':'6-pagination_circle-gallery.jpg', 'pro': true, 'value': 6}
183
- ] %}
184
-
185
- {% for data in presets %}
186
- {{ preset.putPreset(data) }}
187
- {% endfor %}
188
- </div>
189
- </div>
190
- <div id="gg-create-gallery-loader" style="display: none;">
191
- <p class="gg-centered">
192
 
193
- <div class="gg-inline-loader gg-centered"></div>
194
- </p>
195
- </div>
196
- </div>#}
197
 
198
  {% import '@galleries/shortcode/import.twig' as importTypes %}
199
  <div id="importDialog" title="{{ translate('Select source to import from') }}" style="display: none;">
14
 
15
  <section id="gg-galleries">
16
 
17
+ <div class="row">
18
+ <div class="col-xs-12">
19
+
20
+ {% set columns = [
21
+ 'ID',
22
+ environment.translate('Title'),
23
+ environment.translate('Thumbnail'),
24
+ environment.translate('Shortcode'),
25
+ environment.translate('PHP'),
26
+ environment.translate('Actions')]
27
+ %}
28
+
29
+ <table id="galleries" class="wp-list-galleries" style="min-width: 100%;">
30
+ <thead>
31
+ <tr>
32
+ <th scope="col">
33
+ <input type="checkbox" id="check_all" name="check_all">
34
+ </th>
35
+ {% for column in columns %}
36
+ <th scope="col">{{ column }}</th>
37
+ {% endfor %}
38
+ </tr>
39
+ </thead>
40
+ <tbody>
41
+ {% for gallery in galleries %}
42
+ <tr id="gallery-{{ gallery.id }}" data-gallery-id="{{ gallery.id }}">
43
+ <td>
44
+ <input type="checkbox" class="tableCheckbox" id="check_{{ gallery.id }}" data-gallery-id="{{ gallery.id }}" name="check_{{ gallery.id }}">
45
+ </td>
46
+ <td>
47
+ {{ gallery.id }}
48
+ </td>
49
+ <td>
50
+ <a href="{{ environment.generateUrl('galleries', 'settings', { 'gallery_id': gallery.id }) }}" data-toggle="tooltip" title="{{ environment.translate('Edit gallery "%s"') | format(gallery.title) }}">
51
+ {{ gallery.title|title|raw }}
52
+ </a>
53
+ <i class="fa fa-fw fa-pencil"></i>
54
+ </td>
55
+ <td>
56
+ {% set cover = get_attachment(gallery.attachment_id, '155', '100', 'true') %}
57
+
58
+ {% if cover|length < 1 %}
59
+ {% if gallery.settings.posts.postCover|length > 1 %}
60
+ {% set cover = gallery.settings.posts.postCover %}
61
+ {% endif %}
62
  {% endif %}
63
+ <img src="{{ cover|default('holder.js/350x220?theme=gray&text=' ~ gallery.title|raw) }}" alt="{{ gallery.title|raw }}" width="155px" height="100px"/>
64
+ </td>
65
+ <td>
66
+ <input type="text" id="shortcode-{{ gallery.id }}" class="ggCopyTextCode shortcode" value="[supsystic-gallery id='{{ gallery.id }}']">
67
+ </td>
68
+ <td>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
69
  <input type="text" id="phpcode-{{ gallery.id }}" class="ggCopyTextCode phpcode"
70
  value="{{ '<?php echo do_shortcode(\'[supsystic-gallery id=' ~ gallery.id ~ ']\') ?>' }}">
71
+ </td>
72
+ <td>
73
+ <a href="{{ environment.generateUrl('galleries', 'settings', { 'gallery_id': gallery.id }) }}"
74
+ class="button background sggActionButtons">
75
+ <i class="fa fa-cogs"></i>
76
+ {{ translate('Settings') }}
77
+ </a>
78
+ <a href="{{ environment.generateUrl('galleries', 'view', { 'gallery_id': gallery.id }) }}"
79
+ class="button background sggActionButtons">
80
+ <i class="fa fa-bars"></i>
81
+ {{ translate('Images list') }}
82
+ </a>
83
+ <a href="{{ environment.generateUrl('galleries', 'preview', { 'gallery_id': gallery.id }) }}"
84
+ class="button background sggActionButtons">
85
+ <i class="fa fa-eye"></i>
86
+ {{ translate('Preview') }}
87
+ </a>
88
+ <br>
89
+ <button class="button button-primary gallery import-to-gallery sggActionButtons" data-folder-id="0"
90
+ data-gallery-id="{{ gallery.id }}" {# data-upload #}>
91
+ <i class="fa fa-fw fa-camera"></i>
92
+ {{ translate('Add Images') }}
93
+ </button>
94
+ <a id="delete-gallery" data-confirm="{{ translate('Are you sure you want to delete this gallery?') }}" class="button button-primary sggActionButtons" title="Delete this gallery"
95
+ href="{{ environment.generateUrl('galleries', 'delete', { 'gallery_id': gallery.id, '_wpnonce': _wpnonce }) }}">
96
+ <i class="fa fa-trash-o"></i>
97
+ {{ translate('Delete gallery') }}
98
+ </a>
99
+ {#<li title="{{ translate('Images Optimization') }}">#}
100
+ {#<button class="button button-primary gallery btn-mages-optimization" id="" data-gallery-id="{{ gallery.id }}">#}
101
+ {#<i class="fa fa-compress"></i>#}
102
+ {#{{ translate('Images Optimization') }}#}
103
+ {#</button>#}
104
+ {#</li>#}
105
+ </td>
106
+ </tr>
107
+ {% endfor %}
108
+ </tbody>
109
+ </table>
110
+
111
+ </div>
112
+ <div class="col-xs-12">
113
+ <button class="button group_button" id="delete-group" disabled>
114
+ <i class="fa fa-fw fa-trash-o"></i>{{ environment.translate('Delete selected') }}
115
+ </button>
116
  </div>
117
+ </div>
118
  </section>
119
 
120
  {% macro putPreset(data) %}
139
  </div>
140
  {% endmacro %}
141
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
142
 
 
 
 
 
143
 
144
  {% import '@galleries/shortcode/import.twig' as importTypes %}
145
  <div id="importDialog" title="{{ translate('Select source to import from') }}" style="display: none;">
src/GridGallery/Galleries/views/settings.twig CHANGED
@@ -2,8 +2,20 @@
2
  {% macro label(label, for) %}
3
  <label for="{{ for }}">{{ label }}</label>
4
  {% endmacro %}
 
 
 
 
 
 
 
 
 
 
 
5
 
6
  {% block header %}
 
7
  <nav id="supsystic-breadcrumbs" class="supsystic-breadcrumbs" style="float: left; padding-top: 20px;">
8
  {#
9
  <ul class="supsystic-bar-controls">
@@ -68,6 +80,29 @@
68
  {% import '@galleries/helpers/attachment.twig' as attachment %}
69
  {% import '@core/form.twig' as form %}
70
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
71
  <div id="preview" class="gallery-preview">
72
  <section class="supsystic-bar-preview" id="single-gallery-toolbar">
73
  <ul class="supsystic-bar-controls">
@@ -119,7 +154,7 @@
119
  {% endif %}
120
  {% endblock %}
121
  >
122
- {% set width, height, crop = 0, 0, 0 %}
123
 
124
  {% if settings.area.photo_width_unit == 0 %}
125
  {% set width = settings.area.photo_width %}
@@ -160,12 +195,14 @@
160
  />
161
  {% set figcaptionBlockFree %}
162
  <figcaption style="{{ figcaptionStyle|trim }}">
163
- <div style="display: table; height: 100%; width: 100%;">
164
  <div class="grid-gallery-figcaption-wrap" style="display: table-cell;">
165
  <span {% if settings.rtl == true %}dir="rtl" class="ggRtlClass"{% endif %}>Gallery by Supsystic</span>
166
  </div>
167
  </div>
 
168
  </figcaption>
 
169
  {% endset %}
170
 
171
  {% block settginsFigCaption %}
@@ -739,18 +776,6 @@
739
  {% block border %}
740
  <table class="form-table" name="border" id="gg-anl-border-type">
741
  <thead>
742
- {% set borderTypes = {
743
- 'solid': 'Solid',
744
- 'dotted': 'Dotted',
745
- 'dashed': 'Dashed',
746
- 'double': 'Double',
747
- 'groove': 'Groove',
748
- 'ridge': 'Ridge',
749
- 'inset': 'Inset',
750
- 'outset': 'Outset',
751
- 'none': 'None'
752
- } %}
753
-
754
  {#
755
  <tr id="useBorderRow">
756
  <th scope="row">
@@ -897,6 +922,27 @@
897
  ), 'sgg-t-popup-theme')
898
  }}
899
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
900
  {# Enable/Disable popup on mobile devices #}
901
  {{ form.row(translate('Disable on mobile'),
902
  form.checkbox(
@@ -1315,13 +1361,13 @@
1315
  <h1 style="line-height: 1;">
1316
  {{ translate("Show Posts and Pages") }}
1317
  </br>
1318
- <a class="button get-pro"
1319
  href="{{ getProUrl('?utm_source=plugin&utm_medium=postfeed&utm_campaign=gallery') }}">Get
1320
  PRO for 29$</a>
1321
  </h1>
1322
 
1323
  <div>
1324
- <a href="{{ getProUrl('?utm_source=plugin&utm_medium=postfeed&utm_campaign=gallery') }}">
1325
  <img src="{{ environment.module('galleries').getLocationUrl() }}/assets/img/posts_pro.jpg" />
1326
  </a>
1327
  </div>
@@ -1813,7 +1859,7 @@
1813
  <td>
1814
  <h1 style="line-height: 1;">
1815
  {{ translate("Show EXIF data") }}</br>
1816
- <a class="button get-pro" href="{{ getProUrl('?utm_source=plugin&utm_medium=exif-data&utm_campaign=gallery') }}">
1817
  {{ translate('GetPRO for 29$') }}
1818
  </a>
1819
  </h1>
@@ -1831,12 +1877,12 @@
1831
  <h1 style="line-height: 1;">
1832
  {{ translate('Categorize images in the gallery') }}
1833
  </br>
1834
- <a class="button get-pro"
1835
  href="{{ getProUrl('?utm_source=plugin&utm_medium=categories&utm_campaign=gallery') }}">Get PRO</a>
1836
  </h1>
1837
 
1838
  <div>
1839
- <a href="{{ getProUrl('?utm_source=plugin&utm_medium=categories&utm_campaign=gallery') }}">
1840
  <img src="{{ environment.module('galleries').getLocationUrl() }}/assets/img/cats_pro.jpg" />
1841
  </a>
1842
  </div>
@@ -1844,12 +1890,12 @@
1844
  <h1 style="line-height: 1;">
1845
  {{ translate('Let user switch gallery pages') }}
1846
  </br>
1847
- <a class="button get-pro"
1848
  href="{{ getProUrl('?utm_source=plugin&utm_medium=pages&utm_campaign=gallery') }}">Get PRO</a>
1849
  </h1>
1850
  <div name="pagination">
1851
  <div>
1852
- <a href="{{ getProUrl('?utm_source=plugin&utm_medium=pages&utm_campaign=gallery') }}">
1853
  <img src="{{ environment.module('galleries').getLocationUrl() }}/assets/img/pagination_pro.jpg" />
1854
  </a>
1855
  </div>
@@ -1863,11 +1909,11 @@
1863
  <h1 style="line-height: 1em;">
1864
  {{ translate('Add watermarks to your photos') }}
1865
  </br>
1866
- <a class="button get-pro"
1867
  href="{{ getProUrl('?utm_source=plugin&utm_medium=watermarks&utm_campaign=gallery') }}">Get PRO for 29$</a>
1868
  </h1>
1869
  <div>
1870
- <a href="{{ getProUrl('?utm_source=plugin&utm_medium=watermarks&utm_campaign=gallery') }}">
1871
  <img src="{{ environment.module('galleries').getLocationUrl() }}/assets/img/water_m_pro.png" />
1872
  </a>
1873
  </div>
@@ -2064,35 +2110,35 @@
2064
  {% endif %}
2065
  {% endfor %}
2066
  <div class="grid-gallery-clearfix" style="clear: both;"></div>
2067
- <div class="captions-effect-with-icons" data-confirm="{{ translate('This effect requires icons be enabled. Enable Icons?') }}">
2068
- {% block captionAndIconEffectsSign %}
2069
  <h3>Captions effects with icons</h3>
2070
- {% endblock %}
2071
- {% block iconsEffects %}
2072
- {% for type, name in iconsWithCaptionsEffects %}
2073
- <figure class="grid-gallery-caption" data-type="icons" data-grid-gallery-type="{{ type }}">
2074
- <img data-src="holder.js/150x150?theme=industrial&text={{ name }}" class="dialog-image"/>
2075
- <figcaption style="{{ figcaptionStyle|trim }}">
2076
- <div class="hi-icon-wrap" style="width: 48px; height: 48px; margin-top: 30%; position:relative;">
2077
- <a href="#" class="hi-icon icon-link" style="border:1px solid #ccc; border-radius:50%;margin:auto;position:absolute;left:0;right:0;top: 0;bottom: 0;">
2078
- </a>
2079
- </div>
2080
- </figcaption>
2081
- <div class="caption-with-{{ type }}">
2082
- <div style="display: table; height:100%; width:100%;">
2083
- <span style="padding: 10px;display:table-cell;font-size:{{ settings.thumbnail.overlay.text_size }}
2084
- vertical-align:{{ settings.thumbnail.overlay.position }};">
2085
- Caption
2086
- </span>
2087
- </div>
2088
- </div>
2089
- <div class="select-element">
2090
- {{ translate('Select') }}
2091
- </div>
2092
- </figure>
2093
- {% endfor %}
2094
- {% endblock %}
2095
- </div>
2096
  </div>
2097
  </div>
2098
 
2
  {% macro label(label, for) %}
3
  <label for="{{ for }}">{{ label }}</label>
4
  {% endmacro %}
5
+ {% set borderTypes = {
6
+ 'solid': 'Solid',
7
+ 'dotted': 'Dotted',
8
+ 'dashed': 'Dashed',
9
+ 'double': 'Double',
10
+ 'groove': 'Groove',
11
+ 'ridge': 'Ridge',
12
+ 'inset': 'Inset',
13
+ 'outset': 'Outset',
14
+ 'none': 'None'
15
+ } %}
16
 
17
  {% block header %}
18
+ {#{{ dump(settings) }}#}
19
  <nav id="supsystic-breadcrumbs" class="supsystic-breadcrumbs" style="float: left; padding-top: 20px;">
20
  {#
21
  <ul class="supsystic-bar-controls">
80
  {% import '@galleries/helpers/attachment.twig' as attachment %}
81
  {% import '@core/form.twig' as form %}
82
 
83
+ {% set var_figcaption_after %}
84
+ {% block figcaption_after %}
85
+ {% endblock %}
86
+ {% endset %}
87
+ {# sggCbEntrySpan #}
88
+ {% set simpleIconsEntryVal %}
89
+ <div class="sggFigCaptionIconsEntry ggSettingsDisplNone
90
+
91
+ hi-icon-wrap {{ settings.icons.effect[0:length-1] }} {{ settings.icons.effect }}">
92
+
93
+ {% set videoIcon = 'youtu' in gallery.photos[0].attachment.video ? 'fa-youtube-play' : 'fa-vimeo' %}
94
+ {% set iconStyle %}
95
+ {% if settings.icons.margin is not empty %}
96
+ margin-left:{{ settings.icons.margin }}px;
97
+ margin-right:{{ settings.icons.margin }}px;
98
+ {% endif %}
99
+ {% endset %}
100
+ <a href="#" class="hi-icon gg-icon-video fa {{ videoIcon }}" style="{{ iconStyle|trim }}"></a>
101
+ <a href="#" class="hi-icon gg-icon-link fa fa-link" style="{{ iconStyle|trim }}"></a>
102
+ <a href="#" class="hi-icon gg-icon-popup fa fa-expand" style="{{ iconStyle|trim }}"></a>
103
+ </div>
104
+ {% endset %}
105
+
106
  <div id="preview" class="gallery-preview">
107
  <section class="supsystic-bar-preview" id="single-gallery-toolbar">
108
  <ul class="supsystic-bar-controls">
154
  {% endif %}
155
  {% endblock %}
156
  >
157
+ {% set width, height, crop = 0, 0, 0 %}
158
 
159
  {% if settings.area.photo_width_unit == 0 %}
160
  {% set width = settings.area.photo_width %}
195
  />
196
  {% set figcaptionBlockFree %}
197
  <figcaption style="{{ figcaptionStyle|trim }}">
198
+ <div style="display: table; height: 100%; width: 100%;" class="sggFigcaptionCaptionWrapper">
199
  <div class="grid-gallery-figcaption-wrap" style="display: table-cell;">
200
  <span {% if settings.rtl == true %}dir="rtl" class="ggRtlClass"{% endif %}>Gallery by Supsystic</span>
201
  </div>
202
  </div>
203
+ {{ simpleIconsEntryVal }}
204
  </figcaption>
205
+ {{ var_figcaption_after }}
206
  {% endset %}
207
 
208
  {% block settginsFigCaption %}
776
  {% block border %}
777
  <table class="form-table" name="border" id="gg-anl-border-type">
778
  <thead>
 
 
 
 
 
 
 
 
 
 
 
 
779
  {#
780
  <tr id="useBorderRow">
781
  <th scope="row">
922
  ), 'sgg-t-popup-theme')
923
  }}
924
 
925
+ {# Enable/Disable popup border #}
926
+ {{ form.row(translate('Enable popup border'),
927
+ form.checkbox(
928
+ 'popup[border][enable]',
929
+ 'on',
930
+ settings.popup.border.enable == 'on' ? {'checked':'checked'} : {}
931
+ ),
932
+ 'popup-border-enable')
933
+ }}
934
+
935
+ {{ form.row(translate('Pop up border type'),
936
+ form.select('popup[border][type]', borderTypes, settings.popup.border.type, { 'style': 'width: auto;' }) , 'border-type-popup')
937
+ }}
938
+
939
+ {{ form.row(translate('Pop up border color'),
940
+ form.input('text', 'popup[border][color]', settings.popup.border.color, { 'class': 'gg-color-picker' }), 'border-color-popup') }}
941
+
942
+ {{ form.row(translate('Pop up border width'),
943
+ form.input('number', 'popup[border][width]', settings.popup.border.width, { 'style': { 'width': '140px;'} })
944
+ ~ form.span('', 'pixels'), 'border-width-popup') }}
945
+
946
  {# Enable/Disable popup on mobile devices #}
947
  {{ form.row(translate('Disable on mobile'),
948
  form.checkbox(
1361
  <h1 style="line-height: 1;">
1362
  {{ translate("Show Posts and Pages") }}
1363
  </br>
1364
+ <a class="button get-pro" target="_blank"
1365
  href="{{ getProUrl('?utm_source=plugin&utm_medium=postfeed&utm_campaign=gallery') }}">Get
1366
  PRO for 29$</a>
1367
  </h1>
1368
 
1369
  <div>
1370
+ <a href="{{ getProUrl('?utm_source=plugin&utm_medium=postfeed&utm_campaign=gallery') }}" target="_blank">
1371
  <img src="{{ environment.module('galleries').getLocationUrl() }}/assets/img/posts_pro.jpg" />
1372
  </a>
1373
  </div>
1859
  <td>
1860
  <h1 style="line-height: 1;">
1861
  {{ translate("Show EXIF data") }}</br>
1862
+ <a class="button get-pro" href="{{ getProUrl('?utm_source=plugin&utm_medium=exif-data&utm_campaign=gallery') }}" target="_blank">
1863
  {{ translate('GetPRO for 29$') }}
1864
  </a>
1865
  </h1>
1877
  <h1 style="line-height: 1;">
1878
  {{ translate('Categorize images in the gallery') }}
1879
  </br>
1880
+ <a class="button get-pro" target="_blank"
1881
  href="{{ getProUrl('?utm_source=plugin&utm_medium=categories&utm_campaign=gallery') }}">Get PRO</a>
1882
  </h1>
1883
 
1884
  <div>
1885
+ <a href="{{ getProUrl('?utm_source=plugin&utm_medium=categories&utm_campaign=gallery') }}" target="_blank">
1886
  <img src="{{ environment.module('galleries').getLocationUrl() }}/assets/img/cats_pro.jpg" />
1887
  </a>
1888
  </div>
1890
  <h1 style="line-height: 1;">
1891
  {{ translate('Let user switch gallery pages') }}
1892
  </br>
1893
+ <a class="button get-pro" target="_blank"
1894
  href="{{ getProUrl('?utm_source=plugin&utm_medium=pages&utm_campaign=gallery') }}">Get PRO</a>
1895
  </h1>
1896
  <div name="pagination">
1897
  <div>
1898
+ <a href="{{ getProUrl('?utm_source=plugin&utm_medium=pages&utm_campaign=gallery') }}" target="_blank">
1899
  <img src="{{ environment.module('galleries').getLocationUrl() }}/assets/img/pagination_pro.jpg" />
1900
  </a>
1901
  </div>
1909
  <h1 style="line-height: 1em;">
1910
  {{ translate('Add watermarks to your photos') }}
1911
  </br>
1912
+ <a class="button get-pro" target="_blank"
1913
  href="{{ getProUrl('?utm_source=plugin&utm_medium=watermarks&utm_campaign=gallery') }}">Get PRO for 29$</a>
1914
  </h1>
1915
  <div>
1916
+ <a href="{{ getProUrl('?utm_source=plugin&utm_medium=watermarks&utm_campaign=gallery') }}" target="_blank">
1917
  <img src="{{ environment.module('galleries').getLocationUrl() }}/assets/img/water_m_pro.png" />
1918
  </a>
1919
  </div>
2110
  {% endif %}
2111
  {% endfor %}
2112
  <div class="grid-gallery-clearfix" style="clear: both;"></div>
2113
+ {% if settings.captionBuilder.enabled != '1' %}
2114
+ <div class="captions-effect-with-icons" data-confirm="{{ translate('This effect requires icons be enabled. Enable Icons?') }}">
2115
  <h3>Captions effects with icons</h3>
2116
+ {% block iconsEffects %}
2117
+ {% for type, name in iconsWithCaptionsEffects %}
2118
+ <figure class="grid-gallery-caption" data-type="icons" data-grid-gallery-type="{{ type }}">
2119
+ <img data-src="holder.js/150x150?theme=industrial&text={{ name }}" class="dialog-image"/>
2120
+ <figcaption style="{{ figcaptionStyle|trim }}">
2121
+ <div class="hi-icon-wrap" style="width: 48px; height: 48px; margin-top: 30%; position:relative;">
2122
+ <a href="#" class="hi-icon icon-link" style="border:1px solid #ccc; border-radius:50%;margin:auto;position:absolute;left:0;right:0;top: 0;bottom: 0;">
2123
+ </a>
2124
+ </div>
2125
+ </figcaption>
2126
+ <div class="caption-with-{{ type }}">
2127
+ <div style="display: table; height:100%; width:100%;">
2128
+ <span style="padding: 10px;display:table-cell;font-size:{{ settings.thumbnail.overlay.text_size }}
2129
+ vertical-align:{{ settings.thumbnail.overlay.position }};">
2130
+ Caption
2131
+ </span>
2132
+ </div>
2133
+ </div>
2134
+ <div class="select-element">
2135
+ {{ translate('Select') }}
2136
+ </div>
2137
+ </figure>
2138
+ {% endfor %}
2139
+ {% endblock %}
2140
+ </div>
2141
+ {% endif %}
2142
  </div>
2143
  </div>
2144
 
src/GridGallery/Galleries/views/shortcode/gallery.twig CHANGED
@@ -77,6 +77,10 @@
77
  data-popup-background="{{ settings.box.background }}"
78
  data-popup-transparency="{{ settings.box.transparency|default(30) }}"
79
  data-popup-disable-history="{{ settings.box.disableHistory }}"
 
 
 
 
80
  data-fullscreen="{{ settings.fullscreen ? 'true' : 'false' }}"
81
  data-hide-tooltip="{{ settings.thumbnail.tooltip }}"
82
  data-caption-font-family="{{ settings.thumbnail.overlay.font_family }}"
77
  data-popup-background="{{ settings.box.background }}"
78
  data-popup-transparency="{{ settings.box.transparency|default(30) }}"
79
  data-popup-disable-history="{{ settings.box.disableHistory }}"
80
+ data-popup-border-type="{{ settings.popup.border.type }}"
81
+ data-popup-border-color="{{ settings.popup.border.color }}"
82
+ data-popup-border-width="{{ settings.popup.border.width }}"
83
+ data-popup-border-enable="{{ settings.popup.border.enable }}"
84
  data-fullscreen="{{ settings.fullscreen ? 'true' : 'false' }}"
85
  data-hide-tooltip="{{ settings.thumbnail.tooltip }}"
86
  data-caption-font-family="{{ settings.thumbnail.overlay.font_family }}"
src/GridGallery/Galleries/views/shortcode/helpers.twig CHANGED
@@ -6,7 +6,14 @@
6
  {% if settings.use_shadow == 1 %}
7
  box-shadow: {{ settings.thumbnail.shadow.x }}px {{ settings.thumbnail.shadow.y }}px {{ settings.thumbnail.shadow.blur }}px {{ settings.thumbnail.shadow.color }};
8
  {% endif %};
9
- margin: {{ settings.area.distance }}px;
 
 
 
 
 
 
 
10
  {#-webkit-mask-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAA5JREFUeNpiYGBgAAgwAAAEAAGbA+oJAAAAAElFTkSuQmCC);#}
11
  {% if settings.area.grid == '2' %}
12
  height:{{ settings.area.photo_height ~ settings.area.photo_height_unit|replace(['px', '%']) }};
@@ -28,8 +35,14 @@
28
  {% endif %}
29
  {% endset %}
30
 
 
 
 
 
 
 
31
  {% set aClass %}
32
- {% if (photo.attachment.external_link is not defined or photo.attachment.external_link|trim is empty) and (photo.attachment.video is not defined or photo.attachment.video|trim is empty) and settings.box.type == '0' %}
33
  gg-colorbox
34
  {% endif %}
35
 
@@ -37,13 +50,13 @@
37
  gg-video
38
  {% endif %}
39
 
40
- {% if settings.box.type == '2' and (photo.attachment.external_link is not defined or photo.attachment.external_link|trim is empty or (photo.attachment.video is defined and photo.attachment.video|trim is not empty)) %}
41
  pbox
42
  {% endif %}
43
  {% endset %}
44
 
45
  {% set aHref %}
46
- {% if photo.attachment.external_link is defined and photo.attachment.external_link is not empty %}
47
  {{ photo.attachment.external_link|force_http }}
48
  {% set link = true %}
49
  {% else %}
6
  {% if settings.use_shadow == 1 %}
7
  box-shadow: {{ settings.thumbnail.shadow.x }}px {{ settings.thumbnail.shadow.y }}px {{ settings.thumbnail.shadow.blur }}px {{ settings.thumbnail.shadow.color }};
8
  {% endif %};
9
+
10
+ {% if settings.area.grid == '2' %}
11
+ {% set newImageDistance = settings.area.distance/2 %}
12
+ margin: {{ newImageDistance | default(0) }}px;
13
+ {% else %}
14
+ margin: {{ settings.area.distance }}px;
15
+ {% endif %}
16
+
17
  {#-webkit-mask-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAA5JREFUeNpiYGBgAAgwAAAEAAGbA+oJAAAAAElFTkSuQmCC);#}
18
  {% if settings.area.grid == '2' %}
19
  height:{{ settings.area.photo_height ~ settings.area.photo_height_unit|replace(['px', '%']) }};
35
  {% endif %}
36
  {% endset %}
37
 
38
+ {% if mosaicParams is defined and mosaicParams.photoCountLeft > 0 %}
39
+ {% set is_ext_link = false %}
40
+ {% else %}
41
+ {% set is_ext_link = photo.attachment.external_link is defined and photo.attachment.external_link is not empty %}
42
+ {% endif %}
43
+
44
  {% set aClass %}
45
+ {% if (is_ext_link == false) and (photo.attachment.video is not defined or photo.attachment.video|trim is empty) and settings.box.type == '0' %}
46
  gg-colorbox
47
  {% endif %}
48
 
50
  gg-video
51
  {% endif %}
52
 
53
+ {% if settings.box.type == '2' and (is_ext_link == false or (photo.attachment.video is defined and photo.attachment.video|trim is not empty)) %}
54
  pbox
55
  {% endif %}
56
  {% endset %}
57
 
58
  {% set aHref %}
59
+ {% if is_ext_link == true %}
60
  {{ photo.attachment.external_link|force_http }}
61
  {% set link = true %}
62
  {% else %}
src/GridGallery/Galleries/views/shortcode/import.twig CHANGED
@@ -63,52 +63,34 @@
63
  </a>
64
  {% else %}
65
  <h3>{{ translate('Get Pro to enable import') }}</h3>
66
- <a class="button button-primary button-hero" href="http://supsystic.com/plugins/photo-gallery/" style="width: 400px;margin-bottom: 20px;">
67
  <i class="fa fa-unlock fa-2x"></i>
68
  {{ translate('Get PRO') }}
69
  </a>
70
- <button class="button button-primary button-hero gallery disabled" data-folder-id="0"
71
- style="width: 400px;margin-bottom: 20px;"
72
- data-src="http://supsystic.com/plugins/photo-gallery/"
73
- >
74
- <i class="fa fa-youtube-play fa-2x" aria-hidden="true"></i>
75
- {{ translate('Add video') }}
76
- </button>
77
- <button class="button button-primary button-hero gallery disabled" data-folder-id="0"
78
- style="width: 400px;margin-bottom: 20px;"
79
- data-gallery-id="{{ gallery.id }}" data-upload
80
- data-src="https://supsystic.com/documentation/flickr/" >
81
  <i class="fa fa-flickr fa-2x"></i>
82
  {{ translate('Import from your Flickr account') }}
83
- </button>
84
- <button class="button button-primary button-hero gallery disabled" data-folder-id="0"
85
- style="width: 400px;margin-bottom: 20px;"
86
- data-gallery-id="{{ gallery.id }}" data-upload
87
- data-src="https://supsystic.com/documentation/tumblr/" >
88
  <i class="fa fa-tumblr fa-2x"></i>
89
  {{ translate('Import from your Tumblr account') }}
90
- </button>
91
- <button class="button button-primary button-hero gallery disabled" data-folder-id="0"
92
- style="width: 400px;margin-bottom: 20px;"
93
- data-gallery-id="{{ gallery.id }}" data-upload
94
- data-src="https://supsystic.com/documentation/facebook/" >
95
  <i class="fa fa-facebook fa-2x"></i>
96
  {{ translate('Import from your Facebook account') }}
97
- </button>
98
- <button class="button button-primary button-hero gallery disabled" data-folder-id="0"
99
- style="width: 400px;margin-bottom: 20px;"
100
- data-gallery-id="{{ gallery.id }}" data-upload
101
- data-src="https://supsystic.com/documentation/ftp-import/" >
102
  <i class="fa fa-file-image-o fa-2x"></i>
103
  {{ translate('Import from your FTP server') }}
104
- </button>
105
- <button class="button button-primary button-hero gallery disabled" data-folder-id="0"
106
- style="width: 400px;margin-bottom: 20px;"
107
- data-gallery-id="{{ gallery.id }}" data-upload
108
- data-src="https://supsystic.com/documentation/google-drive-import/" >
109
  <i class="fa fa-google fa-2x"></i>
110
  {{ translate('Import from your Google Drive account') }}
111
- </button>
112
  {% endif %}
113
  </div>
114
  {% endmacro %}
63
  </a>
64
  {% else %}
65
  <h3>{{ translate('Get Pro to enable import') }}</h3>
66
+ <a class="button button-primary button-hero" href="http://supsystic.com/plugins/photo-gallery/" target="_blank" style="width: 400px;margin-bottom: 20px;">
67
  <i class="fa fa-unlock fa-2x"></i>
68
  {{ translate('Get PRO') }}
69
  </a>
70
+ <a class="button button-primary button-hero disabled" href="http://supsystic.com/plugins/photo-gallery/" target="_blank" style="width: 400px;margin-bottom: 20px;">
71
+ <i class="fa fa-youtube-play fa-2x"></i>
72
+ {{ translate('Add video') }}
73
+ </a>
74
+ <a class="button button-primary button-hero disabled" href="https://supsystic.com/documentation/flickr/" target="_blank" style="width: 400px;margin-bottom: 20px;">
 
 
 
 
 
 
75
  <i class="fa fa-flickr fa-2x"></i>
76
  {{ translate('Import from your Flickr account') }}
77
+ </a>
78
+ <a class="button button-primary button-hero disabled" href="https://supsystic.com/documentation/tumblr/" target="_blank" style="width: 400px;margin-bottom: 20px;">
 
 
 
79
  <i class="fa fa-tumblr fa-2x"></i>
80
  {{ translate('Import from your Tumblr account') }}
81
+ </a>
82
+ <a class="button button-primary button-hero disabled" href="https://supsystic.com/documentation/facebook/" target="_blank" style="width: 400px;margin-bottom: 20px;">
 
 
 
83
  <i class="fa fa-facebook fa-2x"></i>
84
  {{ translate('Import from your Facebook account') }}
85
+ </a>
86
+ <a class="button button-primary button-hero disabled" href="https://supsystic.com/documentation/ftp-import/" target="_blank" style="width: 400px;margin-bottom: 20px;">
 
 
 
87
  <i class="fa fa-file-image-o fa-2x"></i>
88
  {{ translate('Import from your FTP server') }}
89
+ </a>
90
+ <a class="button button-primary button-hero disabled" href="https://supsystic.com/documentation/google-drive-import/" target="_blank" style="width: 400px;margin-bottom: 20px;">
 
 
 
91
  <i class="fa fa-google fa-2x"></i>
92
  {{ translate('Import from your Google Drive account') }}
93
+ </a>
94
  {% endif %}
95
  </div>
96
  {% endmacro %}
src/GridGallery/Installer/Model.php CHANGED
@@ -80,7 +80,15 @@ class GridGallery_Installer_Model extends GridGallery_Core_BaseModel
80
 
81
  protected function dropTable($table)
82
  {
83
- $query = 'DROP TABLE IF EXISTS ' . $this->prefix($table);
84
- $this->db->query($query);
 
 
 
 
 
 
 
 
85
  }
86
  }
80
 
81
  protected function dropTable($table)
82
  {
83
+ $importantTable = array(
84
+ $this->prefix('{prefix}gg_photos'),
85
+ $this->prefix('{prefix}gg_galleries_resources'),
86
+ $this->prefix('{prefix}gg_settings_sets'),
87
+ $this->prefix('{prefix}gg_galleries'),
88
+ );
89
+ if(!in_array($this->prefix($table), $importantTable)){
90
+ $query = 'DROP TABLE IF EXISTS ' . $this->prefix($table);
91
+ $this->db->query($query);
92
+ }
93
  }
94
  }
src/GridGallery/Installer/Module.php CHANGED
@@ -43,10 +43,7 @@ class GridGallery_Installer_Module extends GridGallery_Core_Module
43
  return;
44
  }
45
 
46
- $model = self::getModel();
47
- $queries = self::getQueries();
48
-
49
- $model->update($queries);
50
  }
51
 
52
  if ($config->get('is_pro')) {
@@ -57,7 +54,29 @@ class GridGallery_Installer_Module extends GridGallery_Core_Module
57
  update_option(self::LAST_PRO_VERSION, $currentProVersion);
58
  }
59
  }
60
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
61
  }
62
 
63
  /**
@@ -69,13 +88,29 @@ class GridGallery_Installer_Module extends GridGallery_Core_Module
69
 
70
  $model = self::getModel();
71
  $queries = self::getQueries();
72
-
73
- if (!$model->install($queries)) {
74
- wp_die('Failed to update database.');
75
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
76
  }
77
 
78
- public function onDeactivation()
79
  {
80
  $response = false;
81
  //Uncomment to enable deactivation page
@@ -91,7 +126,7 @@ class GridGallery_Installer_Module extends GridGallery_Core_Module
91
 
92
  $model->drop($queries);
93
  }
94
- }
95
 
96
  /**
97
  * {@inheritdoc}
@@ -101,7 +136,24 @@ class GridGallery_Installer_Module extends GridGallery_Core_Module
101
  global $grid_gallery_supsystic;
102
 
103
  $self = $grid_gallery_supsystic->getResolver()->getModulesList()->get('installer');
104
- $self->onDeactivation();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
105
  }
106
 
107
  /**
43
  return;
44
  }
45
 
46
+ self::executeUpdate();
 
 
 
47
  }
48
 
49
  if ($config->get('is_pro')) {
54
  update_option(self::LAST_PRO_VERSION, $currentProVersion);
55
  }
56
  }
57
+ }
58
+
59
+ protected static function executeUpdate()
60
+ {
61
+ $model = self::getModel();
62
+ $queries = self::getQueries();
63
+
64
+ $config = $this->getEnvironment()->getConfig();
65
+ $currentVersion = $config->get('plugin_version');
66
+
67
+ if (function_exists('is_multisite') && is_multisite()) {
68
+ global $wpdb;
69
+ $blog_id = $wpdb->get_col("SELECT blog_id FROM $wpdb->blogs");
70
+ foreach ($blog_id as $id) {
71
+ if (switch_to_blog($id)) {
72
+ $model->update($queries);
73
+ update_option(self::LAST_VERSION, $currentVersion);
74
+ restore_current_blog();
75
+ }
76
+ }
77
+ } else {
78
+ $model->update($queries);
79
+ }
80
  }
81
 
82
  /**
88
 
89
  $model = self::getModel();
90
  $queries = self::getQueries();
91
+
92
+ $config = $this->getEnvironment()->getConfig();
93
+ $currentVersion = $config->get('plugin_version');
94
+
95
+ if (function_exists('is_multisite') && is_multisite()) {
96
+ global $wpdb;
97
+ $blog_id = $wpdb->get_col("SELECT blog_id FROM $wpdb->blogs");
98
+ foreach ($blog_id as $id) {
99
+ if (switch_to_blog($id)) {
100
+ $model->install($queries);
101
+ update_option(self::LAST_VERSION, $currentVersion);
102
+ restore_current_blog();
103
+ }
104
+ }
105
+ } else {
106
+ if (!$model->install($queries)) {
107
+ wp_die ('Failed to update database.');
108
+ }
109
+ update_option(self::LAST_VERSION, $currentVersion);
110
+ }
111
  }
112
 
113
+ /*public function onDeactivation()
114
  {
115
  $response = false;
116
  //Uncomment to enable deactivation page
126
 
127
  $model->drop($queries);
128
  }
129
+ }*/
130
 
131
  /**
132
  * {@inheritdoc}
136
  global $grid_gallery_supsystic;
137
 
138
  $self = $grid_gallery_supsystic->getResolver()->getModulesList()->get('installer');
139
+
140
+ $model = self::getModel();
141
+ $queries = self::getQueries();
142
+
143
+ if (function_exists('is_multisite') && is_multisite()) {
144
+ global $wpdb;
145
+ $blog_id = $wpdb->get_col("SELECT blog_id FROM $wpdb->blogs");
146
+ foreach ($blog_id as $id) {
147
+ if (switch_to_blog($id)) {
148
+ $model->drop($queries);
149
+ delete_option(self::LAST_VERSION);
150
+ restore_current_blog();
151
+ }
152
+ }
153
+ } else {
154
+ $model->drop($queries);
155
+ }
156
+
157
  }
158
 
159
  /**
src/GridGallery/Ui/views/type.twig CHANGED
@@ -1,4 +1,5 @@
1
  {% macro list_view(entities, sliderSettings, galleryId) %}
 
2
  {% import _self as view %}
3
  {% set head %}
4
  <tr class="ui-jqgrid-labels-custom" role="rowheader">
@@ -10,6 +11,17 @@
10
  </th>
11
  <th scope="col" id="title" class="ui-state-default ui-th-column ui-th-ltr jqgh_ui-jqgrid-htable_id">
12
  {{ translate('Properties') }}
 
 
 
 
 
 
 
 
 
 
 
13
  </th>
14
  <th scope="col" id="date" class="ui-state-default ui-th-column ui-th-ltr jqgh_ui-jqgrid-htable_id">
15
  {{ translate('Date') }}
@@ -190,66 +202,30 @@
190
  <div class="gg-tab-links gg-image-params" data-tabs="gg-image-{{ image.id }}">
191
  <div class="gg-tab-link active" data-tab-info="page-{{ image.id }}-1">
192
  {{ translate('Caption') }}
193
- {{ hlp.showTooltip(
194
- translate('Add image caption. You may find detailed caption settings at Settings > Captions page.')
195
- ~ ' <a target=\'_blank\' href=\'https://supsystic.com/documentation/images-settings/\'>https://supsystic.com/documentation/images-settings/</a>'
196
- , 'top', true) }}
197
  </div>
198
  <div class="gg-tab-link" data-tab-info="page-{{ image.id }}-2">
199
  {{ translate('Description') }}
200
- {{ hlp.showTooltip(
201
- translate('Add image description. You may find detailed description settings at Settings>Captions page. Note: in order to show descriptions and to change the description settings \'Caption builder\' option should be enabled first.')
202
- ~ ' <a target=\'_blank\' href=\'https://supsystic.com/documentation/images-settings/\'>https://supsystic.com/documentation/images-settings/</a>'
203
- , 'top', true) }}
204
  </div>
205
  <div class="gg-tab-link" data-tab-info="page-{{ image.id }}-3">
206
- {{ translate('SEO') }}
207
- {{ hlp.showTooltip(
208
- translate('Add SEO keywords, separated by comma, or SEO-optimized sentences. They will appear under your image, when it opens in pop-up window.')
209
- ~ ' <a target=\'_blank\' href=\'https://supsystic.com/documentation/images-settings/\'>https://supsystic.com/documentation/images-settings/</a>'
210
- , 'top', true) }}
211
  </div>
212
  <div class="gg-tab-link" data-tab-info="page-{{ image.id }}-4">
213
  {{ translate('Link') }}
214
- {{ hlp.showTooltip(
215
- translate('You may add the link, which opens when clicking on your image thumbnail instead of pop-up window. Note: if you add video URL, this option will be inactive.')
216
- ~ ' <a target=\'_blank\' href=\'https://supsystic.com/documentation/images-settings/\'>https://supsystic.com/documentation/images-settings/</a>'
217
- , 'top', true) }}
218
  </div>
219
  <div class="gg-tab-link" data-tab-info="page-{{ image.id }}-5">
220
  {{ translate('Video') }}
221
- {{ hlp.showTooltip(
222
- translate('Here you may add the video url. After clicking on the image thumbnail, video will open in pop-up window instead of the image.')
223
- ~ ' <a target=\'_blank\' href=\'https://supsystic.com/documentation/images-settings/\'>https://supsystic.com/documentation/images-settings/</a>'
224
- , 'top', true) }}
225
  </div>
226
  <div class="gg-tab-link" data-tab-info="page-{{ image.id }}-6">
227
  {{ translate('Categories') }}
228
- {{ hlp.showTooltip(
229
- translate('If you want to arrange your gallery by categories, you should add category names here and separate them by commas.')
230
- ~ ' <a target=\'_blank\' href=\'https://supsystic.com/documentation/images-settings/\'>https://supsystic.com/documentation/images-settings/</a>'
231
- , 'top', true) }}
232
  </div>
233
  <div class="gg-tab-link" data-tab-info="page-{{ image.id }}-7">
234
  {{ translate('Linked images') }}
235
- {{ hlp.showTooltip(
236
- translate('Here you may choose one or several linked images for this image thumbnail. Note: this option works only with Popup theme #7.')
237
- ~ ' <a target=\'_blank\' href=\'https://supsystic.com/example/linked-images-popup/\'>https://supsystic.com/example/linked-images-popup/</a>'
238
- , 'top', true) }}
239
  </div>
240
  <div class="gg-tab-link" data-tab-info="page-{{ image.id }}-8">
241
  {{ translate('Crop') }}
242
- {{ hlp.showTooltip(
243
- translate('In some gallery types image thumbnails are cropped. Here you may select the crop position to be sure that the most important part of the image will be visible.')
244
- ~ ' <a target=\'_blank\' href=\'https://supsystic.com/documentation/images-settings/\'>https://supsystic.com/documentation/images-settings/</a>'
245
- , 'top', true) }}
246
  </div>
247
  <div class="gg-tab-link" data-tab-info="page-{{ image.id }}-9">
248
  {{ translate('Image on hover') }}
249
- {{ hlp.showTooltip(
250
- translate('Here you may add the image that will the original image when mouse cursor is over the thumbnail. Note: in order to make this feature work, you should enable \'Image on hover\' option in Settings > Captions.')
251
- ~ ' <a target=\'_blank\' href=\'https://supsystic.com/documentation/images-settings/\'>https://supsystic.com/documentation/images-settings/</a>'
252
- , 'top', true) }}
253
  </div>
254
 
255
  <a data-image-id="{{ image.id }}" data-attachment-id="{{ image.attachment.id }}"
1
  {% macro list_view(entities, sliderSettings, galleryId) %}
2
+ {% import '@core/helpers.twig' as hlp %}
3
  {% import _self as view %}
4
  {% set head %}
5
  <tr class="ui-jqgrid-labels-custom" role="rowheader">
11
  </th>
12
  <th scope="col" id="title" class="ui-state-default ui-th-column ui-th-ltr jqgh_ui-jqgrid-htable_id">
13
  {{ translate('Properties') }}
14
+ {{ hlp.showTooltip('<b>' ~ translate('Caption') ~ '</b>: ' ~ translate('Add image caption. You may find detailed caption settings at Settings > Captions page')
15
+ ~ '</br><b>' ~ translate('Description') ~ '</b>: ' ~ translate('Add image description. You may find detailed description settings at Settings > Captions page. Note: in order to show descriptions and to change the description settings \'Caption builder\' option should be enabled first.')
16
+ ~ '</br><b>' ~ translate('SEO') ~ '</b>: ' ~ translate('Add SEO keywords, separated by comma, or SEO-optimized sentences. They will appear under your image, when it opens in pop-up window.')
17
+ ~ '</br><b>' ~ translate('Link') ~ '</b>: ' ~ translate('You may add the link, which opens when clicking on your image thumbnail instead of pop-up window. Note: if you add video URL, this option will be inactive.')
18
+ ~ '</br><b>' ~ translate('Video') ~ '</b>: ' ~ translate('Here you may add the video url. After clicking on the image thumbnail, video will open in pop-up window instead of the image.')
19
+ ~ '</br><b>' ~ translate('Categories') ~ '</b>: ' ~ translate('If you want to arrange your gallery by categories, you should add category names here and separate them by commas.')
20
+ ~ '</br><b>' ~ translate('Linked images') ~ '</b>: ' ~ translate('Here you may choose one or several linked images for this image thumbnail. Note: this option works only with Popup theme #7.')
21
+ ~ ' <a target=\'_blank\' href=\'https://supsystic.com/example/linked-images-popup/\'>https://supsystic.com/example/linked-images-popup/</a></br><b>' ~ translate('Crop') ~ '</b>: ' ~ translate('In some gallery types image thumbnails are cropped. Here you may select the crop position to be sure that the most important part of the image will be visible.')
22
+ ~ '</br><b>' ~ translate('Image on hover') ~ '</b>: ' ~ translate('Here you may add the image that will the original image when mouse cursor is over the thumbnail. Note: in order to make this feature work, you should enable \'Image on hover\' option in Settings > Captions.')
23
+ ~ '</br><a target=\'_blank\' href=\'https://supsystic.com/documentation/images-settings/\'>https://supsystic.com/documentation/images-settings/</a>'
24
+ , 'top', true) }}
25
  </th>
26
  <th scope="col" id="date" class="ui-state-default ui-th-column ui-th-ltr jqgh_ui-jqgrid-htable_id">
27
  {{ translate('Date') }}
202
  <div class="gg-tab-links gg-image-params" data-tabs="gg-image-{{ image.id }}">
203
  <div class="gg-tab-link active" data-tab-info="page-{{ image.id }}-1">
204
  {{ translate('Caption') }}
 
 
 
 
205
  </div>
206
  <div class="gg-tab-link" data-tab-info="page-{{ image.id }}-2">
207
  {{ translate('Description') }}
 
 
 
 
208
  </div>
209
  <div class="gg-tab-link" data-tab-info="page-{{ image.id }}-3">
210
+ {{ translate('SEO') }}
 
 
 
 
211
  </div>
212
  <div class="gg-tab-link" data-tab-info="page-{{ image.id }}-4">
213
  {{ translate('Link') }}
 
 
 
 
214
  </div>
215
  <div class="gg-tab-link" data-tab-info="page-{{ image.id }}-5">
216
  {{ translate('Video') }}
 
 
 
 
217
  </div>
218
  <div class="gg-tab-link" data-tab-info="page-{{ image.id }}-6">
219
  {{ translate('Categories') }}
 
 
 
 
220
  </div>
221
  <div class="gg-tab-link" data-tab-info="page-{{ image.id }}-7">
222
  {{ translate('Linked images') }}
 
 
 
 
223
  </div>
224
  <div class="gg-tab-link" data-tab-info="page-{{ image.id }}-8">
225
  {{ translate('Crop') }}
 
 
 
 
226
  </div>
227
  <div class="gg-tab-link" data-tab-info="page-{{ image.id }}-9">
228
  {{ translate('Image on hover') }}
 
 
 
 
229
  </div>
230
 
231
  <a data-image-id="{{ image.id }}" data-attachment-id="{{ image.attachment.id }}"