@cloudbase/cals 1.0.19-alpha.0 → 1.0.19-alpha.2

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.
@@ -147,7 +147,7 @@ declare namespace $w {
147
147
  * 用户权限相关方法和属性
148
148
  */
149
149
  namespace auth {
150
-
150
+
151
151
  interface CurrentUserInfo {
152
152
  /**
153
153
  * 用户 ID
@@ -351,41 +351,26 @@ interface ICallWorkflowParams {
351
351
 
352
352
  /**
353
353
  * 调用数据源
354
- *
355
- * @privateForWeDa
356
- * {"group": "cloud", "displayType": "function", "description": "调用数据源"}
357
354
  */
358
355
  function callDataSource(params: ICallDataSourceParams): any;
359
356
 
360
357
  /**
361
358
  * 通过 cloudid 获取静态文件的 http 访问地址
362
- *
363
- * @privateForWeDa
364
- * {"group": "cloud", "displayType": "function", "description": "通过 cloudid 获取静态文件的 http 访问地址"}
365
359
  */
366
360
  function getTempFileURL(params: string | string[]): Promise<string | string[]>;
367
361
 
368
362
  /**
369
363
  * 调用流程
370
- *
371
- * @privateForWeDa
372
- * {"group": "cloud", "displayType": "function", "description": "调用流程"}
373
364
  */
374
365
  function callWorkflow(action: ICallWorkflowParams): Promise<any>;
375
366
 
376
367
  /**
377
368
  * 调用云开发的云函数, 与 $w.cloud.getCloudInstance 示例中的效果大体一致
378
- *
379
- * @privateForWeDa
380
- * {"group": "cloud", "displayType": "function", "description": "调用云开发的云函数, 与 $w.cloud.getCloudInstance 示例中的效果大体一致"}
381
369
  */
382
370
  function callFunction(params: ICallFunctionParams, parseOptions?: IParseOptions): Promise<any>;
383
371
 
384
372
  /**
385
373
  * 返回云开发web-sdk初始化后的实例(无需关心tcb环境信息及认证登录的处理), 即 tcb.init 后返回的对象, 可用该对象直接调用tcb的各种能力
386
- *
387
- * @privateForWeDa
388
- * {"group": "cloud", "displayType": "function", "description": "返回云开发web-sdk初始化后的实例(无需关心tcb环境信息及认证登录的处理), 即 tcb.init 后返回的对象, 可用该对象直接调用tcb的各种能力"}
389
374
  */
390
375
  function getCloudInstance(): Promise<CloudInstance>;
391
376
 
@@ -559,6 +544,11 @@ function navigateBack(options: navigateBackOptions);
559
544
  */
560
545
  function formatEnum(path, optionname, app);
561
546
 
547
+ /**
548
+ * 获取枚举值
549
+ */
550
+ function getEnumValue(enumOptions, key);
551
+
562
552
  }
563
553
 
564
554
  /**
@@ -1141,26 +1131,25 @@ alternate?: any;
1141
1131
  */
1142
1132
  function DateText(createdTime: number | string | Date, text: string): string;
1143
1133
  /**
1144
- * 时间格式化
1134
+ * 是否为今天
1145
1135
  *
1146
1136
  * @remarks
1147
- * 格式化时间为指定格式的文本,输入时间为(小时 * 60 * 60 + 分钟 * 60) * 1000计算而来,例如 TimeText(28800000, "HH:mm")
1137
+ * 判断传入的日期时间是否为今天,例如 IsToday(Date(2022,4,8))
1148
1138
  *
1149
1139
  * @privateForWeDa
1150
- * {"group": "formula", "displayType": "function", "displayName": "时间格式化", "insertText": "TimeText(28800000, 'HH:mm')", "subGroup": "time", "doc": "https://cloud.tencent.com/document/product/1301/76328#.E6.97.B6.E9.97.B4.E6.97.A5.E6.9C.9F" , "description": "格式化时间为指定格式的文本,输入时间为(小时 * 60 * 60 + 分钟 * 60) * 1000计算而来,例如 TimeText(28800000, 'HH:mm')" , "definition": "TimeText(时间, 文本):文本"}
1140
+ * {"group": "formula", "displayType": "function", "displayName": "是否为今天", "insertText": "IsToday(1661334203345)", "subGroup": "time", "doc": "https://cloud.tencent.com/document/product/1301/76328" , "description": "判断传入的日期时间是否为今天,例如 IsToday(Date(2022,4,8))" , "definition": "IsToday(日期时间):布尔值"}
1151
1141
  */
1152
- function TimeText(createdTime: number, text: string): string;
1142
+ function IsToday(date: number | string | Date): boolean;
1153
1143
  /**
1154
- * 是否为今天
1144
+ * 时间格式化
1155
1145
  *
1156
1146
  * @remarks
1157
- * 判断传入的日期时间是否为今天,例如 IsToday(Date(2022,4,8))
1147
+ * 格式化时间为指定格式的文本,输入时间为(小时 * 60 * 60 + 分钟 * 60) * 1000计算而来,例如 TimeText(28800000, 'HH:mm')
1158
1148
  *
1159
1149
  * @privateForWeDa
1160
- * {"group": "formula", "displayType": "function", "displayName": "是否为今天", "insertText": "IsToday(1661334203345)", "subGroup": "time", "doc": "https://cloud.tencent.com/document/product/1301/76328" , "description": "判断传入的日期时间是否为今天,例如 IsToday(Date(2022,4,8))" , "definition": "IsToday(日期时间):布尔值"}
1150
+ * {"group": "formula", "displayType": "function", "displayName": "时间格式化", "insertText": "TimeText(28800000, 'HH:mm')", "subGroup": "time", "doc": "https://cloud.tencent.com/document/product/1301/76328#.E6.97.B6.E9.97.B4.E6.97.A5.E6.9C.9F" , "description": "格式化时间为指定格式的文本,输入时间为(小时 * 60 * 60 + 分钟 * 60) * 1000计算而来,例如 TimeText(28800000, 'HH:mm')" , "definition": "TimeText(时间, 文本):文本"}
1161
1151
  */
1162
- function IsToday(date: number | string | Date): boolean;
1163
-
1152
+ function TimeText(createdTime: number, text: string): string;
1164
1153
 
1165
1154
  // used widgets Inner Begin
1166
1155
  // used widgets - Don't touch me
@@ -1727,16 +1716,6 @@ declare function YearDiff(startDay: number | string | Date, endDay: number | str
1727
1716
  */
1728
1717
  declare function DateText(createdTime: number | string | Date, text: string): string;
1729
1718
  /**
1730
- * 时间格式化
1731
- *
1732
- * @remarks
1733
- * 格式化时间为指定格式的文本,输入时间为(小时 * 60 * 60 + 分钟 * 60) * 1000计算而来,例如 TimeText(28800000, "HH:mm")
1734
- *
1735
- * @privateForWeDa
1736
- * {"group": "formula", "displayType": "function", "displayName": "时间格式化", "insertText": "TimeText(28800000, 'HH:mm')", "subGroup": "time", "doc": "https://cloud.tencent.com/document/product/1301/76328#.E6.97.B6.E9.97.B4.E6.97.A5.E6.9C.9F" , "description": "格式化时间为指定格式的文本,输入时间为(小时 * 60 * 60 + 分钟 * 60) * 1000计算而来,例如 TimeText(28800000, 'HH:mm')" , "definition": "TimeText(时间, 文本):文本"}
1737
- */
1738
- declare function TimeText(createdTime: number, text: string): string;
1739
- /**
1740
1719
  * 是否为今天
1741
1720
  *
1742
1721
  * @remarks
@@ -1746,7 +1725,16 @@ declare function TimeText(createdTime: number, text: string): string;
1746
1725
  * {"group": "formula", "displayType": "function", "displayName": "是否为今天", "insertText": "IsToday(1661334203345)", "subGroup": "time", "doc": "https://cloud.tencent.com/document/product/1301/76328" , "description": "判断传入的日期时间是否为今天,例如 IsToday(Date(2022,4,8))" , "definition": "IsToday(日期时间):布尔值"}
1747
1726
  */
1748
1727
  declare function IsToday(date: number | string | Date): boolean;
1749
-
1728
+ /**
1729
+ * 时间格式化
1730
+ *
1731
+ * @remarks
1732
+ * 格式化时间为指定格式的文本,输入时间为(小时 * 60 * 60 + 分钟 * 60) * 1000计算而来,例如 TimeText(28800000, 'HH:mm')
1733
+ *
1734
+ * @privateForWeDa
1735
+ * {"group": "formula", "displayType": "function", "displayName": "时间格式化", "insertText": "TimeText(28800000, 'HH:mm')", "subGroup": "time", "doc": "https://cloud.tencent.com/document/product/1301/76328#.E6.97.B6.E9.97.B4.E6.97.A5.E6.9C.9F" , "description": "格式化时间为指定格式的文本,输入时间为(小时 * 60 * 60 + 分钟 * 60) * 1000计算而来,例如 TimeText(28800000, 'HH:mm')" , "definition": "TimeText(时间, 文本):文本"}
1736
+ */
1737
+ declare function TimeText(createdTime: number, text: string): string;
1750
1738
 
1751
1739
  // Global Formula End
1752
1740
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cloudbase/cals",
3
- "version": "1.0.19-alpha.0",
3
+ "version": "1.0.19-alpha.2",
4
4
  "description": "Common application specifications",
5
5
  "main": "lib/utils/index.js",
6
6
  "source": "src/utils/index.ts",
@@ -54,4 +54,4 @@
54
54
  "typescript": "^4.7.4",
55
55
  "typescript-json-schema": "^0.53.0"
56
56
  }
57
- }
57
+ }
@@ -1,5 +0,0 @@
1
- export declare function semverComp(a: string, b: string): number;
2
- export declare function toFixed(num: number, precision: number): number;
3
- export declare const OFFICIAL_COMPONENT_LIB_NAME = "CLOUDBASE_STANDARD";
4
- export declare const OFFICIAL_MATERIAL_LIB_NAME = "gsd-h5-react";
5
- //# sourceMappingURL=common.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../src/utils/version-migrations/common.ts"],"names":[],"mappings":"AAAA,wBAAgB,UAAU,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAYvD;AAED,wBAAgB,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAI9D;AAED,eAAO,MAAM,2BAA2B,uBAAuB,CAAC;AAChE,eAAO,MAAM,0BAA0B,iBAAiB,CAAC"}
@@ -1,29 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.OFFICIAL_MATERIAL_LIB_NAME = exports.OFFICIAL_COMPONENT_LIB_NAME = exports.toFixed = exports.semverComp = void 0;
4
- function semverComp(a, b) {
5
- const pa = a.split('.');
6
- const pb = b.split('.');
7
- for (let i = 0; i < 3; i++) {
8
- const na = Number(pa[i]);
9
- const nb = Number(pb[i]);
10
- if (na > nb)
11
- return 1;
12
- if (nb > na)
13
- return -1;
14
- if (!isNaN(na) && isNaN(nb))
15
- return 1;
16
- if (isNaN(na) && !isNaN(nb))
17
- return -1;
18
- }
19
- return 0;
20
- }
21
- exports.semverComp = semverComp;
22
- function toFixed(num, precision) {
23
- const multiplier = Math.pow(10, (precision + 1));
24
- const wholeNumber = Math.floor(num * multiplier);
25
- return (Math.round(wholeNumber / 10) * 10) / multiplier;
26
- }
27
- exports.toFixed = toFixed;
28
- exports.OFFICIAL_COMPONENT_LIB_NAME = 'CLOUDBASE_STANDARD';
29
- exports.OFFICIAL_MATERIAL_LIB_NAME = 'gsd-h5-react';
@@ -1,3 +0,0 @@
1
- import type { IPlatformApp } from '../../types';
2
- export declare function version4(cals: IPlatformApp, isUpgrade: boolean, setSchemaVersionCallback?: (version: string | undefined) => void): IPlatformApp;
3
- //# sourceMappingURL=version4.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"version4.d.ts","sourceRoot":"","sources":["../../../src/utils/version-migrations/version4.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,YAAY,EAAkB,MAAM,aAAa,CAAC;AAGhE,wBAAgB,QAAQ,CACtB,IAAI,EAAE,YAAY,EAClB,SAAS,EAAE,OAAO,EAClB,wBAAwB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,KAAK,IAAI,GAC/D,YAAY,CAEd"}
@@ -1,199 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.version4 = void 0;
7
- const postcss_1 = __importDefault(require("postcss"));
8
- const postcss_less_1 = __importDefault(require("postcss-less"));
9
- const __1 = require("..");
10
- const common_1 = require("./common");
11
- function version4(cals, isUpgrade, setSchemaVersionCallback) {
12
- return transformPxLowcodeCompAndSourceComp(cals, isUpgrade, setSchemaVersionCallback);
13
- }
14
- exports.version4 = version4;
15
- const transformPxLowcodeCompAndSourceComp = (cals, isUpgrade, setSchemaVersionCallback) => {
16
- var _a, _b, _c, _d;
17
- {
18
- function transformCals(items, isUpgradeToPx) {
19
- return items.map((item) => {
20
- var _a;
21
- // 对于表单操作区的按钮组件的父容器添加.wd-form__action, 兼容组件规范化按钮升级样式
22
- if ((item === null || item === void 0 ? void 0 : item.module) === common_1.OFFICIAL_COMPONENT_LIB_NAME && (item === null || item === void 0 ? void 0 : item.component) === 'Form') {
23
- item = addClassToButtonContainer(item);
24
- }
25
- if ((_a = item === null || item === void 0 ? void 0 : item.extra) === null || _a === void 0 ? void 0 : _a.commonStyle) {
26
- item.extra.commonStyle = convertCommonStyle(item.extra.commonStyle, isUpgradeToPx);
27
- if (item.extra.commonStyle.self) {
28
- // 处理 margin padding shorthand 同步
29
- const newSelf = (0, __1.processCommonStyle2CSSProperties)(item.extra.commonStyle, {
30
- toRem: false,
31
- ignoreSelf: true,
32
- addPXUnit: true,
33
- });
34
- ['margin', 'padding', 'border'].forEach((k) => {
35
- if (item.extra.commonStyle.self[k]) {
36
- item.extra.commonStyle.self[k] = newSelf[k];
37
- }
38
- });
39
- }
40
- }
41
- if (item === null || item === void 0 ? void 0 : item.resources) {
42
- item.resources = item.resources.map((n) => {
43
- if (n.codeType === 'style') {
44
- n = convertLowCodesStyle(n, isUpgradeToPx);
45
- return n;
46
- }
47
- return n;
48
- });
49
- }
50
- if (item.items) {
51
- item.items = transformCals(item.items, isUpgradeToPx);
52
- }
53
- return item;
54
- });
55
- }
56
- let pages = cals['items'];
57
- let isDivision;
58
- if (isUpgrade && (0, common_1.semverComp)((_a = cals['schemaVersion']) !== null && _a !== void 0 ? _a : '3.0.0', '4.0.0') < 0) {
59
- // 组件库版本高于目标版本,且schemaVersion小于4, 将应用 CALS 数据中的 CSS 和 style 中的无单位和有单位的小写 px统一改写为 1/2 px
60
- isDivision = true;
61
- pages = transformCals(pages, isDivision);
62
- cals.resources = (_b = cals.resources) === null || _b === void 0 ? void 0 : _b.map((n) => {
63
- if (n.codeType === 'style') {
64
- n = convertLowCodesStyle(n, isDivision);
65
- return n;
66
- }
67
- return n;
68
- });
69
- cals['schemaVersion'] = '4.0.0';
70
- setSchemaVersionCallback === null || setSchemaVersionCallback === void 0 ? void 0 : setSchemaVersionCallback('4.0.0');
71
- }
72
- else if (!isUpgrade && (0, common_1.semverComp)((_c = cals['schemaVersion']) !== null && _c !== void 0 ? _c : '3.0.0', '4.0.0') >= 0) {
73
- // 组件库低于目标版本,并且schemaVersion大于4 将应用 CALS 数据中的 CSS 和 style 中的无单位和有单位的小写 px统一改写为 2倍 px
74
- isDivision = false;
75
- pages = transformCals(pages, isDivision);
76
- cals.resources = (_d = cals.resources) === null || _d === void 0 ? void 0 : _d.map((n) => {
77
- if (n.codeType === 'style') {
78
- n = convertLowCodesStyle(n, isDivision);
79
- return n;
80
- }
81
- return n;
82
- });
83
- delete cals['schemaVersion'];
84
- setSchemaVersionCallback === null || setSchemaVersionCallback === void 0 ? void 0 : setSchemaVersionCallback(undefined);
85
- }
86
- cals['items'] = pages;
87
- return cals;
88
- }
89
- };
90
- function hasSubmitButton(item) {
91
- var _a;
92
- if ((_a = item === null || item === void 0 ? void 0 : item.items) === null || _a === void 0 ? void 0 : _a.length) {
93
- const children = item.items;
94
- return children.some((i) => { var _a; return (i === null || i === void 0 ? void 0 : i.module) === common_1.OFFICIAL_COMPONENT_LIB_NAME && i.component === 'Button' && ((_a = i === null || i === void 0 ? void 0 : i.attributes) === null || _a === void 0 ? void 0 : _a.formType) === 'submit'; });
95
- }
96
- return false;
97
- }
98
- function addClassToButtonContainer(item) {
99
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
100
- if ((item === null || item === void 0 ? void 0 : item.module) === common_1.OFFICIAL_MATERIAL_LIB_NAME && item.component === 'Container') {
101
- if (hasSubmitButton(item)) {
102
- if (((_a = item.attributes) === null || _a === void 0 ? void 0 : _a.class) && !((_b = item.attributes) === null || _b === void 0 ? void 0 : _b.class.includes('wd-form__action'))) {
103
- if (typeof ((_c = item.attributes) === null || _c === void 0 ? void 0 : _c.class) === 'string') {
104
- item.attributes = Object.assign(Object.assign({}, item.attributes), { class: `${(_d = item.attributes) === null || _d === void 0 ? void 0 : _d.class} wd-form__action` });
105
- }
106
- else if (Array.isArray((_e = item.attributes) === null || _e === void 0 ? void 0 : _e.class)) {
107
- item.attributes = Object.assign(Object.assign({}, item.attributes), { class: [...(_f = item.attributes) === null || _f === void 0 ? void 0 : _f.class, 'wd-form__action'] });
108
- }
109
- }
110
- else if (!((_g = item.attributes) === null || _g === void 0 ? void 0 : _g.class)) {
111
- item.attributes = Object.assign(Object.assign({}, item.attributes), { class: 'wd-form__action' });
112
- }
113
- // 移除旧的padding配置
114
- if ((_j = (_h = item === null || item === void 0 ? void 0 : item.extra) === null || _h === void 0 ? void 0 : _h.commonStyle) === null || _j === void 0 ? void 0 : _j.padding) {
115
- delete item.extra.commonStyle.padding;
116
- }
117
- }
118
- }
119
- if ((_k = item === null || item === void 0 ? void 0 : item.items) === null || _k === void 0 ? void 0 : _k.length) {
120
- item.items = item.items.map((i) => addClassToButtonContainer(i));
121
- }
122
- return item;
123
- }
124
- function jsonTranverse(json, reviver) {
125
- return JSON.parse(JSON.stringify(json, reviver, 2));
126
- }
127
- function convertCommonStyle(value, isUpgrade) {
128
- return jsonTranverse(value, (key, value) => {
129
- if (__1.isUnitlessNumber[key]) {
130
- return value;
131
- }
132
- if (typeof value === 'number') {
133
- if (isUpgrade) {
134
- value = value / 2;
135
- }
136
- else {
137
- value = value * 2;
138
- }
139
- }
140
- else if (/^((\d+\.)?\d+)(px)?$/.test(value)) {
141
- value = !value ? value : value === null || value === void 0 ? void 0 : value.replace('px', '');
142
- if (isUpgrade) {
143
- // console.log(key, value, Number(value) / 2);
144
- value = !value ? value : `${(0, common_1.toFixed)(Number(value) / 2, 3)}px`;
145
- }
146
- else {
147
- value = !value ? value : `${Number(value) * 2}px`;
148
- }
149
- }
150
- return value;
151
- });
152
- }
153
- const rem2PxPlugin = (opts) => {
154
- const rem2pxSym = Symbol('rem2pxSym');
155
- const { isUpgrade } = opts;
156
- return {
157
- postcssPlugin: 'postcss-rem2px',
158
- Declaration(decl, rule) {
159
- // Modified From https://github.com/cuth/postcss-pxtorem/blob/122649015322214f8e9d1ac852eb11c0791b634b/lib/pixel-unit-regex.js#L9
160
- // eslint-disable-next-line no-useless-escape
161
- const pxRegex = /"[^"]+"|'[^']+'|(\d*\.?\d+)px/gm;
162
- if (decl.value.indexOf('px') < 0) {
163
- return;
164
- }
165
- if (decl[rem2pxSym]) {
166
- return;
167
- }
168
- if (isUpgrade) {
169
- const value = decl.value.replace(pxRegex, (match, p1) => {
170
- if (p1 !== null && p1 !== undefined) {
171
- const r = (0, common_1.toFixed)(Number(p1) / 2, 3);
172
- const rs = r.toString();
173
- return `${rs}px`;
174
- }
175
- return match;
176
- });
177
- decl.value = value;
178
- }
179
- else {
180
- const value = decl.value.replace(pxRegex, (match, p1) => {
181
- if (p1 !== null && p1 !== undefined) {
182
- return `${Number(p1) * 2}px`;
183
- }
184
- return match;
185
- });
186
- decl.value = value;
187
- }
188
- decl[rem2pxSym] = true;
189
- },
190
- };
191
- };
192
- rem2PxPlugin.postcss = true;
193
- function convertLowCodesStyle(value, isUpgrade) {
194
- const result = (0, postcss_1.default)([rem2PxPlugin({ isUpgrade })]).process(value.code, {
195
- syntax: postcss_less_1.default,
196
- });
197
- value.code = result.css;
198
- return value;
199
- }