├── .bowerrc ├── .gitignore ├── CHANGELOG.md ├── Gruntfile.js ├── LICENSE.md ├── Procfile ├── README.md ├── api ├── controllers │ ├── index.js │ └── routes.json ├── filters │ ├── index.js │ └── isAuthenticated.js ├── index.js └── util │ └── error │ ├── default.json │ └── index.js ├── app.js ├── banner ├── bower.json ├── conf.json ├── jsdoc ├── conf.json ├── template │ ├── Gruntfile.js │ ├── LICENSE │ ├── README.md │ ├── conf.json │ ├── demo │ │ ├── dist │ │ │ ├── Car.js.html │ │ │ ├── Child.html │ │ │ ├── Child.js.html │ │ │ ├── Namespace.js.html │ │ │ ├── Parent.html │ │ │ ├── Parent.js.html │ │ │ ├── fonts │ │ │ │ ├── glyphicons-halflings-regular.eot │ │ │ │ ├── glyphicons-halflings-regular.svg │ │ │ │ ├── glyphicons-halflings-regular.ttf │ │ │ │ └── glyphicons-halflings-regular.woff │ │ │ ├── index.html │ │ │ ├── namespace.Car.html │ │ │ ├── namespace.html │ │ │ ├── scripts │ │ │ │ ├── bootstrap.min.js │ │ │ │ ├── jquery.min.js │ │ │ │ ├── jquery.min.map │ │ │ │ ├── linenumber.js │ │ │ │ ├── main.js │ │ │ │ ├── prettify │ │ │ │ │ ├── Apache-License-2.0.txt │ │ │ │ │ ├── lang-css.js │ │ │ │ │ └── prettify.js │ │ │ │ ├── underscore-min.js │ │ │ │ └── underscore-min.map │ │ │ └── styles │ │ │ │ ├── bootstrap.min.css │ │ │ │ ├── jaguar.css │ │ │ │ ├── prettify-jsdoc.css │ │ │ │ └── prettify-tomorrow.css │ │ └── sample │ │ │ ├── Car.js │ │ │ ├── Child.js │ │ │ ├── Namespace.js │ │ │ └── Parent.js │ ├── less │ │ ├── common.less │ │ ├── footer.less │ │ ├── jaguar.less │ │ ├── main.less │ │ └── navigation.less │ ├── package.json │ ├── publish.js │ ├── static │ │ ├── fonts │ │ │ ├── glyphicons-halflings-regular.eot │ │ │ ├── glyphicons-halflings-regular.svg │ │ │ ├── glyphicons-halflings-regular.ttf │ │ │ └── glyphicons-halflings-regular.woff │ │ ├── scripts │ │ │ ├── bootstrap.min.js │ │ │ ├── jquery.min.js │ │ │ ├── jquery.min.map │ │ │ ├── linenumber.js │ │ │ ├── main.js │ │ │ ├── prettify │ │ │ │ ├── Apache-License-2.0.txt │ │ │ │ ├── lang-css.js │ │ │ │ └── prettify.js │ │ │ ├── underscore-min.js │ │ │ └── underscore-min.map │ │ └── styles │ │ │ ├── bootstrap.min.css │ │ │ ├── jaguar.css │ │ │ ├── prettify-jsdoc.css │ │ │ └── prettify-tomorrow.css │ └── tmpl │ │ ├── container.tmpl │ │ ├── details.tmpl │ │ ├── example.tmpl │ │ ├── examples.tmpl │ │ ├── exceptions.tmpl │ │ ├── layout.tmpl │ │ ├── mainpage.tmpl │ │ ├── members.tmpl │ │ ├── method.tmpl │ │ ├── navigation.tmpl │ │ ├── params.tmpl │ │ ├── properties.tmpl │ │ ├── returns.tmpl │ │ ├── source.tmpl │ │ ├── tutorial.tmpl │ │ └── type.tmpl └── tutorials │ └── index.md ├── lib ├── assets │ ├── css │ │ ├── sample.css │ │ └── sample.min.css │ ├── img │ │ ├── loader1.gif │ │ ├── loader2.gif │ │ └── loader3.gif │ ├── js │ │ └── scripts.js │ └── less │ │ └── sample.less ├── dist │ ├── css │ │ ├── angular-modal-alerts.css │ │ └── angular-modal-alerts.min.css │ ├── html │ │ ├── angular-modal-alerts.html │ │ ├── angular-modal-alerts.min.html │ │ ├── preloader.html │ │ └── preloader.min.html │ └── js │ │ ├── angular-modal-alerts.js │ │ └── angular-modal-alerts.min.js ├── index.html ├── sample.js └── src │ ├── custom.html │ ├── js │ └── angular-modal-alerts.js │ ├── less │ ├── general │ │ ├── alerts.less │ │ ├── base.less │ │ ├── buttons.less │ │ ├── colors.less │ │ ├── fonts.less │ │ ├── loading.less │ │ ├── mixins.less │ │ ├── preloader.less │ │ └── zindex.less │ └── main.less │ └── views │ ├── alert-modal-custom.html │ ├── alert-modal-danger.html │ ├── alert-modal-error.html │ ├── alert-modal-info.html │ ├── alert-modal-input.html │ ├── alert-modal-loading.html │ ├── alert-modal-success.html │ └── alert-modal-warning.html ├── package.json └── scripts └── postinstall.sh /.bowerrc: -------------------------------------------------------------------------------- 1 | { 2 | "directory": "lib/bower_components" 3 | } -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Created by .ignore support plugin (hsz.mobi) 2 | ### JetBrains template 3 | # Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm 4 | 5 | *.iml 6 | 7 | ## Directory-based project format: 8 | .idea/ 9 | # if you remove the above rule, at least ignore the following: 10 | 11 | # User-specific stuff: 12 | # .idea/workspace.xml 13 | # .idea/tasks.xml 14 | # .idea/dictionaries 15 | 16 | # Sensitive or high-churn files: 17 | # .idea/dataSources.ids 18 | # .idea/dataSources.xml 19 | # .idea/sqlDataSources.xml 20 | # .idea/dynamic.xml 21 | # .idea/uiDesigner.xml 22 | 23 | # Gradle: 24 | # .idea/gradle.xml 25 | # .idea/libraries 26 | 27 | # Mongo Explorer plugin: 28 | # .idea/mongoSettings.xml 29 | 30 | ## File-based project format: 31 | *.ipr 32 | *.iws 33 | 34 | ## Plugin-specific files: 35 | 36 | # IntelliJ 37 | out/ 38 | 39 | # mpeltonen/sbt-idea plugin 40 | .idea_modules/ 41 | 42 | # JIRA plugin 43 | atlassian-ide-plugin.xml 44 | 45 | # Crashlytics plugin (for Android Studio and IntelliJ) 46 | com_crashlytics_export_strings.xml 47 | crashlytics.properties 48 | crashlytics-build.properties 49 | 50 | 51 | ### Node template 52 | # Logs 53 | logs 54 | *.log 55 | 56 | # Runtime data 57 | pids 58 | *.pid 59 | *.seed 60 | 61 | # Directory for instrumented libs generated by jscoverage/JSCover 62 | lib-cov 63 | 64 | # Coverage directory used by tools like istanbul 65 | coverage 66 | 67 | # Grunt 68 | .grunt 69 | 70 | # Bower 71 | lib/bower_components/ 72 | 73 | # node-waf configuration 74 | .lock-wscript 75 | 76 | # Compiled binary addons (http://nodejs.org/api/addons.html) 77 | build/Release 78 | 79 | # Dependency directory 80 | # https://www.npmjs.org/doc/misc/npm-faq.html#should-i-check-my-node_modules-folder-into-git- 81 | node_modules 82 | 83 | 84 | -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- 1 | - [v0.0.4] Loader spinner 2 | - [v0.0.5] Spinner configuration 3 | - [v0.0.6] Spinner configuration globally 4 | - [v0.0.6] Fix for spinner image url 5 | - [v0.0.7] Major fixes 6 | - [v0.0.8] preloader and fixes in loading 7 | - [v0.0.9] Fix for boilerplates 8 | - [v0.0.10] Fix for package.json 9 | - [v0.0.11] Fix for grunt dependencies 10 | - [v0.0.12] Default gif loader on S3 and smaller modals 11 | - [v0.0.13] Meta theme for Android, footer and button fixes 12 | - [v0.0.14] Fixes for grunt uglify, input label param and margin 13 | - [v0.0.15] Removed preloader, custom modals based on URl and jQuery usages removed -------------------------------------------------------------------------------- /Gruntfile.js: -------------------------------------------------------------------------------- 1 | module.exports = function (grunt) { 2 | 3 | grunt.initConfig({ 4 | 5 | pkg: grunt.file.readJSON('package.json'), 6 | 7 | copy: { 8 | main: { 9 | src: 'lib/src/js/angular-modal-alerts.js', 10 | dest: 'lib/dist/js/angular-modal-alerts.js' 11 | } 12 | }, 13 | 14 | concat: { 15 | 16 | banner: '/*! <%= pkg.name %> - v<%= pkg.version %> - ' + 17 | '<%= grunt.template.today("yyyy-mm-dd") %> */', 18 | 19 | alerts: { 20 | src: ['lib/src/views/**.html'], 21 | dest: 'lib/dist/html/angular-modal-alerts.html' 22 | }, 23 | 24 | preloader: { 25 | src: ['lib/src/preloader/**.html'], 26 | dest: 'lib/dist/html/preloader.html' 27 | } 28 | 29 | }, 30 | 31 | uglify: { 32 | minify: { 33 | options: { 34 | mangle: false, 35 | compress: false, 36 | banner: '/*! <%= pkg.name %> - v<%= pkg.version %> - ' + 37 | '<%= grunt.template.today("yyyy-mm-dd") %> */\n\n\'use strict\';\n' 38 | }, 39 | files: { 40 | 'lib/dist/js/angular-modal-alerts.min.js': ['lib/dist/js/angular-modal-alerts.js'] 41 | } 42 | } 43 | }, 44 | 45 | less: { 46 | lib: { 47 | options: { 48 | paths: ['lib/src/less'] 49 | }, 50 | files: { 51 | 'lib/dist/css/angular-modal-alerts.css': 'lib/src/less/**.less' 52 | } 53 | }, 54 | sample: { 55 | options: { 56 | paths: ['lib/assets/less'] 57 | }, 58 | files: { 59 | 'lib/assets/css/sample.css': 'lib/assets/less/**.less' 60 | } 61 | } 62 | }, 63 | 64 | cssmin: { 65 | target: { 66 | files: { 67 | 'lib/dist/css/angular-modal-alerts.min.css': ['lib/dist/css/angular-modal-alerts.css'], 68 | 'lib/assets/css/sample.min.css': ['lib/assets/css/sample.css'] 69 | } 70 | } 71 | }, 72 | 73 | htmlmin: { 74 | dist: { 75 | options: { 76 | removeComments: true, 77 | collapseWhitespace: true 78 | }, 79 | files: { 80 | 'lib/dist/html/angular-modal-alerts.min.html': 'lib/dist/html/angular-modal-alerts.html', 81 | 'lib/dist/html/preloader.min.html': 'lib/dist/html/preloader.html' 82 | } 83 | } 84 | }, 85 | 86 | clean: ["lib/dist/", "lib/assets/css/", "lib/docs"], 87 | 88 | watch: { 89 | files: [ 90 | 'lib/src/**', 91 | 'lib/views/**', 92 | 'lib/index.html', 93 | 'lib/sample.js', 94 | 'lib/assets/less/**' 95 | ], 96 | tasks: ['dev'] 97 | } 98 | }); 99 | 100 | grunt.loadNpmTasks('grunt-contrib-less'); 101 | grunt.loadNpmTasks('grunt-contrib-cssmin'); 102 | grunt.loadNpmTasks('grunt-contrib-watch'); 103 | grunt.loadNpmTasks('grunt-contrib-copy'); 104 | grunt.loadNpmTasks('grunt-contrib-uglify'); 105 | grunt.loadNpmTasks('grunt-contrib-clean'); 106 | grunt.loadNpmTasks('grunt-contrib-concat'); 107 | grunt.loadNpmTasks('grunt-contrib-watch'); 108 | grunt.loadNpmTasks('grunt-contrib-htmlmin'); 109 | 110 | grunt.registerTask('dev', ['clean', 'copy', 'concat', 'uglify', 'less', 'cssmin', 'htmlmin']); 111 | grunt.registerTask('default', ['dev']); 112 | }; -------------------------------------------------------------------------------- /LICENSE.md: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2015 Devnup Solutions 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in 13 | all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. -------------------------------------------------------------------------------- /Procfile: -------------------------------------------------------------------------------- 1 | web: npm start -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | angular-modal-alerts 2 | =================== 3 | 4 | [![build status](http://ci.devnup.com/projects/18/status.png?ref=master)](http://ci.devnup.com/projects/18?ref=master) 5 | 6 | ### Installation 7 | 8 | Using Bower: ```bower install --save angular-modal-alerts``` 9 | 10 | ### Browser Usage 11 | 12 | 1 - Include the JS library in your HTML file: 13 | 2 - Include the CSS and HTML dependencies in your HTML file: 14 | ```markup 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | ``` 25 | 26 | Include the module in your Angular app: 27 | ```javascript 28 | angular 29 | .module('myApp', ['com.devnup.alert']) 30 | .controller('SampleCtrl', ['$scope', '$alert', function ($scope, $alert) { 31 | 32 | $scope.info = function () { 33 | 34 | // Simple info alert 35 | $alert.info({ 36 | title: 'Sample Alert', 37 | message: 'This is a sample modal alert created using $alert service', 38 | ok: function () { 39 | console.info('Clicked OK!'); 40 | } 41 | }); 42 | }; 43 | 44 | $scope.error = function () { 45 | 46 | // Error alert 47 | $alert.error({ 48 | title: 'Sample Error Alert', 49 | message: 'This is a sample modal alert created using $alert service', 50 | ok: function () { 51 | console.info('Clicked OK!'); 52 | } 53 | }); 54 | }; 55 | 56 | $scope.input = function () { 57 | 58 | // Input alert 59 | $alert.input({ 60 | 61 | title: 'Sample Input Alert', 62 | message: 'This is a sample modal alert to get user input', 63 | value: 'default(input[value])', 64 | placeholder: 'default(input[placeholder])', 65 | 66 | submit: function (input) { 67 | console.info('Response: ' + input); 68 | } 69 | }); 70 | }; 71 | 72 | }]); 73 | 74 | ``` 75 | 76 | ### Samples 77 | 78 | - [Sample Alerts (HTML + JS)](http://angular-modal-alerts.snippets.devnup.com) 79 | 80 | ### Documentation 81 | 82 | - [API Reference (JSDoc)](http://angular-modal-alerts.snippets.devnup.com/docs) 83 | 84 | ### Authors 85 | - [André Seiji](https://github.com/seijitamanaha) - [seiji@devnup.com](mailto:seiji@devnup.com) 86 | - [Luís Eduardo Brito](https://github.com/luiseduardobrito) - [luis@devnup.com](mailto:luis@devnup.com) 87 | 88 | ### License 89 | 90 | The MIT License (MIT) 91 | 92 | Copyright (c) 2015 - Devnup Solutions 93 | 94 | Permission is hereby granted, free of charge, to any person obtaining a copy 95 | of this software and associated documentation files (the "Software"), to deal 96 | in the Software without restriction, including without limitation the rights 97 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 98 | copies of the Software, and to permit persons to whom the Software is 99 | furnished to do so, subject to the following conditions: 100 | 101 | The above copyright notice and this permission notice shall be included in 102 | all copies or substantial portions of the Software. 103 | 104 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 105 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 106 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 107 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 108 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 109 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 110 | THE SOFTWARE. -------------------------------------------------------------------------------- /api/controllers/index.js: -------------------------------------------------------------------------------- 1 | var express = require('express'); 2 | 3 | var routes = require('./routes'); 4 | var filters = require('../filters'); 5 | 6 | /** 7 | * The main API express application, handles all controllers routes. 8 | * 9 | * @class 10 | * @author luiseduardobrito 11 | * @since 12/3/14. 12 | * 13 | * @alias com.devnup.warehouse.api.controllers 14 | */ 15 | var app = module.exports = express(); 16 | 17 | for(var method in routes) { 18 | for(var r in routes[method]) { 19 | if(routes[method][r].filters && routes[method][r].filters.length) { 20 | filters(r, routes[method][r].filters, app); 21 | } 22 | app[method](r, require(routes[method][r].controller)); 23 | } 24 | }; 25 | 26 | /** 27 | * The main API entities routes, handles all controllers routes 28 | * 29 | * @author luiseduardobrito 30 | * @since 12/3/14. 31 | * 32 | * @class 33 | * @alias com.devnup.warehouse.api.controllers.entities 34 | */ 35 | var entities = {}; -------------------------------------------------------------------------------- /api/controllers/routes.json: -------------------------------------------------------------------------------- 1 | { 2 | "get": {}, 3 | "post": {}, 4 | "put": {}, 5 | "options": {} 6 | } -------------------------------------------------------------------------------- /api/filters/index.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Handles connection filters and limits in Express middleware 3 | * 4 | * @class 5 | * @constructor 6 | * @alias com.devnup.warehouse.api.Filter 7 | * 8 | * @since 12/3/14 9 | * 10 | * @param {String} route The URL route to bind controller and its filters 11 | * @param {String[]} filters The filter array list 12 | * @param {express.app} app Express application to bind route 13 | */ 14 | var FiltersWrapper = function (route, filters, app) { 15 | filters.map(function (name) { 16 | app.use(route, require('./' + name)); 17 | }); 18 | }; 19 | 20 | // Export module constructor 21 | module.exports = FiltersWrapper; 22 | -------------------------------------------------------------------------------- /api/filters/isAuthenticated.js: -------------------------------------------------------------------------------- 1 | var mongoose = require('mongoose'); 2 | var Error = require('../util/error'); 3 | 4 | module.exports = function (req, res, next) { 5 | }; -------------------------------------------------------------------------------- /api/index.js: -------------------------------------------------------------------------------- 1 | var express = require('express'); 2 | var path = require('path'); 3 | var cookieParser = require('cookie-parser'); 4 | var bodyParser = require('body-parser'); 5 | 6 | var seo = require('mean-seo'); 7 | 8 | var app = express(); 9 | // var models = require('./models'); 10 | 11 | app.use(require('cors')()); 12 | 13 | app.use(bodyParser.json()); 14 | app.use(bodyParser.urlencoded({extended: false})); 15 | app.use(cookieParser('devnup-ws-bla-bla-random-str-829384')); 16 | 17 | app.use(seo({ 18 | cacheClient: 'disk', // Can be 'disk' or 'redis' 19 | // redisURL: 'redis://:password@hostname:port', // If using redis, optionally specify server credentials 20 | cacheDuration: 24 * 60 * 60 * 1000 // In milliseconds for disk cache 21 | })); 22 | 23 | // Public files 24 | app.use('/', express.static(path.join(__dirname, '../lib'))); 25 | 26 | // API Routes 27 | app.use('/api', require('./controllers')); 28 | 29 | // catch API 404 and forward to error handler 30 | app.use('/api', function (req, res, next) { 31 | var err = new Error('Not Found'); 32 | err.status = 404; 33 | next(err); 34 | }); 35 | 36 | // catch 404 and forward to angular 37 | app.use(function (req, res, next) { 38 | res.redirect('/#' + req.originalUrl); 39 | }); 40 | 41 | // error handlers 42 | 43 | // development error handler 44 | // will print stacktrace 45 | if (app.get('env') === 'development') { 46 | app.use(function (err, req, res, next) { 47 | res.status(err.status || 500); 48 | res.json({ 49 | result: 'error', 50 | message: err.message, 51 | error: err 52 | }); 53 | }); 54 | } 55 | 56 | // production error handler 57 | // no stacktraces leaked to user 58 | app.use(function (err, req, res, next) { 59 | res.status(err.status || 500); 60 | res.json({ 61 | result: 'error', 62 | message: err.message, 63 | error: {} 64 | }); 65 | }); 66 | 67 | // App public interface 68 | module.exports = app; 69 | -------------------------------------------------------------------------------- /api/util/error/default.json: -------------------------------------------------------------------------------- 1 | { 2 | "INVALID_PARAMS": { 3 | "status": 400, 4 | "message": "Invalid parameters" 5 | }, 6 | "FORBIDDEN": { 7 | "status": 403, 8 | "message": "Unauthorized" 9 | }, 10 | "NOT_FOUND": { 11 | "status": 404, 12 | "message": "Not found" 13 | }, 14 | "UNKNOWN": { 15 | "status": 500, 16 | "message": "Unknown error" 17 | } 18 | } -------------------------------------------------------------------------------- /api/util/error/index.js: -------------------------------------------------------------------------------- 1 | var errors = require('./default.json'); 2 | 3 | for (var k in errors) { 4 | 5 | var e = errors[k]; 6 | 7 | errors[k] = new Error(e.message); 8 | errors[k].status = e.status; 9 | } 10 | 11 | errors.generate = function (error, message, err) { 12 | 13 | var e = errors[error]; 14 | 15 | e = e || errors.UNKNOWN; 16 | err = err || {}; 17 | 18 | e.message = message || e.message; 19 | 20 | e.details = { 21 | name: err.name, 22 | message: err.message, 23 | // TODO: log stack 24 | // stack: err.stack, 25 | fileName: err.fileName, 26 | _json: err, 27 | _raw: JSON.stringify(err) 28 | }; 29 | 30 | return e; 31 | }; 32 | 33 | module.exports = errors; -------------------------------------------------------------------------------- /app.js: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | var pkg = require('./package.json'); 3 | var debug = require('debug')(pkg.name); 4 | 5 | var app = require('./api'); 6 | var server = require('http').createServer(app); 7 | 8 | app.set('port', process.env.PORT || 3000); 9 | 10 | server.listen(app.get('port'), function () { 11 | console.log('Express listening on port: ' + app.get('port')) 12 | }); -------------------------------------------------------------------------------- /banner: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devnup/angular-modal-alerts/9a36df0fa8888e46df2be9342e70122704116762/banner -------------------------------------------------------------------------------- /bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "angular-modal-alerts", 3 | "version": "0.0.15", 4 | "authors": [ 5 | "Luis Brito ", 6 | "André Seiji " 7 | ], 8 | "description": "Utility service for generating and handling modal alerts based on Bootstrap inside AngularJS", 9 | "license": "MIT", 10 | "homepage": "snippets.devnup.com", 11 | "ignore": [ 12 | "**/.*", 13 | "node_modules", 14 | "bower_components", 15 | "test", 16 | "tests" 17 | ], 18 | "dependencies": { 19 | "angular": "~1.3.14", 20 | "jquery": "~2.1.3", 21 | "bootstrap": "~3.3.2", 22 | "jquery-ui": "~1.11.3", 23 | "font-awesome": "~4.3.0" 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /conf.json: -------------------------------------------------------------------------------- 1 | { 2 | "tags": { 3 | "allowUnknownTags": true 4 | }, 5 | "source": { 6 | "include": ["./lib", "./README.md"], 7 | "exclude": ["./lib/bower_components", "./lib/docs", "./lib/dist"], 8 | "includePattern": ".+\\.js(doc)?$", 9 | "excludePattern": "(^|\\/|\\\\)_" 10 | }, 11 | "templates": { 12 | "applicationName": "devnup/angular-modal-alerts - docs", 13 | "cleverLinks": true, 14 | "monospaceLinks": true, 15 | "default": { 16 | "outputSourceFiles" : true 17 | }, 18 | "linenums": true 19 | }, 20 | "plugins": ["plugins/markdown" ], 21 | "markdown": { 22 | "parser": "gfm", 23 | "hardwrap": true 24 | }, 25 | "opts": { 26 | "destination": "./lib/docs", 27 | "recurse": true, 28 | "template": "./jsdoc/template", 29 | "tutorials": "./jsdoc/tutorials" 30 | } 31 | } -------------------------------------------------------------------------------- /jsdoc/conf.json: -------------------------------------------------------------------------------- 1 | { 2 | "tags": { 3 | "allowUnknownTags": true 4 | }, 5 | "source": { 6 | "include": [ 7 | "./lib", 8 | "./README.md" 9 | ], 10 | "exclude": [ 11 | "./lib/bower_components", 12 | "./lib/docs", 13 | "./lib/dist" 14 | ], 15 | "includePattern": ".+\\.js(doc)?$", 16 | "excludePattern": "(^|\\/|\\\\)_" 17 | }, 18 | "templates": { 19 | "applicationName": "devnup/angular-modal-alerts - docs", 20 | "cleverLinks": true, 21 | "monospaceLinks": true, 22 | "default": { 23 | "outputSourceFiles": true 24 | }, 25 | "linenums": true 26 | }, 27 | "plugins": ["plugins/markdown"], 28 | "markdown": { 29 | "parser": "gfm", 30 | "hardwrap": true 31 | }, 32 | "opts": { 33 | "destination": "./lib/docs", 34 | "recurse": true, 35 | "template": "./jsdoc/template", 36 | "tutorials": "./jsdoc/tutorials" 37 | } 38 | } -------------------------------------------------------------------------------- /jsdoc/template/Gruntfile.js: -------------------------------------------------------------------------------- 1 | /** 2 | * http://gruntjs.com/configuring-tasks 3 | */ 4 | module.exports = function (grunt) { 5 | var path = require('path'); 6 | var DEMO_PATH = 'demo/dist'; 7 | var DEMO_SAMPLE_PATH = 'demo/sample'; 8 | 9 | grunt.initConfig({ 10 | pkg: grunt.file.readJSON('package.json'), 11 | 12 | connect: { 13 | options: { 14 | hostname: '*' 15 | }, 16 | demo: { 17 | options: { 18 | port: 8000, 19 | base: DEMO_PATH, 20 | middleware: function (connect, options) { 21 | return [ 22 | require('connect-livereload')(), 23 | connect.static(path.resolve(options.base)) 24 | ]; 25 | } 26 | } 27 | } 28 | }, 29 | 30 | watch: { 31 | options: { 32 | livereload: true 33 | }, 34 | less: { 35 | files: ['less/**/*.less'], 36 | tasks: ['less'] 37 | }, 38 | 39 | lesscopy: { 40 | files: ['static/styles/jaguar.css'], 41 | tasks: ['copy:css'] 42 | }, 43 | 44 | jscopy: { 45 | files: ['static/scripts/main.js'], 46 | tasks: ['copy:js'] 47 | }, 48 | 49 | jsdoc: { 50 | files: ['**/*.tmpl', '*.js'], 51 | tasks: ['jsdoc'] 52 | } 53 | }, 54 | 55 | clean: { 56 | demo: { 57 | src: DEMO_PATH 58 | } 59 | }, 60 | 61 | jsdoc: { 62 | demo: { 63 | src: [ 64 | DEMO_SAMPLE_PATH + '/**/*.js', 65 | 66 | // You can add README.md file for index page at documentations. 67 | 'README.md' 68 | ], 69 | options: { 70 | verbose: true, 71 | destination: DEMO_PATH, 72 | configure: 'conf.json', 73 | template: './', 74 | 'private': false 75 | } 76 | } 77 | }, 78 | 79 | less: { 80 | dist: { 81 | src: 'less/**/jaguar.less', 82 | dest: 'static/styles/jaguar.css' 83 | } 84 | }, 85 | 86 | copy: { 87 | css: { 88 | src: 'static/styles/jaguar.css', 89 | dest: DEMO_PATH + '/styles/jaguar.css' 90 | }, 91 | 92 | js: { 93 | src: 'static/scripts/main.js', 94 | dest: DEMO_PATH + '/scripts/main.js' 95 | } 96 | } 97 | }); 98 | 99 | // Load task libraries 100 | [ 101 | 'grunt-contrib-connect', 102 | 'grunt-contrib-watch', 103 | 'grunt-contrib-copy', 104 | 'grunt-contrib-clean', 105 | 'grunt-contrib-less', 106 | 'grunt-jsdoc', 107 | ].forEach(function (taskName) { 108 | grunt.loadNpmTasks(taskName); 109 | }); 110 | 111 | // Definitions of tasks 112 | grunt.registerTask('default', 'Watch project files', [ 113 | 'demo', 114 | 'connect:demo', 115 | 'watch' 116 | ]); 117 | 118 | grunt.registerTask('demo', 'Create documentations for demo', [ 119 | 'less', 120 | 'clean:demo', 121 | 'jsdoc:demo' 122 | ]); 123 | }; 124 | -------------------------------------------------------------------------------- /jsdoc/template/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2013 Sangmin, Shim 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy of 6 | this software and associated documentation files (the "Software"), to deal in 7 | the Software without restriction, including without limitation the rights to 8 | use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 9 | the Software, and to permit persons to whom the Software is furnished to do so, 10 | subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 17 | FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 18 | COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 19 | IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 20 | CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | -------------------------------------------------------------------------------- /jsdoc/template/README.md: -------------------------------------------------------------------------------- 1 | Jaguar.js template for JSDoc 3 2 | --- 3 | - [Jaguar.js](http://davidshimjs.github.io/jaguarjs) 4 | - [Jaguar.js Documentations](http://davidshimjs.github.io/jaguarjs/doc) 5 | - [JSDoc3](https://github.com/jsdoc3/jsdoc) 6 | - [JSDoc3 API Documentations](http://usejsdoc.org) 7 | 8 | Usage 9 | --- 10 | 1. If you want to create documentations with sample files, you can use commands below. 11 | ``` 12 | $ npm install 13 | $ grunt demo 14 | ``` 15 | 16 | 2. You can see any output related jsdoc process with a `--debug` flag. 17 | ``` 18 | $ grunt demo --debug 19 | ``` 20 | 21 | 3. If you already have jsdoc system, you can use this project as jsdoc template. 22 | ``` 23 | $ jsdoc -t `project folder` -c `configuration file` `source files` `README.md file` 24 | ``` 25 | 26 | conf.json 27 | --- 28 | You can set options for customizing your documentations. 29 | 30 | ``` 31 | "templates": { 32 | "applicationName": "Demo", 33 | "disqus": "", 34 | "googleAnalytics": "", 35 | "openGraph": { 36 | "title": "", 37 | "type": "website", 38 | "image": "", 39 | "site_name": "", 40 | "url": "" 41 | }, 42 | "meta": { 43 | "title": "", 44 | "description": "", 45 | "keyword": "" 46 | }, 47 | "linenums": true 48 | } 49 | ``` 50 | 51 | License 52 | --- 53 | This project under the MIT License. and this project refered by default template for JSDoc 3. 54 | 55 | [![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/davidshimjs/jaguarjs-jsdoc/trend.png)](https://bitdeli.com/free "Bitdeli Badge") 56 | 57 | -------------------------------------------------------------------------------- /jsdoc/template/conf.json: -------------------------------------------------------------------------------- 1 | { 2 | "tags": { 3 | "allowUnknownTags" : true 4 | }, 5 | "plugins": ["plugins/markdown"], 6 | "templates": { 7 | "cleverLinks": true, 8 | "monospaceLinks": true, 9 | "default": { 10 | "outputSourceFiles" : true 11 | }, 12 | "applicationName": "Demo", 13 | "disqus": "", 14 | "googleAnalytics": "", 15 | "openGraph": { 16 | "title": "", 17 | "type": "website", 18 | "image": "", 19 | "site_name": "", 20 | "url": "" 21 | }, 22 | "meta": { 23 | "title": "", 24 | "description": "", 25 | "keyword": "" 26 | }, 27 | "linenums": false 28 | }, 29 | "markdown": { 30 | "parser": "gfm", 31 | "hardwrap": true, 32 | "tags": ["examples"] 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /jsdoc/template/demo/dist/Car.js.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Source: Car.js 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 20 | 21 | 22 | 23 | 24 | 25 | 28 | 29 | 30 | 31 | 32 | 33 |
34 | 35 | 153 |
154 |

