diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..44f11df
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,5 @@
+/node_modules
+/dist
+/tmp
+package-lock\.json
+src/etc/develop\.js
diff --git a/.jshintrc b/.jshintrc
new file mode 100644
index 0000000..d8cbb07
--- /dev/null
+++ b/.jshintrc
@@ -0,0 +1,64 @@
+{
+ /*
+ * ENVIRONMENTS
+ * =================
+ */
+
+ // Define globals exposed by modern browsers.
+ "browser": true,
+
+ // Define globals exposed by jQuery.
+ "jquery": true,
+
+ // Define globals exposed by Node.js.
+ "node": true,
+
+ // Allow ES6.
+ "esversion": 6,
+
+ /*
+ * ENFORCING OPTIONS
+ * =================
+ */
+
+ // Force all variable names to use either camelCase style or UPPER_CASE
+ // with underscores.
+ "camelcase": true,
+
+ // Prohibit use of == and != in favor of === and !==.
+ "eqeqeq": true,
+
+ // Enforce tab width of 2 spaces.
+ "indent": 4,
+
+ // Prohibit use of a variable before it is defined.
+ "latedef": false,
+
+ // Enforce line length to 100 characters
+ "maxlen": 100,
+
+ // Require capitalized names for constructor functions.
+ "newcap": true,
+
+ // Enforce use of single quotation marks for strings.
+ "quotmark": "single",
+
+ // Enforce placing 'use strict' at the top function scope
+ "strict": false,
+
+ // Prohibit use of explicitly undeclared variables.
+ "undef": true,
+
+ // Warn when variables are defined but never used.
+ "unused": true,
+
+ // Para que funcione en angular
+ "predef": ["angular", "alert", "spyOn", "expect", "it", "inject", "beforeEach", "describe"],
+ /*
+ * RELAXING OPTIONS
+ * =================
+ */
+
+ // Suppress warnings about == null comparisons.
+ "eqnull": true
+}
diff --git a/gulpfile.js b/gulpfile.js
new file mode 100644
index 0000000..e98bbc2
--- /dev/null
+++ b/gulpfile.js
@@ -0,0 +1,95 @@
+const templateCache = require('gulp-angular-templatecache');
+const concat = require('gulp-concat');
+const htmlmin = require('gulp-htmlmin');
+const rename = require('gulp-rename');
+const uglify = require('gulp-uglify');
+const gulp = require('gulp');
+const pump = require('pump');
+const jshint = require('gulp-jshint');
+const replace = require('gulp-replace');
+const connect = require('gulp-connect');
+const clean = require('gulp-clean');
+
+var paths = {
+ srcJS: 'src/js/*.js',
+ srcViews: 'src/views/*.html',
+ tmp: 'tmp',
+ dist: 'dist/'
+};
+
+gulp.task('clean', function() {
+ return gulp.src(['tmp', 'dist'], {read: false})
+ .pipe(clean());
+});
+
+gulp.task('templates', ['clean'], function() {
+ return pump(
+ [
+ gulp.src(paths.srcViews),
+ htmlmin(),
+ templateCache('views.js', {
+ module: 'focaModalFacturaDetalle',
+ root: ''
+ }),
+ gulp.dest(paths.tmp)
+ ]
+ );
+});
+
+gulp.task('uglify', ['templates'], function() {
+ return pump(
+ [
+ gulp.src([
+ paths.srcJS,
+ 'tmp/views.js'
+ ]),
+ concat('foca-modal-factura-detalle.js'),
+ replace('src/views/', ''),
+ replace("['ui.bootstrap', 'focaDirectivas', 'angular-ladda']", '[]'),
+ gulp.dest(paths.tmp),
+ rename('foca-modal-factura-detalle.min.js'),
+ uglify(),
+ gulp.dest(paths.dist)
+ ]
+ );
+});
+
+gulp.task('pre-commit', function() {
+ return pump(
+ [
+ gulp.src(paths.srcJS),
+ jshint('.jshintrc'),
+ jshint.reporter('default'),
+ jshint.reporter('fail')
+ ]
+ );
+
+ gulp.start('uglify');
+});
+
+gulp.task('webserver', function() {
+ pump [
+ connect.server({port: 3000})
+ ]
+});
+
+gulp.task('clean-post-install', function() {
+ return gulp.src(['src', 'tmp', '.jshintrc','readme.md', '.gitignore', 'gulpfile.js',
+ 'index.html'], {read: false})
+ .pipe(clean());
+});
+
+gulp.task('default', ['webserver']);
+
+gulp.task('watch', function() {
+ gulp.watch([paths.srcJS, paths.srcViews], ['uglify'])
+});
+
+gulp.task('copy', ['uglify'], function() {
+ gulp.src('dist/*.js')
+ .pipe(gulp.dest('../../wrapper-demo/node_modules/foca-modal-nota-pedido/dist'));
+});
+
+gulp.task('watchAndCopy', function() {
+ return gulp.watch([paths.srcJS, paths.srcViews], ['copy']);
+});
diff --git a/index.html b/index.html
new file mode 100644
index 0000000..c815ac0
--- /dev/null
+++ b/index.html
@@ -0,0 +1,34 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/package.json b/package.json
new file mode 100644
index 0000000..22d9722
--- /dev/null
+++ b/package.json
@@ -0,0 +1,62 @@
+{
+ "name": "foca-modal-factura-detalle",
+ "version": "0.0.1",
+ "description": "Modal mostrar facturas en detalle",
+ "scripts": {
+ "test": "echo \"Error: no test specified\" && exit 1",
+ "gulp-pre-commit": "gulp pre-commit",
+ "compile": "gulp uglify",
+ "postinstall": "npm run compile && gulp clean-post-install",
+ "install-dev": "npm i --ignore-scripts"
+ },
+ "pre-commit": [
+ "gulp-pre-commit"
+ ],
+ "repository": {
+ "type": "git",
+ "url": "http://git.focasoftware.com/npm/foca-modal-factura-detalle.git"
+ },
+ "author": "Foca Software",
+ "license": "ISC",
+ "peerDependencies": {
+ "angular": "^1.7.4",
+ "bootstrap": "^4.1.3",
+ "font-awesome": "^4.7.0",
+ "ui-bootstrap4": "^3.0.4",
+ "gulp": "^3.9.1",
+ "gulp-angular-templatecache": "^2.2.1",
+ "gulp-concat": "^2.6.1",
+ "gulp-connect": "^5.6.1",
+ "gulp-htmlmin": "^5.0.1",
+ "gulp-rename": "^1.4.0",
+ "gulp-replace": "^1.0.0",
+ "gulp-uglify": "^3.0.1",
+ "jquery": "^3.3.1",
+ "pump": "^3.0.0",
+ "foca-directivas": "git+http://git.focasoftware.com/npm/foca-directivas"
+ },
+ "devDependencies": {
+ "angular": "^1.7.5",
+ "angular-ladda": "^0.4.3",
+ "bootstrap": "^4.1.3",
+ "foca-directivas": "git+http://git.focasoftware.com/npm/foca-directivas.git",
+ "font-awesome": "^4.7.0",
+ "gulp": "^3.9.1",
+ "gulp-angular-templatecache": "^2.2.5",
+ "gulp-clean": "^0.4.0",
+ "gulp-concat": "^2.6.1",
+ "gulp-connect": "^5.6.1",
+ "gulp-htmlmin": "^5.0.1",
+ "gulp-jshint": "^2.1.0",
+ "gulp-rename": "^1.4.0",
+ "gulp-replace": "^1.0.0",
+ "gulp-uglify": "^3.0.1",
+ "jasmine-core": "^3.3.0",
+ "jquery": "^3.3.1",
+ "jshint": "^2.9.6",
+ "ladda": "^1.0.6",
+ "pre-commit": "^1.2.2",
+ "pump": "^3.0.0",
+ "ui-bootstrap4": "^3.0.5"
+ }
+}
diff --git a/src/etc/develop.js.ejemplo b/src/etc/develop.js.ejemplo
new file mode 100644
index 0000000..f1c13ac
--- /dev/null
+++ b/src/etc/develop.js.ejemplo
@@ -0,0 +1,4 @@
+angular.module('focaModalFactura')
+ .constant("API_ENDPOINT", {
+ 'URL': '//127.0.0.1:9000'
+ });
diff --git a/src/js/app.js b/src/js/app.js
new file mode 100644
index 0000000..a5515d0
--- /dev/null
+++ b/src/js/app.js
@@ -0,0 +1 @@
+angular.module('focaModalFacturaDetalle', ['ui.bootstrap', 'focaDirectivas', 'angular-ladda']);
diff --git a/src/js/controller.js b/src/js/controller.js
new file mode 100644
index 0000000..62fe8b5
--- /dev/null
+++ b/src/js/controller.js
@@ -0,0 +1,26 @@
+angular.module('focaModalFacturaDetalle')
+ .controller('focaModalFacturaDetalleController',
+ [
+ '$scope',
+ '$uibModalInstance',
+ 'focaModalFacturaDetalleService',
+ 'factura',
+ 'cliente',
+ function($scope, $uibModalInstance,
+ focaModalFacturaDetalleService, factura, cliente
+ ) {
+ $scope.factura = factura;
+ $scope.cliente = cliente;
+ $scope.detalles = [];
+ focaModalFacturaDetalleService
+ .getFacturasDetalleByNCO(factura.NCO)
+ .then(function(res) {
+ $scope.detalles = res.data;
+ });
+
+ $scope.cerrar = function() {
+ $uibModalInstance.dismiss();
+ };
+ }
+ ]
+ );
diff --git a/src/js/service.js b/src/js/service.js
new file mode 100644
index 0000000..08ad266
--- /dev/null
+++ b/src/js/service.js
@@ -0,0 +1,13 @@
+angular.module('focaModalFacturaDetalle')
+ .factory('focaModalFacturaDetalleService', [
+ '$http',
+ 'API_ENDPOINT',
+ function($http, API_ENDPOINT) {
+ return {
+ getFacturasDetalleByNCO: function(nco) {
+ return $http.get(
+ API_ENDPOINT.URL + '/factura/' + nco + '/detalles');
+ }
+ };
+ }
+ ]);
diff --git a/src/views/foca-modal-factura-detalle.html b/src/views/foca-modal-factura-detalle.html
new file mode 100644
index 0000000..9a1121c
--- /dev/null
+++ b/src/views/foca-modal-factura-detalle.html
@@ -0,0 +1,94 @@
+
+
+
+
+ ({{cliente.COD | rellenarDigitos: 5: 0}}) {{cliente.NOM}}
+
{{factura.DOMICILIO_CLIENTE}}, {{factura.LOCALIDAD}}, {{factura.PROVINCIA}}
+
PAGO: {{factura.formaPago.NOMBRE}}Items: {{detalles.length}}
+
+
+
+
+
+
+
+ Codigo |
+ Cantidad |
+ Detalle |
+ Precio |
+ Importe |
+
+
+
+
+ {{detalle.COD | rellenarDigitos: 2: 0}}-{{detalle.ART | rellenarDigitos: 5: 0}} |
+ |
+ |
+ |
+ |
+
+
+
+
+
+
+ Neto |
+ IVA |
+ Percepción |
+ Imp internos |
+ Perc. IVA |
+
+
+
+
+ |
+ |
+ |
+ |
+ |
+
+
+
+
+ |
+ |
+ Moneda |
+ Coticacion |
+ Total |
+
+
+
+
+ |
+ |
+ |
+ |
+ |
+
+
+
+
+
+
+
\ No newline at end of file