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 🙏

© 2024 – Pkg Stats / Ryan Hefner

@blockly/plugin-typed-variable-modal

v7.0.12

Published

A Blockly plugin to create a modal for creating typed variables.

Downloads

949

Readme

@blockly/plugin-typed-variable-modal Built on Blockly

A Blockly plugin that adds the ability to create a modal for creating typed variables.

Installation

npm install @blockly/plugin-typed-variable-modal --save

Usage

To add a Typed Variable Modal to your application you will have to create a custom dynamically populated flyout category. More information on custom flyouts can be found here.

Import

import * as Blockly from 'blockly';
import {TypedVariableModal} from '@blockly/plugin-typed-variable-modal';

or

<script src="https://unpkg.com/@blockly/plugin-typed-variable-modal"></script>

Setup

Create your workspace.

workspace = Blockly.inject('blocklyDiv', {
  toolbox: toolbox,
});

Add a custom category to your toolbox.

<category name="Colours" custom="CREATE_TYPED_VARIABLE"></category>

Define a callback to provide the category content.

const createFlyout = function (workspace) {
  let xmlList = [];
  // Add your button and give it a callback name.
  const button = document.createElement('button');
  button.setAttribute('text', 'Create Typed Variable');
  button.setAttribute('callbackKey', 'callbackName');

  xmlList.push(button);

  // This gets all the variables that the user creates and adds them to the
  // flyout.
  const blockList = Blockly.VariablesDynamic.flyoutCategoryBlocks(workspace);
  xmlList = xmlList.concat(blockList);
  return xmlList;
};

Register the callback for the toolbox category.

workspace.registerToolboxCategoryCallback(
  'CREATE_TYPED_VARIABLE',
  createFlyout,
);

Create your Typed Variable Modal using the workspace, callbackName for the button and your types.

const typedVarModal = new TypedVariableModal(workspace, 'callbackName', [
  ['PENGUIN', 'Penguin'],
  ['GIRAFFE', 'Giraffe'],
]);
typedVarModal.init();

Blockly Languages

We do not currently support translating the text in this plugin to different languages. However, if you would like to support multiple languages the different messages in the typed variable modal can be set by calling typedVarModal.setLocale(messages).

Messages that need to be translated for a Typed Variable Modal:

  • TYPED_VAR_MODAL_CONFIRM_BUTTON (Default: "Ok"): The label for the confirmation button.
  • TYPED_VAR_MODAL_VARIABLE_NAME_LABEL (Default: "Variable Name: "): The label in front of the variable input.
  • TYPED_VAR_MODAL_TYPES_LABEL (Default: "Variable Types"): The label in front of the types.
  • TYPED_VAR_MODAL_CANCEL_BUTTON (Default: "Cancel"): The label for the cancel button.
  • TYPED_VAR_MODAL_TITLE (Default: "Create Typed Variable"): The modal title.
  • TYPED_VAR_MODAL_INVALID_NAME (Default: "Name is not valid. Please choose a different name.") The message used when a user gives an invalid variable name. Name is invalid if it is the message used for renaming a variable, creating a variable, or an empty string.

API

  • init: Create a typed variable modal and register it with the given button name.
  • dispose: Dispose of the typed variable modal.
  • show: Shows the modal and focus on the first focusable element.
  • hide: Hide the modal.
  • render: Create all the dom elements for the modal.
  • setLocale: Change the language for the typed variable modal.

License

Apache 2.0