diff options
Diffstat (limited to 'public/bower_components/bootstrap-datepicker/docs/_screenshots/script/screenshot.js')
-rw-r--r-- | public/bower_components/bootstrap-datepicker/docs/_screenshots/script/screenshot.js | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/public/bower_components/bootstrap-datepicker/docs/_screenshots/script/screenshot.js b/public/bower_components/bootstrap-datepicker/docs/_screenshots/script/screenshot.js new file mode 100644 index 0000000..920d030 --- /dev/null +++ b/public/bower_components/bootstrap-datepicker/docs/_screenshots/script/screenshot.js @@ -0,0 +1,69 @@ +/* jshint phantom:true, devel:true */ +/* Usage: phantomjs screenshot.js in.html out.png */ + +var sys = require('system'), + page = new WebPage(); +page.viewportSize = { + width: 800, + height: 600 +}; + +page.open(sys.args[1], function(status){ + if (status !== 'success'){ + console.log('Bad status: %s', status); + phantom.exit(1); + } + window.setTimeout(function(){ + var box = page.evaluate(function(){ + var lefts, rights, tops, bottoms, + padding = 10, // px + selection, show; + + // Call setup method + if (window.setup) + window.setup(); + // Show all pickers, or only those marked for showing + show = $('body').data('show'); + show = show ? $(show) : $('*'); + show + .filter(function(){ + return 'datepicker' in $(this).data(); + }) + .datepicker('show'); + + // Get bounds of selected elements + selection = $($('body').data('capture')); + tops = selection.map(function(){ + return $(this).offset().top; + }).toArray(); + lefts = selection.map(function(){ + return $(this).offset().left; + }).toArray(); + bottoms = selection.map(function(){ + return $(this).offset().top + $(this).outerHeight(); + }).toArray(); + rights = selection.map(function(){ + return $(this).offset().left + $(this).outerWidth(); + }).toArray(); + + // Convert bounds to single bounding box + var b = { + top: Math.min.apply(Math, tops), + left: Math.min.apply(Math, lefts) + }; + b.width = Math.max.apply(Math, rights) - b.left; + b.height = Math.max.apply(Math, bottoms) - b.top; + + // Return bounding box + return { + top: Math.max(b.top - padding, 0), + left: Math.max(b.left - padding, 0), + width: b.width + 2 * padding, + height: b.height + 2 * padding + }; + }); + page.clipRect = box; + page.render(sys.args[2]); + phantom.exit(); + }, 1); +}); |