@steedos/service-plugin-amis 2.3.0-beta.34 → 2.3.0-beta.36
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.
|
@@ -107,19 +107,20 @@
|
|
|
107
107
|
"valueField": "symbol",
|
|
108
108
|
"multiple": false,
|
|
109
109
|
"source": "${sldsIconsOptions}",
|
|
110
|
-
"menuTpl": "<span class=\"flex items-center mt-0.5\">\n <span role=\"img\" aria-label=\"smile\" class=\"anticon anticon-smile\">\n <span class=\"slds-icon_container slds-icon-standard-${symbol|split:_|join:-}\">\n <svg class=\"slds-icon slds-icon_x-small\" aria-hidden=\"true\">\n <use xlink:href=\"
|
|
110
|
+
"menuTpl": "<span class=\"flex items-center mt-0.5\">\n <span role=\"img\" aria-label=\"smile\" class=\"anticon anticon-smile\">\n <span class=\"slds-icon_container slds-icon-standard-${symbol|split:_|join:-}\">\n <svg class=\"slds-icon slds-icon_x-small\" aria-hidden=\"true\">\n <use xlink:href=\"${context.rootUrl}/assets/icons/standard-sprite/svg/symbols.svg#${symbol}\"></use>\n </svg>\n </span>\n </span>\n <span class=\"pl-1.5\">${symbol}</span>\n</span>"
|
|
111
111
|
}
|
|
112
112
|
],
|
|
113
113
|
"id": "u:420b0162ce2c",
|
|
114
114
|
"api": {
|
|
115
115
|
"method": "get",
|
|
116
|
-
"url": "${context.rootUrl}/
|
|
116
|
+
"url": "${context.rootUrl}/ui.icons.json",
|
|
117
117
|
"requestAdaptor": "",
|
|
118
118
|
"adaptor": "if (payload && payload.length) {\n let data = {};\n let sldsStandardIcons = _.find(payload, { name: \"standard\" });\n sldsStandardIcons = sldsStandardIcons && sldsStandardIcons.icons;\n data.sldsIconsOptions = sldsStandardIcons;\n payload.data = data;\n}\nreturn payload;\n",
|
|
119
119
|
"headers": {
|
|
120
120
|
"Authorization": "Bearer ${context.tenantId},${context.authToken}"
|
|
121
121
|
}
|
|
122
|
-
}
|
|
122
|
+
},
|
|
123
|
+
"messages": {}
|
|
123
124
|
},
|
|
124
125
|
{
|
|
125
126
|
"name": "sort",
|
|
@@ -542,7 +543,7 @@
|
|
|
542
543
|
"rootUrl": "http://127.0.0.1:5800",
|
|
543
544
|
"tenantId": "hKdnwE55WcnWveYxS",
|
|
544
545
|
"userId": "62ede4f62161e377e35de58c",
|
|
545
|
-
"authToken": "
|
|
546
|
+
"authToken": "770a0b9e5b4fc2f8d6317ca109b0c087d3d160da669ac0218c044e15db1da0e74dd7e16c03b9f7e1640539"
|
|
546
547
|
}
|
|
547
548
|
},
|
|
548
549
|
"id": "u:953fda4052b6",
|
|
@@ -6,6 +6,7 @@ const AmisFormInputs = [
|
|
|
6
6
|
'text',
|
|
7
7
|
'date',
|
|
8
8
|
'file',
|
|
9
|
+
'avatar',
|
|
9
10
|
'image',
|
|
10
11
|
'datetime',
|
|
11
12
|
'time',
|
|
@@ -172,6 +173,50 @@ function getSelectFieldOptions(field){
|
|
|
172
173
|
return options;
|
|
173
174
|
}
|
|
174
175
|
|
|
176
|
+
function convertSFieldToAmisFilesField(field,readonly){
|
|
177
|
+
const type = field.type;
|
|
178
|
+
let table_name;
|
|
179
|
+
let fieldType = type;
|
|
180
|
+
if(type === 'avatar'){
|
|
181
|
+
table_name = 'avatars';
|
|
182
|
+
fieldType = "image";
|
|
183
|
+
}else if(type === 'image'){
|
|
184
|
+
table_name = 'images';
|
|
185
|
+
}else if(type === 'file'){
|
|
186
|
+
table_name = 'files';
|
|
187
|
+
}
|
|
188
|
+
const rootUrl = Meteor.absoluteUrl(`/api/files/${table_name}/`);
|
|
189
|
+
let convertData = {
|
|
190
|
+
type: getAmisStaticFieldType(fieldType, readonly),
|
|
191
|
+
receiver: {
|
|
192
|
+
method: "post",
|
|
193
|
+
url: `\${context.rootUrl}/s3/${table_name}`,
|
|
194
|
+
adaptor: `
|
|
195
|
+
var rootUrl = ${JSON.stringify(rootUrl)};
|
|
196
|
+
payload = {
|
|
197
|
+
status: response.status == 200 ? 0 : response.status,
|
|
198
|
+
msg: response.statusText,
|
|
199
|
+
data: {
|
|
200
|
+
value: payload._id,
|
|
201
|
+
name: payload.original.name,
|
|
202
|
+
url: rootUrl + payload._id,
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
return payload;
|
|
206
|
+
`,
|
|
207
|
+
headers: {
|
|
208
|
+
Authorization: "Bearer ${context.tenantId},${context.authToken}"
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
|
+
if(field.multiple){
|
|
213
|
+
convertData.multiple = true;
|
|
214
|
+
convertData.joinValues = false;
|
|
215
|
+
convertData.extractValue = true;
|
|
216
|
+
}
|
|
217
|
+
return convertData;
|
|
218
|
+
}
|
|
219
|
+
|
|
175
220
|
function convertSFieldToAmisField(field, readonly) {
|
|
176
221
|
// 创建人和修改人、创建时间和修改时间不显示
|
|
177
222
|
if(_.include(OMIT_FIELDS, field.name)){
|
|
@@ -315,67 +360,14 @@ function convertSFieldToAmisField(field, readonly) {
|
|
|
315
360
|
type: getAmisStaticFieldType('email', readonly)
|
|
316
361
|
}
|
|
317
362
|
break;
|
|
363
|
+
case 'avatar':
|
|
364
|
+
convertData = convertSFieldToAmisFilesField(field,readonly);
|
|
365
|
+
break;
|
|
318
366
|
case 'image':
|
|
319
|
-
|
|
320
|
-
convertData = {
|
|
321
|
-
type: getAmisStaticFieldType('image', readonly),
|
|
322
|
-
receiver: {
|
|
323
|
-
method: "post",
|
|
324
|
-
url: "${context.rootUrl}/s3/images",
|
|
325
|
-
adaptor: `
|
|
326
|
-
var rootUrl = ${JSON.stringify(rootUrl)};
|
|
327
|
-
payload = {
|
|
328
|
-
status: response.status == 200 ? 0 : response.status,
|
|
329
|
-
msg: response.statusText,
|
|
330
|
-
data: {
|
|
331
|
-
value: payload._id,
|
|
332
|
-
filename: payload.original.name,
|
|
333
|
-
url: rootUrl + payload._id,
|
|
334
|
-
}
|
|
335
|
-
}
|
|
336
|
-
return payload;
|
|
337
|
-
`,
|
|
338
|
-
headers: {
|
|
339
|
-
Authorization: "Bearer ${context.tenantId},${context.authToken}"
|
|
340
|
-
}
|
|
341
|
-
}
|
|
342
|
-
}
|
|
343
|
-
if(field.multiple){
|
|
344
|
-
convertData.multiple = true;
|
|
345
|
-
convertData.joinValues = false;
|
|
346
|
-
convertData.extractValue = true;
|
|
347
|
-
}
|
|
367
|
+
convertData = convertSFieldToAmisFilesField(field,readonly);
|
|
348
368
|
break;
|
|
349
369
|
case 'file':
|
|
350
|
-
|
|
351
|
-
convertData = {
|
|
352
|
-
type: getAmisStaticFieldType('file', readonly),
|
|
353
|
-
receiver: {
|
|
354
|
-
method: "post",
|
|
355
|
-
url: "${context.rootUrl}/s3/files",
|
|
356
|
-
adaptor: `
|
|
357
|
-
var rootUrl = ${JSON.stringify(rootUrl)};
|
|
358
|
-
payload = {
|
|
359
|
-
status: response.status == 200 ? 0 : response.status,
|
|
360
|
-
msg: response.statusText,
|
|
361
|
-
data: {
|
|
362
|
-
value: payload._id,
|
|
363
|
-
name: payload.original.name,
|
|
364
|
-
url: rootUrl + payload._id,
|
|
365
|
-
}
|
|
366
|
-
}
|
|
367
|
-
return payload;
|
|
368
|
-
`,
|
|
369
|
-
headers: {
|
|
370
|
-
Authorization: "Bearer ${context.tenantId},${context.authToken}"
|
|
371
|
-
}
|
|
372
|
-
}
|
|
373
|
-
}
|
|
374
|
-
if(field.multiple){
|
|
375
|
-
convertData.multiple = true;
|
|
376
|
-
convertData.joinValues = false;
|
|
377
|
-
convertData.extractValue = true;
|
|
378
|
-
}
|
|
370
|
+
convertData = convertSFieldToAmisFilesField(field,readonly);
|
|
379
371
|
break;
|
|
380
372
|
case 'formula':
|
|
381
373
|
//TODO
|
|
@@ -69,13 +69,13 @@ function getSaveQuery(object, recordId, fields, options){
|
|
|
69
69
|
}
|
|
70
70
|
|
|
71
71
|
/*
|
|
72
|
-
img字段值移除URL前缀使其保存时正常保存id,而不是url。
|
|
72
|
+
img/avatar字段值移除URL前缀使其保存时正常保存id,而不是url。
|
|
73
73
|
*/
|
|
74
74
|
function getScriptForRemoveUrlPrefixForImgFields(fields){
|
|
75
75
|
let imgFieldsKeys = [];
|
|
76
76
|
let imgFields = {};
|
|
77
77
|
fields.forEach((item)=>{
|
|
78
|
-
if(item.type === 'image'){
|
|
78
|
+
if(item.type === 'image' || item.type === 'avatar' ){
|
|
79
79
|
imgFieldsKeys.push(item.name);
|
|
80
80
|
imgFields[item.name] = {
|
|
81
81
|
name: item.name,
|
|
@@ -85,12 +85,13 @@ function getConvertDataScriptStr(fields){
|
|
|
85
85
|
function getScriptForAddUrlPrefixForImgFields(fields){
|
|
86
86
|
let imgFieldsKeys = [];
|
|
87
87
|
let imgFields = {};
|
|
88
|
-
let rootUrl = Meteor.absoluteUrl('/api/files/
|
|
88
|
+
let rootUrl = Meteor.absoluteUrl('/api/files/');
|
|
89
89
|
fields.forEach((item)=>{
|
|
90
|
-
if(item.type === 'image'){
|
|
90
|
+
if(item.type === 'image' || item.type === 'avatar'){
|
|
91
91
|
imgFieldsKeys.push(item.name);
|
|
92
92
|
imgFields[item.name] = {
|
|
93
93
|
name: item.name,
|
|
94
|
+
type: item.type,
|
|
94
95
|
multiple: item.multiple
|
|
95
96
|
};
|
|
96
97
|
}
|
|
@@ -106,12 +107,19 @@ function getScriptForAddUrlPrefixForImgFields(fields){
|
|
|
106
107
|
imgFieldsKeys.forEach((item)=>{
|
|
107
108
|
let imgFieldValue = data[item];
|
|
108
109
|
if(imgFieldValue && imgFieldValue.length){
|
|
109
|
-
|
|
110
|
+
let fieldProps = imgFields[item];
|
|
111
|
+
let table_name;
|
|
112
|
+
if(fieldProps.type === 'image'){
|
|
113
|
+
table_name = 'images';
|
|
114
|
+
}else{
|
|
115
|
+
table_name = 'avatars';
|
|
116
|
+
}
|
|
117
|
+
if(fieldProps.multiple){
|
|
110
118
|
if(imgFieldValue instanceof Array){
|
|
111
|
-
data[item] = imgFieldValue.map((value)=>{ return rootUrl + value});
|
|
119
|
+
data[item] = imgFieldValue.map((value)=>{ return rootUrl + table_name + '/' + value});
|
|
112
120
|
}
|
|
113
121
|
}else{
|
|
114
|
-
data[item] = rootUrl + imgFieldValue;
|
|
122
|
+
data[item] = rootUrl + table_name + '/' + imgFieldValue;
|
|
115
123
|
}
|
|
116
124
|
}
|
|
117
125
|
})
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@steedos/service-plugin-amis",
|
|
3
|
-
"version": "2.3.0-beta.
|
|
3
|
+
"version": "2.3.0-beta.36",
|
|
4
4
|
"main": "package.service.js",
|
|
5
5
|
"scripts": {
|
|
6
6
|
"build": "node .scripts/build.tailwind.js"
|
|
@@ -10,5 +10,5 @@
|
|
|
10
10
|
"publishConfig": {
|
|
11
11
|
"access": "public"
|
|
12
12
|
},
|
|
13
|
-
"gitHead": "
|
|
13
|
+
"gitHead": "1fef67d04c0796a7453dbea7f8101514f155235f"
|
|
14
14
|
}
|