本文整理汇总了TypeScript中eez-studio-page-editor/page-context.getPageContext函数的典型用法代码示例。如果您正苦于以下问题:TypeScript getPageContext函数的具体用法?TypeScript getPageContext怎么用?TypeScript getPageContext使用的例子?那么, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了getPageContext函数的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。
示例1: getPropertyValueForAllResolutions
object._classInfo.properties.forEach(propertyInfo => {
if (propertyInfo.resolutionDependable) {
const value = getPropertyValueForAllResolutions(object, propertyInfo.name);
for (let i = getPageContext().resolution + 1; i < value.length; i++) {
value[i] = null;
}
changes[propertyInfo.name + "_"] = value;
}
});
示例2: oldUpdateObjectValueHook
aClass.classInfo.updateObjectValueHook = (
object: EezObject,
propertyName: string,
value: any
) => {
if (oldUpdateObjectValueHook) {
const result = oldUpdateObjectValueHook(object, propertyName, value);
if (result) {
return result;
}
}
if (propertyNames.indexOf(propertyName) === -1) {
return undefined;
}
return {
oldValue: [getPageContext().resolution, (object as any)[propertyName]],
newValue: [getPageContext().resolution, value]
};
};
示例3: unsetResolutionDependablePropertyForCurrentResolution
export function unsetResolutionDependablePropertyForCurrentResolution(
object: EezObject,
propertyName: string
) {
const allValues: (any | null)[] = getPropertyValueForAllResolutions(object, propertyName);
allValues[getPageContext().resolution] = null;
while (allValues.length > 1 && allValues[allValues.length - 1] === null) {
allValues.pop();
}
DocumentStore.updateObject(object, {
[propertyName + "_"]: allValues
});
}
示例4: getProperty
export function getProperty(object: any, propertyName: string, resolution?: number): any {
if (resolution == undefined) {
resolution = getPageContext().resolution;
}
let dependableProperty = object[propertyName + "_"];
if (!dependableProperty) {
return undefined;
}
for (let i = resolution; i >= 0; i--) {
if (i < dependableProperty.length) {
let value = dependableProperty[i];
if (value != undefined) {
return value;
}
}
}
return undefined;
}
示例5: oldBeforeLoadHook
aClass.classInfo.beforeLoadHook = (object: EezObject, jsObject: any) => {
if (oldBeforeLoadHook) {
oldBeforeLoadHook(object, jsObject);
}
const dependableProperties: {
[name: string]: any;
} = {};
if (getPageContext().allResolutions.length > 0) {
propertyNames.forEach(propertyName => {
let dependableProperty;
if (jsObject[propertyName] !== undefined) {
// migration
dependableProperty = [jsObject[propertyName]];
delete jsObject[propertyName];
} else if (jsObject[propertyName + "_"] !== undefined) {
dependableProperty = jsObject[propertyName + "_"];
delete jsObject[propertyName + "_"];
} else {
dependableProperty = [];
}
dependableProperties[propertyName + "_"] = dependableProperty;
});
} else {
propertyNames.forEach(propertyName => {
if (jsObject[propertyName + "_"] !== undefined) {
if (jsObject[propertyName + "_"].length > 0) {
jsObject[propertyName] = jsObject[propertyName + "_"][0];
}
delete jsObject[propertyName + "_"];
}
dependableProperties[propertyName] = jsObject[propertyName];
});
}
extendObservable(object, dependableProperties);
};
示例6: withResolutionDependableProperties
export function withResolutionDependableProperties(aClass: EezClass) {
if ((aClass.classInfo as any).__withResolutionDependablePropertiesCalled) {
return aClass;
}
(aClass.classInfo as any).__withResolutionDependablePropertiesCalled = true;
const propertyNames = aClass.classInfo.properties
.filter(propertyInfo => propertyInfo.resolutionDependable)
.map(propertyInfo => propertyInfo.name);
if (propertyNames.length === 0) {
return aClass;
}
const oldBeforeLoadHook = aClass.classInfo.beforeLoadHook;
aClass.classInfo.beforeLoadHook = (object: EezObject, jsObject: any) => {
if (oldBeforeLoadHook) {
oldBeforeLoadHook(object, jsObject);
}
const dependableProperties: {
[name: string]: any;
} = {};
if (getPageContext().allResolutions.length > 0) {
propertyNames.forEach(propertyName => {
let dependableProperty;
if (jsObject[propertyName] !== undefined) {
// migration
dependableProperty = [jsObject[propertyName]];
delete jsObject[propertyName];
} else if (jsObject[propertyName + "_"] !== undefined) {
dependableProperty = jsObject[propertyName + "_"];
delete jsObject[propertyName + "_"];
} else {
dependableProperty = [];
}
dependableProperties[propertyName + "_"] = dependableProperty;
});
} else {
propertyNames.forEach(propertyName => {
if (jsObject[propertyName + "_"] !== undefined) {
if (jsObject[propertyName + "_"].length > 0) {
jsObject[propertyName] = jsObject[propertyName + "_"][0];
}
delete jsObject[propertyName + "_"];
}
dependableProperties[propertyName] = jsObject[propertyName];
});
}
extendObservable(object, dependableProperties);
};
if (getPageContext().allResolutions.length > 0) {
const oldUpdateObjectValueHook = aClass.classInfo.updateObjectValueHook;
aClass.classInfo.updateObjectValueHook = (
object: EezObject,
propertyName: string,
value: any
) => {
if (oldUpdateObjectValueHook) {
const result = oldUpdateObjectValueHook(object, propertyName, value);
if (result) {
return result;
}
}
if (propertyNames.indexOf(propertyName) === -1) {
return undefined;
}
return {
oldValue: [getPageContext().resolution, (object as any)[propertyName]],
newValue: [getPageContext().resolution, value]
};
};
propertyNames.forEach(propertyName => {
Object.defineProperty(aClass.prototype, propertyName, {
get() {
return getProperty(this, propertyName);
},
set(value) {
setProperty(this, propertyName, value);
}
});
});
}
return aClass;
}