@steedos-widgets/amis-lib 6.3.12-beta.1 → 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
@@ -4809,7 +4809,7 @@ const parseSingleExpression = function (func, formData, dataPath, global, userSe
4809
4809
  * @Author: baozhoutao@steedos.com
4810
4810
  * @Date: 2022-11-01 15:51:00
4811
4811
  * @LastEditors: baozhoutao@steedos.com
4812
- * @LastEditTime: 2024-02-18 18:37:35
4812
+ * @LastEditTime: 2024-12-26 20:28:43
4813
4813
  * @Description:
4814
4814
  */
4815
4815
 
@@ -4969,20 +4969,23 @@ const getSchema$5 = async (uiSchema, ctx) => {
4969
4969
  {
4970
4970
  type: 'button',
4971
4971
  actionType: 'cancel',
4972
- label: i18next.t('frontend_form_cancel')
4972
+ label: i18next.t('frontend_form_cancel'),
4973
+ className: 'form-btn-cancel'
4973
4974
  },
4974
4975
  {
4975
4976
  type: 'button',
4976
4977
  label: i18next.t('frontend_form_save_and_new'),
4977
4978
  actionType: 'confirm',
4978
4979
  close: false,
4979
- id: "confirmAndNew"
4980
+ id: "confirmAndNew",
4981
+ className: 'form-btn-save_and_new'
4980
4982
  },
4981
4983
  {
4982
4984
  type: 'button',
4983
4985
  actionType: 'confirm',
4984
4986
  label: i18next.t('frontend_form_save'),
4985
- primary: true
4987
+ primary: true,
4988
+ className: 'form-btn-save'
4986
4989
  },
4987
4990
  ]
4988
4991
  }
