amis 1.9.1-beta.12 → 1.9.1-beta.18

Sign up to get free protection for your applications and to get access to all the features.
Files changed (133) hide show
  1. package/README.md +1 -1
  2. package/lib/components/Select.js +2 -2
  3. package/lib/components/Select.js.map +2 -2
  4. package/lib/components/formula/Editor.d.ts +44 -40
  5. package/lib/components/formula/Editor.js +16 -5
  6. package/lib/components/formula/Editor.js.map +2 -2
  7. package/lib/components/formula/Picker.d.ts +88 -41
  8. package/lib/components/formula/Picker.js +50 -24
  9. package/lib/components/formula/Picker.js.map +2 -2
  10. package/lib/components/table/HeadCellFilter.js +4 -1
  11. package/lib/components/table/HeadCellFilter.js.map +2 -2
  12. package/lib/components/table/HeadCellSort.js +30 -24
  13. package/lib/components/table/HeadCellSort.js.map +2 -2
  14. package/lib/components/table/index.d.ts +6 -3
  15. package/lib/components/table/index.js +72 -86
  16. package/lib/components/table/index.js.map +2 -2
  17. package/lib/index.js +1 -1
  18. package/lib/locale/zh-CN.js +1 -1
  19. package/lib/locale/zh-CN.js.map +2 -2
  20. package/lib/renderers/Action.d.ts +21 -4
  21. package/lib/renderers/Action.js +44 -20
  22. package/lib/renderers/Action.js.map +2 -2
  23. package/lib/renderers/Breadcrumb.js +2 -2
  24. package/lib/renderers/Breadcrumb.js.map +2 -2
  25. package/lib/renderers/CRUD.js +3 -0
  26. package/lib/renderers/CRUD.js.map +2 -2
  27. package/lib/renderers/Form/InputFormula.d.ts +6 -2
  28. package/lib/renderers/Form/InputFormula.js +4 -3
  29. package/lib/renderers/Form/InputFormula.js.map +2 -2
  30. package/lib/renderers/Form/InputTree.d.ts +4 -0
  31. package/lib/renderers/Form/InputTree.js +2 -2
  32. package/lib/renderers/Form/InputTree.js.map +2 -2
  33. package/lib/renderers/Form/Picker.d.ts +1 -1
  34. package/lib/renderers/Form/Picker.js +38 -23
  35. package/lib/renderers/Form/Picker.js.map +2 -2
  36. package/lib/renderers/Form/wrapControl.js +10 -10
  37. package/lib/renderers/Form/wrapControl.js.map +2 -2
  38. package/lib/renderers/Service.js +0 -1
  39. package/lib/renderers/Service.js.map +2 -2
  40. package/lib/renderers/Steps.d.ts +2 -2
  41. package/lib/renderers/Steps.js +1 -1
  42. package/lib/renderers/Steps.js.map +2 -2
  43. package/lib/renderers/Table/index.js +2 -1
  44. package/lib/renderers/Table/index.js.map +2 -2
  45. package/lib/renderers/Table-v2/HeadCellSearchDropdown.d.ts +1 -1
  46. package/lib/renderers/Table-v2/HeadCellSearchDropdown.js +38 -24
  47. package/lib/renderers/Table-v2/HeadCellSearchDropdown.js.map +2 -2
  48. package/lib/renderers/Table-v2/index.d.ts +10 -4
  49. package/lib/renderers/Table-v2/index.js +109 -58
  50. package/lib/renderers/Table-v2/index.js.map +2 -2
  51. package/lib/renderers/Tabs.d.ts +6 -2
  52. package/lib/renderers/Tabs.js +21 -0
  53. package/lib/renderers/Tabs.js.map +2 -2
  54. package/lib/store/table-v2.d.ts +210 -4
  55. package/lib/store/table-v2.js +82 -5
  56. package/lib/store/table-v2.js.map +2 -2
  57. package/lib/themes/ang-ie11.css +59 -17
  58. package/lib/themes/ang.css +54 -12
  59. package/lib/themes/ang.css.map +1 -1
  60. package/lib/themes/antd-ie11.css +59 -17
  61. package/lib/themes/antd.css +54 -12
  62. package/lib/themes/antd.css.map +1 -1
  63. package/lib/themes/cxd-ie11.css +210 -168
  64. package/lib/themes/cxd.css +55 -13
  65. package/lib/themes/cxd.css.map +1 -1
  66. package/lib/themes/dark-ie11.css +59 -17
  67. package/lib/themes/dark.css +54 -12
  68. package/lib/themes/dark.css.map +1 -1
  69. package/lib/themes/default-ie11.css +210 -168
  70. package/lib/themes/default.css +55 -13
  71. package/lib/themes/default.css.map +1 -1
  72. package/lib/types.d.ts +1 -1
  73. package/lib/types.js.map +1 -1
  74. package/lib/utils/formula.js +4 -3
  75. package/lib/utils/formula.js.map +2 -2
  76. package/package.json +2 -2
  77. package/schema.json +22 -14
  78. package/scss/components/_formula.scss +45 -4
  79. package/scss/components/_modal.scss +1 -1
  80. package/scss/components/form/_checks.scss +47 -44
  81. package/scss/components/form/_icon-picker.scss +10 -6
  82. package/scss/components/form/_select.scss +3 -2
  83. package/scss/components/form/_switch.scss +1 -0
  84. package/scss/components/form/_text.scss +2 -0
  85. package/scss/themes/_cxd-variables.scss +1 -1
  86. package/sdk/ang-ie11.css +66 -17
  87. package/sdk/ang.css +61 -12
  88. package/sdk/antd-ie11.css +66 -17
  89. package/sdk/antd.css +61 -12
  90. package/sdk/barcode.js +51 -51
  91. package/sdk/charts.js +14 -14
  92. package/sdk/codemirror.js +7 -7
  93. package/sdk/color-picker.js +65 -65
  94. package/sdk/cropperjs.js +2 -2
  95. package/sdk/cxd-ie11.css +217 -168
  96. package/sdk/cxd.css +62 -13
  97. package/sdk/dark-ie11.css +66 -17
  98. package/sdk/dark.css +61 -12
  99. package/sdk/exceljs.js +1 -1
  100. package/sdk/markdown.js +69 -69
  101. package/sdk/papaparse.js +1 -1
  102. package/sdk/renderers/Form/CityDB.js +1 -1
  103. package/sdk/rest.js +16 -16
  104. package/sdk/rich-text.js +62 -62
  105. package/sdk/sdk-ie11.css +217 -168
  106. package/sdk/sdk.css +62 -13
  107. package/sdk/sdk.js +1342 -1338
  108. package/sdk/thirds/hls.js/hls.js +1 -1
  109. package/sdk/thirds/mpegts.js/mpegts.js +1 -1
  110. package/sdk/tinymce.js +57 -57
  111. package/src/components/Select.tsx +3 -6
  112. package/src/components/formula/Editor.tsx +51 -23
  113. package/src/components/formula/Picker.tsx +68 -12
  114. package/src/components/table/HeadCellFilter.tsx +4 -1
  115. package/src/components/table/HeadCellSort.tsx +1 -1
  116. package/src/components/table/index.tsx +66 -90
  117. package/src/locale/zh-CN.ts +1 -1
  118. package/src/renderers/Action.tsx +64 -19
  119. package/src/renderers/Breadcrumb.tsx +11 -12
  120. package/src/renderers/CRUD.tsx +2 -0
  121. package/src/renderers/Form/InputFormula.tsx +11 -3
  122. package/src/renderers/Form/InputTree.tsx +7 -0
  123. package/src/renderers/Form/Picker.tsx +11 -1
  124. package/src/renderers/Form/wrapControl.tsx +10 -10
  125. package/src/renderers/Service.tsx +0 -1
  126. package/src/renderers/Steps.tsx +5 -5
  127. package/src/renderers/Table/index.tsx +9 -7
  128. package/src/renderers/Table-v2/HeadCellSearchDropdown.tsx +14 -9
  129. package/src/renderers/Table-v2/index.tsx +130 -58
  130. package/src/renderers/Tabs.tsx +33 -3
  131. package/src/store/table-v2.ts +104 -7
  132. package/src/types.ts +2 -1
  133. package/src/utils/formula.ts +5 -3
package/lib/types.d.ts CHANGED
@@ -75,7 +75,7 @@ export interface Definitions {
75
75
  [propName: string]: SchemaNode;
76
76
  }
