@fto-consult/expo-ui 6.25.2 → 6.26.0
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/babel.config.alias.js +1 -1
- package/package.json +2 -1
- package/src/components/Datagrid/Accordion/Row.js +24 -20
- package/src/components/Datagrid/Accordion/index.js +5 -8
- package/src/components/Datagrid/Common/Common.js +155 -129
- package/src/components/Datagrid/utils.js +5 -1
- package/src/components/Dialog/DialogContent.js +2 -2
- package/src/components/Dropdown/index.js +1 -2
- package/src/components/Label/index.js +12 -4
- package/src/components/List/Common.js +3 -10
- package/src/components/List/Virtuoso/index.js +4 -2
- package/src/components/List/hooks.js +23 -13
- package/src/components/Table/Header/CellHeader.js +0 -1
- package/src/components/Table/Row/Cell/Content.js +2 -2
- package/src/components/Table/Row/RowWrapper.native.js +1 -1
- package/src/components/Table/index.js +3 -3
- package/src/print/createPDF/index.js +20 -0
- package/src/print/formatText.js +84 -0
- package/src/print/index.js +13 -0
- package/src/print/pdf/formats/defaultFormats.js +28 -0
- package/src/print/pdf/formats/defaultPageFormat.js +1 -0
- package/src/print/pdf/formats/defaultPageOrientation.js +1 -0
- package/src/print/pdf/formats/fields.js +139 -0
- package/src/print/pdf/formats/formats.js +8 -0
- package/src/print/pdf/formats/index.js +10 -0
- package/src/print/pdf/formats/renderItem.js +8 -0
- package/src/print/pdf/index.js +2 -0
- package/src/print/pdf/paperSizes/all.js +1948 -0
- package/src/print/pdf/paperSizes/index.js +4 -0
- package/src/print/pdf/paperSizes/iso.js +493 -0
- package/src/print/qrCode.js +44 -0
- package/src/print/svg/index.js +25 -0
- package/src/print/toPdfMakeObj.js +51 -0
- package/src/print/utils.js +1840 -0
- package/src/screens/Help/openLibraries.js +1 -1
|
@@ -13,6 +13,7 @@ import Dimensions from "$cdimensions";
|
|
|
13
13
|
import { StyleSheet } from "react-native";
|
|
14
14
|
import {isMobileNative} from "$cplatform";
|
|
15
15
|
import {addClassName,removeClassName} from "$cutils/dom";
|
|
16
|
+
import { useGetNumColumns } from "../hooks";
|
|
16
17
|
|
|
17
18
|
const propTypes = {
|
|
18
19
|
...defaultObj(Virtuoso.propTypes),
|
|
@@ -32,10 +33,11 @@ const propTypes = {
|
|
|
32
33
|
isScrolling : PropTypes.func,
|
|
33
34
|
};
|
|
34
35
|
/***@see : https://virtuoso.dev/virtuoso-api-reference/ */
|
|
35
|
-
const VirtuosoListComponent = React.forwardRef(({onRender,id,fixedHeaderContent,rowProps,renderTable,listClassName,components,itemProps,windowWidth,
|
|
36
|
+
const VirtuosoListComponent = React.forwardRef(({onRender,id,fixedHeaderContent,numColumns:cNumCol,rowProps,renderTable,listClassName,components,itemProps,windowWidth,responsive,testID,renderItem,onEndReached,onLayout,onContentSizeChange,onScroll,isScrolling,estimatedItemSize,onEndReachedThreshold,containerProps,style,autoSizedStyle,...props},ref)=>{
|
|
36
37
|
if(renderTable){
|
|
37
38
|
responsive = false;
|
|
38
39
|
}
|
|
40
|
+
const {numColumns} = useGetNumColumns({responsive,numColumns:cNumCol,windowWidth})
|
|
39
41
|
const Component = React.useMemo(()=>renderTable ? TableVirtuoso : responsive?VirtuosoGrid:Virtuoso,[responsive,renderTable]);
|
|
40
42
|
const context = useList(props);
|
|
41
43
|
itemProps = defaultObj(itemProps);
|
|
@@ -162,7 +164,7 @@ const VirtuosoListComponent = React.forwardRef(({onRender,id,fixedHeaderContent,
|
|
|
162
164
|
useWindowScroll = {false}
|
|
163
165
|
totalCount = {items.length}
|
|
164
166
|
itemContent = {(index)=>{
|
|
165
|
-
return renderItem({index,item:items[index],items})
|
|
167
|
+
return renderItem({index,numColumns,item:items[index],items})
|
|
166
168
|
}}
|
|
167
169
|
atBottomStateChange = {()=>{
|
|
168
170
|
if(typeof onEndReached =='function'){
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import React from "$react";
|
|
2
2
|
import { prepareItems as customPrepareItems} from "./utils";
|
|
3
|
-
import {defaultFunc} from "$cutils";
|
|
4
|
-
|
|
3
|
+
import {defaultFunc,defaultBool,defaultDecimal} from "$cutils";
|
|
4
|
+
import Dimensions,{isMobileMedia,useWindowDimensions} from "$cdimensions";
|
|
5
|
+
import {grid} from "$theme";
|
|
5
6
|
/**** retourne le contexte associé au composant List
|
|
6
7
|
|
|
7
8
|
*/
|
|
@@ -10,17 +11,26 @@ export const useList = ({items,filter,prepareItems,...props})=>{
|
|
|
10
11
|
const context = contextRef.current;
|
|
11
12
|
context.itemsRefs = Array.isArray(context.itemsRefs) && context.itemsRefs || [];
|
|
12
13
|
context.prepareItems = defaultFunc((prepareItems === false ? (items)=> items:null),prepareItems,customPrepareItems);
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
14
|
+
const canPrepareItems = prepareItems === false ? false : true;
|
|
15
|
+
context.items = contextRef.items = React.useMemo(()=>{
|
|
16
|
+
const r = context.prepareItems(items,filter);
|
|
17
|
+
if(!Array.isArray(r)){
|
|
18
|
+
console.error(r," is not valid list data array",items,props);
|
|
19
|
+
return [];
|
|
17
20
|
}
|
|
18
|
-
return
|
|
19
|
-
},[items]);
|
|
20
|
-
context.items = contextRef.items = prepareItems === false ? items : getItems();
|
|
21
|
-
if(!Array.isArray(context.items)){
|
|
22
|
-
console.error(context.items," is not valid list data array",items,props);
|
|
23
|
-
context.items = [];
|
|
24
|
-
}
|
|
21
|
+
return r;
|
|
22
|
+
},[items,canPrepareItems]);
|
|
25
23
|
return context;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
export const useGetNumColumns = ({windowWidth,numColumns,responsive})=>{
|
|
27
|
+
responsive = defaultBool(responsive,false);
|
|
28
|
+
const dimensions = responsive ? useWindowDimensions() : Dimensions.get("window");
|
|
29
|
+
if(responsive){
|
|
30
|
+
numColumns = grid.numColumns(windowWidth);
|
|
31
|
+
} else {
|
|
32
|
+
numColumns = defaultDecimal(numColumns,1);
|
|
33
|
+
}
|
|
34
|
+
const itemWindowWidth = dimensions.width/numColumns;
|
|
35
|
+
return {numColumns,itemWindowWidth,responsive};
|
|
26
36
|
}
|
|
@@ -9,7 +9,6 @@ import styles from "../styles";
|
|
|
9
9
|
export default function TableCellMainHeaderComponent({columnField,columnDef,style,colArgs,...props}){
|
|
10
10
|
const {sortedColumn,renderHeaderCell,colsWidths} = useTable();
|
|
11
11
|
const width = colsWidths[columnField];
|
|
12
|
-
const isSelectableColumnName = columnDef.isSelectableColumnName;
|
|
13
12
|
const children = React.useMemo(()=>{
|
|
14
13
|
const content = typeof renderHeaderCell =='function'? renderHeaderCell(colArgs) : defaultVal(columnDef.text,columnDef.label,columnField);
|
|
15
14
|
if(!React.isValidElement(content,true)){
|
|
@@ -6,8 +6,8 @@ import {classNames} from "$cutils";
|
|
|
6
6
|
import { StyleSheet } from "react-native";
|
|
7
7
|
import Label from "$ecomponents/Label";
|
|
8
8
|
|
|
9
|
-
function TableCellContentComponent({children,style,...rest}){
|
|
10
|
-
return (<td {
|
|
9
|
+
function TableCellContentComponent({children,columnDef,testID,columnField,style,...rest}){
|
|
10
|
+
return (<td data-test-id={testID||"RN_TableCellComoponent"} className={classNames(rest.className,"table-row-cell")} style={StyleSheet.flatten([style])}>
|
|
11
11
|
{children}
|
|
12
12
|
</td>);
|
|
13
13
|
}
|
|
@@ -7,7 +7,7 @@ import { getRowStyle } from "$ecomponents/Datagrid/utils";
|
|
|
7
7
|
|
|
8
8
|
const TableRowWrapperComponent = forwardRef(({children,colSpan,...props},ref)=>{
|
|
9
9
|
const {bordered,withDatagridContext} = useTable();
|
|
10
|
-
const selected = withDatagridContext ? useIsRowSelected(props) : false;
|
|
10
|
+
const selected = withDatagridContext ? useIsRowSelected(props.rowData || props.rowKey, props.rowIndex) : false;
|
|
11
11
|
const rowStyle = useMemo(()=>{
|
|
12
12
|
return getRowStyle({...props,bordered});
|
|
13
13
|
},[selected])
|
|
@@ -51,7 +51,7 @@ const getOnScrollCb = (refs,pos,cb2)=>{
|
|
|
51
51
|
return isMobileNative()? cb : debounce(cb,200);
|
|
52
52
|
}
|
|
53
53
|
|
|
54
|
-
const TableComponent = React.forwardRef(({containerProps,listContainerStyle,onRender,height,progressBar,renderListContent,children,renderEmpty,renderItem,
|
|
54
|
+
const TableComponent = React.forwardRef(({containerProps,listContainerStyle,onRender,height,progressBar,renderListContent,children,renderEmpty,renderItem,headerScrollViewProps,footerScrollViewProps,scrollViewProps,renderFooterCell,footerCellContainerProps,filterCellContainerProps,headerCellContainerProps,headerProps,rowProps:customRowProps,cellContainerProps,hasFooters,renderHeaderCell,renderFilterCell,columnProps,getRowKey,columnsWidths,colsWidths,columns,...props},tableRef)=>{
|
|
55
55
|
containerProps = defaultObj(containerProps);
|
|
56
56
|
cellContainerProps = defaultObj(cellContainerProps);
|
|
57
57
|
scrollViewProps = defaultObj(scrollViewProps);
|
|
@@ -252,8 +252,8 @@ const TableComponent = React.forwardRef(({containerProps,listContainerStyle,onRe
|
|
|
252
252
|
const index = props['data-index'];
|
|
253
253
|
const item = getRowByIndex(index) || props?.item || null;
|
|
254
254
|
if(!item) return null;
|
|
255
|
-
const args = {rowData:item,rowIndex:index,bordered,isTable:true};
|
|
256
|
-
args.
|
|
255
|
+
const args = {rowData:item,rowIndex:index,index,bordered,isTable:true};
|
|
256
|
+
args.selected = withDatagridContext ? useIsRowSelected(item,index) : false;
|
|
257
257
|
return <TableRowComponent {...props} style={[getRowStyle(args),props.style]}/>
|
|
258
258
|
},
|
|
259
259
|
Table: VirtuosoTableComponent,
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
const pdfMake = require('pdfmake/build/pdfmake.js');
|
|
2
|
+
const pdfFonts = require('pdfmake/build/vfs_fonts.js');
|
|
3
|
+
pdfMake.vfs = pdfFonts.pdfMake.vfs;
|
|
4
|
+
|
|
5
|
+
const fonts = {
|
|
6
|
+
Roboto: {
|
|
7
|
+
normal: 'Roboto-Regular.ttf',
|
|
8
|
+
bold: 'Roboto-Medium.ttf',
|
|
9
|
+
italics: 'Roboto-Italic.ttf',
|
|
10
|
+
bolditalics: 'Roboto-MediumItalic.ttf'
|
|
11
|
+
},
|
|
12
|
+
};
|
|
13
|
+
pdfMake.fonts = fonts;
|
|
14
|
+
function createPDF(args){
|
|
15
|
+
return pdfMake.createPdf(args);
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
export {fonts};
|
|
19
|
+
export default createPDF;
|
|
20
|
+
export {createPDF};
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
function isAplhanumeric(char) {
|
|
2
|
+
const x = `${char || ""}`.charCodeAt(0);
|
|
3
|
+
if (!char || Number.isNaN(x)) {
|
|
4
|
+
return false;
|
|
5
|
+
}
|
|
6
|
+
return !!((x >= 65 && x <= 90)
|
|
7
|
+
|| (x >= 97 && x <= 122)
|
|
8
|
+
|| (x >= 48 && x <= 57));
|
|
9
|
+
}
|
|
10
|
+
function getIndexes(text, wildcard) {
|
|
11
|
+
const indices = [];
|
|
12
|
+
for (let i = 0; i < text.length; i += 1) {
|
|
13
|
+
if (text[i] === wildcard) {
|
|
14
|
+
if (indices.length % 2) {
|
|
15
|
+
if (text[i - 1] === " "
|
|
16
|
+
|| isAplhanumeric(text[i + 1])) {
|
|
17
|
+
break;
|
|
18
|
+
}
|
|
19
|
+
else {
|
|
20
|
+
indices.push(i);
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
else if (typeof (text[i + 1]) === "undefined"
|
|
24
|
+
|| text[i + 1] === " "
|
|
25
|
+
|| isAplhanumeric(text[i - 1])) {
|
|
26
|
+
break;
|
|
27
|
+
}
|
|
28
|
+
else {
|
|
29
|
+
indices.push(i);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
else if (text[i].charCodeAt(0) === 10 && indices.length % 2) {
|
|
33
|
+
indices.pop();
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
if (indices.length % 2) {
|
|
37
|
+
// we have unclosed tags
|
|
38
|
+
indices.pop();
|
|
39
|
+
}
|
|
40
|
+
return indices;
|
|
41
|
+
}
|
|
42
|
+
function injectTags(text, indices, rule) {
|
|
43
|
+
let e = 0;
|
|
44
|
+
indices.forEach((value, index) => {
|
|
45
|
+
const tag = (index % 2)
|
|
46
|
+
? rule.closeTag
|
|
47
|
+
: rule.openTag;
|
|
48
|
+
let v = value;
|
|
49
|
+
v += e;
|
|
50
|
+
text = text.substr(0, v) + tag + text.substr(v + 1);
|
|
51
|
+
e += (tag.length - 1);
|
|
52
|
+
});
|
|
53
|
+
return text;
|
|
54
|
+
}
|
|
55
|
+
function execRule(text, rule) {
|
|
56
|
+
const indices = getIndexes(text, rule.wildcard);
|
|
57
|
+
return injectTags(text, indices, rule);
|
|
58
|
+
}
|
|
59
|
+
function parseText(text, rules) {
|
|
60
|
+
const final = rules.reduce((transformed, rule) => {
|
|
61
|
+
return execRule(transformed, rule);
|
|
62
|
+
}, text);
|
|
63
|
+
return final.replace(/\n/gi, "<br>");
|
|
64
|
+
}
|
|
65
|
+
export const whatsappRules = [
|
|
66
|
+
{
|
|
67
|
+
closeTag: "</strong>",
|
|
68
|
+
openTag: "<strong>",
|
|
69
|
+
wildcard: "*",
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
closeTag: "</i>",
|
|
73
|
+
openTag: "<i>",
|
|
74
|
+
wildcard: "_",
|
|
75
|
+
},
|
|
76
|
+
{
|
|
77
|
+
closeTag: "</s>",
|
|
78
|
+
openTag: "<s>",
|
|
79
|
+
wildcard: "~",
|
|
80
|
+
},
|
|
81
|
+
];
|
|
82
|
+
export default function format(text, rules) {
|
|
83
|
+
return parseText(text, rules || whatsappRules);
|
|
84
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
|
|
2
|
+
import $session from "$session";
|
|
3
|
+
import {isDOMElement} from "$cutils/dom";
|
|
4
|
+
let formatField = require("../exporter/formatField");
|
|
5
|
+
let {outlineText} = require("./svg");
|
|
6
|
+
let printingPageFormats = {};
|
|
7
|
+
|
|
8
|
+
/*** vérifie si le contenu désiré pour l'impression est valide */
|
|
9
|
+
|
|
10
|
+
import createPDF from ("./createPDF");
|
|
11
|
+
import notify from "$cnotify";
|
|
12
|
+
|
|
13
|
+
module.exports = printTB;
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
function populateFormats (){
|
|
2
|
+
let i = 4;
|
|
3
|
+
const formats = {};
|
|
4
|
+
while(i>=0){
|
|
5
|
+
let format = "A"+i;
|
|
6
|
+
let size = {};
|
|
7
|
+
formats[format] = {
|
|
8
|
+
code : format,
|
|
9
|
+
label : format,
|
|
10
|
+
pageFormat : format,
|
|
11
|
+
pageWidth : 0,
|
|
12
|
+
pageHeight : 0,
|
|
13
|
+
displayLogo : 1,
|
|
14
|
+
displaySocialReason : 1,
|
|
15
|
+
displayIdentifier : 1,
|
|
16
|
+
displayThirdPartiesIdentifier : 1,
|
|
17
|
+
pageOrientation : 'portrait',
|
|
18
|
+
topMargin : 15,
|
|
19
|
+
leftMargin : 15,
|
|
20
|
+
rightMargin : 15,
|
|
21
|
+
bottomMargin : 0,
|
|
22
|
+
...size
|
|
23
|
+
}
|
|
24
|
+
i-=1;
|
|
25
|
+
}
|
|
26
|
+
return formats;
|
|
27
|
+
}
|
|
28
|
+
export default populateFormats();
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default "A4";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default 'portrait';
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
import formats from "./formats";
|
|
2
|
+
import {isObj,isNonNullString} from "$cutils";
|
|
3
|
+
|
|
4
|
+
export default {
|
|
5
|
+
code : {
|
|
6
|
+
label : 'Code du format',
|
|
7
|
+
primaryKey : true,
|
|
8
|
+
readOnlyOnEditing : true,
|
|
9
|
+
validType : 'required',
|
|
10
|
+
maxLength : 20
|
|
11
|
+
},
|
|
12
|
+
label : {
|
|
13
|
+
text : "Intitulé du format",
|
|
14
|
+
maxLength : 40
|
|
15
|
+
},
|
|
16
|
+
users : {
|
|
17
|
+
type : "selecttabledata",
|
|
18
|
+
text : "Accessible aux utilisateurs",
|
|
19
|
+
multiple : true,
|
|
20
|
+
foreignKeyColumn : 'code',
|
|
21
|
+
foreignKeyTable : "users",
|
|
22
|
+
dbName : "users"
|
|
23
|
+
},
|
|
24
|
+
displayLogo : {
|
|
25
|
+
text : 'Afficher le logo société',
|
|
26
|
+
type : 'switch',
|
|
27
|
+
defaultValue : 1,
|
|
28
|
+
checkedTooltip : 'Oui',
|
|
29
|
+
uncheckedTooltip : 'Non',
|
|
30
|
+
},
|
|
31
|
+
displaySocialReason : {
|
|
32
|
+
text : 'Entêtes société',
|
|
33
|
+
type : 'switch',
|
|
34
|
+
checkedTooltip : 'Oui',
|
|
35
|
+
uncheckedTooltip : 'Non',
|
|
36
|
+
defaultValue : 1,
|
|
37
|
+
},
|
|
38
|
+
displayIdentifier : {
|
|
39
|
+
text : 'Afficher les ID Société',
|
|
40
|
+
type : 'switch',
|
|
41
|
+
checkedTooltip : 'Oui',
|
|
42
|
+
uncheckedTooltip : 'Non',
|
|
43
|
+
defaultValue : 0,
|
|
44
|
+
//checkedTooltip : 'Afficher les identifiants société à l\'instar du registre de commerce et bien d\'autres',
|
|
45
|
+
//uncheckedTooltip : 'Ne pas afficher les identifiants société à l\'instar du registre de commerce et bien d\'autres',
|
|
46
|
+
},
|
|
47
|
+
displayThirdPartiesIdentifier : {
|
|
48
|
+
text : 'Afficher les ID Tiers',
|
|
49
|
+
type : 'switch',
|
|
50
|
+
checkedTooltip : 'Oui',
|
|
51
|
+
uncheckedTooltip : 'Non',
|
|
52
|
+
defaultValue : 0,
|
|
53
|
+
},
|
|
54
|
+
signatories : {
|
|
55
|
+
type : 'selectstructdata',
|
|
56
|
+
table : 'signatories',
|
|
57
|
+
multiple : true,
|
|
58
|
+
text : 'Signataires',
|
|
59
|
+
},
|
|
60
|
+
signatoriesMargin : {
|
|
61
|
+
type : 'number',
|
|
62
|
+
format : 'number',
|
|
63
|
+
validType : 'number',
|
|
64
|
+
text : 'Nbrs sauts de lignes après signataires',
|
|
65
|
+
tooltip : 'Entrez le nombre de sauts de lignes à laisser sur la page après la ligne des signataires',
|
|
66
|
+
defaultValue : 3,
|
|
67
|
+
},
|
|
68
|
+
footerNote : {
|
|
69
|
+
text : 'Note de bas de page',
|
|
70
|
+
format : 'hashtag',
|
|
71
|
+
maxLength : 500,
|
|
72
|
+
},
|
|
73
|
+
footerCopyRight : {
|
|
74
|
+
text : 'Pied de page',
|
|
75
|
+
format : 'hashtag',
|
|
76
|
+
maxLength : 500,
|
|
77
|
+
},
|
|
78
|
+
pageFormat : {
|
|
79
|
+
text : 'Format de la page',
|
|
80
|
+
defaultValue : require("./defaultPageFormat").default,
|
|
81
|
+
type : 'select',
|
|
82
|
+
items : formats,
|
|
83
|
+
required : true,
|
|
84
|
+
multiple : false,
|
|
85
|
+
itemValue : ({item})=>{
|
|
86
|
+
return formats[item] || item;
|
|
87
|
+
}
|
|
88
|
+
},
|
|
89
|
+
pageWidth : {
|
|
90
|
+
text : 'Largeur de la page en pts(pt)',
|
|
91
|
+
tooltip : 'Spécifiez une valeur de la largeur de la page à imprimer, si cette valeur vaut zéro, la valeur du format de la page sera utilisée',
|
|
92
|
+
defaultValue : 0,
|
|
93
|
+
type : 'number',
|
|
94
|
+
format : 'number',
|
|
95
|
+
validType : 'decimal',
|
|
96
|
+
},
|
|
97
|
+
pageHeight : {
|
|
98
|
+
text : 'Hauteur de la page en pts(pt)',
|
|
99
|
+
tooltip : 'Spécifiez une valeur de la hauteur de la page à imprimer, si cette valeur vaut zéro, la valeur du format de la page sera utilisée',
|
|
100
|
+
defaultValue : 0,
|
|
101
|
+
type : 'number',
|
|
102
|
+
format : 'number',
|
|
103
|
+
validType : 'decimal',
|
|
104
|
+
},
|
|
105
|
+
pageOrientation : {
|
|
106
|
+
text : 'Orientation de la page',
|
|
107
|
+
type : 'select',
|
|
108
|
+
items : [{code:'portrait',label:'Portrait'},{code:'landscape',label:'Paysage'}],
|
|
109
|
+
defaultValue : require("./defaultPageOrientation"),
|
|
110
|
+
required : true,
|
|
111
|
+
},
|
|
112
|
+
leftMargin : {
|
|
113
|
+
type : 'number',
|
|
114
|
+
format : 'number',
|
|
115
|
+
validType : 'number',
|
|
116
|
+
text : 'Marge [Gauche]',
|
|
117
|
+
defaultValue : 20
|
|
118
|
+
},
|
|
119
|
+
topMargin : {
|
|
120
|
+
type : 'number',
|
|
121
|
+
format : 'number',
|
|
122
|
+
validType : 'number',
|
|
123
|
+
text : 'Marge [Haut]',
|
|
124
|
+
defaultValue : 20,
|
|
125
|
+
},
|
|
126
|
+
rightMargin : {
|
|
127
|
+
type : 'number',
|
|
128
|
+
text : 'Marge [Droite]',
|
|
129
|
+
validType : 'number',
|
|
130
|
+
defaultValue : 20
|
|
131
|
+
},
|
|
132
|
+
bottomMargin : {
|
|
133
|
+
type : 'number',
|
|
134
|
+
format : 'number',
|
|
135
|
+
validType : 'number',
|
|
136
|
+
text : 'Marge [Bas]',
|
|
137
|
+
defaultValue : 30
|
|
138
|
+
},
|
|
139
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export default [
|
|
2
|
+
'A4', 'A5', 'A6', 'A7', 'A8', 'A9', 'A10','4A0', '2A0', 'A0', 'A1', 'A2', 'A3',
|
|
3
|
+
'B0', 'B1', 'B2', 'B3', 'B4', 'B5', 'B6', 'B7', 'B8', 'B9', 'B10',
|
|
4
|
+
'C0', 'C1', 'C2', 'C3', 'C4', 'C5', 'C6', 'C7', 'C8', 'C9', 'C10',
|
|
5
|
+
'RA0', 'RA1', 'RA2', 'RA3', 'RA4',
|
|
6
|
+
'SRA0', 'SRA1', 'SRA2', 'SRA3', 'SRA4',
|
|
7
|
+
'EXECUTIVE', 'FOLIO', 'LEGAL', 'LETTER', 'TABLOID'
|
|
8
|
+
]
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
let renderItem = require("./renderItem")
|
|
2
|
+
|
|
3
|
+
export {default as renderItem} from "./renderItem";
|
|
4
|
+
export {default as formats} from "./formats";
|
|
5
|
+
export {default as fields} from "./fields";
|
|
6
|
+
export {default as defaultFormat} from "./defaultFormat";
|
|
7
|
+
export {default as defaultFormats} from "./defaultFormats";
|
|
8
|
+
export {default as pageFormats} from "./defaultFormats";
|
|
9
|
+
export {default as defaultPageOrientation} from "./defaultPageOrientation";
|
|
10
|
+
export {default as defaultPageFormat} from "./defaultPageFormat";
|