@ramathibodi/nuxt-commons 0.1.14 → 0.1.16
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/README.md +96 -96
- package/dist/module.json +1 -1
- package/dist/runtime/components/Alert.vue +53 -53
- package/dist/runtime/components/BarcodeReader.vue +98 -98
- package/dist/runtime/components/ExportCSV.vue +55 -55
- package/dist/runtime/components/FileBtn.vue +62 -62
- package/dist/runtime/components/ImportCSV.vue +64 -64
- package/dist/runtime/components/SplitterPanel.vue +59 -59
- package/dist/runtime/components/TabsGroup.vue +32 -32
- package/dist/runtime/components/TextBarcode.vue +52 -52
- package/dist/runtime/components/dialog/Confirm.vue +100 -100
- package/dist/runtime/components/dialog/Index.vue +72 -72
- package/dist/runtime/components/dialog/Loading.vue +39 -39
- package/dist/runtime/components/document/TemplateBuilder.vue +203 -216
- package/dist/runtime/components/form/Birthdate.vue +216 -216
- package/dist/runtime/components/form/CodeEditor.vue +37 -37
- package/dist/runtime/components/form/Date.vue +163 -163
- package/dist/runtime/components/form/DateTime.vue +107 -107
- package/dist/runtime/components/form/Dialog.vue +138 -138
- package/dist/runtime/components/form/File.vue +187 -187
- package/dist/runtime/components/form/Hidden.vue +32 -32
- package/dist/runtime/components/form/Login.vue +131 -131
- package/dist/runtime/components/form/Pad.vue +217 -217
- package/dist/runtime/components/form/SignPad.vue +186 -186
- package/dist/runtime/components/form/Table.vue +294 -266
- package/dist/runtime/components/form/Time.vue +158 -158
- package/dist/runtime/components/form/images/Capture.vue +230 -230
- package/dist/runtime/components/form/images/Edit.vue +114 -114
- package/dist/runtime/components/label/Date.vue +29 -29
- package/dist/runtime/components/label/Field.vue +42 -42
- package/dist/runtime/components/label/FormatMoney.vue +29 -29
- package/dist/runtime/components/label/Mask.vue +38 -38
- package/dist/runtime/components/master/Autocomplete.vue +159 -159
- package/dist/runtime/components/master/Combobox.vue +84 -84
- package/dist/runtime/components/master/RadioGroup.vue +78 -78
- package/dist/runtime/components/master/Select.vue +82 -82
- package/dist/runtime/components/model/Pad.vue +122 -122
- package/dist/runtime/components/model/Table.vue +242 -240
- package/dist/runtime/components/model/iterator.vue +312 -312
- package/dist/runtime/components/pdf/Print.vue +63 -63
- package/dist/runtime/components/pdf/View.vue +104 -104
- package/dist/runtime/composables/graphqlModel.mjs +1 -1
- package/dist/runtime/labs/Calendar.vue +99 -99
- package/dist/runtime/labs/form/EditMobile.vue +152 -152
- package/dist/runtime/labs/form/TextFieldMask.vue +43 -43
- package/dist/runtime/types/alert.d.ts +11 -11
- package/dist/runtime/types/formDialog.d.ts +4 -4
- package/dist/runtime/types/graphqlOperation.d.ts +23 -23
- package/dist/runtime/types/menu.d.ts +25 -25
- package/dist/runtime/types/modules.d.ts +7 -7
- package/package.json +120 -119
- package/scripts/postInstall.cjs +70 -70
- package/templates/.codegen/codegen.ts +32 -32
- package/templates/.codegen/plugin-schema-object.js +161 -154
|
@@ -1,154 +1,161 @@
|
|
|
1
|
-
const { getCachedDocumentNodeFromSchema } = require('@graphql-codegen/plugin-helpers')
|
|
2
|
-
const { visit } = require('graphql')
|
|
3
|
-
const { camelCase } = require('lodash')
|
|
4
|
-
|
|
5
|
-
function capitalizeFirstLetter(string) {
|
|
6
|
-
return string.charAt(0).toUpperCase() + string.slice(1)
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
function inputTypeToObject(inputType, result) {
|
|
10
|
-
if (inputType.kind === 'NonNullType') {
|
|
11
|
-
result['required'] = true
|
|
12
|
-
inputTypeToObject(inputType.type, result)
|
|
13
|
-
}
|
|
14
|
-
if (inputType.kind === 'ListType') {
|
|
15
|
-
result['list'] = true
|
|
16
|
-
inputTypeToObject(inputType.type, result)
|
|
17
|
-
}
|
|
18
|
-
if (inputType.kind === 'NamedType') {
|
|
19
|
-
result['type'] = inputType.name.value
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
module.exports = {
|
|
24
|
-
plugin(schema, _documents, _config) {
|
|
25
|
-
const astNode = getCachedDocumentNodeFromSchema(schema) // Transforms the GraphQLSchema into ASTNode
|
|
26
|
-
|
|
27
|
-
const operationNode = []
|
|
28
|
-
const typeNode = []
|
|
29
|
-
const inputNode = []
|
|
30
|
-
|
|
31
|
-
const scalarType = ['ID', 'String', 'Boolean', 'Int', 'Float']
|
|
32
|
-
|
|
33
|
-
const result = visit(astNode, {
|
|
34
|
-
ObjectTypeDefinition(node) {
|
|
35
|
-
if (node.name.value === 'Query' || node.name.value === 'Mutation') {
|
|
36
|
-
node.fields.forEach((field) => {
|
|
37
|
-
let fieldType = {}
|
|
38
|
-
let fieldVariables = []
|
|
39
|
-
inputTypeToObject(field.type, fieldType)
|
|
40
|
-
field.arguments.forEach((argument) => {
|
|
41
|
-
let fieldVariablesItem = { name: argument.name.value }
|
|
42
|
-
if (argument.defaultValue) fieldVariablesItem.value = argument.defaultValue.value
|
|
43
|
-
if (argument.type) inputTypeToObject(argument.type, fieldVariablesItem)
|
|
44
|
-
fieldVariables.push(fieldVariablesItem)
|
|
45
|
-
})
|
|
46
|
-
operationNode.push({
|
|
47
|
-
name: field.name.value,
|
|
48
|
-
variables: fieldVariables,
|
|
49
|
-
type: fieldType.type,
|
|
50
|
-
operationType: node.name.value,
|
|
51
|
-
})
|
|
52
|
-
})
|
|
53
|
-
}
|
|
54
|
-
else {
|
|
55
|
-
let fields = []
|
|
56
|
-
node.fields.forEach((field) => {
|
|
57
|
-
let fieldVariablesItem = { name: field.name.value }
|
|
58
|
-
if (field.type) inputTypeToObject(field.type, fieldVariablesItem)
|
|
59
|
-
fields.push(fieldVariablesItem)
|
|
60
|
-
})
|
|
61
|
-
typeNode.push({
|
|
62
|
-
name: node.name.value,
|
|
63
|
-
fields: fields,
|
|
64
|
-
})
|
|
65
|
-
}
|
|
66
|
-
},
|
|
67
|
-
InputObjectTypeDefinition(node) {
|
|
68
|
-
let fields = []
|
|
69
|
-
node.fields.forEach((field) => {
|
|
70
|
-
let fieldVariablesItem = { name: field.name.value }
|
|
71
|
-
if (field.defaultValue) fieldVariablesItem.value = field.defaultValue.value
|
|
72
|
-
if (field.type) inputTypeToObject(field.type, fieldVariablesItem)
|
|
73
|
-
fields.push(fieldVariablesItem)
|
|
74
|
-
})
|
|
75
|
-
inputNode.push({
|
|
76
|
-
name: node.name.value,
|
|
77
|
-
variables: fields,
|
|
78
|
-
})
|
|
79
|
-
},
|
|
80
|
-
ScalarTypeDefinition(node) {
|
|
81
|
-
scalarType.push(node.name.value)
|
|
82
|
-
},
|
|
83
|
-
})
|
|
84
|
-
|
|
85
|
-
typeNode.map((node) => {
|
|
86
|
-
let scalars = []
|
|
87
|
-
let relations = []
|
|
88
|
-
node.fields.forEach((field) => {
|
|
89
|
-
if (scalarType.includes(field.type)) scalars.push(field.name)
|
|
90
|
-
else relations.push(field)
|
|
91
|
-
})
|
|
92
|
-
node.scalars = scalars
|
|
93
|
-
node.relations = relations
|
|
94
|
-
})
|
|
95
|
-
|
|
96
|
-
return `
|
|
97
|
-
import * as graphQlClass from "~/types/graphql"
|
|
98
|
-
import { useGraphQlOperation } from "#imports";
|
|
99
|
-
import type {
|
|
100
|
-
graphqlInputObject,
|
|
101
|
-
graphqlOperationObject,
|
|
102
|
-
graphqlTypeObject,
|
|
103
|
-
graphqlVariable
|
|
104
|
-
} from "#build/types/graphqlOperation";
|
|
105
|
-
|
|
106
|
-
export const scalarType = ${JSON.stringify(scalarType)}
|
|
107
|
-
|
|
108
|
-
function operationCall${'<' + 'T,U>'}(operationType:string, operation: string,fields?: ${'Array' + '<string | Object>'},variables?: U) {
|
|
109
|
-
return useGraphQlOperation${'<' + 'T>'}(operationType,operation,fields,variables as {[p: string] : any} | undefined)
|
|
110
|
-
}
|
|
111
|
-
|
|
112
|
-
function createGraphQLOperation${'<' + 'T,U>'}(operationType: "Query" | "Mutation",name: string,variables?: graphqlVariable[],fields?: graphqlTypeObject): graphqlOperationObject${'<' + 'T,U>'} {
|
|
113
|
-
|
|
114
|
-
operationType,
|
|
115
|
-
name,
|
|
116
|
-
variables,
|
|
117
|
-
fields,
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
}
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
${
|
|
137
|
-
}
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
}
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
}
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
}
|
|
154
|
-
}
|
|
1
|
+
const { getCachedDocumentNodeFromSchema } = require('@graphql-codegen/plugin-helpers')
|
|
2
|
+
const { visit } = require('graphql')
|
|
3
|
+
const { camelCase } = require('lodash')
|
|
4
|
+
|
|
5
|
+
function capitalizeFirstLetter(string) {
|
|
6
|
+
return string.charAt(0).toUpperCase() + string.slice(1)
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
function inputTypeToObject(inputType, result) {
|
|
10
|
+
if (inputType.kind === 'NonNullType') {
|
|
11
|
+
result['required'] = true
|
|
12
|
+
inputTypeToObject(inputType.type, result)
|
|
13
|
+
}
|
|
14
|
+
if (inputType.kind === 'ListType') {
|
|
15
|
+
result['list'] = true
|
|
16
|
+
inputTypeToObject(inputType.type, result)
|
|
17
|
+
}
|
|
18
|
+
if (inputType.kind === 'NamedType') {
|
|
19
|
+
result['type'] = inputType.name.value
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
module.exports = {
|
|
24
|
+
plugin(schema, _documents, _config) {
|
|
25
|
+
const astNode = getCachedDocumentNodeFromSchema(schema) // Transforms the GraphQLSchema into ASTNode
|
|
26
|
+
|
|
27
|
+
const operationNode = []
|
|
28
|
+
const typeNode = []
|
|
29
|
+
const inputNode = []
|
|
30
|
+
|
|
31
|
+
const scalarType = ['ID', 'String', 'Boolean', 'Int', 'Float']
|
|
32
|
+
|
|
33
|
+
const result = visit(astNode, {
|
|
34
|
+
ObjectTypeDefinition(node) {
|
|
35
|
+
if (node.name.value === 'Query' || node.name.value === 'Mutation') {
|
|
36
|
+
node.fields.forEach((field) => {
|
|
37
|
+
let fieldType = {}
|
|
38
|
+
let fieldVariables = []
|
|
39
|
+
inputTypeToObject(field.type, fieldType)
|
|
40
|
+
field.arguments.forEach((argument) => {
|
|
41
|
+
let fieldVariablesItem = { name: argument.name.value }
|
|
42
|
+
if (argument.defaultValue) fieldVariablesItem.value = argument.defaultValue.value
|
|
43
|
+
if (argument.type) inputTypeToObject(argument.type, fieldVariablesItem)
|
|
44
|
+
fieldVariables.push(fieldVariablesItem)
|
|
45
|
+
})
|
|
46
|
+
operationNode.push({
|
|
47
|
+
name: field.name.value,
|
|
48
|
+
variables: fieldVariables,
|
|
49
|
+
type: fieldType.type,
|
|
50
|
+
operationType: node.name.value,
|
|
51
|
+
})
|
|
52
|
+
})
|
|
53
|
+
}
|
|
54
|
+
else {
|
|
55
|
+
let fields = []
|
|
56
|
+
node.fields.forEach((field) => {
|
|
57
|
+
let fieldVariablesItem = { name: field.name.value }
|
|
58
|
+
if (field.type) inputTypeToObject(field.type, fieldVariablesItem)
|
|
59
|
+
fields.push(fieldVariablesItem)
|
|
60
|
+
})
|
|
61
|
+
typeNode.push({
|
|
62
|
+
name: node.name.value,
|
|
63
|
+
fields: fields,
|
|
64
|
+
})
|
|
65
|
+
}
|
|
66
|
+
},
|
|
67
|
+
InputObjectTypeDefinition(node) {
|
|
68
|
+
let fields = []
|
|
69
|
+
node.fields.forEach((field) => {
|
|
70
|
+
let fieldVariablesItem = { name: field.name.value }
|
|
71
|
+
if (field.defaultValue) fieldVariablesItem.value = field.defaultValue.value
|
|
72
|
+
if (field.type) inputTypeToObject(field.type, fieldVariablesItem)
|
|
73
|
+
fields.push(fieldVariablesItem)
|
|
74
|
+
})
|
|
75
|
+
inputNode.push({
|
|
76
|
+
name: node.name.value,
|
|
77
|
+
variables: fields,
|
|
78
|
+
})
|
|
79
|
+
},
|
|
80
|
+
ScalarTypeDefinition(node) {
|
|
81
|
+
scalarType.push(node.name.value)
|
|
82
|
+
},
|
|
83
|
+
})
|
|
84
|
+
|
|
85
|
+
typeNode.map((node) => {
|
|
86
|
+
let scalars = []
|
|
87
|
+
let relations = []
|
|
88
|
+
node.fields.forEach((field) => {
|
|
89
|
+
if (scalarType.includes(field.type)) scalars.push(field.name)
|
|
90
|
+
else relations.push(field)
|
|
91
|
+
})
|
|
92
|
+
node.scalars = scalars
|
|
93
|
+
node.relations = relations
|
|
94
|
+
})
|
|
95
|
+
|
|
96
|
+
return `
|
|
97
|
+
import * as graphQlClass from "~/types/graphql"
|
|
98
|
+
import { useGraphQlOperation } from "#imports";
|
|
99
|
+
import type {
|
|
100
|
+
graphqlInputObject,
|
|
101
|
+
graphqlOperationObject,
|
|
102
|
+
graphqlTypeObject,
|
|
103
|
+
graphqlVariable
|
|
104
|
+
} from "#build/types/graphqlOperation";
|
|
105
|
+
|
|
106
|
+
export const scalarType = ${JSON.stringify(scalarType)}
|
|
107
|
+
|
|
108
|
+
function operationCall${'<' + 'T,U>'}(operationType:string, operation: string,fields?: ${'Array' + '<string | Object>'},variables?: U,cache: boolean = false) {
|
|
109
|
+
return useGraphQlOperation${'<' + 'T>'}(operationType,operation,fields,variables as {[p: string] : any} | undefined,cache)
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
function createGraphQLOperation${'<' + 'T,U>'}(operationType: "Query" | "Mutation",name: string,variables?: graphqlVariable[],fields?: graphqlTypeObject): graphqlOperationObject${'<' + 'T,U>'} {
|
|
113
|
+
let returnGraphqlOperation = {
|
|
114
|
+
operationType,
|
|
115
|
+
name,
|
|
116
|
+
variables,
|
|
117
|
+
fields,
|
|
118
|
+
}
|
|
119
|
+
if (operationType === "Mutation") {
|
|
120
|
+
returnGraphqlOperation['call'] = async function(fields?: ${'Array' + '<string | Object>'}, variables?: U): Promise${'<' + 'T>'} {
|
|
121
|
+
return operationCall(operationType,name, fields, variables);
|
|
122
|
+
}
|
|
123
|
+
} else {
|
|
124
|
+
returnGraphqlOperation['call'] = async function(fields?: ${'Array' + '<string | Object>'}, variables?: U,cache: boolean = false): Promise${'<' + 'T>'} {
|
|
125
|
+
return operationCall(operationType,name, fields, variables,cache);
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
return returnGraphqlOperation
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
interface graphqlTypeObjects extends ${'Record<string,' + 'graphqlTypeObject>'} {
|
|
132
|
+
${typeNode.map(node => `${node.name}: graphqlTypeObject`).join('\n')}
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
export const graphqlType: graphqlTypeObjects= {
|
|
136
|
+
${typeNode.map(node => `${node.name} : {
|
|
137
|
+
fields : ${JSON.stringify(node.scalars)},
|
|
138
|
+
relations: ${JSON.stringify(node.relations)}
|
|
139
|
+
} as graphqlTypeObject `).join(',')}
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
interface graphqlInputObjects extends ${'Record<string,' + 'graphqlInputObject>'} {
|
|
143
|
+
${inputNode.map(node => `${node.name}: graphqlInputObject`).join('\n')}
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
export const graphqlInputType: graphqlInputObjects = {
|
|
147
|
+
${inputNode.map(node => `${node.name} : {
|
|
148
|
+
variables: ${JSON.stringify(node.variables)},
|
|
149
|
+
}`).join(',')}
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
interface graphqlOperationObjects extends ${'Record<string,' + 'graphqlOperationObject' + '<' + 'any' + ',any>' + '>'} {
|
|
153
|
+
${operationNode.map(node => `${node.name}: graphqlOperationObject${'<graphQlClass' + '.' + node.operationType + '[\'' + node.name + '\'],' + ((node.variables.length) ? 'graphQlClass.' + node.operationType + capitalizeFirstLetter(camelCase(node.name)) + 'Args' : 'undefined') + '>'}`).join('\n')}
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
export const graphqlOperation: graphqlOperationObjects = {
|
|
157
|
+
${operationNode.map(node => `${node.name}: createGraphQLOperation${'<graphQlClass' + '.' + node.operationType + '[\'' + node.name + '\'],' + ((node.variables.length) ? 'graphQlClass.' + node.operationType + capitalizeFirstLetter(camelCase(node.name)) + 'Args' : 'undefined') + '>'}('${node.operationType}','${node.name}',${JSON.stringify(node.variables)},${typeNode.find(type => type.name === node.type) ? 'graphqlType.' + node.type : 'undefined'})`).join(',')}
|
|
158
|
+
}
|
|
159
|
+
`
|
|
160
|
+
},
|
|
161
|
+
}
|