77
77
  export interface Action extends Button {
78
- actionType?: 'submit' | 'copy' | 'reload' | 'ajax' | 'saveAs' | 'dialog' | 'drawer' | 'jump' | 'link' | 'url' | 'email' | 'close' | 'confirm' | 'add' | 'remove' | 'delete' | 'edit' | 'cancel' | 'next' | 'prev' | 'reset' | 'validate' | 'reset-and-submit' | 'clear' | 'clear-and-submit' | 'toast' | 'goto-step' | 'goto-image' | 'expand' | 'collapse' | 'step-submit' | 'selectAll' | 'changeTabKey';
78
+ actionType?: 'submit' | 'copy' | 'reload' | 'ajax' | 'saveAs' | 'dialog' | 'drawer' | 'jump' | 'link' | 'url' | 'email' | 'close' | 'confirm' | 'add' | 'remove' | 'delete' | 'edit' | 'cancel' | 'next' | 'prev' | 'reset' | 'validate' | 'reset-and-submit' | 'clear' | 'clear-and-submit' | 'toast' | 'goto-step' | 'goto-image' | 'expand' | 'collapse' | 'step-submit' | 'selectAll' | 'changeTabKey' | 'click';
79
79
  api?: Api;
80
80
  asyncApi?: Api;
81
81
  payload?: any;
package/lib/types.js.map CHANGED
@@ -8,6 +8,6 @@
8
8
  "names": [],
9
9
  "mappings": "",
10
10
  "sourcesContent": [
11
- "import type {ActionSchema} from './renderers/Action';\nimport {SchemaApiObject} from './Schema';\n\nexport interface ApiObject extends SchemaApiObject {\n config?: {\n withCredentials?: boolean;\n cancelExecutor?: (cancel: Function) => void;\n };\n graphql?: string;\n operationName?: string;\n body?: PlainObject;\n query?: PlainObject;\n adaptor?: (payload: object, response: fetcherResult, api: ApiObject) => any;\n requestAdaptor?: (api: ApiObject) => ApiObject;\n}\nexport type ApiString = string;\nexport type Api = ApiString | ApiObject;\n\nexport interface fetcherResult {\n data?: {\n data: object;\n status: number;\n msg: string;\n msgTimeout?: number;\n errors?: {\n [propName: string]: string;\n };\n type?: string;\n [propName: string]: any; // 为了兼容其他返回格式\n };\n status: number;\n headers: object;\n}\n\nexport interface fetchOptions {\n method?: 'get' | 'post' | 'put' | 'patch' | 'delete' | 'jsonp';\n successMessage?: string;\n errorMessage?: string;\n autoAppend?: boolean;\n beforeSend?: (data: any) => any;\n onSuccess?: (json: Payload) => any;\n onFailed?: (json: Payload) => any;\n silent?: boolean;\n [propName: string]: any;\n}\n\nexport interface Payload {\n ok: boolean;\n msg: string;\n msgTimeout?: number;\n data: any;\n status: number;\n errors?: {\n [propName: string]: string;\n };\n}\n\nexport interface Schema {\n type: string;\n detectField?: string;\n visibleOn?: string;\n hiddenOn?: string;\n children?: JSX.Element | ((props: any, schema?: any) => JSX.Element) | null;\n definitions?: Definitions;\n [propName: string]: any;\n}\n\nexport interface Button {\n type: 'submit' | 'button' | 'reset';\n label?: string;\n icon?: string;\n size?: string;\n disabled?: boolean;\n className?: string;\n}\n\nexport type SchemaNode = Schema | string | Array<Schema | string>;\nexport interface SchemaArray extends Array<SchemaNode> {}\nexport interface Definitions {\n [propName: string]: SchemaNode;\n}\nexport interface Action extends Button {\n actionType?:\n | 'submit'\n | 'copy'\n | 'reload'\n | 'ajax'\n | 'saveAs'\n | 'dialog'\n | 'drawer'\n | 'jump'\n | 'link'\n | 'url'\n | 'email'\n | 'close'\n | 'confirm'\n | 'add'\n | 'remove'\n | 'delete'\n | 'edit'\n | 'cancel'\n | 'next'\n | 'prev'\n | 'reset'\n | 'validate'\n | 'reset-and-submit'\n | 'clear'\n | 'clear-and-submit'\n | 'toast'\n | 'goto-step'\n | 'goto-image'\n | 'expand'\n | 'collapse'\n | 'step-submit'\n | 'selectAll'\n | 'changeTabKey';\n api?: Api;\n asyncApi?: Api;\n payload?: any;\n dialog?: SchemaNode;\n to?: string;\n target?: string;\n link?: string;\n url?: string;\n cc?: string;\n bcc?: string;\n subject?: string;\n body?: string;\n mergeData?: boolean;\n reload?: string;\n messages?: {\n success?: string;\n failed?: string;\n };\n feedback?: any;\n required?: Array<string>;\n [propName: string]: any;\n}\n\nexport interface Location {\n pathname: string;\n search: string;\n state: any;\n hash: string;\n key?: string;\n query?: any;\n}\n\nexport interface PlainObject {\n [propsName: string]: any;\n}\n\nexport interface RendererData {\n [propsName: string]: any;\n __prev?: RendererDataAlias;\n __super?: RendererData;\n}\ntype RendererDataAlias = RendererData;\n\nexport type FunctionPropertyNames<T> = {\n [K in keyof T]: T[K] extends Function ? K : never;\n}[keyof T];\n\nexport interface JSONSchema {\n [propsName: string]: any;\n}\n\n// export type Omit<T, K extends keyof T & any> = Pick<T, Exclude<keyof T, K>>;\n// export type Override<M, N> = Omit<M, Extract<keyof M, keyof N>> & N;\n// export type ExtractProps<\n// TComponentOrTProps\n// > = TComponentOrTProps extends React.ComponentType<infer P> ? P : never;\n\n/**\n * 事件跟踪的定义\n */\nexport interface EventTrack {\n /**\n * 事件类型,目前有以下几种\n *\n * api: 所有 fetcher 前调用\n * url: 打开外部链接,组件有可能是 action 也有可能是 link\n * link: 打开内部链接\n * dialog: action 的弹框\n * drawer: action 的抽出式弹框\n * copy: action 里的复制\n * reload: action 里的 reload\n * email: action 里的 email\n * prev: action 里的 prev\n * next: action 里的 next\n * cancel: action 里的 cancel\n * close: action 里的 close\n * submit: 有可能是 action 里的 submit,也有可能是表单提交\n * confirm: action 里的 confirm\n * add: action 里的 add\n * reset: action 里的 reset\n * reset-and-submit: action 里的 reset-and-submit\n * formItemChange: 表单项内容变化\n * formError: 表单验证失败\n * formSubmit: 表单成功提交,在表单验证成功之后才会触发,这个可能会和 api 重合\n * tabChange: tab 切换\n * netError: api 报错\n */\n eventType:\n | 'api'\n | 'url'\n | 'link'\n | 'dialog'\n | 'drawer'\n | 'copy'\n | 'reload'\n | 'email'\n | 'prev'\n | 'next'\n | 'cancel'\n | 'close'\n | 'submit'\n | 'confirm'\n | 'reset'\n | 'reset-and-submit'\n | 'formItemChange'\n | 'tabChange';\n\n /**\n * 事件数据\n */\n eventData: ActionSchema | Api;\n}\n"
11
+ "import type {ActionSchema} from './renderers/Action';\nimport {SchemaApiObject} from './Schema';\n\nexport interface ApiObject extends SchemaApiObject {\n config?: {\n withCredentials?: boolean;\n cancelExecutor?: (cancel: Function) => void;\n };\n graphql?: string;\n operationName?: string;\n body?: PlainObject;\n query?: PlainObject;\n adaptor?: (payload: object, response: fetcherResult, api: ApiObject) => any;\n requestAdaptor?: (api: ApiObject) => ApiObject;\n}\nexport type ApiString = string;\nexport type Api = ApiString | ApiObject;\n\nexport interface fetcherResult {\n data?: {\n data: object;\n status: number;\n msg: string;\n msgTimeout?: number;\n errors?: {\n [propName: string]: string;\n };\n type?: string;\n [propName: string]: any; // 为了兼容其他返回格式\n };\n status: number;\n headers: object;\n}\n\nexport interface fetchOptions {\n method?: 'get' | 'post' | 'put' | 'patch' | 'delete' | 'jsonp';\n successMessage?: string;\n errorMessage?: string;\n autoAppend?: boolean;\n beforeSend?: (data: any) => any;\n onSuccess?: (json: Payload) => any;\n onFailed?: (json: Payload) => any;\n silent?: boolean;\n [propName: string]: any;\n}\n\nexport interface Payload {\n ok: boolean;\n msg: string;\n msgTimeout?: number;\n data: any;\n status: number;\n errors?: {\n [propName: string]: string;\n };\n}\n\nexport interface Schema {\n type: string;\n detectField?: string;\n visibleOn?: string;\n hiddenOn?: string;\n children?: JSX.Element | ((props: any, schema?: any) => JSX.Element) | null;\n definitions?: Definitions;\n [propName: string]: any;\n}\n\nexport interface Button {\n type: 'submit' | 'button' | 'reset';\n label?: string;\n icon?: string;\n size?: string;\n disabled?: boolean;\n className?: string;\n}\n\nexport type SchemaNode = Schema | string | Array<Schema | string>;\nexport interface SchemaArray extends Array<SchemaNode> {}\nexport interface Definitions {\n [propName: string]: SchemaNode;\n}\nexport interface Action extends Button {\n actionType?:\n | 'submit'\n | 'copy'\n | 'reload'\n | 'ajax'\n | 'saveAs'\n | 'dialog'\n | 'drawer'\n | 'jump'\n | 'link'\n | 'url'\n | 'email'\n | 'close'\n | 'confirm'\n | 'add'\n | 'remove'\n | 'delete'\n | 'edit'\n | 'cancel'\n | 'next'\n | 'prev'\n | 'reset'\n | 'validate'\n | 'reset-and-submit'\n | 'clear'\n | 'clear-and-submit'\n | 'toast'\n | 'goto-step'\n | 'goto-image'\n | 'expand'\n | 'collapse'\n | 'step-submit'\n | 'selectAll'\n | 'changeTabKey'\n | 'click';\n api?: Api;\n asyncApi?: Api;\n payload?: any;\n dialog?: SchemaNode;\n to?: string;\n target?: string;\n link?: string;\n url?: string;\n cc?: string;\n bcc?: string;\n subject?: string;\n body?: string;\n mergeData?: boolean;\n reload?: string;\n messages?: {\n success?: string;\n failed?: string;\n };\n feedback?: any;\n required?: Array<string>;\n [propName: string]: any;\n}\n\nexport interface Location {\n pathname: string;\n search: string;\n state: any;\n hash: string;\n key?: string;\n query?: any;\n}\n\nexport interface PlainObject {\n [propsName: string]: any;\n}\n\nexport interface RendererData {\n [propsName: string]: any;\n __prev?: RendererDataAlias;\n __super?: RendererData;\n}\ntype RendererDataAlias = RendererData;\n\nexport type FunctionPropertyNames<T> = {\n [K in keyof T]: T[K] extends Function ? K : never;\n}[keyof T];\n\nexport interface JSONSchema {\n [propsName: string]: any;\n}\n\n// export type Omit<T, K extends keyof T & any> = Pick<T, Exclude<keyof T, K>>;\n// export type Override<M, N> = Omit<M, Extract<keyof M, keyof N>> & N;\n// export type ExtractProps<\n// TComponentOrTProps\n// > = TComponentOrTProps extends React.ComponentType<infer P> ? P : never;\n\n/**\n * 事件跟踪的定义\n */\nexport interface EventTrack {\n /**\n * 事件类型,目前有以下几种\n *\n * api: 所有 fetcher 前调用\n * url: 打开外部链接,组件有可能是 action 也有可能是 link\n * link: 打开内部链接\n * dialog: action 的弹框\n * drawer: action 的抽出式弹框\n * copy: action 里的复制\n * reload: action 里的 reload\n * email: action 里的 email\n * prev: action 里的 prev\n * next: action 里的 next\n * cancel: action 里的 cancel\n * close: action 里的 close\n * submit: 有可能是 action 里的 submit,也有可能是表单提交\n * confirm: action 里的 confirm\n * add: action 里的 add\n * reset: action 里的 reset\n * reset-and-submit: action 里的 reset-and-submit\n * formItemChange: 表单项内容变化\n * formError: 表单验证失败\n * formSubmit: 表单成功提交,在表单验证成功之后才会触发,这个可能会和 api 重合\n * tabChange: tab 切换\n * netError: api 报错\n */\n eventType:\n | 'api'\n | 'url'\n | 'link'\n | 'dialog'\n | 'drawer'\n | 'copy'\n | 'reload'\n | 'email'\n | 'prev'\n | 'next'\n | 'cancel'\n | 'close'\n | 'submit'\n | 'confirm'\n | 'reset'\n | 'reset-and-submit'\n | 'formItemChange'\n | 'tabChange';\n\n /**\n * 事件数据\n */\n eventData: ActionSchema | Api;\n}\n"
12
12
  ]
13
13
  }
