当前位置: 首页>>代码示例>>TypeScript>>正文


TypeScript page-context.getPageContext函数代码示例

本文整理汇总了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;
     }
 });
开发者ID:eez-open,项目名称:studio,代码行数:9,代码来源:resolution-dependable-properties.ts

示例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]
            };
        };
开发者ID:eez-open,项目名称:studio,代码行数:21,代码来源:resolution-dependable-properties.ts

示例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
    });
}
开发者ID:eez-open,项目名称:studio,代码行数:15,代码来源:resolution-dependable-properties.ts

示例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;
}
开发者ID:eez-open,项目名称:studio,代码行数:18,代码来源:resolution-dependable-properties.ts

示例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);
    };
开发者ID:eez-open,项目名称:studio,代码行数:41,代码来源:resolution-dependable-properties.ts

示例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;
}
开发者ID:eez-open,项目名称:studio,代码行数:97,代码来源:resolution-dependable-properties.ts


注:本文中的eez-studio-page-editor/page-context.getPageContext函数示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。