Source: Car.js

155 | 156 | 157 | 158 | 159 |
160 |
161 |
(function (w) {
162 |     /**
163 |      * quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
164 | consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse
165 |      * @class
166 |      * @name namespace.Car
167 |      */
168 |     w.namespace.Car = function () {
169 |     };
170 | 
171 |     w.namespace.Car.prototype = /** @lends namespace.Car.prototype */{
172 |         /**
173 |          * Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod
174 |          */
175 |         testMethod: function () {
176 |         },
177 | 
178 |         testMethodUnNotated: function () {
179 |         },
180 | 
181 |         testEvent: function () {
182 |             /**
183 |              * tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,
184 |              * @name namespace.Car#testEvent
185 |              * @event
186 |              * @param {Event} e
187 |              */
188 |             test.trigger();
189 |         }
190 |     };
191 | })(window);
192 | 
193 |
194 |
195 | 196 | 197 | 198 | 199 | 200 | 201 | 202 |
203 | Documentation generated by JSDoc 3.2.2 on Sun Jan 12 2014 17:27:47 GMT+0900 (KST) 204 |
205 |
206 |
207 | 208 | 209 | 210 | 211 | -------------------------------------------------------------------------------- /jsdoc/template/demo/dist/Child.js.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Source: Child.js 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 20 | 21 | 22 | 23 | 24 | 25 | 28 | 29 | 30 | 31 | 32 | 33 |
34 | 35 | 153 |
154 |

Source: Child.js

155 | 156 | 157 | 158 | 159 |
160 |
161 |
/**
162 |  * Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod
163 | tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam
164 |  * @class
165 |  * @extends Parent
166 |  */
167 | var Child = function () {
168 | };
169 | 
170 | Child.prototype = /** @lends Child.prototype */{
171 |     /**
172 |      * cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidata
173 |      * @property {Boolean}
174 |      */
175 |     testPropertyInChild: '',
176 | 
177 |     /**
178 |      * cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non
179 |      */
180 |     testMethodInChild: function (paramUnNotation) {
181 |         return {};
182 |     },
183 | 
184 |     /**
185 |      * proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
186 |      * @return {Object} result
187 |      * @return {String} [result.property]
188 |      * @return {Number} result.property2=123 cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non
189 |      */
190 |     returnObject: function () {
191 |     }
192 | };
193 |
194 |
195 | 196 | 197 | 198 | 199 | 200 | 201 | 202 |
203 | Documentation generated by JSDoc 3.2.2 on Sun Jan 12 2014 17:27:47 GMT+0900 (KST) 204 |
205 |
206 |
207 | 208 | 209 | 210 | 211 | -------------------------------------------------------------------------------- /jsdoc/template/demo/dist/Namespace.js.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Source: Namespace.js 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 20 | 21 | 22 | 23 | 24 | 25 | 28 | 29 | 30 | 31 | 32 | 33 |
34 | 35 | 153 |
154 |

Source: Namespace.js

155 | 156 | 157 | 158 | 159 |
160 |
161 |
/**
162 |  * @namespace
163 |  */
164 | var namespace = namespace || {};
165 |
166 |
167 | 168 | 169 | 170 | 171 | 172 | 173 | 174 |
175 | Documentation generated by JSDoc 3.2.2 on Sun Jan 12 2014 17:27:47 GMT+0900 (KST) 176 |
177 |
178 |
179 | 180 | 181 | 182 | 183 | -------------------------------------------------------------------------------- /jsdoc/template/demo/dist/Parent.js.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Source: Parent.js 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 20 | 21 | 22 | 23 | 24 | 25 | 28 | 29 | 30 | 31 | 32 | 33 |
34 | 35 | 153 |
154 |

Source: Parent.js

155 | 156 | 157 | 158 | 159 |
160 |
161 |
/**
162 |  * Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod
163 | tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam
164 |  * @class
165 |  */
166 | var Parent = function () {
167 | };
168 | 
169 | Parent.prototype = /** @lends Parent.prototype */{
170 |     /**
171 |      * cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidata
172 |      * @property {String}
173 |      */
174 |     testProperty: '',
175 | 
176 |     /**
177 |      * Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod
178 |      * @param {String|String[]} [paramA=Default Value] tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam
179 |      * @param {namespace.Car} [paramB] quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
180 |      * @param {Function} [paramCallback]
181 |      * @param {String} paramCallback.firstParam
182 |      * @param {String} paramCallback.secondParam
183 |      * @return {Array|Object} consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse
184 |      */
185 |     testMethod: function (paramA, paramB, paramCallback) {
186 |         return {};
187 |     }
188 | }
189 |
190 |
191 | 192 | 193 | 194 | 195 | 196 | 197 | 198 |
199 | Documentation generated by JSDoc 3.2.2 on Sun Jan 12 2014 17:27:47 GMT+0900 (KST) 200 |
201 |
202 |
203 | 204 | 205 | 206 | 207 | -------------------------------------------------------------------------------- /jsdoc/template/demo/dist/fonts/glyphicons-halflings-regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devnup/angular-modal-alerts/9a36df0fa8888e46df2be9342e70122704116762/jsdoc/template/demo/dist/fonts/glyphicons-halflings-regular.eot -------------------------------------------------------------------------------- /jsdoc/template/demo/dist/fonts/glyphicons-halflings-regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devnup/angular-modal-alerts/9a36df0fa8888e46df2be9342e70122704116762/jsdoc/template/demo/dist/fonts/glyphicons-halflings-regular.ttf -------------------------------------------------------------------------------- /jsdoc/template/demo/dist/fonts/glyphicons-halflings-regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devnup/angular-modal-alerts/9a36df0fa8888e46df2be9342e70122704116762/jsdoc/template/demo/dist/fonts/glyphicons-halflings-regular.woff -------------------------------------------------------------------------------- /jsdoc/template/demo/dist/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Index 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 20 | 21 | 22 | 23 | 24 | 25 | 28 | 29 | 30 | 31 | 32 | 33 |
34 | 35 | 153 |
154 |