@@ -180,12 +180,13 @@ function registerFormulaExec(execMode, formulaExec) {
180
180
  exports.registerFormulaExec = registerFormulaExec;
181
181
  // 用于判断是否优先使用value。
182
182
  function isExpression(expression) {
183
- if (!(0, isString_1.default)(expression)) {
183
+ if (!expression || !(0, isString_1.default)(expression)) {
184
184
  // 非字符串类型,比如:Object、Array类型、boolean、number类型
185
185
  return false;
186
186
  }
187
- // 备注: "\\${xxx}"不作为表达式,至少含一个${xxx}才算是表达式
188
- return /(?<!\\)(\${).+(\})/.test(expression);
187
+ // 备注1: "\\${xxx}"不作为表达式,至少含一个${xxx}才算是表达式
188
+ // 备注2: safari 不支持 /(?<!\\)(\${).+(\})/.test(expression)
189
+ return /(^|[^\\])\$\{.+\}/.test(expression);
189
190
  }
190
191
  exports.isExpression = isExpression;
191
192
  // 用于判断是否需要执行表达式:
@@ -6,8 +6,8 @@
6
6
  "/src/utils/formula.ts"
7
7
  ],
8
8
  "names": [],
9
- "mappings": ";;;;AAAA,0EAA+C;AAC/C,0EAAuC;AACvC,4EAAyC;AACzC,6CAMsB;AAEtB,6BAA6B;AAC7B,6CAAyC;AACzC,qCAA2C;AAE3C;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,YAAY;AACZ,IAAM,kBAAkB,GAA8B,EAAE,CAAC;AAEzD;;;GAGG;AACU,QAAA,WAAW,GAEpB;IACF,GAAG,EAAE,UAAC,UAAkB,EAAE,IAAa;QACrC,IAAM,OAAO,GAAG,IAAI,IAAI,EAAE,CAAC;QAC3B,OAAO,IAAA,YAAM,EAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IACrC,CAAC;IACD,OAAO,EAAE,UAAC,UAAkB,EAAE,IAAa;QACzC,kCAAkC;QAClC,IACE,uEAAuE,CAAC,IAAI,CAC1E,UAAU,CACX,EACD;YACA,OAAO,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW;SACnE;QACD,IAAM,OAAO,GAAG,IAAI,IAAI,EAAE,CAAC;QAC3B,IAAI,MAAM,GAAG,SAAS,CAAC;QACvB,IAAI;YACF,kEAAkE;YAClE,MAAM,GAAG,IAAA,uCAAwB,EAAC,UAAU,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;SACjE;QAAC,OAAO,CAAC,EAAE;YACV,OAAO,CAAC,IAAI,CACV,0BAA0B,EAC1B,UAAU,EACV,YAAY,EACZ,IAAI,CACL,CAAC;YACF,OAAO,UAAU,CAAC;SACnB;QACD,qEAAqE;QACrE,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,WAAW,EAAE,UAAC,UAAkB,EAAE,IAAa;QAC7C,IAAM,OAAO,GAAG,IAAI,IAAI,EAAE,CAAC;QAC3B,IAAI,MAAM,GAAG,SAAS,CAAC;QACvB,IAAI;YACF,MAAM,GAAG,IAAA,uBAAQ,EAAC,UAAU,EAAE,OAAO,EAAE;gBACrC,QAAQ,EAAE,IAAI;gBACd,WAAW,EAAE,KAAK;aACnB,CAAC,CAAC;SACJ;QAAC,OAAO,CAAC,EAAE;YACV,OAAO,CAAC,IAAI,CACV,8BAA8B,EAC9B,UAAU,EACV,YAAY,EACZ,IAAI,CACL,CAAC;YACF,OAAO,UAAU,CAAC;SACnB;QACD,OAAO,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,UAAU,CAAC;IAC9B,CAAC;IACD,EAAE,EAAE,UAAC,UAAkB,EAAE,IAAa;QACpC,IAAI,KAAK,GAAG,KAAK,CAAC;QAClB,IAAM,GAAG,GAAG,UAAU,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAC3C,IAAI,CAAC,GAAG,EAAE;YACR,KAAK,GAAG,IAAI,CAAC;YACb,UAAU,GAAG,UAAU,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;SACnD;QAED,IAAI,EAAE,CAAC;QACP,IAAI,UAAU,IAAI,kBAAkB,EAAE;YACpC,EAAE,GAAG,kBAAkB,CAAC,UAAU,CAAC,CAAC;SACrC;aAAM;YACL,EAAE,GAAG,IAAI,QAAQ,CACf,MAAM,EACN,OAAO,EACP,sBAAe,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,qBAAW,UAAU,QAAK,CAClE,CAAC;YACF,kBAAkB,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC;SACrC;QAED,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QAElB,IAAI,SAAS,GAAG,SAAS,CAAC;QAC1B,IAAI;YACF,SAAS,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAA,wBAAU,GAAE,CAAC,CAAC;SAC/C;QAAC,OAAO,CAAC,EAAE;YACV,OAAO,CAAC,IAAI,CACV,6BAA6B,EAC7B,UAAU,EACV,YAAY,EACZ,IAAI,CACL,CAAC;YACF,OAAO,UAAU,CAAC;SACnB;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,GAAG,EAAE,UAAC,UAAkB,EAAE,IAAa;QACrC,IAAM,OAAO,GAAG,IAAI,IAAI,EAAE,CAAC;QAC3B,IAAM,MAAM,GAAG,IAAA,0BAAW,EAAC,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC,SAAS;QAC1D,OAAO,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,UAAU,CAAC;IAC9B,CAAC;IACD,OAAO,EAAE,UAAC,UAAe;QACvB,IAAI,SAAS,GAAkB,EAAE,CAAC;QAClC,IAAI,IAAA,kBAAgB,EAAC,UAAU,CAAC,IAAI,IAAA,kBAAQ,EAAC,UAAU,CAAC,EAAE;YACxD,gCAAgC;YAChC,SAAS,GAAG,IAAA,0BAAgB,EAAC,UAAU,CAAC,CAAC;SAC1C;aAAM;YACL,SAAS,GAAG,EAAE,CAAC;SAChB;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;CACF,CAAC;AAEF,4CAA4C;AAC5C,SAAgB,WAAW,CACzB,KAAU,EACV,IAAS,EACT,QAA2B;IAE3B,IAAI,CAAC,KAAK,EAAE;QACV,OAAO,EAAE,CAAC;KACX;IACD,IAAI,uBAAuB,GAAG,KAAK,CAAC;IACpC,IAAI,WAAW,GAAG,EAAE,CAAC;IACrB,IAAI,IAAA,mBAAS,EAAC,QAAQ,CAAC,EAAE;QACvB,4DAA4D;QAC5D,uBAAuB,GAAG,QAAQ,CAAC;KACpC;SAAM,IAAI,IAAA,kBAAQ,EAAC,QAAQ,CAAC,EAAE;QAC7B,2BAA2B;QAC3B,WAAW,GAAG,QAAQ,CAAC;KACxB;IACD,IAAI,CAAC,IAAA,kBAAQ,EAAC,KAAK,CAAC,EAAE;QACpB,iDAAiD;QACjD,OAAO,KAAK,CAAC;KACd;SAAM,IAAI,WAAW,IAAI,mBAAW,CAAC,WAAW,CAAC,EAAE;QAClD,OAAO,mBAAW,CAAC,WAAW,CAAC,CAAC;KACjC;IAED,IAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,SAAS;IAExC,6DAA6D;IAC7D,IAAI,uBAAuB,IAAI,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;QAC/D,8BAA8B;QAC9B,IAAM,YAAY,GAAG,mBAAW,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QACxD,qBAAqB;QACrB,OAAO,YAAY,aAAZ,YAAY,cAAZ,YAAY,GAAI,QAAQ,CAAC;KACjC;SAAM,IAAI,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;QAC9D,6BAA6B;QAC7B,OAAO,mBAAW,CAAC,SAAS,CAAC,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;KAC/C;SAAM,IAAI,YAAY,CAAC,IAAI,CAAC,EAAE;QAC7B,sBAAsB;QACtB,OAAO,mBAAW,CAAC,SAAS,CAAC,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;KAC/C;SAAM,IAAI,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;QACvC,0BAA0B;QAC1B,OAAO,mBAAW,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,eAAe;KAC3D;SAAM,IAAI,uBAAuB,EAAE;QAClC,qBAAqB;QACrB,OAAO,mBAAW,CAAC,aAAa,CAAC,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;KACnD;SAAM;QACL,OAAO,QAAQ,CAAC;KACjB;AACH,CAAC;AA/CD,kCA+CC;AAED,0BAA0B;AAC1B,SAAgB,mBAAmB,CAAC,QAAgB,EAAE,WAAqB;IACzE,IAAI,mBAAW,CAAC,QAAQ,CAAC,EAAE;QACzB,OAAO,CAAC,KAAK,CACX,8IAAoD,CACrD,CAAC;KACH;SAAM;QACL,mBAAW,CAAC,QAAQ,CAAC,GAAG,WAAW,CAAC;KACrC;AACH,CAAC;AARD,kDAQC;AAED,mBAAmB;AACnB,SAAgB,YAAY,CAAC,UAAe;IAC1C,IAAI,CAAC,IAAA,kBAAQ,EAAC,UAAU,CAAC,EAAE;QACzB,4CAA4C;QAC5C,OAAO,KAAK,CAAC;KACd;IACD,yCAAyC;IACzC,OAAO,oBAAoB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AAC/C,CAAC;AAPD,oCAOC;AAED,iBAAiB;AACjB,SAAgB,aAAa,CAC3B,UAAe,EACf,QAAmC,EACnC,OAAkC;IAElC,IAAM,SAAS,GAAG,mBAAW,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAClD,OAAO,SAAS,CAAC,IAAI,CACnB,UAAC,QAAgB;QACf,OAAA,mBAAW,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,KAAK,mBAAW,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC;IAA1E,CAA0E,CAC7E,CAAC;AACJ,CAAC;AAVD,sCAUC;AAED,qBAAqB;AACrB,SAAgB,iBAAiB,CAAC,UAAe;IAC/C,IAAI,UAAU,IAAI,IAAA,kBAAQ,EAAC,UAAU,CAAC,IAAI,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;QAC5E,OAAO,UAAU,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;KAC5C;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AALD,8CAKC",
9
+ "mappings": "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",
10
10
  "sourcesContent": [
11
- "import isObjectByLodash from 'lodash/isObject';\nimport isString from 'lodash/isString';\nimport isBoolean from 'lodash/isBoolean';\nimport {\n getVariable,\n isPureVariable,\n resolveVariable,\n resolveVariableAndFilter,\n evaluate\n} from 'amis-formula';\n\nimport {filter} from './tpl';\nimport {getFilters} from './tpl-builtin';\nimport {collectVariables} from './grammar';\n\n/**\n * formulaExec 运算器:根据当前字符串类型执行对应运算,也可按指定执行模式执行运算\n *\n * 运算模式(execMode)支持以下取值:\n * 1. tpl: 按模板字符串执行(JavaScript 模板引擎),比如:Hello ${amisUser.email}、<h1>Hello</h1>, <span>${amisUser.email}</span>;\n * 备注: 在模板中可以自由访问变量,详细请见:https://www.lodashjs.com/docs/lodash.template;\n * 2. formula: 按新版公式表达式执行,用于执行 ${ xxx } 格式的表达式;\n * 支持从window、localStorage、sessionStorage获取数据,比如:${num1 + 2}、${ls:env}、${window:document}、${window:document.URL}、${amisUser.email};\n * 详细请见:https://aisuda.bce.baidu.com/amis/zh-CN/docs/concepts/data-mapping#namespace\n * 3. evalFormula: 按新版公式表达式执行,用于执行 ${ xxx } 和 非${ xxx } 格式的表达式(evalMode 为 true,不用 ${} 包裹也可以执行),功能同 formula 运算模式;\n * 4. js: 按Javascript执行,表达式中可以通过data.xxx来获取指定数据,并且支持简单运算;\n * 比如:data.num1 + 2、this.num1 + 2、num1 + 2;(备注:三个表达式是等价的,这里的 this 就是 data。)\n * 5. var: 以此字符串作为key值从当前数据域data中获取数值;性能最高(运行期间不会生成ast和表达式运算);\n * 6. true 或者 false: 当execMode设置为true时,不用 ${} 包裹也可以执行表达式;\n * 7. collect: 用于从表达式中获取所有变量;\n * \n * 备注1: 用户也可以使用 registerFormulaExec 注册一个自定义运算器;\n * 备注2: 模板字符串 和 Javascript 模板引擎 不可以交叉使用;\n * 备注3: amis 现有的 evalFormula 方法,可执行 ${} 格式类表达式,但不支持 filter 过滤器,所以这里用 resolveValueByName 实现;\n * 备注4: 后续可考虑将 amis现有的运算器都放这里管理,充当统一的运算器入口。\n */\n\n// 缓存,用于提升性能\nconst FORMULA_EVAL_CACHE: {[key: string]: Function} = {};\n\n/**\n * 用于存储当前可用运算器,默认支持 tpl、formula、js、var 四种类型运算器\n * 备注:在这里统一参数。\n */\nexport const FormulaExec: {\n [key: string]: Function;\n} = {\n tpl: (expression: string, data?: object) => {\n const curData = data || {};\n return filter(expression, curData);\n },\n formula: (expression: string, data?: object) => {\n // 邮箱格式直接返回,后续需要在 amis-formula 中处理\n if (\n /^\\$\\{([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+((.[a-zA-Z0-9_-]{2,3}){1,2})\\}$/.test(\n expression\n )\n ) {\n return expression.substring(2, expression.length - 1); // 剔除前后特殊字符\n }\n const curData = data || {};\n let result = undefined;\n try {\n // 执行 ${} 格式类表达式,且支持 filter 过滤器。(备注: isPureVariable 可用于判断是否有 过滤器。)\n result = resolveVariableAndFilter(expression, curData, '| raw');\n } catch (e) {\n console.warn(\n '[formula]表达式执行异常,当前表达式: ',\n expression,\n ',当前上下文数据: ',\n data\n );\n return expression;\n }\n // 备注: 此处不用 result ?? expression 是为了避免 没有对应结果时直接显示 expression: ${xxx}\n return result;\n },\n evalFormula: (expression: string, data?: object) => {\n const curData = data || {};\n let result = undefined;\n try {\n result = evaluate(expression, curData, {\n evalMode: true, // evalMode 为 true 时,不用 ${} 包裹也可以执行,\n allowFilter: false\n });\n } catch (e) {\n console.warn(\n '[evalFormula]表达式执行异常,当前表达式: ',\n expression,\n ',当前上下文数据: ',\n data\n );\n return expression;\n }\n return result ?? expression;\n },\n js: (expression: string, data?: object) => {\n let debug = false;\n const idx = expression.indexOf('debugger');\n if (~idx) {\n debug = true;\n expression = expression.replace(/debugger;?/, '');\n }\n\n let fn;\n if (expression in FORMULA_EVAL_CACHE) {\n fn = FORMULA_EVAL_CACHE[expression];\n } else {\n fn = new Function(\n 'data',\n 'utils',\n `with(data) {${debug ? 'debugger;' : ''}return (${expression});}`\n );\n FORMULA_EVAL_CACHE[expression] = fn;\n }\n\n data = data || {};\n\n let curResult = undefined;\n try {\n curResult = fn.call(data, data, getFilters());\n } catch (e) {\n console.warn(\n '[formula:js]表达式执行异常,当前表达式: ',\n expression,\n ',当前上下文数据: ',\n data\n );\n return expression;\n }\n return curResult;\n },\n var: (expression: string, data?: object) => {\n const curData = data || {};\n const result = getVariable(curData, expression); // 不支持过滤器\n return result ?? expression;\n },\n collect: (expression: any) => {\n let variables: Array<string> = [];\n if (isObjectByLodash(expression) || isString(expression)) {\n // 仅对 Object类型 和 String类型 进行变量提取\n variables = collectVariables(expression);\n } else {\n variables = [];\n }\n return variables;\n }\n};\n\n// 根据表达式类型自动匹配指定运算器,也可以通过设置 execMode 直接指定运算器\nexport function formulaExec(\n value: any,\n data: any,\n execMode?: string | boolean\n) {\n if (!value) {\n return '';\n }\n let OpenFormulaExecEvalMode = false;\n let curExecMode = '';\n if (isBoolean(execMode)) {\n // OpenFormulaExecEvalMode 设置为 true 后,非 ${ xxx } 格式也使用表达式运算器\n OpenFormulaExecEvalMode = execMode;\n } else if (isString(execMode)) {\n // 指定 execMode 可以直接选用对应的运算器\n curExecMode = execMode;\n }\n if (!isString(value)) {\n // 非字符串类型,直接返回,比如:boolean、number类型、Object、Array类型\n return value;\n } else if (curExecMode && FormulaExec[curExecMode]) {\n return FormulaExec[curExecMode];\n }\n\n const curValue = value.trim(); // 剔除前后空格\n\n // OpenFormulaExecEvalMode 为 true 时,非 ${ xxx } 格式也会尝试使用表达式运算器\n if (OpenFormulaExecEvalMode && /^[0-9a-zA-z_]+$/.test(curValue)) {\n // 普通字符串类型(非表达式),先试一下从上下文中获取数据\n const curValueTemp = FormulaExec['var'](curValue, data);\n // 备注: 其他特殊格式,比如邮箱、日期\n return curValueTemp ?? curValue;\n } else if (curValue.startsWith('${') && curValue.endsWith('}')) {\n // ${ xxx } 格式 使用 formula 运算器\n return FormulaExec['formula'](curValue, data);\n } else if (isExpression(test)) {\n // 表达式格式使用 formula 运算器\n return FormulaExec['formula'](curValue, data);\n } else if (/(\\${).+(\\})/.test(curValue)) {\n // 包含 ${ xxx } 则使用 tpl 运算器\n return FormulaExec['tpl'](curValue, data); // 可识别 <% %> 语法\n } else if (OpenFormulaExecEvalMode) {\n // 支持 ${} 和 非 ${} 表达式\n return FormulaExec['evalFormula'](curValue, data);\n } else {\n return curValue;\n }\n}\n\n// 用于注册自定义 formulaExec 运算器\nexport function registerFormulaExec(execMode: string, formulaExec: Function) {\n if (FormulaExec[execMode]) {\n console.error(\n `registerFormulaExec: 运算器注册失败,存在同名运算器($(execMode))。`\n );\n } else {\n FormulaExec[execMode] = formulaExec;\n }\n}\n\n// 用于判断是否优先使用value。\nexport function isExpression(expression: any): boolean {\n if (!isString(expression)) {\n // 非字符串类型,比如:Object、Array类型、boolean、number类型\n return false;\n }\n // 备注: \"\\\\${xxx}\"不作为表达式,至少含一个${xxx}才算是表达式\n return /(?<!\\\\)(\\${).+(\\})/.test(expression);\n}\n\n// 用于判断是否需要执行表达式:\nexport function isNeedFormula(\n expression: any,\n prevData: {[propName: string]: any},\n curData: {[propName: string]: any}\n): boolean {\n const variables = FormulaExec.collect(expression);\n return variables.some(\n (variable: string) =>\n FormulaExec.var(variable, prevData) !== FormulaExec.var(variable, curData)\n );\n}\n\n// 将 \\${xx} 替换成 ${xx}\nexport function replaceExpression(expression: any): any {\n if (expression && isString(expression) && /(\\\\)(\\${).+(\\})/.test(expression)) {\n return expression.replace(/\\\\\\$\\{/g, '${');\n }\n return expression;\n}\n"
11
+ "import isObjectByLodash from 'lodash/isObject';\nimport isString from 'lodash/isString';\nimport isBoolean from 'lodash/isBoolean';\nimport {\n getVariable,\n isPureVariable,\n resolveVariable,\n resolveVariableAndFilter,\n evaluate\n} from 'amis-formula';\n\nimport {filter} from './tpl';\nimport {getFilters} from './tpl-builtin';\nimport {collectVariables} from './grammar';\n\n/**\n * formulaExec 运算器:根据当前字符串类型执行对应运算,也可按指定执行模式执行运算\n *\n * 运算模式(execMode)支持以下取值:\n * 1. tpl: 按模板字符串执行(JavaScript 模板引擎),比如:Hello ${amisUser.email}、<h1>Hello</h1>, <span>${amisUser.email}</span>;\n * 备注: 在模板中可以自由访问变量,详细请见:https://www.lodashjs.com/docs/lodash.template;\n * 2. formula: 按新版公式表达式执行,用于执行 ${ xxx } 格式的表达式;\n * 支持从window、localStorage、sessionStorage获取数据,比如:${num1 + 2}、${ls:env}、${window:document}、${window:document.URL}、${amisUser.email};\n * 详细请见:https://aisuda.bce.baidu.com/amis/zh-CN/docs/concepts/data-mapping#namespace\n * 3. evalFormula: 按新版公式表达式执行,用于执行 ${ xxx } 和 非${ xxx } 格式的表达式(evalMode 为 true,不用 ${} 包裹也可以执行),功能同 formula 运算模式;\n * 4. js: 按Javascript执行,表达式中可以通过data.xxx来获取指定数据,并且支持简单运算;\n * 比如:data.num1 + 2、this.num1 + 2、num1 + 2;(备注:三个表达式是等价的,这里的 this 就是 data。)\n * 5. var: 以此字符串作为key值从当前数据域data中获取数值;性能最高(运行期间不会生成ast和表达式运算);\n * 6. true 或者 false: 当execMode设置为true时,不用 ${} 包裹也可以执行表达式;\n * 7. collect: 用于从表达式中获取所有变量;\n * \n * 备注1: 用户也可以使用 registerFormulaExec 注册一个自定义运算器;\n * 备注2: 模板字符串 和 Javascript 模板引擎 不可以交叉使用;\n * 备注3: amis 现有的 evalFormula 方法,可执行 ${} 格式类表达式,但不支持 filter 过滤器,所以这里用 resolveValueByName 实现;\n * 备注4: 后续可考虑将 amis现有的运算器都放这里管理,充当统一的运算器入口。\n */\n\n// 缓存,用于提升性能\nconst FORMULA_EVAL_CACHE: {[key: string]: Function} = {};\n\n/**\n * 用于存储当前可用运算器,默认支持 tpl、formula、js、var 四种类型运算器\n * 备注:在这里统一参数。\n */\nexport const FormulaExec: {\n [key: string]: Function;\n} = {\n tpl: (expression: string, data?: object) => {\n const curData = data || {};\n return filter(expression, curData);\n },\n formula: (expression: string, data?: object) => {\n // 邮箱格式直接返回,后续需要在 amis-formula 中处理\n if (\n /^\\$\\{([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+((.[a-zA-Z0-9_-]{2,3}){1,2})\\}$/.test(\n expression\n )\n ) {\n return expression.substring(2, expression.length - 1); // 剔除前后特殊字符\n }\n const curData = data || {};\n let result = undefined;\n try {\n // 执行 ${} 格式类表达式,且支持 filter 过滤器。(备注: isPureVariable 可用于判断是否有 过滤器。)\n result = resolveVariableAndFilter(expression, curData, '| raw');\n } catch (e) {\n console.warn(\n '[formula]表达式执行异常,当前表达式: ',\n expression,\n ',当前上下文数据: ',\n data\n );\n return expression;\n }\n // 备注: 此处不用 result ?? expression 是为了避免 没有对应结果时直接显示 expression: ${xxx}\n return result;\n },\n evalFormula: (expression: string, data?: object) => {\n const curData = data || {};\n let result = undefined;\n try {\n result = evaluate(expression, curData, {\n evalMode: true, // evalMode 为 true 时,不用 ${} 包裹也可以执行,\n allowFilter: false\n });\n } catch (e) {\n console.warn(\n '[evalFormula]表达式执行异常,当前表达式: ',\n expression,\n ',当前上下文数据: ',\n data\n );\n return expression;\n }\n return result ?? expression;\n },\n js: (expression: string, data?: object) => {\n let debug = false;\n const idx = expression.indexOf('debugger');\n if (~idx) {\n debug = true;\n expression = expression.replace(/debugger;?/, '');\n }\n\n let fn;\n if (expression in FORMULA_EVAL_CACHE) {\n fn = FORMULA_EVAL_CACHE[expression];\n } else {\n fn = new Function(\n 'data',\n 'utils',\n `with(data) {${debug ? 'debugger;' : ''}return (${expression});}`\n );\n FORMULA_EVAL_CACHE[expression] = fn;\n }\n\n data = data || {};\n\n let curResult = undefined;\n try {\n curResult = fn.call(data, data, getFilters());\n } catch (e) {\n console.warn(\n '[formula:js]表达式执行异常,当前表达式: ',\n expression,\n ',当前上下文数据: ',\n data\n );\n return expression;\n }\n return curResult;\n },\n var: (expression: string, data?: object) => {\n const curData = data || {};\n const result = getVariable(curData, expression); // 不支持过滤器\n return result ?? expression;\n },\n collect: (expression: any) => {\n let variables: Array<string> = [];\n if (isObjectByLodash(expression) || isString(expression)) {\n // 仅对 Object类型 和 String类型 进行变量提取\n variables = collectVariables(expression);\n } else {\n variables = [];\n }\n return variables;\n }\n};\n\n// 根据表达式类型自动匹配指定运算器,也可以通过设置 execMode 直接指定运算器\nexport function formulaExec(\n value: any,\n data: any,\n execMode?: string | boolean\n) {\n if (!value) {\n return '';\n }\n let OpenFormulaExecEvalMode = false;\n let curExecMode = '';\n if (isBoolean(execMode)) {\n // OpenFormulaExecEvalMode 设置为 true 后,非 ${ xxx } 格式也使用表达式运算器\n OpenFormulaExecEvalMode = execMode;\n } else if (isString(execMode)) {\n // 指定 execMode 可以直接选用对应的运算器\n curExecMode = execMode;\n }\n if (!isString(value)) {\n // 非字符串类型,直接返回,比如:boolean、number类型、Object、Array类型\n return value;\n } else if (curExecMode && FormulaExec[curExecMode]) {\n return FormulaExec[curExecMode];\n }\n\n const curValue = value.trim(); // 剔除前后空格\n\n // OpenFormulaExecEvalMode 为 true 时,非 ${ xxx } 格式也会尝试使用表达式运算器\n if (OpenFormulaExecEvalMode && /^[0-9a-zA-z_]+$/.test(curValue)) {\n // 普通字符串类型(非表达式),先试一下从上下文中获取数据\n const curValueTemp = FormulaExec['var'](curValue, data);\n // 备注: 其他特殊格式,比如邮箱、日期\n return curValueTemp ?? curValue;\n } else if (curValue.startsWith('${') && curValue.endsWith('}')) {\n // ${ xxx } 格式 使用 formula 运算器\n return FormulaExec['formula'](curValue, data);\n } else if (isExpression(test)) {\n // 表达式格式使用 formula 运算器\n return FormulaExec['formula'](curValue, data);\n } else if (/(\\${).+(\\})/.test(curValue)) {\n // 包含 ${ xxx } 则使用 tpl 运算器\n return FormulaExec['tpl'](curValue, data); // 可识别 <% %> 语法\n } else if (OpenFormulaExecEvalMode) {\n // 支持 ${} 和 非 ${} 表达式\n return FormulaExec['evalFormula'](curValue, data);\n } else {\n return curValue;\n }\n}\n\n// 用于注册自定义 formulaExec 运算器\nexport function registerFormulaExec(execMode: string, formulaExec: Function) {\n if (FormulaExec[execMode]) {\n console.error(\n `registerFormulaExec: 运算器注册失败,存在同名运算器($(execMode))。`\n );\n } else {\n FormulaExec[execMode] = formulaExec;\n }\n}\n\n// 用于判断是否优先使用value。\nexport function isExpression(expression: any): boolean {\n if (!expression || !isString(expression)) {\n // 非字符串类型,比如:Object、Array类型、boolean、number类型\n return false;\n }\n // 备注1: \"\\\\${xxx}\"不作为表达式,至少含一个${xxx}才算是表达式\n \n // 备注2: safari 不支持 /(?<!\\\\)(\\${).+(\\})/.test(expression) \n return /(^|[^\\\\])\\$\\{.+\\}/.test(expression);\n}\n\n// 用于判断是否需要执行表达式:\nexport function isNeedFormula(\n expression: any,\n prevData: {[propName: string]: any},\n curData: {[propName: string]: any}\n): boolean {\n const variables = FormulaExec.collect(expression);\n return variables.some(\n (variable: string) =>\n FormulaExec.var(variable, prevData) !== FormulaExec.var(variable, curData)\n );\n}\n\n// 将 \\${xx} 替换成 ${xx}\nexport function replaceExpression(expression: any): any {\n if (expression && isString(expression) && /(\\\\)(\\${).+(\\})/.test(expression)) {\n return expression.replace(/\\\\\\$\\{/g, '${');\n }\n return expression;\n}\n"
12
12
  ]
13
13
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "amis",
3
- "version": "1.9.1-beta.12",
3
+ "version": "1.9.1-beta.18",
4
4
  "description": "一种MIS页面生成工具",
5
5
  "main": "lib/index.js",
6
6
  "scripts": {
@@ -43,7 +43,7 @@
43
43
  ]
44
44
  },
