npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

widget-core-designer

v0.0.11

Published

[![npm version](https://badge.fury.io/js/widget-core-designer.svg)](https://badge.fury.io/js/widget-core-designer)

Readme

widget-core-designer

npm version

将用户自定义部件转换为可在设计器中使用的部件,提供以下功能:

  1. 测量部件尺寸;
  2. 增加遮盖层,屏蔽部件与设计器冲突的事件;
  3. 覆盖部件的获取焦点效果;
  4. 为空容器增加可视化效果等。

如何使用

在你的项目中使用widget-core-designer时,需使用以下命令安装此包

npm install widget-core-designer

如何开发设计器版部件

开发步骤

  1. 创建部件类,为用户自定义部件添加设计器功能;
  2. 引入本项目中的DesignerWidgetMixin
    import DesignerWidgetMixin from 'widget-core-designer/DesignerWidgetMixin';
  3. 将原部件的属性与设计器部件的相关属性混合:
    export default class UserCustomWidget extends DesignerWidgetMixin(UserCustomWidgetBase){}
  4. 根据部件特性进行部分属性的定制:
    1. 覆写isContainer方法,该方法默认返回false,用于标识是否是容器部件,即内容为空时需要在设计器中默认撑开一定高度。
    2. 覆写needOverlay方法,该方法默认返回false,针对输入框之类的部件需要在设计器中阻止点击事件,增加遮盖层。
    protected isContainer(){
        return false;
    }
    protected needOverlay(){
        return false;
    }

示例代码

  1. 自定义部件

export class UserCustomWidgetBase<P extends UserCustomWidgetProperties = UserCustomWidgetProperties> extends ThemedBase<P> {
    ...
}

export default class UserCustomWidget extends UserCustomWidgetBase<UserCustomWidgetProperties> {}
  1. 设计器使用的部件
import UserCustomWidgetBase from './widgets/UserCustomWidget';
import DesignerWidgetMixin from './DesignerWidgetMixin';

export class UserCustomWidget extends DesignerWidgetMixin(UserCustomWidgetBase){
    
    protected isContainer(){
       return true;
    }

    protected needOverlay(){
        return false;
    }
}

export default UserCustomWidget;

如何打包项目

进入项目的根目录,执行以下命令:

grunt dist