@steedos-widgets/amis-lib 6.3.12-beta.10 → 6.3.12-beta.11

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/index.esm.js CHANGED
@@ -6144,11 +6144,30 @@ async function getObjectFieldsFilterBarSchema(objectSchema, ctx) {
6144
6144
  const filterFormSchema = await getObjectFieldsFilterFormSchema(ctx);
6145
6145
  const keywordsSearchBoxName = ctx.keywordsSearchBoxName || "__keywords";
6146
6146
  const onSearchScript = `
6147
- // console.log("===onSearchScript=form==");
6147
+ let isLookup = event.data.isLookup;
6148
+ let __lookupField = event.data.__lookupField;
6148
6149
  const scope = event.context.scoped;
6150
+ let crud = SteedosUI.getClosestAmisComponentByType(scope, "crud");
6149
6151
  var filterForm = scope.parent.parent.getComponents().find(function(n){
6150
6152
  return n.props.type === "form";
6151
6153
  });
6154
+ // 使用filterForm.getValues()的话,并不能拿到本地存储中的过滤条件,所以需要从event.data中取,因为本地存储中的过滤条件自动填充到表单上时filterForm.getValues()拿不到。
6155
+ let filterFormValues = event.data;
6156
+ // 同步__changedFilterFormValues中的值
6157
+ // crud && crud.setData({__changedFilterFormValues: {}});
6158
+ let __changedFilterFormValuesKey = "__changedFilterFormValues";
6159
+ if(isLookup && __lookupField){
6160
+ let lookupTag = "__lookup__" + __lookupField.name + "__" + __lookupField.reference_to;
6161
+ if(__lookupField.reference_to_field){
6162
+ lookupTag += "__" + __lookupField.reference_to_field;
6163
+ }
6164
+ __changedFilterFormValuesKey += lookupTag;
6165
+ }
6166
+ if(crud){
6167
+ let crudData = crud.getData();
6168
+ crudData[__changedFilterFormValuesKey] = filterFormValues;
6169
+ crud.setData(crudData);
6170
+ }
6152
6171
  filterForm.handleFormSubmit(event);
6153
6172
  // var filterFormValues = filterForm.getValues();
6154
6173
  // var listView = scope.parent.parent.parent.getComponents().find(function(n){
@@ -6197,10 +6216,7 @@ async function getObjectFieldsFilterBarSchema(objectSchema, ctx) {
6197
6216
  }
6198
6217
  filterService.setData({showFieldsFilter});
6199
6218
  // resizeWindow();//已迁移到搜索栏表单提交事件中执行,因为表单项change后也会触发表单提交了
6200
- // 使用filterForm.getValues()的话,并不能拿到本地存储中的过滤条件,所以需要从event.data中取。
6201
- let filterFormValues = event.data;
6202
6219
  let isFieldsFilterEmpty = SteedosUI.isFilterFormValuesEmpty(filterFormValues);
6203
- let crud = SteedosUI.getClosestAmisComponentByType(scope, "crud");
6204
6220
  let crudService = crud && SteedosUI.getClosestAmisComponentByType(crud.context, "service");
6205
6221
  crudService && crudService.setData({isFieldsFilterEmpty, showFieldsFilter});
6206
6222
  `;
@@ -7586,7 +7602,7 @@ async function getObjectListHeaderFieldsFilterBar(objectSchema, listViewName, ct
7586
7602
  * @param {*} objectSchema 对象UISchema
7587
7603
  * @returns amisSchema
7588
7604
  */
7589
- function getObjectListHeader$1(objectSchema, listViewName, ctx) {
7605
+ function getObjectListHeader(objectSchema, listViewName, ctx) {
7590
7606
  if (!ctx) {
7591
7607
  ctx = {};
7592
7608
  }
@@ -10003,8 +10019,8 @@ const getRecordPermissions = async (objectName, recordId)=>{
10003
10019
  /*
10004
10020
  * @Author: baozhoutao@steedos.com
10005
10021
  * @Date: 2022-07-05 15:55:39
10006
- * @LastEditors: baozhoutao@steedos.com
10007
- * @LastEditTime: 2024-02-18 14:46:50
10022
+ * @LastEditors: 殷亮辉 yinlianghui@hotoa.com
10023
+ * @LastEditTime: 2025-01-08 13:32:51
10008
10024
  * @Description:
10009
10025
  */
10010
10026
 
@@ -10078,7 +10094,7 @@ async function getObjectRelatedList(
10078
10094
 
10079
10095
  // 获取单个相关表
10080
10096
  async function getRecordDetailRelatedListSchema(objectName, recordId, relatedObjectName, relatedKey, ctx){
10081
- let { top, perPage, appId, relatedLabel, className, columns, sort, filters, visible_on } = ctx;
10097
+ let { top, perPage, appId, relatedLabel, className, columns, sort, filters, visible_on, enableHeaderToolbar } = ctx;
10082
10098
  // console.log('getRecordDetailRelatedListSchema==>',objectName,recordId,relatedObjectName)
10083
10099
  const relatedObjectUiSchema = await getUISchema(relatedObjectName);
10084
10100
  if(!relatedObjectUiSchema){
@@ -10143,6 +10159,10 @@ async function getRecordDetailRelatedListSchema(objectName, recordId, relatedObj
10143
10159
  let headerToolbar = [];
10144
10160
  if(!isMobile){
10145
10161
  headerToolbar.push("bulkActions");
10162
+ if (enableHeaderToolbar) {
10163
+ // 通过 enableHeaderToolbar = true 可以控制是否显示内置的带过滤器的headerToolbar
10164
+ headerToolbar = undefined;
10165
+ }
10146
10166
  }
10147
10167
  const options = {
10148
10168
  globalFilter,
@@ -10181,7 +10201,7 @@ async function getRecordDetailRelatedListSchema(objectName, recordId, relatedObj
10181
10201
  amisSchema: {
10182
10202
  type: "service",
10183
10203
  id: componentId,
10184
- className: `steedos-record-related-list mb-4 last:mb-0 ${componentId} ${className}`,
10204
+ className: `steedos-record-related-list mb-4 last:mb-0 ${componentId} ${className} ${enableHeaderToolbar ? 'enable-header-toolbar' : ''}`,
10185
10205
  data: {
10186
10206
  relatedKey: relatedKey,
10187
10207
  listViewId: `amis-\${appId}-${relatedObjectName}-listview`,
@@ -10283,6 +10303,7 @@ async function getRelatedListSchema(
10283
10303
  listViewName,
10284
10304
  ctx
10285
10305
  ) {
10306
+ const { enableHeaderToolbar } = ctx;
10286
10307
  const uiSchema = await getUISchema(objectName);
10287
10308
  if(!uiSchema){
10288
10309
  return {}
@@ -10335,10 +10356,14 @@ async function getRelatedListSchema(
10335
10356
  delete ctx.filters;
10336
10357
 
10337
10358
  delete ctx.globalFilter;
10359
+ delete ctx.enableHeaderToolbar;
10338
10360
 
10339
10361
  const adaptor = `
10340
10362
  try{
10341
10363
  if(setDataToComponentId){
10364
+ // 子表列表在headerToolbar过滤器中设置过过滤条件的话,始终显示子表列表,无论是否查询到数据
10365
+ // 改为使用css样式控制子表列表放开headerToolbar时,始终显示crud,只隐藏crud内部的表格,从而始终显示headerToolbar不受这里逻辑影响
10366
+ // var headerToolbarFilterChanged = context.isFieldsFilterEmpty === false;
10342
10367
  if(payload.data.count){
10343
10368
  setTimeout(function(){
10344
10369
  // 设计器中获取不到window.$从而导致报错, 所以用纯js替换下。
@@ -10361,7 +10386,7 @@ async function getRelatedListSchema(
10361
10386
  "filters": listviewFilter,
10362
10387
  "filtersFunction": filtersFunction,
10363
10388
  "sort": listViewSort,
10364
- "filterVisible": false,
10389
+ "filterVisible": !!enableHeaderToolbar,
10365
10390
  "requestAdaptor": ctx.requestAdaptor,
10366
10391
  "adaptor": adaptor + ctx.adaptor || '',
10367
10392
  "ctx": ctx,
@@ -16012,7 +16037,7 @@ async function getListviewInitSchema(objectApiName, listViewName, ctx) {
16012
16037
  const defaults = ctx.defaults || {};
16013
16038
  if(!defaults.headerSchema){
16014
16039
  //传入isListviewInit是区别于对象列表类型的微页面,即getListPageInitSchema函数中该属性为false
16015
- const headerSchema = await getObjectListHeader$1(uiSchema, listViewName, {
16040
+ const headerSchema = await getObjectListHeader(uiSchema, listViewName, {
16016
16041
  onlySecordLine: true,
16017
16042
  isListviewInit: true
16018
16043
  });
@@ -18495,5 +18520,5 @@ const getInstanceInfo = async ({ instanceId, box }) => {
18495
18520
  };
18496
18521
  };
18497
18522
 
18498
- export { index as Field, Router, absoluteUrl, amisRender, amisRootClick, cloneObject, conditionsToFilters, createObject, defaultsDeep, deleteVariable, execute, executeButton, extendObject, fetchAPI, filtersToConditions, getAmisInputTableSchema, getApp, getApps, getAuthToken, getAuthorization, getButton, getButtonVisible, getButtonVisibleOn, getButtons, getCalendarSchema, getCreatedInfoTpl, getDateTimeTpl, getDateTpl, getDefaultRenderData, getEnv, getEnvs, getEvn, getField, getFieldTpl, getFileSrc, getFlowFormSchema, getFormPageInitSchema, getFormSchema, getGlobalNowData, getIdsPickerSchema, getImageSrc, getInstanceInfo, getListPageInitSchema, getListSchema, getListViewButtons, getListViewColumns, getListViewFilter, getListViewItemButtons, getListViewSort, getListviewInitSchema, getLocationTpl, getLookupSapceUserTreeSchema, getLookupTpl, getModifiedInfoTpl, getNameTpl, getNameTplUrl, getNotifications, getNumberTpl, getObjectDetailButtons, getObjectDetailButtonsSchemas, getObjectDetailMoreButtons, getObjectFieldsFilterBarSchema, getObjectFieldsFilterButtonSchema, getObjectFieldsFilterFormSchema, getObjectListHeader$1 as getObjectListHeader, getObjectListHeaderFieldsFilterBar, getObjectListHeaderFirstLine, getObjectListHeaderSecordLine, getObjectListViewButtonsSchemas, getObjectRecordDetailHeader, getObjectRecordDetailRelatedListButtonsSchemas, getObjectRecordDetailRelatedListHeader, getObjectRelated, getObjectRelatedList, getObjectRelatedListButtons, getObjectRelatedListHeader, getObjectRelatedListsMiniSchema, getPage, getPasswordTpl, getRecord, getRecordDetailHeaderSchema, getRecordDetailMiniSchema, getRecordDetailRelatedListSchema, getRecordDetailSchema, getRecordPageInitSchema, getRecordPermissions, getRecordServiceSchema, getRefObjectNameFieldName, getReferenceTo, getReferenceToFieldSchema, getReferenceToSync, getRelatedFieldTpl, getRelatedFieldValue, getRelatedListSchema, getRelatedsCount, getRootUrl, getSelectMap, getSelectTpl, getSelectUserSchema, getSpaceUsersPickerAmisSchema, getSpaceUsersPickerSchema, getSteedosAuth, getSwitchTpl, getTableSchema, getTenantId, getTimeTpl, getUISchema, getUISchemaSync$1 as getUISchemaSync, getUiFieldTpl, getUiFileSizeTpl, getUserId, getViewSchema, isExpression, isObject, lookupToAmis, lookupToAmisIdsPicker, lookupToAmisPicker, lookupToAmisSelect, lookupToAmisSelectUser, markReadAll, parseSingleExpression, registerRemoteAssets, registerRenders, setEnv, setEnvs, setRootUrl, setSteedosAuth, setUISchemaFunction, setVariable, standardButtonsTodo, uuidv4 };
18523
+ export { index as Field, Router, absoluteUrl, amisRender, amisRootClick, cloneObject, conditionsToFilters, createObject, defaultsDeep, deleteVariable, execute, executeButton, extendObject, fetchAPI, filtersToConditions, getAmisInputTableSchema, getApp, getApps, getAuthToken, getAuthorization, getButton, getButtonVisible, getButtonVisibleOn, getButtons, getCalendarSchema, getCreatedInfoTpl, getDateTimeTpl, getDateTpl, getDefaultRenderData, getEnv, getEnvs, getEvn, getField, getFieldTpl, getFileSrc, getFlowFormSchema, getFormPageInitSchema, getFormSchema, getGlobalNowData, getIdsPickerSchema, getImageSrc, getInstanceInfo, getListPageInitSchema, getListSchema, getListViewButtons, getListViewColumns, getListViewFilter, getListViewItemButtons, getListViewSort, getListviewInitSchema, getLocationTpl, getLookupSapceUserTreeSchema, getLookupTpl, getModifiedInfoTpl, getNameTpl, getNameTplUrl, getNotifications, getNumberTpl, getObjectDetailButtons, getObjectDetailButtonsSchemas, getObjectDetailMoreButtons, getObjectFieldsFilterBarSchema, getObjectFieldsFilterButtonSchema, getObjectFieldsFilterFormSchema, getObjectListHeader, getObjectListHeaderFieldsFilterBar, getObjectListHeaderFirstLine, getObjectListHeaderSecordLine, getObjectListViewButtonsSchemas, getObjectRecordDetailHeader, getObjectRecordDetailRelatedListButtonsSchemas, getObjectRecordDetailRelatedListHeader, getObjectRelated, getObjectRelatedList, getObjectRelatedListButtons, getObjectRelatedListHeader, getObjectRelatedListsMiniSchema, getPage, getPasswordTpl, getRecord, getRecordDetailHeaderSchema, getRecordDetailMiniSchema, getRecordDetailRelatedListSchema, getRecordDetailSchema, getRecordPageInitSchema, getRecordPermissions, getRecordServiceSchema, getRefObjectNameFieldName, getReferenceTo, getReferenceToFieldSchema, getReferenceToSync, getRelatedFieldTpl, getRelatedFieldValue, getRelatedListSchema, getRelatedsCount, getRootUrl, getSelectMap, getSelectTpl, getSelectUserSchema, getSpaceUsersPickerAmisSchema, getSpaceUsersPickerSchema, getSteedosAuth, getSwitchTpl, getTableSchema, getTenantId, getTimeTpl, getUISchema, getUISchemaSync$1 as getUISchemaSync, getUiFieldTpl, getUiFileSizeTpl, getUserId, getViewSchema, isExpression, isObject, lookupToAmis, lookupToAmisIdsPicker, lookupToAmisPicker, lookupToAmisSelect, lookupToAmisSelectUser, markReadAll, parseSingleExpression, registerRemoteAssets, registerRenders, setEnv, setEnvs, setRootUrl, setSteedosAuth, setUISchemaFunction, setVariable, standardButtonsTodo, uuidv4 };
18499
18524
  //# sourceMappingURL=index.esm.js.map