45
45
  "dependencies": {
46
- "amis-formula": "^1.3.13",
46
+ "amis-formula": "^1.3.15",
47
47
  "ansi-to-react": "^6.1.6",
48
48
  "attr-accept": "2.2.2",
49
49
  "blueimp-canvastoblob": "2.1.0",
package/schema.json CHANGED
@@ -35160,6 +35160,10 @@
35160
35160
  "addBtnText": {
35161
35161
  "type": "string",
35162
35162
  "description": "自定义增加按钮文案"
35163
+ },
35164
+ "activeKey": {
35165
+ "$ref": "#/definitions/SchemaExpression",
35166
+ "description": "默认激活的选项卡,hash值或索引值,支持使用表达式"
35163
35167
  }
35164
35168
  },
35165
35169
  "required": [
@@ -65692,6 +65696,10 @@
65692
65696
  "type": "boolean",
65693
65697
  "description": "选父级的时候,是否只把子节点的值包含在内"
65694
65698
  },
65699
+ "onlyLeaf": {
65700
+ "type": "boolean",
65701
+ "description": "单选时,只运行选择叶子节点"
65702
+ },
65695
65703
  "rootCreatable": {
65696
65704
  "type": "boolean",
65697
65705
  "description": "顶级节点是否可以创建子节点"
@@ -67055,7 +67063,7 @@
67055
67063
  "$ref": "#/definitions/TabsSchema",
67056
67064
  "additionalProperties": false,
67057
67065
  "patternProperties": {
67058
- "^(type|className|$ref|disabled|disabledOn|hidden|hiddenOn|visible|visibleOn|id|onEvent|tabs|source|tabsClassName|tabsMode|contentClassName|linksClassName|mountOnEnter|unmountOnExit|toolbar|subFormMode|subFormHorizontal|addable|closable|draggable|showTip|showTipClassName|editable|scrollable|sidePosition|addBtnText|label|labelClassName|name|popOver|quickEdit|copyable)$": {}
67066
+ "^(type|className|$ref|disabled|disabledOn|hidden|hiddenOn|visible|visibleOn|id|onEvent|tabs|source|tabsClassName|tabsMode|contentClassName|linksClassName|mountOnEnter|unmountOnExit|toolbar|subFormMode|subFormHorizontal|addable|closable|draggable|showTip|showTipClassName|editable|scrollable|sidePosition|addBtnText|activeKey|label|labelClassName|name|popOver|quickEdit|copyable)$": {}
67059
67067
  }
67060
67068
  },
