Commit aa29546865c2aa07b2fda36376e5a6d85687a17c
1 parent
770bbeb0eb
Exists in
master
- Agrego archivo develop de ejemplo.
- Agregué ruta de develop al gitignore. - Modifiqué el gulp para incluir las librerias necesarias. - Agregué las tareas clean-post-install, webserver y default. - Agregué archivo index para desarrollo. - Agregué los paquetes necesarios en el package.json - Agregué modulos ngRoute y ui.bootstrap a la aplicación. - Modifiqué el controller para tomar la ruta anidada. - Modifiqué la ruta de los templates. - Modifiqué la vista del listado para ingresar a la ruta adecuada.
Showing
9 changed files
with
94 additions
and
37 deletions
Show diff stats
.gitignore
1 | /node_modules | 1 | /node_modules |
2 | /dist | 2 | /dist |
3 | /tmp | 3 | /tmp |
4 | package-lock\.json | 4 | package-lock\.json |
5 | /src/etc/develop.js | ||
5 | 6 |
gulpfile.js
1 | const templateCache = require('gulp-angular-templatecache'); | ||
2 | const concat = require('gulp-concat'); | ||
3 | const clean = require('gulp-clean'); | 1 | const clean = require('gulp-clean'); |
2 | const concat = require('gulp-concat'); | ||
3 | const connect = require('gulp-connect'); | ||
4 | const gulp = require('gulp'); | ||
4 | const htmlmin = require('gulp-htmlmin'); | 5 | const htmlmin = require('gulp-htmlmin'); |
6 | const jshint = require('gulp-jshint'); | ||
7 | const pump = require('pump'); | ||
5 | const rename = require('gulp-rename'); | 8 | const rename = require('gulp-rename'); |
9 | const templateCache = require('gulp-angular-templatecache'); | ||
6 | const uglify = require('gulp-uglify-es').default; | 10 | const uglify = require('gulp-uglify-es').default; |
7 | const gulp = require('gulp'); | ||
8 | const pump = require('pump'); | ||
9 | const jshint = require('gulp-jshint'); | ||
10 | 11 | ||
11 | var paths = { | 12 | var paths = { |
13 | dist: 'dist/', | ||
12 | srcJS: 'src/js/*.js', | 14 | srcJS: 'src/js/*.js', |
13 | srcViews: 'src/views/*.html', | 15 | srcViews: 'src/views/*.html', |
14 | tmp: 'tmp', | 16 | tmp: 'tmp' |
15 | dist: 'dist/' | ||
16 | }; | 17 | }; |
17 | 18 | ||
18 | gulp.task('templates', function() { | 19 | gulp.task('templates', ['clean'], function() { |
19 | return pump( | 20 | return pump( |
20 | [ | 21 | [ |
21 | gulp.src(paths.srcViews), | 22 | gulp.src(paths.srcViews), |
22 | htmlmin(), | 23 | htmlmin(), |
23 | templateCache('views.js', { | 24 | templateCache('views.js', { |
24 | module: 'focaAbmPlazoPago', | 25 | module: 'focaAbmPlazoPago', |
25 | root: '' | 26 | root: '' |
26 | }), | 27 | }), |
27 | gulp.dest(paths.tmp) | 28 | gulp.dest(paths.tmp) |
28 | ] | 29 | ] |
29 | ); | 30 | ); |
30 | }); | 31 | }); |
31 | 32 | ||
32 | gulp.task('uglify', ['templates'], function() { | 33 | gulp.task('uglify', ['templates'], function() { |
33 | return pump( | 34 | return pump( |
34 | [ | 35 | [ |
35 | gulp.src([ | 36 | gulp.src([ |
36 | paths.srcJS, | 37 | paths.srcJS, |
37 | 'tmp/views.js' | 38 | 'tmp/views.js' |
38 | ]), | 39 | ]), |
39 | concat('foca-abm-plazo-pago.js'), | 40 | concat('foca-abm-plazo-pago.js'), |
41 | replace('src/views/', ''), | ||
42 | replace("['ngRoute', 'ui.bootstrap']", '[]'), | ||
40 | gulp.dest(paths.tmp), | 43 | gulp.dest(paths.tmp), |
41 | rename('foca-abm-plazo-pago.min.js'), | 44 | rename('foca-abm-plazo-pago.min.js'), |
42 | uglify(), | 45 | uglify(), |
43 | gulp.dest(paths.dist) | 46 | gulp.dest(paths.dist) |
44 | ] | 47 | ] |
45 | ); | 48 | ); |
46 | }); | 49 | }); |
47 | 50 | ||
48 | gulp.task('clean', function(){ | 51 | gulp.task('clean', function(){ |
49 | return gulp.src(['tmp', 'dist'], {read: false}) | 52 | return gulp.src(['tmp', 'dist'], {read: false}) |
50 | .pipe(clean()); | 53 | .pipe(clean()); |
51 | }); | 54 | }); |
52 | 55 | ||
53 | gulp.task('pre-commit', function() { | 56 | gulp.task('pre-commit', function() { |
54 | pump( | 57 | pump( |
55 | [ | 58 | [ |
56 | gulp.src(paths.srcJS), | 59 | gulp.src(paths.srcJS), |
57 | jshint('.jshintrc'), | 60 | jshint('.jshintrc'), |
58 | jshint.reporter('default'), | 61 | jshint.reporter('default'), |
59 | jshint.reporter('fail') | 62 | jshint.reporter('fail') |
60 | ] | 63 | ] |
61 | ); | 64 | ); |
62 | }); | 65 | }); |
66 | |||
67 | gulp.task('clean-post-install', function() { | ||
68 | return gulp.src([ | ||
69 | 'src', 'tmp', '.jshintrc', 'readme.md', '.gitignore', 'gulpfile.js', 'index.html' | ||
70 | ], {read: false}) | ||
71 | .pipe(clean()); | ||
72 | }); | ||
73 | |||
74 | gulp.task('webserver', function() { | ||
75 | pump [ |
index.html
1 | <html ng-app="focaAbmPlazoPago"> | ||
2 | <head> | ||
3 | <meta charset="UTF-8" /> | ||
4 | <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> | ||
5 | |||
6 | <!--CSS--> | ||
7 | <link href="node_modules/bootstrap/dist/css/bootstrap.min.css" rel="stylesheet" /> | ||
8 | <link href="node_modules/font-awesome/css/font-awesome.min.css" rel="stylesheet" /> | ||
9 | |||
10 | <!--VENDOR JS--> | ||
11 | <script src="node_modules/jquery/dist/jquery.min.js"></script> | ||
12 | <script src="node_modules/bootstrap/dist/js/bootstrap.min.js"></script> | ||
13 | <script src="node_modules/angular/angular.min.js"></script> | ||
14 | <script src="node_modules/angular-route/angular-route.min.js"></script> | ||
15 | <script src="node_modules/ui-bootstrap4/dist/ui-bootstrap-tpls.js"></script> | ||
16 | |||
17 | <!-- BUILD --> | ||
18 | <script src="src/js/app.js"></script> | ||
19 | <script src="src/js/route.js"></script> | ||
20 | <script src="src/js/controller.js"></script> | ||
21 | <script src="src/js/service.js"></script> | ||
22 | <script src="src/etc/develop.js"></script> | ||
23 | <!-- /BUILD --> | ||
24 | |||
25 | <body> | ||
26 | <div ng-view></div> | ||
27 | </body> | ||
28 | </html> | ||
29 |
package.json
1 | { | 1 | { |
2 | "name": "foca-abm-plazo-pago", | 2 | "name": "foca-abm-plazo-pago", |
3 | "version": "1.0.0", | 3 | "version": "1.0.0", |
4 | "description": "ABM de Plazos de Pago", | 4 | "description": "ABM de Plazos de Pago", |
5 | "main": "dist/foca-abm-plazo-pago.js", | 5 | "main": "dist/foca-abm-plazo-pago.js", |
6 | "scripts": { | 6 | "scripts": { |
7 | "test": "echo \"Error: no test specified\" && exit 1", | 7 | "test": "echo \"Error: no test specified\" && exit 1", |
8 | "compile": "gulp uglify", | 8 | "compile": "gulp uglify", |
9 | "pre-commit": [ | 9 | "gulp-pre-commit": "gulp pre-commit", |
10 | "gulp-pre-commit" | 10 | "postinstall": "npm run compile && gulp clean-post-install", |
11 | ], | 11 | "install-dev": "npm install -D jasmine-core pre-commit angular angular-route bootstrap ui-bootstrap4 font-awesome gulp gulp-angular-templatecache gulp-connect gulp-clean gulp-htmlmin gulp-jshint gulp-rename gulp-replace gulp-sequence gulp-uglify-es jquery jshint pump" |
12 | "postinstall": "npm run compile && rm -R src && rm index.html && rm .jshintrc && rm gulpfile.js" | ||
13 | }, | 12 | }, |
13 | "pre-commit": [ | ||
14 | "gulp-pre-commit" | ||
15 | ], | ||
14 | "repository": { | 16 | "repository": { |
15 | "type": "git", | 17 | "type": "git", |
16 | "url": "https://192.168.0.11/modulos-npm/foca-abm-plazo-pago.git" | 18 | "url": "https://192.168.0.11/modulos-npm/foca-abm-plazo-pago.git" |
17 | }, | 19 | }, |
18 | "author": "Foca Software", | 20 | "author": "Foca Software", |
19 | "license": "ISC", | 21 | "license": "ISC", |
20 | "peerDependencies": { | 22 | "peerDependencies": { |
21 | "angular": "^1.7.x", | 23 | "angular": "^1.7.x", |
22 | "bootstrap": "^4.1.x", | 24 | "bootstrap": "^4.1.x", |
23 | "jquery": "^3.3.x", | 25 | "jquery": "^3.3.x", |
24 | "font-awesome": "^4.7.x", | 26 | "font-awesome": "^4.7.x", |
25 | "gulp": "^3.9.x", | 27 | "gulp": "^3.9.x", |
26 | "gulp-concat": "2.6.x", | 28 | "gulp-concat": "2.6.x", |
27 | "gulp-jshint": "^2.1.x", | 29 | "gulp-jshint": "^2.1.x", |
28 | "gulp-rename": "^1.4.x", | 30 | "gulp-rename": "^1.4.x", |
29 | "gulp-replace": "^1.0.x", | 31 | "gulp-replace": "^1.0.x", |
30 | "gulp-uglify-es": "^1.0.x", | 32 | "gulp-uglify-es": "^1.0.x", |
31 | "jshint": "^2.9.x", | 33 | "jshint": "^2.9.x", |
32 | "pump": "^3.0.x" | 34 | "pump": "^3.0.x" |
33 | }, | 35 | }, |
34 | "devDependencies": { | 36 | "devDependencies": { |
37 | "angular": "^1.7.5", | ||
38 | "angular-route": "^1.7.5", | ||
39 | "bootstrap": "^4.1.3", | ||
40 | "font-awesome": "^4.7.0", | ||
41 | "gulp": "^3.9.1", | ||
42 | "gulp-angular-templatecache": "^2.2.2", | ||
43 | "gulp-clean": "^0.4.0", | ||
35 | "gulp-connect": "^5.6.1", | 44 | "gulp-connect": "^5.6.1", |
36 | "jasmine-core": "3.2.1", | 45 | "gulp-htmlmin": "^5.0.1", |
37 | "pre-commit": "^1.2.2" | 46 | "gulp-jshint": "^2.1.0", |
38 | }, | 47 | "gulp-rename": "^1.4.0", |
39 | "dependencies": { | 48 | "gulp-replace": "^1.0.0", |
40 | "angular": "1.7.4", | 49 | "gulp-sequence": "^1.0.0", |
41 | "bootstrap": "4.1.3", | 50 | "gulp-uglify-es": "^1.0.4", |
42 | "font-awesome": "4.7.0", | 51 | "jasmine-core": "^3.2.1", |
43 | "gulp-angular-templatecache": "2.2.1", | 52 | "jquery": "^3.3.1", |
44 | "gulp-clean": "0.4.0", | 53 | "jshint": "^2.9.6", |
45 | "gulp-htmlmin": "5.0.1", | 54 | "pre-commit": "^1.2.2", |
46 | "gulp-jshint": "2.1.0", | 55 | "pump": "^3.0.0", |
47 | "gulp-rename": "1.4.0", | 56 | "ui-bootstrap4": "^3.0.5" |
48 | "gulp-replace": "1.0.0", | ||
49 | "gulp-sequence": "1.0.0", |
src/etc/develop.ejemplo.js
File was created | 1 | angular.module('focaAbmPlazoPago') | |
2 | .constant("API_ENDPOINT", { | ||
3 | 'URL': '//127.0.0.1:9000' | ||
4 | }); | ||
5 |
src/js/app.js
1 | angular.module('focaAbmPlazoPago', []); | 1 | angular.module('focaAbmPlazoPago', ['ngRoute', 'ui.bootstrap']); |
2 | 2 |
src/js/controller.js
1 | angular.module('focaAbmPlazoPago') | 1 | angular.module('focaAbmPlazoPago') |
2 | .controller('focaAbmPlazosPagoController', [ | 2 | .controller('focaAbmPlazosPagoController', [ |
3 | '$scope', 'focaAbmPlazoPagoService', '$location', '$uibModal', | 3 | '$scope', 'focaAbmPlazoPagoService', '$location', '$uibModal', |
4 | function($scope, focaAbmPlazoPagoService, $location, $uibModal) { | 4 | function($scope, focaAbmPlazoPagoService, $location, $uibModal) { |
5 | focaAbmPlazoPagoService.obtenerPlazosPago().then(function(datos) { | 5 | focaAbmPlazoPagoService.obtenerPlazosPago().then(function(datos) { |
6 | $scope.plazosPago = datos.data; | 6 | $scope.plazosPago = datos.data; |
7 | }); | 7 | }); |
8 | $scope.editar = function(id) { | 8 | $scope.editar = function(idPreciosCondiciones, id) { |
9 | $location.path('/plazo-pago/' + id); | 9 | $location.path('/precio-condicion/' + idPreciosCondiciones + '/plazo-pago/' + id); |
10 | }; | 10 | }; |
11 | $scope.solicitarConfirmacion = function(plazoPago) { | 11 | $scope.solicitarConfirmacion = function(plazoPago) { |
12 | $uibModal.open({ | 12 | $uibModal.open({ |
13 | templateUrl: 'foca-abm-plazos-pago-modal-confirmar.html', | 13 | templateUrl: 'foca-abm-plazos-pago-modal-confirmar.html', |
14 | controller: 'focaAbmPlazosPagoModalConfirmarController', | 14 | controller: 'focaAbmPlazosPagoModalConfirmarController', |
15 | animation: false, | 15 | animation: false, |
16 | backdrop: false, | 16 | backdrop: false, |
17 | resolve: {plazoPago: function(){return plazoPago;}} | 17 | resolve: {plazoPago: function(){return plazoPago;}} |
18 | }) | 18 | }) |
19 | .result.then(function(plazoPago){ | 19 | .result.then(function(plazoPago){ |
20 | focaAbmPlazoPagoService.borrarPlazoPago(plazoPago.id); | 20 | focaAbmPlazoPagoService.borrarPlazoPago(plazoPago.id); |
21 | $scope.plazosPago.splice( | 21 | $scope.plazosPago.splice( |
22 | $scope.plazosPago.indexOf(plazoPago), 1 | 22 | $scope.plazosPago.indexOf(plazoPago), 1 |
23 | ); | 23 | ); |
24 | }); | 24 | }); |
25 | }; | 25 | }; |
26 | } | 26 | } |
27 | ]) | 27 | ]) |
28 | .controller('focaAbmPlazoPagoController', [ | 28 | .controller('focaAbmPlazoPagoController', [ |
29 | '$scope', 'focaAbmPlazoPagoService', | 29 | '$scope', 'focaAbmPlazoPagoService', |
30 | '$routeParams', '$location', | 30 | '$routeParams', '$location', |
31 | function( | 31 | function( |
32 | $scope, focaAbmPlazoPagoService, | 32 | $scope, focaAbmPlazoPagoService, |
33 | $routeParams, $location | 33 | $routeParams, $location |
34 | ) { | 34 | ) { |
35 | focaAbmPlazoPagoService.obtenerPlazoPago($routeParams.id) | 35 | focaAbmPlazoPagoService.obtenerPlazoPago($routeParams.id) |
36 | .then(function(datos) { | 36 | .then(function(datos) { |
37 | $scope.plazoPago = { | 37 | $scope.plazoPago = { |
38 | id: 0, | 38 | id: 0, |
39 | idPreciosCondiciones: $routeParams.idPreciosCondiciones, | 39 | idPreciosCondiciones: $routeParams.idPreciosCondiciones, |
40 | item: '', | 40 | item: '', |
41 | dias: '' | 41 | dias: '' |
42 | }; | 42 | }; |
43 | if(datos.data.id) { | 43 | if(datos.data.id) { |
44 | $scope.plazoPago = datos.data; | 44 | $scope.plazoPago = datos.data; |
45 | } | 45 | } |
46 | }); | 46 | }); |
47 | $scope.cancelar = function() { | 47 | $scope.cancelar = function() { |
48 | $location.path('/precio-condicion/' + $routeParams.idPreciosCondiciones); | 48 | $location.path('/precio-condicion/' + $routeParams.idPreciosCondiciones); |
49 | }; | 49 | }; |
50 | $scope.guardar = function(plazoPago) { | 50 | $scope.guardar = function(plazoPago) { |
51 | focaAbmPlazoPagoService.guardarPlazoPago(plazoPago) | 51 | focaAbmPlazoPagoService.guardarPlazoPago(plazoPago) |
52 | .then(function() { | 52 | .then(function() { |
53 | $location.path('/precio-condicion/' + $routeParams.idPreciosCondiciones); | 53 | $location.path('/precio-condicion/' + $routeParams.idPreciosCondiciones); |
54 | }); | 54 | }); |
55 | }; | 55 | }; |
56 | } | 56 | } |
57 | ]) | 57 | ]) |
58 | .controller('focaAbmPlazosPagoModalConfirmarController', [ | 58 | .controller('focaAbmPlazosPagoModalConfirmarController', [ |
59 | '$uibModalInstance', '$scope', 'plazoPago', | 59 | '$uibModalInstance', '$scope', 'plazoPago', |
60 | function($uibModalInstance, $scope, plazoPago) { | 60 | function($uibModalInstance, $scope, plazoPago) { |
61 | $scope.plazoPago = plazoPago; | 61 | $scope.plazoPago = plazoPago; |
62 | $scope.cancelar = function() { | 62 | $scope.cancelar = function() { |
63 | $uibModalInstance.dismiss(); | 63 | $uibModalInstance.dismiss(); |
64 | }; | 64 | }; |
65 | $scope.borrar = function() { | 65 | $scope.borrar = function() { |
66 | $uibModalInstance.close(plazoPago); | 66 | $uibModalInstance.close(plazoPago); |
67 | }; | 67 | }; |
68 | } | 68 | } |
69 | ]); | 69 | ]); |
70 | 70 |
src/js/route.js
1 | angular.module('focaAbmPlazoPago') | 1 | angular.module('focaAbmPlazoPago') |
2 | .config([ | 2 | .config([ |
3 | '$routeProvider', | 3 | '$routeProvider', |
4 | function($routeProvider) { | 4 | function($routeProvider) { |
5 | $routeProvider.when('/plazo-pago', { | 5 | $routeProvider.when('/plazo-pago', { |
6 | controller: 'focaAbmPlazosPagoController', | 6 | controller: 'focaAbmPlazosPagoController', |
7 | templateUrl: 'foca-abm-plazos-pago-listado.html' | 7 | templateUrl: 'src/views/foca-abm-plazos-pago-listado.html' |
8 | }); | 8 | }); |
9 | } | 9 | } |
10 | ]) | 10 | ]) |
11 | .config([ | 11 | .config([ |
12 | '$routeProvider', | 12 | '$routeProvider', |
13 | function($routeProvider) { | 13 | function($routeProvider) { |
14 | $routeProvider.when('/precio-condicion/:idPreciosCondiciones/plazo-pago/:id', { | 14 | $routeProvider.when('/precio-condicion/:idPreciosCondiciones/plazo-pago/:id', { |
15 | controller: 'focaAbmPlazoPagoController', | 15 | controller: 'focaAbmPlazoPagoController', |
16 | templateUrl: 'foca-abm-plazos-pago-item.html' | 16 | templateUrl: 'src/views/foca-abm-plazos-pago-item.html' |
17 | }); | 17 | }); |
18 | } | 18 | } |
19 | ]); | 19 | ]); |
20 | 20 |
src/views/foca-abm-plazos-pago-listado.html
1 | <table class="table table-sm table-hover table-nonfluid"> | 1 | <table class="table table-sm table-hover table-nonfluid"> |
2 | <tr> | 2 | <tr> |
3 | <th>Item</th> | 3 | <th>Item</th> |
4 | <th>Dias</th> | 4 | <th>Dias</th> |
5 | <th colspan="2" class="text-center"> | 5 | <th colspan="2" class="text-center"> |
6 | <button class="btn btn-default" ng-click="editar(0)"> | 6 | <button class="btn btn-default" ng-click="editar(0, 0)"> |
7 | <i class="fa fa-plus"></i> | 7 | <i class="fa fa-plus"></i> |
8 | </button> | 8 | </button> |
9 | </th> | 9 | </th> |
10 | </tr> | 10 | </tr> |
11 | <tr ng-repeat="plazoPago in plazosPago"> | 11 | <tr ng-repeat="plazoPago in plazosPago"> |
12 | <td ng-bind="plazoPago.item"></td> | 12 | <td ng-bind="plazoPago.item"></td> |
13 | <td ng-bind="plazoPago.dias"></td> | 13 | <td ng-bind="plazoPago.dias"></td> |
14 | <td> | 14 | <td> |
15 | <button class="btn btn-default" ng-click="editar(plazoPago.id)"> | 15 | <button |
16 | class="btn btn-default" | ||
17 | ng-click="editar(plazoPago.idPreciosCondiciones, plazoPago.id)" | ||
18 | > | ||
16 | <i class="fa fa-pencil"></i> | 19 | <i class="fa fa-pencil"></i> |
17 | </button> | 20 | </button> |
18 | <button class="btn btn-default" ng-click="solicitarConfirmacion(plazoPago)"> | 21 | <button class="btn btn-default" ng-click="solicitarConfirmacion(plazoPago)"> |
19 | <i class="fa fa-trash"></i> | 22 | <i class="fa fa-trash"></i> |
20 | </button> | 23 | </button> |
21 | </td> | 24 | </td> |
22 | </tr> | 25 | </tr> |
23 | </table> | 26 | </table> |
24 | 27 |