1
1
/**!
2
- * @preserve nanoGALLERY v5.5.3
2
+ * @preserve nanoGALLERY v5.5.4
3
3
* Plugin for jQuery by Christophe Brisbois
4
4
* Demo: http://nanogallery.brisbois.fr
5
5
* Sources: https://github.com/Kris-B/nanoGALLERY
22
22
23
23
/*
24
24
25
- nanoGALLERY v5.5.3 release notes.
25
+ nanoGALLERY v5.5.4 release notes.
26
26
27
- ##### Misc
28
- - bugfix - Flickr image size L (1024 pixels) ignored
27
+ ##### New API method
28
+ - **displayItem**: display an item (album or image).
29
+ `$('#yourElement').nanoGallery('displayItem', 'itemID');`
30
+ itemID syntax to display an album: 'albumID'
31
+ itemID syntax to display an image: 'albumID/imageID'
29
32
30
33
**Visit nanoGALLERY homepage for usage details: [http://nanogallery.brisbois.fr](http://www.nanogallery.brisbois.fr/)**
31
34
@@ -53,9 +56,7 @@ nanoGALLERY v5.5.3 release notes.
53
56
_this . init = function ( ) {
54
57
_this . options = $ . extend ( true , { } , $ . nanoGallery . defaultOptions , options ) ;
55
58
// Initialization code
56
- //_this.$e.data('nanoGallery', new nanoGALLERY());
57
59
_this . nG = new nanoGALLERY ( ) ;
58
- // _this.$e.data('nanoGallery').n().Initiate(_this.e, _this.options );
59
60
_this . nG . Initiate ( _this . e , _this . options ) ;
60
61
} ;
61
62
@@ -158,12 +159,12 @@ nanoGALLERY v5.5.3 release notes.
158
159
159
160
switch ( args ) {
160
161
case 'reload' :
161
- //ReloadAlbum();
162
162
$ ( this ) . data ( 'nanoGallery' ) . nG . ReloadAlbum ( ) ;
163
- // $(this).data('nanoGallery').ReloadJson();
164
163
return $ ( this ) ;
164
+ break ;
165
165
case 'getSelectedItems' :
166
166
return $ ( this ) . data ( 'nanoGallery' ) . nG . GetSelectedItems ( ) ;
167
+ break ;
167
168
case 'selectItems' :
168
169
$ ( this ) . data ( 'nanoGallery' ) . nG . SetSelectedItems ( option ) ;
169
170
break ;
@@ -177,12 +178,16 @@ nanoGALLERY v5.5.3 release notes.
177
178
break ;
178
179
case 'getSelectMode' :
179
180
return $ ( this ) . data ( 'nanoGallery' ) . nG . GetSelectMode ( ) ;
181
+ break ;
180
182
case 'getItem' :
181
183
return $ ( this ) . data ( 'nanoGallery' ) . nG . GetItem ( option ) ;
184
+ break ;
182
185
case 'getItems' :
183
186
return $ ( this ) . data ( 'nanoGallery' ) . nG . GetItems ( ) ;
187
+ break ;
184
188
case 'getItemsIndex' :
185
189
return $ ( this ) . data ( 'nanoGallery' ) . nG . GetItemsIndex ( option ) ;
190
+ break ;
186
191
case 'option' :
187
192
if ( typeof value === 'undefined' ) {
188
193
return $ ( this ) . data ( 'nanoGallery' ) . nG . Get ( option ) ;
@@ -194,6 +199,9 @@ nanoGALLERY v5.5.3 release notes.
194
199
$ ( this ) . data ( 'nanoGallery' ) . nG . $E . base . text ( '' ) ;
195
200
$ ( this ) . removeData ( ) ;
196
201
break ;
202
+ case 'displayItem' :
203
+ $ ( this ) . data ( 'nanoGallery' ) . nG . displayItem ( option ) ;
204
+ break ;
197
205
}
198
206
return $ ( this ) ;
199
207
@@ -256,6 +264,14 @@ nanoGALLERY v5.5.3 release notes.
256
264
}
257
265
258
266
} ;
267
+
268
+ // Display one item
269
+ // itemID syntax:
270
+ // - albumID --> display one album
271
+ // - albumID/imageID --> display one image
272
+ this . displayItem = function ( itemID ) {
273
+ return OpenItem ( false , itemID , true ) ;
274
+ } ;
259
275
260
276
/**
261
277
* Get an item by its index
@@ -442,14 +458,8 @@ nanoGALLERY v5.5.3 release notes.
442
458
}
443
459
return G . tnHE ;
444
460
} ,
445
- styleFTitle : '' ,
446
- styleITitle : '' ,
447
- styleDesc : '' ,
448
- styleLabelImage : '' ,
449
- styleL1FTitle : '' ,
450
- styleL1ITitle : '' ,
451
- styleL1Desc : '' ,
452
- styleL1LabelImage : ''
461
+ styleFTitle : '' , styleITitle : '' , styleDesc : '' , styleLabelImage : '' ,
462
+ styleL1FTitle : '' , styleL1ITitle : '' , styleL1Desc : '' , styleL1LabelImage : ''
453
463
} ;
454
464
G . tnHE = [ ] ; // Thumbnail hover effects
455
465
G . tnL1HE = [ ] ; // Thumbnail hover effects - Level 1
@@ -2178,62 +2188,12 @@ nanoGALLERY v5.5.3 release notes.
2178
2188
2179
2189
// special use case -> openOnStart can be processed like location hash, only once (on start)
2180
2190
if ( G . O . openOnStart != '' ) {
2181
- var albumID = null ,
2182
- imageID = null ,
2183
- p = G . O . openOnStart . indexOf ( '/' ) ,
2184
- albumIdx = - 1 ,
2185
- imageIdx = - 1 ,
2186
- l = G . I . length ;
2187
-
2188
- if ( p > 0 ) {
2189
- albumID = G . O . openOnStart . substring ( 0 , p ) ;
2190
- imageID = G . O . openOnStart . substring ( p + 1 ) ;
2191
- for ( var i = 0 ; i < l ; i ++ ) {
2192
- if ( G . I [ i ] . kind == 'image' && G . I [ i ] . GetID ( ) == imageID ) {
2193
- imageIdx = i ;
2194
- break ;
2195
- }
2196
- }
2197
- }
2198
- else {
2199
- albumID = G . O . openOnStart ;
2200
- }
2201
- for ( var i = 0 ; i < l ; i ++ ) {
2202
- if ( G . I [ i ] . kind == 'album' && G . I [ i ] . GetID ( ) == albumID ) {
2203
- albumIdx = i ;
2204
- break ;
2205
- }
2206
- }
2207
-
2191
+ var ID = G . O . openOnStart ;
2208
2192
G . O . openOnStart = '' ;
2209
-
2210
- if ( imageID !== null ) {
2211
- // process IMAGE
2212
- G . albumIdxToOpenOnViewerClose = albumIdx ;
2213
- if ( G . O . kind == '' ) {
2214
- DisplayImage ( imageIdx ) ;
2215
- }
2216
- else {
2217
- if ( imageIdx == - 1 ) {
2218
- OpenAlbum ( albumIdx , false , imageID , false ) ;
2219
- }
2220
- else {
2221
- DisplayImage ( imageIdx ) ;
2222
- }
2223
- }
2224
- return true ;
2225
-
2226
- }
2227
- else {
2228
- // process ALBUM
2229
- OpenAlbum ( albumIdx , false , - 1 , false ) ;
2230
- return true ;
2231
- }
2193
+ return OpenItem ( false , ID , true ) ;
2232
2194
}
2233
2195
2234
-
2235
2196
// standard use case -> location hash processing
2236
-
2237
2197
if ( ! G . O . locationHash ) { return false ; }
2238
2198
2239
2199
var albumID = null ,
@@ -2253,60 +2213,77 @@ nanoGALLERY v5.5.3 release notes.
2253
2213
}
2254
2214
2255
2215
if ( hash . indexOf ( curGal ) == 0 ) {
2256
- var s = hash . substring ( curGal . length ) ,
2257
- p = s . indexOf ( '/' ) ,
2258
- albumIdx = - 1 ,
2259
- imageIdx = - 1 ,
2260
- l = G . I . length ;
2261
-
2262
- if ( p > 0 ) {
2263
- albumID = s . substring ( 0 , p ) ;
2264
- imageID = s . substring ( p + 1 ) ;
2265
- for ( var i = 0 ; i < l ; i ++ ) {
2266
- if ( G . I [ i ] . kind == 'image' && G . I [ i ] . GetID ( ) == imageID ) {
2267
- imageIdx = i ;
2268
- break ;
2269
- }
2270
- }
2271
- }
2272
- else {
2273
- albumID = s ;
2274
- }
2216
+ var ID = hash . substring ( curGal . length ) ;
2217
+ return OpenItem ( isTriggeredByEvent , ID , ! isTriggeredByEvent ) ;
2218
+ }
2219
+
2220
+ //return {albumID:albID, imageID:imgID};
2221
+ }
2222
+
2223
+ function OpenItem ( isTriggeredByEvent , ID , openAlbumOnViewerClose ) {
2224
+ var albumID = null ,
2225
+ imageID = null ,
2226
+ p = ID . indexOf ( '/' ) ,
2227
+ albumIdx = - 1 ,
2228
+ imageIdx = - 1 ,
2229
+ l = G . I . length ;
2230
+
2231
+ if ( p > 0 ) {
2232
+ albumID = ID . substring ( 0 , p ) ;
2233
+ imageID = ID . substring ( p + 1 ) ;
2275
2234
for ( var i = 0 ; i < l ; i ++ ) {
2276
- if ( G . I [ i ] . kind == 'album ' && G . I [ i ] . GetID ( ) == albumID ) {
2277
- albumIdx = i ;
2235
+ if ( G . I [ i ] . kind == 'image ' && G . I [ i ] . GetID ( ) == imageID ) {
2236
+ imageIdx = i ;
2278
2237
break ;
2279
2238
}
2280
2239
}
2240
+ }
2241
+ else {
2242
+ albumID = ID ;
2243
+ }
2244
+ for ( var i = 0 ; i < l ; i ++ ) {
2245
+ if ( G . I [ i ] . kind == 'album' && G . I [ i ] . GetID ( ) == albumID ) {
2246
+ albumIdx = i ;
2247
+ break ;
2248
+ }
2249
+ }
2281
2250
2282
- if ( imageID !== null ) {
2283
- // process IMAGE
2284
- if ( ! isTriggeredByEvent ) {
2251
+ if ( imageID !== null ) {
2252
+ // process IMAGE
2253
+ // if( !isTriggeredByEvent ) {
2254
+ if ( openAlbumOnViewerClose ) {
2285
2255
G . albumIdxToOpenOnViewerClose = albumIdx ;
2286
- }
2287
- if ( G . O . kind == '' ) {
2288
- DisplayImage ( imageIdx ) ;
2256
+ }
2257
+ if ( G . O . kind == '' ) {
2258
+ DisplayImage ( imageIdx ) ;
2259
+ }
2260
+ else {
2261
+ if ( imageIdx == - 1 ) {
2262
+ // first load the album
2263
+ if ( G . O . viewerFullscreen ) {
2264
+ // activate fullscreen before ajax call, because it can be done only on user interaction
2265
+ ngscreenfull . request ( ) ;
2266
+ }
2267
+ OpenAlbum ( albumIdx , false , imageID , isTriggeredByEvent ) ;
2289
2268
}
2290
2269
else {
2291
- if ( imageIdx == - 1 ) {
2292
- OpenAlbum ( albumIdx , false , imageID , isTriggeredByEvent ) ;
2293
- }
2294
- else {
2295
- DisplayImage ( imageIdx ) ;
2296
- }
2270
+ // album is already loaded
2271
+ DisplayImage ( imageIdx ) ;
2297
2272
}
2298
- return true ;
2299
-
2300
- }
2301
- else {
2302
- // process ALBUM
2303
- OpenAlbum ( albumIdx , false , - 1 , isTriggeredByEvent ) ;
2304
- return true ;
2305
2273
}
2274
+ return true ;
2275
+
2276
+ }
2277
+ else {
2278
+ // process ALBUM
2279
+ OpenAlbum ( albumIdx , false , - 1 , isTriggeredByEvent ) ;
2280
+ return true ;
2306
2281
}
2307
2282
2308
- //return {albumID:albID, imageID:imgID};
2309
2283
}
2284
+
2285
+
2286
+
2310
2287
2311
2288
2312
2289
// build a dummy thumbnail to get different sizes and to cache them
0 commit comments