@apia/cli 4.0.25 → 4.0.27
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/cli/cli.cjs
CHANGED
|
@@ -1,18 +1,18 @@
|
|
|
1
|
-
package test;
|
|
2
|
-
|
|
3
|
-
import com.dogma.busClass.customComponent.AbstractCustomComponent;
|
|
4
|
-
import com.dogma.busClass.customComponent.CustomComponentAttribute;
|
|
5
|
-
import com.dogma.busClass.customComponent.CustomComponentData;
|
|
6
|
-
|
|
7
|
-
@CustomComponentData(
|
|
8
|
-
name = "__COMPONENT_NAME__",
|
|
9
|
-
title = "Files uploader",
|
|
10
|
-
description = "Componente de demo que permite la carga de archivos.")
|
|
11
|
-
public class __COMPONENT_NAME__ extends AbstractCustomComponent {
|
|
12
|
-
@CustomComponentAttribute(
|
|
13
|
-
name = "uploaded",
|
|
14
|
-
title = "Archivos subidos",
|
|
15
|
-
description = "Este atributo esetá marcado con isDocument=true, lo que permite al server tratarlo diferente por conveniencia para el cliente.",
|
|
16
|
-
isDocument = true)
|
|
17
|
-
public Attribute uploaded;
|
|
18
|
-
}
|
|
1
|
+
package test;
|
|
2
|
+
|
|
3
|
+
import com.dogma.busClass.customComponent.AbstractCustomComponent;
|
|
4
|
+
import com.dogma.busClass.customComponent.CustomComponentAttribute;
|
|
5
|
+
import com.dogma.busClass.customComponent.CustomComponentData;
|
|
6
|
+
|
|
7
|
+
@CustomComponentData(
|
|
8
|
+
name = "__COMPONENT_NAME__",
|
|
9
|
+
title = "Files uploader",
|
|
10
|
+
description = "Componente de demo que permite la carga de archivos.")
|
|
11
|
+
public class __COMPONENT_NAME__ extends AbstractCustomComponent {
|
|
12
|
+
@CustomComponentAttribute(
|
|
13
|
+
name = "uploaded",
|
|
14
|
+
title = "Archivos subidos",
|
|
15
|
+
description = "Este atributo esetá marcado con isDocument=true, lo que permite al server tratarlo diferente por conveniencia para el cliente.",
|
|
16
|
+
isDocument = true)
|
|
17
|
+
public Attribute uploaded;
|
|
18
|
+
}
|
|
@@ -1,76 +1,76 @@
|
|
|
1
|
-
import { FC } from 'react';
|
|
2
|
-
import { AbstractCustomComponent, Plugin } from '@apia/execution-react';
|
|
3
|
-
import { Box, ThemeUICSSObject } from '@apia/theme';
|
|
4
|
-
import {
|
|
5
|
-
UploadHandler,
|
|
6
|
-
Uploader as ExternalUploaderComponent,
|
|
7
|
-
} from '@apia/components';
|
|
8
|
-
|
|
9
|
-
const __COMPONENT_NAME__Styles: ThemeUICSSObject = {
|
|
10
|
-
'&.__COMPONENT_NAME_SNAKE__': {},
|
|
11
|
-
};
|
|
12
|
-
|
|
13
|
-
type UploaderState = { name: string; index: number }[];
|
|
14
|
-
|
|
15
|
-
class __COMPONENT_NAME__ extends AbstractCustomComponent {
|
|
16
|
-
/**
|
|
17
|
-
* El uploader handler es una clase utilitaria que se usa para gestionar la vista de upload.
|
|
18
|
-
*
|
|
19
|
-
* La ventaja más específica que tiene es que se mapea directamente con el componente Uploader
|
|
20
|
-
* de @apia/components, lo cual permite un manejo muy sencillo del upload de archivos.
|
|
21
|
-
*/
|
|
22
|
-
uploadHandler = new UploadHandler({
|
|
23
|
-
initialFiles: [],
|
|
24
|
-
isMultiple: true,
|
|
25
|
-
onDelete: async (_file) => {
|
|
26
|
-
/**
|
|
27
|
-
* El método onDelete del uploadHandler se mapea directamente con el método removeIndex del CustomComponent::Handler
|
|
28
|
-
*/
|
|
29
|
-
const result = await this.handler.removeIndex(
|
|
30
|
-
'uploaded',
|
|
31
|
-
_file.id as number,
|
|
32
|
-
);
|
|
33
|
-
|
|
34
|
-
return result || 'Something went wrong when deleting the file';
|
|
35
|
-
},
|
|
36
|
-
onUpload: async (file) => {
|
|
37
|
-
/**
|
|
38
|
-
* El método onUpload del uploadHandler se mapea directamente con el método upload del CustomComponent::Handler
|
|
39
|
-
*/
|
|
40
|
-
const result = await this.handler.upload('uploaded', file.file, {
|
|
41
|
-
signal: file.abortController?.signal,
|
|
42
|
-
onUploadProgress: (p) => (file.progress = p),
|
|
43
|
-
});
|
|
44
|
-
|
|
45
|
-
if (result?.success) {
|
|
46
|
-
/**
|
|
47
|
-
* Si todo salió bien obtenemos el índice donde fue colocado el archivo y el nombre del mismo, que coincide
|
|
48
|
-
* con el nombre original del archivo.
|
|
49
|
-
*/
|
|
50
|
-
return { id: result.index, name: result.fileName };
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
return 'Something went wrong when uploading the file';
|
|
54
|
-
},
|
|
55
|
-
});
|
|
56
|
-
|
|
57
|
-
protected init() {
|
|
58
|
-
/**
|
|
59
|
-
* Cuando el atributo se marca con isDocument=true, el server responde con el tipo UploaderState,
|
|
60
|
-
* que podemos usarlo para mapear el estado inicial del uploader.
|
|
61
|
-
*/
|
|
62
|
-
this.uploadHandler.state.uploadedFiles = (
|
|
63
|
-
this.handler.getValues('uploaded') as UploaderState
|
|
64
|
-
).map((c) => ({ id: c.index, name: c.name }));
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
protected Component: FC = () => {
|
|
68
|
-
return (
|
|
69
|
-
<Box className="__COMPONENT_NAME_SNAKE__" sx={__COMPONENT_NAME__Styles}>
|
|
70
|
-
<ExternalUploaderComponent handler={this.uploadHandler} />
|
|
71
|
-
</Box>
|
|
72
|
-
);
|
|
73
|
-
};
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
new Plugin('__COMPONENT_NAME__', __COMPONENT_NAME__);
|
|
1
|
+
import { FC } from 'react';
|
|
2
|
+
import { AbstractCustomComponent, Plugin } from '@apia/execution-react';
|
|
3
|
+
import { Box, ThemeUICSSObject } from '@apia/theme';
|
|
4
|
+
import {
|
|
5
|
+
UploadHandler,
|
|
6
|
+
Uploader as ExternalUploaderComponent,
|
|
7
|
+
} from '@apia/components';
|
|
8
|
+
|
|
9
|
+
const __COMPONENT_NAME__Styles: ThemeUICSSObject = {
|
|
10
|
+
'&.__COMPONENT_NAME_SNAKE__': {},
|
|
11
|
+
};
|
|
12
|
+
|
|
13
|
+
type UploaderState = { name: string; index: number }[];
|
|
14
|
+
|
|
15
|
+
class __COMPONENT_NAME__ extends AbstractCustomComponent {
|
|
16
|
+
/**
|
|
17
|
+
* El uploader handler es una clase utilitaria que se usa para gestionar la vista de upload.
|
|
18
|
+
*
|
|
19
|
+
* La ventaja más específica que tiene es que se mapea directamente con el componente Uploader
|
|
20
|
+
* de @apia/components, lo cual permite un manejo muy sencillo del upload de archivos.
|
|
21
|
+
*/
|
|
22
|
+
uploadHandler = new UploadHandler({
|
|
23
|
+
initialFiles: [],
|
|
24
|
+
isMultiple: true,
|
|
25
|
+
onDelete: async (_file) => {
|
|
26
|
+
/**
|
|
27
|
+
* El método onDelete del uploadHandler se mapea directamente con el método removeIndex del CustomComponent::Handler
|
|
28
|
+
*/
|
|
29
|
+
const result = await this.handler.removeIndex(
|
|
30
|
+
'uploaded',
|
|
31
|
+
_file.id as number,
|
|
32
|
+
);
|
|
33
|
+
|
|
34
|
+
return result || 'Something went wrong when deleting the file';
|
|
35
|
+
},
|
|
36
|
+
onUpload: async (file) => {
|
|
37
|
+
/**
|
|
38
|
+
* El método onUpload del uploadHandler se mapea directamente con el método upload del CustomComponent::Handler
|
|
39
|
+
*/
|
|
40
|
+
const result = await this.handler.upload('uploaded', file.file, {
|
|
41
|
+
signal: file.abortController?.signal,
|
|
42
|
+
onUploadProgress: (p) => (file.progress = p),
|
|
43
|
+
});
|
|
44
|
+
|
|
45
|
+
if (result?.success) {
|
|
46
|
+
/**
|
|
47
|
+
* Si todo salió bien obtenemos el índice donde fue colocado el archivo y el nombre del mismo, que coincide
|
|
48
|
+
* con el nombre original del archivo.
|
|
49
|
+
*/
|
|
50
|
+
return { id: result.index, name: result.fileName };
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
return 'Something went wrong when uploading the file';
|
|
54
|
+
},
|
|
55
|
+
});
|
|
56
|
+
|
|
57
|
+
protected init() {
|
|
58
|
+
/**
|
|
59
|
+
* Cuando el atributo se marca con isDocument=true, el server responde con el tipo UploaderState,
|
|
60
|
+
* que podemos usarlo para mapear el estado inicial del uploader.
|
|
61
|
+
*/
|
|
62
|
+
this.uploadHandler.state.uploadedFiles = (
|
|
63
|
+
this.handler.getValues('uploaded') as UploaderState
|
|
64
|
+
).map((c) => ({ id: c.index, name: c.name }));
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
protected Component: FC = () => {
|
|
68
|
+
return (
|
|
69
|
+
<Box className="__COMPONENT_NAME_SNAKE__" sx={__COMPONENT_NAME__Styles}>
|
|
70
|
+
<ExternalUploaderComponent handler={this.uploadHandler} />
|
|
71
|
+
</Box>
|
|
72
|
+
);
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
new Plugin('__COMPONENT_NAME__', __COMPONENT_NAME__);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@apia/cli",
|
|
3
|
-
"version": "4.0.
|
|
3
|
+
"version": "4.0.27",
|
|
4
4
|
"sideEffects": true,
|
|
5
5
|
"author": "Alexis Leite <alexisleite@live.com>",
|
|
6
6
|
"bin": {
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
"access": "public",
|
|
15
15
|
"registry": "https://registry.npmjs.org/"
|
|
16
16
|
},
|
|
17
|
-
"gitHead": "
|
|
17
|
+
"gitHead": "605f1ac826c47102ca7617f42a791fe7e3ef2444",
|
|
18
18
|
"devDependencies": {
|
|
19
19
|
"ts-loader": "^9.5.2",
|
|
20
20
|
"wrapper-webpack-plugin": "^2.2.2"
|