Merge branch 'preset-vision/0.9.0' of gitlab.alibaba-inc.com:ali-lowcode/ali-lowcode-engine into preset-vision/0.9.0

This commit is contained in:
力皓 2020-06-11 10:31:46 +08:00
commit 8edc2af7ea
7 changed files with 63 additions and 17 deletions

View File

@ -1,11 +0,0 @@
/**
*
* @param {String} gmKey
* @param {Object} params
* @param {String} logKey
*/
export function goldlog(gmKey: string, params: object = {}, logKey: string = 'other'): void {
}

View File

@ -1,5 +1,5 @@
export * from './get-public-path';
export * from './goldlog';
export * from './monitor';
export * from './obx';
export * from './request';
export * from './focus-tracker';

View File

@ -0,0 +1,45 @@
class Monitor {
fn = (params: any) => {
const { AES } = window as any;
if (typeof AES.log === 'function') {
const { p1, p2, p3, p4 = 'OTHER', ...rest } = params || {};
AES.log('event', {
p1,
p2,
p3,
p4,
...rest,
});
}
};
constructor() {
(window as any).AES = (window as any).AES || {};
}
register(fn: () => any) {
if (typeof fn === 'function') {
this.fn = fn;
}
}
log(params: any) {
if (typeof this.fn === 'function') {
this.fn(params);
}
}
setConfig(key: string | object, value?: string): void {
const { AES } = window as any;
if (typeof AES?.setConfig !== 'function') {
return;
}
if (typeof key === 'string' && value) {
AES.setConfig(key, value);
} else if (typeof key === 'object') {
AES.setConfig(key);
}
}
}
export default new Monitor();

View File

@ -12,6 +12,7 @@ import InlineTip from './inlinetip';
export interface FieldProps {
className?: string;
meta?: { package: string; componentName: string } | string;
title?: TitleContent | null;
defaultDisplay?: 'accordion' | 'inline' | 'block';
collapsed?: boolean;
@ -115,15 +116,23 @@ export class Field extends Component<FieldProps> {
}
render() {
const { className, children, title, valueState, onClear, name: propName, tip } = this.props;
const { className, children, meta, title, valueState, onClear, name: propName, tip } = this.props;
const { display, collapsed } = this.state;
const isAccordion = display === 'accordion';
let hostName = '';
if (typeof meta === 'object') {
hostName = `${meta?.package || ''}-${meta.componentName || ''}`;
} else if (typeof meta === 'string') {
hostName = meta;
}
const id = `${hostName}-${propName || (title as any)['en-US'] || (title as any)['zh-CN']}`;
const tipContent = this.getTipContent(propName!, tip);
return (
<div
className={classNames(`lc-field lc-${display}-field`, className, {
'lc-field-is-collapsed': isAccordion && collapsed,
})}
id={id}
>
<div className="lc-field-head" onClick={isAccordion ? this.toggleExpand : undefined}>
<div className="lc-field-title">

View File

@ -63,6 +63,7 @@ class SettingFieldView extends Component<{ field: SettingField }> {
return createField(
{
meta: field?.componentMeta?.npm || field?.componentMeta?.componentName || '',
title: field.title,
collapsed: !field.expanded,
valueState: field.isRequired ? 10 : field.valueState,
@ -121,6 +122,7 @@ class SettingGroupView extends Component<{ field: SettingField }> {
return (
<Field
defaultDisplay="accordion"
meta={field?.componentMeta?.npm || field?.componentMeta?.componentName || ''}
title={field.title}
collapsed={!field.expanded}
onExpandChange={(expandState) => {

View File

@ -24,11 +24,12 @@ class Contents extends Component<{ area: Area }> {
const { area } = this.props;
const top: any[] = [];
const bottom: any[] = [];
area.container.items.forEach(item => {
area.container.items.forEach((item) => {
const content = <div id={`left-area-${item.name}`}>{item.content}</div>;
if (item.align === 'bottom') {
bottom.push(item.content);
bottom.push(content);
} else {
top.push(item.content);
top.push(content);
}
});
return (

View File

@ -30,7 +30,7 @@ class Contents extends Component<{ area: Area, itemClassName?: string }> {
return index1 === index2 ? 0 : (index1 > index2 ? 1 : -1);
}).forEach(item => {
const content = (
<div className={itemClassName || ''}>
<div className={itemClassName || ''} id={`top-area-${item.name}`}>
{item.content}
</div>
);