@steedos-widgets/amis-object 1.2.37 → 1.2.39-beta.1
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 +25 -11
- package/dist/amis-object.cjs.js +182 -62
- package/dist/amis-object.cjs.js.map +1 -1
- package/dist/amis-object.esm.css +25 -11
- package/dist/amis-object.esm.js +182 -62
- package/dist/amis-object.esm.js.map +1 -1
- package/dist/amis-object.umd.css +25 -11
- package/dist/amis-object.umd.js +182 -62
- package/dist/amis-object.umd.js.map +1 -1
- package/dist/assets.json +16 -16
- package/package.json +3 -3
package/dist/amis-object.cjs.css
CHANGED
|
@@ -254,6 +254,16 @@ fieldset.antd-Collapse > legend{
|
|
|
254
254
|
height: unset;
|
|
255
255
|
}
|
|
256
256
|
|
|
257
|
+
/* crud中的快速搜索框样式改成与按钮风格统一的边框 */
|
|
258
|
+
.antd-Crud .antd-Crud-toolbar .antd-SearchBox.is-active{
|
|
259
|
+
border-color: var(--button-default-default-top-border-color);
|
|
260
|
+
}
|
|
261
|
+
|
|
262
|
+
/* crud中的快速搜索框图标没对齐 */
|
|
263
|
+
.antd-Crud .antd-Crud-toolbar .antd-SearchBox.is-active svg.icon{
|
|
264
|
+
top: unset
|
|
265
|
+
}
|
|
266
|
+
|
|
257
267
|
.ant-dropdown-menu {
|
|
258
268
|
border: 1px solid #e5e5e5;
|
|
259
269
|
border-radius: 0.25rem;
|
|
@@ -412,6 +422,9 @@ fieldset.antd-Collapse > legend{
|
|
|
412
422
|
.mr-2 {
|
|
413
423
|
margin-right: 0.5rem
|
|
414
424
|
}
|
|
425
|
+
.mr-1 {
|
|
426
|
+
margin-right: 0.25rem
|
|
427
|
+
}
|
|
415
428
|
.mt-0\.5 {
|
|
416
429
|
margin-top: 0.125rem
|
|
417
430
|
}
|
|
@@ -427,9 +440,6 @@ fieldset.antd-Collapse > legend{
|
|
|
427
440
|
.-ml-px {
|
|
428
441
|
margin-left: -1px
|
|
429
442
|
}
|
|
430
|
-
.mr-1 {
|
|
431
|
-
margin-right: 0.25rem
|
|
432
|
-
}
|
|
433
443
|
.mb-\[-3px\] {
|
|
434
444
|
margin-bottom: -3px
|
|
435
445
|
}
|
|
@@ -871,6 +881,9 @@ fieldset.antd-Collapse > legend{
|
|
|
871
881
|
.leading-5 {
|
|
872
882
|
line-height: 1.25rem
|
|
873
883
|
}
|
|
884
|
+
.leading-6 {
|
|
885
|
+
line-height: 1.5rem
|
|
886
|
+
}
|
|
874
887
|
.leading-3 {
|
|
875
888
|
line-height: .75rem
|
|
876
889
|
}
|
|
@@ -1167,8 +1180,15 @@ fieldset.antd-Collapse > legend{
|
|
|
1167
1180
|
display: none;
|
|
1168
1181
|
}
|
|
1169
1182
|
}
|
|
1170
|
-
.steedos-select-user
|
|
1171
|
-
margin-
|
|
1183
|
+
.steedos-select-user .antd-Table {
|
|
1184
|
+
margin-bottom: 0;
|
|
1185
|
+
position: unset;
|
|
1186
|
+
}
|
|
1187
|
+
.steedos-select-user .antd-Table .antd-Table-content {
|
|
1188
|
+
max-height: calc(100vh - 560px);
|
|
1189
|
+
}
|
|
1190
|
+
.steedos-select-user .antd-Table .antd-SearchBox {
|
|
1191
|
+
margin-top: 0;
|
|
1172
1192
|
}
|
|
1173
1193
|
@media (max-width: 576px) {
|
|
1174
1194
|
.antd-Crud-toolbar {
|
|
@@ -1407,12 +1427,6 @@ fieldset.antd-Collapse > legend{
|
|
|
1407
1427
|
.h-fill {
|
|
1408
1428
|
height: -webkit-fill-available !important;
|
|
1409
1429
|
}
|
|
1410
|
-
.steedos-global-header-root .sidebar-wrapper .antd-Nav .antd-Nav-Menu-item-label {
|
|
1411
|
-
white-space: normal;
|
|
1412
|
-
line-height: 1.5;
|
|
1413
|
-
padding-top: 6px;
|
|
1414
|
-
padding-bottom: 6px;
|
|
1415
|
-
}
|
|
1416
1430
|
.steedos-global-header-root .sidebar-wrapper .antd-Nav .antd-Nav-Menu-item-link {
|
|
1417
1431
|
min-height: var(--Nav-Item-height);
|
|
1418
1432
|
height: unset;
|
package/dist/amis-object.cjs.js
CHANGED
|
@@ -4219,6 +4219,7 @@ var frontend_message_modification_failed$1 = "Modification failed!";
|
|
|
4219
4219
|
var frontend_objects_related_alert_start$1 = "No related table fields associated with the related list object";
|
|
4220
4220
|
var frontend_objects_related_alert_end$1 = "were found.";
|
|
4221
4221
|
var frontend_no_records_found$1 = "No records found.";
|
|
4222
|
+
var frontend_records_no_allowedit$1 = "You do not have edit permission for this record";
|
|
4222
4223
|
var en_us = {
|
|
4223
4224
|
frontend_field_group_generalization: frontend_field_group_generalization$1,
|
|
4224
4225
|
frontend_download: frontend_download$1,
|
|
@@ -4301,7 +4302,8 @@ var en_us = {
|
|
|
4301
4302
|
frontend_message_modification_failed: frontend_message_modification_failed$1,
|
|
4302
4303
|
frontend_objects_related_alert_start: frontend_objects_related_alert_start$1,
|
|
4303
4304
|
frontend_objects_related_alert_end: frontend_objects_related_alert_end$1,
|
|
4304
|
-
frontend_no_records_found: frontend_no_records_found$1
|
|
4305
|
+
frontend_no_records_found: frontend_no_records_found$1,
|
|
4306
|
+
frontend_records_no_allowedit: frontend_records_no_allowedit$1
|
|
4305
4307
|
};
|
|
4306
4308
|
|
|
4307
4309
|
var frontend_field_group_generalization = "通用";
|
|
@@ -4325,7 +4327,7 @@ var frontend_display_type_is_split = "分栏视图";
|
|
|
4325
4327
|
var frontend_display_as = "显示为";
|
|
4326
4328
|
var frontend_record_sum = "个项目";
|
|
4327
4329
|
var frontend_button_reload_tooltip = "刷新";
|
|
4328
|
-
var frontend_button_search_tooltip = "
|
|
4330
|
+
var frontend_button_search_tooltip = "查询";
|
|
4329
4331
|
var frontend_fields_filter_button_search = "搜索";
|
|
4330
4332
|
var frontend_fields_filter_button_settings = "设置搜索项";
|
|
4331
4333
|
var frontend_button_listview_control_tooltip = "列表视图控制";
|
|
@@ -4387,6 +4389,7 @@ var frontend_message_modification_failed = "修改失败!";
|
|
|
4387
4389
|
var frontend_objects_related_alert_start = "未找到与相关列表对象";
|
|
4388
4390
|
var frontend_objects_related_alert_end = "关联的相关表字段";
|
|
4389
4391
|
var frontend_no_records_found = "无法找到记录";
|
|
4392
|
+
var frontend_records_no_allowedit = "您对这条记录没有编辑权限";
|
|
4390
4393
|
var zh_cn = {
|
|
4391
4394
|
frontend_field_group_generalization: frontend_field_group_generalization,
|
|
4392
4395
|
frontend_download: frontend_download,
|
|
@@ -4470,7 +4473,8 @@ var zh_cn = {
|
|
|
4470
4473
|
frontend_message_modification_failed: frontend_message_modification_failed,
|
|
4471
4474
|
frontend_objects_related_alert_start: frontend_objects_related_alert_start,
|
|
4472
4475
|
frontend_objects_related_alert_end: frontend_objects_related_alert_end,
|
|
4473
|
-
frontend_no_records_found: frontend_no_records_found
|
|
4476
|
+
frontend_no_records_found: frontend_no_records_found,
|
|
4477
|
+
frontend_records_no_allowedit: frontend_records_no_allowedit
|
|
4474
4478
|
};
|
|
4475
4479
|
|
|
4476
4480
|
const resources = {
|
|
@@ -6524,12 +6528,14 @@ async function getObjectFieldsFilterBarSchema(objectSchema, ctx) {
|
|
|
6524
6528
|
if(!event.data.isLookup){
|
|
6525
6529
|
// 刷新浏览器后,filterFormValues值是空的,只能从本地存储中取出并重置为空值
|
|
6526
6530
|
const listName = event.data.listName;
|
|
6527
|
-
const listViewPropsStoreKey = location.pathname + "/crud
|
|
6531
|
+
const listViewPropsStoreKey = location.pathname + "/crud";
|
|
6528
6532
|
let localListViewProps = sessionStorage.getItem(listViewPropsStoreKey);
|
|
6529
6533
|
if(localListViewProps){
|
|
6530
6534
|
localListViewProps = JSON.parse(localListViewProps);
|
|
6531
6535
|
for(var k in localListViewProps){
|
|
6532
|
-
|
|
6536
|
+
if(k !== "__keywords"){
|
|
6537
|
+
removedValues[k] = null;
|
|
6538
|
+
}
|
|
6533
6539
|
}
|
|
6534
6540
|
}
|
|
6535
6541
|
}
|
|
@@ -6551,12 +6557,9 @@ async function getObjectFieldsFilterBarSchema(objectSchema, ctx) {
|
|
|
6551
6557
|
const objectName = data.objectName;
|
|
6552
6558
|
const isLookup = data.isLookup;
|
|
6553
6559
|
const listName = data.listName;
|
|
6554
|
-
let searchableFieldsStoreKey = location.pathname + "/searchable_fields
|
|
6560
|
+
let searchableFieldsStoreKey = location.pathname + "/searchable_fields";
|
|
6555
6561
|
if(isLookup){
|
|
6556
|
-
searchableFieldsStoreKey += "lookup/" + objectName;
|
|
6557
|
-
}
|
|
6558
|
-
else{
|
|
6559
|
-
searchableFieldsStoreKey += (listName || "");
|
|
6562
|
+
searchableFieldsStoreKey += "/lookup/" + objectName;
|
|
6560
6563
|
}
|
|
6561
6564
|
let defaultSearchableFields = sessionStorage.getItem(searchableFieldsStoreKey);
|
|
6562
6565
|
if(defaultSearchableFields){
|
|
@@ -6583,7 +6586,7 @@ async function getObjectFieldsFilterBarSchema(objectSchema, ctx) {
|
|
|
6583
6586
|
setData({ showFieldsFilter: false });
|
|
6584
6587
|
}
|
|
6585
6588
|
else{
|
|
6586
|
-
const listViewPropsStoreKey = location.pathname + "/crud
|
|
6589
|
+
const listViewPropsStoreKey = location.pathname + "/crud";
|
|
6587
6590
|
let localListViewProps = sessionStorage.getItem(listViewPropsStoreKey);
|
|
6588
6591
|
if(localListViewProps){
|
|
6589
6592
|
localListViewProps = JSON.parse(localListViewProps);
|
|
@@ -6623,12 +6626,9 @@ async function getObjectFieldsFilterBarSchema(objectSchema, ctx) {
|
|
|
6623
6626
|
return n.props.type === "service";
|
|
6624
6627
|
});
|
|
6625
6628
|
filterService.setData({ filterFormSearchableFields: value });
|
|
6626
|
-
let searchableFieldsStoreKey = location.pathname + "/searchable_fields
|
|
6629
|
+
let searchableFieldsStoreKey = location.pathname + "/searchable_fields";
|
|
6627
6630
|
if(isLookup){
|
|
6628
|
-
searchableFieldsStoreKey += "lookup/" + objectName;
|
|
6629
|
-
}
|
|
6630
|
-
else{
|
|
6631
|
-
searchableFieldsStoreKey += (listName || "");
|
|
6631
|
+
searchableFieldsStoreKey += "/lookup/" + objectName;
|
|
6632
6632
|
}
|
|
6633
6633
|
sessionStorage.setItem(searchableFieldsStoreKey, value);
|
|
6634
6634
|
|
|
@@ -6686,7 +6686,7 @@ async function getObjectFieldsFilterBarSchema(objectSchema, ctx) {
|
|
|
6686
6686
|
}
|
|
6687
6687
|
|
|
6688
6688
|
// 列表视图crud支持本地缓存,所以需要进一步清除浏览器本地缓存里面用户在可搜索项中移除的字段值
|
|
6689
|
-
const listViewPropsStoreKey = location.pathname + "/crud
|
|
6689
|
+
const listViewPropsStoreKey = location.pathname + "/crud";
|
|
6690
6690
|
let localListViewProps = sessionStorage.getItem(listViewPropsStoreKey);
|
|
6691
6691
|
if(localListViewProps){
|
|
6692
6692
|
localListViewProps = JSON.parse(localListViewProps);
|
|
@@ -8407,9 +8407,23 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
|
|
|
8407
8407
|
`;
|
|
8408
8408
|
|
|
8409
8409
|
|
|
8410
|
-
function getObjectHeaderToolbar(mainObject, formFactor, {showDisplayAs = false, hiddenCount = false, headerToolbarItems, filterVisible = true} = {}){
|
|
8410
|
+
function getObjectHeaderToolbar(mainObject, fields, formFactor, {showDisplayAs = false, hiddenCount = false, headerToolbarItems, filterVisible = true} = {}){
|
|
8411
8411
|
// console.log(`getObjectHeaderToolbar====>`, filterVisible)
|
|
8412
|
-
console.log(`getObjectHeaderToolbar`, mainObject)
|
|
8412
|
+
// console.log(`getObjectHeaderToolbar`, mainObject)
|
|
8413
|
+
const searchableFieldsLabel = [];
|
|
8414
|
+
_.each(fields, function (field) {
|
|
8415
|
+
if (field.searchable) {
|
|
8416
|
+
searchableFieldsLabel.push(field.label);
|
|
8417
|
+
}
|
|
8418
|
+
});
|
|
8419
|
+
const listViewPropsStoreKey = location.pathname + "/crud";
|
|
8420
|
+
let localListViewProps = sessionStorage.getItem(listViewPropsStoreKey);
|
|
8421
|
+
let crudKeywords = "";
|
|
8422
|
+
if(localListViewProps){
|
|
8423
|
+
localListViewProps = JSON.parse(localListViewProps);
|
|
8424
|
+
crudKeywords = (localListViewProps && localListViewProps.__keywords) || "";
|
|
8425
|
+
}
|
|
8426
|
+
|
|
8413
8427
|
const isMobile = window.innerWidth < 768;
|
|
8414
8428
|
if(isMobile){
|
|
8415
8429
|
showDisplayAs = false;
|
|
@@ -8499,21 +8513,9 @@ function getObjectHeaderToolbar(mainObject, formFactor, {showDisplayAs = false,
|
|
|
8499
8513
|
"type": "tpl",
|
|
8500
8514
|
"tpl": "${count} " + instance.t('frontend_record_sum')
|
|
8501
8515
|
},
|
|
8502
|
-
{
|
|
8503
|
-
"type": "reload",
|
|
8504
|
-
"align": "right",
|
|
8505
|
-
//TODO: dropdown-button只支持在按钮上方配置提示,对于上方按钮的点击会有影响,为保持统一,暂时去除,等待amis优化,https://github.com/baidu/amis/issues/7330
|
|
8506
|
-
// "tooltip": i18next.t('frontend_button_reload_tooltip'),
|
|
8507
|
-
"tooltip":"",
|
|
8508
|
-
"tooltipPlacement": "top",
|
|
8509
|
-
"className": "bg-white p-2 rounded border-gray-300 text-gray-500"
|
|
8510
|
-
},
|
|
8511
|
-
// getExportExcelToolbarButtonSchema(),
|
|
8512
|
-
mainObject?.permissions?.allowCreateListViews ? getSettingListviewToolbarButtonSchema() : {},
|
|
8513
|
-
getDisplayAsButton(mainObject?.name),
|
|
8514
8516
|
filterVisible ? {
|
|
8515
8517
|
"label": instance.t('frontend_button_search_tooltip'),
|
|
8516
|
-
"icon": "fa fa-
|
|
8518
|
+
"icon": "fa fa-filter",
|
|
8517
8519
|
//TODO: dropdown-button只支持在按钮上方配置提示,对于上方按钮的点击会有影响,为保持统一,暂时去除,等待amis优化,https://github.com/baidu/amis/issues/7330
|
|
8518
8520
|
// "tooltip": i18next.t('frontend_button_search_tooltip'),
|
|
8519
8521
|
// "tooltipPlacement": "top",
|
|
@@ -8539,14 +8541,39 @@ function getObjectHeaderToolbar(mainObject, formFactor, {showDisplayAs = false,
|
|
|
8539
8541
|
]
|
|
8540
8542
|
}
|
|
8541
8543
|
}
|
|
8542
|
-
} : {}
|
|
8543
|
-
|
|
8544
|
-
|
|
8545
|
-
|
|
8546
|
-
|
|
8547
|
-
|
|
8548
|
-
|
|
8549
|
-
|
|
8544
|
+
} : {},
|
|
8545
|
+
{
|
|
8546
|
+
"type": "reload",
|
|
8547
|
+
"align": "right",
|
|
8548
|
+
//TODO: dropdown-button只支持在按钮上方配置提示,对于上方按钮的点击会有影响,为保持统一,暂时去除,等待amis优化,https://github.com/baidu/amis/issues/7330
|
|
8549
|
+
// "tooltip": i18next.t('frontend_button_reload_tooltip'),
|
|
8550
|
+
"tooltip":"",
|
|
8551
|
+
"tooltipPlacement": "top",
|
|
8552
|
+
"className": "bg-white p-2 rounded border-gray-300 text-gray-500"
|
|
8553
|
+
},
|
|
8554
|
+
// getExportExcelToolbarButtonSchema(),
|
|
8555
|
+
mainObject?.permissions?.allowCreateListViews ? getSettingListviewToolbarButtonSchema() : {},
|
|
8556
|
+
getDisplayAsButton(mainObject?.name),
|
|
8557
|
+
{
|
|
8558
|
+
"type": "tooltip-wrapper",
|
|
8559
|
+
"align": "right",
|
|
8560
|
+
"title": "",
|
|
8561
|
+
"content": "可模糊搜索字段:" + searchableFieldsLabel.join(","),
|
|
8562
|
+
"placement": "bottom",
|
|
8563
|
+
"tooltipTheme": "dark",
|
|
8564
|
+
"trigger": "click",
|
|
8565
|
+
"className": "mr-1",
|
|
8566
|
+
"body": [
|
|
8567
|
+
{
|
|
8568
|
+
"type": "search-box",
|
|
8569
|
+
"name": "__keywords",
|
|
8570
|
+
"placeholder": "请输入关键字",
|
|
8571
|
+
"value": crudKeywords,
|
|
8572
|
+
"clearable": true,
|
|
8573
|
+
"clearAndSubmit": true
|
|
8574
|
+
}
|
|
8575
|
+
]
|
|
8576
|
+
},
|
|
8550
8577
|
// {
|
|
8551
8578
|
// "type": "drag-toggler",
|
|
8552
8579
|
// "align": "right"
|
|
@@ -8562,18 +8589,27 @@ function getObjectHeaderToolbar(mainObject, formFactor, {showDisplayAs = false,
|
|
|
8562
8589
|
|
|
8563
8590
|
}
|
|
8564
8591
|
|
|
8565
|
-
function getObjectFooterToolbar(mainObject, formFactor) {
|
|
8592
|
+
function getObjectFooterToolbar(mainObject, formFactor, options) {
|
|
8566
8593
|
if (formFactor === 'SMALL') {
|
|
8567
8594
|
return [
|
|
8568
8595
|
"load-more",
|
|
8569
8596
|
]
|
|
8570
8597
|
}
|
|
8571
8598
|
else {
|
|
8572
|
-
|
|
8573
|
-
|
|
8574
|
-
|
|
8575
|
-
|
|
8576
|
-
|
|
8599
|
+
if(options && options.isRelated){
|
|
8600
|
+
return [
|
|
8601
|
+
"statistics",
|
|
8602
|
+
"pagination"
|
|
8603
|
+
]
|
|
8604
|
+
|
|
8605
|
+
}
|
|
8606
|
+
else {
|
|
8607
|
+
return [
|
|
8608
|
+
"switch-per-page",
|
|
8609
|
+
"statistics",
|
|
8610
|
+
"pagination"
|
|
8611
|
+
]
|
|
8612
|
+
}
|
|
8577
8613
|
}
|
|
8578
8614
|
}
|
|
8579
8615
|
|
|
@@ -8881,16 +8917,17 @@ function getLookupSapceUserTreeSchema(){
|
|
|
8881
8917
|
"autoCheckChildren": false,
|
|
8882
8918
|
"searchable": true,
|
|
8883
8919
|
"searchConfig": {
|
|
8884
|
-
"sticky": true
|
|
8920
|
+
"sticky": true,
|
|
8921
|
+
"placeholder": "查找部门"
|
|
8885
8922
|
},
|
|
8886
8923
|
"unfoldedLevel": 2,
|
|
8887
8924
|
"style": {
|
|
8888
8925
|
"max-height": "100%",
|
|
8889
8926
|
"position": "absolute",
|
|
8890
|
-
"left": "-
|
|
8891
|
-
"width": "
|
|
8927
|
+
"left": "-220px",
|
|
8928
|
+
"width": "210px",
|
|
8892
8929
|
"bottom": 0,
|
|
8893
|
-
"top": "
|
|
8930
|
+
"top": "0",
|
|
8894
8931
|
"overflow": "auto",
|
|
8895
8932
|
"min-height":"300px"
|
|
8896
8933
|
},
|
|
@@ -8909,7 +8946,7 @@ async function lookupToAmisPicker(field, readonly, ctx){
|
|
|
8909
8946
|
ctx.idFieldName = refObjectConfig.idFieldName;
|
|
8910
8947
|
ctx.objectName = refObjectConfig.name;
|
|
8911
8948
|
|
|
8912
|
-
|
|
8949
|
+
let tableFields = [];
|
|
8913
8950
|
let i = 0;
|
|
8914
8951
|
const searchableFields = [];
|
|
8915
8952
|
|
|
@@ -9038,16 +9075,31 @@ async function lookupToAmisPicker(field, readonly, ctx){
|
|
|
9038
9075
|
}
|
|
9039
9076
|
}
|
|
9040
9077
|
|
|
9041
|
-
|
|
9042
9078
|
if(allowSearchFields){
|
|
9043
9079
|
allowSearchFields.forEach(function(key){
|
|
9044
9080
|
const keyValue = selfData[key];
|
|
9045
|
-
if(keyValue){
|
|
9081
|
+
if(_.isString(keyValue)){
|
|
9046
9082
|
filters.push([key, "contains", keyValue]);
|
|
9083
|
+
}else if(_.isArray(keyValue) || _.isBoolean(keyValue) || keyValue){
|
|
9084
|
+
filters.push([key, "=", keyValue]);
|
|
9047
9085
|
}
|
|
9048
9086
|
})
|
|
9049
9087
|
}
|
|
9050
9088
|
|
|
9089
|
+
if(selfData.__keywords && allowSearchFields){
|
|
9090
|
+
const keywordsFilters = [];
|
|
9091
|
+
allowSearchFields.forEach(function(key, index){
|
|
9092
|
+
const keyValue = selfData.__keywords;
|
|
9093
|
+
if(keyValue){
|
|
9094
|
+
keywordsFilters.push([key, "contains", keyValue]);
|
|
9095
|
+
if(index < allowSearchFields.length - 1){
|
|
9096
|
+
keywordsFilters.push('or');
|
|
9097
|
+
}
|
|
9098
|
+
}
|
|
9099
|
+
})
|
|
9100
|
+
filters.push(keywordsFilters);
|
|
9101
|
+
};
|
|
9102
|
+
|
|
9051
9103
|
var fieldFilters = ${JSON.stringify(field.filters)};
|
|
9052
9104
|
if(fieldFilters && fieldFilters.length){
|
|
9053
9105
|
filters.push(fieldFilters);
|
|
@@ -9136,6 +9188,7 @@ async function lookupToAmisPicker(field, readonly, ctx){
|
|
|
9136
9188
|
if(refObjectConfig.paging && refObjectConfig.paging.enabled === false){
|
|
9137
9189
|
top = 1000;
|
|
9138
9190
|
}
|
|
9191
|
+
|
|
9139
9192
|
let pickerSchema = null;
|
|
9140
9193
|
if(ctx.formFactor === 'SMALL'){
|
|
9141
9194
|
pickerSchema = await getListSchema$1(tableFields, {
|
|
@@ -9157,7 +9210,7 @@ async function lookupToAmisPicker(field, readonly, ctx){
|
|
|
9157
9210
|
if(referenceTo.objectName === "space_users" && field.reference_to_field === "user" && !isMobile){
|
|
9158
9211
|
headerToolbarItems = getLookupSapceUserTreeSchema();
|
|
9159
9212
|
pickerSchema["style"] = {
|
|
9160
|
-
"margin-left":"
|
|
9213
|
+
"margin-left":"220px",
|
|
9161
9214
|
"min-height": "300px"
|
|
9162
9215
|
};
|
|
9163
9216
|
pickerSchema.className = pickerSchema.className || "" + " steedos-select-user";
|
|
@@ -9168,7 +9221,8 @@ async function lookupToAmisPicker(field, readonly, ctx){
|
|
|
9168
9221
|
if (isAllowCreate) {
|
|
9169
9222
|
const new_button = await getSchema$5(refObjectConfig, { appId: ctx.appId, objectName: refObjectConfig.name, formFactor: ctx.formFactor });
|
|
9170
9223
|
new_button.align = "right";
|
|
9171
|
-
|
|
9224
|
+
// 保持快速搜索放在最左侧,新建按钮往里插,而不是push到最后
|
|
9225
|
+
pickerSchema.headerToolbar.splice(pickerSchema.headerToolbar.length - 1, 0, new_button);
|
|
9172
9226
|
}
|
|
9173
9227
|
pickerSchema.footerToolbar = refObjectConfig.enable_tree ? [] : getObjectFooterToolbar();
|
|
9174
9228
|
if (ctx.filterVisible !== false) {
|
|
@@ -10858,7 +10912,71 @@ async function getQuickEditSchema(field, options){
|
|
|
10858
10912
|
`;
|
|
10859
10913
|
break;
|
|
10860
10914
|
}
|
|
10861
|
-
|
|
10915
|
+
quickEditSchema.body[0].visibleOn = "${quickedit_record_permissions.allowEdit && quickedit_record_permissions_loading == false}";
|
|
10916
|
+
quickEditSchema.body.push({
|
|
10917
|
+
"type":"service",
|
|
10918
|
+
"body":[
|
|
10919
|
+
{
|
|
10920
|
+
"type": "tpl",
|
|
10921
|
+
"tpl": instance.t('frontend_records_no_allowedit'),
|
|
10922
|
+
"visibleOn": "${!quickedit_record_permissions.allowEdit && quickedit_record_permissions_loading == false}"
|
|
10923
|
+
},
|
|
10924
|
+
{
|
|
10925
|
+
"type": "spinner",
|
|
10926
|
+
"showOn": "${quickedit_record_permissions_loading}"
|
|
10927
|
+
}
|
|
10928
|
+
],
|
|
10929
|
+
"onEvent":{
|
|
10930
|
+
"init":{
|
|
10931
|
+
"actions":[
|
|
10932
|
+
{
|
|
10933
|
+
"actionType": "setValue",
|
|
10934
|
+
"componentId": `service_listview_${options.objectName}`,
|
|
10935
|
+
"args": {
|
|
10936
|
+
"value":{
|
|
10937
|
+
"quickedit_record_permissions_loading": true
|
|
10938
|
+
}
|
|
10939
|
+
}
|
|
10940
|
+
},
|
|
10941
|
+
{
|
|
10942
|
+
"actionType": "ajax",
|
|
10943
|
+
"args": {
|
|
10944
|
+
"api": {
|
|
10945
|
+
"url": "${context.rootUrl}/service/api/@\${objectName}/recordPermissions/${_id}",
|
|
10946
|
+
"method": "get",
|
|
10947
|
+
"headers": {
|
|
10948
|
+
"Authorization": "Bearer ${context.tenantId},${context.authToken}"
|
|
10949
|
+
},
|
|
10950
|
+
"cache": 30000,
|
|
10951
|
+
"messages": {
|
|
10952
|
+
"failed": "失败了呢。。"
|
|
10953
|
+
}
|
|
10954
|
+
}
|
|
10955
|
+
}
|
|
10956
|
+
},
|
|
10957
|
+
{
|
|
10958
|
+
"actionType": "setValue",
|
|
10959
|
+
"componentId": `service_listview_${options.objectName}`,
|
|
10960
|
+
"args": {
|
|
10961
|
+
"value":{
|
|
10962
|
+
"quickedit_record_permissions_loading": false
|
|
10963
|
+
}
|
|
10964
|
+
}
|
|
10965
|
+
},
|
|
10966
|
+
{
|
|
10967
|
+
"actionType": "setValue",
|
|
10968
|
+
"componentId": `service_listview_${options.objectName}`,
|
|
10969
|
+
"args": {
|
|
10970
|
+
"value":{
|
|
10971
|
+
"quickedit_record_permissions": "${event.data}"
|
|
10972
|
+
}
|
|
10973
|
+
}
|
|
10974
|
+
}
|
|
10975
|
+
]
|
|
10976
|
+
}
|
|
10977
|
+
}
|
|
10978
|
+
|
|
10979
|
+
});
|
|
10862
10980
|
} else {
|
|
10863
10981
|
quickEditSchema = false;
|
|
10864
10982
|
}
|
|
@@ -10891,7 +11009,7 @@ function getFieldWidth(width){
|
|
|
10891
11009
|
|
|
10892
11010
|
async function getTableColumns$1(fields, options){
|
|
10893
11011
|
const columns = [{name: '_index',type: 'text', width: 32, placeholder: ""}];
|
|
10894
|
-
const allowEdit = options.permissions?.allowEdit &&
|
|
11012
|
+
const allowEdit = options.permissions?.allowEdit && !options.isLookup && options.enable_inline_edit != false;
|
|
10895
11013
|
|
|
10896
11014
|
for (const field of fields) {
|
|
10897
11015
|
//增加quickEdit属性,实现快速编辑
|
|
@@ -11429,7 +11547,7 @@ async function getTableApi(mainObject, fields, options){
|
|
|
11429
11547
|
try{
|
|
11430
11548
|
// TODO: 不应该直接在这里取localStorage,应该从外面传入
|
|
11431
11549
|
const listName = api.data.listName;
|
|
11432
|
-
const listViewPropsStoreKey = location.pathname + "/crud
|
|
11550
|
+
const listViewPropsStoreKey = location.pathname + "/crud";
|
|
11433
11551
|
let localListViewProps = sessionStorage.getItem(listViewPropsStoreKey);
|
|
11434
11552
|
if(localListViewProps){
|
|
11435
11553
|
localListViewProps = JSON.parse(localListViewProps);
|
|
@@ -11630,7 +11748,7 @@ async function getTableApi(mainObject, fields, options){
|
|
|
11630
11748
|
try{
|
|
11631
11749
|
// TODO: 不应该直接在这里取localStorage,应该从外面传入
|
|
11632
11750
|
const listName = api.body.listName;
|
|
11633
|
-
const listViewPropsStoreKey = location.pathname + "/crud
|
|
11751
|
+
const listViewPropsStoreKey = location.pathname + "/crud";
|
|
11634
11752
|
/**
|
|
11635
11753
|
* localListViewProps规范来自crud请求api中api.data.$self参数值的。
|
|
11636
11754
|
* 比如:{"perPage":20,"page":1,"__searchable__name":"7","__searchable__between__n1__c":[null,null],"filter":[["name","contains","a"]]}
|
|
@@ -12795,6 +12913,7 @@ async function getObjectCRUD(objectSchema, fields, options){
|
|
|
12795
12913
|
// headerToolbar: getObjectHeaderToolbar(objectSchema, options.formFactor, {showDisplayAs}),
|
|
12796
12914
|
headerToolbarClassName: "px-4 py-2 border-gray-300 bg-gray-100 border-solid border-b",
|
|
12797
12915
|
footerToolbar: getObjectFooterToolbar(objectSchema, options.formFactor, {
|
|
12916
|
+
...options,
|
|
12798
12917
|
disableStatistics: options.queryCount === false
|
|
12799
12918
|
}),
|
|
12800
12919
|
filter: options.filterVisible !== false && await getObjectFilter(objectSchema, fields, options),
|
|
@@ -12819,7 +12938,7 @@ async function getObjectCRUD(objectSchema, fields, options){
|
|
|
12819
12938
|
}
|
|
12820
12939
|
}
|
|
12821
12940
|
// console.log(`getObjectHeaderToolbar====2===>`, options.filterVisible)
|
|
12822
|
-
bodyProps.headerToolbar = getObjectHeaderToolbar(objectSchema, options.formFactor, {
|
|
12941
|
+
bodyProps.headerToolbar = getObjectHeaderToolbar(objectSchema, fields, options.formFactor, {
|
|
12823
12942
|
showDisplayAs,
|
|
12824
12943
|
hiddenCount: options.queryCount === false,
|
|
12825
12944
|
headerToolbarItems: options.headerToolbarItems,
|
|
@@ -12944,6 +13063,7 @@ async function getObjectCRUD(objectSchema, fields, options){
|
|
|
12944
13063
|
return {
|
|
12945
13064
|
type: 'service',
|
|
12946
13065
|
className: '',
|
|
13066
|
+
//目前crud的service层id不认用户自定义id,只支持默认规则id
|
|
12947
13067
|
id: `service_${id}`,
|
|
12948
13068
|
name: `page`,
|
|
12949
13069
|
data: {
|
|
@@ -18532,7 +18652,7 @@ var AmisAppMenu = function (props) { return __awaiter(void 0, void 0, void 0, fu
|
|
|
18532
18652
|
if (links) {
|
|
18533
18653
|
return [2 /*return*/, {
|
|
18534
18654
|
"type": "nav",
|
|
18535
|
-
className: "".concat(className),
|
|
18655
|
+
className: "".concat(className, " text-black"),
|
|
18536
18656
|
"stacked": stacked,
|
|
18537
18657
|
"overflow": overflow,
|
|
18538
18658
|
"indentSize": indentSize,
|
|
@@ -18544,7 +18664,7 @@ var AmisAppMenu = function (props) { return __awaiter(void 0, void 0, void 0, fu
|
|
|
18544
18664
|
schemaApi: {
|
|
18545
18665
|
"method": "get",
|
|
18546
18666
|
"url": "${context.rootUrl}/service/api/apps/".concat(appId, "/menus"),
|
|
18547
|
-
"adaptor": "\n try {\n console.log('payload====>', payload)\n if(payload.nav_schema){\n payload.data = payload.nav_schema;\n return payload\n }\n\n const data = { nav: [] };\n const stacked = ".concat(stacked, ";\n const showIcon = ").concat(showIcon, ";\n const selectedId = '").concat(selectedId, "';\n const tab_groups = payload.tab_groups;\n const locationPathname = window.location.pathname;\n var customTabId = \"\";\n var objectTabId = \"\";\n if(stacked){\n _.each(_.groupBy(payload.children, 'group'), (tabs, groupName) => {\n if (groupName === 'undefined' || groupName === '') {\n _.each(tabs, (tab) => {\n if(locationPathname == tab.path){\n customTabId = tab.id;\n }else if(locationPathname.startsWith(tab.path + \"/\")){\n objectTabId = tab.id;\n }\n data.nav.push({\n \"label\": showIcon ? {\n type: 'tpl',\n tpl: `<span class='fill-slate-500
|
|
18667
|
+
"adaptor": "\n try {\n console.log('payload====>', payload)\n if(payload.nav_schema){\n payload.data = payload.nav_schema;\n return payload\n }\n\n const data = { nav: [] };\n const stacked = ".concat(stacked, ";\n const showIcon = ").concat(showIcon, ";\n const selectedId = '").concat(selectedId, "';\n const tab_groups = payload.tab_groups;\n const locationPathname = window.location.pathname;\n var customTabId = \"\";\n var objectTabId = \"\";\n if(stacked){\n _.each(_.groupBy(payload.children, 'group'), (tabs, groupName) => {\n if (groupName === 'undefined' || groupName === '') {\n _.each(tabs, (tab) => {\n if(locationPathname == tab.path){\n customTabId = tab.id;\n }else if(locationPathname.startsWith(tab.path + \"/\")){\n objectTabId = tab.id;\n }\n data.nav.push({\n \"label\": showIcon ? {\n type: 'tpl',\n tpl: `<span class='fill-slate-500 word-break leading-6 block -ml-px no-underline group flex items-center text-[15px] rounded-md'><svg class=\"mr-1 flex-shrink-0 h-6 w-6\"><use xlink:href=\"/assets/icons/standard-sprite/svg/symbols.svg#${tab.icon || 'account'}\"></use></svg>${tab.name}</span>`\n } : tab.name,\n \"to\": tab.path,\n \"target\":tab.target,\n \"id\": tab.id,\n \"activeOn\": \"\\\\${tabId == '\"+ tab.id +\"'}\"\n // active: selectedId === tab.id,\n })\n })\n } else {\n data.nav.push({\n \"label\": groupName,\n \"unfolded\": _.find(tab_groups, {\"group_name\": groupName})?.default_open != false,\n \"children\": _.map(tabs, (tab) => {\n if(locationPathname == tab.path){\n customTabId = tab.id;\n }else if(locationPathname.startsWith(tab.path + \"/\")){\n objectTabId = tab.id;\n }\n return {\n \"label\": showIcon ? {\n type: 'tpl',\n tpl: `<span class='fill-slate-500 word-break leading-6 block -ml-px no-underline group flex items-center text-[15px] rounded-md'><svg class=\"mr-1 flex-shrink-0 h-6 w-6\"><use xlink:href=\"/assets/icons/standard-sprite/svg/symbols.svg#${tab.icon || 'account'}\"></use></svg>${tab.name}</span>`\n } : tab.name,\n \"to\": tab.path,\n \"target\":tab.target,\n \"id\": tab.id,\n \"activeOn\": \"\\\\${tabId == '\"+ tab.id +\"'}\"\n // active: selectedId === tab.id,\n }\n })\n }) \n }\n });\n }else{\n _.each(payload.children, (tab)=>{\n if(locationPathname == tab.path){\n customTabId = tab.id;\n }else if(locationPathname.startsWith(tab.path + \"/\")){\n objectTabId = tab.id;\n }\n data.nav.push({\n \"label\": showIcon ? {\n type: 'tpl',\n tpl: `<span class='fill-slate-500 word-break leading-6 block -ml-px no-underline group flex items-center text-[15px] rounded-md'><svg class=\"mr-1 flex-shrink-0 h-6 w-6\"><use xlink:href=\"/assets/icons/standard-sprite/svg/symbols.svg#${tab.icon || 'account'}\"></use></svg>${tab.name}</span>`\n } : tab.name,\n \"to\": tab.path,\n \"target\":tab.target,\n \"id\": tab.id,\n \"activeOn\": \"\\\\${tabId == '\"+ tab.id +\"'}\"\n // active: selectedId === tab.id,\n });\n })\n }\n\n payload.data = {\n \"type\":\"service\",\n \"data\":{\n \"tabId\": customTabId || objectTabId,\n \"items\": data.nav\n },\n \"id\": \"appMenuService\",\n \"body\":{\n \"type\": \"nav\",\n className: \"").concat(className, " text-black\",\n \"stacked\": ").concat(stacked, ",\n \"overflow\": ").concat(JSON.stringify(overflow), ",\n \"indentSize\": ").concat(indentSize, ",\n \"source\": \"${items}\",\n \"onEvent\": {\n \"click\": {\n \"actions\": [\n {\n \"actionType\": \"setValue\",\n \"componentId\": \"appMenuService\",\n \"args\": {\n \"value\": {\n \"tabId\": \"${event.data.item.id}\",\n \"items\": data.nav\n }\n },\n \"expression\":\"${event.data.item.id}\"\n }\n ]\n },\n \"@tabId.changed\":{\n \"actions\":[\n {\n \"actionType\": \"setValue\",\n \"componentId\": \"appMenuService\",\n \"args\": {\n \"value\": {\n \"tabId\": \"${event.data.tabId}\",\n \"items\": data.nav\n }\n },\n \"expression\":\"${event.data.tabId}\"\n }\n ]\n }\n }\n }\n };\n } catch (error) {\n console.log(`error`, error)\n }\n console.log('payload===2==>', payload)\n return payload;\n "),
|
|
18548
18668
|
"headers": {
|
|
18549
18669
|
"Authorization": "Bearer ${context.tenantId},${context.authToken}"
|
|
18550
18670
|
}
|