Merge pull request #566 from alibaba/feat/add-methods

Feat/add methods
This commit is contained in:
林熠 2022-05-31 10:18:44 +08:00 committed by GitHub
commit b8f35c504e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 31 additions and 6 deletions

View File

@ -40,7 +40,9 @@ export class LowCodePluginManager implements ILowCodePluginManager {
isEngineVersionMatched(versionExp: string): boolean { isEngineVersionMatched(versionExp: string): boolean {
const engineVersion = engineConfig.get('ENGINE_VERSION'); const engineVersion = engineConfig.get('ENGINE_VERSION');
return semverSatisfies(engineVersion, versionExp); // ref: https://github.com/npm/node-semver#functions
// 1.0.1-beta should match '^1.0.0'
return semverSatisfies(engineVersion, versionExp, { includePrerelease: true });
} }
/** /**

View File

@ -17,7 +17,7 @@ function getVersion() {
const [_, version, beta] = match; const [_, version, beta] = match;
return beta && beta.endsWith('beta') ? `${version}(beta)` : version; return beta && beta.endsWith('beta') ? `${version}-beta` : version;
} }
const releaseVersion = getVersion(); const releaseVersion = getVersion();

View File

@ -84,6 +84,10 @@ export default class ComponentMeta {
return this[componentMetaSymbol].prototype; return this[componentMetaSymbol].prototype;
} }
get availableActions() {
return this[componentMetaSymbol].availableActions;
}
/** /**
* npm * npm
* @param npm * @param npm

View File

@ -68,6 +68,10 @@ export default class DocumentModel {
return this[documentSymbol].id; return this[documentSymbol].id;
} }
set id(id) {
this[documentSymbol].id = id;
}
/** /**
* project * project
* @returns * @returns
@ -157,8 +161,8 @@ export default class DocumentModel {
copy?: boolean | undefined, copy?: boolean | undefined,
) { ) {
const node = this[documentSymbol].insertNode( const node = this[documentSymbol].insertNode(
parent[nodeSymbol] as any, parent[nodeSymbol] ? parent[nodeSymbol] : parent,
thing?.[nodeSymbol], thing?.[nodeSymbol] ? thing[nodeSymbol] : thing,
at, at,
copy, copy,
); );
@ -204,7 +208,7 @@ export default class DocumentModel {
* document hover * document hover
*/ */
onChangeDetecting(fn: (node: Node) => void) { onChangeDetecting(fn: (node: Node) => void) {
this[documentSymbol].designer.detecting.onDetectingChange((node: InnerNode) => { return this[documentSymbol].designer.detecting.onDetectingChange((node: InnerNode) => {
fn(Node.create(node)!); fn(Node.create(node)!);
}); });
} }
@ -213,7 +217,7 @@ export default class DocumentModel {
* document * document
*/ */
onChangeSelection(fn: (ids: string[]) => void) { onChangeSelection(fn: (ids: string[]) => void) {
this[documentSymbol].selection.onSelectionChange((ids: string[]) => { return this[documentSymbol].selection.onSelectionChange((ids: string[]) => {
fn(ids); fn(ids);
}); });
} }

View File

@ -43,6 +43,13 @@ export default class Prop {
return Node.create(this[propSymbol].getNode()); return Node.create(this[propSymbol].getNode());
} }
/**
* return the slot node (only if the current prop represents a slot)
*/
get slotNode(): Node | null {
return Node.create(this[propSymbol].slotNode);
}
/** /**
* judge if it is a prop or not * judge if it is a prop or not
*/ */

View File

@ -3,6 +3,7 @@ import { CompositeValue, FieldConfig } from '@alilc/lowcode-types';
import { settingPropEntrySymbol } from './symbols'; import { settingPropEntrySymbol } from './symbols';
import Node from './node'; import Node from './node';
import SettingTopEntry from './setting-top-entry'; import SettingTopEntry from './setting-top-entry';
import ComponentMeta from './component-meta';
export default class SettingPropEntry { export default class SettingPropEntry {
private readonly [settingPropEntrySymbol]: SettingField; private readonly [settingPropEntrySymbol]: SettingField;
@ -89,6 +90,13 @@ export default class SettingPropEntry {
return this[settingPropEntrySymbol].isSettingField; return this[settingPropEntrySymbol].isSettingField;
} }
/**
* componentMeta
*/
get componentMeta(): ComponentMeta | null {
return ComponentMeta.create(this[settingPropEntrySymbol].componentMeta);
}
/** /**
* key * key
* @param key * @param key