@cloudbase/weda-ui 3.4.3 → 3.4.4

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.
Files changed (263) hide show
  1. package/dist/configs/components/chart/bar.json +4 -0
  2. package/dist/configs/components/chart/line.js +14 -10
  3. package/dist/configs/components/chart/pie.json +4 -0
  4. package/dist/configs/components/dataView.js +507 -0
  5. package/dist/configs/components/form/location.json +2 -1
  6. package/dist/configs/components/form/userTreeSelect.json +55 -0
  7. package/dist/configs/components/formdetail.json +12 -2
  8. package/dist/configs/components/grid/col.js +125 -0
  9. package/dist/configs/components/grid/grid.js +131 -0
  10. package/dist/configs/components/grid/row.js +143 -0
  11. package/dist/configs/components/image.js +11 -1
  12. package/dist/configs/components/link.js +11 -1
  13. package/dist/configs/components/listView.js +988 -0
  14. package/dist/configs/components/navigationBar.json +9 -1
  15. package/dist/configs/components/repeater-item.json +17 -0
  16. package/dist/configs/components/repeater.js +125 -0
  17. package/dist/configs/components/table.json +67 -24
  18. package/dist/configs/components/text.js +12 -1
  19. package/dist/configs/components/wd-bubble.js +204 -0
  20. package/dist/configs/components/wd-button.js +417 -0
  21. package/dist/configs/components/wd-divider.js +89 -0
  22. package/dist/configs/components/wd-icon.js +126 -0
  23. package/dist/configs/components/wd-image.js +164 -0
  24. package/dist/configs/components/wd-link.js +234 -0
  25. package/dist/configs/components/wd-table.js +59 -0
  26. package/dist/configs/components/wd-text.js +142 -0
  27. package/dist/configs/components/wxOpenApi/phone.js +2 -2
  28. package/dist/configs/components/wxOpenApi/phoneCode.js +2 -2
  29. package/dist/configs/index.js +34 -3
  30. package/dist/configs/type-utils/index.js +4 -1
  31. package/dist/docs/common/componentList.js +144 -0
  32. package/dist/docs/common/components/classes-view.js +34 -0
  33. package/dist/docs/common/components/event-view.js +46 -0
  34. package/dist/docs/common/components/json-schema-view.js +18 -0
  35. package/dist/docs/common/components/methods-view.js +32 -0
  36. package/dist/docs/common/components/properties-view.js +45 -0
  37. package/dist/docs/common/format.js +60 -35
  38. package/dist/docs/common/helper.js +1 -0
  39. package/dist/docs/common/tableView.js +61 -50
  40. package/dist/enum/index.js +521 -0
  41. package/dist/index.js +1 -1
  42. package/dist/style/index.scss +1 -0
  43. package/dist/web/actions/showMessage/index.css +0 -3
  44. package/dist/web/actions/showMessage/index.js +1 -1
  45. package/dist/web/actions/showModal/index.css +0 -3
  46. package/dist/web/components/button/index.css +2 -5
  47. package/dist/web/components/button/index.js +3 -3
  48. package/dist/web/components/calendar/index.css +29 -32
  49. package/dist/web/components/calendar/index.js +37 -35
  50. package/dist/web/components/carousel/index.css +11 -14
  51. package/dist/web/components/carousel/index.js +3 -1
  52. package/dist/web/components/chart/common/core/eChartBar.js +10 -2
  53. package/dist/web/components/chart/common/core/eChartLine.js +16 -8
  54. package/dist/web/components/chart/common/core/eChartPie.js +2 -1
  55. package/dist/web/components/chart/statisticsCard/index.css +12 -15
  56. package/dist/web/components/chart/statisticsCard/index.js +6 -1
  57. package/dist/web/components/dataView/index.js +3 -3
  58. package/dist/web/components/emptyContent/index.css +26 -0
  59. package/dist/web/components/emptyContent/index.js +46 -0
  60. package/dist/web/components/flow/components/FlowModuleText/index.css +1 -4
  61. package/dist/web/components/flow/components/FlowUserSelect/index.css +29 -32
  62. package/dist/web/components/flow/components/HighlightTextarea/index.css +5 -8
  63. package/dist/web/components/flow/components/UserSelectModel/UserSelect.js +5 -2
  64. package/dist/web/components/flow/components/UserSelectModel/UserSelectMobile.css +1 -4
  65. package/dist/web/components/flow/components/UserSelectModel/UserSelectMobile.js +8 -5
  66. package/dist/web/components/flow/components/WedaUserTransfer/index.css +0 -3
  67. package/dist/web/components/flow/frame/getCommonFlowData.js +3 -1
  68. package/dist/web/components/flow/frame/index.js +18 -1
  69. package/dist/web/components/flow/frame/types.js +6 -0
  70. package/dist/web/components/flow/frame/utils.js +20 -11
  71. package/dist/web/components/flow/modules/basic/Basic.css +3 -6
  72. package/dist/web/components/flow/modules/basic/BasicMobile.css +9 -12
  73. package/dist/web/components/flow/modules/chart/Chart.js +2 -2
  74. package/dist/web/components/flow/modules/chart/index.css +23 -26
  75. package/dist/web/components/flow/modules/chart/isString.js +5 -0
  76. package/dist/web/components/flow/modules/control/ApprovalDrawer.css +44 -47
  77. package/dist/web/components/flow/modules/control/ApprovalPopup.css +34 -37
  78. package/dist/web/components/flow/modules/control/ApprovalPopup.js +10 -6
  79. package/dist/web/components/flow/modules/control/Control.css +7 -10
  80. package/dist/web/components/flow/modules/control/Control.js +4 -1
  81. package/dist/web/components/flow/modules/control/ControlMobile.css +10 -13
  82. package/dist/web/components/flow/modules/control/FlowTaskInfoModal.css +0 -3
  83. package/dist/web/components/flow/modules/control/provider/useControlModel.js +18 -5
  84. package/dist/web/components/flow/modules/layout/index.css +0 -3
  85. package/dist/web/components/flow/modules/process/Process.js +1 -1
  86. package/dist/web/components/flow/modules/process/ProcessMobile.js +1 -1
  87. package/dist/web/components/flow/modules/process/index.css +49 -43
  88. package/dist/web/components/form/form/index.css +2 -5
  89. package/dist/web/components/form/form/index.js +48 -4
  90. package/dist/web/components/form/formcell/index.css +29 -17
  91. package/dist/web/components/form/input/index.css +5 -8
  92. package/dist/web/components/form/input/index.js +11 -0
  93. package/dist/web/components/form/location/common/mapChoose.css +88 -91
  94. package/dist/web/components/form/location/common/selectModal.css +10 -13
  95. package/dist/web/components/form/location/components/LocationH5/index.css +17 -20
  96. package/dist/web/components/form/location/components/LocationH5/location.h5.js +2 -3
  97. package/dist/web/components/form/location/components/LocationH5/location.module.css +0 -3
  98. package/dist/web/components/form/location/components/LocationPC/index.css +10 -13
  99. package/dist/web/components/form/location/components/LocationPC/location.PC.js +2 -3
  100. package/dist/web/components/form/location/index.css +0 -3
  101. package/dist/web/components/form/radio/index.css +0 -3
  102. package/dist/web/components/form/select/allTimePicker/calendar.css +15 -18
  103. package/dist/web/components/form/select/allTimePicker/index.css +53 -27
  104. package/dist/web/components/form/select/dropdown-select/h5.js +22 -11
  105. package/dist/web/components/form/select/dropdown-select/index.css +28 -28
  106. package/dist/web/components/form/select/dropdown-select/index.js +37 -4
  107. package/dist/web/components/form/select/dropdown-select/pc.js +57 -17
  108. package/dist/web/components/form/select/dropdown-select/ui.js +5 -2
  109. package/dist/web/components/form/select/index.css +12 -8
  110. package/dist/web/components/form/select/index.js +2 -2
  111. package/dist/web/components/form/select/status/index.css +10 -13
  112. package/dist/web/components/form/switch/switch.module.css +0 -3
  113. package/dist/web/components/form/textarea/index.css +1 -4
  114. package/dist/web/components/form/tips/index.css +11 -2
  115. package/dist/web/components/form/uploader/index.css +14 -17
  116. package/dist/web/components/form/uploaderFile/index.css +61 -64
  117. package/dist/web/components/form/userOrgSelect/common/fetch-data-service.js +120 -38
  118. package/dist/web/components/form/userOrgSelect/common/utils.js +89 -1
  119. package/dist/web/components/form/userOrgSelect/component/depart-breadcrumb.js +15 -0
  120. package/dist/web/components/form/userOrgSelect/component/depart-select/depart-select-pc.js +63 -0
  121. package/dist/web/components/form/userOrgSelect/component/depart-select/index.js +96 -0
  122. package/dist/web/components/form/userOrgSelect/component/depart-select/org-modal-pc.js +69 -0
  123. package/dist/web/components/form/userOrgSelect/{user-select-pc → component}/error-tips.js +0 -0
  124. package/dist/web/components/form/userOrgSelect/component/index.css +323 -0
  125. package/dist/web/components/form/userOrgSelect/component/input-tags.js +21 -0
  126. package/dist/web/components/form/userOrgSelect/component/modal-search-h5.js +25 -0
  127. package/dist/web/components/form/userOrgSelect/component/modal-search.js +11 -0
  128. package/dist/web/components/form/userOrgSelect/component/modal-select-h5.js +201 -0
  129. package/dist/web/components/form/userOrgSelect/component/org-tree-h5.js +19 -0
  130. package/dist/web/components/form/userOrgSelect/component/org-tree.js +33 -0
  131. package/dist/web/components/form/userOrgSelect/component/selected-list-h5.js +44 -0
  132. package/dist/web/components/form/userOrgSelect/component/selected-list.js +15 -0
  133. package/dist/web/components/form/userOrgSelect/component/user-org-list.js +55 -0
  134. package/dist/web/components/form/userOrgSelect/component/user-select-h5/index.js +151 -0
  135. package/dist/web/components/form/userOrgSelect/component/user-select-h5/user-list-h5.js +107 -0
  136. package/dist/web/components/form/userOrgSelect/component/user-select-h5/user-select-h5.js +50 -0
  137. package/dist/web/components/form/userOrgSelect/component/user-select-pc/error-tips.js +11 -0
  138. package/dist/web/components/form/userOrgSelect/{user-select-pc → component/user-select-pc}/model-user-list.js +9 -9
  139. package/dist/web/components/form/userOrgSelect/component/user-select-pc/org-tree.js +10 -0
  140. package/dist/web/components/form/userOrgSelect/component/user-select-pc/user-model.js +75 -0
  141. package/dist/web/components/form/userOrgSelect/component/user-select-pc/user-select-pc.js +65 -0
  142. package/dist/web/components/form/userOrgSelect/component/userOrgSelect.css +1160 -0
  143. package/dist/web/components/form/userOrgSelect/departTreeSelect/departTreeSelect.h5.js +54 -87
  144. package/dist/web/components/form/userOrgSelect/hooks/use-depart-data.js +30 -35
  145. package/dist/web/components/form/userOrgSelect/hooks/use-views-data.js +48 -0
  146. package/dist/web/components/formdetail/index.css +34 -31
  147. package/dist/web/components/formdetail/index.js +12 -3
  148. package/dist/web/components/graphicCard/index.css +15 -18
  149. package/dist/web/components/grid/_utils.css +67 -0
  150. package/dist/web/components/grid/col.js +33 -0
  151. package/dist/web/components/grid/grid.css +1185 -0
  152. package/dist/web/components/grid/grid.js +19 -0
  153. package/dist/web/components/grid/row.js +14 -0
  154. package/dist/web/components/image/image.js +9 -1
  155. package/dist/web/components/image/index.css +2 -5
  156. package/dist/web/components/index.js +17 -3
  157. package/dist/web/components/link/index.css +0 -3
  158. package/dist/web/components/listView/index.css +21 -23
  159. package/dist/web/components/listView/index.js +171 -34
  160. package/dist/web/components/lottery/index.css +72 -75
  161. package/dist/web/components/modal/h5.css +19 -21
  162. package/dist/web/components/modal/modal.h5.js +11 -10
  163. package/dist/web/components/navLayout/index.css +14 -139
  164. package/dist/web/components/navigationBar/common.js +5 -4
  165. package/dist/web/components/navigationBar/h5Menu.js +12 -10
  166. package/dist/web/components/navigationBar/horizontalMenu.js +42 -35
  167. package/dist/web/components/navigationBar/index.css +130 -86
  168. package/dist/web/components/navigationBar/index.js +6 -4
  169. package/dist/web/components/navigationBar/verticalMenu.js +13 -9
  170. package/dist/web/components/pageLayout/PageContent/index.css +7 -10
  171. package/dist/web/components/pageLayout/index.css +0 -3
  172. package/dist/web/components/pageLayout/index.js +2 -1
  173. package/dist/web/components/repeater/index.js +17 -0
  174. package/dist/web/components/repeater-item/index.js +9 -0
  175. package/dist/web/components/richText/index.css +5 -8
  176. package/dist/web/components/richText/index.js +4 -2
  177. package/dist/web/components/richText/richtext.module.css +1 -4
  178. package/dist/web/components/richTextView/index.css +7 -10
  179. package/dist/web/components/swiper/index.css +10 -13
  180. package/dist/web/components/swiper/index.js +19 -5
  181. package/dist/web/components/table/BaseTable.js +352 -283
  182. package/dist/web/components/table/ExportFileModalByApi/index.css +9 -0
  183. package/dist/web/components/table/ExportFileModalByApi/index.js +150 -0
  184. package/dist/web/components/table/FieldRender.js +25 -18
  185. package/dist/web/components/table/FilterFields.js +17 -11
  186. package/dist/web/components/table/Form/Location.css +2 -5
  187. package/dist/web/components/table/ImportFileModal/csvTemplate.json +65 -6
  188. package/dist/web/components/table/ImportFileModalByApi/index.css +130 -0
  189. package/dist/web/components/table/ImportFileModalByApi/index.js +321 -0
  190. package/dist/web/components/table/ImportFileModalByApi/uploadCSVFile.js +115 -0
  191. package/dist/web/components/table/InOrOutRecordModeal.js +139 -0
  192. package/dist/web/components/table/SelectableBlock/index.css +0 -2
  193. package/dist/web/components/table/UserDepartment/viewCell.css +3 -6
  194. package/dist/web/components/table/baseTable.css +579 -0
  195. package/dist/web/components/table/hooks/useImportingStatus.js +69 -0
  196. package/dist/web/components/table/hooks/useInOutFieldsRecords.js +23 -0
  197. package/dist/web/components/table/index.css +275 -508
  198. package/dist/web/components/table/index.js +6 -4
  199. package/dist/web/components/tabs/index.css +19 -18
  200. package/dist/web/components/tabs/tabs.h5.js +7 -16
  201. package/dist/web/components/text/index.css +6 -9
  202. package/dist/web/components/uploaderFileView/index.css +0 -3
  203. package/dist/web/components/uploaderView/index.css +5 -8
  204. package/dist/web/components/wd-bubble/index.js +3 -17
  205. package/dist/web/components/wd-bubble/wd-bubble.js +17 -0
  206. package/dist/web/components/wd-button/convert-legacy-props.js +14 -0
  207. package/dist/web/components/wd-button/index.js +3 -0
  208. package/dist/web/components/wd-button/wd-button.js +89 -0
  209. package/dist/web/components/wd-config-provider/index.js +1 -0
  210. package/dist/web/components/wd-config-provider/wd-config-context.js +5 -0
  211. package/dist/web/components/wd-config-provider/wd-config-provider.js +12 -0
  212. package/dist/web/components/wd-divider/index.js +3 -0
  213. package/dist/web/components/wd-divider/wd-divider.js +29 -0
  214. package/dist/web/components/wd-icon/convert-legacy-props.js +14 -0
  215. package/dist/web/components/wd-icon/index.js +3 -0
  216. package/dist/web/components/wd-icon/wd-icon.js +63 -0
  217. package/dist/web/components/wd-image/image.js +171 -0
  218. package/dist/web/components/wd-image/index.js +82 -0
  219. package/dist/web/components/wd-link/index.js +3 -0
  220. package/dist/web/components/wd-link/wd-link.js +105 -0
  221. package/dist/web/components/wd-table/index.js +3 -0
  222. package/dist/web/components/wd-table/wd-table.js +24 -0
  223. package/dist/web/components/wd-text/convert-legacy-props.js +14 -0
  224. package/dist/web/components/wd-text/index.js +3 -0
  225. package/dist/web/components/wd-text/wd-text.js +91 -0
  226. package/dist/web/components/wedaVideo/index.css +2 -5
  227. package/dist/web/components/wedaVideo/index.js +8 -6
  228. package/dist/web/index.js +1 -1
  229. package/dist/web/utils/config-context/index.js +1 -0
  230. package/dist/web/utils/config-context/use-config.js +9 -0
  231. package/dist/web/utils/constant.js +1 -0
  232. package/dist/web/utils/datasource.js +19 -7
  233. package/dist/web/utils/file.js +22 -0
  234. package/dist/web/utils/hooks/CreatePortal.js +6 -0
  235. package/dist/web/utils/hooks/EnumHoc.js +23 -3
  236. package/dist/web/utils/hooks/context.js +5 -1
  237. package/dist/web/utils/platform.js +31 -11
  238. package/dist/web/utils/pollingInterface.js +61 -0
  239. package/dist/web/utils/tcb.js +16 -0
  240. package/dist/web/utils/tool.js +88 -0
  241. package/dist/web/utils/widget-api/index.js +18 -0
  242. package/dist/web/weda-ui.css +128 -4
  243. package/package.json +50 -32
  244. package/dist/configs/components/dataView.json +0 -305
  245. package/dist/configs/components/listView.json +0 -515
  246. package/dist/configs/components/wd-bubble.json +0 -170
  247. package/dist/web/components/form/userOrgSelect/comTool.js +0 -102
  248. package/dist/web/components/form/userOrgSelect/departTreeSelect/departTreeSelect.pc.js +0 -155
  249. package/dist/web/components/form/userOrgSelect/departTreeSelect/index.js +0 -17
  250. package/dist/web/components/form/userOrgSelect/getUserService.js +0 -165
  251. package/dist/web/components/form/userOrgSelect/index.js +0 -17
  252. package/dist/web/components/form/userOrgSelect/user-select-pc/index.css +0 -216
  253. package/dist/web/components/form/userOrgSelect/user-select-pc/index.js +0 -195
  254. package/dist/web/components/form/userOrgSelect/user-select-pc/org-tree.js +0 -15
  255. package/dist/web/components/form/userOrgSelect/user-select-pc/search-user.js +0 -80
  256. package/dist/web/components/form/userOrgSelect/user-select-pc/selected-user-list.js +0 -12
  257. package/dist/web/components/form/userOrgSelect/user-select-pc/user-model.js +0 -36
  258. package/dist/web/components/form/userOrgSelect/userOrgSelect.css +0 -824
  259. package/dist/web/components/form/userOrgSelect/userTreeSelect.h5.js +0 -302
  260. package/dist/web/components/form/userOrgSelect/utils.js +0 -95
  261. package/dist/web/components/table/ImportFileModal/index.css +0 -263
  262. package/dist/web/components/wd-bubble/index.css +0 -21
  263. package/dist/web/utils/hooks/useRequest.js +0 -25