@@ -6141,11 +6144,30 @@ async function getObjectFieldsFilterBarSchema(objectSchema, ctx) {
6141
6144
  const filterFormSchema = await getObjectFieldsFilterFormSchema(ctx);
6142
6145
  const keywordsSearchBoxName = ctx.keywordsSearchBoxName || "__keywords";
6143
6146
  const onSearchScript = `
6144
- // console.log("===onSearchScript=form==");
6147
+ let isLookup = event.data.isLookup;
6148
+ let __lookupField = event.data.__lookupField;
6145
6149
  const scope = event.context.scoped;
6150
+ let crud = SteedosUI.getClosestAmisComponentByType(scope, "crud");
6146
6151
  var filterForm = scope.parent.parent.getComponents().find(function(n){
6147
6152
  return n.props.type === "form";
6148
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
+ }
6149
6171
  filterForm.handleFormSubmit(event);
6150
6172
  // var filterFormValues = filterForm.getValues();
6151
6173
  // var listView = scope.parent.parent.parent.getComponents().find(function(n){
@@ -6194,10 +6216,7 @@ async function getObjectFieldsFilterBarSchema(objectSchema, ctx) {
6194
6216
  }
6195
6217
  filterService.setData({showFieldsFilter});
6196
6218
  // resizeWindow();//已迁移到搜索栏表单提交事件中执行,因为表单项change后也会触发表单提交了
6197
- // 使用filterForm.getValues()的话,并不能拿到本地存储中的过滤条件,所以需要从event.data中取。
6198
- let filterFormValues = event.data;
6199
6219
  let isFieldsFilterEmpty = SteedosUI.isFilterFormValuesEmpty(filterFormValues);
6200
- let crud = SteedosUI.getClosestAmisComponentByType(scope, "crud");
6201
6220
  let crudService = crud && SteedosUI.getClosestAmisComponentByType(crud.context, "service");
6202
6221
  crudService && crudService.setData({isFieldsFilterEmpty, showFieldsFilter});
6203
6222
  `;
@@ -7583,7 +7602,7 @@ async function getObjectListHeaderFieldsFilterBar(objectSchema, listViewName, ct
7583
7602
  * @param {*} objectSchema 对象UISchema
7584
7603
  * @returns amisSchema
7585
7604
  */
7586
- function getObjectListHeader$1(objectSchema, listViewName, ctx) {
7605
+ function getObjectListHeader(objectSchema, listViewName, ctx) {
7587
7606
  if (!ctx) {
7588
7607
  ctx = {};
7589
7608
  }
@@ -10000,8 +10019,8 @@ const getRecordPermissions = async (objectName, recordId)=>{
10000
10019
  /*
10001
10020
  * @Author: baozhoutao@steedos.com
10002
10021
  * @Date: 2022-07-05 15:55:39
10003
- * @LastEditors: baozhoutao@steedos.com
10004
- * @LastEditTime: 2024-02-18 14:46:50
10022
+ * @LastEditors: 殷亮辉 yinlianghui@hotoa.com
10023
+ * @LastEditTime: 2025-01-08 13:32:51
10005
10024
  * @Description:
10006
10025
  */
10007
10026
 
@@ -10075,7 +10094,7 @@ async function getObjectRelatedList(
10075
10094
 
10076
10095
  // 获取单个相关表
10077
10096
  async function getRecordDetailRelatedListSchema(objectName, recordId, relatedObjectName, relatedKey, ctx){
10078
- 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;
10079
10098
  // console.log('getRecordDetailRelatedListSchema==>',objectName,recordId,relatedObjectName)
10080
10099
  const relatedObjectUiSchema = await getUISchema(relatedObjectName);
10081
10100
  if(!relatedObjectUiSchema){
@@ -10140,6 +10159,10 @@ async function getRecordDetailRelatedListSchema(objectName, recordId, relatedObj
10140
10159
  let headerToolbar = [];
10141
10160
  if(!isMobile){
10142
10161
  headerToolbar.push("bulkActions");
10162
+ if (enableHeaderToolbar) {
10163
+ // 通过 enableHeaderToolbar = true 可以控制是否显示内置的带过滤器的headerToolbar
10164
+ headerToolbar = undefined;
10165
+ }
10143
10166
  }
10144
10167
  const options = {
10145
10168
  globalFilter,
@@ -10178,7 +10201,7 @@ async function getRecordDetailRelatedListSchema(objectName, recordId, relatedObj
10178
10201
  amisSchema: {
10179
10202
  type: "service",
10180
10203
  id: componentId,
10181
- 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' : ''}`,
10182
10205
  data: {
10183
10206
  relatedKey: relatedKey,
10184
10207
  listViewId: `amis-\${appId}-${relatedObjectName}-listview`,
@@ -10280,6 +10303,7 @@ async function getRelatedListSchema(
10280
10303
  listViewName,
10281
10304
  ctx
10282
10305
  ) {
10306
+ const { enableHeaderToolbar } = ctx;
10283
10307
  const uiSchema = await getUISchema(objectName);
10284
10308
  if(!uiSchema){
10285
10309
  return {}
@@ -10332,10 +10356,14 @@ async function getRelatedListSchema(
10332
10356
  delete ctx.filters;
10333
10357
 
10334
10358
  delete ctx.globalFilter;
10359
+ delete ctx.enableHeaderToolbar;
10335
10360
 
10336
10361
  const adaptor = `
10337
10362
  try{
10338
10363
  if(setDataToComponentId){
10364
+ // 子表列表在headerToolbar过滤器中设置过过滤条件的话,始终显示子表列表,无论是否查询到数据
10365
+ // 改为使用css样式控制子表列表放开headerToolbar时,始终显示crud,只隐藏crud内部的表格,从而始终显示headerToolbar不受这里逻辑影响
10366
+ // var headerToolbarFilterChanged = context.isFieldsFilterEmpty === false;
10339
10367
  if(payload.data.count){
10340
10368
  setTimeout(function(){
10341
10369
  // 设计器中获取不到window.$从而导致报错, 所以用纯js替换下。
@@ -10358,7 +10386,7 @@ async function getRelatedListSchema(
10358
10386
  "filters": listviewFilter,
10359
10387
  "filtersFunction": filtersFunction,
10360
10388
  "sort": listViewSort,
10361
- "filterVisible": false,
10389
+ "filterVisible": !!enableHeaderToolbar,
10362
10390
  "requestAdaptor": ctx.requestAdaptor,
10363
10391
  "adaptor": adaptor + ctx.adaptor || '',
10364
10392
  "ctx": ctx,
@@ -16009,7 +16037,7 @@ async function getListviewInitSchema(objectApiName, listViewName, ctx) {
16009
16037
  const defaults = ctx.defaults || {};
16010
16038
  if(!defaults.headerSchema){
16011
16039
  //传入isListviewInit是区别于对象列表类型的微页面,即getListPageInitSchema函数中该属性为false
16012
- const headerSchema = await getObjectListHeader$1(uiSchema, listViewName, {
16040
+ const headerSchema = await getObjectListHeader(uiSchema, listViewName, {
16013
16041
  onlySecordLine: true,
16014
16042
  isListviewInit: true
16015
16043
  });
@@ -18492,5 +18520,5 @@ const getInstanceInfo = async ({ instanceId, box }) => {
18492
18520
  };
18493
18521
  };
18494
18522
 
18495
- 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 };
18496
18524
  //# sourceMappingURL=index.esm.js.map