1.0.3 • Published 8 years ago

@mikepol/ng-photo-grid v1.0.3

Weekly downloads
3
License
MIT
Repository
github
Last release
8 years ago

ng-photo-grid

Photo grid like facebook in angular js with no dependencies. Work well when images have variety in dimension, scale images but respect ratio and improve display images in cells.

Examples page

angular facebook photo grid with default config

angular facebook photo grid with 2 bigs image first

angular facebook photo grid with square config

This module can be used with these options:

OptionDescriptionValueDefault
urlKeyobject attribute present for image url ex:{url: "/example.jpg"} => urlKey: "url"string"original_url"
sortByKeyobject attribute present for order of object in array ex:{nth: 1}, {nth: 2} => sortByKey: "nth"string"nth"
onClickedimage click event handler, argument is clicked imagefunctionnone
onBuildedcallback when grid was built completedfunctionnone
onDOMReadycallback when DOM generated completely from array images objectfucntionnone
marginspace between each image on gridnumber2
maxLengthmaximum objects in array grid choose to buildnumber5
isSquareoptions to build grid has the height equals to width ex: used to display grid of grids without break layoutbooleanfalse
buildOnLoadingoption to trigger build grid, grid be built while images loading if it's true. Otherwise, grid will be built only one when all image loadedbooleantrue

####Note:

  This directive used to built the grid of images 
  (let's look at the demo source code to see how the array of images look like), 
  so you should prepare the array of images object first 
  then following this guide below.

####1. Inject module to your angular app definition:

angular.module("ngApp", ["ngPhotoGrid"])

####2. On your controller, you should define the options and events handler if needed like this:

  $scope.gridOptions = {
    urlKey      :     "original_url",
    sortKey     :     "nth",
    onClicked   :     function(image) {
                        alert(JSON.stringify(image))
                      },
    onBuilded   :     function() {
                        console.log ("built completed!")
                        $scope.isBuildingGrid = false;
                      },
    margin      :     2,
    maxLength   :     7
  }

####3. Use directive in template like this:

<div ng-photo-grid="" images="images" grid-options="gridOptions"></div>

####4. Open browser then see the magic, you can refresh (F5) browser again to see others style of grid was built (if your images were random order and have different dimension)

####Updated: 08-11-2015

  • Fixed display grid when has 2 images
  • Added css border to grid cell. Include style in border.css if you want grid cell is bordered.

####Others Contribution are welcome so if you find any issue, please post issues or email me at: jerryc.nguyen92atgmail.com

Thanks lorempixel.com for better images in demo pages.

##MIT License

1.0.3

8 years ago

1.0.2

8 years ago

1.0.1

8 years ago

1.0.0

8 years ago