Index

155 | 156 | 157 | 158 | 159 | 160 | 161 |

162 | 163 | 164 | 165 | 166 | 167 | 168 | 169 | 170 | 171 | 172 | 173 | 174 | 175 |
176 |

Jaguar.js template for JSDoc 3

177 | 183 |

Usage

184 |
    185 |
  1. If you want to create documentations with sample files, you can use commands below.

    186 |
    $ npm install
    187 | $ grunt demo
    188 |
  2. 189 |
  3. You can see any output related jsdoc process with a --debug flag.

    190 |
    $ grunt demo --debug
    191 |
  4. 192 |
  5. If you already have jsdoc system, you can use this project as jsdoc template.

    193 |
    $ jsdoc -t `project folder` -c `configuration file` `source files` `README.md file`
    194 |
  6. 195 |
196 |

conf.json

197 |

You can set options for customizing your documentations.

198 |
"templates": {
199 |     "applicationName": "Demo",
200 |     "disqus": "",
201 |     "googleAnalytics": "",
202 |     "openGraph": {
203 |         "title": "",
204 |         "type": "website",
205 |         "image": "",
206 |         "site_name": "",
207 |         "url": ""
208 |     },
209 |     "meta": {
210 |         "title": "",
211 |         "description": "",
212 |         "keyword": ""
213 |     }
214 | }
215 |

License

216 |

This project under the MIT License. and this project refered by default template for JSDoc 3.

217 |
218 | 219 | 220 | 221 | 222 | 223 | 224 | 225 | 226 |
227 | Documentation generated by JSDoc 3.2.2 on Sun Jan 12 2014 17:27:47 GMT+0900 (KST) 228 |
229 |
230 |
231 | 232 | 233 | 234 | 235 | -------------------------------------------------------------------------------- /jsdoc/template/demo/dist/namespace.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Namespace: namespace 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 20 | 21 | 22 | 23 | 24 | 25 | 28 | 29 | 30 | 31 | 32 | 33 |
34 | 35 | 153 |
154 |

Namespace: namespace

155 | 156 | 157 | 158 | 159 |
160 | 161 |
162 |

163 | namespace 164 |

165 | 166 |
167 | 168 |
169 |
170 | 171 | 172 | 173 | 174 | 175 | 176 |
177 | 178 | 179 | 180 | 181 | 182 | 183 | 184 | 185 | 186 | 187 | 188 | 189 | 190 | 191 | 192 | 193 | 194 | 195 | 196 | 197 | 198 |
199 | 200 | 201 | 202 | 203 |
204 | 205 | 206 | 207 | 208 | 209 | 210 | 211 | 212 |

Classes

