@steedos-widgets/amis-object 1.2.6 → 1.2.8
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/dist/amis-object.cjs.css +43 -0
- package/dist/amis-object.cjs.js +261 -34
- package/dist/amis-object.cjs.js.map +1 -1
- package/dist/amis-object.esm.css +43 -0
- package/dist/amis-object.esm.js +262 -35
- package/dist/amis-object.esm.js.map +1 -1
- package/dist/amis-object.umd.css +43 -0
- package/dist/amis-object.umd.js +261 -34
- package/dist/amis-object.umd.js.map +1 -1
- package/dist/assets.json +11 -11
- package/package.json +3 -3
package/dist/amis-object.esm.css
CHANGED
|
@@ -205,6 +205,39 @@ body {
|
|
|
205
205
|
overflow: unset;
|
|
206
206
|
}
|
|
207
207
|
|
|
208
|
+
/* 手机端native时间控件样式 */
|
|
209
|
+
@media (max-width: 768px){
|
|
210
|
+
.steedos-combo-edit .antd-Form-row{
|
|
211
|
+
display: flex !important;
|
|
212
|
+
-moz-column-gap: unset !important;
|
|
213
|
+
column-gap: unset !important;
|
|
214
|
+
}
|
|
215
|
+
.steedos-combo-edit .antd-Form::before{
|
|
216
|
+
content: unset;
|
|
217
|
+
}
|
|
218
|
+
|
|
219
|
+
.steedos-combo-edit .antd-Form .antd-Form-item::after{
|
|
220
|
+
content: unset;
|
|
221
|
+
}
|
|
222
|
+
|
|
223
|
+
.steedos-combo-edit .antd-Form .antd-Form-item{
|
|
224
|
+
padding: 0;
|
|
225
|
+
}
|
|
226
|
+
|
|
227
|
+
.steedos-combo-edit{
|
|
228
|
+
flex-wrap:nowrap !important;
|
|
229
|
+
}
|
|
230
|
+
|
|
231
|
+
.steedos-combo-edit .steedos-native-date .antd-TextControl-input input{
|
|
232
|
+
min-width: 120px;
|
|
233
|
+
align-items: start !important;
|
|
234
|
+
}
|
|
235
|
+
|
|
236
|
+
.steedos-combo-edit .steedos-native-time .antd-TextControl-input input{
|
|
237
|
+
min-width: 70px;
|
|
238
|
+
}
|
|
239
|
+
}
|
|
240
|
+
|
|
208
241
|
.ant-dropdown-menu {
|
|
209
242
|
border: 1px solid #e5e5e5;
|
|
210
243
|
border-radius: 0.25rem;
|
|
@@ -608,6 +641,9 @@ body {
|
|
|
608
641
|
.rounded-full {
|
|
609
642
|
border-radius: 9999px
|
|
610
643
|
}
|
|
644
|
+
.rounded-xl {
|
|
645
|
+
border-radius: 0.75rem
|
|
646
|
+
}
|
|
611
647
|
.rounded-md {
|
|
612
648
|
border-radius: 0.375rem
|
|
613
649
|
}
|
|
@@ -724,6 +760,10 @@ body {
|
|
|
724
760
|
padding-left: 0.5rem;
|
|
725
761
|
padding-right: 0.5rem
|
|
726
762
|
}
|
|
763
|
+
.py-1 {
|
|
764
|
+
padding-top: 0.25rem;
|
|
765
|
+
padding-bottom: 0.25rem
|
|
766
|
+
}
|
|
727
767
|
.pt-4 {
|
|
728
768
|
padding-top: 1rem
|
|
729
769
|
}
|
|
@@ -903,6 +943,9 @@ body {
|
|
|
903
943
|
outline-offset: 2px
|
|
904
944
|
}
|
|
905
945
|
@media (min-width: 640px) {
|
|
946
|
+
.sm\:sticky {
|
|
947
|
+
position: sticky
|
|
948
|
+
}
|
|
906
949
|
.sm\:m-3 {
|
|
907
950
|
margin: 0.75rem
|
|
908
951
|
}
|
package/dist/amis-object.esm.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React, { useState, useEffect, createElement } from 'react';
|
|
2
2
|
import * as ___default from 'lodash';
|
|
3
|
-
import ___default__default, { isEmpty, isArray, each, find, endsWith, cloneDeep, map, includes, toArray, mergeWith, isString, union, has, slice, defaultsDeep as defaultsDeep$1, isObject as isObject$1, filter, get, isBoolean, omitBy, isNil, startsWith, isFunction, compact, difference, keys, pick, first, values, pickBy, random, assign, isNumber } from 'lodash';
|
|
3
|
+
import ___default__default, { isEmpty, isArray, each, find, endsWith, cloneDeep, map, includes, toArray, mergeWith, isString, union, has, slice, defaultsDeep as defaultsDeep$1, isObject as isObject$1, filter, get, forEach, isBoolean, omitBy, isNil, startsWith, isFunction, compact, difference, keys, pick, first, values, pickBy, random, assign, isNumber } from 'lodash';
|
|
4
4
|
import { Dropdown, Tabs, Spin, Badge, Skeleton, Modal as Modal$1, message, notification, Button, Space, Drawer as Drawer$1 } from 'antd';
|
|
5
5
|
import ReactDOM, { createRoot } from 'react-dom';
|
|
6
6
|
|
|
@@ -2955,7 +2955,7 @@ async function getObjectFieldsFilterFormSchema(ctx) {
|
|
|
2955
2955
|
return Promise.all(filterFormSearchableFields.map(function (item) {
|
|
2956
2956
|
const field = _.clone(fields[item]);
|
|
2957
2957
|
if (
|
|
2958
|
-
!_.includes(
|
|
2958
|
+
field && !_.includes(
|
|
2959
2959
|
[
|
|
2960
2960
|
"grid",
|
|
2961
2961
|
"avatar",
|
|
@@ -3002,7 +3002,7 @@ async function getObjectFieldsFilterBarSchema(objectSchema, ctx) {
|
|
|
3002
3002
|
var filterForm = scope.parent.parent.getComponents().find(function(n){
|
|
3003
3003
|
return n.props.type === "form";
|
|
3004
3004
|
});
|
|
3005
|
-
filterForm.handleFormSubmit(event)
|
|
3005
|
+
filterForm.handleFormSubmit(event);
|
|
3006
3006
|
// var filterFormValues = filterForm.getValues();
|
|
3007
3007
|
// var listView = scope.parent.parent.parent.getComponents().find(function(n){
|
|
3008
3008
|
// return n.props.type === "crud";
|
|
@@ -3016,8 +3016,30 @@ async function getObjectFieldsFilterBarSchema(objectSchema, ctx) {
|
|
|
3016
3016
|
// }
|
|
3017
3017
|
// }
|
|
3018
3018
|
// listView.handleFilterSubmit(Object.assign({}, removedValues, filterFormValues));
|
|
3019
|
+
|
|
3020
|
+
let isMobile = Steedos.isMobile();
|
|
3021
|
+
if(isMobile){
|
|
3022
|
+
// 手机端点击搜索的时候自动收起搜索栏
|
|
3023
|
+
let resizeWindow = function(){
|
|
3024
|
+
//触发amis crud 高度重算
|
|
3025
|
+
setTimeout(()=>{
|
|
3026
|
+
window.dispatchEvent(new Event("resize"))
|
|
3027
|
+
}, 500);
|
|
3028
|
+
}
|
|
3029
|
+
const filterService = filterForm.context.getComponents().find(function(n){
|
|
3030
|
+
return n.props.type === "service";
|
|
3031
|
+
});
|
|
3032
|
+
filterService.setData({showFieldsFilter: false});
|
|
3033
|
+
resizeWindow();
|
|
3034
|
+
// 使用filterForm.getValues()的话,并不能拿到本地存储中的过滤条件,所以需要从event.data中取。
|
|
3035
|
+
let filterFormValues = event.data;
|
|
3036
|
+
let isFieldsFilterEmpty = SteedosUI.isFilterFormValuesEmpty(filterFormValues);
|
|
3037
|
+
let crud = SteedosUI.getClosestAmisComponentByType(scope, "crud");
|
|
3038
|
+
let crudService = crud && SteedosUI.getClosestAmisComponentByType(crud.context, "service");
|
|
3039
|
+
crudService && crudService.setData({isFieldsFilterEmpty, showFieldsFilter: false});
|
|
3040
|
+
}
|
|
3019
3041
|
`;
|
|
3020
|
-
const
|
|
3042
|
+
const onCancelScript = `
|
|
3021
3043
|
const scope = event.context.scoped;
|
|
3022
3044
|
var filterForm = scope.parent.parent.getComponents().find(function(n){
|
|
3023
3045
|
return n.props.type === "form";
|
|
@@ -3045,7 +3067,21 @@ async function getObjectFieldsFilterBarSchema(objectSchema, ctx) {
|
|
|
3045
3067
|
}
|
|
3046
3068
|
}
|
|
3047
3069
|
listView.handleFilterSubmit(removedValues);
|
|
3048
|
-
|
|
3070
|
+
const filterService = filterForm.context.getComponents().find(function(n){
|
|
3071
|
+
return n.props.type === "service";
|
|
3072
|
+
});
|
|
3073
|
+
filterService.setData({showFieldsFilter: !!!filterService.props.data.showFieldsFilter});
|
|
3074
|
+
//触发amis crud 高度重算
|
|
3075
|
+
setTimeout(()=>{
|
|
3076
|
+
window.dispatchEvent(new Event("resize"))
|
|
3077
|
+
}, 100);
|
|
3078
|
+
let isMobile = Steedos.isMobile();
|
|
3079
|
+
if(isMobile){
|
|
3080
|
+
// 手机端移除搜索按钮上的红点
|
|
3081
|
+
let crudService = scope.getComponentById("service_listview_" + event.data.objectName);
|
|
3082
|
+
crudService && crudService.setData({isFieldsFilterEmpty: true, showFieldsFilter: false});
|
|
3083
|
+
}
|
|
3084
|
+
`;
|
|
3049
3085
|
const dataProviderInited = `
|
|
3050
3086
|
const objectName = data.objectName;
|
|
3051
3087
|
const isLookup = data.isLookup;
|
|
@@ -3099,7 +3135,15 @@ async function getObjectFieldsFilterBarSchema(objectSchema, ctx) {
|
|
|
3099
3135
|
});
|
|
3100
3136
|
// 有过滤条件时自动展开搜索栏
|
|
3101
3137
|
if(!_.isEmpty(omitedEmptyFormValue)){
|
|
3102
|
-
|
|
3138
|
+
let isMobile = Steedos.isMobile();
|
|
3139
|
+
if(isMobile){
|
|
3140
|
+
// 手机端不展开,只显示搜索按钮上的红点
|
|
3141
|
+
let crudService = SteedosUI.getRef(data.$scopeId).getComponentById("service_listview_" + data.objectName)
|
|
3142
|
+
crudService && crudService.setData({isFieldsFilterEmpty: false});
|
|
3143
|
+
}
|
|
3144
|
+
else{
|
|
3145
|
+
setData({ showFieldsFilter: true });
|
|
3146
|
+
}
|
|
3103
3147
|
}
|
|
3104
3148
|
}
|
|
3105
3149
|
}
|
|
@@ -3241,14 +3285,15 @@ async function getObjectFieldsFilterBarSchema(objectSchema, ctx) {
|
|
|
3241
3285
|
},
|
|
3242
3286
|
{
|
|
3243
3287
|
"type": "button",
|
|
3244
|
-
"label": "
|
|
3288
|
+
"label": "取消",
|
|
3289
|
+
"name": "btn_filter_form_cancel",
|
|
3245
3290
|
"visibleOn": "this.filterFormSearchableFields && this.filterFormSearchableFields.length",
|
|
3246
3291
|
"onEvent": {
|
|
3247
3292
|
"click": {
|
|
3248
3293
|
"actions": [
|
|
3249
3294
|
{
|
|
3250
3295
|
"actionType": "custom",
|
|
3251
|
-
"script":
|
|
3296
|
+
"script": onCancelScript
|
|
3252
3297
|
}
|
|
3253
3298
|
]
|
|
3254
3299
|
}
|
|
@@ -3852,11 +3897,36 @@ const filterForm = scope.getComponents().find(function(n){
|
|
|
3852
3897
|
const filterService = filterForm.context.getComponents().find(function(n){
|
|
3853
3898
|
return n.props.type === "service";
|
|
3854
3899
|
});
|
|
3855
|
-
filterService.setData({showFieldsFilter: !!!filterService.props.data.showFieldsFilter});
|
|
3856
|
-
|
|
3857
|
-
|
|
3858
|
-
|
|
3859
|
-
|
|
3900
|
+
// filterService.setData({showFieldsFilter: !!!filterService.props.data.showFieldsFilter});
|
|
3901
|
+
let resizeWindow = function(){
|
|
3902
|
+
//触发amis crud 高度重算
|
|
3903
|
+
setTimeout(()=>{
|
|
3904
|
+
window.dispatchEvent(new Event("resize"))
|
|
3905
|
+
}, 500);
|
|
3906
|
+
}
|
|
3907
|
+
let isMobile = Steedos.isMobile();
|
|
3908
|
+
if(filterService.props.data.showFieldsFilter){
|
|
3909
|
+
if(isMobile){
|
|
3910
|
+
// 手机上只能通过取消按钮来关闭搜索栏
|
|
3911
|
+
return;
|
|
3912
|
+
}
|
|
3913
|
+
let buttonCancel = SteedosUI.getClosestAmisComponentByType(filterForm.context, "button", {
|
|
3914
|
+
direction: "down",
|
|
3915
|
+
name: "btn_filter_form_cancel"
|
|
3916
|
+
});
|
|
3917
|
+
buttonCancel.props.dispatchEvent('click', {}).then(function(){
|
|
3918
|
+
resizeWindow();
|
|
3919
|
+
});
|
|
3920
|
+
}
|
|
3921
|
+
else{
|
|
3922
|
+
filterService.setData({showFieldsFilter: true});
|
|
3923
|
+
resizeWindow();
|
|
3924
|
+
if(isMobile){
|
|
3925
|
+
// 手机端在显示搜索栏时隐藏刷新按钮
|
|
3926
|
+
let crudService = scope.getComponentById("service_listview_" + event.data.objectName);
|
|
3927
|
+
crudService && crudService.setData({showFieldsFilter: true});
|
|
3928
|
+
}
|
|
3929
|
+
}
|
|
3860
3930
|
`;
|
|
3861
3931
|
|
|
3862
3932
|
function getExportApiRequestAdaptorScript(){
|
|
@@ -3941,6 +4011,7 @@ function getObjectHeaderToolbar(mainObject, formFactor, {showDisplayAs = false,
|
|
|
3941
4011
|
"className": "bg-white p-2 rounded border-gray-300 text-gray-500",
|
|
3942
4012
|
"label": "",
|
|
3943
4013
|
"icon": "fa fa-sync",
|
|
4014
|
+
"visibleOn": "${!showFieldsFilter}",
|
|
3944
4015
|
"onEvent": {
|
|
3945
4016
|
"click": {
|
|
3946
4017
|
"actions": [
|
|
@@ -3956,6 +4027,15 @@ function getObjectHeaderToolbar(mainObject, formFactor, {showDisplayAs = false,
|
|
|
3956
4027
|
"label": "",
|
|
3957
4028
|
"icon": "fa fa-search",
|
|
3958
4029
|
"type": "button",
|
|
4030
|
+
"badge": {
|
|
4031
|
+
"offsetx": [
|
|
4032
|
+
-2,
|
|
4033
|
+
2
|
|
4034
|
+
],
|
|
4035
|
+
"size":8,
|
|
4036
|
+
"animation": true,
|
|
4037
|
+
"visibleOn": "${isFieldsFilterEmpty == false}"
|
|
4038
|
+
},
|
|
3959
4039
|
"align": "right",
|
|
3960
4040
|
"className": "bg-white p-2 rounded border-gray-300 text-gray-500",
|
|
3961
4041
|
"onEvent": {
|
|
@@ -4595,8 +4675,8 @@ function getObjectFooterToolbar(mainObject, formFactor) {
|
|
|
4595
4675
|
}
|
|
4596
4676
|
else {
|
|
4597
4677
|
return [
|
|
4678
|
+
"switch-per-page",
|
|
4598
4679
|
"statistics",
|
|
4599
|
-
// "switch-per-page",
|
|
4600
4680
|
"pagination"
|
|
4601
4681
|
]
|
|
4602
4682
|
}
|
|
@@ -5788,6 +5868,23 @@ const getAmisFileSchema = (steedosField, readonly)=>{
|
|
|
5788
5868
|
return readonly ? getAmisFileReadonlySchema(steedosField) : getAmisFileEditSchema(steedosField);
|
|
5789
5869
|
};
|
|
5790
5870
|
|
|
5871
|
+
/*
|
|
5872
|
+
* @Author: baozhoutao@steedos.com
|
|
5873
|
+
* @Date: 2022-07-20 16:29:22
|
|
5874
|
+
* @LastEditors: Please set LastEditors
|
|
5875
|
+
* @LastEditTime: 2023-05-11 11:19:54
|
|
5876
|
+
* @Description:
|
|
5877
|
+
*/
|
|
5878
|
+
|
|
5879
|
+
function getContrastColor(bgColor) {
|
|
5880
|
+
var backgroundColor = (bgColor.charAt(0) === '#') ? bgColor.substring(1, 7) : bgColor;
|
|
5881
|
+
var r = parseInt(backgroundColor.substr(0, 2), 16);
|
|
5882
|
+
var g = parseInt(backgroundColor.substr(2, 2), 16);
|
|
5883
|
+
var b = parseInt(backgroundColor.substr(4, 2), 16);
|
|
5884
|
+
var brightness = (r * 299 + g * 587 + b * 114) / 1000;
|
|
5885
|
+
return brightness >= 128 ? "#000000" : "#ffffff";
|
|
5886
|
+
}
|
|
5887
|
+
|
|
5791
5888
|
const OMIT_FIELDS = ['created', 'created_by', 'modified', 'modified_by'];
|
|
5792
5889
|
// const Lookup = require('./lookup');
|
|
5793
5890
|
|
|
@@ -5941,6 +6038,8 @@ function getSelectFieldOptions(field){
|
|
|
5941
6038
|
}
|
|
5942
6039
|
|
|
5943
6040
|
async function convertSFieldToAmisField(field, readonly, ctx) {
|
|
6041
|
+
// console.log('convertSFieldToAmisField====>', field, readonly, ctx)
|
|
6042
|
+
const isMobile = window.innerWidth <= 768;
|
|
5944
6043
|
// 创建人和修改人、创建时间和修改时间不显示
|
|
5945
6044
|
if(___default.includes(OMIT_FIELDS, field.name) && ctx.showSystemFields != true){
|
|
5946
6045
|
return;
|
|
@@ -5975,20 +6074,42 @@ async function convertSFieldToAmisField(field, readonly, ctx) {
|
|
|
5975
6074
|
// }
|
|
5976
6075
|
// break;
|
|
5977
6076
|
case 'select':
|
|
5978
|
-
|
|
5979
|
-
|
|
5980
|
-
|
|
5981
|
-
|
|
5982
|
-
|
|
5983
|
-
|
|
5984
|
-
|
|
5985
|
-
|
|
5986
|
-
|
|
5987
|
-
|
|
5988
|
-
|
|
5989
|
-
|
|
5990
|
-
|
|
6077
|
+
if(readonly){
|
|
6078
|
+
const selectOptions = field.options;
|
|
6079
|
+
let map = {};
|
|
6080
|
+
___default.forEach(selectOptions,(option)=>{
|
|
6081
|
+
const optionValue = option.value + '';
|
|
6082
|
+
if(option.color){
|
|
6083
|
+
const background = '#'+option.color;
|
|
6084
|
+
const color = getContrastColor(background);
|
|
6085
|
+
const optionColorStyle = 'background:'+background+';color:'+color;
|
|
6086
|
+
map[optionValue] = `<span class="rounded-xl px-2 py-1" style='${optionColorStyle}'>${option.label}</span>`;
|
|
6087
|
+
}else {
|
|
6088
|
+
map[optionValue] = option.label;
|
|
6089
|
+
}
|
|
6090
|
+
});
|
|
6091
|
+
convertData = {
|
|
6092
|
+
type: "static-mapping",
|
|
6093
|
+
name: field.name,
|
|
6094
|
+
label: field.label,
|
|
6095
|
+
map: map
|
|
6096
|
+
};
|
|
6097
|
+
}else {
|
|
6098
|
+
convertData = {
|
|
6099
|
+
type: getAmisStaticFieldType('select', readonly),
|
|
6100
|
+
joinValues: false,
|
|
6101
|
+
options: getSelectFieldOptions(field),
|
|
6102
|
+
extractValue: true,
|
|
6103
|
+
clearable: true,
|
|
6104
|
+
labelField: 'label',
|
|
6105
|
+
valueField: 'value'
|
|
6106
|
+
};
|
|
6107
|
+
if(field.multiple){
|
|
6108
|
+
convertData.multiple = true;
|
|
6109
|
+
convertData.extractValue = true;
|
|
6110
|
+
}
|
|
5991
6111
|
}
|
|
6112
|
+
|
|
5992
6113
|
break;
|
|
5993
6114
|
case 'boolean':
|
|
5994
6115
|
convertData = {
|
|
@@ -6008,7 +6129,26 @@ async function convertSFieldToAmisField(field, readonly, ctx) {
|
|
|
6008
6129
|
};
|
|
6009
6130
|
break;
|
|
6010
6131
|
case 'date':
|
|
6011
|
-
convertData = {
|
|
6132
|
+
convertData = isMobile && !readonly ? {
|
|
6133
|
+
type: "native-date",
|
|
6134
|
+
pipeIn: (value, data) => {
|
|
6135
|
+
if (value) {
|
|
6136
|
+
value = moment(value).utc().format('YYYY-MM-DD');
|
|
6137
|
+
return value;
|
|
6138
|
+
} else {
|
|
6139
|
+
return "";
|
|
6140
|
+
}
|
|
6141
|
+
|
|
6142
|
+
},
|
|
6143
|
+
pipeOut: (value, oldValue, data) => {
|
|
6144
|
+
if (value) {
|
|
6145
|
+
value = moment(value).format('YYYY-MM-DDT00:00:00.000[Z]');
|
|
6146
|
+
return value;
|
|
6147
|
+
} else {
|
|
6148
|
+
return "";
|
|
6149
|
+
}
|
|
6150
|
+
}
|
|
6151
|
+
} : {
|
|
6012
6152
|
type: getAmisStaticFieldType('date', readonly),
|
|
6013
6153
|
inputFormat: "YYYY-MM-DD",
|
|
6014
6154
|
format:'YYYY-MM-DDT00:00:00.000[Z]',
|
|
@@ -6027,12 +6167,48 @@ async function convertSFieldToAmisField(field, readonly, ctx) {
|
|
|
6027
6167
|
};
|
|
6028
6168
|
break;
|
|
6029
6169
|
case 'datetime':
|
|
6030
|
-
convertData = {
|
|
6170
|
+
convertData = isMobile && !readonly ? {
|
|
6171
|
+
type: "combo",
|
|
6172
|
+
pipeIn: (value, data) => {
|
|
6173
|
+
let revalue = {};
|
|
6174
|
+
if (value && value != "Invalid date") {
|
|
6175
|
+
value = moment(value).format('YYYY-MM-DD HH:mm:ss');
|
|
6176
|
+
revalue[field.name + "-native-date"] = value.split(' ')[0];
|
|
6177
|
+
revalue[field.name + "-native-time"] = value.split(' ')[1];
|
|
6178
|
+
} else {
|
|
6179
|
+
revalue[field.name + "-native-date"] = "";
|
|
6180
|
+
revalue[field.name + "-native-time"] = "";
|
|
6181
|
+
}
|
|
6182
|
+
return revalue;
|
|
6183
|
+
},
|
|
6184
|
+
pipeOut: (value, oldValue, data) => {
|
|
6185
|
+
let revalue = "";
|
|
6186
|
+
if (value[field.name + "-native-date"] && value[field.name + "-native-time"]) {
|
|
6187
|
+
revalue = value[field.name + "-native-date"] + " " + value[field.name + "-native-time"];
|
|
6188
|
+
revalue = moment(revalue).utc().format('YYYY-MM-DDTHH:mm:ss.SSS[Z]');
|
|
6189
|
+
}
|
|
6190
|
+
return revalue;
|
|
6191
|
+
},
|
|
6192
|
+
items: [
|
|
6193
|
+
{
|
|
6194
|
+
type: "native-date",
|
|
6195
|
+
name: field.name + "-native-date",
|
|
6196
|
+
className: "steedos-native-date",
|
|
6197
|
+
value: ""
|
|
6198
|
+
},
|
|
6199
|
+
{
|
|
6200
|
+
type: "native-time",
|
|
6201
|
+
name: field.name + "-native-time",
|
|
6202
|
+
className: "steedos-native-time",
|
|
6203
|
+
value: ""
|
|
6204
|
+
}
|
|
6205
|
+
]
|
|
6206
|
+
} : {
|
|
6031
6207
|
type: getAmisStaticFieldType('datetime', readonly),
|
|
6032
6208
|
inputFormat: 'YYYY-MM-DD HH:mm',
|
|
6033
|
-
format:'YYYY-MM-DDTHH:mm:ss.SSSZ',
|
|
6209
|
+
format: 'YYYY-MM-DDTHH:mm:ss.SSSZ',
|
|
6034
6210
|
tpl: readonly ? getDateTimeTpl(field) : null,
|
|
6035
|
-
utc: true
|
|
6211
|
+
utc: true,
|
|
6036
6212
|
};
|
|
6037
6213
|
break;
|
|
6038
6214
|
case 'input-time-range':
|
|
@@ -6047,7 +6223,26 @@ async function convertSFieldToAmisField(field, readonly, ctx) {
|
|
|
6047
6223
|
};
|
|
6048
6224
|
break;
|
|
6049
6225
|
case 'time':
|
|
6050
|
-
convertData = {
|
|
6226
|
+
convertData = isMobile && !readonly ? {
|
|
6227
|
+
type: "native-time",
|
|
6228
|
+
pipeIn: (value, data) => {
|
|
6229
|
+
if (value) {
|
|
6230
|
+
value = moment(value).utc().format('HH:mm');
|
|
6231
|
+
return value;
|
|
6232
|
+
} else {
|
|
6233
|
+
return "";
|
|
6234
|
+
}
|
|
6235
|
+
|
|
6236
|
+
},
|
|
6237
|
+
pipeOut: (value, oldValue, data) => {
|
|
6238
|
+
if (value) {
|
|
6239
|
+
value = moment('1970-01-01 ' + value).format('1970-01-01THH:mm:00.000[Z]');
|
|
6240
|
+
return value;
|
|
6241
|
+
} else {
|
|
6242
|
+
return "";
|
|
6243
|
+
}
|
|
6244
|
+
}
|
|
6245
|
+
} : {
|
|
6051
6246
|
type: getAmisStaticFieldType('time', readonly),
|
|
6052
6247
|
inputFormat: 'HH:mm',
|
|
6053
6248
|
timeFormat:'HH:mm',
|
|
@@ -6251,6 +6446,13 @@ async function convertSFieldToAmisField(field, readonly, ctx) {
|
|
|
6251
6446
|
convertData.quickEdit = false;
|
|
6252
6447
|
}
|
|
6253
6448
|
|
|
6449
|
+
let fieldTypeClassName = ' steedos-' + convertData.type + (readonly ? '-readonly' : '-edit');
|
|
6450
|
+
if (convertData.className) {
|
|
6451
|
+
convertData.className = convertData.className + fieldTypeClassName;
|
|
6452
|
+
} else {
|
|
6453
|
+
convertData.className = fieldTypeClassName;
|
|
6454
|
+
}
|
|
6455
|
+
|
|
6254
6456
|
if(field.visible_on){
|
|
6255
6457
|
// convertData.visibleOn = `\$${field.visible_on.substring(1, field.visible_on.length -1).replace(/formData./g, '')}`;
|
|
6256
6458
|
if(field.visible_on.startsWith("{{")){
|
|
@@ -6935,6 +7137,7 @@ async function getObjectCRUD(objectSchema, fields, options){
|
|
|
6935
7137
|
hiddenOn: options.tableHiddenOn,
|
|
6936
7138
|
autoFillHeight: options.isRelated ? false : true,
|
|
6937
7139
|
className: `flex-auto ${crudClassName || ""}`,
|
|
7140
|
+
bodyClassName: "bg-white",
|
|
6938
7141
|
crudClassName: crudClassName,
|
|
6939
7142
|
},
|
|
6940
7143
|
bodyProps,
|
|
@@ -7280,7 +7483,31 @@ async function getTableColumns$1(fields, options){
|
|
|
7280
7483
|
...getAmisFileReadonlySchema(field)
|
|
7281
7484
|
}, field.amis, {name: field.name}));
|
|
7282
7485
|
}
|
|
7283
|
-
|
|
7486
|
+
else if(field.type === 'select'){
|
|
7487
|
+
const selectOptions = field.options;
|
|
7488
|
+
let map = {};
|
|
7489
|
+
forEach(selectOptions,(option)=>{
|
|
7490
|
+
const optionValue = option.value + '';
|
|
7491
|
+
if(option.color){
|
|
7492
|
+
const background = '#'+option.color;
|
|
7493
|
+
const color = getContrastColor(background);
|
|
7494
|
+
const optionColorStyle = 'background:'+background+';color:'+color;
|
|
7495
|
+
map[optionValue] = `<span class="rounded-xl px-2 py-1" style='${optionColorStyle}'>${option.label}</span>`;
|
|
7496
|
+
}else {
|
|
7497
|
+
map[optionValue] = option.label;
|
|
7498
|
+
}
|
|
7499
|
+
});
|
|
7500
|
+
columns.push(Object.assign({}, {
|
|
7501
|
+
type: "mapping",
|
|
7502
|
+
name: field.name,
|
|
7503
|
+
label: field.label,
|
|
7504
|
+
map: map,
|
|
7505
|
+
sortable: field.sortable,
|
|
7506
|
+
width: field.width,
|
|
7507
|
+
toggled: field.toggled,
|
|
7508
|
+
className:"whitespace-nowrap",
|
|
7509
|
+
}, field.amis, {name: field.name}));
|
|
7510
|
+
}
|
|
7284
7511
|
else {
|
|
7285
7512
|
const tpl = await getFieldTpl(field, options);
|
|
7286
7513
|
|
|
@@ -13180,7 +13407,7 @@ var AmisRecordDetailHeader = function (props) { return __awaiter(void 0, void 0,
|
|
|
13180
13407
|
return __generator(this, function (_d) {
|
|
13181
13408
|
switch (_d.label) {
|
|
13182
13409
|
case 0:
|
|
13183
|
-
_a = props.className, className = _a === void 0 ? 'sticky top-0 z-10 bg-gray-100 border-b sm:shadow sm:rounded sm:border border-slate-300 p-4' : _a;
|
|
13410
|
+
_a = props.className, className = _a === void 0 ? 'sm:sticky top-0 z-10 bg-gray-100 border-b sm:shadow sm:rounded sm:border border-slate-300 p-4' : _a;
|
|
13184
13411
|
return [4 /*yield*/, getUISchema(props.objectApiName || "space_users", false)];
|
|
13185
13412
|
case 1:
|
|
13186
13413
|
objectUiSchema = _d.sent();
|
|
@@ -14738,7 +14965,7 @@ var PageObject = function (props) { return __awaiter(void 0, void 0, void 0, fun
|
|
|
14738
14965
|
});
|
|
14739
14966
|
}); };
|
|
14740
14967
|
|
|
14741
|
-
var __assign=function(){return (__assign=Object.assign||function(e){for(var t,
|
|
14968
|
+
var __assign=function(){return (__assign=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var o in t=arguments[n])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e}).apply(this,arguments)},StandardObjects={Base:{Actions:{standard_query:{visible:function(e,t,n){return !1}},standard_new:{visible:function(e,t,n){return "cms_files"!==e&&"instances"!==e&&(n?n.allowCreate:void 0)}},standard_edit:{visible:function(e,t,n){if(n)return n.allowEdit}},standard_delete:{visible:function(e,t,n){if(n)return n.allowDelete}},standard_import_data:{visible:function(e,t,n){var r=this.object;if(n)return n.allowCreate&&r.hasImportTemplates}},standard_approve:{visible:function(e,t,n){return !1}},standard_view_instance:{visible:function(e,t,n){return !1}},standard_submit_for_approval:{visible:function(e,t,n){return window.Steedos.ProcessManager.allowSubmit.apply(this,[e,t])},todo:function(e,t){return window.Steedos.ProcessManager.submit.apply(this,[e,t])}},standard_follow:{visible:function(e,t,n){return !1}},standard_delete_many:{visible:function(e,t,n){return !RegExp("\\w+/view/\\w+").test(location.pathname)&&(n?n.allowDelete:void 0)}}}}},authRequest=function(e,t){var i=null;e=Steedos.absoluteUrl(e);try{var n=[{name:"Content-Type",value:"application/json"},{name:"Authorization",value:Steedos.getAuthorization()}],r={type:"get",url:e,dataType:"json",contentType:"application/json",beforeSend:function(t){if(n&&n.length)return n.forEach(function(e){return t.setRequestHeader(e.name,e.value)})},success:function(e){i=e;},error:function(e,t,n){var r,o;e.responseJSON&&e.responseJSON.error?(r=e.responseJSON.error,o=void(i={error:r}),o=r.reason||r.message||r,console.error(o)):console.error(e.responseJSON);}};return $.ajax(Object.assign({},r,t)),i}catch(e){console.error(e);}};function _extends(){return (_extends=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n,r=arguments[t];for(n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n]);}return e}).apply(this,arguments)}const newFunctionComponent=o=>e=>{const[t,n]=useState(!0);var r=()=>{n(!1);};return has(e,"ref")||(window.SteedosUI.refs[e.name]={show:()=>{n(!0);},close:r}),React.createElement(o,_extends({visible:t,onCancel:r,onClose:r},{width:"70%",style:{width:"70%",maxWidth:"950px",minWidth:"480px"}},e))},newComponentRender=(n,r)=>(e,t)=>{e.name||(e.name=n+"-"+(e.name||"default")),(t=t||document.getElementById(`steedos-${n}-root-`+e.name))||((t=document.createElement("div")).setAttribute("id",`steedos-${n}-root-`+e.name),document.body.appendChild(t));e=React.createElement(newFunctionComponent(r),e);createRoot(t).render(e);},Modal=assign(newComponentRender("modal",Modal$1),{info:Modal$1.info,success:Modal$1.success,error:Modal$1.error,warning:Modal$1.warning,confirm:Modal$1.confirm}),Drawer=newComponentRender("drawer",Drawer$1),getGraphqlFieldsQuery=e=>{const t=["_id"];return e.push("record_permissions"),each(e,e=>{-1<e.indexOf(".")&&(e=e.split(".")[0]),t.push(""+e);}),""+t.join(" ")},getFindOneQuery=(e,t,n)=>{e=e.replace(/\./g,"_");n=getGraphqlFieldsQuery(n);let r="";t=[`id: "${t}"`];return `{record:${e}__findOne${r=0<t.length?`(${t.join(",")})`:r}{${n}}}`},SObject={getRecord:async(e,t,n)=>{return (await fetchAPI("/graphql",{method:"post",body:JSON.stringify({query:getFindOneQuery(e,t,n)})})).data.record},getUISchema:async(e,t)=>getUISchema(e,t)},canSaveFilter=e=>!(!e._id||e.owner!==getSteedosAuth()?.userId),ListView={showFilter:(e,{listView:t,data:n})=>{canSaveFilter(t);n.filters&&(n.filters=filtersToConditions(n.filters));},getVisibleFilter:(e,t)=>{return t||(canSaveFilter(e)?e.filters:void 0)},getQueryFilter:(e,t)=>{return canSaveFilter(e)?ListView.getVisibleFilter(e,t):isEmpty(t)?e.filters:[e.filters,"and",t]},getFirstListView:async e=>{e=await window.getUISchema(e);return _.first(_.sortBy(_.values(e.list_views),"sort_no"))}},Router={getAppPath({appId:e}){return "/app/"+e},getPagePath(){},getObjectListViewPath({appId:e,objectName:t,listViewName:n}){return `/app/${e}/${t}/grid/`+n},getObjectDetailPath({appId:e,objectName:t,recordId:n}){return `/app/${e}/${t}/view/`+n},getObjectRelatedViewPath({appId:e,masterObjectName:t,masterRecordId:n,objectName:r,foreignKey:o}){return `/app/${e}/${t}/${n}/${r}/grid?related_field_name=`+o}};var withModalWrap=function(t,e){return function(e){return createElement(t,e)}},render=function(e,t,n,r){e=withModalWrap(e),e=createElement(e,__assign({},t));return ReactDOM.render(e,n)};const safeRunFunction=(t,n,r,o)=>{try{var i=window.Creator;if(!!(!i||!i.getObjectUrl)&&/\bSteedos\b|\bCreator\b|\bMeteor\b|\bSession\b/.test(t))return console.info("调用了Creator|Steedos|Meteor|Session变量的脚本不执行,直接按空值处理。"),"";let e=[];return isNil(n)||(e=isArray(n)?n:[n]),t.bind(o||{})(...e)}catch(e){return console.log(e),r}};function safeEval(js){try{return eval(js)}catch(e){console.error(e,js);}}const isExpression=function(e){var t,n;return "string"==typeof e&&(t=/^{{(function.+)}}$/,n=/^{{(.+=>.+)}}$/,!("string"!=typeof e||!e.match(/^{{(.+)}}$/)||e.match(t)||e.match(n)))},parseSingleExpression=function(t,e,n,r){var o,i=function(e,t){return "#"!==t&&t?"string"==typeof t?_.get(e,t):void console.error("path has to be a string"):e||{}}(e=void 0===e?{}:e,function(e){return "string"!=typeof e||1===(e=e.split(".")).length?"#":(e.pop(),e.join("."))}(n))||{};if("string"!=typeof t)return t;o="__G_L_O_B_A_L__",e="\n return "+t.substring(2,t.length-2).replace(/\bformData\b/g,JSON.stringify(e).replace(/\bglobal\b/g,o)).replace(/\bglobal\b/g,JSON.stringify(r)).replace(new RegExp("\\b"+o+"\\b","g"),"global").replace(/rootValue/g,JSON.stringify(i));try{return Function(e)()}catch(e){return console.log(e,t,n),t}};var Expression=Object.freeze({__proto__:null,isExpression:isExpression,parseSingleExpression:parseSingleExpression});const getCompatibleDefaultValueExpression=(e,t)=>{let n=e;return /^\{\w+(\.*\w+)*\}$/.test(e)&&(n=-1<e.indexOf("userId")||-1<e.indexOf("spaceId")||-1<e.indexOf("user.")||-1<e.indexOf("now")?`{${e}}`.replace("{{","{{global."):`{${e}}`.replace("{{","{{formData."),t&&(n=n.replace(/\{\{(.+)\}\}/,"{{[$1]}}"))),n},getFieldDefaultValue=(e,t)=>{if(!e)return null;let n=e.defaultValue;e._defaultValue&&(n=safeEval(`(${e._defaultValue})`)),isFunction(n)&&(n=safeRunFunction(n,[],null,{name:e.name})),isString(n)&&(n=getCompatibleDefaultValueExpression(n,e.multiple));var r=isExpression(n);return r&&(n=parseSingleExpression(n,{},"#",t)),"select"===e.type&&(t=e.data_type||"text",!n||r||e.multiple||("text"!==t||isString(n)?"number"!==t||isNumber(n)?"boolean"!==t||isBoolean(n)||(n="true"===n):n=Number(n):n=String(n))),n};function getTreeOptions(t,e){const o=e?.valueField||"value";e?.labelField;const n=e?.unfoldedNum||1,r=[],i=(t,n,r)=>{var e;if(n)return e=_.filter(t,e=>_.includes(n,e[o])),_.each(e,e=>{1<=r?(e.unfolded=!0,e.children&&(e.children=i(t,e.children,r-1))):e.children&&(e.children=i(t,e.children,r));}),e};for(var a=t,s=0;s<a.length;s++)if(a[s].noParent=0,a[s].unfolded=!1,a[s].parent){let e=1;for(var l=0;l<a.length;l++)a[s].parent==a[l][o]&&(e=0);1==e&&(a[s].noParent=1);}else a[s].noParent=1;return _.each(t,e=>{1==e.noParent&&(1<=n?(e.unfolded=!0,r.push(Object.assign({},e,{children:i(t,e.children,n-1)}))):r.push(Object.assign({},e,{children:i(t,e.children,n)})));}),r}function getClosestAmisComponentByType(t,n,r){let o=(r=r||{}).name;var e=r.direction||"up";let i=t.getComponents().find(function(e){return e.props.type===n&&(!o||e.props.name===o)});if(i)return i;if("down"===e){if(t.children&&t.children.length){for(let e=0;e<t.children.length&&!(i=getClosestAmisComponentByType(t.children[e],n,r));e++);return i}}else if("up"===e&&t.parent)return getClosestAmisComponentByType(t.parent,n,r)}function isFilterFormValuesEmpty(e){let t=!0;var e=_.pickBy(e,function(e,t){return /^__searchable__/g.test(t)});return _.isEmpty(e)||(e=_.omitBy(e,function(e){return _.isNil(e)||_.isObject(e)&&_.isEmpty(e)||_.isArray(e)&&_.isEmpty(e.filter(function(e){return !_.isNil(e)}))||_.isString(e)&&0===e.length}),_.isEmpty(e)||(t=!1)),t}const SteedosUI$1=Object.assign({},{render:render,Router:Router,ListView:ListView,Object:SObject,Modal:Modal,Drawer:Drawer,refs:{},getRef(e){return SteedosUI$1.refs[e]},router:{go:(e,t)=>{var n=window.FlowRouter;if(t)return n?n.go(t):window.open(t);n?n.reload():console.warn("暂不支持自动跳转",e);},reload:()=>{console.log("reload");}},message:message,notification:notification,components:{Button:Button,Space:Space},getRefId:({type:e,appId:t,name:n})=>{switch(e){case"listview":return `amis-${t}-${n}-listview`;case"form":return `amis-${t}-${n}-form`;case"detail":return `amis-${t}-${n}-detail`;default:return `amis-${t}-${n}-`+e}},reloadRecord:()=>{if(window.FlowRouter)return window.FlowRouter.reload()},getFieldDefaultValue:getFieldDefaultValue,getTreeOptions:getTreeOptions,getClosestAmisComponentByType:getClosestAmisComponentByType,isFilterFormValuesEmpty:isFilterFormValuesEmpty});var getBuilderContext=function(){return "undefined"==typeof window?{}:Builder.settings.context||Builder.settings},Steedos$1=__assign({getRootUrl:function(e){var t=getBuilderContext();return t.rootUrl||("undefined"!=typeof window?window.localStorage.getItem("steedos:rootUrl"):"")||e},absoluteUrl:function(e){return void 0===e&&(e=""),"".concat(Steedos$1.getRootUrl()).concat(e)},getTenantId:function(){try{var e=getBuilderContext().tenantId;return (e=window.location.search&&!e?new URLSearchParams(window.location.search).get("X-Space-Id"):e)?e:null}catch(e){console.error(e);}},getAuthorization:function(){try{var e=getBuilderContext(),t=e.tenantId,n=e.authToken;return t&&n?"Bearer ".concat(t,",").concat(n):null}catch(e){console.error(e);}},authRequest:authRequest,StandardObjects:StandardObjects},Expression);"undefined"==typeof window||window.Steedos||(window.Steedos=Steedos$1),"undefined"==typeof window||window.SteedosUI||(window.SteedosUI=SteedosUI$1);
|
|
14742
14969
|
|
|
14743
14970
|
var index_esm = /*#__PURE__*/Object.freeze({
|
|
14744
14971
|
__proto__: null,
|