67061
67069
  {
@@ -67517,7 +67525,7 @@
67517
67525
  "$ref": "#/definitions/TreeControlSchema",
67518
67526
  "additionalProperties": false,
67519
67527
  "patternProperties": {
67520
- "^(className|$ref|disabled|disabledOn|hidden|hiddenOn|visible|visibleOn|id|onEvent|type|size|label|labelAlign|labelClassName|name|remark|labelRemark|hint|submitOnChange|readOnly|readOnlyOn|validateOnChange|description|desc|descriptionClassName|mode|horizontal|inline|inputClassName|placeholder|required|validationErrors|validations|value|clearValueOnHidden|validateApi|options|source|selectFirst|initFetchOn|initFetch|multiple|joinValues|delimiter|extractValue|clearable|resetValue|deferApi|addApi|addControls|creatable|createBtnLabel|editable|editApi|editControls|removable|deleteApi|deleteConfirmText|autoFill|hideRoot|rootLabel|rootValue|showIcon|autoCheckChildren|cascade|withChildren|onlyChildren|rootCreatable|enableNodePath|pathSeparator|showOutline|popOver|quickEdit|copyable)$": {}
67528
+ "^(className|$ref|disabled|disabledOn|hidden|hiddenOn|visible|visibleOn|id|onEvent|type|size|label|labelAlign|labelClassName|name|remark|labelRemark|hint|submitOnChange|readOnly|readOnlyOn|validateOnChange|description|desc|descriptionClassName|mode|horizontal|inline|inputClassName|placeholder|required|validationErrors|validations|value|clearValueOnHidden|validateApi|options|source|selectFirst|initFetchOn|initFetch|multiple|joinValues|delimiter|extractValue|clearable|resetValue|deferApi|addApi|addControls|creatable|createBtnLabel|editable|editApi|editControls|removable|deleteApi|deleteConfirmText|autoFill|hideRoot|rootLabel|rootValue|showIcon|autoCheckChildren|cascade|withChildren|onlyChildren|onlyLeaf|rootCreatable|enableNodePath|pathSeparator|showOutline|popOver|quickEdit|copyable)$": {}
67521
67529
  }
67522
67530
  },