@@ -115,6 +115,28 @@ export const getXlsxFileToJson = (file, cb) => {
115
115
  }
116
116
  };
117
117
  };
118
+ /**
119
+ * 读取上传的xlsx文件的表头
120
+ */
121
+ export const getXlsxFileHeader = (file, cb) => {
122
+ const reader = new FileReader();
123
+ reader.readAsArrayBuffer(file);
124
+ reader.onloadend = () => {
125
+ const wb = readFile(reader.result, {
126
+ type: 'binary',
127
+ cellDates: true,
128
+ });
129
+ const result = utils.sheet_to_json(wb.Sheets[wb.SheetNames[0]], {
130
+ header: 1,
131
+ cellDates: true,
132
+ });
133
+ const [header] = result;
134
+ const headers = Array.isArray(header) ? header : [];
135
+ if (cb) {
136
+ cb({ headers });
137
+ }
138
+ };
139
+ };
118
140
  const datenum = (v, date1904) => {
119
141
  /** excel 的时间从 1900/1/0(1899/12/30)开始 ,此时对中国用的上海时区(GMT+0805)+8:05:43,1800~1900年。
120
142
  时区是动态的,根据时间的变化而变化
@@ -0,0 +1,6 @@
1
+ import React, { useRef } from 'react';
2
+ import ReactDOM from 'react-dom';
3
+ export function CreatePortal(props) {
4
+ const container = useRef(document.querySelector('body'));
5
+ return (React.createElement(React.Fragment, null, ReactDOM.createPortal(React.createElement("div", { style: { zIndex: 1001, position: 'relative' } }, props.children), container.current)));
6
+ }
@@ -9,17 +9,18 @@ import { useSyncValue } from './useSyncValue';
9
9
  export function EnumHoc(props) {
10
10
  const [enumOptions, setEnumOptions] = useState({});
11
11
  const [loading, setLoading] = useState(true);
12
- const [fields] = useSyncValue(props.fields, isObjectEqual);
12
+ const [fields, setFields] = useSyncValue(props.fields, isObjectEqual);
13
13
  useEffect(() => {
14
14
  const fetch = async () => {
15
15
  setLoading(true);
16
- const enumOptions = await getEnumOptions(props.fields);
16
+ const fieldsProcessed = flattenFields(fields);
17
+ const enumOptions = await getEnumOptions(fieldsProcessed);
17
18
  setEnumOptions(enumOptions);
18
19
  setLoading(false);
19
20
  };
20
21
  fetch();
21
22
  }, [fields]);
22
- return (React.createElement(EnumContext.Provider, { value: { enumOptions, loading } }, props.children));
23
+ return (React.createElement(EnumContext.Provider, { value: { enumOptions, loading, setFields } }, props.children));
23
24
  }
24
25
  /**
25
26
  * 获取通用选项集
@@ -59,3 +60,22 @@ async function getEnumOptions(fields) {
59
60
  }
60
61
  return result;
61
62
  }
63
+ /**
64
+ * 遍历关联关系拿到所有字段列表
65
+ */
66
+ function flattenFields(fields, result = []) {
67
+ try {
68
+ fields.map((item) => {
69
+ var _a, _b;
70
+ result.push(item);
71
+ if (item.parentDatasource) {
72
+ const subFields = Object.values((_b = (_a = item.parentDatasource) === null || _a === void 0 ? void 0 : _a.schema) === null || _b === void 0 ? void 0 : _b.properties);
73
+ flattenFields(subFields, result);
74
+ }
75
+ });
76
+ }
77
+ catch (e) {
78
+ result = fields;
79
+ }
80
+ return result;
81
+ }
@@ -1,6 +1,10 @@
1
1
  import { createContext, useContext } from 'react';
2
2
  // 通用选项集
3
- export const EnumContext = createContext({ enumOptions: {}, loading: true });
3
+ export const EnumContext = createContext({
4
+ enumOptions: {},
5
+ loading: true,
6
+ setFields: null,
7
+ });
4
8
  // 通用选项集-hook
5
9
  export const useEnumContext = () => {
6
10
  const value = useContext(EnumContext);
@@ -35,7 +35,7 @@ export const isHttpFileID = (url) => {
35
35
  };
36
36
  export function usePlatform() {
37
37
  var _a, _b;
38
- const smallScreen = (_a = useMediaQuery('(max-width: 1024px)')) !== null && _a !== void 0 ? _a : isH5Platform();
38
+ const smallScreen = (_a = useMediaQuery('(max-width: 768px)')) !== null && _a !== void 0 ? _a : isH5Platform();
39
39
  const touchDevice = (_b = useMediaQuery('(pointer:coarse)')) !== null && _b !== void 0 ? _b : smallScreen;
40
40
  // 非高精度指针(鼠标)就直接 h5, 否则当屏幕小于1024 时用h5
41
41
  return touchDevice || smallScreen ? 'h5' : 'pc';
@@ -210,25 +210,31 @@ export const getWhereList = (where) => {
210
210
  firstGroupLogicTyp = item1 === null || item1 === void 0 ? void 0 : item1.groupLogic;
211
211
  }
212
212
  if (Array.isArray(item1 === null || item1 === void 0 ? void 0 : item1.logicData)) {
213
- item1ResultList = item1 === null || item1 === void 0 ? void 0 : item1.logicData.map((item2, index2) => {
213
+ item1.logicData.forEach((item2, index2) => {
214
214
  let item2Result = {};
215
215
  let rule = {};
216
216
  if (index2 === 1) {
217
217
  // 每组之间统一取且/或,只有一组 groupLogic 默认值为 null
218
218
  secondGroupLogicTyp = item2 === null || item2 === void 0 ? void 0 : item2.logic;
219
219
  }
220
- let [rel, val] = [REL_DICT[item2 === null || item2 === void 0 ? void 0 : item2.rel], item2 === null || item2 === void 0 ? void 0 : item2.value];
220
+ let [rel, val] = [REL_DICT[item2 === null || item2 === void 0 ? void 0 : item2.rel] || (item2 === null || item2 === void 0 ? void 0 : item2.rel), item2 === null || item2 === void 0 ? void 0 : item2.value];
221
+ // 去掉空字符串、undefined(接口不支持)、对象类型(接口不支持)
222
+ if (val === '' ||
223
+ val === undefined ||
224
+ Object.prototype.toString.call(val) === '[object Object]') {
225
+ console.error(`${item2 === null || item2 === void 0 ? void 0 : item2.key}筛选值为:${val},不符合查询条件,请检查绑定变量值是否正确`);
226
+ return;
227
+ }
221
228
  if ('_begin_with' === rel) {
222
229
  rel = 'regex';
223
230
  val = `^${val}`;
224
231
  }
225
232
  if ('_exclude' === rel) {
226
- rel = 'regex';
227
- val = `^((?!${val}).)*$`;
233
+ rel = 'nsearch';
228
234
  }
229
235
  rule['$' + rel] = val;
230
236
  item2Result[item2 === null || item2 === void 0 ? void 0 : item2.key] = rule;
231
- return item2Result;
237
+ item1ResultList.push(item2Result);
232
238
  });
233
239
  }
234
240
  item1Result['$' + secondGroupLogicTyp] = item1ResultList;
@@ -254,11 +260,10 @@ export const textToString = (text) => {
254
260
  };
255
261
  /**
256
262
  * 统一错误提示
257
- *
258
263
  */
259
- export function alertErrorMessage({ message, duration = 1500, icon = 'none' }) {
264
+ export function alertErrorMessage({ message, duration = 3000, icon = 'none' }) {
260
265
  var _a, _b, _c, _d, _e;
261
- const smallScreen = (_b = (_a = window === null || window === void 0 ? void 0 : window.matchMedia('(max-width: 1024px)')) === null || _a === void 0 ? void 0 : _a.matches) !== null && _b !== void 0 ? _b : isH5Platform();
266
+ const smallScreen = (_b = (_a = window === null || window === void 0 ? void 0 : window.matchMedia('(max-width: 768px)')) === null || _a === void 0 ? void 0 : _a.matches) !== null && _b !== void 0 ? _b : isH5Platform();
262
267
  const touchDevice = (_d = (_c = window === null || window === void 0 ? void 0 : window.matchMedia('(pointer:coarse)')) === null || _c === void 0 ? void 0 : _c.matches) !== null && _d !== void 0 ? _d : smallScreen;
263
268
  const platform = touchDevice || smallScreen ? 'h5' : 'pc';
264
269
  if (platform === 'h5') {
@@ -269,13 +274,15 @@ export function alertErrorMessage({ message, duration = 1500, icon = 'none' }) {
269
274
  });
270
275
  }
271
276
  else {
272
- TeaMessage.error({ content: message, duration });
277
+ const iconMap = { success: 'success', none: 'error' };
278
+ TeaMessage[iconMap[icon] || 'error']({ content: message, duration });
273
279
  }
274
280
  }
275
281
  /**
276
282
  * 跳转到相关的模型页面
277
283
  */
278
284
  export const navigateToModelPage = (action, params = {}) => {
285
+ var _a, _b;
279
286
  // eslint-disable-next-line prefer-const
280
287
  let { id, dbName } = params;
281
288
  // 没有指定数据库标识
@@ -283,11 +290,18 @@ export const navigateToModelPage = (action, params = {}) => {
283
290
  alertErrorMessage({ message: '页面信息错误,缺少“数据源名称”' });
284
291
  return;
285
292
  }
286
- window.app.navigateTo({
293
+ (_b = (_a = window.app) === null || _a === void 0 ? void 0 : _a.navigateTo) === null || _b === void 0 ? void 0 : _b.call(_a, {
287
294
  pageId: `${dbName}_${action}`,
288
295
  params: { id },
289
296
  });
290
297
  };
298
+ /**
299
+ * 返回上一页
300
+ */
301
+ export const navigateBack = () => {
302
+ var _a, _b;
303
+ (_b = (_a = window.app) === null || _a === void 0 ? void 0 : _a.navigateBack) === null || _b === void 0 ? void 0 : _b.call(_a);
304
+ };
291
305
  /**
292
306
  * 判断一个字段是否为内置系统字段
293
307
  */
@@ -329,3 +343,9 @@ export const getUserInfo = () => {
329
343
  const userInfo = (_b = (_a = window === null || window === void 0 ? void 0 : window.app) === null || _a === void 0 ? void 0 : _a.auth) === null || _b === void 0 ? void 0 : _b.getUserInfo();
330
344
  return Promise.resolve(userInfo);
331
345
  };
346
+ /**
347
+ * 判断当前浏览器是否支持图片懒加载
348
+ */
349
+ export const isSupportLoading = () => {
350
+ return 'loading' in HTMLImageElement.prototype;
351
+ };
@@ -0,0 +1,61 @@
1
+ export class PollingInterface {
2
+ constructor(fn, interval = 5000, count = 10) {
3
+ Object.defineProperty(this, "timeObj", {
4
+ enumerable: true,
5
+ configurable: true,
6
+ writable: true,
7
+ value: {}
8
+ }); // 轮询对象
9
+ Object.defineProperty(this, "timeId", {
10
+ enumerable: true,
11
+ configurable: true,
12
+ writable: true,
13
+ value: 0
14
+ }); // 轮询id
15
+ Object.defineProperty(this, "isFirst", {
16
+ enumerable: true,
17
+ configurable: true,
18
+ writable: true,
19
+ value: true
20
+ }); // 是否首次轮询
21
+ this.fn = fn; // 轮询方法体
22
+ this.interval = interval; // 轮询时间
23
+ this.defaultCount = count; // 默认轮询次数
24
+ this.count = count; // 轮询次数
25
+ }
26
+ setCallback(cb) {
27
+ this.cb = cb;
28
+ }
29
+ // 开启轮询
30
+ start() {
31
+ const id = this.timeId++;
32
+ this.timeObj[id] = true;
33
+ const timerFn = () => {
34
+ if (!this.timeObj[id])
35
+ return;
36
+ this.fn();
37
+ };
38
+ // 若是首次,直接执行方法体,并修改是否首次状态为false,并减少次数
39
+ if (this.isFirst) {
40
+ timerFn();
41
+ this.count--;
42
+ this.isFirst = false;
43
+ return;
44
+ }
45
+ if (this.count > 0) {
46
+ // eslint-disable-next-line rulesdir/no-timer
47
+ setTimeout(timerFn, this.interval);
48
+ this.count--;
49
+ }
50
+ else {
51
+ this.stop();
52
+ typeof this.cb === 'function' && this.cb(this.count);
53
+ }
54
+ }
55
+ // 停止轮询
56
+ stop() {
57
+ this.count = this.defaultCount;
58
+ this.timeObj = {};
59
+ this.isFirst = true;
60
+ }
61
+ }
@@ -108,6 +108,22 @@ export const getDataSourceByName = async (dbName) => {
108
108
  });
109
109
  return datasource;
110
110
  };
111
+ /*
112
+ 判断接口是否存在
113
+ */
114
+ export const getIsExitApi = async (params) => {
115
+ var _a, _b;
116
+ try {
117
+ await callWedaApi(params);
118
+ return true;
119
+ }
120
+ catch (error) {
121
+ const message = (_b = (_a = error === null || error === void 0 ? void 0 : error.original) === null || _a === void 0 ? void 0 : _a.result) === null || _b === void 0 ? void 0 : _b.message;
122
+ const status = (message === null || message === void 0 ? void 0 : message.indexOf('Action不存在')) != -1 ||
123
+ (message === null || message === void 0 ? void 0 : message.indexOf('接口不存在')) != -1;
124
+ return !status;
125
+ }
126
+ };
111
127
  export const callWedaApi = (...args) => { var _a, _b; return (_b = (_a = window === null || window === void 0 ? void 0 : window.app) === null || _a === void 0 ? void 0 : _a.cloud) === null || _b === void 0 ? void 0 : _b.callWedaApi(...args); };
112
128
  export const callFunction = (...args) => { var _a, _b; return (_b = (_a = window === null || window === void 0 ? void 0 : window.app) === null || _a === void 0 ? void 0 : _a.cloud) === null || _b === void 0 ? void 0 : _b.callFunction(...args); };
113
129
  export async function getCloudInstance() {
@@ -19,3 +19,91 @@ export const isValueNone = (val) => [undefined, '', null].includes(val);
19
19
  * 判断值是否为空,在 isValueNone 基础上加上空数组
20
20
  */
21
21
  export const isValueEmpty = (val) => isValueNone(val) || (Array.isArray(val) && (val === null || val === void 0 ? void 0 : val.length) === 0);
22
+ /**
23
+ * 唯一标识
24
+ */
25
+ export const getUuid = () => {
26
+ const now = Date.now();
27
+ const str = Math.random().toString().substr(2, 8);
28
+ return `${now}_${str}`;
29
+ };
30
+ /**
31
+ * 转换枚举值
32
+ */
33
+ export const convertLegacyEnum = (prop, enumObj) => {
34
+ return enumObj.map((i) => i.value).includes(prop) ? prop : enumObj[0].value;
35
+ };
36
+ /**
37
+ * 判断数据源字段类型名称
38
+ */
39
+ export const getFieldsTypeName = (fields) => {
40
+ return fields.map((item) => {
41
+ const { type, format, fatherAction } = item;
42
+ if (type === 'string' && !format) {
43
+ item.fieldsTypeName = '文本';
44
+ }
45
+ else if (type === 'boolean' && !format) {
46
+ item.fieldsTypeName = '布尔值';
47
+ }
48
+ else if (type === 'number' && !format) {
49
+ item.fieldsTypeName = '数字';
50
+ }
51
+ else if (type === 'array' && !format) {
52
+ item.fieldsTypeName = '数组';
53
+ }
54
+ else if (type === 'object' && !format) {
55
+ item.fieldsTypeName = '对象';
56
+ }
57
+ else if (type === 'string' && format === 'email') {
58
+ item.fieldsTypeName = '邮箱';
59
+ }
60
+ else if (type === 'string' && format === 'phone') {
61
+ item.fieldsTypeName = '电话';
62
+ }
63
+ else if (type === 'string' && format === 'url') {
64
+ item.fieldsTypeName = '网址';
65
+ }
66
+ else if (type === 'string' && format === 'x-image') {
67
+ item.fieldsTypeName = '图片';
68
+ }
69
+ else if (type === 'string' && format === 'x-rtf') {
70
+ item.fieldsTypeName = '富文本';
71
+ }
72
+ else if (type === 'number' && format === 'datetime') {
73
+ item.fieldsTypeName = '日期时间';
74
+ }
75
+ else if (type === 'number' && format === 'date') {
76
+ item.fieldsTypeName = '日期';
77
+ }
78
+ else if (type === 'number' && format === 'time') {
79
+ item.fieldsTypeName = '时间';
80
+ }
81
+ else if (type === 'string' && format === 'x-enum') {
82
+ item.fieldsTypeName = '枚举';
83
+ }
84
+ else if (type === 'object' && format === 'x-location') {
85
+ item.fieldsTypeName = '地理位置';
86
+ }
87
+ else if (type === 'string' && format === 'x-file') {
88
+ item.fieldsTypeName = '文件';
89
+ }
90
+ else if (type === 'string' && format === 'x-autonumber') {
91
+ item.fieldsTypeName = '自动编号';
92
+ }
93
+ else if (type === 'string' && format === 'x-area-code') {
94
+ item.fieldsTypeName = '地区';
95
+ }
96
+ else if (type === 'string' && format === 'function') {
97
+ item.fieldsTypeName = '计算公式';
98
+ }
99
+ else if (type === 'string' &&
100
+ format === 'related' &&
101
+ fatherAction === 'related') {
102
+ item.fieldsTypeName = '主子明细';
103
+ }
104
+ else if (type === 'string' && format === 'father-son') {
105
+ item.fieldsTypeName = '关联关系';
106
+ }
107
+ return item;
108
+ });
109
+ };
@@ -0,0 +1,18 @@
1
+ // 查找父表单容器
2
+ export function getParentForm($node) {
3
+ let cur = $node;
4
+ while (!ensureForm(cur)) {
5
+ if (!cur)
6
+ return null;
7
+ if (cur.parent) {
8
+ cur = cur.parent;
9
+ }
10
+ }
11
+ return cur;
12
+ }
13
+ function ensureForm(comp) {
14
+ if (!comp) {
15
+ return true;
16
+ }
17
+ return comp.getConfig && comp.getConfig().componentType === 'form';
18
+ }
@@ -21,7 +21,7 @@ body .weda-ui {
21
21
  }
22
22
 
23
23
  .weda-ui.weui-form .weui-cells__tips {
24
- margin-bottom: 1.14286rem;
24
+ margin-bottom: 16px;
25
25
  }
26
26
 
27
27
  .weda-ui.weda-picker {
@@ -55,7 +55,7 @@ body .weda-ui {
55
55
  .weda-ui.weda-radio .weui-check,
56
56
  .weda-ui.weda-checkbox .weui-check {
57
57
  position: absolute;
58
- left: -714.21429rem;
58
+ left: -9999px;
59
59
  width: 0;
60
60
  height: 0;
61
61
  }
@@ -98,5 +98,129 @@ body .weda-ui {
98
98
  color: rgba(0, 0, 0, 0.4);
99
99
  }
100
100
 
101
- /*# sourceURL=webpack://./src/web/weda-ui.css */
102
- /*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8uL3NyYy93ZWIvd2VkYS11aS5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0VBRUU7O0FBRUY7RUFDRSxxQkFBcUI7RUFDckIsNkJBQTZCO0VBQzdCLGlDQUFpQztFQUNqQyxzQkFBc0I7RUFDdEIsOEJBQThCO0VBQzlCLG1DQUFtQztBQUNyQzs7QUFFQTtFQUNFLGNBQWM7RUFDZCxVQUFVO0FBQ1o7O0FBRUE7RUFDRSxhQUFhO0FBQ2Y7O0FBRUE7RUFDRSx5QkFBeUI7QUFDM0I7O0FBRUE7RUFDRSxtQ0FBbUM7QUFDckM7O0FBRUEsNkJBQTZCO0FBQzdCO0VBQ0Usb0JBQW9CO0VBQ3BCLFlBQVk7RUFDWixvQkFBb0I7RUFDcEIsaUJBQWlCO0FBQ25COztBQUVBO0VBQ0UsMkNBQTJDO0FBQzdDOztBQUVBO0VBQ0U7SUFDRSxvQkFBb0I7SUFDcEIsY0FBYztFQUNoQjtBQUNGO0FBQ0E7RUFDRTtJQUNFLGtDQUFrQztFQUNwQztBQUNGOztBQUVBOztFQUVFLGtCQUFrQjtFQUNsQixtQkFBbUI7RUFDbkIsUUFBUTtFQUNSLFNBQVM7QUFDWDs7QUFFQTtFQUNFLGtCQUFrQixFQUFFLGFBQWE7QUFDbkM7O0FBRUE7RUFDRSxjQUFjO0FBQ2hCOztBQUVBO0VBQ0UscUJBQXFCO0FBQ3ZCOztBQUVBO0VBQ0UsV0FBVyxFQUFFLDBCQUEwQjtBQUN6Qzs7QUFFQTtFQUNFLGtCQUFrQixFQUFFLHNDQUFzQztFQUMxRCxlQUFlO0FBQ2pCO0FBQ0E7RUFDRSxtQkFBbUI7RUFDbkIsZUFBZTtBQUNqQjs7QUFFQTtFQUNFLGNBQWM7QUFDaEI7O0FBRUE7RUFDRSxZQUFZO0FBQ2Q7O0FBRUE7O0VBRUUseUJBQXlCO0FBQzNCIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiDnu4Tku7blupPpgJrnlKjmoLflvI9cbiAqL1xuXG5ib2R5IC53ZWRhLXVpIHtcbiAgLS13ZXVpLUJSQU5EOiAjMDA2ZWZmO1xuICAtLXdldWktVEFHLVRFWFQtQkxVRTogIzAwNjdlYjtcbiAgLS13ZXVpLUJUTi1ERUZBVUxULUNPTE9SOiAjNTc2Yjk1O1xuICAtLXdldWktV0VDSEFUOiAjMDdjMTYwO1xuICAtLXdldWktVEFHLVRFWFQtR1JFRU46ICMwNmFlNTY7XG4gIC0td2V1aS1CRy0yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDApO1xufVxuXG4ud2VkYS11aS53ZXVpLWZvcm0ge1xuICBtaW4taGVpZ2h0OiAwJTtcbiAgcGFkZGluZzogMDtcbn1cblxuLndlZGEtdWkgLndldWktY2VsbHMge1xuICBtYXJnaW4tdG9wOiAwO1xufVxuXG4ud2VkYS11aS53ZXVpLWZvcm0gLndldWktY2VsbHNfX3RpcHMge1xuICBtYXJnaW4tYm90dG9tOiAxLjE0Mjg2cmVtO1xufVxuXG4ud2VkYS11aS53ZWRhLXBpY2tlciB7XG4gIC0td2V1aS1CRy0yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDEpO1xufVxuXG4vKiDkuLrkuobpgb/lhY3or6XlsZ7mgKfooqvovazkuLpSRU0sIOaJgOS7peS9v+eUqOWkp+WGmeeahFBYICovXG4ud2VkYS11aS53ZWRhLXBpY2tlciAud2V1aS1waWNrZXJfX2l0ZW0ge1xuICAvKiBwcmV0dGllci1pZ25vcmUgKi9cbiAgaGVpZ2h0OiA0OFBYO1xuICAvKiBwcmV0dGllci1pZ25vcmUgKi9cbiAgbGluZS1oZWlnaHQ6IDQ4UFg7XG59XG5cbi53ZWRhLXVpLndlZGEtcGlja2VyIC53ZXVpLWJ0bl9wcmltYXJ5Om5vdCgud2V1aS1idG5fZGlzYWJsZWQpOmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXdldWktVEFHLVRFWFQtQkxVRSk7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgLndlZGEtdWkgLndldWktY2VsbHMge1xuICAgIC8qIHByZXR0aWVyLWlnbm9yZSAqL1xuICAgIGZvbnQtc2l6ZTogMWVtO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gIC53ZXVpIC53ZXVpLWNlbGxfYWN0aXZlOmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdW5zZXQgIWltcG9ydGFudDtcbiAgfVxufVxuXG4ud2VkYS11aS53ZWRhLXJhZGlvIC53ZXVpLWNoZWNrLFxuLndlZGEtdWkud2VkYS1jaGVja2JveCAud2V1aS1jaGVjayB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogLTcxNC4yMTQyOXJlbTtcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbn1cblxuLndlZGEtdWkgLndldWktY2VsbCB7XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDsgLyog6KaB6K6p5YaF6IGU5qC35byP55Sf5pWIICovXG59XG5cbi53ZWRhLXVpIC53ZXVpLWNlbGxzIHtcbiAgZm9udC1zaXplOiAxZW07XG59XG5cbi53ZXVpLXBpY2tlciBhOmxpbms6aG92ZXIge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi53ZWRhLWZvcm1jZWxsc19fcGMudmVydGljYWwgLndlZGF0ZWEydGQtZm9ybV9fbGFiZWwgbGFiZWwge1xuICB3aWR0aDogYXV0bzsgLyogdmVydGNhbCDmg4XlhrXkuItsYWJlbOS4jeWbuuWumuWuveW6piAqL1xufVxuXG4ud2VkYS11aSAud2V1aS1idG5faW5wdXQtY2xlYXIge1xuICB2aXNpYmlsaXR5OiBoaWRkZW47IC8qIHZpc2liaWx0eSDpmLLmraLlsYXkuK3ogIzkuJTlrr3luqZhdXRv5pe277yM5Ye6546w6L6T5YWl5pe25a695bqm5oqW5YqoICovXG4gIGRpc3BsYXk6IGlubGluZTtcbn1cbi53ZXVpLWlucHV0OmZvY3VzOm5vdCg6cGxhY2Vob2xkZXItc2hvd24pICsgLndldWktYnRuX2lucHV0LWNsZWFyIHtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgZGlzcGxheTogaW5saW5lO1xufVxuXG4ud2VkYS11aSAud2VkYXRlYTJ0ZC1mb3JtX19jb250cm9scyB7XG4gIGZvbnQtc2l6ZTogMWVtO1xufVxuXG4ud2VkYS11aSAud2V1aS1jaGVja1tkaXNhYmxlZF0gKyAud2V1aS1pY29uLWNoZWNrZWQge1xuICBvcGFjaXR5OiAwLjQ7XG59XG5cbi53ZWRhLXVpIC53ZXVpLWNoZWNrX19sYWJlbC53ZXVpLWNlbGxfcmVhZG9ubHksXG4ud2VkYS11aSAud2V1aS1jaGVja19fbGFiZWwud2V1aS1jZWxsX2Rpc2FibGVkIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC40KTtcbn1cbiJdLCJzb3VyY2VSb290IjoiIn0= */
101
+ @font-face {
102
+ font-family: 'lcap-icon';
103
+ font-weight: normal;
104
+ font-style: normal;
105
+ src: url(data:application/font-woff2;charset=utf-8;base64,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)
106
+ format('woff2');
107
+ }
108
+ .lcap-icon {
109
+ font-size: 34px;
110
+ display: inline-block;
111
+ font-family: 'lcap-icon' !important;
112
+ speak: none;
113
+ font-style: normal;
114
+ font-weight: normal;
115
+ font-variant: normal;
116
+ text-transform: none;
117
+ text-rendering: auto;
118
+ line-height: 1;
119
+ -webkit-font-smoothing: antialiased;
120
+ -moz-osx-font-smoothing: grayscale;
121
+ }
122
+ .lcap-icon-nointernet:before {
123
+ content: '\e900';
124
+ }
125
+ .lcap-icon-success:before {
126
+ content: '\e901';
127
+ }
128
+ .lcap-icon-warning:before {
129
+ content: '\e902';
130
+ }
131
+ .lcap-icon-pending:before {
132
+ content: '\e903';
133
+ }
134
+ .lcap-icon-refresh:before {
135
+ content: '\e904';
136
+ }
137
+ .lcap-icon-folder:before {
138
+ content: '\e905';
139
+ }
140
+ .lcap-icon-arrowup:before {
141
+ content: '\e906';
142
+ }
143
+ .lcap-icon-arrowdown:before {
144
+ content: '\e907';
145
+ }
146
+ .lcap-icon-arrowleft:before {
147
+ content: '\e908';
148
+ }
149
+ .lcap-icon-arrowright:before {
150
+ content: '\e909';
151
+ }
152
+ .lcap-icon-chevronup:before {
153
+ content: '\e90a';
154
+ }
155
+ .lcap-icon-chevrondown:before {
156
+ content: '\e90b';
157
+ }
158
+ .lcap-icon-chevronleft:before {
159
+ content: '\e90c';
160
+ }
161
+ .lcap-icon-chevronright:before {
162
+ content: '\e90d';
163
+ }
164
+ .lcap-icon-delete:before {
165
+ content: '\e90e';
166
+ }
167
+ .lcap-icon-edit:before {
168
+ content: '\e90f';
169
+ }
170
+ .lcap-icon-search:before {
171
+ content: '\e910';
172
+ }
173
+ .lcap-icon-check:before {
174
+ content: '\e911';
175
+ }
176
+ .lcap-icon-close:before {
177
+ content: '\e912';
178
+ }
179
+ .lcap-icon-add:before {
180
+ content: '\e913';
181
+ }
182
+ .lcap-icon-download:before {
183
+ content: '\e914';
184
+ }
185
+ .lcap-icon-success-fill:before {
186
+ content: '\e915';
187
+ }
188
+ .lcap-icon-close-fill:before {
189
+ content: '\e916';
190
+ }
191
+ .lcap-icon-minus-fill:before {
192
+ content: '\e917';
193
+ }
194
+ .lcap-icon-add-fill:before {
195
+ content: '\e918';
196
+ }
197
+ .lcap-icon-info-fill:before {
198
+ content: '\e919';
199
+ }
200
+ .lcap-icon-pending-fill:before {
201
+ content: '\e91a';
202
+ }
203
+ .lcap-icon-warning-fill:before {
204
+ content: '\e91b';
205
+ }
206
+ .lcap-icon-more:before {
207
+ content: '\e91c';
208
+ }
209
+ .lcap-icon-star:before {
210
+ content: '\e91d';
211
+ }
212
+ .lcap-icon-star-fill:before {
213
+ content: '\e91e';
214
+ }
215
+ .lcap-icon-location:before {
216
+ content: '\e91f';
217
+ }
218
+ .lcap-icon-question:before {
219
+ content: '\e920';
220
+ }
221
+ .weapps__toast p {
222
+ display: -webkit-box;
223
+ overflow: hidden;
224
+ -webkit-line-clamp: 15;
225
+ -webkit-box-orient: vertical;
226
+ }