213 | 214 |
215 |
Car
216 |
217 |
218 | 219 | 220 | 221 | 222 | 223 | 224 | 225 | 226 | 227 | 228 | 229 |
230 | 231 |
232 | 233 | 234 | 235 | 236 | 237 | 238 | 239 |
240 | Documentation generated by JSDoc 3.2.2 on Sun Jan 12 2014 17:27:48 GMT+0900 (KST) 241 |
242 |
243 |
244 | 245 | 246 | 247 | 248 | -------------------------------------------------------------------------------- /jsdoc/template/demo/dist/scripts/linenumber.js: -------------------------------------------------------------------------------- 1 | (function() { 2 | var counter = 0; 3 | var numbered; 4 | var source = document.getElementsByClassName('prettyprint source'); 5 | 6 | if (source && source[0]) { 7 | source = source[0].getElementsByTagName('code')[0]; 8 | 9 | numbered = source.innerHTML.split('\n'); 10 | numbered = numbered.map(function(item) { 11 | counter++; 12 | return '' + item; 13 | }); 14 | 15 | source.innerHTML = numbered.join('\n'); 16 | } 17 | })(); 18 | -------------------------------------------------------------------------------- /jsdoc/template/demo/dist/scripts/main.js: -------------------------------------------------------------------------------- 1 | $(function () { 2 | // Search Items 3 | $('#search').on('keyup', function (e) { 4 | var value = $(this).val(); 5 | var $el = $('.navigation'); 6 | 7 | if (value) { 8 | var regexp = new RegExp(value, 'i'); 9 | $el.find('li, .itemMembers').hide(); 10 | 11 | $el.find('li').each(function (i, v) { 12 | var $item = $(v); 13 | 14 | if ($item.data('name') && regexp.test($item.data('name'))) { 15 | $item.show(); 16 | $item.closest('.itemMembers').show(); 17 | $item.closest('.item').show(); 18 | } 19 | }); 20 | } else { 21 | $el.find('.item, .itemMembers').show(); 22 | } 23 | 24 | $el.find('.list').scrollTop(0); 25 | }); 26 | 27 | // Toggle when click an item element 28 | $('.navigation').on('click', '.title', function (e) { 29 | $(this).parent().find('.itemMembers').toggle(); 30 | }); 31 | 32 | // Show an item related a current documentation automatically 33 | var filename = $('.page-title').data('filename').replace(/\.[a-z]+$/, ''); 34 | var $currentItem = $('.navigation .item[data-name*="' + filename + '"]:eq(0)'); 35 | 36 | if ($currentItem.length) { 37 | $currentItem 38 | .remove() 39 | .prependTo('.navigation .list') 40 | .show() 41 | .find('.itemMembers') 42 | .show(); 43 | } 44 | 45 | // Auto resizing on navigation 46 | var _onResize = function () { 47 | var height = $(window).height(); 48 | var $el = $('.navigation'); 49 | 50 | $el.height(height).find('.list').height(height - 133); 51 | }; 52 | 53 | $(window).on('resize', _onResize); 54 | _onResize(); 55 | 56 | // disqus code 57 | if (config.disqus) { 58 | $(window).on('load', function () { 59 | var disqus_shortname = config.disqus; // required: replace example with your forum shortname 60 | var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true; 61 | dsq.src = 'http://' + disqus_shortname + '.disqus.com/embed.js'; 62 | (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq); 63 | var s = document.createElement('script'); s.async = true; 64 | s.type = 'text/javascript'; 65 | s.src = 'http://' + disqus_shortname + '.disqus.com/count.js'; 66 | document.getElementsByTagName('BODY')[0].appendChild(s); 67 | }); 68 | } 69 | }); -------------------------------------------------------------------------------- /jsdoc/template/demo/dist/scripts/prettify/lang-css.js: -------------------------------------------------------------------------------- 1 | PR.registerLangHandler(PR.createSimpleLexer([["pln",/^[\t\n\f\r ]+/,null," \t\r\n "]],[["str",/^"(?:[^\n\f\r"\\]|\\(?:\r\n?|\n|\f)|\\[\S\s])*"/,null],["str",/^'(?:[^\n\f\r'\\]|\\(?:\r\n?|\n|\f)|\\[\S\s])*'/,null],["lang-css-str",/^url\(([^"')]*)\)/i],["kwd",/^(?:url|rgb|!important|@import|@page|@media|@charset|inherit)(?=[^\w-]|$)/i,null],["lang-css-kw",/^(-?(?:[_a-z]|\\[\da-f]+ ?)(?:[\w-]|\\\\[\da-f]+ ?)*)\s*:/i],["com",/^\/\*[^*]*\*+(?:[^*/][^*]*\*+)*\//],["com", 2 | /^(?:<\!--|--\>)/],["lit",/^(?:\d+|\d*\.\d+)(?:%|[a-z]+)?/i],["lit",/^#[\da-f]{3,6}/i],["pln",/^-?(?:[_a-z]|\\[\da-f]+ ?)(?:[\w-]|\\\\[\da-f]+ ?)*/i],["pun",/^[^\s\w"']+/]]),["css"]);PR.registerLangHandler(PR.createSimpleLexer([],[["kwd",/^-?(?:[_a-z]|\\[\da-f]+ ?)(?:[\w-]|\\\\[\da-f]+ ?)*/i]]),["css-kw"]);PR.registerLangHandler(PR.createSimpleLexer([],[["str",/^[^"')]+/]]),["css-str"]); 3 | -------------------------------------------------------------------------------- /jsdoc/template/demo/dist/styles/jaguar.css: -------------------------------------------------------------------------------- 1 | html, 2 | body { 3 | font: 1em "jaf-bernino-sans", "Lucida Grande", "Lucida Sans Unicode", "Lucida Sans", Geneva, Verdana, sans-serif; 4 | background-color: #fff; 5 | } 6 | ul, 7 | ol { 8 | margin: 0; 9 | padding: 0; 10 | } 11 | li { 12 | list-style-type: none; 13 | } 14 | #wrap { 15 | position: relative; 16 | } 17 | ::-webkit-scrollbar { 18 | width: 8px; 19 | background-color: transparent; 20 | } 21 | ::-webkit-scrollbar-thumb { 22 | background-color: gray; 23 | border-radius: 4px; 24 | } 25 | .navigation { 26 | position: fixed; 27 | float: left; 28 | width: 250px; 29 | height: 100%; 30 | background-color: #1a1a1a; 31 | } 32 | .navigation .applicationName { 33 | margin: 0; 34 | margin-top: 15px; 35 | padding: 10px 15px; 36 | font: bold 1.25em Helvetica; 37 | color: #fff; 38 | } 39 | .navigation .applicationName a { 40 | color: #fff; 41 | } 42 | .navigation .search { 43 | padding: 10px 15px; 44 | } 45 | .navigation .search input { 46 | background-color: #333; 47 | color: #fff; 48 | border-color: #555; 49 | } 50 | .navigation .list { 51 | padding: 10px 15px 0 15px; 52 | position: relative; 53 | overflow: auto; 54 | width: 100%; 55 | } 56 | .navigation li.item { 57 | margin-bottom: 8px; 58 | padding-bottom: 8px; 59 | border-bottom: 1px solid #333; 60 | } 61 | .navigation li.item a { 62 | color: #bbb; 63 | } 64 | .navigation li.item a:hover { 65 | color: #fff; 66 | } 67 | .navigation li.item .title { 68 | cursor: pointer; 69 | position: relative; 70 | display: block; 71 | font-size: 0.8em; 72 | } 73 | .navigation li.item .title a { 74 | color: #e1e1e1; 75 | } 76 | .navigation li.item .title a:hover { 77 | color: #fff; 78 | } 79 | .navigation li.item .title .static { 80 | display: block; 81 | border-radius: 3px; 82 | background-color: #779c34; 83 | color: #000; 84 | font-size: 0.7em; 85 | padding: 2px 4px; 86 | float: right; 87 | } 88 | .navigation li.item .subtitle { 89 | margin-top: 10px; 90 | font: bold 0.65em Helvetica; 91 | color: #779c34; 92 | display: block; 93 | } 94 | .navigation li.item ul > li { 95 | font-size: 0.7em; 96 | padding-left: 8px; 97 | margin-top: 2px; 98 | } 99 | .navigation li.item .itemMembers { 100 | display: none; 101 | } 102 | .main { 103 | padding: 20px 20px; 104 | margin-left: 250px; 105 | } 106 | .main .page-title { 107 | display: none; 108 | } 109 | .main h1 { 110 | font-weight: bold; 111 | font-size: 1.6em; 112 | margin: 0; 113 | } 114 | .main h2 { 115 | font-weight: bold; 116 | font-size: 1.5em; 117 | margin: 0; 118 | } 119 | .main h3 { 120 | font-weight: bold; 121 | font-size: 12px; 122 | margin: 5px 0; 123 | } 124 | .main h4 { 125 | font-weight: bold; 126 | font-size: 1em; 127 | } 128 | .main h5 { 129 | font-weight: bold; 130 | font-size: 12px; 131 | } 132 | .main dd { 133 | font-size: 12px; 134 | } 135 | .main h4.name span.type-signature { 136 | display: inline-block; 137 | border-radius: 3px; 138 | background-color: gray; 139 | color: #fff; 140 | font-size: 0.7em; 141 | padding: 2px 4px; 142 | } 143 | .main h4.name span.type { 144 | margin-left: 5px; 145 | } 146 | .main h4.name span.glyphicon { 147 | display: inline-block; 148 | vertical-align: middle; 149 | color: #e1e1e1; 150 | margin-left: 7px; 151 | } 152 | .main h4.name span.returnType { 153 | margin-left: 3px; 154 | background-color: transparent!important; 155 | color: gray!important; 156 | } 157 | .main span.static { 158 | display: inline-block; 159 | border-radius: 3px; 160 | background-color: #779c34 !important; 161 | color: #fff; 162 | font-size: 0.7em; 163 | padding: 2px 4px; 164 | margin-right: 8px; 165 | } 166 | .main span.number { 167 | background-color: gray!important; 168 | } 169 | .main span.string { 170 | background-color: gray!important; 171 | } 172 | .main span.object { 173 | background-color: #2a6496 !important; 174 | } 175 | .main span.array { 176 | background-color: #2a6496 !important; 177 | } 178 | .main span.boolean { 179 | background-color: #ee7d7d !important; 180 | } 181 | .main .subsection-title { 182 | font-size: 14px; 183 | margin-top: 30px; 184 | color: #779c34; 185 | } 186 | .main .description { 187 | margin-top: 10px; 188 | font-size: 13px; 189 | } 190 | .main .description p { 191 | font-size: 13px; 192 | } 193 | .main .tag-source { 194 | font-size: 12px; 195 | } 196 | .main dt.tag-source { 197 | margin-top: 5px; 198 | } 199 | .main dt.tag-todo { 200 | font-size: 10px; 201 | display: inline-block; 202 | background-color: #2a6496; 203 | color: #fff; 204 | padding: 2px 4px; 205 | border-radius: 5px; 206 | } 207 | .main .type-signature { 208 | font-size: 12px; 209 | } 210 | .main .tag-deprecated { 211 | display: inline-block; 212 | font-size: 10px; 213 | } 214 | .main .important { 215 | background-color: #ee7d7d; 216 | color: #fff; 217 | padding: 2px 4px; 218 | border-radius: 5px; 219 | } 220 | .main .nameContainer { 221 | position: relative; 222 | margin-top: 20px; 223 | padding-top: 5px; 224 | border-top: 1px solid #e1e1e1; 225 | } 226 | .main .nameContainer .inherited { 227 | display: inline-block; 228 | border-radius: 3px; 229 | background-color: #888!important; 230 | font-size: 0.7em; 231 | padding: 2px 4px; 232 | margin-right: 5px; 233 | } 234 | .main .nameContainer .inherited a { 235 | color: #fff; 236 | } 237 | .main .nameContainer .tag-source { 238 | position: absolute; 239 | top: 17px; 240 | right: 0; 241 | font-size: 10px; 242 | } 243 | .main .nameContainer .tag-source a { 244 | color: gray; 245 | } 246 | .main .nameContainer.inherited { 247 | color: gray; 248 | } 249 | .main .nameContainer h4 { 250 | margin-right: 150px; 251 | line-height: 1.3; 252 | } 253 | .main .nameContainer h4 .signature { 254 | font-size: 13px; 255 | font-weight: normal; 256 | font-family: Menlo, Monaco, Consolas, "Courier New", monospace; 257 | } 258 | .main pre { 259 | font-size: 11px; 260 | } 261 | .main table { 262 | width: 100%; 263 | margin-bottom: 15px; 264 | } 265 | .main table th { 266 | padding: 3px 3px; 267 | } 268 | .main table td { 269 | vertical-align: top; 270 | padding: 5px 3px; 271 | } 272 | .main table .name { 273 | width: 110px; 274 | } 275 | .main table .type { 276 | width: 60px; 277 | color: #aaa; 278 | font-size: 11px; 279 | } 280 | .main table .attributes { 281 | width: 80px; 282 | color: #aaa; 283 | font-size: 11px; 284 | } 285 | .main table .description { 286 | font-size: 12px; 287 | } 288 | .main table .description p { 289 | margin: 0; 290 | } 291 | .main table .optional { 292 | float: left; 293 | border-radius: 3px; 294 | background-color: #ddd!important; 295 | font-size: 0.7em; 296 | padding: 2px 4px; 297 | margin-right: 5px; 298 | color: gray; 299 | } 300 | .main .readme p { 301 | margin-top: 15px; 302 | line-height: 1.2; 303 | font-size: 0.85em; 304 | } 305 | .main .readme h1 { 306 | font-size: 1.7em; 307 | } 308 | .main .readme h2 { 309 | margin-top: 30px; 310 | margin-bottom: 10px; 311 | padding-bottom: 10px; 312 | border-bottom: 1px solid #e1e1e1; 313 | } 314 | .main .readme li { 315 | font-size: 0.9em; 316 | margin-bottom: 10px; 317 | } 318 | .main article ol, 319 | .main article ul { 320 | margin-left: 25px; 321 | } 322 | .main article ol > li { 323 | list-style-type: decimal; 324 | margin-bottom: 5px; 325 | } 326 | .main article ul > li { 327 | margin-bottom: 5px; 328 | list-style-type: disc; 329 | } 330 | footer { 331 | margin: 15px 0; 332 | padding-top: 15px; 333 | border-top: 1px solid #e1e1e1; 334 | font-family: "freight-text-pro", Georgia, Cambria, "Times New Roman", Times, serif; 335 | font-size: 0.8em; 336 | color: gray; 337 | } 338 | -------------------------------------------------------------------------------- /jsdoc/template/demo/dist/styles/prettify-jsdoc.css: -------------------------------------------------------------------------------- 1 | /* JSDoc prettify.js theme */ 2 | 3 | /* plain text */ 4 | .pln { 5 | color: #000000; 6 | font-weight: normal; 7 | font-style: normal; 8 | } 9 | 10 | /* string content */ 11 | .str { 12 | color: #006400; 13 | font-weight: normal; 14 | font-style: normal; 15 | } 16 | 17 | /* a keyword */ 18 | .kwd { 19 | color: #000000; 20 | font-weight: bold; 21 | font-style: normal; 22 | } 23 | 24 | /* a comment */ 25 | .com { 26 | font-weight: normal; 27 | font-style: italic; 28 | } 29 | 30 | /* a type name */ 31 | .typ { 32 | color: #000000; 33 | font-weight: normal; 34 | font-style: normal; 35 | } 36 | 37 | /* a literal value */ 38 | .lit { 39 | color: #006400; 40 | font-weight: normal; 41 | font-style: normal; 42 | } 43 | 44 | /* punctuation */ 45 | .pun { 46 | color: #000000; 47 | font-weight: bold; 48 | font-style: normal; 49 | } 50 | 51 | /* lisp open bracket */ 52 | .opn { 53 | color: #000000; 54 | font-weight: bold; 55 | font-style: normal; 56 | } 57 | 58 | /* lisp close bracket */ 59 | .clo { 60 | color: #000000; 61 | font-weight: bold; 62 | font-style: normal; 63 | } 64 | 65 | /* a markup tag name */ 66 | .tag { 67 | color: #006400; 68 | font-weight: normal; 69 | font-style: normal; 70 | } 71 | 72 | /* a markup attribute name */ 73 | .atn { 74 | color: #006400; 75 | font-weight: normal; 76 | font-style: normal; 77 | } 78 | 79 | /* a markup attribute value */ 80 | .atv { 81 | color: #006400; 82 | font-weight: normal; 83 | font-style: normal; 84 | } 85 | 86 | /* a declaration */ 87 | .dec { 88 | color: #000000; 89 | font-weight: bold; 90 | font-style: normal; 91 | } 92 | 93 | /* a variable name */ 94 | .var { 95 | color: #000000; 96 | font-weight: normal; 97 | font-style: normal; 98 | } 99 | 100 | /* a function name */ 101 | .fun { 102 | color: #000000; 103 | font-weight: bold; 104 | font-style: normal; 105 | } 106 | 107 | /* Specify class=linenums on a pre to get line numbering */ 108 | ol.linenums { 109 | margin-top: 0; 110 | margin-bottom: 0; 111 | } 112 | -------------------------------------------------------------------------------- /jsdoc/template/demo/dist/styles/prettify-tomorrow.css: -------------------------------------------------------------------------------- 1 | /* Tomorrow Theme */ 2 | /* Original theme - https://github.com/chriskempson/tomorrow-theme */ 3 | /* Pretty printing styles. Used with prettify.js. */ 4 | /* SPAN elements with the classes below are added by prettyprint. */ 5 | /* plain text */ 6 | .pln { 7 | color: #4d4d4c; } 8 | 9 | @media screen { 10 | /* string content */ 11 | .str { 12 | color: #718c00; } 13 | 14 | /* a keyword */ 15 | .kwd { 16 | color: #8959a8; } 17 | 18 | /* a comment */ 19 | .com { 20 | color: #8e908c; } 21 | 22 | /* a type name */ 23 | .typ { 24 | color: #4271ae; } 25 | 26 | /* a literal value */ 27 | .lit { 28 | color: #f5871f; } 29 | 30 | /* punctuation */ 31 | .pun { 32 | color: #4d4d4c; } 33 | 34 | /* lisp open bracket */ 35 | .opn { 36 | color: #4d4d4c; } 37 | 38 | /* lisp close bracket */ 39 | .clo { 40 | color: #4d4d4c; } 41 | 42 | /* a markup tag name */ 43 | .tag { 44 | color: #c82829; } 45 | 46 | /* a markup attribute name */ 47 | .atn { 48 | color: #f5871f; } 49 | 50 | /* a markup attribute value */ 51 | .atv { 52 | color: #3e999f; } 53 | 54 | /* a declaration */ 55 | .dec { 56 | color: #f5871f; } 57 | 58 | /* a variable name */ 59 | .var { 60 | color: #c82829; } 61 | 62 | /* a function name */ 63 | .fun { 64 | color: #4271ae; } } 65 | /* Use higher contrast and text-weight for printable form. */ 66 | @media print, projection { 67 | .str { 68 | color: #060; } 69 | 70 | .kwd { 71 | color: #006; 72 | font-weight: bold; } 73 | 74 | .com { 75 | color: #600; 76 | font-style: italic; } 77 | 78 | .typ { 79 | color: #404; 80 | font-weight: bold; } 81 | 82 | .lit { 83 | color: #044; } 84 | 85 | .pun, .opn, .clo { 86 | color: #440; } 87 | 88 | .tag { 89 | color: #006; 90 | font-weight: bold; } 91 | 92 | .atn { 93 | color: #404; } 94 | 95 | .atv { 96 | color: #060; } } 97 | /* Style */ 98 | /* 99 | pre.prettyprint { 100 | background: white; 101 | font-family: Menlo, Monaco, Consolas, monospace; 102 | font-size: 12px; 103 | line-height: 1.5; 104 | border: 1px solid #ccc; 105 | padding: 10px; } 106 | */ 107 | 108 | /* Specify class=linenums on a pre to get line numbering */ 109 | ol.linenums { 110 | margin-top: 0; 111 | margin-bottom: 0; } 112 | 113 | /* IE indents via margin-left */ 114 | li.L0, 115 | li.L1, 116 | li.L2, 117 | li.L3, 118 | li.L4, 119 | li.L5, 120 | li.L6, 121 | li.L7, 122 | li.L8, 123 | li.L9 { 124 | /* */ } 125 | 126 | /* Alternate shading for lines */ 127 | li.L1, 128 | li.L3, 129 | li.L5, 130 | li.L7, 131 | li.L9 { 132 | /* */ } 133 | -------------------------------------------------------------------------------- /jsdoc/template/demo/sample/Car.js: -------------------------------------------------------------------------------- 1 | (function (w) { 2 | /** 3 | * quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo 4 | consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse 5 | * @class 6 | * @name namespace.Car 7 | */ 8 | w.namespace.Car = function () { 9 | }; 10 | 11 | w.namespace.Car.prototype = /** @lends namespace.Car.prototype */{ 12 | /** 13 | * Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod 14 | */ 15 | testMethod: function () { 16 | }, 17 | 18 | testMethodUnNotated: function () { 19 | }, 20 | 21 | testEvent: function () { 22 | /** 23 | * tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, 24 | * @name namespace.Car#testEvent 25 | * @event 26 | * @param {Event} e 27 | */ 28 | test.trigger(); 29 | } 30 | }; 31 | })(window); 32 | -------------------------------------------------------------------------------- /jsdoc/template/demo/sample/Child.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod 3 | tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam 4 | * @class 5 | * @extends Parent 6 | */ 7 | var Child = function () { 8 | }; 9 | 10 | Child.prototype = /** @lends Child.prototype */{ 11 | /** 12 | * cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidata 13 | * @property {Boolean} 14 | */ 15 | testPropertyInChild: '', 16 | 17 | /** 18 | * cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non 19 | */ 20 | testMethodInChild: function (paramUnNotation) { 21 | return {}; 22 | }, 23 | 24 | /** 25 | * proident, sunt in culpa qui officia deserunt mollit anim id est laborum. 26 | * @return {Object} result 27 | * @return {String} [result.property] 28 | * @return {Number} result.property2=123 cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non 29 | */ 30 | returnObject: function () { 31 | } 32 | }; -------------------------------------------------------------------------------- /jsdoc/template/demo/sample/Namespace.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @namespace 3 | */ 4 | var namespace = namespace || {}; -------------------------------------------------------------------------------- /jsdoc/template/demo/sample/Parent.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod 3 | tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam 4 | * @class 5 | */ 6 | var Parent = function () { 7 | }; 8 | 9 | Parent.prototype = /** @lends Parent.prototype */{ 10 | /** 11 | * cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidata 12 | * @property {String} 13 | */ 14 | testProperty: '', 15 | 16 | /** 17 | * Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod 18 | * @param {String|String[]} [paramA=Default Value] tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam 19 | * @param {namespace.Car} [paramB] quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo 20 | * @param {Function} [paramCallback] 21 | * @param {String} paramCallback.firstParam 22 | * @param {String} paramCallback.secondParam 23 | * @return {Array|Object} consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse 24 | */ 25 | testMethod: function (paramA, paramB, paramCallback) { 26 | return {}; 27 | } 28 | } -------------------------------------------------------------------------------- /jsdoc/template/less/common.less: -------------------------------------------------------------------------------- 1 | @navWidth: 250px; 2 | @colorSubtitle: rgb(119, 156, 52); 3 | @colorRed: rgb(238, 125, 125); 4 | @colorLink: #2a6496; 5 | @colorBgNavi: #1a1a1a; 6 | 7 | .font-description () { 8 | font-family: "freight-text-pro",Georgia,Cambria,"Times New Roman",Times,serif 9 | } -------------------------------------------------------------------------------- /jsdoc/template/less/footer.less: -------------------------------------------------------------------------------- 1 | @import "common.less"; 2 | 3 | footer { 4 | margin: 15px 0; 5 | padding-top: 15px; 6 | border-top: 1px solid #e1e1e1; 7 | .font-description(); 8 | font-size: 0.8em; 9 | color: gray; 10 | } -------------------------------------------------------------------------------- /jsdoc/template/less/jaguar.less: -------------------------------------------------------------------------------- 1 | @import "common.less"; 2 | 3 | // normalize 4 | html, body { 5 | font: 1em "jaf-bernino-sans","Lucida Grande","Lucida Sans Unicode","Lucida Sans",Geneva,Verdana,sans-serif; 6 | background-color: #fff; 7 | } 8 | ul, ol { 9 | margin: 0; 10 | padding: 0; 11 | } 12 | li { 13 | list-style-type: none; 14 | } 15 | 16 | #wrap { 17 | position: relative; 18 | } 19 | 20 | @import "navigation.less"; 21 | @import "main.less"; 22 | @import "footer.less"; -------------------------------------------------------------------------------- /jsdoc/template/less/main.less: -------------------------------------------------------------------------------- 1 | @import "common.less"; 2 | 3 | .main { 4 | padding: 20px 20px; 5 | margin-left: @navWidth; 6 | .page-title { 7 | display: none; 8 | } 9 | 10 | h1 { 11 | font-weight: bold; 12 | font-size: 1.6em; 13 | margin: 0; 14 | } 15 | 16 | h2 { 17 | font-weight: bold; 18 | font-size: 1.5em; 19 | margin: 0; 20 | } 21 | 22 | h3 { 23 | font-weight: bold; 24 | font-size: 12px; 25 | margin: 5px 0; 26 | } 27 | 28 | h4 { 29 | font-weight: bold; 30 | font-size: 1em; 31 | } 32 | 33 | h5 { 34 | font-weight: bold; 35 | font-size: 12px; 36 | } 37 | 38 | dd { 39 | font-size: 12px; 40 | } 41 | 42 | h4.name { 43 | span.type-signature { 44 | display: inline-block; 45 | border-radius: 3px; 46 | background-color: gray; 47 | color: #fff; 48 | font-size: 0.7em; 49 | padding: 2px 4px; 50 | } 51 | 52 | span.type { 53 | margin-left: 5px; 54 | } 55 | 56 | span.glyphicon { 57 | display: inline-block; 58 | vertical-align: middle; 59 | color: #e1e1e1; 60 | margin-left: 7px; 61 | } 62 | 63 | span.returnType { 64 | margin-left: 3px; 65 | background-color: transparent!important; 66 | color: gray!important; 67 | } 68 | } 69 | 70 | 71 | span.static { 72 | display: inline-block; 73 | border-radius: 3px; 74 | background-color: @colorSubtitle!important; 75 | color: #fff; 76 | font-size: 0.7em; 77 | padding: 2px 4px; 78 | margin-right: 8px; 79 | } 80 | 81 | span.number { 82 | background-color: gray!important; 83 | } 84 | 85 | span.string { 86 | background-color: gray!important; 87 | } 88 | 89 | span.object { 90 | background-color: @colorLink!important; 91 | } 92 | 93 | span.array { 94 | background-color: @colorLink!important; 95 | } 96 | 97 | span.boolean { 98 | background-color: @colorRed!important; 99 | } 100 | 101 | .subsection-title { 102 | font-size: 14px; 103 | margin-top: 30px; 104 | color: @colorSubtitle; 105 | } 106 | 107 | .description { 108 | margin-top: 10px; 109 | // .font-description(); 110 | font-size: 13px; 111 | 112 | p { 113 | font-size: 13px; 114 | } 115 | } 116 | 117 | .tag-source { 118 | font-size: 12px; 119 | } 120 | dt.tag-source { 121 | margin-top: 5px; 122 | } 123 | 124 | dt.tag-todo { 125 | font-size: 10px; 126 | display: inline-block; 127 | background-color: @colorLink; 128 | color: #fff; 129 | padding: 2px 4px; 130 | border-radius: 5px; 131 | } 132 | 133 | .type-signature { 134 | font-size: 12px; 135 | } 136 | 137 | .tag-deprecated { 138 | display: inline-block; 139 | font-size: 10px; 140 | } 141 | 142 | .important { 143 | background-color: @colorRed; 144 | color: #fff; 145 | padding: 2px 4px; 146 | border-radius: 5px; 147 | } 148 | 149 | .nameContainer { 150 | position: relative; 151 | margin-top: 20px; 152 | padding-top: 5px; 153 | border-top: 1px solid #e1e1e1; 154 | 155 | .inherited { 156 | display: inline-block; 157 | border-radius: 3px; 158 | background-color: #888!important; 159 | font-size: 0.7em; 160 | padding: 2px 4px; 161 | margin-right: 5px; 162 | a { 163 | color: #fff; 164 | } 165 | } 166 | 167 | .tag-source { 168 | position: absolute; 169 | top: 17px; 170 | right: 0; 171 | font-size: 10px; 172 | a { 173 | color: gray; 174 | } 175 | } 176 | 177 | &.inherited { 178 | color: gray; 179 | } 180 | 181 | h4 { 182 | margin-right: 150px; 183 | line-height: 1.3; 184 | 185 | .signature { 186 | font-size: 13px; 187 | font-weight: normal; 188 | font-family: Menlo,Monaco,Consolas,"Courier New",monospace; 189 | } 190 | } 191 | } 192 | 193 | pre { 194 | font-size: 11px; 195 | } 196 | 197 | table { 198 | width: 100%; 199 | margin-bottom: 15px; 200 | 201 | th { 202 | padding: 3px 3px; 203 | } 204 | 205 | td { 206 | vertical-align: top; 207 | padding: 5px 3px; 208 | } 209 | 210 | .name { 211 | width: 110px; 212 | } 213 | 214 | .type { 215 | width: 60px; 216 | color: #aaa; 217 | font-size: 11px; 218 | } 219 | 220 | .attributes { 221 | width: 80px; 222 | color: #aaa; 223 | font-size: 11px; 224 | } 225 | 226 | .description { 227 | font-size: 12px; 228 | p { 229 | margin: 0; 230 | } 231 | } 232 | 233 | .optional { 234 | float: left; 235 | border-radius: 3px; 236 | background-color: #ddd!important; 237 | font-size: 0.7em; 238 | padding: 2px 4px; 239 | margin-right: 5px; 240 | color: gray; 241 | } 242 | } 243 | 244 | .readme { 245 | p { 246 | margin-top: 15px; 247 | line-height: 1.2; 248 | font-size: 0.85em; 249 | } 250 | 251 | h1 { 252 | font-size: 1.7em; 253 | } 254 | 255 | h2 { 256 | margin-top: 30px; 257 | margin-bottom: 10px; 258 | padding-bottom: 10px; 259 | border-bottom: 1px solid #e1e1e1; 260 | } 261 | 262 | li { 263 | font-size: 0.9em; 264 | margin-bottom: 10px; 265 | } 266 | } 267 | 268 | article { 269 | ol, ul { 270 | margin-left: 25px; 271 | } 272 | 273 | ol > li { 274 | list-style-type: decimal; 275 | margin-bottom: 5px; 276 | } 277 | 278 | ul > li { 279 | margin-bottom: 5px; 280 | list-style-type: disc; 281 | } 282 | } 283 | } -------------------------------------------------------------------------------- /jsdoc/template/less/navigation.less: -------------------------------------------------------------------------------- 1 | @import "common.less"; 2 | 3 | ::-webkit-scrollbar { 4 | width: 8px; 5 | background-color: transparent; 6 | } 7 | 8 | ::-webkit-scrollbar-thumb { 9 | background-color: gray; 10 | border-radius: 4px; 11 | } 12 | 13 | .navigation { 14 | position: fixed; 15 | float: left; 16 | width: @navWidth; 17 | height: 100%; 18 | background-color: @colorBgNavi; 19 | 20 | .applicationName { 21 | margin: 0; 22 | margin-top: 15px; 23 | padding: 10px 15px; 24 | font: bold 1.25em Helvetica; 25 | color: #fff; 26 | 27 | a { 28 | color: #fff; 29 | } 30 | } 31 | 32 | .search { 33 | padding: 10px 15px; 34 | 35 | input { 36 | background-color: #333; 37 | color: #fff; 38 | border-color: #555; 39 | } 40 | } 41 | 42 | .list { 43 | padding: 10px 15px 0 15px; 44 | position: relative; 45 | overflow: auto; 46 | width: 100%; 47 | } 48 | 49 | li.item { 50 | margin-bottom: 8px; 51 | padding-bottom: 8px; 52 | border-bottom: 1px solid #333; 53 | 54 | a { 55 | color: #bbb; 56 | &:hover { 57 | color: #fff; 58 | } 59 | } 60 | .title { 61 | cursor: pointer; 62 | position: relative; 63 | a { 64 | color: #e1e1e1; 65 | &:hover { 66 | color: #fff; 67 | } 68 | } 69 | display: block; 70 | font-size: 0.8em; 71 | 72 | .static { 73 | display: block; 74 | border-radius: 3px; 75 | background-color: @colorSubtitle; 76 | color: #000; 77 | font-size: 0.7em; 78 | padding: 2px 4px; 79 | float: right; 80 | } 81 | } 82 | 83 | .subtitle { 84 | margin-top: 10px; 85 | font: bold 0.65em Helvetica; 86 | color: @colorSubtitle; 87 | display: block; 88 | } 89 | 90 | 91 | ul { 92 | & > li { 93 | font-size: 0.7em; 94 | padding-left: 8px; 95 | margin-top: 2px; 96 | } 97 | } 98 | 99 | .itemMembers { 100 | display: none; 101 | } 102 | } 103 | } -------------------------------------------------------------------------------- /jsdoc/template/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "jaguarjs-jsdoc", 3 | "version": "0.0.1", 4 | "description": "Jaguar.js template for JSDoc 3", 5 | "main": "Gruntfile.js", 6 | "dependencies": { 7 | }, 8 | "devDependencies": { 9 | "connect-livereload": "~0.3.2", 10 | "grunt": "~0.4.2", 11 | "grunt-contrib-clean": "~0.5.0", 12 | "grunt-contrib-copy": "~0.5.0", 13 | "grunt-contrib-less": "~0.9.0", 14 | "grunt-contrib-uglify": "~0.2.7", 15 | "grunt-contrib-watch": "~0.5.3", 16 | "grunt-jsdoc": "~0.5.1", 17 | "grunt-contrib-connect": "~0.6.0" 18 | }, 19 | "scripts": { 20 | "test": "echo \"Error: no test specified\" && exit 1" 21 | }, 22 | "repository": { 23 | "type": "git", 24 | "url": "git://github.com/davidshimjs/jaguarjs-jsdoc.git" 25 | }, 26 | "keywords": [ 27 | "jsdoc", 28 | "jsdoc3", 29 | "jaguar.js", 30 | "template" 31 | ], 32 | "author": "davidshimjs", 33 | "license": "MIT", 34 | "readmeFilename": "README.md", 35 | "bugs": { 36 | "url": "https://github.com/davidshimjs/jaguarjs-jsdoc/issues" 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /jsdoc/template/static/fonts/glyphicons-halflings-regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devnup/angular-modal-alerts/9a36df0fa8888e46df2be9342e70122704116762/jsdoc/template/static/fonts/glyphicons-halflings-regular.eot -------------------------------------------------------------------------------- /jsdoc/template/static/fonts/glyphicons-halflings-regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devnup/angular-modal-alerts/9a36df0fa8888e46df2be9342e70122704116762/jsdoc/template/static/fonts/glyphicons-halflings-regular.ttf -------------------------------------------------------------------------------- /jsdoc/template/static/fonts/glyphicons-halflings-regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devnup/angular-modal-alerts/9a36df0fa8888e46df2be9342e70122704116762/jsdoc/template/static/fonts/glyphicons-halflings-regular.woff -------------------------------------------------------------------------------- /jsdoc/template/static/scripts/linenumber.js: -------------------------------------------------------------------------------- 1 | (function() { 2 | var counter = 0; 3 | var numbered; 4 | var source = document.getElementsByClassName('prettyprint source'); 5 | 6 | if (source && source[0]) { 7 | var linenums = config.linenums; 8 | 9 | if (linenums) { 10 | source = source[0].getElementsByTagName('ol')[0]; 11 | 12 | numbered = Array.prototype.slice.apply(source.children); 13 | numbered = numbered.map(function(item) { 14 | counter++; 15 | item.id = 'line' + counter; 16 | }); 17 | } else { 18 | source = source[0].getElementsByTagName('code')[0]; 19 | 20 | numbered = source.innerHTML.split('\n'); 21 | numbered = numbered.map(function(item) { 22 | counter++; 23 | return '' + item; 24 | }); 25 | 26 | source.innerHTML = numbered.join('\n'); 27 | } 28 | } 29 | })(); 30 | -------------------------------------------------------------------------------- /jsdoc/template/static/scripts/main.js: -------------------------------------------------------------------------------- 1 | $(function () { 2 | // Search Items 3 | $('#search').on('keyup', function (e) { 4 | var value = $(this).val(); 5 | var $el = $('.navigation'); 6 | 7 | if (value) { 8 | var regexp = new RegExp(value, 'i'); 9 | $el.find('li, .itemMembers').hide(); 10 | 11 | $el.find('li').each(function (i, v) { 12 | var $item = $(v); 13 | 14 | if ($item.data('name') && regexp.test($item.data('name'))) { 15 | $item.show(); 16 | $item.closest('.itemMembers').show(); 17 | $item.closest('.item').show(); 18 | } 19 | }); 20 | } else { 21 | $el.find('.item, .itemMembers').show(); 22 | } 23 | 24 | $el.find('.list').scrollTop(0); 25 | }); 26 | 27 | // Toggle when click an item element 28 | $('.navigation').on('click', '.title', function (e) { 29 | $(this).parent().find('.itemMembers').toggle(); 30 | }); 31 | 32 | // Show an item related a current documentation automatically 33 | var filename = $('.page-title').data('filename').replace(/\.[a-z]+$/, ''); 34 | var $currentItem = $('.navigation .item[data-name*="' + filename + '"]:eq(0)'); 35 | 36 | if ($currentItem.length) { 37 | $currentItem 38 | .remove() 39 | .prependTo('.navigation .list') 40 | .show() 41 | .find('.itemMembers') 42 | .show(); 43 | } 44 | 45 | // Auto resizing on navigation 46 | var _onResize = function () { 47 | var height = $(window).height(); 48 | var $el = $('.navigation'); 49 | 50 | $el.height(height).find('.list').height(height - 133); 51 | }; 52 | 53 | $(window).on('resize', _onResize); 54 | _onResize(); 55 | 56 | // disqus code 57 | if (config.disqus) { 58 | $(window).on('load', function () { 59 | var disqus_shortname = config.disqus; // required: replace example with your forum shortname 60 | var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true; 61 | dsq.src = 'http://' + disqus_shortname + '.disqus.com/embed.js'; 62 | (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq); 63 | var s = document.createElement('script'); s.async = true; 64 | s.type = 'text/javascript'; 65 | s.src = 'http://' + disqus_shortname + '.disqus.com/count.js'; 66 | document.getElementsByTagName('BODY')[0].appendChild(s); 67 | }); 68 | } 69 | }); -------------------------------------------------------------------------------- /jsdoc/template/static/scripts/prettify/lang-css.js: -------------------------------------------------------------------------------- 1 | PR.registerLangHandler(PR.createSimpleLexer([["pln",/^[\t\n\f\r ]+/,null," \t\r\n "]],[["str",/^"(?:[^\n\f\r"\\]|\\(?:\r\n?|\n|\f)|\\[\S\s])*"/,null],["str",/^'(?:[^\n\f\r'\\]|\\(?:\r\n?|\n|\f)|\\[\S\s])*'/,null],["lang-css-str",/^url\(([^"')]*)\)/i],["kwd",/^(?:url|rgb|!important|@import|@page|@media|@charset|inherit)(?=[^\w-]|$)/i,null],["lang-css-kw",/^(-?(?:[_a-z]|\\[\da-f]+ ?)(?:[\w-]|\\\\[\da-f]+ ?)*)\s*:/i],["com",/^\/\*[^*]*\*+(?:[^*/][^*]*\*+)*\//],["com", 2 | /^(?:<\!--|--\>)/],["lit",/^(?:\d+|\d*\.\d+)(?:%|[a-z]+)?/i],["lit",/^#[\da-f]{3,6}/i],["pln",/^-?(?:[_a-z]|\\[\da-f]+ ?)(?:[\w-]|\\\\[\da-f]+ ?)*/i],["pun",/^[^\s\w"']+/]]),["css"]);PR.registerLangHandler(PR.createSimpleLexer([],[["kwd",/^-?(?:[_a-z]|\\[\da-f]+ ?)(?:[\w-]|\\\\[\da-f]+ ?)*/i]]),["css-kw"]);PR.registerLangHandler(PR.createSimpleLexer([],[["str",/^[^"')]+/]]),["css-str"]); 3 | -------------------------------------------------------------------------------- /jsdoc/template/static/styles/jaguar.css: -------------------------------------------------------------------------------- 1 | html, 2 | body { 3 | font: 1em "jaf-bernino-sans", "Lucida Grande", "Lucida Sans Unicode", "Lucida Sans", Geneva, Verdana, sans-serif; 4 | background-color: #fff; 5 | } 6 | ul, 7 | ol { 8 | margin: 0; 9 | padding: 0; 10 | } 11 | li { 12 | list-style-type: none; 13 | } 14 | #wrap { 15 | position: relative; 16 | } 17 | ::-webkit-scrollbar { 18 | width: 8px; 19 | background-color: transparent; 20 | } 21 | ::-webkit-scrollbar-thumb { 22 | background-color: gray; 23 | border-radius: 4px; 24 | } 25 | .navigation { 26 | position: fixed; 27 | float: left; 28 | width: 400px; 29 | height: 100%; 30 | background-color: #1a1a1a; 31 | } 32 | .navigation .applicationName { 33 | margin: 0; 34 | margin-top: 15px; 35 | padding: 10px 15px; 36 | font: bold 1.25em Helvetica; 37 | color: #fff; 38 | } 39 | .navigation .applicationName a { 40 | color: #fff; 41 | } 42 | .navigation .search { 43 | padding: 10px 15px; 44 | } 45 | .navigation .search input { 46 | background-color: #333; 47 | color: #fff; 48 | border-color: #555; 49 | } 50 | .navigation .list { 51 | padding: 10px 15px 0 15px; 52 | position: relative; 53 | overflow: auto; 54 | width: 100%; 55 | } 56 | .navigation li.item { 57 | margin-bottom: 8px; 58 | padding-bottom: 8px; 59 | border-bottom: 1px solid #333; 60 | } 61 | .navigation li.item a { 62 | color: #bbb; 63 | } 64 | .navigation li.item a:hover { 65 | color: #fff; 66 | } 67 | .navigation li.item .title { 68 | cursor: pointer; 69 | position: relative; 70 | display: block; 71 | font-size: 0.8em; 72 | } 73 | .navigation li.item .title a { 74 | color: #e1e1e1; 75 | } 76 | .navigation li.item .title a:hover { 77 | color: #fff; 78 | } 79 | .navigation li.item .title .static { 80 | display: block; 81 | border-radius: 3px; 82 | background-color: #779c34; 83 | color: #000; 84 | font-size: 0.7em; 85 | padding: 2px 4px; 86 | float: right; 87 | } 88 | .navigation li.item .subtitle { 89 | margin-top: 10px; 90 | font: bold 0.65em Helvetica; 91 | color: #779c34; 92 | display: block; 93 | } 94 | .navigation li.item ul > li { 95 | font-size: 0.7em; 96 | padding-left: 8px; 97 | margin-top: 2px; 98 | } 99 | .navigation li.item .itemMembers { 100 | display: none; 101 | } 102 | .main { 103 | padding: 20px 20px; 104 | margin-left: 400px; 105 | } 106 | .main .page-title { 107 | display: none; 108 | } 109 | .main h1 { 110 | font-weight: bold; 111 | font-size: 1.6em; 112 | margin: 0; 113 | } 114 | .main h2 { 115 | font-weight: bold; 116 | font-size: 1.5em; 117 | margin: 0; 118 | } 119 | .main h3 { 120 | font-weight: bold; 121 | font-size: 12px; 122 | margin: 5px 0; 123 | } 124 | .main h4 { 125 | font-weight: bold; 126 | font-size: 1em; 127 | } 128 | .main h5 { 129 | font-weight: bold; 130 | font-size: 12px; 131 | } 132 | .main dd { 133 | font-size: 12px; 134 | } 135 | .main h4.name span.type-signature { 136 | display: inline-block; 137 | border-radius: 3px; 138 | background-color: gray; 139 | color: #fff; 140 | font-size: 0.7em; 141 | padding: 2px 4px; 142 | } 143 | .main h4.name span.type-signature.type a { 144 | color: #fff; 145 | } 146 | .main h4.name > span.type-signature:first-child { 147 | margin-right: 8px; 148 | } 149 | .main h4.name span.type { 150 | margin-left: 5px; 151 | } 152 | .main h4.name span.glyphicon { 153 | display: inline-block; 154 | vertical-align: middle; 155 | color: #e1e1e1; 156 | margin-left: 7px; 157 | } 158 | .main h4.name span.returnType { 159 | margin-left: 3px; 160 | background-color: transparent!important; 161 | color: gray!important; 162 | } 163 | .main span.static { 164 | display: inline-block; 165 | border-radius: 3px; 166 | background-color: #779c34 !important; 167 | color: #fff; 168 | font-size: 0.7em; 169 | padding: 2px 4px; 170 | margin-right: 8px; 171 | } 172 | .main span.number { 173 | background-color: gray!important; 174 | } 175 | .main span.string { 176 | background-color: gray!important; 177 | } 178 | .main span.object { 179 | background-color: #2a6496 !important; 180 | } 181 | .main span.array { 182 | background-color: #2a6496 !important; 183 | } 184 | .main span.boolean { 185 | background-color: #ee7d7d !important; 186 | } 187 | .main .subsection-title { 188 | font-size: 14px; 189 | margin-top: 30px; 190 | color: #779c34; 191 | } 192 | .main .description { 193 | margin-top: 10px; 194 | font-size: 13px; 195 | } 196 | .main .description p { 197 | font-size: 13px; 198 | } 199 | .main .tag-source { 200 | font-size: 12px; 201 | } 202 | .main dt.tag-source { 203 | margin-top: 5px; 204 | } 205 | .main dt.tag-todo { 206 | font-size: 10px; 207 | display: inline-block; 208 | background-color: #2a6496; 209 | color: #fff; 210 | padding: 2px 4px; 211 | border-radius: 5px; 212 | } 213 | .main .type-signature { 214 | font-size: 12px; 215 | } 216 | .main .tag-deprecated { 217 | display: inline-block; 218 | font-size: 10px; 219 | } 220 | .main .important { 221 | background-color: #ee7d7d; 222 | color: #fff; 223 | padding: 2px 4px; 224 | border-radius: 5px; 225 | } 226 | .main .nameContainer { 227 | position: relative; 228 | margin-top: 20px; 229 | padding-top: 5px; 230 | border-top: 1px solid #e1e1e1; 231 | } 232 | .main .nameContainer .inherited { 233 | display: inline-block; 234 | border-radius: 3px; 235 | background-color: #888!important; 236 | font-size: 0.7em; 237 | padding: 2px 4px; 238 | margin-right: 5px; 239 | } 240 | .main .nameContainer .inherited a { 241 | color: #fff; 242 | } 243 | .main .nameContainer .tag-source { 244 | position: absolute; 245 | top: 17px; 246 | right: 0; 247 | font-size: 10px; 248 | } 249 | .main .nameContainer .tag-source a { 250 | color: gray; 251 | } 252 | .main .nameContainer.inherited { 253 | color: gray; 254 | } 255 | .main .nameContainer h4 { 256 | margin-right: 150px; 257 | line-height: 1.3; 258 | } 259 | .main .nameContainer h4 .signature { 260 | font-size: 13px; 261 | font-weight: normal; 262 | font-family: Menlo, Monaco, Consolas, "Courier New", monospace; 263 | } 264 | .main pre { 265 | font-size: 11px; 266 | } 267 | .main table { 268 | width: 100%; 269 | margin-bottom: 15px; 270 | } 271 | .main table th { 272 | padding: 3px 3px; 273 | } 274 | .main table td { 275 | vertical-align: top; 276 | padding: 5px 3px; 277 | } 278 | .main table .name { 279 | width: 110px; 280 | } 281 | .main table .type { 282 | width: 110px; 283 | color: #aaa; 284 | font-size: 11px; 285 | } 286 | .main table .attributes { 287 | width: 80px; 288 | color: #aaa; 289 | font-size: 11px; 290 | } 291 | .main table .description { 292 | font-size: 12px; 293 | } 294 | .main table .description p { 295 | margin: 0; 296 | } 297 | .main table .optional { 298 | float: left; 299 | border-radius: 3px; 300 | background-color: #ddd!important; 301 | font-size: 0.7em; 302 | padding: 2px 4px; 303 | margin-right: 5px; 304 | color: gray; 305 | } 306 | .main .readme p { 307 | margin-top: 15px; 308 | line-height: 1.2; 309 | font-size: 0.85em; 310 | } 311 | .main .readme h1 { 312 | font-size: 1.7em; 313 | } 314 | .main .readme h2 { 315 | margin-top: 30px; 316 | margin-bottom: 10px; 317 | padding-bottom: 10px; 318 | border-bottom: 1px solid #e1e1e1; 319 | } 320 | .main .readme li { 321 | font-size: 0.9em; 322 | margin-bottom: 10px; 323 | } 324 | .main article ol, 325 | .main article ul { 326 | margin-left: 25px; 327 | } 328 | .main article ol > li { 329 | list-style-type: decimal; 330 | margin-bottom: 5px; 331 | } 332 | .main article ul > li { 333 | margin-bottom: 5px; 334 | list-style-type: disc; 335 | } 336 | footer { 337 | margin: 15px 0; 338 | padding-top: 15px; 339 | border-top: 1px solid #e1e1e1; 340 | font-family: "freight-text-pro", Georgia, Cambria, "Times New Roman", Times, serif; 341 | font-size: 0.8em; 342 | color: gray; 343 | } 344 | -------------------------------------------------------------------------------- /jsdoc/template/static/styles/prettify-jsdoc.css: -------------------------------------------------------------------------------- 1 | /* JSDoc prettify.js theme */ 2 | 3 | /* plain text */ 4 | .pln { 5 | color: #000000; 6 | font-weight: normal; 7 | font-style: normal; 8 | } 9 | 10 | /* string content */ 11 | .str { 12 | color: #006400; 13 | font-weight: normal; 14 | font-style: normal; 15 | } 16 | 17 | /* a keyword */ 18 | .kwd { 19 | color: #000000; 20 | font-weight: bold; 21 | font-style: normal; 22 | } 23 | 24 | /* a comment */ 25 | .com { 26 | font-weight: normal; 27 | font-style: italic; 28 | } 29 | 30 | /* a type name */ 31 | .typ { 32 | color: #000000; 33 | font-weight: normal; 34 | font-style: normal; 35 | } 36 | 37 | /* a literal value */ 38 | .lit { 39 | color: #006400; 40 | font-weight: normal; 41 | font-style: normal; 42 | } 43 | 44 | /* punctuation */ 45 | .pun { 46 | color: #000000; 47 | font-weight: bold; 48 | font-style: normal; 49 | } 50 | 51 | /* lisp open bracket */ 52 | .opn { 53 | color: #000000; 54 | font-weight: bold; 55 | font-style: normal; 56 | } 57 | 58 | /* lisp close bracket */ 59 | .clo { 60 | color: #000000; 61 | font-weight: bold; 62 | font-style: normal; 63 | } 64 | 65 | /* a markup tag name */ 66 | .tag { 67 | color: #006400; 68 | font-weight: normal; 69 | font-style: normal; 70 | } 71 | 72 | /* a markup attribute name */ 73 | .atn { 74 | color: #006400; 75 | font-weight: normal; 76 | font-style: normal; 77 | } 78 | 79 | /* a markup attribute value */ 80 | .atv { 81 | color: #006400; 82 | font-weight: normal; 83 | font-style: normal; 84 | } 85 | 86 | /* a declaration */ 87 | .dec { 88 | color: #000000; 89 | font-weight: bold; 90 | font-style: normal; 91 | } 92 | 93 | /* a variable name */ 94 | .var { 95 | color: #000000; 96 | font-weight: normal; 97 | font-style: normal; 98 | } 99 | 100 | /* a function name */ 101 | .fun { 102 | color: #000000; 103 | font-weight: bold; 104 | font-style: normal; 105 | } 106 | 107 | /* Specify class=linenums on a pre to get line numbering */ 108 | ol.linenums { 109 | margin-top: 0; 110 | margin-bottom: 0; 111 | } 112 | -------------------------------------------------------------------------------- /jsdoc/template/static/styles/prettify-tomorrow.css: -------------------------------------------------------------------------------- 1 | /* Tomorrow Theme */ 2 | /* Original theme - https://github.com/chriskempson/tomorrow-theme */ 3 | /* Pretty printing styles. Used with prettify.js. */ 4 | /* SPAN elements with the classes below are added by prettyprint. */ 5 | /* plain text */ 6 | .pln { 7 | color: #4d4d4c; } 8 | 9 | @media screen { 10 | /* string content */ 11 | .str { 12 | color: #718c00; } 13 | 14 | /* a keyword */ 15 | .kwd { 16 | color: #8959a8; } 17 | 18 | /* a comment */ 19 | .com { 20 | color: #8e908c; } 21 | 22 | /* a type name */ 23 | .typ { 24 | color: #4271ae; } 25 | 26 | /* a literal value */ 27 | .lit { 28 | color: #f5871f; } 29 | 30 | /* punctuation */ 31 | .pun { 32 | color: #4d4d4c; } 33 | 34 | /* lisp open bracket */ 35 | .opn { 36 | color: #4d4d4c; } 37 | 38 | /* lisp close bracket */ 39 | .clo { 40 | color: #4d4d4c; } 41 | 42 | /* a markup tag name */ 43 | .tag { 44 | color: #c82829; } 45 | 46 | /* a markup attribute name */ 47 | .atn { 48 | color: #f5871f; } 49 | 50 | /* a markup attribute value */ 51 | .atv { 52 | color: #3e999f; } 53 | 54 | /* a declaration */ 55 | .dec { 56 | color: #f5871f; } 57 | 58 | /* a variable name */ 59 | .var { 60 | color: #c82829; } 61 | 62 | /* a function name */ 63 | .fun { 64 | color: #4271ae; } } 65 | /* Use higher contrast and text-weight for printable form. */ 66 | @media print, projection { 67 | .str { 68 | color: #060; } 69 | 70 | .kwd { 71 | color: #006; 72 | font-weight: bold; } 73 | 74 | .com { 75 | color: #600; 76 | font-style: italic; } 77 | 78 | .typ { 79 | color: #404; 80 | font-weight: bold; } 81 | 82 | .lit { 83 | color: #044; } 84 | 85 | .pun, .opn, .clo { 86 | color: #440; } 87 | 88 | .tag { 89 | color: #006; 90 | font-weight: bold; } 91 | 92 | .atn { 93 | color: #404; } 94 | 95 | .atv { 96 | color: #060; } } 97 | /* Style */ 98 | /* 99 | pre.prettyprint { 100 | background: white; 101 | font-family: Menlo, Monaco, Consolas, monospace; 102 | font-size: 12px; 103 | line-height: 1.5; 104 | border: 1px solid #ccc; 105 | padding: 10px; } 106 | */ 107 | 108 | /* Specify class=linenums on a pre to get line numbering */ 109 | ol.linenums { 110 | margin-top: 0; 111 | margin-bottom: 0; } 112 | 113 | /* IE indents via margin-left */ 114 | li.L0, 115 | li.L1, 116 | li.L2, 117 | li.L3, 118 | li.L4, 119 | li.L5, 120 | li.L6, 121 | li.L7, 122 | li.L8, 123 | li.L9 { 124 | /* */ } 125 | 126 | /* Alternate shading for lines */ 127 | li.L1, 128 | li.L3, 129 | li.L5, 130 | li.L7, 131 | li.L9 { 132 | /* */ } 133 | -------------------------------------------------------------------------------- /jsdoc/template/tmpl/container.tmpl: -------------------------------------------------------------------------------- 1 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 |
15 |

16 | 17 | 18 | 19 | 20 | 21 |

22 | 23 |
24 | 25 |
26 | 27 |
28 |
29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 |
38 | 39 | 40 | 41 | 42 | 43 |

Example 1? 's':'' ?>

44 | 45 | 46 | 47 |
48 | 49 | 50 |

Extends

51 | 52 |
    53 |
  • 54 |
55 | 56 | 57 | 58 |

Mixes In

59 | 60 |
    61 |
  • 62 |
63 | 64 | 65 | 66 |

Requires

67 | 68 |
    69 |
  • 70 |
71 | 72 | 73 | 77 |

Classes

78 | 79 |
80 |
81 |
82 |
83 | 84 | 85 | 89 |

Namespaces

90 | 91 |
92 |
93 |
94 |
95 | 96 | 97 | 101 |

Members

102 | 103 |
104 | 105 |
106 | 107 | 108 | 112 |

Methods

113 | 114 |
115 | 116 |
117 | 118 | 119 | 123 |

Type Definitions

124 | 125 |
128 | 129 | 133 | 134 |
137 | 138 | 139 | 143 |

Events

144 | 145 |
146 | 147 |
148 | 149 |
150 | 151 |
152 | 153 | 154 | 155 | -------------------------------------------------------------------------------- /jsdoc/template/tmpl/details.tmpl: -------------------------------------------------------------------------------- 1 | 5 |
6 | 10 | 11 |
Properties:
12 | 13 |
14 | 15 | 16 | 17 | 18 |
Version:
19 |
20 | 21 | 22 | 23 |
Since:
24 |
25 | 26 | 27 | 28 |
Deprecated
  • Yes
    32 | 33 | 34 | 35 |
    Author:
    36 |
    37 |
      38 |
    • 39 |
    40 |
    41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 |
    License:
    50 |
    51 | 52 | 53 | 54 |
    Default Value:
    55 |
    56 | 57 | 58 | 59 |
    Tutorials:
    60 |
    61 |
      62 |
    • 63 |
    64 |
    65 | 66 | 67 | 68 |
    See:
    69 |
    70 |
      71 |
    • 72 |
    73 |
    74 | 75 | 76 | 77 |
    TODO
    78 |
    79 |
      80 |
    • 81 |
    82 |
    83 | 84 |
    85 | -------------------------------------------------------------------------------- /jsdoc/template/tmpl/example.tmpl: -------------------------------------------------------------------------------- 1 | 2 |
    3 | -------------------------------------------------------------------------------- /jsdoc/template/tmpl/examples.tmpl: -------------------------------------------------------------------------------- 1 | 6 |

    7 | 8 | 9 | ') === -1) { ?> 10 |
    11 | 12 | /g, '
    ') ?>
    13 |     
    14 | 
    
    
    --------------------------------------------------------------------------------
    /jsdoc/template/tmpl/exceptions.tmpl:
    --------------------------------------------------------------------------------
     1 | 
     4 | 
     5 | 
    6 |
    7 |
    8 | 9 |
    10 |
    11 |
    12 |
    13 |
    14 | Type 15 |
    16 |
    17 | 18 |
    19 |
    20 |
    21 |
    22 | 23 |
    24 | 25 | 26 | 27 | 28 | 29 |
    30 | 31 | -------------------------------------------------------------------------------- /jsdoc/template/tmpl/layout.tmpl: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | <?js= ((env.conf.templates.meta && env.conf.templates.meta.title) || title) ?> 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 26 | 27 | 28 | 29 | 30 | 31 | 34 | 35 | 36 | 37 | 48 | 49 | 50 | 51 |
    52 | 53 |
    54 |

    55 | 56 | 57 | 58 | 59 |
    60 | 61 | comments powered by Disqus 62 | 63 | 64 | 65 |
    66 | Documentation generated by JSDoc on 67 |
    68 |
    69 |
    70 | 71 | 72 | 73 | 74 | 75 | -------------------------------------------------------------------------------- /jsdoc/template/tmpl/mainpage.tmpl: -------------------------------------------------------------------------------- 1 | 5 | 6 | 7 |

    8 | 9 | 10 | 11 |
    12 |
    13 |
    14 | -------------------------------------------------------------------------------- /jsdoc/template/tmpl/members.tmpl: -------------------------------------------------------------------------------- 1 | ' + self.linkto(name, self.htmlsafe(name)) + ' '; 9 | }); 10 | } 11 | ?> 12 |
    13 |
    14 |

    15 |
    16 | 17 | 18 |

    19 | 20 |
    21 |
    22 | 23 |
    24 | 25 |
    26 | 27 | 28 | 29 | 30 | 31 |
    Example 1? 's':'' ?>
    32 | 33 | 34 |
    35 | -------------------------------------------------------------------------------- /jsdoc/template/tmpl/method.tmpl: -------------------------------------------------------------------------------- 1 | 5 |
    6 |
    7 |

    8 | 9 | 10 | 11 | 12 |

    13 | 14 | 15 |
    16 | , 17 |
    18 | 19 |
    20 | 21 | 22 |

    23 | 24 |
    25 |
    26 | 27 | 28 |
    29 | 30 |
    31 | 32 | 33 | 34 |
    Type:
    35 |
      36 |
    • 37 | 38 |
    • 39 |
    40 | 41 | 42 | 43 |
    This:
    44 |
    45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 |
    Fires:
    55 |
      56 |
    • 57 |
    58 | 59 | 60 | 61 |
    Listens to Events:
    62 |
      63 |
    • 64 |
    65 | 66 | 67 | 68 |
    Listeners of This Event:
    69 |
      70 |
    • 71 |
    72 | 73 | 74 | 75 |
    Throws:
    76 | 1) { ?>
      78 |
    • 79 |
    82 | 83 | 85 | 86 | 87 | 1) { ?>
    Returns:
    88 | 89 | 90 | 91 | 92 |
    Example 1? 's':'' ?>
    93 | 94 | 95 |
    96 | -------------------------------------------------------------------------------- /jsdoc/template/tmpl/navigation.tmpl: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /jsdoc/template/tmpl/params.tmpl: -------------------------------------------------------------------------------- 1 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 75 | 76 | 77 | 82 | 83 | 84 | 100 | 101 | 102 | 103 | 104 |
    NameTypeDefaultDescription
    71 | 72 | 73 | 74 | 78 | 79 | 80 | 81 | 85 | 86 | 87 | optional 88 | 89 | 90 | nullable 91 | 92 | 93 | 94 | repeatable 95 | 96 | 97 | 98 | 99 |
    -------------------------------------------------------------------------------- /jsdoc/template/tmpl/properties.tmpl: -------------------------------------------------------------------------------- 1 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 79 | 80 | 81 | 90 | 91 | 92 | 93 | 98 | 99 | 100 | 103 | 104 | 105 | 106 | 107 |
    NameTypeArgumentDefaultDescription
    75 | 76 | 77 | 78 | 82 | 83 | <optional>
    84 | 85 | 86 | 87 | <nullable>
    88 | 89 |
    94 | 95 | 96 | 97 | 101 |
    Properties
    102 |
    -------------------------------------------------------------------------------- /jsdoc/template/tmpl/returns.tmpl: -------------------------------------------------------------------------------- 1 | /g, ''); 8 | 9 | var isNamed = ret.name ? true : false; 10 | var name = ret.name || ret.description; 11 | var startSpacePos = name.indexOf(" "); 12 | 13 | if (parentReturn !== null && name.indexOf(parentReturn.name + '.') === 0) { 14 | ret.name = isNamed ? name.substr(parentReturn.name.length + 1) : name.substr(parentReturn.name.length + 1, startSpacePos - (parentReturn.name.length + 1)); 15 | 16 | if (!isNamed) { 17 | ret.description = ret.description.substr(startSpacePos + 1); 18 | } 19 | 20 | parentReturn.subReturns = parentReturn.subReturns || []; 21 | parentReturn.subReturns.push(ret); 22 | returns[i] = null; 23 | } else { 24 | if (!isNamed) { 25 | ret.name = ret.description.substr(0, startSpacePos !== -1 ? startSpacePos : ret.description.length); 26 | ret.description = startSpacePos !== -1 ? ret.description.substr(startSpacePos + 1) : ''; 27 | } 28 | 29 | parentReturn = ret; 30 | } 31 | } 32 | }); 33 | ?> 34 | 35 | 1) { 37 | ?> 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 54 | 55 | 56 | 66 | 69 | 70 | 71 | 72 |
    NameTypeDescription
    57 | 60 | 61 | | 62 | 65 | 67 | 68 |
    73 | 74 |
    Returns:
    75 | 76 |
    77 | -------------------------------------------------------------------------------- /jsdoc/template/tmpl/source.tmpl: -------------------------------------------------------------------------------- 1 | 4 |
    5 |
    6 |
    7 |
    8 |
    9 | -------------------------------------------------------------------------------- /jsdoc/template/tmpl/tutorial.tmpl: -------------------------------------------------------------------------------- 1 |
    2 | 3 |
    4 | 0) { ?> 5 |
      8 |
    • 9 |
    10 | 11 | 12 |

    13 |
    14 | 15 |
    16 | 17 |
    18 | 19 |
    20 | -------------------------------------------------------------------------------- /jsdoc/template/tmpl/type.tmpl: -------------------------------------------------------------------------------- 1 | 5 | 6 | | 7 | -------------------------------------------------------------------------------- /jsdoc/tutorials/index.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devnup/angular-modal-alerts/9a36df0fa8888e46df2be9342e70122704116762/jsdoc/tutorials/index.md -------------------------------------------------------------------------------- /lib/assets/css/sample.css: -------------------------------------------------------------------------------- 1 | body { 2 | min-height: 100%; 3 | } 4 | html { 5 | position: relative; 6 | min-height: 100%; 7 | } 8 | footer { 9 | width: 100%; 10 | height: 80px; 11 | background-color: #f5f5f5; 12 | } 13 | .alerts-example .row { 14 | padding: 10px 0; 15 | } 16 | .container.custom { 17 | width: auto; 18 | max-width: 680px; 19 | padding: 0 15px; 20 | } 21 | .text-muted { 22 | margin: 30px 5px; 23 | } 24 | -------------------------------------------------------------------------------- /lib/assets/css/sample.min.css: -------------------------------------------------------------------------------- 1 | body,html{min-height:100%}html{position:relative}footer{width:100%;height:80px;background-color:#f5f5f5}.alerts-example .row{padding:10px 0}.container.custom{width:auto;max-width:680px;padding:0 15px}.text-muted{margin:30px 5px} -------------------------------------------------------------------------------- /lib/assets/img/loader1.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devnup/angular-modal-alerts/9a36df0fa8888e46df2be9342e70122704116762/lib/assets/img/loader1.gif -------------------------------------------------------------------------------- /lib/assets/img/loader2.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devnup/angular-modal-alerts/9a36df0fa8888e46df2be9342e70122704116762/lib/assets/img/loader2.gif -------------------------------------------------------------------------------- /lib/assets/img/loader3.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devnup/angular-modal-alerts/9a36df0fa8888e46df2be9342e70122704116762/lib/assets/img/loader3.gif -------------------------------------------------------------------------------- /lib/assets/js/scripts.js: -------------------------------------------------------------------------------- 1 | //Footer On Bottom 2 | function footerOnBottom() { 3 | var windowHeight = jQuery(window).height(); 4 | var footerHeight = jQuery('.footer').height(); 5 | var pageHeight = jQuery('#page-content').height(); 6 | if(windowHeight > footerHeight + pageHeight) { 7 | jQuery('#page-content').css('min-height', windowHeight - footerHeight + 'px'); 8 | jQuery('#page-content').css('height', windowHeight - footerHeight + 'px'); 9 | return true; 10 | } 11 | return false; 12 | } 13 | footerOnBottom(); 14 | window.onresize = function() { 15 | footerOnBottom(); 16 | }; -------------------------------------------------------------------------------- /lib/assets/less/sample.less: -------------------------------------------------------------------------------- 1 | @snow: #FAFAFA; 2 | 3 | body { 4 | min-height: 100%; 5 | } 6 | 7 | html { 8 | position: relative; 9 | min-height: 100%; 10 | } 11 | 12 | footer { 13 | width: 100%; 14 | height: 80px; 15 | background-color: #f5f5f5; 16 | } 17 | 18 | .alerts-example { 19 | .row { 20 | padding: 10px 0; 21 | } 22 | } 23 | 24 | .container.custom { 25 | width: auto; 26 | max-width: 680px; 27 | padding: 0 15px; 28 | } 29 | 30 | .text-muted { 31 | margin: 30px 5px; 32 | } 33 | 34 | -------------------------------------------------------------------------------- /lib/dist/html/angular-modal-alerts.html: -------------------------------------------------------------------------------- 1 |
    2 |
    3 |
    4 |
    5 |
    6 | 7 |

    {{ alert.title || '' }}

    8 |
    9 |
    10 | 11 |
    12 |
    13 |
    14 |
    15 |
    16 | 39 |
    40 |
    41 |
    42 |
    43 |
    44 |
    45 | 46 |

    {{ alert.title || '' }}

    47 |
    48 |
    49 |
    50 | 51 |
    52 |
    53 | 60 |
    61 |
    62 |
    63 |
    64 |
    65 |
    66 |
    67 |
    68 |
    69 | 70 |

    {{ alert.title || '' }}

    71 |
    72 |
    73 | 74 |
    75 | 82 |
    83 |
    84 |
    85 |
    86 |
    87 |
    88 |
    89 |
    90 |
    91 | 92 |

    {{ alert.title || '' }}

    93 |
    94 |
    95 | 96 |

    97 | 98 |
    99 | 100 |
    101 | 102 | 105 | 106 | 107 | 112 | 113 | 114 | 119 | 120 |
    121 |
    122 |
    123 | 133 |
    134 |
    135 |
    136 |
    137 |
    138 | {{ alert.alt || 'Loading' }} 141 |
    142 |
    143 |
    144 |
    145 |
    146 |
    147 | 148 |

    {{ alert.title || '' }}

    149 |
    150 |
    151 | 152 |
    153 | 160 |
    161 |
    162 |
    163 |
    164 |
    165 |
    166 |
    167 | 186 |
    187 |
    188 |
    -------------------------------------------------------------------------------- /lib/dist/html/angular-modal-alerts.min.html: -------------------------------------------------------------------------------- 1 |

    {{ alert.title || '' }}

    {{ alert.alt || 'Loading' }}
    -------------------------------------------------------------------------------- /lib/dist/html/preloader.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devnup/angular-modal-alerts/9a36df0fa8888e46df2be9342e70122704116762/lib/dist/html/preloader.html -------------------------------------------------------------------------------- /lib/dist/html/preloader.min.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devnup/angular-modal-alerts/9a36df0fa8888e46df2be9342e70122704116762/lib/dist/html/preloader.min.html -------------------------------------------------------------------------------- /lib/dist/js/angular-modal-alerts.min.js: -------------------------------------------------------------------------------- 1 | /*! angular-modal-alerts - v0.0.14 - 2015-05-26 */ 2 | 3 | 'use strict'; 4 | angular.module("com.devnup.alert",[]).factory("templateEngine",["$http","$templateCache","$compile",function($http,$templateCache,$compile){return function(input){if(typeof input.element===typeof"string"){input.element=angular.element(input.element)}var scope=input.element.scope();$http.get(input.templateUrl,{cache:$templateCache}).success(function(tplContent){if(!!input.replace){input.element.replaceWith($compile(tplContent)(scope))}else{input.element.html($compile(tplContent)(scope))}if(input.success){input.success(input.element)}})}}]).factory("$alert",["$rootScope","templateEngine",function($rootScope,templateEngine){var cache={};var constructor=function(type,input){cache[type]=input;switch(type){case"modal":templateEngine({element:"#alert-custom-body",templateUrl:input.url||input.templateUrl,success:function(){angular.element("#alert-custom").addClass("open")}});break;case"success":angular.element("#alert-success").addClass("open");break;case"warning":angular.element("#alert-warning").addClass("open");break;case"danger":angular.element("#alert-danger").addClass("open");break;case"error":angular.element("#alert-error").addClass("open");break;case"info":angular.element("#alert-info").addClass("open");break;case"input":angular.element("#alert-input").addClass("open");break;case"loading":angular.element("#alert-loading").addClass("open");angular.element("#alert-loading-img").attr("src",input.image||"assets/img/loader.gif");break;default:break}return cache[type]};var methods={init:function(type){return cache[type]},config:function(input){if(input&&input.preloader){console.error("angular modal alerts: Preloader deprecated, ignoring...");delete input.preloader}if(input&&Object.keys(input).length){for(var k in input){if(input.hasOwnProperty(k)){cache[k]=input[k]||cache[k]}}}return cache},modal:function(input){return constructor("modal",input)},info:function(input){return constructor("info",input)},success:function(input){return constructor("success",input)},error:function(input){return constructor("error",input)},danger:function(input){return constructor("danger",input)},warning:function(input){return constructor("warning",input)},input:function(input){return constructor("input",input)},loading:function(input){input=input||cache["loading"]||{};input.style=input.style||cache["loading"].style||{};return constructor("loading",{image:input.image||cache["loading"].image,style:{width:input.style.width||100,height:input.style.height||100,marginLeft:-(input.style.width/2),marginTop:-(input.style.height/2)}})},closeLoading:function(){angular.element("#alert-loading").removeClass("open")},close:function(){angular.element(".alert-modal").removeClass("open")},closeAll:function(){methods.closeLoading();methods.close()}};return methods}]).controller("AlertModalCtrl",["$scope","$alert","$rootScope",function($scope,$alert,$rootScope){$scope.loading={};$scope.init=function(type){$scope.type=type;if(type==="loading"){$scope.loading=$alert.init($scope.type);return $scope.loading}return $alert.init($scope.type)};$scope.$watch("init(type)",function(alert){$scope.alert=alert});$scope.ok=function(){var fn=$scope.alert.ok;if(fn&&typeof fn===typeof angular.noop){fn()}$scope.close()};$scope.confirm=function(){var fn=$scope.alert.confirm;if(fn&&typeof fn===typeof angular.noop){fn()}$scope.close()};$scope.submit=function(){var fn=$scope.alert.submit;if(fn&&typeof fn===typeof angular.noop){fn($scope.alert.value||$scope.alert.input)}$scope.close()};$scope.cancel=function(){var fn=$scope.alert.cancel;if(fn&&typeof fn===typeof angular.noop){fn()}$scope.close()};$scope.close=function(){$alert.close()};$scope.closeLoading=function(){$alert.closeLoading()}}]); -------------------------------------------------------------------------------- /lib/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Angular Modal Alerts - Sample 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 |
    17 | 23 |

    Utility service for generating and handling modal alerts based on Bootstrap inside AngularJS.

    24 | 25 |

    For technical details about the angular module checkout the API Reference

    26 | 27 |

    You can get the repository at Devnup Official 28 | GitLab or GitHub.

    30 | 31 | 33 | 35 | 37 | 39 | 40 |
    41 | 42 |

    Sample Modals

    43 | 44 |
    45 |
    46 |
    47 | 50 |
    51 |
    52 | 55 |
    56 |
    57 | 60 |
    61 |
    62 |
    63 |
    64 | 67 |
    68 |
    69 | 72 |
    73 |
    74 | 77 |
    78 |
    79 |
    80 | 81 |

    Sample Loading Spinners

    82 | 83 |
    84 |
    85 |
    86 | 89 |
    90 |
    91 | 94 |
    95 |
    96 | 99 |
    100 |
    101 |
    102 |
    103 | 104 |
    105 | 106 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | -------------------------------------------------------------------------------- /lib/sample.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by luiseduardobrito on 3/4/15. 3 | */ 4 | var app = angular.module('sample', [ 5 | 'com.devnup.alert' 6 | ]) 7 | .run(function ($alert) { 8 | 9 | $alert.config({ 10 | 11 | loading: { 12 | image: 'assets/img/loader1.gif', 13 | alt: 'Loading', 14 | style: { 15 | width: 50, 16 | height: 50 17 | } 18 | } 19 | }); 20 | }) 21 | 22 | .controller('SampleCtrl', ['$scope', '$alert', '$timeout', function ($scope, $alert, $timeout) { 23 | 24 | $scope.info = function () { 25 | 26 | // Simple info alert 27 | $alert.info({ 28 | title: 'Info Alert', 29 | message: 'This is a sample modal alert created using $alert service', 30 | ok: function () { 31 | console.info('Clicked OK!'); 32 | } 33 | }); 34 | }; 35 | 36 | $scope.input = function () { 37 | 38 | // Simple input alert 39 | $alert.input({ 40 | 41 | title: 'Input Alert', 42 | message: 'This is a sample modal alert to get user input', 43 | value: 'default(input[value])', 44 | label: 'Email', 45 | placeholder: 'default(input[placeholder])', 46 | 47 | submit: function (input) { 48 | console.info('Response: ' + input); 49 | } 50 | }); 51 | }; 52 | 53 | $scope.custom = function () { 54 | 55 | // Simple info alert 56 | $alert.modal({ 57 | title: 'Custom Modal', 58 | icon: 'fa fa-info', 59 | templateUrl: '/src/custom.html' 60 | }); 61 | }; 62 | 63 | $scope.success = function () { 64 | 65 | // Simple success alert 66 | $alert.success({ 67 | title: 'Success Alert', 68 | message: 'This is a success modal alert created using $alert service', 69 | ok: function () { 70 | console.info('Clicked OK!'); 71 | } 72 | }); 73 | }; 74 | 75 | $scope.warning = function () { 76 | 77 | // Simple warning alert 78 | $alert.warning({ 79 | title: 'Warning Alert', 80 | message: 'This is a warning modal alert created using $alert service', 81 | ok: function () { 82 | console.info('Clicked OK!'); 83 | } 84 | }); 85 | }; 86 | 87 | $scope.error = function () { 88 | 89 | // Simple error alert 90 | $alert.error({ 91 | title: 'Error Alert', 92 | message: 'This is a sample modal alert created using $alert service', 93 | ok: function () { 94 | console.info('Clicked OK!'); 95 | } 96 | }); 97 | }; 98 | 99 | $scope.loading = function (i) { 100 | 101 | i = i || 1; 102 | 103 | // Simple loading alert 104 | $alert.loading({ 105 | image: 'assets/img/loader' + i + '.gif' 106 | }); 107 | 108 | $timeout(function () { 109 | $alert.closeLoading(); 110 | }, 3000); 111 | 112 | }; 113 | 114 | }]); -------------------------------------------------------------------------------- /lib/src/custom.html: -------------------------------------------------------------------------------- 1 |

    Custom modal content

    -------------------------------------------------------------------------------- /lib/src/less/general/alerts.less: -------------------------------------------------------------------------------- 1 | @import "colors"; 2 | @import "zindex"; 3 | @import "mixins"; 4 | @import "fonts"; 5 | 6 | /* ======= Alert Modal ======= */ 7 | 8 | .alert-modal { 9 | z-index: @zindex-modal-alert; 10 | position: fixed; 11 | top: 0; 12 | left: 0; 13 | width: 100%; 14 | height: 100%; 15 | background-color: rgba(0, 0, 0, 0.7); 16 | 17 | -webkit-transition: all 0.5s ease-in-out; 18 | -moz-transition: all 0.5s ease-in-out; 19 | -o-transition: all 0.5s ease-in-out; 20 | -ms-transition: all 0.5s ease-in-out; 21 | transition: all 0.5s ease-in-out; 22 | 23 | -webkit-transform: translate(0px, -100%); 24 | -moz-transform: translate(0px, -100%); 25 | -o-transform: translate(0px, -100%); 26 | -ms-transform: translate(0px, -100%); 27 | transform: translate(0px, -100%); 28 | 29 | opacity: 0; 30 | 31 | .alert-modal-box { 32 | margin-top: 100px; 33 | margin-bottom: 40px; 34 | background-color: @white; 35 | -webkit-box-shadow: 0px 2px 2px 0px rgba(0, 0, 0, 0.3); 36 | -moz-box-shadow: 0px 2px 2px 0px rgba(0, 0, 0, 0.3); 37 | box-shadow: 0px 2px 2px 0px rgba(0, 0, 0, 0.3); 38 | .border-radius(8px); 39 | .alert-modal-box-header { 40 | padding: 20px 20px 0 20px; 41 | border-bottom: 1px solid @gray-lighter; 42 | h1 { 43 | margin-top: 0; 44 | .fa { 45 | margin-right: 10px; 46 | } 47 | } 48 | // Alert Types 49 | .success { 50 | color: @brand-success; 51 | } 52 | .warning { 53 | color: @brand-warning; 54 | } 55 | .danger { 56 | color: @brand-danger; 57 | } 58 | .error { 59 | color: @brand-danger; 60 | } 61 | .info { 62 | color: @brand-primary; 63 | } 64 | .close { 65 | position: absolute; 66 | top: 5px; 67 | right: 5px; 68 | color: @gray; 69 | opacity: 1; 70 | padding: 10px 15px; 71 | font-size: 24px; 72 | } 73 | } 74 | .alert-modal-box-body { 75 | padding: 20px 20px 0 20px; 76 | span { 77 | font-weight: 400; 78 | font-size: 16px; 79 | color: @gray; 80 | } 81 | } 82 | .alert-modal-box-footer { 83 | padding: 20px; 84 | .btn { 85 | width: 150px; 86 | margin: 0 10px; 87 | } 88 | } 89 | } 90 | } 91 | 92 | .alert-modal.open { 93 | z-index: @zindex-modal-alert; 94 | -webkit-transform: translate(0px, 0px); 95 | -moz-transform: translate(0px, 0px); 96 | -o-transform: translate(0px, 0px); 97 | -ms-transform: translate(0px, 0px); 98 | transform: translate(0px, 0px); 99 | opacity: 1; 100 | } 101 | 102 | /* Extra small devices (phones, less than 768px) */ 103 | @media (max-width: 767px) { 104 | 105 | .alert-modal { 106 | .alert-modal-box { 107 | margin-top: 20px; 108 | margin-bottom: 20px; 109 | } 110 | } 111 | 112 | } 113 | 114 | /* Small devices (tablets, 768px and up) */ 115 | @media (min-width: 768px) and (max-width: 991px) { 116 | 117 | /* SOME CODE HERE */ 118 | 119 | } 120 | 121 | /* Medium devices (desktops, 992px and up) */ 122 | @media (min-width: 992px) and (max-width: 1199px) { 123 | 124 | /* SOME CODE HERE */ 125 | 126 | } 127 | 128 | /* Large devices (large desktops, 1200px and up) */ 129 | @media (min-width: 1200px) { 130 | 131 | /* SOME CODE HERE */ 132 | 133 | } -------------------------------------------------------------------------------- /lib/src/less/general/base.less: -------------------------------------------------------------------------------- 1 | @import "colors"; 2 | @import "zindex"; 3 | @import "mixins"; 4 | @import "fonts"; 5 | 6 | /* ======= Base ======= */ 7 | * { 8 | margin: 0; 9 | } 10 | 11 | body, html { 12 | height: 100% !important; 13 | min-height: 100% !important; 14 | max-height: 100% !important; 15 | } 16 | 17 | body { 18 | // Default Font Styles 19 | font-size: @font-size-base; 20 | line-height: @line-height-base; 21 | -moz-osx-font-smoothing: grayscale; 22 | -webkit-font-smoothing: antialiased; 23 | color: @text-color; 24 | // Default Heading Styles 25 | h1 { 26 | font-size: @font-size-h1; 27 | } 28 | h2 { 29 | font-size: @font-size-h2; 30 | } 31 | h3 { 32 | font-size: @font-size-h3; 33 | } 34 | h4 { 35 | font-size: @font-size-h4; 36 | } 37 | h5 { 38 | font-size: @font-size-h5; 39 | } 40 | h6 { 41 | font-size: @font-size-h6; 42 | } 43 | h1, h2, h3, h4, h5, h6 { 44 | color: @heading-color; 45 | } 46 | // Default Link Styles 47 | a { 48 | color: @brand-primary; 49 | text-decoration: none !important; 50 | .transition (all 0.4s ease-in-out); 51 | &:hover { 52 | color: darken(@brand-primary, 10%); 53 | } 54 | } 55 | // Input Transition 56 | .btn { 57 | .transition (all 0.4s ease-in-out); 58 | } 59 | // Default Placeholder Styles 60 | ::-webkit-input-placeholder { /* WebKit browsers */ 61 | color: @gray; 62 | } 63 | :-moz-placeholder { /* Mozilla Firefox 4 to 18 */ 64 | color: @gray; 65 | } 66 | ::-moz-placeholder { /* Mozilla Firefox 19+ */ 67 | color: @gray; 68 | } 69 | :-ms-input-placeholder { /* Internet Explorer 10+ */ 70 | color: @gray; 71 | } 72 | } 73 | 74 | // Container Bootstrap Fix 75 | .container { 76 | padding-left: 0; 77 | padding-right: 0; 78 | } 79 | 80 | // Row Bootstrap Fix 81 | .row { 82 | margin-left: 0; 83 | margin-right: 0; 84 | } 85 | 86 | // Image Responsive 87 | .img-responsive { 88 | display: block; 89 | max-width: 100%; 90 | height: auto; 91 | margin: auto; 92 | } 93 | 94 | /* Extra small devices (phones, less than 768px) */ 95 | @media (max-width: 767px) { 96 | 97 | /* SOME CODE HERE */ 98 | 99 | } 100 | 101 | /* Small devices (tablets, 768px and up) */ 102 | @media (min-width: 768px) and (max-width: 991px) { 103 | 104 | /* SOME CODE HERE */ 105 | 106 | } 107 | 108 | /* Medium devices (desktops, 992px and up) */ 109 | @media (min-width: 992px) and (max-width: 1199px){ 110 | 111 | /* SOME CODE HERE */ 112 | 113 | } 114 | 115 | /* Large devices (large desktops, 1200px and up) */ 116 | @media (min-width: 1200px) { 117 | 118 | /* SOME CODE HERE */ 119 | 120 | } 121 | 122 | 123 | 124 | -------------------------------------------------------------------------------- /lib/src/less/general/buttons.less: -------------------------------------------------------------------------------- 1 | @import "colors"; 2 | @import "zindex"; 3 | @import "mixins"; 4 | @import "fonts"; 5 | 6 | /* ======= Buttons ======= */ 7 | 8 | @btn-font-weight: 400; 9 | 10 | @btn-default-color: @gray-dark; 11 | @btn-default-bg: @gray-dark; 12 | @btn-default-border: @gray-dark; 13 | 14 | @btn-primary-color: @brand-primary; 15 | @btn-primary-bg: @brand-primary; 16 | @btn-primary-border: @brand-primary; 17 | 18 | @btn-success-color: @brand-success; 19 | @btn-success-bg: @brand-success; 20 | @btn-success-border: @brand-success; 21 | 22 | @btn-info-color: @brand-info; 23 | @btn-info-bg: @brand-info; 24 | @btn-info-border: @brand-info; 25 | 26 | @btn-warning-color: @brand-warning; 27 | @btn-warning-bg: @brand-warning; 28 | @btn-warning-border: @brand-warning; 29 | 30 | @btn-danger-color: @brand-danger; 31 | @btn-danger-bg: @brand-danger; 32 | @btn-danger-border: @brand-danger; 33 | 34 | @btn-link-disabled-color: @gray-light; 35 | 36 | // Base styles 37 | // -------------------------------------------------- 38 | 39 | .btn { 40 | display: inline-block; 41 | margin-bottom: 0; // For input.btn 42 | font-weight: @btn-font-weight; 43 | text-align: center; 44 | vertical-align: middle; 45 | cursor: pointer; 46 | background-image: none; // Reset unusual Firefox-on-Android default style; see https://github.com/necolas/normalize.css/issues/214 47 | white-space: nowrap; 48 | padding: 8px 16px; 49 | opacity: 0.8; 50 | 51 | &:hover, 52 | &:focus { 53 | text-decoration: none; 54 | } 55 | 56 | &.disabled, 57 | &[disabled], 58 | fieldset[disabled] & { 59 | cursor: not-allowed; 60 | pointer-events: none; // Future-proof disabling of clicks 61 | .opacity(.65); 62 | .box-shadow(none); 63 | } 64 | } 65 | 66 | .btn-snow { 67 | .button-variant(@snow; @snow; @snow); 68 | } 69 | .btn-default { 70 | .button-variant(@btn-default-color; @btn-default-bg; @btn-default-border); 71 | } 72 | .btn-primary { 73 | .button-variant(@btn-primary-color; @btn-primary-bg; @btn-primary-border); 74 | } 75 | .btn-primary-fill { 76 | .button-variant-fill(@white; @brand-primary; @brand-primary); 77 | } 78 | .btn-success { 79 | .button-variant(@btn-success-color; @btn-success-bg; @btn-success-border); 80 | } 81 | .btn-success-fill { 82 | .button-variant-fill(@white; @brand-success; @brand-success); 83 | } 84 | .btn-info { 85 | .button-variant(@btn-info-color; @btn-info-bg; @btn-info-border); 86 | } 87 | .btn-info-fill { 88 | .button-variant-fill(@white; @brand-info; @brand-info); 89 | } 90 | .btn-warning { 91 | .button-variant(@btn-warning-color; @btn-warning-bg; @btn-warning-border); 92 | } 93 | .btn-warning-fill { 94 | .button-variant-fill(@white; @brand-warning; @brand-warning); 95 | } 96 | .btn-danger { 97 | .button-variant(@btn-danger-color; @btn-danger-bg; @btn-danger-border); 98 | } 99 | .btn-danger-fill { 100 | .button-variant-fill(@white; @brand-danger; @brand-danger); 101 | } 102 | 103 | .btn-facebook { 104 | .button-variant(@white; @facebook-color; @facebook-color); 105 | } 106 | .btn-login { 107 | .button-variant-fill(@white; @brand-devnup; @brand-devnup); 108 | height: 48px; 109 | font-size: 18px; 110 | text-transform: uppercase; 111 | font-weight: 600; 112 | } 113 | 114 | .btn-round{ 115 | border-width: 1px; 116 | border-radius: 30px !important; 117 | opacity: 0.79; 118 | padding: 9px 18px; 119 | } 120 | -------------------------------------------------------------------------------- /lib/src/less/general/colors.less: -------------------------------------------------------------------------------- 1 | /* ======= Colors ======= */ 2 | 3 | @black: #0A0A0A; //almost black 4 | @gray-darker: #333333; //darker gray 5 | @gray-dark: #666666; //dark gray 6 | @gray: #999999; //gray 7 | @gray-light: #CCCCCC; //light gray 8 | @gray-lighter: #EAEAEA; //lighter gray 9 | @white: #FFFFFF; //white 10 | @snow: #FAFAFA; //snow white 11 | 12 | @brand-devnup: #0099FF; //devnup blue 13 | @brand-primary: #34ACDC; //devnup blueish 14 | @brand-info: #003e5f; //devnup darkish blue 15 | @brand-success: #8fb347; //green 16 | @brand-warning: #ebac1f; //yellow 17 | @brand-danger: #ad3b0e; //red 18 | 19 | @facebook-color: #3B5998; //fb blue 20 | 21 | @text-color: @gray; 22 | @heading-color: @gray; -------------------------------------------------------------------------------- /lib/src/less/general/fonts.less: -------------------------------------------------------------------------------- 1 | /* ======= Fonts ======= */ 2 | 3 | @font-size-base: 14px; 4 | @font-size-large: ceil((@font-size-base * 1.25)); // ~18px 5 | @font-size-small: ceil((@font-size-base * 0.85)); // ~12px 6 | 7 | @font-size-h1: floor((@font-size-base * 2.15)); 8 | @font-size-h2: floor((@font-size-base * 1.9)); 9 | @font-size-h3: ceil((@font-size-base * 1.6)); 10 | @font-size-h4: ceil((@font-size-base * 1.2)); 11 | @font-size-h5: @font-size-base; 12 | @font-size-h6: ceil((@font-size-base * 0.85)); 13 | 14 | @line-height-base: 1.428; 15 | @line-height-computed: floor((@font-size-base * @line-height-base)); // ~20px 16 | -------------------------------------------------------------------------------- /lib/src/less/general/loading.less: -------------------------------------------------------------------------------- 1 | @import "./mixins"; 2 | @import "./colors"; 3 | @import "./fonts"; 4 | @import "./zindex"; 5 | 6 | /* ======= Alert Modal Loading ======= */ 7 | 8 | #alert-loading { 9 | z-index: -1; 10 | position: fixed; 11 | top: 0; 12 | left: 0; 13 | width: 100%; 14 | height: 100%; 15 | background-color: rgba(0, 0, 0, 0.7); 16 | 17 | opacity: 0; 18 | 19 | .loader { 20 | position: fixed; 21 | top: 45%; 22 | left: 50%; 23 | } 24 | } 25 | 26 | #alert-loading.open { 27 | z-index: 9999; 28 | opacity: 1; 29 | } 30 | 31 | /* Extra small devices (phones, less than 768px) */ 32 | @media (max-width: 767px) { 33 | 34 | /* SOME CODE HERE */ 35 | 36 | } 37 | 38 | /* Small devices (tablets, 768px and up) */ 39 | @media (min-width: 768px) and (max-width: 991px) { 40 | 41 | /* SOME CODE HERE */ 42 | 43 | } 44 | 45 | /* Medium devices (desktops, 992px and up) */ 46 | @media (min-width: 992px) and (max-width: 1199px){ 47 | 48 | /* SOME CODE HERE */ 49 | 50 | } 51 | 52 | /* Large devices (large desktops, 1200px and up) */ 53 | @media (min-width: 1200px) { 54 | 55 | /* SOME CODE HERE */ 56 | 57 | } 58 | 59 | 60 | 61 | -------------------------------------------------------------------------------- /lib/src/less/general/mixins.less: -------------------------------------------------------------------------------- 1 | /* ======= Mixins ======= */ 2 | 3 | .text-shadow (@string: 0 1px 3px rgba(0, 0, 0, 0.25)) { 4 | text-shadow: @string; 5 | } 6 | .box-shadow (@string) { 7 | -webkit-box-shadow: @string; 8 | -moz-box-shadow: @string; 9 | box-shadow: @string; 10 | } 11 | .drop-shadow (@x: 0, @y: 1px, @blur: 2px, @spread: 0, @alpha: 0.25) { 12 | -webkit-box-shadow: @x @y @blur @spread rgba(0, 0, 0, @alpha); 13 | -moz-box-shadow: @x @y @blur @spread rgba(0, 0, 0, @alpha); 14 | box-shadow: @x @y @blur @spread rgba(0, 0, 0, @alpha); 15 | } 16 | .inner-shadow (@x: 0, @y: 1px, @blur: 2px, @spread: 0, @alpha: 0.25) { 17 | -webkit-box-shadow: inset @x @y @blur @spread rgba(0, 0, 0, @alpha); 18 | -moz-box-shadow: inset @x @y @blur @spread rgba(0, 0, 0, @alpha); 19 | box-shadow: inset @x @y @blur @spread rgba(0, 0, 0, @alpha); 20 | } 21 | .box-sizing (@type: border-box) { 22 | -webkit-box-sizing: @type; 23 | -moz-box-sizing: @type; 24 | box-sizing: @type; 25 | } 26 | .border-radius (@radius: 5px) { 27 | -webkit-border-radius: @radius; 28 | -moz-border-radius: @radius; 29 | -ms-border-radius: @radius; 30 | -o-border-radius: @radius; 31 | border-radius: @radius; 32 | 33 | -moz-background-clip: padding; 34 | -webkit-background-clip: padding-box; 35 | background-clip: padding-box; 36 | } 37 | .border-radiuses (@topright: 0, @bottomright: 0, @bottomleft: 0, @topleft: 0) { 38 | -webkit-border-top-right-radius: @topright; 39 | -webkit-border-bottom-right-radius: @bottomright; 40 | -webkit-border-bottom-left-radius: @bottomleft; 41 | -webkit-border-top-left-radius: @topleft; 42 | 43 | -moz-border-radius-topright: @topright; 44 | -moz-border-radius-bottomright: @bottomright; 45 | -moz-border-radius-bottomleft: @bottomleft; 46 | -moz-border-radius-topleft: @topleft; 47 | 48 | border-top-right-radius: @topright; 49 | border-bottom-right-radius: @bottomright; 50 | border-bottom-left-radius: @bottomleft; 51 | border-top-left-radius: @topleft; 52 | 53 | -moz-background-clip: padding; 54 | -webkit-background-clip: padding-box; 55 | background-clip: padding-box; 56 | } 57 | 58 | .opacity (@opacity: 0.5) { 59 | -webkit-opacity: @opacity; 60 | -moz-opacity: @opacity; 61 | opacity: @opacity; 62 | } 63 | 64 | .gradient (@startColor: #eee, @endColor: white) { 65 | background-color: @startColor; 66 | background: -webkit-gradient(linear, left top, left bottom, from(@startColor), to(@endColor)); 67 | background: -webkit-linear-gradient(top, @startColor, @endColor); 68 | background: -moz-linear-gradient(top, @startColor, @endColor); 69 | background: -ms-linear-gradient(top, @startColor, @endColor); 70 | background: -o-linear-gradient(top, @startColor, @endColor); 71 | } 72 | .horizontal-gradient (@startColor: #eee, @endColor: white) { 73 | background-color: @startColor; 74 | background-image: -webkit-gradient(linear, left top, right top, from(@startColor), to(@endColor)); 75 | background-image: -webkit-linear-gradient(left, @startColor, @endColor); 76 | background-image: -moz-linear-gradient(left, @startColor, @endColor); 77 | background-image: -ms-linear-gradient(left, @startColor, @endColor); 78 | background-image: -o-linear-gradient(left, @startColor, @endColor); 79 | } 80 | .animation (@name, @duration: 300ms, @delay: 0, @ease: ease) { 81 | -webkit-animation: @name @duration @delay @ease; 82 | -moz-animation: @name @duration @delay @ease; 83 | -ms-animation: @name @duration @delay @ease; 84 | } 85 | 86 | .transition (@transition) { 87 | -webkit-transition: @transition; 88 | -moz-transition: @transition; 89 | -ms-transition: @transition; 90 | -o-transition: @transition; 91 | } 92 | .transform(@string){ 93 | -webkit-transform: @string; 94 | -moz-transform: @string; 95 | -ms-transform: @string; 96 | -o-transform: @string; 97 | } 98 | .scale (@factor) { 99 | -webkit-transform: scale(@factor); 100 | -moz-transform: scale(@factor); 101 | -ms-transform: scale(@factor); 102 | -o-transform: scale(@factor); 103 | } 104 | .rotate (@deg) { 105 | -webkit-transform: rotate(@deg); 106 | -moz-transform: rotate(@deg); 107 | -ms-transform: rotate(@deg); 108 | -o-transform: rotate(@deg); 109 | } 110 | .skew (@deg, @deg2) { 111 | -webkit-transform: skew(@deg, @deg2); 112 | -moz-transform: skew(@deg, @deg2); 113 | -ms-transform: skew(@deg, @deg2); 114 | -o-transform: skew(@deg, @deg2); 115 | } 116 | .translate (@x, @y:0) { 117 | -webkit-transform: translate(@x, @y); 118 | -moz-transform: translate(@x, @y); 119 | -ms-transform: translate(@x, @y); 120 | -o-transform: translate(@x, @y); 121 | } 122 | .translate3d (@x, @y: 0, @z: 0) { 123 | -webkit-transform: translate3d(@x, @y, @z); 124 | -moz-transform: translate3d(@x, @y, @z); 125 | -ms-transform: translate3d(@x, @y, @z); 126 | -o-transform: translate3d(@x, @y, @z); 127 | } 128 | .perspective (@value: 1000) { 129 | -webkit-perspective: @value; 130 | -moz-perspective: @value; 131 | -ms-perspective: @value; 132 | perspective: @value; 133 | } 134 | .transform-origin (@x:center, @y:center) { 135 | -webkit-transform-origin: @x @y; 136 | -moz-transform-origin: @x @y; 137 | -ms-transform-origin: @x @y; 138 | -o-transform-origin: @x @y; 139 | } 140 | .reset-box-sizing (@size:content-box) { 141 | &, 142 | *, 143 | *:before, 144 | *:after { 145 | .box-sizing(@size); 146 | } 147 | } 148 | .truncate (@max-width: 250px) { 149 | max-width: @max-width; 150 | white-space: nowrap; 151 | overflow: hidden; 152 | text-overflow: ellipsis; 153 | } 154 | .background-size (@string: contain) { 155 | -webkit-background-size: @string; 156 | -moz-background-size: @string; 157 | -o-background-size: @string; 158 | background-size: @string; 159 | } 160 | 161 | // Button variants 162 | .button-variant(@color; @background; @border) { 163 | color: @color; 164 | background-color: rgba(0,0,0,.0); 165 | border-color: @border; 166 | &:hover, 167 | &:focus, 168 | .open .dropdown-toggle& { 169 | background-color: rgba(0,0,0,.0); 170 | color: @color; 171 | border-color: @border; 172 | opacity: 1; 173 | background-image: none; 174 | } 175 | &:active, 176 | &.active, 177 | .open .dropdown-toggle& { 178 | background-color: rgba(0,0,0,.0); 179 | color: @color; 180 | border-color: @border; 181 | opacity: 1; 182 | background-image: none; 183 | } 184 | &.disabled, 185 | &[disabled], 186 | fieldset[disabled] & { 187 | &, 188 | &:hover, 189 | &:focus, 190 | &:active, 191 | &.active { 192 | background-color: rgba(0,0,0,.0); 193 | color: @color; 194 | border-color: @border; 195 | opacity: 1; 196 | background-image: none; 197 | } 198 | } 199 | &:active, 200 | &.active { 201 | outline: 0; 202 | background-color: rgba(0,0,0,.0); 203 | color: @color; 204 | border-color: @border; 205 | opacity: 1; 206 | background-image: none; 207 | } 208 | .badge { 209 | color: @white; 210 | background-color: @color; 211 | } 212 | } 213 | .button-variant-fill(@color; @background; @border) { 214 | color: @color; 215 | background-color: @background; 216 | border-color: @border; 217 | &:hover, 218 | &:focus, 219 | .open .dropdown-toggle& {; 220 | color: @color; 221 | background-color: @background; 222 | border-color: @border; 223 | opacity: 1; 224 | background-image: none; 225 | } 226 | &:active, 227 | &.active, 228 | .open .dropdown-toggle& { 229 | color: @color; 230 | background-color: @background; 231 | border-color: @border; 232 | opacity: 1; 233 | background-image: none; 234 | } 235 | &.disabled, 236 | &[disabled], 237 | fieldset[disabled] & { 238 | &, 239 | &:hover, 240 | &:focus, 241 | &:active, 242 | &.active { 243 | color: @color; 244 | background-color: @background; 245 | border-color: @border; 246 | opacity: 1; 247 | background-image: none; 248 | } 249 | } 250 | &:active, 251 | &.active { 252 | outline: 0; 253 | color: @color; 254 | background-color: @background; 255 | border-color: @border; 256 | opacity: 1; 257 | background-image: none; 258 | } 259 | .badge { 260 | color: @background; 261 | background-color: @color; 262 | } 263 | } 264 | 265 | 266 | -------------------------------------------------------------------------------- /lib/src/less/general/preloader.less: -------------------------------------------------------------------------------- 1 | @import "colors"; 2 | @import "zindex"; 3 | 4 | .preloader { 5 | position: fixed; 6 | top: 0; 7 | bottom: 0; 8 | right: 0; 9 | left: 0; 10 | width: 100%; 11 | height: 100%; 12 | background-color: @snow; 13 | z-index: @zindex-preloader !important; 14 | img { 15 | position: absolute; 16 | top: 50%; 17 | left: 50%; 18 | width: 50px; 19 | height: 50px; 20 | margin-top: -25px; 21 | margin-left: -25px; 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /lib/src/less/general/zindex.less: -------------------------------------------------------------------------------- 1 | @zindex-modal-alert: 1060; 2 | @zindex-preloader: 9999; -------------------------------------------------------------------------------- /lib/src/less/main.less: -------------------------------------------------------------------------------- 1 | @import "general/colors"; 2 | @import "general/zindex"; 3 | @import "general/mixins"; 4 | @import "general/fonts"; 5 | @import "general/base"; 6 | @import "general/buttons"; 7 | @import "general/alerts"; 8 | @import "general/loading"; 9 | @import "general/preloader"; 10 | 11 | 12 | -------------------------------------------------------------------------------- /lib/src/views/alert-modal-custom.html: -------------------------------------------------------------------------------- 1 |
    2 |
    3 |
    4 |
    5 |
    6 | 7 |

    {{ alert.title || '' }}

    8 |
    9 |
    10 | 11 |
    12 |
    13 |
    14 |
    -------------------------------------------------------------------------------- /lib/src/views/alert-modal-danger.html: -------------------------------------------------------------------------------- 1 |
    2 | 25 |
    -------------------------------------------------------------------------------- /lib/src/views/alert-modal-error.html: -------------------------------------------------------------------------------- 1 |
    2 |
    3 |
    4 |
    5 |
    6 | 7 |

    {{ alert.title || '' }}

    8 |
    9 |
    10 |
    11 | 12 |
    13 |
    14 | 21 |
    22 |
    23 |
    24 |
    -------------------------------------------------------------------------------- /lib/src/views/alert-modal-info.html: -------------------------------------------------------------------------------- 1 |
    2 |
    3 |
    4 |
    5 |
    6 | 7 |

    {{ alert.title || '' }}

    8 |
    9 |
    10 | 11 |
    12 | 19 |
    20 |
    21 |
    22 |
    -------------------------------------------------------------------------------- /lib/src/views/alert-modal-input.html: -------------------------------------------------------------------------------- 1 |
    2 |
    3 |
    4 |
    5 |
    6 | 7 |

    {{ alert.title || '' }}

    8 |
    9 |
    10 | 11 |

    12 | 13 |
    14 | 15 |
    16 | 17 | 20 | 21 | 22 | 27 | 28 | 29 | 34 | 35 |
    36 |
    37 |
    38 | 48 |
    49 |
    50 |
    51 |
    -------------------------------------------------------------------------------- /lib/src/views/alert-modal-loading.html: -------------------------------------------------------------------------------- 1 |
    2 | {{ alert.alt || 'Loading' }} 5 |
    -------------------------------------------------------------------------------- /lib/src/views/alert-modal-success.html: -------------------------------------------------------------------------------- 1 |
    2 |
    3 |
    4 |
    5 |
    6 | 7 |

    {{ alert.title || '' }}

    8 |
    9 |
    10 | 11 |
    12 | 19 |
    20 |
    21 |
    22 |
    -------------------------------------------------------------------------------- /lib/src/views/alert-modal-warning.html: -------------------------------------------------------------------------------- 1 |
    2 | 25 |
    -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "angular-modal-alerts", 3 | "version": "0.0.15", 4 | "description": "Utility service for generating and handling modal alerts based on Bootstrap inside AngularJS", 5 | "scripts": { 6 | "start": "node app.js", 7 | "test": "exit 0", 8 | "postinstall": "./scripts/postinstall.sh", 9 | "grunt": "./node_modules/grunt-cli/bin/grunt watch" 10 | }, 11 | "repository": { 12 | "type": "git", 13 | "url": "git@git.devnup.com:devnup/angular-modal-alerts" 14 | }, 15 | "author": "Luis Brito ", 16 | "license": "MIT", 17 | "dependencies": { 18 | "async": "^0.9.0", 19 | "body-parser": "~1.8.1", 20 | "bower": "^1.3.12", 21 | "cookie-parser": "~1.3.3", 22 | "cors": "^2.5.3", 23 | "debug": "~2.0.0", 24 | "ejs": "~0.8.5", 25 | "express": "~4.9.0", 26 | "grunt": "^0.4.5", 27 | "grunt-cli": "^0.1.13", 28 | "grunt-contrib-clean": "^0.6.0", 29 | "grunt-contrib-concat": "^0.5.1", 30 | "grunt-contrib-copy": "^0.8.0", 31 | "grunt-contrib-cssmin": "^0.11.0", 32 | "grunt-contrib-htmlmin": "^0.4.0", 33 | "grunt-contrib-less": "^1.0.0", 34 | "grunt-contrib-uglify": "^0.7.0", 35 | "grunt-contrib-watch": "^0.6.1", 36 | "hat": "0.0.3", 37 | "jsdoc": "^3.3.0", 38 | "less-middleware": "1.0.x", 39 | "lru-cache": "^2.5.0", 40 | "mean-seo": "0.0.8", 41 | "mocha": "^2.0.1", 42 | "request": "^2.48.0", 43 | "require-directory": "^2.0.0", 44 | "serve-favicon": "~2.1.3", 45 | "should": "^4.1.0" 46 | } 47 | } 48 | -------------------------------------------------------------------------------- /scripts/postinstall.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | echo "Installing bower dependencies..."; 4 | ./node_modules/bower/bin/bower install; 5 | 6 | echo "Creating JSDocs..."; 7 | ./node_modules/jsdoc/jsdoc.js -c ./jsdoc/conf.json; 8 | 9 | echo "Running grunt..."; 10 | ./node_modules/grunt-cli/bin/grunt default; 11 | --------------------------------------------------------------------------------