67523
67531
  {
@@ -67891,7 +67899,7 @@
67891
67899
  "$ref": "#/definitions/TabsSchema",
67892
67900
  "additionalProperties": false,
67893
67901
  "patternProperties": {
67894
- "^(type|className|$ref|disabled|disabledOn|hidden|hiddenOn|visible|visibleOn|id|onEvent|tabs|source|tabsClassName|tabsMode|contentClassName|linksClassName|mountOnEnter|unmountOnExit|toolbar|subFormMode|subFormHorizontal|addable|closable|draggable|showTip|showTipClassName|editable|scrollable|sidePosition|addBtnText|label|labelClassName|name|popOver|quickEdit|copyable)$": {}
67902
+ "^(type|className|$ref|disabled|disabledOn|hidden|hiddenOn|visible|visibleOn|id|onEvent|tabs|source|tabsClassName|tabsMode|contentClassName|linksClassName|mountOnEnter|unmountOnExit|toolbar|subFormMode|subFormHorizontal|addable|closable|draggable|showTip|showTipClassName|editable|scrollable|sidePosition|addBtnText|activeKey|label|labelClassName|name|popOver|quickEdit|copyable)$": {}
67895
67903
  }
67896
67904
  },
67897
67905
  {
@@ -68353,7 +68361,7 @@
68353
68361
  "$ref": "#/definitions/TreeControlSchema",
68354
68362
  "additionalProperties": false,
68355
68363
  "patternProperties": {
68356
- "^(className|$ref|disabled|disabledOn|hidden|hiddenOn|visible|visibleOn|id|onEvent|type|size|label|labelAlign|labelClassName|name|remark|labelRemark|hint|submitOnChange|readOnly|readOnlyOn|validateOnChange|description|desc|descriptionClassName|mode|horizontal|inline|inputClassName|placeholder|required|validationErrors|validations|value|clearValueOnHidden|validateApi|options|source|selectFirst|initFetchOn|initFetch|multiple|joinValues|delimiter|extractValue|clearable|resetValue|deferApi|addApi|addControls|creatable|createBtnLabel|editable|editApi|editControls|removable|deleteApi|deleteConfirmText|autoFill|hideRoot|rootLabel|rootValue|showIcon|autoCheckChildren|cascade|withChildren|onlyChildren|rootCreatable|enableNodePath|pathSeparator|showOutline|popOver|quickEdit|copyable)$": {}
68364
+ "^(className|$ref|disabled|disabledOn|hidden|hiddenOn|visible|visibleOn|id|onEvent|type|size|label|labelAlign|labelClassName|name|remark|labelRemark|hint|submitOnChange|readOnly|readOnlyOn|validateOnChange|description|desc|descriptionClassName|mode|horizontal|inline|inputClassName|placeholder|required|validationErrors|validations|value|clearValueOnHidden|validateApi|options|source|selectFirst|initFetchOn|initFetch|multiple|joinValues|delimiter|extractValue|clearable|resetValue|deferApi|addApi|addControls|creatable|createBtnLabel|editable|editApi|editControls|removable|deleteApi|deleteConfirmText|autoFill|hideRoot|rootLabel|rootValue|showIcon|autoCheckChildren|cascade|withChildren|onlyChildren|onlyLeaf|rootCreatable|enableNodePath|pathSeparator|showOutline|popOver|quickEdit|copyable)$": {}
68357
68365
  }
68358
68366
  },
68359
68367
  {
@@ -68727,7 +68735,7 @@
68727
68735
  "$ref": "#/definitions/TabsSchema",
68728
68736
  "additionalProperties": false,
68729
68737
  "patternProperties": {
68730
- "^(type|className|$ref|disabled|disabledOn|hidden|hiddenOn|visible|visibleOn|id|onEvent|tabs|source|tabsClassName|tabsMode|contentClassName|linksClassName|mountOnEnter|unmountOnExit|toolbar|subFormMode|subFormHorizontal|addable|closable|draggable|showTip|showTipClassName|editable|scrollable|sidePosition|addBtnText|label|fixed|name|popOver|quickEdit|quickEditOnUpdate|copyable|sortable|searchable|toggled|width|align|classNameExpr|labelClassName|filterable|breakpoint|remark|value|unique)$": {}
68738
+ "^(type|className|$ref|disabled|disabledOn|hidden|hiddenOn|visible|visibleOn|id|onEvent|tabs|source|tabsClassName|tabsMode|contentClassName|linksClassName|mountOnEnter|unmountOnExit|toolbar|subFormMode|subFormHorizontal|addable|closable|draggable|showTip|showTipClassName|editable|scrollable|sidePosition|addBtnText|activeKey|label|fixed|name|popOver|quickEdit|quickEditOnUpdate|copyable|sortable|searchable|toggled|width|align|classNameExpr|labelClassName|filterable|breakpoint|remark|value|unique)$": {}
68731
68739
  }
68732
68740
  },
68733
68741
  {
@@ -69189,7 +69197,7 @@
69189
69197
  "$ref": "#/definitions/TreeControlSchema",
69190
69198
  "additionalProperties": false,
69191
69199
  "patternProperties": {
69192
- "^(className|$ref|disabled|disabledOn|hidden|hiddenOn|visible|visibleOn|id|onEvent|type|size|label|labelAlign|labelClassName|name|remark|labelRemark|hint|submitOnChange|readOnly|readOnlyOn|validateOnChange|description|desc|descriptionClassName|mode|horizontal|inline|inputClassName|placeholder|required|validationErrors|validations|value|clearValueOnHidden|validateApi|options|source|selectFirst|initFetchOn|initFetch|multiple|joinValues|delimiter|extractValue|clearable|resetValue|deferApi|addApi|addControls|creatable|createBtnLabel|editable|editApi|editControls|removable|deleteApi|deleteConfirmText|autoFill|hideRoot|rootLabel|rootValue|showIcon|autoCheckChildren|cascade|withChildren|onlyChildren|rootCreatable|enableNodePath|pathSeparator|showOutline|fixed|popOver|quickEdit|quickEditOnUpdate|copyable|sortable|searchable|toggled|width|align|classNameExpr|filterable|breakpoint|unique)$": {}
69200
+ "^(className|$ref|disabled|disabledOn|hidden|hiddenOn|visible|visibleOn|id|onEvent|type|size|label|labelAlign|labelClassName|name|remark|labelRemark|hint|submitOnChange|readOnly|readOnlyOn|validateOnChange|description|desc|descriptionClassName|mode|horizontal|inline|inputClassName|placeholder|required|validationErrors|validations|value|clearValueOnHidden|validateApi|options|source|selectFirst|initFetchOn|initFetch|multiple|joinValues|delimiter|extractValue|clearable|resetValue|deferApi|addApi|addControls|creatable|createBtnLabel|editable|editApi|editControls|removable|deleteApi|deleteConfirmText|autoFill|hideRoot|rootLabel|rootValue|showIcon|autoCheckChildren|cascade|withChildren|onlyChildren|onlyLeaf|rootCreatable|enableNodePath|pathSeparator|showOutline|fixed|popOver|quickEdit|quickEditOnUpdate|copyable|sortable|searchable|toggled|width|align|classNameExpr|filterable|breakpoint|unique)$": {}
69193
69201
  }
69194
69202
  },
69195
69203
  {
@@ -69563,7 +69571,7 @@
69563
69571
  "$ref": "#/definitions/TabsSchema",
69564
69572
  "additionalProperties": false,
69565
69573
  "patternProperties": {
69566
- "^(type|className|$ref|disabled|disabledOn|hidden|hiddenOn|visible|visibleOn|id|onEvent|tabs|source|tabsClassName|tabsMode|contentClassName|linksClassName|mountOnEnter|unmountOnExit|toolbar|subFormMode|subFormHorizontal|addable|closable|draggable|showTip|showTipClassName|editable|scrollable|sidePosition|addBtnText|x|y|w|h|width|height|align|valign|gridClassName)$": {}
69574
+ "^(type|className|$ref|disabled|disabledOn|hidden|hiddenOn|visible|visibleOn|id|onEvent|tabs|source|tabsClassName|tabsMode|contentClassName|linksClassName|mountOnEnter|unmountOnExit|toolbar|subFormMode|subFormHorizontal|addable|closable|draggable|showTip|showTipClassName|editable|scrollable|sidePosition|addBtnText|activeKey|x|y|w|h|width|height|align|valign|gridClassName)$": {}
69567
69575
  }
69568
69576
  },
