@hcd-bsas/list-documents-adapter 0.0.7 → 0.0.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,39 +1,39 @@
1
- {
2
- "name": "@hcd-bsas/list-documents-adapter",
3
- "version": "0.0.7",
4
- "private": false,
5
- "publishConfig": {
6
- "access": "public"
7
- },
8
- "main": "dist/ListDocuments.min.js",
9
- "license": "MIT",
10
- "devDependencies": {
11
- "@hcd-bsas/bootstrap5": "^0.0.2",
12
- "@hcd-bsas/list-documents-plugin": "^0.0.5",
13
- "babel-loader": "^8.2.5",
14
- "browserify": "^17.0.0",
15
- "css-loader": "^6.7.1",
16
- "file-loader": "^6.2.0",
17
- "html-loader": "^4.1.0",
18
- "mini-css-extract-plugin": "^2.6.1",
19
- "postcss": "^8.4.14",
20
- "postcss-loader": "^7.0.1",
21
- "sass-loader": "^13.0.2",
22
- "style-loader": "^3.3.1",
23
- "uglifyjs-webpack-plugin": "^2.2.0",
24
- "url-loader": "^4.1.1",
25
- "vue": "^3.2.37",
26
- "vue-loader": "^17.0.0",
27
- "vue-style-loader": "^4.1.3",
28
- "vue-template-compiler": "^2.7.8",
29
- "webpack": "^5.74.0",
30
- "webpack-cli": "^4.9.2"
31
- },
32
- "dependencies": {
33
- "vue-sweetalert2": "^5.0.5"
34
- },
35
- "scripts": {
36
- "serve": "webpack --mode=development",
37
- "build": "webpack --mode=production"
38
- }
39
- }
1
+ {
2
+ "name": "@hcd-bsas/list-documents-adapter",
3
+ "version": "0.0.9",
4
+ "private": false,
5
+ "publishConfig": {
6
+ "access": "public"
7
+ },
8
+ "main": "dist/ListDocuments.min.js",
9
+ "license": "MIT",
10
+ "devDependencies": {
11
+ "@hcd-bsas/bootstrap5": "^0.0.2",
12
+ "@hcd-bsas/list-documents-plugin": "^0.0.11",
13
+ "babel-loader": "^8.2.5",
14
+ "browserify": "^17.0.0",
15
+ "css-loader": "^6.7.1",
16
+ "file-loader": "^6.2.0",
17
+ "html-loader": "^4.1.0",
18
+ "mini-css-extract-plugin": "^2.6.1",
19
+ "postcss": "^8.4.14",
20
+ "postcss-loader": "^7.0.1",
21
+ "sass-loader": "^13.0.2",
22
+ "style-loader": "^3.3.1",
23
+ "uglifyjs-webpack-plugin": "^2.2.0",
24
+ "url-loader": "^4.1.1",
25
+ "vue": "^3.2.37",
26
+ "vue-loader": "^17.0.0",
27
+ "vue-style-loader": "^4.1.3",
28
+ "vue-template-compiler": "^2.7.8",
29
+ "webpack": "^5.75.0",
30
+ "webpack-cli": "^4.9.2"
31
+ },
32
+ "dependencies": {
33
+ "vue-sweetalert2": "^5.0.5"
34
+ },
35
+ "scripts": {
36
+ "serve": "webpack --mode=development",
37
+ "build": "webpack --mode=production"
38
+ }
39
+ }
package/readme.md CHANGED
@@ -1,116 +1,116 @@
1
-
2
- # js-plugin
3
-
4
- ## Estructura del proyecto
5
-
6
- Genera una librería javascript que funciona como "adapter" del plugin generado con vue-cli-plugin, la cual permite que se lo pueda utilizar desde cualquier entorno javascript sin necesidad de que el proyecto sea Vue 3.
7
-
8
- Internamente la librería exporta una app de Vue 3 que usa el Plugin **list-documents-plugin**.
9
-
10
- ## Pre-requisitos
11
-
12
- ### Es necesario tener instalado
13
-
14
- * [Node Js LTS](https://nodejs.org/en/) La versión utilizada para el primer desarrollo fue 16.14.0 LTS.
15
- * [yarn](https://yarnpkg.com/)
16
-
17
- ~~~
18
- npm install -g yarn
19
- ~~~
20
-
21
- ### Recomendaciones opcionales para instalar
22
-
23
- * [Visual Studio Code](https://code.visualstudio.com/)
24
- * [CMDER](https://github.com/cmderdev/cmder) es una consola de comandos sencilla con algunas sintaxis linux
25
-
26
- ## Instalación
27
-
28
- El proyecto javascript esta armado con [webpack](https://webpack.js.org/concepts/) y algunas librerías adicionales.
29
-
30
- Su instalación es sencilla ejecutando en la raíz del directorio el comando **install** que agregara todas las dependencias necesarias:
31
-
32
- ~~~
33
- yarn install
34
- ~~~
35
-
36
- ## Compilación desarrollo
37
-
38
- El comando **serve** compila el proyecto y se lu puede probar desde el test_javascript.html:
39
-
40
- ~~~
41
- yarn serve
42
- ~~~
43
-
44
- ## Compilación productiva y publicación en NPM
45
-
46
- ### Compilación producción
47
-
48
- El comando **build** compila el proyecto comprimido para luego poder ser distribuido.
49
-
50
- ~~~
51
- yarn build
52
- ~~~
53
-
54
- ### Publicación NPM
55
-
56
- Posteriormente para poder publicar la librería en [NPM](https://www.npmjs.com/) se debe:
57
-
58
- 1) Tener un usuario registrado. [Ir al registro...](https://www.npmjs.com/signup)
59
-
60
- 2) Acceder a la cuenta de NPM de la HDC desde el navegador y agregar como administrador al usuario registrado en la organización **@hcd-bsas**. Credenciales:
61
-
62
- > Usuario: desarrollohcd
63
-
64
- > Contraseña: "la misma que se utiliza en el correo hcddesarrolladoras@gmail.com"
65
-
66
- 3) Autenticar con el usuario registrado en el paso 1 desde la linea de comandos
67
-
68
- ~~~
69
- yarn login
70
- ~~~
71
-
72
- 4) Asegurase de previamente haber compilado la librería en modo producción (comando **build**).
73
-
74
- 5) Publicar librería con el comando **publish**, el cual preguntara cual es el nuevo número de versión. En donde "version": *.*.* --> El primer número corresponde a cambios grandes, el segundo nuevas funcionalidades y el tercero corrección de errores o cambios menores.
75
-
76
- ~~~
77
- yarn publish
78
- ~~~
79
-
80
- Nota: En ocasiones da el error "You cannot publish over the previously published versions" al no poder cambiar la versión de la librería desde la linea de comandos. Para ello se debe aumentar el número de versión en la opción **version** del package.json
81
-
82
- ### Como hacer uso de la librería con NPM
83
-
84
- Pero para poder instalar la librería en cualquier otro proyecto se debe correr el comando en el directorio donde el proyecto contenga las librerías javascript.
85
-
86
- ~~~
87
- yarn add @hcd-bsas/list-documents-adapter
88
- ~~~
89
-
90
- Luego se debe indicar en el constructor la url base donde se encuentran los endpoint para obtener la información a visualizar.
91
-
92
- ~~~
93
- var list = new ImagesList({
94
- base_url: "http://localhost/admin",
95
- });
96
- ~~~
97
-
98
- A partir de la instancia creada se puede invocar al método **open** que recibe 2 parámetros, las opciones de configuración de la app y los parámetros a pasar al endpoint que recupera el listado.
99
-
100
- Por otro lado el método **open** retorna una promesa que indica cuando el plugin finalizo y esta visible.
101
-
102
- ~~~
103
- list.open({
104
- title: "Listado de imágenes escaneadas en Rhys"
105
- },{
106
- id_tabla: ****,
107
- id_tabla_reg: ****,
108
- id_dependen_responsable: ****,
109
- id_pers_reso: ****,
110
- campo_escan: ****
111
- }).then((response) => {
112
- console.log(response)
113
- });
114
- ~~~
115
-
116
- Nota: Se puede ver un ejemplo funcional completo en el archivo test_javascript.html
1
+
2
+ # js-plugin
3
+
4
+ ## Estructura del proyecto
5
+
6
+ Genera una librería javascript que funciona como "adapter" del plugin generado con vue-cli-plugin, la cual permite que se lo pueda utilizar desde cualquier entorno javascript sin necesidad de que el proyecto sea Vue 3.
7
+
8
+ Internamente la librería exporta una app de Vue 3 que usa el Plugin **list-documents-plugin**.
9
+
10
+ ## Pre-requisitos
11
+
12
+ ### Es necesario tener instalado
13
+
14
+ * [Node Js LTS](https://nodejs.org/en/) La versión utilizada para el primer desarrollo fue 16.14.0 LTS.
15
+ * [yarn](https://yarnpkg.com/)
16
+
17
+ ~~~
18
+ npm install -g yarn
19
+ ~~~
20
+
21
+ ### Recomendaciones opcionales para instalar
22
+
23
+ * [Visual Studio Code](https://code.visualstudio.com/)
24
+ * [CMDER](https://github.com/cmderdev/cmder) es una consola de comandos sencilla con algunas sintaxis linux
25
+
26
+ ## Instalación
27
+
28
+ El proyecto javascript esta armado con [webpack](https://webpack.js.org/concepts/) y algunas librerías adicionales.
29
+
30
+ Su instalación es sencilla ejecutando en la raíz del directorio el comando **install** que agregara todas las dependencias necesarias:
31
+
32
+ ~~~
33
+ yarn install
34
+ ~~~
35
+
36
+ ## Compilación desarrollo
37
+
38
+ El comando **serve** compila el proyecto y se lu puede probar desde el test_javascript.html:
39
+
40
+ ~~~
41
+ yarn serve
42
+ ~~~
43
+
44
+ ## Compilación productiva y publicación en NPM
45
+
46
+ ### Compilación producción
47
+
48
+ El comando **build** compila el proyecto comprimido para luego poder ser distribuido.
49
+
50
+ ~~~
51
+ yarn build
52
+ ~~~
53
+
54
+ ### Publicación NPM
55
+
56
+ Posteriormente para poder publicar la librería en [NPM](https://www.npmjs.com/) se debe:
57
+
58
+ 1) Tener un usuario registrado. [Ir al registro...](https://www.npmjs.com/signup)
59
+
60
+ 2) Acceder a la cuenta de NPM de la HDC desde el navegador y agregar como administrador al usuario registrado en la organización **@hcd-bsas**. Credenciales:
61
+
62
+ > Usuario: desarrollohcd
63
+
64
+ > Contraseña: "la misma que se utiliza en el correo hcddesarrolladoras@gmail.com"
65
+
66
+ 3) Autenticar con el usuario registrado en el paso 1 desde la linea de comandos
67
+
68
+ ~~~
69
+ yarn login
70
+ ~~~
71
+
72
+ 4) Asegurase de previamente haber compilado la librería en modo producción (comando **build**).
73
+
74
+ 5) Publicar librería con el comando **publish**, el cual preguntara cual es el nuevo número de versión. En donde "version": *.*.* --> El primer número corresponde a cambios grandes, el segundo nuevas funcionalidades y el tercero corrección de errores o cambios menores.
75
+
76
+ ~~~
77
+ yarn publish
78
+ ~~~
79
+
80
+ Nota: En ocasiones da el error "You cannot publish over the previously published versions" al no poder cambiar la versión de la librería desde la linea de comandos. Para ello se debe aumentar el número de versión en la opción **version** del package.json
81
+
82
+ ### Como hacer uso de la librería con NPM
83
+
84
+ Pero para poder instalar la librería en cualquier otro proyecto se debe correr el comando en el directorio donde el proyecto contenga las librerías javascript.
85
+
86
+ ~~~
87
+ yarn add @hcd-bsas/list-documents-adapter
88
+ ~~~
89
+
90
+ Luego se debe indicar en el constructor la url base donde se encuentran los endpoint para obtener la información a visualizar.
91
+
92
+ ~~~
93
+ var list = new ImagesList({
94
+ base_url: "http://localhost/admin",
95
+ });
96
+ ~~~
97
+
98
+ A partir de la instancia creada se puede invocar al método **open** que recibe 2 parámetros, las opciones de configuración de la app y los parámetros a pasar al endpoint que recupera el listado.
99
+
100
+ Por otro lado el método **open** retorna una promesa que indica cuando el plugin finalizo y esta visible.
101
+
102
+ ~~~
103
+ list.open({
104
+ title: "Listado de imágenes escaneadas en Rhys"
105
+ },{
106
+ id_tabla: ****,
107
+ id_tabla_reg: ****,
108
+ id_dependen_responsable: ****,
109
+ id_pers_reso: ****,
110
+ campo_escan: ****
111
+ }).then((response) => {
112
+ console.log(response)
113
+ });
114
+ ~~~
115
+
116
+ Nota: Se puede ver un ejemplo funcional completo en el archivo test_javascript.html
package/src/App.vue CHANGED
@@ -1,21 +1,32 @@
1
- <template>
2
- <list-files ref="list"></list-files>
3
- </template>
4
-
5
- <script>
6
- export default {
7
- name: "App",
8
- props: {},
9
- data() {
10
- return {
11
- };
12
- },
13
- created() {
14
- },
15
- methods: {
16
- showModal(app_config, params) {
17
- return this.$refs['list'].show(app_config, params);
18
- }
19
- }
20
- };
1
+ <template>
2
+ <list-files
3
+ ref="list"
4
+ @lastDocEscanRemoved="lastDocEscanRemoved"
5
+ />
6
+ </template>
7
+
8
+ <script>
9
+ export default {
10
+ name: "App",
11
+ props: {},
12
+ data() {
13
+ return {
14
+ is_last_removed: false
15
+ };
16
+ },
17
+ created() {
18
+ },
19
+ methods: {
20
+ showModal(app_config, params) {
21
+ this.is_last_removed = false;
22
+ return this.$refs['list'].show(app_config, params);
23
+ },
24
+ isLastDocEscanRemoved() {
25
+ return this.is_last_removed;
26
+ },
27
+ lastDocEscanRemoved() {
28
+ this.is_last_removed = true;
29
+ }
30
+ }
31
+ };
21
32
  </script>
package/src/index.js CHANGED
@@ -1,35 +1,35 @@
1
- import { createApp } from 'vue'
2
- import App from './App.vue'
3
- import hcdListPlugin from '@hcd-bsas/list-documents-plugin'
4
- import VueSweetalert2 from 'vue-sweetalert2';
5
-
6
- export default class ImagesList {
7
-
8
- #imagesListId = "hcd-list-plugin-id";
9
- #app = null
10
- #root = null;
11
-
12
- constructor(config) {
13
- try {
14
- config['sweetalert'] = VueSweetalert2;
15
- this.#render();
16
- this.#app = createApp(App);
17
- this.#app.use(hcdListPlugin, config)
18
- this.#root = this.#app.mount("#"+this.#imagesListId);
19
- } catch (error) {
20
- throw error;
21
- }
22
- }
23
-
24
- #render(){
25
- var body = document.body;
26
- var layout = document.createElement('div');
27
- layout.id = this.#imagesListId
28
- body.prepend(layout);
29
- }
30
-
31
- open(app_config, params){
32
- return this.#root.showModal(app_config, params);
33
- }
34
-
35
- }
1
+ import { createApp } from 'vue'
2
+ import App from './App.vue'
3
+ import hcdListPlugin from '@hcd-bsas/list-documents-plugin'
4
+ import VueSweetalert2 from 'vue-sweetalert2';
5
+
6
+ export default class ImagesList {
7
+
8
+ #imagesListId = "hcd-list-plugin-id";
9
+ #app = null
10
+ #root = null;
11
+
12
+ constructor(config) {
13
+ try {
14
+ config['sweetalert'] = VueSweetalert2;
15
+ this.#render();
16
+ this.#app = createApp(App);
17
+ this.#app.use(hcdListPlugin, config)
18
+ this.#root = this.#app.mount("#"+this.#imagesListId);
19
+ } catch (error) {
20
+ throw error;
21
+ }
22
+ }
23
+
24
+ #render(){
25
+ var body = document.body;
26
+ var layout = document.createElement('div');
27
+ layout.id = this.#imagesListId
28
+ body.prepend(layout);
29
+ }
30
+
31
+ open(app_config, params){
32
+ return this.#root.showModal(app_config, params);
33
+ }
34
+
35
+ }
@@ -1,41 +1,41 @@
1
- <!DOCTYPE html>
2
- <html lang="en">
3
- <head>
4
- <meta charset="UTF-8">
5
- <meta http-equiv="X-UA-Compatible" content="IE=edge">
6
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
7
- <title>TEST</title>
8
- <link rel="stylesheet" href="node_modules/@hcd-bsas/bootstrap5/dist/hcd-bootstrap.min.css">
9
- <link rel="stylesheet" href="node_modules/sweetalert2/dist/sweetalert2.min.css">
10
- </head>
11
- <body>
12
-
13
- <button onclick="prueba()">Prueba</button>
14
-
15
-
16
- </body>
17
- <footer>
18
- <script src="node_modules/@hcd-bsas/bootstrap5/dist/hcd-bootstrap.min.js"></script>
19
- <script src="dist/ListDocuments.min.js"></script>
20
- <script>
21
- var list = new ImagesList({
22
- base_url: "http://localhost/admin",
23
- });
24
-
25
- function prueba(){
26
- list.open({
27
- title: "Listado de imágenes escaneadas en Rhys"
28
- },{
29
- id_tabla: 1,
30
- id_tabla_reg: 3922,
31
- id_dependen_responsable: 54,
32
- id_pers_reso: 386,
33
- campo_escan: "INASISTE"
34
- })
35
- .then((response) => {
36
- console.log(response)
37
- });
38
- }
39
- </script>
40
- </footer>
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta http-equiv="X-UA-Compatible" content="IE=edge">
6
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
7
+ <title>TEST</title>
8
+ <link rel="stylesheet" href="node_modules/@hcd-bsas/bootstrap5/dist/hcd-bootstrap.min.css">
9
+ <link rel="stylesheet" href="node_modules/sweetalert2/dist/sweetalert2.min.css">
10
+ </head>
11
+ <body>
12
+
13
+ <button onclick="prueba()">Prueba</button>
14
+
15
+
16
+ </body>
17
+ <footer>
18
+ <script src="node_modules/@hcd-bsas/bootstrap5/dist/hcd-bootstrap.min.js"></script>
19
+ <script src="dist/ListDocuments.min.js"></script>
20
+ <script>
21
+ var list = new ImagesList({
22
+ base_url: "http://localhost/admin",
23
+ });
24
+
25
+ function prueba(){
26
+ list.open({
27
+ title: "Listado de imágenes escaneadas en Rhys"
28
+ },{
29
+ id_tabla: 1,
30
+ id_tabla_reg: 3922,
31
+ id_dependen_responsable: 54,
32
+ id_pers_reso: 386,
33
+ campo_escan: "INASISTE"
34
+ })
35
+ .then((response) => {
36
+ console.log(response)
37
+ });
38
+ }
39
+ </script>
40
+ </footer>
41
41
  </html>
package/webpack.config.js CHANGED
@@ -1,52 +1,52 @@
1
- const path = require('path');
2
- const Webpack = require('webpack');
3
- const { VueLoaderPlugin } = require('vue-loader');
4
- const MiniCssExtractPlugin = require('mini-css-extract-plugin');
5
- const UglifyJsPlugin = require('uglifyjs-webpack-plugin');
6
-
7
- module.exports = {
8
- entry: './src/index.js',
9
- output: {
10
- path: path.resolve(__dirname, 'dist'),
11
- filename: 'ListDocuments.min.js',
12
- library: {
13
- name: 'ImagesList',
14
- type: 'umd',
15
- export: 'default'
16
- },
17
- },
18
- module: {
19
- rules: [
20
- {
21
- test: /\.vue$/,
22
- loader: 'vue-loader',
23
- },
24
- {
25
- test: /\.css$/,
26
- use: [
27
- MiniCssExtractPlugin.loader,
28
- 'css-loader',
29
- 'postcss-loader',
30
- 'sass-loader'
31
- ]
32
- }
33
- ],
34
- },
35
- optimization: {
36
- minimizer: [
37
- new UglifyJsPlugin({
38
- cache: true,
39
- parallel: true,
40
- sourceMap: true
41
- })
42
- ]
43
- },
44
- plugins: [
45
- // make sure to include the plugin!
46
- new VueLoaderPlugin(),
47
- new MiniCssExtractPlugin({
48
- filename: 'hcd-bootstrap.min.css'
49
- }),
50
- new Webpack.DefinePlugin({ __VUE_OPTIONS_API__: true, __VUE_PROD_DEVTOOLS__: false }), // to remove warn in browser console: runtime-core.esm-bundler.js:3607 Feature flags __VUE_OPTIONS_API__, __VUE_PROD_DEVTOOLS__ are not explicitly defined...
51
- ]
1
+ const path = require('path');
2
+ const Webpack = require('webpack');
3
+ const { VueLoaderPlugin } = require('vue-loader');
4
+ const MiniCssExtractPlugin = require('mini-css-extract-plugin');
5
+ const UglifyJsPlugin = require('uglifyjs-webpack-plugin');
6
+
7
+ module.exports = {
8
+ entry: './src/index.js',
9
+ output: {
10
+ path: path.resolve(__dirname, 'dist'),
11
+ filename: 'ListDocuments.min.js',
12
+ library: {
13
+ name: 'ImagesList',
14
+ type: 'umd',
15
+ export: 'default'
16
+ },
17
+ },
18
+ module: {
19
+ rules: [
20
+ {
21
+ test: /\.vue$/,
22
+ loader: 'vue-loader',
23
+ },
24
+ {
25
+ test: /\.css$/,
26
+ use: [
27
+ MiniCssExtractPlugin.loader,
28
+ 'css-loader',
29
+ 'postcss-loader',
30
+ 'sass-loader'
31
+ ]
32
+ }
33
+ ],
34
+ },
35
+ optimization: {
36
+ minimizer: [
37
+ new UglifyJsPlugin({
38
+ cache: true,
39
+ parallel: true,
40
+ sourceMap: true
41
+ })
42
+ ]
43
+ },
44
+ plugins: [
45
+ // make sure to include the plugin!
46
+ new VueLoaderPlugin(),
47
+ new MiniCssExtractPlugin({
48
+ filename: 'hcd-bootstrap.min.css'
49
+ }),
50
+ new Webpack.DefinePlugin({ __VUE_OPTIONS_API__: true, __VUE_PROD_DEVTOOLS__: false }), // to remove warn in browser console: runtime-core.esm-bundler.js:3607 Feature flags __VUE_OPTIONS_API__, __VUE_PROD_DEVTOOLS__ are not explicitly defined...
51
+ ]
52
52
  };