@steedos-widgets/sortable 1.3.4-beta.17 → 1.3.4-beta.19
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/assets.json +5 -5
- package/dist/sortable.cjs.js +117 -24
- package/dist/sortable.cjs.js.map +1 -1
- package/dist/sortable.esm.js +117 -24
- package/dist/sortable.esm.js.map +1 -1
- package/dist/sortable.umd.js +117 -24
- package/package.json +3 -3
- package/src/components/MultipleContainers.tsx +46 -16
package/dist/assets.json
CHANGED
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
{
|
|
4
4
|
"package": "@steedos-widgets/sortable",
|
|
5
5
|
"urls": [
|
|
6
|
-
"https://unpkg.com/@steedos-widgets/sortable@1.3.4-beta.
|
|
7
|
-
"https://unpkg.com/@steedos-widgets/sortable@1.3.4-beta.
|
|
6
|
+
"https://unpkg.com/@steedos-widgets/sortable@1.3.4-beta.19/dist/sortable.umd.js",
|
|
7
|
+
"https://unpkg.com/@steedos-widgets/sortable@1.3.4-beta.19/dist/sortable.umd.css"
|
|
8
8
|
],
|
|
9
9
|
"library": "BuilderSortable"
|
|
10
10
|
}
|
|
@@ -15,10 +15,10 @@
|
|
|
15
15
|
"npm": {
|
|
16
16
|
"package": "@steedos-widgets/sortable"
|
|
17
17
|
},
|
|
18
|
-
"url": "https://unpkg.com/@steedos-widgets/sortable@1.3.4-beta.
|
|
18
|
+
"url": "https://unpkg.com/@steedos-widgets/sortable@1.3.4-beta.19/dist/meta.js",
|
|
19
19
|
"urls": {
|
|
20
|
-
"default": "https://unpkg.com/@steedos-widgets/sortable@1.3.4-beta.
|
|
21
|
-
"design": "https://unpkg.com/@steedos-widgets/sortable@1.3.4-beta.
|
|
20
|
+
"default": "https://unpkg.com/@steedos-widgets/sortable@1.3.4-beta.19/dist/meta.js",
|
|
21
|
+
"design": "https://unpkg.com/@steedos-widgets/sortable@1.3.4-beta.19/dist/meta.js"
|
|
22
22
|
}
|
|
23
23
|
}
|
|
24
24
|
]
|
package/dist/sortable.cjs.js
CHANGED
|
@@ -55792,7 +55792,8 @@ const getCopyListviewButtonSchema = ()=>{
|
|
|
55792
55792
|
"&": "${list_view}",
|
|
55793
55793
|
"name":"",
|
|
55794
55794
|
"label": instance.t('frontend_listview_control_clone_defaultData_label_start') + " ${list_view.label} " + instance.t('frontend_listview_control_clone_defaultData_label_end'),
|
|
55795
|
-
"shared":false
|
|
55795
|
+
"shared":false,
|
|
55796
|
+
"object_name": "${targetObjectName}",
|
|
55796
55797
|
},
|
|
55797
55798
|
"fieldsExtend": fieldsExtend$3(),
|
|
55798
55799
|
"fields": fields(),
|
|
@@ -57500,7 +57501,9 @@ async function lookupToAmisPicker(field, readonly, ctx){
|
|
|
57500
57501
|
pickerSchema.headerToolbar = getObjectHeaderToolbar(refObjectConfig, fieldsArr, ctx.formFactor, { headerToolbarItems, isLookup: true, keywordsSearchBoxName });
|
|
57501
57502
|
const isAllowCreate = refObjectConfig.permissions.allowCreate;
|
|
57502
57503
|
const isCreate = lodash.exports.isBoolean(field.create) ? field.create : true;
|
|
57503
|
-
|
|
57504
|
+
// lookup字段配置过滤条件就强制不显示新建按钮
|
|
57505
|
+
let isHasFilters = (field.filters || field._filtersFunction) ? true : false;
|
|
57506
|
+
if (isAllowCreate && isCreate && !isHasFilters) {
|
|
57504
57507
|
const new_button = await getSchema$5(refObjectConfig, { appId: ctx.appId, objectName: refObjectConfig.name, formFactor: ctx.formFactor });
|
|
57505
57508
|
new_button.align = "right";
|
|
57506
57509
|
// 保持快速搜索放在最左侧,新建按钮往里插,而不是push到最后
|
|
@@ -57874,10 +57877,10 @@ async function lookupToAmis(field, readonly, ctx){
|
|
|
57874
57877
|
|
|
57875
57878
|
const refObject = await getUISchema(referenceTo.objectName);
|
|
57876
57879
|
|
|
57877
|
-
//
|
|
57878
|
-
|
|
57879
|
-
//
|
|
57880
|
-
if(
|
|
57880
|
+
// 优先取字段中配置的enable_enhanced_lookup,字段上没配置时,才从对象上取enable_enhanced_lookup属性
|
|
57881
|
+
let enableEnhancedLookup = lodash.exports.isBoolean(field.enable_enhanced_lookup) ? field.enable_enhanced_lookup : refObject.enable_enhanced_lookup;
|
|
57882
|
+
// 默认使用下拉框模式显示lookup选项,只能配置了enable_enhanced_lookup才使用弹出增强模式
|
|
57883
|
+
if(enableEnhancedLookup == true){
|
|
57881
57884
|
return await lookupToAmisPicker(field, readonly, ctx);
|
|
57882
57885
|
}else if(refObject.enable_tree) {
|
|
57883
57886
|
return await lookupToAmisTreeSelect(field, readonly, Object.assign({}, ctx, {
|
|
@@ -58190,8 +58193,8 @@ function getAmisStaticFieldType(type, readonly, options){
|
|
|
58190
58193
|
/*
|
|
58191
58194
|
* @Author: baozhoutao@steedos.com
|
|
58192
58195
|
* @Date: 2022-10-28 14:15:09
|
|
58193
|
-
* @LastEditors:
|
|
58194
|
-
* @LastEditTime:
|
|
58196
|
+
* @LastEditors: liaodaxue
|
|
58197
|
+
* @LastEditTime: 2023-10-30 17:51:54
|
|
58195
58198
|
* @Description:
|
|
58196
58199
|
*/
|
|
58197
58200
|
|
|
@@ -58242,11 +58245,26 @@ const getAmisFileEditSchema = (steedosField)=>{
|
|
|
58242
58245
|
useChunk: false, // 关闭分块上传
|
|
58243
58246
|
receiver: {
|
|
58244
58247
|
method: "post",
|
|
58248
|
+
dataType: "form-data",
|
|
58245
58249
|
url: `\${context.rootUrl}/s3/${tableName}`,
|
|
58246
|
-
|
|
58247
|
-
|
|
58248
|
-
|
|
58249
|
-
|
|
58250
|
+
requestAdaptor: `
|
|
58251
|
+
const { _master, global,context } = api.body;
|
|
58252
|
+
// const { recordId, objectName } = _master;
|
|
58253
|
+
const { spaceId, userId, user } = global;
|
|
58254
|
+
/*
|
|
58255
|
+
record_id: recordId,
|
|
58256
|
+
parent: recordId,
|
|
58257
|
+
object_name: objectName,
|
|
58258
|
+
owner_name: user.name,
|
|
58259
|
+
space: spaceId,
|
|
58260
|
+
owner: userId
|
|
58261
|
+
*/
|
|
58262
|
+
// 参考platform 2.2版本,附件字段保存时cfs.files.filerecord、cfs.images.filerecord表中的metadata下只保存space、owner两个属性值。
|
|
58263
|
+
api.data.append('space', spaceId);
|
|
58264
|
+
api.data.append('owner', userId);
|
|
58265
|
+
|
|
58266
|
+
return api;
|
|
58267
|
+
`,
|
|
58250
58268
|
adaptor: `
|
|
58251
58269
|
const { context } = api.body;
|
|
58252
58270
|
var rootUrl = context.rootUrl + "/api/files/${tableName}/";
|
|
@@ -58988,8 +59006,44 @@ var config = {
|
|
|
58988
59006
|
};
|
|
58989
59007
|
|
|
58990
59008
|
async function getQuickEditSchema(field, options){
|
|
59009
|
+
//判断在amis3.2以上环境下,放开批量编辑
|
|
59010
|
+
const isAmisVersionforBatchEdit = amisRequire('amis').version[0] >= 3 && amisRequire('amis').version[2] >= 2;
|
|
58991
59011
|
const quickEditId = options.objectName + "_" + field.name + "QuickEdit";//定义快速编辑的表单id,用于setvalue传值
|
|
58992
59012
|
var quickEditSchema = { body: [], id: quickEditId };
|
|
59013
|
+
//select,avatar,image,file等组件无法行记录字段赋值,暂不支持批量编辑;
|
|
59014
|
+
if(field.type != 'avatar' && field.type != 'image' && field.type != 'file' && isAmisVersionforBatchEdit){
|
|
59015
|
+
const submitEvent = {
|
|
59016
|
+
submit: {
|
|
59017
|
+
actions: [
|
|
59018
|
+
{
|
|
59019
|
+
actionType: "custom",
|
|
59020
|
+
script: `
|
|
59021
|
+
const items = event.data.items;
|
|
59022
|
+
const selectedItems = event.data.selectedItems;
|
|
59023
|
+
if(event.data.isBatchEdit){
|
|
59024
|
+
selectedItems.forEach(function(selectedItem){
|
|
59025
|
+
items[selectedItem._index-1]._display.${field.name} = event.data._display.${field.name};
|
|
59026
|
+
})
|
|
59027
|
+
doAction({actionType: 'setValue', "args": {"value": {items}},componentId: "${options.crudId}","dataMergeMode": "override"});
|
|
59028
|
+
selectedItems.forEach(function(selectedItem){
|
|
59029
|
+
doAction({actionType: 'setValue', "args": {"value": event.data.${field.name}},componentId: "${options.objectName + "_" + field.name + "_"}" + selectedItem._index});
|
|
59030
|
+
})
|
|
59031
|
+
}else{
|
|
59032
|
+
items[event.data._index-1]._display.${field.name} = event.data._display.${field.name};
|
|
59033
|
+
doAction({actionType: 'setValue', "args": {"value": {items}},componentId: "${options.crudId}","dataMergeMode": "override"});
|
|
59034
|
+
doAction({actionType: 'setValue', "args": {"value": event.data.${field.name}},componentId: "${options.objectName + "_" + field.name + "_"}" + event.data._index});
|
|
59035
|
+
}
|
|
59036
|
+
`
|
|
59037
|
+
},
|
|
59038
|
+
{
|
|
59039
|
+
"actionType": "closeDialog"
|
|
59040
|
+
}
|
|
59041
|
+
]
|
|
59042
|
+
}
|
|
59043
|
+
};
|
|
59044
|
+
quickEditSchema.onEvent = submitEvent;
|
|
59045
|
+
}
|
|
59046
|
+
|
|
58993
59047
|
if (field.disabled) {
|
|
58994
59048
|
quickEditSchema = false;
|
|
58995
59049
|
} else {
|
|
@@ -59223,6 +59277,14 @@ async function getQuickEditSchema(field, options){
|
|
|
59223
59277
|
}
|
|
59224
59278
|
|
|
59225
59279
|
});
|
|
59280
|
+
if(field.type != 'avatar' && field.type != 'image' && field.type != 'file' && isAmisVersionforBatchEdit){
|
|
59281
|
+
quickEditSchema.body.push({
|
|
59282
|
+
"name": "isBatchEdit",
|
|
59283
|
+
"type": "checkbox",
|
|
59284
|
+
"option": "更新${COUNT(selectedItems)}个选定记录",
|
|
59285
|
+
"visibleOn": "${ARRAYSOME(selectedItems, item => item._id === _id) && COUNT(selectedItems)>1}"
|
|
59286
|
+
});
|
|
59287
|
+
}
|
|
59226
59288
|
} else {
|
|
59227
59289
|
quickEditSchema = false;
|
|
59228
59290
|
}
|
|
@@ -59288,7 +59350,7 @@ async function getTableColumns(fields, options){
|
|
|
59288
59350
|
{
|
|
59289
59351
|
"args": {
|
|
59290
59352
|
"api": {
|
|
59291
|
-
"url": "${context.rootUrl
|
|
59353
|
+
"url": "${(versions[0] && versions[0].url) ? versions[0].url+'?download=true' : context.rootUrl+'/api/files/files/'+versions[0]+'?download=true'}",
|
|
59292
59354
|
"method": "get",
|
|
59293
59355
|
"headers": {
|
|
59294
59356
|
"Authorization": "Bearer ${context.tenantId},${context.authToken}"
|
|
@@ -59335,7 +59397,7 @@ async function getTableColumns(fields, options){
|
|
|
59335
59397
|
else if(field.type === 'select'){
|
|
59336
59398
|
const map = getSelectMap(field.options);
|
|
59337
59399
|
columnItem = Object.assign({}, {
|
|
59338
|
-
type: "mapping",
|
|
59400
|
+
type: "static-mapping",
|
|
59339
59401
|
name: field.name,
|
|
59340
59402
|
label: field.label,
|
|
59341
59403
|
map: map,
|
|
@@ -59350,7 +59412,7 @@ async function getTableColumns(fields, options){
|
|
|
59350
59412
|
const tpl = await getFieldTpl(field, options);
|
|
59351
59413
|
let type = 'text';
|
|
59352
59414
|
if(tpl){
|
|
59353
|
-
type = '
|
|
59415
|
+
type = 'static';
|
|
59354
59416
|
}else if(field.type === 'html'){
|
|
59355
59417
|
type = 'markdown';
|
|
59356
59418
|
}else if(field.type === 'url'){
|
|
@@ -59391,6 +59453,7 @@ async function getTableColumns(fields, options){
|
|
|
59391
59453
|
columnItem.quickEdit = quickEditSchema;
|
|
59392
59454
|
columnItem.quickEditEnabledOn = "${is_system !== true}";
|
|
59393
59455
|
}
|
|
59456
|
+
columnItem.id = `${options.objectName}_${field.name}_\${_index}`;
|
|
59394
59457
|
columns.push(columnItem);
|
|
59395
59458
|
}
|
|
59396
59459
|
}
|
|
@@ -59768,6 +59831,7 @@ async function getTableSchema$1(fields, options){
|
|
|
59768
59831
|
}
|
|
59769
59832
|
return {
|
|
59770
59833
|
mode: "cards",
|
|
59834
|
+
perPageAvailable: [5, 10, 20, 50, 100, 500],
|
|
59771
59835
|
name: "thelist",
|
|
59772
59836
|
headerToolbarClassName: "py-2 px-2 border-gray-300 border-solid border-b",
|
|
59773
59837
|
className: "",
|
|
@@ -59790,6 +59854,7 @@ async function getTableSchema$1(fields, options){
|
|
|
59790
59854
|
|
|
59791
59855
|
return {
|
|
59792
59856
|
mode: "table",
|
|
59857
|
+
perPageAvailable: [5, 10, 20, 50, 100, 500],
|
|
59793
59858
|
name: "thelist",
|
|
59794
59859
|
headerToolbarClassName: "py-2 px-2 border-gray-300 border-solid border-b",
|
|
59795
59860
|
className: "",
|
|
@@ -65328,6 +65393,10 @@ function MultipleContainers(props) {
|
|
|
65328
65393
|
};
|
|
65329
65394
|
}), 2), items = _w[0], setItems = _w[1];
|
|
65330
65395
|
var _x = __read(react.exports.useState(Object.keys(items)), 2), containers = _x[0], setContainers = _x[1];
|
|
65396
|
+
react.exports.useEffect(function () {
|
|
65397
|
+
setItems(value);
|
|
65398
|
+
setContainers(Object.keys(value));
|
|
65399
|
+
}, [value]);
|
|
65331
65400
|
var handleChange = function (newItems) { return __awaiter(_this, void 0, void 0, function () {
|
|
65332
65401
|
var value, rendererEvent;
|
|
65333
65402
|
return __generator(this, function (_a) {
|
|
@@ -65344,7 +65413,7 @@ function MultipleContainers(props) {
|
|
|
65344
65413
|
if (rendererEvent === null || rendererEvent === void 0 ? void 0 : rendererEvent.prevented) {
|
|
65345
65414
|
return [2 /*return*/];
|
|
65346
65415
|
}
|
|
65347
|
-
setTimeout(function () { return amisOnChange(value); },
|
|
65416
|
+
setTimeout(function () { return amisOnChange(value); }, 500);
|
|
65348
65417
|
return [2 /*return*/];
|
|
65349
65418
|
}
|
|
65350
65419
|
});
|
|
@@ -65447,6 +65516,7 @@ function MultipleContainers(props) {
|
|
|
65447
65516
|
var active = _a.active, over = _a.over;
|
|
65448
65517
|
var overId = over === null || over === void 0 ? void 0 : over.id;
|
|
65449
65518
|
if (overId == null || overId === TRASH_ID || active.id in items) {
|
|
65519
|
+
// 拖动的是分组则跳过后面的逻辑
|
|
65450
65520
|
return;
|
|
65451
65521
|
}
|
|
65452
65522
|
var overContainer = findContainer(overId);
|
|
@@ -65524,14 +65594,37 @@ function MultipleContainers(props) {
|
|
|
65524
65594
|
var overContainer = findContainer(overId);
|
|
65525
65595
|
var newItems = items;
|
|
65526
65596
|
if (overContainer) {
|
|
65527
|
-
|
|
65528
|
-
|
|
65529
|
-
|
|
65530
|
-
|
|
65531
|
-
|
|
65532
|
-
|
|
65533
|
-
|
|
65534
|
-
|
|
65597
|
+
if (activeContainer !== overContainer) {
|
|
65598
|
+
// 拖动变更分组之间的顺序时,activeContainer 与 overContainer 值不相等
|
|
65599
|
+
setTimeout(function () {
|
|
65600
|
+
var sortedGroups = over.data.current.sortable.items; //不加setTimeout的话,这里拿到的会是变更前的数据
|
|
65601
|
+
newItems = {};
|
|
65602
|
+
sortedGroups.forEach(function (groupKey) {
|
|
65603
|
+
newItems[groupKey] = items[groupKey];
|
|
65604
|
+
});
|
|
65605
|
+
delete newItems[TRASH_ID];
|
|
65606
|
+
delete newItems[PLACEHOLDER_ID];
|
|
65607
|
+
if (lodash.exports.keys(items).join(",") !== lodash.exports.keys(newItems).join(",")) {
|
|
65608
|
+
// 只有顺序发生变化时才触发change事件
|
|
65609
|
+
setItems(newItems);
|
|
65610
|
+
// console.log('拖动结束2,更新form value')
|
|
65611
|
+
handleChange(newItems);
|
|
65612
|
+
}
|
|
65613
|
+
setActiveId(null);
|
|
65614
|
+
}, 500);
|
|
65615
|
+
return;
|
|
65616
|
+
}
|
|
65617
|
+
else {
|
|
65618
|
+
// 同一个分组中字段顺序变更以及把一个字段从某个分组拖动到另一个分组内时,activeContainer 与 overContainer 值相等
|
|
65619
|
+
var activeIndex_1 = items[activeContainer].indexOf(active.id);
|
|
65620
|
+
var overIndex_1 = items[overContainer].indexOf(overId);
|
|
65621
|
+
if (activeIndex_1 !== overIndex_1) {
|
|
65622
|
+
setItems(function (items) {
|
|
65623
|
+
var _a;
|
|
65624
|
+
newItems = __assign$1(__assign$1({}, items), (_a = {}, _a[overContainer] = arrayMove(items[overContainer], activeIndex_1, overIndex_1), _a));
|
|
65625
|
+
return newItems;
|
|
65626
|
+
});
|
|
65627
|
+
}
|
|
65535
65628
|
}
|
|
65536
65629
|
}
|
|
65537
65630
|
setActiveId(null);
|