69569
69577
  {
@@ -70025,7 +70033,7 @@
70025
70033
  "$ref": "#/definitions/TreeControlSchema",
70026
70034
  "additionalProperties": false,
70027
70035
  "patternProperties": {
70028
- "^(className|$ref|disabled|disabledOn|hidden|hiddenOn|visible|visibleOn|id|onEvent|type|size|label|labelAlign|labelClassName|name|remark|labelRemark|hint|submitOnChange|readOnly|readOnlyOn|validateOnChange|description|desc|descriptionClassName|mode|horizontal|inline|inputClassName|placeholder|required|validationErrors|validations|value|clearValueOnHidden|validateApi|options|source|selectFirst|initFetchOn|initFetch|multiple|joinValues|delimiter|extractValue|clearable|resetValue|deferApi|addApi|addControls|creatable|createBtnLabel|editable|editApi|editControls|removable|deleteApi|deleteConfirmText|autoFill|hideRoot|rootLabel|rootValue|showIcon|autoCheckChildren|cascade|withChildren|onlyChildren|rootCreatable|enableNodePath|pathSeparator|showOutline|x|y|w|h|width|height|align|valign|gridClassName)$": {}
70036
+ "^(className|$ref|disabled|disabledOn|hidden|hiddenOn|visible|visibleOn|id|onEvent|type|size|label|labelAlign|labelClassName|name|remark|labelRemark|hint|submitOnChange|readOnly|readOnlyOn|validateOnChange|description|desc|descriptionClassName|mode|horizontal|inline|inputClassName|placeholder|required|validationErrors|validations|value|clearValueOnHidden|validateApi|options|source|selectFirst|initFetchOn|initFetch|multiple|joinValues|delimiter|extractValue|clearable|resetValue|deferApi|addApi|addControls|creatable|createBtnLabel|editable|editApi|editControls|removable|deleteApi|deleteConfirmText|autoFill|hideRoot|rootLabel|rootValue|showIcon|autoCheckChildren|cascade|withChildren|onlyChildren|onlyLeaf|rootCreatable|enableNodePath|pathSeparator|showOutline|x|y|w|h|width|height|align|valign|gridClassName)$": {}
70029
70037
  }
70030
70038
  },
70031
70039
  {
@@ -70399,7 +70407,7 @@
70399
70407
  "$ref": "#/definitions/TabsSchema",
70400
70408
  "additionalProperties": false,
70401
70409
  "patternProperties": {
70402
- "^(type|className|$ref|disabled|disabledOn|hidden|hiddenOn|visible|visibleOn|id|onEvent|tabs|source|tabsClassName|tabsMode|contentClassName|linksClassName|mountOnEnter|unmountOnExit|toolbar|subFormMode|subFormHorizontal|addable|closable|draggable|showTip|showTipClassName|editable|scrollable|sidePosition|addBtnText|rowClassName|cellClassName)$": {}
70410
+ "^(type|className|$ref|disabled|disabledOn|hidden|hiddenOn|visible|visibleOn|id|onEvent|tabs|source|tabsClassName|tabsMode|contentClassName|linksClassName|mountOnEnter|unmountOnExit|toolbar|subFormMode|subFormHorizontal|addable|closable|draggable|showTip|showTipClassName|editable|scrollable|sidePosition|addBtnText|activeKey|rowClassName|cellClassName)$": {}
70403
70411
  }
70404
70412
  },
70405
70413
  {
@@ -70861,7 +70869,7 @@
70861
70869
  "$ref": "#/definitions/TreeControlSchema",
70862
70870
  "additionalProperties": false,
70863
70871
  "patternProperties": {
70864
- "^(className|$ref|disabled|disabledOn|hidden|hiddenOn|visible|visibleOn|id|onEvent|type|size|label|labelAlign|labelClassName|name|remark|labelRemark|hint|submitOnChange|readOnly|readOnlyOn|validateOnChange|description|desc|descriptionClassName|mode|horizontal|inline|inputClassName|placeholder|required|validationErrors|validations|value|clearValueOnHidden|validateApi|options|source|selectFirst|initFetchOn|initFetch|multiple|joinValues|delimiter|extractValue|clearable|resetValue|deferApi|addApi|addControls|creatable|createBtnLabel|editable|editApi|editControls|removable|deleteApi|deleteConfirmText|autoFill|hideRoot|rootLabel|rootValue|showIcon|autoCheckChildren|cascade|withChildren|onlyChildren|rootCreatable|enableNodePath|pathSeparator|showOutline|rowClassName|cellClassName)$": {}
70872
+ "^(className|$ref|disabled|disabledOn|hidden|hiddenOn|visible|visibleOn|id|onEvent|type|size|label|labelAlign|labelClassName|name|remark|labelRemark|hint|submitOnChange|readOnly|readOnlyOn|validateOnChange|description|desc|descriptionClassName|mode|horizontal|inline|inputClassName|placeholder|required|validationErrors|validations|value|clearValueOnHidden|validateApi|options|source|selectFirst|initFetchOn|initFetch|multiple|joinValues|delimiter|extractValue|clearable|resetValue|deferApi|addApi|addControls|creatable|createBtnLabel|editable|editApi|editControls|removable|deleteApi|deleteConfirmText|autoFill|hideRoot|rootLabel|rootValue|showIcon|autoCheckChildren|cascade|withChildren|onlyChildren|onlyLeaf|rootCreatable|enableNodePath|pathSeparator|showOutline|rowClassName|cellClassName)$": {}
70865
70873
  }
70866
70874
  },
70867
70875
  {
@@ -71235,7 +71243,7 @@
71235
71243
  "$ref": "#/definitions/TabsSchema",
71236
71244
  "additionalProperties": false,
71237
71245
  "patternProperties": {
71238
- "^(type|className|$ref|disabled|disabledOn|hidden|hiddenOn|visible|visibleOn|id|onEvent|tabs|source|tabsClassName|tabsMode|contentClassName|linksClassName|mountOnEnter|unmountOnExit|toolbar|subFormMode|subFormHorizontal|addable|closable|draggable|showTip|showTipClassName|editable|scrollable|sidePosition|addBtnText|unique|columnClassName)$": {}
71246
+ "^(type|className|$ref|disabled|disabledOn|hidden|hiddenOn|visible|visibleOn|id|onEvent|tabs|source|tabsClassName|tabsMode|contentClassName|linksClassName|mountOnEnter|unmountOnExit|toolbar|subFormMode|subFormHorizontal|addable|closable|draggable|showTip|showTipClassName|editable|scrollable|sidePosition|addBtnText|activeKey|unique|columnClassName)$": {}
71239
71247
  }
71240
71248
  },
71241
71249
  {
@@ -71697,7 +71705,7 @@
71697
71705
  "$ref": "#/definitions/TreeControlSchema",
71698
71706
  "additionalProperties": false,
71699
71707
  "patternProperties": {
71700
- "^(className|$ref|disabled|disabledOn|hidden|hiddenOn|visible|visibleOn|id|onEvent|type|size|label|labelAlign|labelClassName|name|remark|labelRemark|hint|submitOnChange|readOnly|readOnlyOn|validateOnChange|description|desc|descriptionClassName|mode|horizontal|inline|inputClassName|placeholder|required|validationErrors|validations|value|clearValueOnHidden|validateApi|options|source|selectFirst|initFetchOn|initFetch|multiple|joinValues|delimiter|extractValue|clearable|resetValue|deferApi|addApi|addControls|creatable|createBtnLabel|editable|editApi|editControls|removable|deleteApi|deleteConfirmText|autoFill|hideRoot|rootLabel|rootValue|showIcon|autoCheckChildren|cascade|withChildren|onlyChildren|rootCreatable|enableNodePath|pathSeparator|showOutline|unique|columnClassName)$": {}
71708
+ "^(className|$ref|disabled|disabledOn|hidden|hiddenOn|visible|visibleOn|id|onEvent|type|size|label|labelAlign|labelClassName|name|remark|labelRemark|hint|submitOnChange|readOnly|readOnlyOn|validateOnChange|description|desc|descriptionClassName|mode|horizontal|inline|inputClassName|placeholder|required|validationErrors|validations|value|clearValueOnHidden|validateApi|options|source|selectFirst|initFetchOn|initFetch|multiple|joinValues|delimiter|extractValue|clearable|resetValue|deferApi|addApi|addControls|creatable|createBtnLabel|editable|editApi|editControls|removable|deleteApi|deleteConfirmText|autoFill|hideRoot|rootLabel|rootValue|showIcon|autoCheckChildren|cascade|withChildren|onlyChildren|onlyLeaf|rootCreatable|enableNodePath|pathSeparator|showOutline|unique|columnClassName)$": {}
71701
71709
  }
71702
71710
  },
71703
71711
  {
@@ -72071,7 +72079,7 @@
72071
72079
  "$ref": "#/definitions/TabsSchema",
72072
72080
  "additionalProperties": false,
72073
72081
  "patternProperties": {
72074
- "^(type|className|$ref|disabled|disabledOn|hidden|hiddenOn|visible|visibleOn|id|onEvent|tabs|source|tabsClassName|tabsMode|contentClassName|linksClassName|mountOnEnter|unmountOnExit|toolbar|subFormMode|subFormHorizontal|addable|closable|draggable|showTip|showTipClassName|editable|scrollable|sidePosition|addBtnText|columnClassName|columnRatio)$": {}
72082
+ "^(type|className|$ref|disabled|disabledOn|hidden|hiddenOn|visible|visibleOn|id|onEvent|tabs|source|tabsClassName|tabsMode|contentClassName|linksClassName|mountOnEnter|unmountOnExit|toolbar|subFormMode|subFormHorizontal|addable|closable|draggable|showTip|showTipClassName|editable|scrollable|sidePosition|addBtnText|activeKey|columnClassName|columnRatio)$": {}
72075
72083
  }
72076
72084
  },
72077
72085
  {
@@ -72533,7 +72541,7 @@
72533
72541
  "$ref": "#/definitions/TreeControlSchema",
72534
72542
  "additionalProperties": false,
72535
72543
  "patternProperties": {
72536
- "^(className|$ref|disabled|disabledOn|hidden|hiddenOn|visible|visibleOn|id|onEvent|type|size|label|labelAlign|labelClassName|name|remark|labelRemark|hint|submitOnChange|readOnly|readOnlyOn|validateOnChange|description|desc|descriptionClassName|mode|horizontal|inline|inputClassName|placeholder|required|validationErrors|validations|value|clearValueOnHidden|validateApi|options|source|selectFirst|initFetchOn|initFetch|multiple|joinValues|delimiter|extractValue|clearable|resetValue|deferApi|addApi|addControls|creatable|createBtnLabel|editable|editApi|editControls|removable|deleteApi|deleteConfirmText|autoFill|hideRoot|rootLabel|rootValue|showIcon|autoCheckChildren|cascade|withChildren|onlyChildren|rootCreatable|enableNodePath|pathSeparator|showOutline|columnClassName|columnRatio)$": {}
72544
+ "^(className|$ref|disabled|disabledOn|hidden|hiddenOn|visible|visibleOn|id|onEvent|type|size|label|labelAlign|labelClassName|name|remark|labelRemark|hint|submitOnChange|readOnly|readOnlyOn|validateOnChange|description|desc|descriptionClassName|mode|horizontal|inline|inputClassName|placeholder|required|validationErrors|validations|value|clearValueOnHidden|validateApi|options|source|selectFirst|initFetchOn|initFetch|multiple|joinValues|delimiter|extractValue|clearable|resetValue|deferApi|addApi|addControls|creatable|createBtnLabel|editable|editApi|editControls|removable|deleteApi|deleteConfirmText|autoFill|hideRoot|rootLabel|rootValue|showIcon|autoCheckChildren|cascade|withChildren|onlyChildren|onlyLeaf|rootCreatable|enableNodePath|pathSeparator|showOutline|columnClassName|columnRatio)$": {}
72537
72545
  }
72538
72546
  },
