amis 1.8.0-beta.13 → 1.8.0-beta.17
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/WithStore.js +1 -1
- package/lib/WithStore.js.map +2 -2
- package/lib/components/DatePicker.js +3 -1
- package/lib/components/DatePicker.js.map +2 -2
- package/lib/components/Progress.js +3 -4
- package/lib/components/Progress.js.map +2 -2
- package/lib/components/TabsTransfer.d.ts +22 -3
- package/lib/components/TabsTransfer.js +149 -42
- package/lib/components/TabsTransfer.js.map +2 -2
- package/lib/components/Tree.js +3 -1
- package/lib/components/Tree.js.map +2 -2
- package/lib/components/formula/Editor.js +4 -4
- package/lib/components/formula/Editor.js.map +2 -2
- package/lib/components/formula/VariableList.d.ts +63 -4
- package/lib/components/formula/VariableList.js +23 -8
- package/lib/components/formula/VariableList.js.map +2 -2
- package/lib/helper.css +1 -1
- package/lib/helper.css.map +1 -1
- package/lib/index.js +1 -1
- package/lib/renderers/Date.js +6 -1
- package/lib/renderers/Date.js.map +2 -2
- package/lib/renderers/Form/NestedSelect.d.ts +1 -1
- package/lib/renderers/Form/NestedSelect.js +7 -2
- package/lib/renderers/Form/NestedSelect.js.map +2 -2
- package/lib/renderers/Form/TabsTransfer.d.ts +6 -1
- package/lib/renderers/Form/TabsTransfer.js +155 -6
- package/lib/renderers/Form/TabsTransfer.js.map +2 -2
- package/lib/renderers/Form/TabsTransferPicker.d.ts +2 -2
- package/lib/renderers/Form/TabsTransferPicker.js +4 -4
- package/lib/renderers/Form/TabsTransferPicker.js.map +2 -2
- package/lib/renderers/Form/TreeSelect.js.map +2 -2
- package/lib/renderers/Form/index.js +6 -2
- package/lib/renderers/Form/index.js.map +2 -2
- package/lib/renderers/Markdown.js +4 -3
- package/lib/renderers/Markdown.js.map +2 -2
- package/lib/renderers/Nav.d.ts +21 -20
- package/lib/renderers/Nav.js +8 -1
- package/lib/renderers/Nav.js.map +2 -2
- package/lib/renderers/Page.js +1 -1
- package/lib/renderers/Page.js.map +2 -2
- package/lib/renderers/Service.js +1 -1
- package/lib/renderers/Service.js.map +2 -2
- package/lib/renderers/Table/exportExcel.d.ts +6 -0
- package/lib/renderers/Table/exportExcel.js +288 -0
- package/lib/renderers/Table/exportExcel.js.map +13 -0
- package/lib/renderers/Table/index.d.ts +1 -1
- package/lib/renderers/Table/index.js +4 -251
- package/lib/renderers/Table/index.js.map +2 -2
- package/lib/themes/ang-ie11.css +112 -36
- package/lib/themes/ang.css +100 -21
- package/lib/themes/ang.css.map +1 -1
- package/lib/themes/antd-ie11.css +112 -36
- package/lib/themes/antd.css +100 -21
- package/lib/themes/antd.css.map +1 -1
- package/lib/themes/cxd-ie11.css +97 -21
- package/lib/themes/cxd.css +100 -21
- package/lib/themes/cxd.css.map +1 -1
- package/lib/themes/dark-ie11.css +112 -36
- package/lib/themes/dark.css +100 -21
- package/lib/themes/dark.css.map +1 -1
- package/lib/themes/default-ie11.css +97 -21
- package/lib/themes/default.css +100 -21
- package/lib/themes/default.css.map +1 -1
- package/lib/utils/api.js +35 -6
- package/lib/utils/api.js.map +2 -2
- package/package.json +1 -1
- package/schema.json +1 -1
- package/scss/_properties.scss +4 -0
- package/scss/components/_formula.scss +77 -12
- package/scss/components/_progress.scss +2 -7
- package/scss/components/form/_date.scss +1 -0
- package/scss/components/form/_transfer.scss +21 -0
- package/scss/helper/layout/_display.scss +1 -1
- package/sdk/ang-ie11.css +130 -36
- package/sdk/ang.css +118 -21
- package/sdk/antd-ie11.css +130 -36
- package/sdk/antd.css +118 -21
- package/sdk/barcode.js +51 -51
- package/sdk/charts.js +14 -14
- package/sdk/codemirror.js +7 -7
- package/sdk/color-picker.js +65 -65
- package/sdk/cropperjs.js +2 -2
- package/sdk/cxd-ie11.css +115 -21
- package/sdk/cxd.css +118 -21
- package/sdk/dark-ie11.css +130 -36
- package/sdk/dark.css +118 -21
- package/sdk/exceljs.js +1 -1
- package/sdk/helper.css +1 -1
- package/sdk/helper.css.map +1 -1
- package/sdk/markdown.js +69 -69
- package/sdk/papaparse.js +1 -1
- package/sdk/renderers/Form/CityDB.js +1 -1
- package/sdk/rest.js +17 -17
- package/sdk/rich-text.js +62 -62
- package/sdk/sdk-ie11.css +115 -21
- package/sdk/sdk.css +118 -21
- package/sdk/sdk.js +1270 -1268
- package/sdk/thirds/hls.js/hls.js +1 -1
- package/sdk/thirds/mpegts.js/mpegts.js +1 -1
- package/sdk/tinymce.js +57 -57
- package/src/WithStore.tsx +1 -1
- package/src/components/DatePicker.tsx +2 -1
- package/src/components/Progress.tsx +6 -4
- package/src/components/TabsTransfer.tsx +253 -143
- package/src/components/Tree.tsx +3 -1
- package/src/components/formula/Editor.tsx +12 -5
- package/src/components/formula/VariableList.tsx +55 -21
- package/src/renderers/Date.tsx +14 -1
- package/src/renderers/Form/NestedSelect.tsx +11 -2
- package/src/renderers/Form/TabsTransfer.tsx +174 -11
- package/src/renderers/Form/TabsTransferPicker.tsx +5 -10
- package/src/renderers/Form/TreeSelect.tsx +15 -12
- package/src/renderers/Form/index.tsx +37 -16
- package/src/renderers/Markdown.tsx +4 -5
- package/src/renderers/Nav.tsx +7 -1
- package/src/renderers/Page.tsx +9 -2
- package/src/renderers/Service.tsx +8 -2
- package/src/renderers/Table/exportExcel.ts +289 -0
- package/src/renderers/Table/index.tsx +5 -252
- package/src/utils/api.ts +42 -10
package/lib/utils/api.js
CHANGED
@@ -8,6 +8,7 @@ var tpl_1 = require("./tpl");
|
|
8
8
|
var helper_1 = require("./helper");
|
9
9
|
var isPlainObject_1 = (0, tslib_1.__importDefault)(require("lodash/isPlainObject"));
|
10
10
|
var debug_1 = require("./debug");
|
11
|
+
var amis_formula_1 = require("amis-formula");
|
11
12
|
var rSchema = /(?:^|raw\:)(get|post|put|delete|patch|options|head|jsonp):/i;
|
12
13
|
var apiCaches = [];
|
13
14
|
var isIE = !!document.documentMode;
|
@@ -52,17 +53,45 @@ function buildApi(api, data, options) {
|
|
52
53
|
return api;
|
53
54
|
}
|
54
55
|
var raw = (api.url = api.url || '');
|
55
|
-
var
|
56
|
+
var ast = undefined;
|
57
|
+
try {
|
58
|
+
ast = (0, amis_formula_1.parse)(api.url);
|
59
|
+
}
|
60
|
+
catch (e) {
|
61
|
+
console.warn("api \u914D\u7F6E\u8BED\u6CD5\u51FA\u9519\uFF1A".concat(e));
|
62
|
+
return api;
|
63
|
+
}
|
64
|
+
var url = ast.body
|
65
|
+
.map(function (item, index) {
|
66
|
+
return item.type === 'raw' ? item.value : "__expression__".concat(index, "__");
|
67
|
+
})
|
68
|
+
.join('');
|
69
|
+
var idx = url.indexOf('?');
|
70
|
+
var replaceExpression = function (fragment) {
|
71
|
+
return fragment.replace(/__expression__(\d+)__/g, function (_, index) {
|
72
|
+
return (0, amis_formula_1.evaluate)(ast.body[index], data, {
|
73
|
+
defaultFilter: 'url_encode'
|
74
|
+
});
|
75
|
+
});
|
76
|
+
};
|
56
77
|
if (~idx) {
|
57
|
-
var hashIdx =
|
58
|
-
var params = (0, helper_1.qsparse)(
|
78
|
+
var hashIdx = url.indexOf('#');
|
79
|
+
var params = (0, helper_1.qsparse)(url.substring(idx + 1, ~hashIdx && hashIdx > idx ? hashIdx : undefined));
|
80
|
+
// 将里面的表达式运算完
|
81
|
+
(0, helper_1.JSONTraverse)(params, function (value, key, host) {
|
82
|
+
if (typeof value === 'string' && /^__expression__(\d+)__$/.test(value)) {
|
83
|
+
host[key] = (0, amis_formula_1.evaluate)(ast.body[RegExp.$1].body, data);
|
84
|
+
}
|
85
|
+
});
|
59
86
|
api.url =
|
60
|
-
(
|
87
|
+
replaceExpression(url.substring(0, idx + 1)) +
|
61
88
|
(0, helper_1.qsstringify)((api.query = (0, tpl_builtin_1.dataMapping)(params, data, undefined, api.convertKeyToPath))) +
|
62
|
-
(~hashIdx && hashIdx > idx
|
89
|
+
(~hashIdx && hashIdx > idx
|
90
|
+
? replaceExpression(url.substring(hashIdx))
|
91
|
+
: '');
|
63
92
|
}
|
64
93
|
else {
|
65
|
-
api.url = (
|
94
|
+
api.url = replaceExpression(url);
|
66
95
|
}
|
67
96
|
if (ignoreData) {
|
68
97
|
return api;
|
package/lib/utils/api.js.map
CHANGED
@@ -6,8 +6,8 @@
|
|
6
6
|
"/src/utils/api.ts"
|
7
7
|
],
|
8
8
|
"names": [],
|
9
|
-
"mappings": "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",
|
9
|
+
"mappings": "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",
|
10
10
|
"sourcesContent": [
|
11
|
-
"import omit from 'lodash/omit';\nimport {Api, ApiObject, EventTrack, fetcherResult, Payload} from '../types';\nimport {fetcherConfig} from '../factory';\nimport {tokenize, dataMapping, escapeHtml} from './tpl-builtin';\nimport {evalExpression} from './tpl';\nimport {\n isObject,\n isObjectShallowModified,\n hasFile,\n object2formData,\n qsstringify,\n cloneObject,\n createObject,\n qsparse,\n uuid\n} from './helper';\nimport isPlainObject from 'lodash/isPlainObject';\nimport {debug} from './debug';\n\nconst rSchema = /(?:^|raw\\:)(get|post|put|delete|patch|options|head|jsonp):/i;\n\ninterface ApiCacheConfig extends ApiObject {\n cachedPromise: Promise<any>;\n requestTime: number;\n}\n\nconst apiCaches: Array<ApiCacheConfig> = [];\n\nconst isIE = !!(document as any).documentMode;\n\nexport function normalizeApi(\n api: Api,\n defaultMethod: string = 'get'\n): ApiObject {\n if (typeof api === 'string') {\n let method = rSchema.test(api) ? RegExp.$1 : '';\n method && (api = api.replace(method + ':', ''));\n\n api = {\n method: (method || defaultMethod) as any,\n url: api\n };\n } else {\n api = {\n ...api\n };\n }\n return api;\n}\n\nexport function buildApi(\n api: Api,\n data?: object,\n options: {\n autoAppend?: boolean;\n ignoreData?: boolean;\n [propName: string]: any;\n } = {}\n): ApiObject {\n api = normalizeApi(api, options.method);\n const {autoAppend, ignoreData, ...rest} = options;\n\n api.config = {\n ...rest\n };\n api.method = (api.method || (options as any).method || 'get').toLowerCase();\n\n if (api.headers) {\n api.headers = dataMapping(api.headers, data, undefined, false);\n }\n\n if (api.requestAdaptor && typeof api.requestAdaptor === 'string') {\n api.requestAdaptor = str2function(api.requestAdaptor, 'api') as any;\n }\n\n if (api.adaptor && typeof api.adaptor === 'string') {\n api.adaptor = str2function(\n api.adaptor,\n 'payload',\n 'response',\n 'api'\n ) as any;\n }\n\n if (!data) {\n return api;\n } else if (\n data instanceof FormData ||\n data instanceof Blob ||\n data instanceof ArrayBuffer\n ) {\n api.data = data;\n return api;\n }\n\n const raw = (api.url = api.url || '');\n const idx = api.url.indexOf('?');\n\n if (~idx) {\n const hashIdx = api.url.indexOf('#');\n const params = qsparse(\n api.url.substring(\n idx + 1,\n ~hashIdx && hashIdx > idx ? hashIdx : undefined\n )\n );\n api.url =\n tokenize(api.url.substring(0, idx + 1), data, '| url_encode') +\n qsstringify(\n (api.query = dataMapping(params, data, undefined, api.convertKeyToPath))\n ) +\n (~hashIdx && hashIdx > idx ? api.url.substring(hashIdx) : '');\n } else {\n api.url = tokenize(api.url, data, '| url_encode');\n }\n\n if (ignoreData) {\n return api;\n }\n\n if (api.data) {\n api.body = api.data = dataMapping(\n api.data,\n data,\n undefined,\n api.convertKeyToPath\n );\n } else if (\n api.method === 'post' ||\n api.method === 'put' ||\n api.method === 'patch'\n ) {\n api.body = api.data = cloneObject(data);\n }\n\n // get 类请求,把 data 附带到 url 上。\n if (api.method === 'get' || api.method === 'jsonp') {\n if (\n !api.data &&\n ((!~raw.indexOf('$') && autoAppend) || api.forceAppendDataToQuery)\n ) {\n api.query = api.data = data;\n } else if (\n api.attachDataToQuery === false &&\n api.data &&\n ((!~raw.indexOf('$') && autoAppend) || api.forceAppendDataToQuery)\n ) {\n const idx = api.url.indexOf('?');\n if (~idx) {\n let params = (api.query = {\n ...qsparse(api.url.substring(idx + 1)),\n ...data\n });\n api.url = api.url.substring(0, idx) + '?' + qsstringify(params);\n } else {\n api.query = data;\n api.url += '?' + qsstringify(data);\n }\n }\n\n if (api.data && api.attachDataToQuery !== false) {\n const idx = api.url.indexOf('?');\n if (~idx) {\n let params = (api.query = {\n ...qsparse(api.url.substring(idx + 1)),\n ...api.data\n });\n api.url = api.url.substring(0, idx) + '?' + qsstringify(params);\n } else {\n api.query = api.data;\n api.url += '?' + qsstringify(api.data);\n }\n delete api.data;\n }\n }\n\n if (api.graphql) {\n if (api.method === 'get') {\n api.query = api.data = {...api.query, query: api.graphql};\n } else if (\n api.method === 'post' ||\n api.method === 'put' ||\n api.method === 'patch'\n ) {\n api.body = api.data = {\n query: api.graphql,\n operationName: api.operationName,\n variables: cloneObject(api.data)\n };\n }\n }\n\n return api;\n}\n\nexport function str2function(\n contents: string,\n ...args: Array<string>\n): Function | null {\n try {\n let fn = new Function(...args, contents);\n return fn;\n } catch (e) {\n console.warn(e);\n return null;\n }\n}\n\nconst AsyncFunction = Object.getPrototypeOf(async function () {}).constructor;\n\nexport function str2AsyncFunction(\n contents: string,\n ...args: Array<string>\n): Function | null {\n try {\n let fn = new AsyncFunction(...args, contents);\n return fn;\n } catch (e) {\n console.warn(e);\n return null;\n }\n}\n\nexport function responseAdaptor(ret: fetcherResult, api: ApiObject) {\n let data = ret.data;\n let hasStatusField = true;\n\n if (!data) {\n throw new Error('Response is empty');\n }\n\n // 返回内容是 string,说明 content-type 不是 json,这时可能是返回了纯文本或 html\n if (typeof data === 'string') {\n const contentType = (ret.headers as any)['content-type'] || '';\n // 如果是文本类型就尝试解析一下\n if (\n ret.headers &&\n contentType.startsWith('text/') &&\n !contentType.includes('markdown')\n ) {\n try {\n data = JSON.parse(data);\n if (typeof data === 'undefined') {\n throw new Error('Response should be JSON');\n }\n } catch (e) {\n const responseBrief =\n typeof data === 'string'\n ? escapeHtml((data as string).substring(0, 100))\n : '';\n throw new Error(`Response should be JSON\\n ${responseBrief}`);\n }\n } else {\n if (api.responseType === 'blob') {\n throw new Error('Should have \"Content-Disposition\" in Header');\n } else if (!contentType.includes('markdown')) {\n throw new Error(`Content type is wrong \"${contentType}\"`);\n }\n }\n }\n\n // 兼容几种常见写法\n if (data.hasOwnProperty('errorCode')) {\n // 阿里 Java 规范\n data.status = data.errorCode;\n data.msg = data.errorMessage;\n } else if (data.hasOwnProperty('errno')) {\n data.status = data.errno;\n data.msg = data.errmsg || data.errstr || data.msg;\n } else if (data.hasOwnProperty('no')) {\n data.status = data.no;\n data.msg = data.error || data.msg;\n } else if (data.hasOwnProperty('error')) {\n // Google JSON guide\n // https://google.github.io/styleguide/jsoncstyleguide.xml#error\n if (typeof data.error === 'object' && data.error.hasOwnProperty('code')) {\n data.status = data.error.code;\n data.msg = data.error.message;\n } else {\n data.status = data.error;\n data.msg = data.errmsg || data.msg;\n }\n }\n\n if (!data.hasOwnProperty('status')) {\n hasStatusField = false;\n }\n\n const payload: Payload = {\n ok: hasStatusField === false || data.status == 0,\n status: hasStatusField === false ? 0 : data.status,\n msg: data.msg || data.message,\n msgTimeout: data.msgTimeout,\n data: !data.data && !hasStatusField ? data : data.data // 兼容直接返回数据的情况\n };\n\n // 兼容返回 schema 的情况,用于 app 模式\n if (data && data.type) {\n payload.data = data;\n }\n\n if (payload.status == 422) {\n payload.errors = data.errors;\n }\n\n debug('api', 'response', payload);\n\n if (payload.ok && api.responseData) {\n debug('api', 'before dataMapping', payload.data);\n const responseData = dataMapping(\n api.responseData,\n\n createObject(\n {api},\n (Array.isArray(payload.data)\n ? {\n items: payload.data\n }\n : payload.data) || {}\n ),\n undefined,\n api.convertKeyToPath\n );\n debug('api', 'after dataMapping', responseData);\n payload.data = responseData;\n }\n\n return payload;\n}\n\nexport function wrapFetcher(\n fn: (config: fetcherConfig) => Promise<fetcherResult>,\n tracker?: (eventTrack: EventTrack, data: any) => void\n): (api: Api, data: object, options?: object) => Promise<Payload | void> {\n return function (api, data, options) {\n api = buildApi(api, data, options) as ApiObject;\n\n if (api.requestAdaptor) {\n debug('api', 'before requestAdaptor', api);\n api = api.requestAdaptor(api) || api;\n debug('api', 'after requestAdaptor', api);\n }\n\n if (api.data && (hasFile(api.data) || api.dataType === 'form-data')) {\n api.data =\n api.data instanceof FormData\n ? api.data\n : object2formData(api.data, api.qsOptions);\n } else if (\n api.data &&\n typeof api.data !== 'string' &&\n api.dataType === 'form'\n ) {\n api.data = qsstringify(api.data, api.qsOptions) as any;\n api.headers = api.headers || (api.headers = {});\n api.headers['Content-Type'] = 'application/x-www-form-urlencoded';\n } else if (\n api.data &&\n typeof api.data !== 'string' &&\n api.dataType === 'json'\n ) {\n api.data = JSON.stringify(api.data) as any;\n api.headers = api.headers || (api.headers = {});\n api.headers['Content-Type'] = 'application/json';\n }\n\n debug('api', 'request api', api);\n\n tracker?.(\n {eventType: 'api', eventData: omit(api, ['config', 'data', 'body'])},\n api.data\n );\n\n if (api.method?.toLocaleLowerCase() === 'jsonp') {\n return wrapAdaptor(jsonpFetcher(api), api);\n }\n\n if (typeof api.cache === 'number' && api.cache > 0) {\n const apiCache = getApiCache(api);\n return wrapAdaptor(\n apiCache\n ? (apiCache as ApiCacheConfig).cachedPromise\n : setApiCache(api, fn(api)),\n api\n );\n }\n // IE 下 get 请求会被缓存,所以自动加个时间戳\n if (isIE && api && api.method?.toLocaleLowerCase() === 'get') {\n const timeStamp = `_t=${Date.now()}`;\n if (api.url.indexOf('?') === -1) {\n api.url = api.url + `?${timeStamp}`;\n } else {\n api.url = api.url + `&${timeStamp}`;\n }\n }\n return wrapAdaptor(fn(api), api);\n };\n}\n\nexport function wrapAdaptor(promise: Promise<fetcherResult>, api: ApiObject) {\n const adaptor = api.adaptor;\n return adaptor\n ? promise\n .then(async response => {\n debug('api', 'before adaptor data', (response as any).data);\n let result = adaptor((response as any).data, response, api);\n\n if (result?.then) {\n result = await result;\n }\n\n debug('api', 'after adaptor data', result);\n\n return {\n ...response,\n data: result\n };\n })\n .then(ret => responseAdaptor(ret, api))\n : promise.then(ret => responseAdaptor(ret, api));\n}\n\nexport function jsonpFetcher(api: ApiObject): Promise<fetcherResult> {\n return new Promise((resolve, reject) => {\n let script: HTMLScriptElement | null = document.createElement('script');\n let src = api.url;\n\n script.async = true;\n\n function remove() {\n if (script) {\n // @ts-ignore\n script.onload = script.onreadystatechange = script.onerror = null;\n\n if (script.parentNode) {\n script.parentNode.removeChild(script);\n }\n\n script = null;\n }\n }\n\n const jsonp = api.query?.callback || 'axiosJsonpCallback' + uuid();\n const old = (window as any)[jsonp];\n\n (window as any)[jsonp] = function (responseData: any) {\n (window as any)[jsonp] = old;\n\n const response = {\n data: responseData,\n status: 200,\n headers: {}\n };\n\n resolve(response);\n };\n\n const additionalParams: any = {\n _: new Date().getTime(),\n _callback: jsonp\n };\n\n src += (src.indexOf('?') >= 0 ? '&' : '?') + qsstringify(additionalParams);\n\n // @ts-ignore IE 为script.onreadystatechange\n script.onload = script.onreadystatechange = function () {\n // @ts-ignore\n if (!script.readyState || /loaded|complete/.test(script.readyState)) {\n remove();\n }\n };\n\n script.onerror = function () {\n remove();\n const errResponse = {\n status: 0,\n headers: {}\n };\n\n reject(errResponse);\n };\n\n script.src = src;\n document.head.appendChild(script);\n });\n}\n\nexport function isApiOutdated(\n prevApi: Api | undefined,\n nextApi: Api | undefined,\n prevData: any,\n nextData: any\n): nextApi is Api {\n if (!nextApi) {\n return false;\n } else if (!prevApi) {\n return true;\n }\n\n nextApi = normalizeApi(nextApi);\n\n if (nextApi.autoRefresh === false) {\n return false;\n }\n\n const trackExpression = nextApi.trackExpression ?? nextApi.url;\n\n if (typeof trackExpression !== 'string' || !~trackExpression.indexOf('$')) {\n return false;\n }\n prevApi = normalizeApi(prevApi);\n\n let isModified = false;\n\n if (nextApi.trackExpression || prevApi.trackExpression) {\n isModified =\n tokenize(prevApi.trackExpression || '', prevData) !==\n tokenize(nextApi.trackExpression || '', nextData);\n } else {\n prevApi = buildApi(prevApi as Api, prevData as object, {ignoreData: true});\n nextApi = buildApi(nextApi as Api, nextData as object, {ignoreData: true});\n isModified = prevApi.url !== nextApi.url;\n }\n\n return !!(\n isModified &&\n isValidApi(nextApi.url) &&\n (!nextApi.sendOn || evalExpression(nextApi.sendOn, nextData))\n );\n}\n\nexport function isValidApi(api: string) {\n return (\n api &&\n /^(?:(https?|wss?|taf):\\/\\/[^\\/]+)?(\\/?[^\\s\\/\\?]*){1,}(\\?.*)?$/.test(api)\n );\n}\n\nexport function isEffectiveApi(\n api?: Api,\n data?: any,\n initFetch?: boolean,\n initFetchOn?: string\n): api is Api {\n if (!api) {\n return false;\n }\n if (initFetch === false) {\n return false;\n }\n if (initFetchOn && data && !evalExpression(initFetchOn, data)) {\n return false;\n }\n if (typeof api === 'string' && api.length) {\n return true;\n } else if (isObject(api) && (api as ApiObject).url) {\n if (\n (api as ApiObject).sendOn &&\n data &&\n !evalExpression((api as ApiObject).sendOn as string, data)\n ) {\n return false;\n }\n return true;\n }\n return false;\n}\n\nexport function isSameApi(\n apiA: ApiObject | ApiCacheConfig,\n apiB: ApiObject | ApiCacheConfig\n): boolean {\n return (\n apiA.method === apiB.method &&\n apiA.url === apiB.url &&\n !isObjectShallowModified(apiA.data, apiB.data, false)\n );\n}\n\nexport function getApiCache(api: ApiObject): ApiCacheConfig | undefined {\n // 清理过期cache\n const now = Date.now();\n let result: ApiCacheConfig | undefined;\n\n for (let idx = 0, len = apiCaches.length; idx < len; idx++) {\n const apiCache = apiCaches[idx];\n\n if (now - apiCache.requestTime > (apiCache.cache as number)) {\n apiCaches.splice(idx, 1);\n len--;\n idx--;\n continue;\n }\n\n if (isSameApi(api, apiCache)) {\n result = apiCache;\n break;\n }\n }\n\n return result;\n}\n\nexport function setApiCache(\n api: ApiObject,\n promise: Promise<any>\n): Promise<any> {\n apiCaches.push({\n ...api,\n cachedPromise: promise,\n requestTime: Date.now()\n });\n return promise;\n}\n\nexport function clearApiCache() {\n apiCaches.splice(0, apiCaches.length);\n}\n\nexport function normalizeApiResponseData(data: any) {\n if (typeof data === 'undefined') {\n data = {};\n } else if (!isPlainObject(data)) {\n data = {\n [Array.isArray(data) ? 'items' : 'result']: data\n };\n }\n\n return data;\n}\n\n// window.apiCaches = apiCaches;\n"
|
11
|
+
"import omit from 'lodash/omit';\nimport {Api, ApiObject, EventTrack, fetcherResult, Payload} from '../types';\nimport {fetcherConfig} from '../factory';\nimport {tokenize, dataMapping, escapeHtml} from './tpl-builtin';\nimport {evalExpression} from './tpl';\nimport {\n isObject,\n isObjectShallowModified,\n hasFile,\n object2formData,\n qsstringify,\n cloneObject,\n createObject,\n qsparse,\n uuid,\n JSONTraverse\n} from './helper';\nimport isPlainObject from 'lodash/isPlainObject';\nimport {debug} from './debug';\nimport {evaluate, parse} from 'amis-formula';\n\nconst rSchema = /(?:^|raw\\:)(get|post|put|delete|patch|options|head|jsonp):/i;\n\ninterface ApiCacheConfig extends ApiObject {\n cachedPromise: Promise<any>;\n requestTime: number;\n}\n\nconst apiCaches: Array<ApiCacheConfig> = [];\n\nconst isIE = !!(document as any).documentMode;\n\nexport function normalizeApi(\n api: Api,\n defaultMethod: string = 'get'\n): ApiObject {\n if (typeof api === 'string') {\n let method = rSchema.test(api) ? RegExp.$1 : '';\n method && (api = api.replace(method + ':', ''));\n\n api = {\n method: (method || defaultMethod) as any,\n url: api\n };\n } else {\n api = {\n ...api\n };\n }\n return api;\n}\n\nexport function buildApi(\n api: Api,\n data?: object,\n options: {\n autoAppend?: boolean;\n ignoreData?: boolean;\n [propName: string]: any;\n } = {}\n): ApiObject {\n api = normalizeApi(api, options.method);\n const {autoAppend, ignoreData, ...rest} = options;\n\n api.config = {\n ...rest\n };\n api.method = (api.method || (options as any).method || 'get').toLowerCase();\n\n if (api.headers) {\n api.headers = dataMapping(api.headers, data, undefined, false);\n }\n\n if (api.requestAdaptor && typeof api.requestAdaptor === 'string') {\n api.requestAdaptor = str2function(api.requestAdaptor, 'api') as any;\n }\n\n if (api.adaptor && typeof api.adaptor === 'string') {\n api.adaptor = str2function(\n api.adaptor,\n 'payload',\n 'response',\n 'api'\n ) as any;\n }\n\n if (!data) {\n return api;\n } else if (\n data instanceof FormData ||\n data instanceof Blob ||\n data instanceof ArrayBuffer\n ) {\n api.data = data;\n return api;\n }\n\n const raw = (api.url = api.url || '');\n let ast: any = undefined;\n try {\n ast = parse(api.url);\n } catch (e) {\n console.warn(`api 配置语法出错:${e}`);\n return api;\n }\n const url = ast.body\n .map((item: any, index: number) => {\n return item.type === 'raw' ? item.value : `__expression__${index}__`;\n })\n .join('');\n\n const idx = url.indexOf('?');\n let replaceExpression = (fragment: string) => {\n return fragment.replace(\n /__expression__(\\d+)__/g,\n (_: any, index: string) => {\n return evaluate(ast.body[index], data, {\n defaultFilter: 'url_encode'\n });\n }\n );\n };\n\n if (~idx) {\n const hashIdx = url.indexOf('#');\n const params = qsparse(\n url.substring(idx + 1, ~hashIdx && hashIdx > idx ? hashIdx : undefined)\n );\n\n // 将里面的表达式运算完\n JSONTraverse(params, (value: any, key: string | number, host: any) => {\n if (typeof value === 'string' && /^__expression__(\\d+)__$/.test(value)) {\n host[key] = evaluate(ast.body[RegExp.$1].body, data);\n }\n });\n\n api.url =\n replaceExpression(url.substring(0, idx + 1)) +\n qsstringify(\n (api.query = dataMapping(params, data, undefined, api.convertKeyToPath))\n ) +\n (~hashIdx && hashIdx > idx\n ? replaceExpression(url.substring(hashIdx))\n : '');\n } else {\n api.url = replaceExpression(url);\n }\n\n if (ignoreData) {\n return api;\n }\n\n if (api.data) {\n api.body = api.data = dataMapping(\n api.data,\n data,\n undefined,\n api.convertKeyToPath\n );\n } else if (\n api.method === 'post' ||\n api.method === 'put' ||\n api.method === 'patch'\n ) {\n api.body = api.data = cloneObject(data);\n }\n\n // get 类请求,把 data 附带到 url 上。\n if (api.method === 'get' || api.method === 'jsonp') {\n if (\n !api.data &&\n ((!~raw.indexOf('$') && autoAppend) || api.forceAppendDataToQuery)\n ) {\n api.query = api.data = data;\n } else if (\n api.attachDataToQuery === false &&\n api.data &&\n ((!~raw.indexOf('$') && autoAppend) || api.forceAppendDataToQuery)\n ) {\n const idx = api.url.indexOf('?');\n if (~idx) {\n let params = (api.query = {\n ...qsparse(api.url.substring(idx + 1)),\n ...data\n });\n api.url = api.url.substring(0, idx) + '?' + qsstringify(params);\n } else {\n api.query = data;\n api.url += '?' + qsstringify(data);\n }\n }\n\n if (api.data && api.attachDataToQuery !== false) {\n const idx = api.url.indexOf('?');\n if (~idx) {\n let params = (api.query = {\n ...qsparse(api.url.substring(idx + 1)),\n ...api.data\n });\n api.url = api.url.substring(0, idx) + '?' + qsstringify(params);\n } else {\n api.query = api.data;\n api.url += '?' + qsstringify(api.data);\n }\n delete api.data;\n }\n }\n\n if (api.graphql) {\n if (api.method === 'get') {\n api.query = api.data = {...api.query, query: api.graphql};\n } else if (\n api.method === 'post' ||\n api.method === 'put' ||\n api.method === 'patch'\n ) {\n api.body = api.data = {\n query: api.graphql,\n operationName: api.operationName,\n variables: cloneObject(api.data)\n };\n }\n }\n\n return api;\n}\n\nexport function str2function(\n contents: string,\n ...args: Array<string>\n): Function | null {\n try {\n let fn = new Function(...args, contents);\n return fn;\n } catch (e) {\n console.warn(e);\n return null;\n }\n}\n\nconst AsyncFunction = Object.getPrototypeOf(async function () {}).constructor;\n\nexport function str2AsyncFunction(\n contents: string,\n ...args: Array<string>\n): Function | null {\n try {\n let fn = new AsyncFunction(...args, contents);\n return fn;\n } catch (e) {\n console.warn(e);\n return null;\n }\n}\n\nexport function responseAdaptor(ret: fetcherResult, api: ApiObject) {\n let data = ret.data;\n let hasStatusField = true;\n\n if (!data) {\n throw new Error('Response is empty');\n }\n\n // 返回内容是 string,说明 content-type 不是 json,这时可能是返回了纯文本或 html\n if (typeof data === 'string') {\n const contentType = (ret.headers as any)['content-type'] || '';\n // 如果是文本类型就尝试解析一下\n if (\n ret.headers &&\n contentType.startsWith('text/') &&\n !contentType.includes('markdown')\n ) {\n try {\n data = JSON.parse(data);\n if (typeof data === 'undefined') {\n throw new Error('Response should be JSON');\n }\n } catch (e) {\n const responseBrief =\n typeof data === 'string'\n ? escapeHtml((data as string).substring(0, 100))\n : '';\n throw new Error(`Response should be JSON\\n ${responseBrief}`);\n }\n } else {\n if (api.responseType === 'blob') {\n throw new Error('Should have \"Content-Disposition\" in Header');\n } else if (!contentType.includes('markdown')) {\n throw new Error(`Content type is wrong \"${contentType}\"`);\n }\n }\n }\n\n // 兼容几种常见写法\n if (data.hasOwnProperty('errorCode')) {\n // 阿里 Java 规范\n data.status = data.errorCode;\n data.msg = data.errorMessage;\n } else if (data.hasOwnProperty('errno')) {\n data.status = data.errno;\n data.msg = data.errmsg || data.errstr || data.msg;\n } else if (data.hasOwnProperty('no')) {\n data.status = data.no;\n data.msg = data.error || data.msg;\n } else if (data.hasOwnProperty('error')) {\n // Google JSON guide\n // https://google.github.io/styleguide/jsoncstyleguide.xml#error\n if (typeof data.error === 'object' && data.error.hasOwnProperty('code')) {\n data.status = data.error.code;\n data.msg = data.error.message;\n } else {\n data.status = data.error;\n data.msg = data.errmsg || data.msg;\n }\n }\n\n if (!data.hasOwnProperty('status')) {\n hasStatusField = false;\n }\n\n const payload: Payload = {\n ok: hasStatusField === false || data.status == 0,\n status: hasStatusField === false ? 0 : data.status,\n msg: data.msg || data.message,\n msgTimeout: data.msgTimeout,\n data: !data.data && !hasStatusField ? data : data.data // 兼容直接返回数据的情况\n };\n\n // 兼容返回 schema 的情况,用于 app 模式\n if (data && data.type) {\n payload.data = data;\n }\n\n if (payload.status == 422) {\n payload.errors = data.errors;\n }\n\n debug('api', 'response', payload);\n\n if (payload.ok && api.responseData) {\n debug('api', 'before dataMapping', payload.data);\n const responseData = dataMapping(\n api.responseData,\n\n createObject(\n {api},\n (Array.isArray(payload.data)\n ? {\n items: payload.data\n }\n : payload.data) || {}\n ),\n undefined,\n api.convertKeyToPath\n );\n debug('api', 'after dataMapping', responseData);\n payload.data = responseData;\n }\n\n return payload;\n}\n\nexport function wrapFetcher(\n fn: (config: fetcherConfig) => Promise<fetcherResult>,\n tracker?: (eventTrack: EventTrack, data: any) => void\n): (api: Api, data: object, options?: object) => Promise<Payload | void> {\n return function (api, data, options) {\n api = buildApi(api, data, options) as ApiObject;\n\n if (api.requestAdaptor) {\n debug('api', 'before requestAdaptor', api);\n api = api.requestAdaptor(api) || api;\n debug('api', 'after requestAdaptor', api);\n }\n\n if (api.data && (hasFile(api.data) || api.dataType === 'form-data')) {\n api.data =\n api.data instanceof FormData\n ? api.data\n : object2formData(api.data, api.qsOptions);\n } else if (\n api.data &&\n typeof api.data !== 'string' &&\n api.dataType === 'form'\n ) {\n api.data = qsstringify(api.data, api.qsOptions) as any;\n api.headers = api.headers || (api.headers = {});\n api.headers['Content-Type'] = 'application/x-www-form-urlencoded';\n } else if (\n api.data &&\n typeof api.data !== 'string' &&\n api.dataType === 'json'\n ) {\n api.data = JSON.stringify(api.data) as any;\n api.headers = api.headers || (api.headers = {});\n api.headers['Content-Type'] = 'application/json';\n }\n\n debug('api', 'request api', api);\n\n tracker?.(\n {eventType: 'api', eventData: omit(api, ['config', 'data', 'body'])},\n api.data\n );\n\n if (api.method?.toLocaleLowerCase() === 'jsonp') {\n return wrapAdaptor(jsonpFetcher(api), api);\n }\n\n if (typeof api.cache === 'number' && api.cache > 0) {\n const apiCache = getApiCache(api);\n return wrapAdaptor(\n apiCache\n ? (apiCache as ApiCacheConfig).cachedPromise\n : setApiCache(api, fn(api)),\n api\n );\n }\n // IE 下 get 请求会被缓存,所以自动加个时间戳\n if (isIE && api && api.method?.toLocaleLowerCase() === 'get') {\n const timeStamp = `_t=${Date.now()}`;\n if (api.url.indexOf('?') === -1) {\n api.url = api.url + `?${timeStamp}`;\n } else {\n api.url = api.url + `&${timeStamp}`;\n }\n }\n return wrapAdaptor(fn(api), api);\n };\n}\n\nexport function wrapAdaptor(promise: Promise<fetcherResult>, api: ApiObject) {\n const adaptor = api.adaptor;\n return adaptor\n ? promise\n .then(async response => {\n debug('api', 'before adaptor data', (response as any).data);\n let result = adaptor((response as any).data, response, api);\n\n if (result?.then) {\n result = await result;\n }\n\n debug('api', 'after adaptor data', result);\n\n return {\n ...response,\n data: result\n };\n })\n .then(ret => responseAdaptor(ret, api))\n : promise.then(ret => responseAdaptor(ret, api));\n}\n\nexport function jsonpFetcher(api: ApiObject): Promise<fetcherResult> {\n return new Promise((resolve, reject) => {\n let script: HTMLScriptElement | null = document.createElement('script');\n let src = api.url;\n\n script.async = true;\n\n function remove() {\n if (script) {\n // @ts-ignore\n script.onload = script.onreadystatechange = script.onerror = null;\n\n if (script.parentNode) {\n script.parentNode.removeChild(script);\n }\n\n script = null;\n }\n }\n\n const jsonp = api.query?.callback || 'axiosJsonpCallback' + uuid();\n const old = (window as any)[jsonp];\n\n (window as any)[jsonp] = function (responseData: any) {\n (window as any)[jsonp] = old;\n\n const response = {\n data: responseData,\n status: 200,\n headers: {}\n };\n\n resolve(response);\n };\n\n const additionalParams: any = {\n _: new Date().getTime(),\n _callback: jsonp\n };\n\n src += (src.indexOf('?') >= 0 ? '&' : '?') + qsstringify(additionalParams);\n\n // @ts-ignore IE 为script.onreadystatechange\n script.onload = script.onreadystatechange = function () {\n // @ts-ignore\n if (!script.readyState || /loaded|complete/.test(script.readyState)) {\n remove();\n }\n };\n\n script.onerror = function () {\n remove();\n const errResponse = {\n status: 0,\n headers: {}\n };\n\n reject(errResponse);\n };\n\n script.src = src;\n document.head.appendChild(script);\n });\n}\n\nexport function isApiOutdated(\n prevApi: Api | undefined,\n nextApi: Api | undefined,\n prevData: any,\n nextData: any\n): nextApi is Api {\n if (!nextApi) {\n return false;\n } else if (!prevApi) {\n return true;\n }\n\n nextApi = normalizeApi(nextApi);\n\n if (nextApi.autoRefresh === false) {\n return false;\n }\n\n const trackExpression = nextApi.trackExpression ?? nextApi.url;\n\n if (typeof trackExpression !== 'string' || !~trackExpression.indexOf('$')) {\n return false;\n }\n prevApi = normalizeApi(prevApi);\n\n let isModified = false;\n\n if (nextApi.trackExpression || prevApi.trackExpression) {\n isModified =\n tokenize(prevApi.trackExpression || '', prevData) !==\n tokenize(nextApi.trackExpression || '', nextData);\n } else {\n prevApi = buildApi(prevApi as Api, prevData as object, {ignoreData: true});\n nextApi = buildApi(nextApi as Api, nextData as object, {ignoreData: true});\n isModified = prevApi.url !== nextApi.url;\n }\n\n return !!(\n isModified &&\n isValidApi(nextApi.url) &&\n (!nextApi.sendOn || evalExpression(nextApi.sendOn, nextData))\n );\n}\n\nexport function isValidApi(api: string) {\n return (\n api &&\n /^(?:(https?|wss?|taf):\\/\\/[^\\/]+)?(\\/?[^\\s\\/\\?]*){1,}(\\?.*)?$/.test(api)\n );\n}\n\nexport function isEffectiveApi(\n api?: Api,\n data?: any,\n initFetch?: boolean,\n initFetchOn?: string\n): api is Api {\n if (!api) {\n return false;\n }\n if (initFetch === false) {\n return false;\n }\n if (initFetchOn && data && !evalExpression(initFetchOn, data)) {\n return false;\n }\n if (typeof api === 'string' && api.length) {\n return true;\n } else if (isObject(api) && (api as ApiObject).url) {\n if (\n (api as ApiObject).sendOn &&\n data &&\n !evalExpression((api as ApiObject).sendOn as string, data)\n ) {\n return false;\n }\n return true;\n }\n return false;\n}\n\nexport function isSameApi(\n apiA: ApiObject | ApiCacheConfig,\n apiB: ApiObject | ApiCacheConfig\n): boolean {\n return (\n apiA.method === apiB.method &&\n apiA.url === apiB.url &&\n !isObjectShallowModified(apiA.data, apiB.data, false)\n );\n}\n\nexport function getApiCache(api: ApiObject): ApiCacheConfig | undefined {\n // 清理过期cache\n const now = Date.now();\n let result: ApiCacheConfig | undefined;\n\n for (let idx = 0, len = apiCaches.length; idx < len; idx++) {\n const apiCache = apiCaches[idx];\n\n if (now - apiCache.requestTime > (apiCache.cache as number)) {\n apiCaches.splice(idx, 1);\n len--;\n idx--;\n continue;\n }\n\n if (isSameApi(api, apiCache)) {\n result = apiCache;\n break;\n }\n }\n\n return result;\n}\n\nexport function setApiCache(\n api: ApiObject,\n promise: Promise<any>\n): Promise<any> {\n apiCaches.push({\n ...api,\n cachedPromise: promise,\n requestTime: Date.now()\n });\n return promise;\n}\n\nexport function clearApiCache() {\n apiCaches.splice(0, apiCaches.length);\n}\n\nexport function normalizeApiResponseData(data: any) {\n if (typeof data === 'undefined') {\n data = {};\n } else if (!isPlainObject(data)) {\n data = {\n [Array.isArray(data) ? 'items' : 'result']: data\n };\n }\n\n return data;\n}\n\n// window.apiCaches = apiCaches;\n"
|
12
12
|
]
|
13
13
|
}
|
package/package.json
CHANGED
package/schema.json
CHANGED
@@ -48659,7 +48659,7 @@
|
|
48659
48659
|
},
|
48660
48660
|
"onlyLeaf": {
|
48661
48661
|
"type": "boolean",
|
48662
|
-
"description": "
|
48662
|
+
"description": "只允许选择叶子节点"
|
48663
48663
|
},
|
48664
48664
|
"hideNodePathLabel": {
|
48665
48665
|
"type": "boolean",
|
package/scss/_properties.scss
CHANGED
@@ -1351,6 +1351,7 @@
|
|
1351
1351
|
--Tabs--strong-arrow-size: #{px2rem(24px)};
|
1352
1352
|
|
1353
1353
|
--Tabs-borderColor: var(--borderColor);
|
1354
|
+
--Tabs--simple-split-color: var(--Tabs-borderColor);
|
1354
1355
|
--Tabs-borderRadius: var(--borderRadius);
|
1355
1356
|
--Tabs-borderWidth: var(--borderWidth);
|
1356
1357
|
--Tabs-color: var(--text-color);
|
@@ -1491,6 +1492,9 @@
|
|
1491
1492
|
--Transfer-title-bg: #f6f8f8;
|
1492
1493
|
--Transfer-selection-maxHeight: #{px2rem(350px)};
|
1493
1494
|
|
1495
|
+
--TabsTransfer-title-bg: #f7f7f9;
|
1496
|
+
--TabsTransfer-border-color: #e8e9eb;
|
1497
|
+
|
1494
1498
|
--Tree-indent: var(--gap-md);
|
1495
1499
|
--Tree-inputHeight: calc(var(--Form-input-height) * 0.85);
|
1496
1500
|
--Tree-item-onHover-bg: rgba(0, 126, 255, 0.08);
|
@@ -23,8 +23,7 @@
|
|
23
23
|
box-sizing: border-box;
|
24
24
|
background: var(--InputFormula-header-bgColor);
|
25
25
|
border-radius: var(--borderRadius) var(--borderRadius) 0 0;
|
26
|
-
border-bottom:
|
27
|
-
var(--Form-input-borderColor);
|
26
|
+
border-bottom: none;
|
28
27
|
font-weight: 500;
|
29
28
|
}
|
30
29
|
|
@@ -68,11 +67,11 @@
|
|
68
67
|
|
69
68
|
&-panel {
|
70
69
|
display: flex;
|
70
|
+
flex: 1;
|
71
71
|
flex-flow: column nowrap;
|
72
72
|
justify-content: space-between;
|
73
73
|
align-items: stretch;
|
74
74
|
height: #{px2rem(250px)};
|
75
|
-
width: #{px2rem(220px)};
|
76
75
|
border-radius: var(--borderRadius);
|
77
76
|
border: var(--Form-input-borderWidth) solid var(--Form-input-borderColor);
|
78
77
|
|
@@ -93,38 +92,100 @@
|
|
93
92
|
display: flex;
|
94
93
|
flex-flow: column nowrap;
|
95
94
|
max-height: #{px2rem(220px)};
|
95
|
+
|
96
|
+
&--tabs {
|
97
|
+
max-height: #{px2rem(250px)};
|
98
|
+
}
|
96
99
|
}
|
97
100
|
}
|
98
101
|
|
99
102
|
/* 变量列表 */
|
100
103
|
&-VariableList {
|
101
104
|
&-root {
|
102
|
-
max-height:
|
105
|
+
max-height: 100%;
|
106
|
+
}
|
107
|
+
|
108
|
+
&-body {
|
109
|
+
display: flex;
|
110
|
+
flex-flow: column nowrap;
|
111
|
+
max-height: 100%;
|
112
|
+
}
|
113
|
+
|
114
|
+
&-base {
|
115
|
+
--Form-input-fontSize: var(--fontSizeSm);
|
116
|
+
--gap-sm: #{px2rem(10px)};
|
117
|
+
flex: 1;
|
118
|
+
max-height: 100%;
|
103
119
|
}
|
104
120
|
|
105
|
-
&-
|
121
|
+
&-base.is-scrollable {
|
106
122
|
@include scrollbar();
|
107
123
|
overflow-x: hidden;
|
108
124
|
overflow-y: auto;
|
109
125
|
}
|
110
126
|
|
111
|
-
&-
|
112
|
-
|
113
|
-
|
114
|
-
|
127
|
+
&-searchBox {
|
128
|
+
display: flex;
|
129
|
+
width: auto;
|
130
|
+
flex-shrink: 0;
|
131
|
+
padding: #{px2rem(8px)};
|
132
|
+
|
133
|
+
& > div {
|
134
|
+
flex: 1;
|
135
|
+
font-size: var(--fontSizeSm);
|
136
|
+
height: var(--gap-xl);
|
137
|
+
}
|
115
138
|
}
|
116
139
|
|
117
140
|
&-tabs {
|
118
141
|
--Tabs-linkFontSize: var(--fontSizeSm);
|
119
142
|
--Tabs--card-linkPadding: #{px2rem(5px)};
|
120
143
|
|
121
|
-
max-height:
|
144
|
+
max-height: 100%;
|
122
145
|
display: flex;
|
123
146
|
flex-flow: column nowrap;
|
124
147
|
justify-content: space-between;
|
125
148
|
|
126
|
-
|
127
|
-
|
149
|
+
.#{$ns}Tabs {
|
150
|
+
&-content {
|
151
|
+
padding: 0;
|
152
|
+
.#{$ns}FormulaEditor-VariableList {
|
153
|
+
&-sub {
|
154
|
+
.#{$ns}FormulaEditor-VariableList-body {
|
155
|
+
max-height: #{px2rem(220px)};
|
156
|
+
overflow-y: hidden;
|
157
|
+
}
|
158
|
+
&-FormulaEditor-VariableList-base {
|
159
|
+
@include scrollbar();
|
160
|
+
overflow-x: hidden;
|
161
|
+
overflow-y: auto;
|
162
|
+
}
|
163
|
+
}
|
164
|
+
}
|
165
|
+
}
|
166
|
+
&-linksContainer {
|
167
|
+
&-wrapper {
|
168
|
+
@include panel-header();
|
169
|
+
max-height: px2rem(30px);
|
170
|
+
min-height: px2rem(30px);
|
171
|
+
ul.#{$ns}Tabs-links {
|
172
|
+
> li {
|
173
|
+
height: 30px;
|
174
|
+
line-height: 30px;
|
175
|
+
> a {
|
176
|
+
margin: 0;
|
177
|
+
padding: 0;
|
178
|
+
}
|
179
|
+
}
|
180
|
+
}
|
181
|
+
}
|
182
|
+
|
183
|
+
&--overflow {
|
184
|
+
> div {
|
185
|
+
margin: 0;
|
186
|
+
}
|
187
|
+
}
|
188
|
+
}
|
128
189
|
}
|
129
190
|
|
130
191
|
& > div {
|
@@ -170,6 +231,10 @@
|
|
170
231
|
align-items: stretch;
|
171
232
|
flex: 1;
|
172
233
|
|
234
|
+
.#{$ns}FormulaEditor-panel {
|
235
|
+
width: #{px2rem(188px)};
|
236
|
+
}
|
237
|
+
|
173
238
|
&:not(:last-child) {
|
174
239
|
margin-right: #{px2rem(10px)};
|
175
240
|
}
|
@@ -6,7 +6,6 @@
|
|
6
6
|
&-line {
|
7
7
|
display: inline-block;
|
8
8
|
width: 100%;
|
9
|
-
height: 10px;
|
10
9
|
|
11
10
|
&-inter {
|
12
11
|
height: 100%;
|
@@ -30,10 +29,7 @@
|
|
30
29
|
&-bar {
|
31
30
|
float: left;
|
32
31
|
width: 0;
|
33
|
-
height:
|
34
|
-
font-size: 12px;
|
35
|
-
line-height: 10px;
|
36
|
-
text-align: center;
|
32
|
+
height: 10px;
|
37
33
|
background: var(--primary);
|
38
34
|
transition: width var(--animation-duration) ease;
|
39
35
|
|
@@ -75,8 +71,7 @@
|
|
75
71
|
}
|
76
72
|
|
77
73
|
&-circle {
|
78
|
-
width:
|
79
|
-
height: 120px;
|
74
|
+
width: 100%;
|
80
75
|
position: relative;
|
81
76
|
&-text {
|
82
77
|
position: absolute;
|
@@ -115,6 +115,27 @@
|
|
115
115
|
.#{$ns}Transfer-title {
|
116
116
|
height: 40px;
|
117
117
|
}
|
118
|
+
&-tabs {
|
119
|
+
.#{$ns}Tabs-linksContainer {
|
120
|
+
padding-left: px2rem(20px);
|
121
|
+
padding-top: px2rem(8px);
|
122
|
+
background-color: var(--TabsTransfer-title-bg);
|
123
|
+
}
|
124
|
+
}
|
125
|
+
|
126
|
+
&-search {
|
127
|
+
margin: var(--gap-sm) var(--gap-sm);
|
128
|
+
.#{$ns}InputBox {
|
129
|
+
border: 1px solid var(--TabsTransfer-border-color);
|
130
|
+
}
|
131
|
+
}
|
132
|
+
|
133
|
+
.#{$ns}Transfer-result {
|
134
|
+
.#{$ns}Transfer-title {
|
135
|
+
height: px2rem(40px);
|
136
|
+
line-height: px2rem(40px);
|
137
|
+
}
|
138
|
+
}
|
118
139
|
|
119
140
|
// .#{$ns}Transfer-result {
|
120
141
|
// flex-grow: unset;
|