72539
72547
  {
@@ -65,13 +65,17 @@
65
65
  margin-top: #{px2rem(10px)};
66
66
  }
67
67
 
68
+ &-settings.only-variable {
69
+ height: #{px2rem(350px)};
70
+ }
71
+
68
72
  &-panel {
69
73
  display: flex;
70
74
  flex: 1;
71
75
  flex-flow: column nowrap;
72
76
  justify-content: space-between;
73
77
  align-items: stretch;
74
- height: #{px2rem(250px)};
78
+ height: 100%;
75
79
  border-radius: var(--borderRadius);
76
80
  border: var(--Form-input-borderWidth) solid var(--Form-input-borderColor);
77
81
 
@@ -91,10 +95,11 @@
91
95
  flex: 1;
92
96
  display: flex;
93
97
  flex-flow: column nowrap;
94
- max-height: #{px2rem(220px)};
98
+ max-height: calc(100% - 30px);
99
+ overflow: hidden;
95
100
 
96
101
  &--tabs {
97
- max-height: #{px2rem(250px)};
102
+ max-height: 100%;
98
103
  }
99
104
  }
100
105
  }
@@ -215,12 +220,18 @@
215
220
  vertical-align: middle;
216
221
  text-align: center;
217
222
  padding: 0 #{px2rem(8px)};
218
- line-height: 17px;
219
223
  border-radius: var(--borderRadius);
220
224
  background: #f5f5f5;
221
225
  color: var(--black);
222
226
  }
223
227
  }
228
+ .#{$ns}GroupedSelection {
229
+ &-item {
230
+ &-tag {
231
+ line-height: 17px;
232
+ }
233
+ }
234
+ }
224
235
  }
225
236
 
226
237
  /* 函数列表 */
@@ -405,3 +416,33 @@
405
416
  }
406
417
  }
407
418
  }
419
+
420
+ .#{$ns}FormulaPicker.is-input-group {
421
+ border: var(--Form-input-borderWidth) solid var(--Form-input-borderColor);
422
+ padding: var(--Form-input-paddingY) var(--Form-input-paddingX);
423
+ border-radius: var(--borderRadius);
424
+ .#{$ns}FormulaPicker-input {
425
+ display: inline-block;
426
+ width: 100%;
427
+ background: none;
428
+ padding: 0;
429
+ border: 0;
430
+ margin: 0;
431
+ &:focus {
432
+ border: none;
433
+ outline: none;
434
+ box-sizing: none;
435
+ }
436
+ }
437
+ .#{$ns}FormulaPicker-toggler {
438
+ .icon-function {
439
+ transform: scale(1.6);
440
+ }
441
+ .icon-ellipsis-v {
442
+ transform: rotate(90deg);
443
+ }
444
+ &:hover {
445
+ cursor: pointer;
446
+ }
447
+ }
448
+ }
@@ -158,7 +158,7 @@
158
158
  border-bottom-right-radius: var(--Modal-content-borderRadius);
159
159
 
160
160
  .#{$ns}Button {
161
- width: var(--Modal-footer-button-width);
161
+ min-width: var(--Modal-footer-button-width);
162
162
  margin-left: var(--gap-sm);
163
163
  }
164
164
  }
@@ -230,14 +230,12 @@
230
230
  }
231
231
  }
232
232
 
233
- &:checked[disabled] + i{
233
+ &:checked[disabled] + i {
234
234
  width: var(--Checkbox-inner-size);
235
235
  height: var(--Checkbox-inner-size);
236
236
  background: var(--Checkbox-onDisabled-bg);
237
237
  }
238
-
239
238
  }
240
-
241
239
  }
242
240
  &--button.#{$ns}Checkbox--checkbox {
243
241
  text-align: center;
@@ -256,67 +254,72 @@
256
254
  border-radius: calc(var(--Checkbox-borderRadius) * 2);
257
255
  min-width: var(--Checkbox-button-min-width);
258
256
 
259
- &:hover:not(:disabled){
257
+ &:hover:not(:disabled) {
260
258
  color: var(--Checkbox-onHover-color);
261
259
  }
262
260
 
263
261
  &:hover {
264
262
  input:checked + i {
265
263
  background: transparent;
266
- border-color: var(--Button--primary-onHover-bg) transparent transparent var(--Button--primary-onHover-bg);
264
+ border-color: var(--Button--primary-onHover-bg) transparent transparent
265
+ var(--Button--primary-onHover-bg);
267
266
  }
268
267
  }
269
268
 
270
269
  &:active {
271
270
  input:checked + i {
272
271
  background: transparent;
273
- border-color: var(--Switch-checked-onHover-bgColor) transparent transparent var(--Switch-checked-onHover-bgColor);
272
+ border-color: var(--Switch-checked-onHover-bgColor) transparent
273
+ transparent var(--Switch-checked-onHover-bgColor);
274
274
  }
275
275
  }
276
276
 
277
277
  input {
278
- &:checked + i {
279
- background: transparent;
278
+ &:checked + i {
279
+ background: transparent;
280
+ top: 0;
281
+ left: 0;
282
+ width: 0;
283
+ height: 0;
284
+ border-width: px2rem(8px);
285
+ border-color: var(--Checkbox-onHover-color) transparent transparent
286
+ var(--Checkbox-onHover-color);
287
+ border-radius: 0;
288
+
289
+ &:before {
290
+ position: absolute;
280
291
  top: 0;
281
292
  left: 0;
282
- width: 0;
283
- height: 0;
284
- border-width: px2rem(8px);
285
- border-color: var(--Checkbox-onHover-color) transparent transparent var(--Checkbox-onHover-color);
286
- border-radius: 0;
287
-
288
- &:before {
289
- position: absolute;
290
- top: 0;
291
- left: 0;
292
- width: var(--Checkbox--full-inner-size);
293
- height: calc(var(--Checkbox--full-inner-size) / 2);
294
- transform: translate(-80%, -160%) rotate(-50deg);
295
- background: transparent;
296
- }
297
- }
298
-
299
- &[disabled] + i {
300
- border-color: var(--Checkbox-onDisabled-color);
293
+ width: var(--Checkbox--full-inner-size);
294
+ height: calc(var(--Checkbox--full-inner-size) / 2);
295
+ transform: translate(-80%, -160%) rotate(-50deg);
301
296
  background: transparent;
302
- &:before {
303
- background: transparent;
304
- }
305
297
  }
298
+ }
306
299
 
307
- &:checked[disabled] + i {
300
+ &[disabled] + i {
301
+ border-color: var(--Checkbox-onDisabled-color);
302
+ background: transparent;
303
+ &:before {
308
304
  background: transparent;
309
- border-width: px2rem(8px);
310
- border-color: var(--Checkbox-onHover-color) transparent transparent var(--Checkbox-onHover-color);
311
305
  }
306
+ }
307
+
308
+ &:checked[disabled] + i {
309
+ background: transparent;
310
+ border-width: px2rem(8px);
311
+ border-color: var(--Checkbox-onHover-color) transparent transparent
312
+ var(--Checkbox-onHover-color);
313
+ }
312
314
  }
313
315
  > i {
314
316
  position: absolute;
315
317
  top: 0;
316
- left:0;
318
+ left: 0;
317
319
  margin-left: 0;
318
320
  border: 0;
319
321
  border-style: solid;
322
+ background: transparent;
320
323
 
321
324
  + span {
322
325
  max-width: px2rem(100px);
@@ -330,14 +333,14 @@
330
333
  border-color: var(--Checkbox-onHover-color);
331
334
  color: var(--Checkbox-onHover-color);
332
335
 
333
- &:hover {
334
- border-color: var(--menu-active-color);
335
- color: var(--menu-active-color);
336
- }
337
- &:active {
338
- border-color: var(--Switch-checked-onHover-bgColor);
339
- color: var(--Switch-checked-onHover-bgColor);
340
- }
336
+ &:hover {
337
+ border-color: var(--menu-active-color);
338
+ color: var(--menu-active-color);
339
+ }
340
+ &:active {
341
+ border-color: var(--Switch-checked-onHover-bgColor);
342
+ color: var(--Switch-checked-onHover-bgColor);
343
+ }
341
344
  }
342
345
  &--button--disabled--unchecked.#{$ns}Checkbox--checkbox.#{$ns}Checkbox--full {
343
346
  i {
@@ -391,7 +394,7 @@
391
394
  border-radius: 50%;
392
395
  }
393
396
 
394
- &.#{$ns}Checkbox--button--disabled--unchecked.#{$ns}Checkbox--full{
397
+ &.#{$ns}Checkbox--button--disabled--unchecked.#{$ns}Checkbox--full {
395
398
  background: none;
396
399
 
397
400
  i {
@@ -464,7 +467,7 @@
464
467
  display: block;
465
468
  margin-bottom: var(--Form-label-paddingTop);
466
469
  }
467
-
470
+
468
471
  .#{$ns}Checkbox--button {
469
472
  margin-bottom: 0;
470
473
 
@@ -4,19 +4,20 @@
4
4
  &-placeholder {
5
5
  color: var(--Form-input-placeholderColor);
6
6
  user-select: none;
7
- position: absolute;
8
- left: var(--Form-input-paddingX);
9
- top: var(--Form-input-paddingY);
10
- margin-top: calc(2 * var(--Form-input-borderWidth));
11
7
  line-height: var(--Form-input-lineHeight);
8
+ position: absolute;
9
+ left: 2px;
10
+ overflow: hidden;
11
+ width: 100%;
12
12
  }
13
13
 
14
14
  &-valueWrap {
15
- display: flex;
16
15
  justify-content: space-between;
17
16
  flex-grow: 1;
18
17
  line-height: 1;
19
18
  white-space: nowrap;
19
+ width: 100%;
20
+ position: relative;
20
21
 
21
22
  > input {
22
23
  display: inline-block;
@@ -28,6 +29,7 @@
28
29
  &-input--withAC {
29
30
  position: relative;
30
31
  flex-wrap: wrap;
32
+ width: 100%;
31
33
 
32
34
  > input {
33
35
  width: auto;
@@ -98,7 +100,9 @@
98
100
  );
99
101
  vertical-align: middle;
100
102
  display: inline-block;
101
-
103
+ overflow: hidden;
104
+ width: 100%;
105
+ text-overflow: ellipsis;
102
106
  > i {
103
107
  display: inline-block;
104
108
  margin-right: var(--IconPicker-selectedIcon-marginRight);