GithubHelp home page GithubHelp logo

gishub / generator-esri-appbuilder-js Goto Github PK

View Code? Open in Web Editor NEW

This project forked from esri/generator-esri-appbuilder-js

0.0 2.0 0.0 590 KB

Yeoman generator to help customize Esri's WebAppBuilder

License: Apache License 2.0

JavaScript 90.13% CSS 8.36% HTML 1.51%

generator-esri-appbuilder-js's Introduction

generator-esri-appbuilder-js Build Status

Yeoman generator to help customize the ArcGIS Web AppBuilder.

About

This generator scaffolds out the boilerplate files that are needed when you are customizing the Web AppBuilder. This includes generators to creates project files (package.json, .jshintrc, etc) and scaffold out the files needed to create a new custom widget and custom theme.

Screenshot

Getting Started

Installation

To install Yeoman from npm (if not already), run:

$ npm install -g yo

To install generator-esri-appbuilder-js from npm, run:

$ npm install -g generator-esri-appbuilder-js

Running the Generators

The generators should be run in the root folder of either the stem app or an app that you've already created with the Web AppBuilder.

App (Default) Generator

Currently the app generator doesn't do much other than install some project files (package.json, .jshintrc, etc) and ensure required subfolders (like widgets) exist. The subgenerators do most of the work.

  1. Navigate into either stemapp or server/apps/[appId] under your local Web AppBuilder installation
  2. Run the generator with yo esri-appbuilder-js
  3. Answer the man's questions!
Prompt Description Default
Author Name of developers or organization for widget manifests Your Name or Organization

Widget Generator

Scaffolds out the files needed to create a new custom widget.

  1. Navigate into either stemapp or server/apps/[appId] under your local Web AppBuilder installation
  2. Run the generator with yo esri-appbuilder-js:widget
  3. Answer the man's questions!
Prompt Description Default
Widget Name Folder name for output files and widget identifier MyWidget
Widget Title Name users see in widget selector and panel title bar My Widget
Description What does this widget do? (optional) A custom Web AppBuilder widget
Base Class The widget's base class my-widget
Run inside a panel Will your widget run inside a panel? Yes
Locale (i18n) file Will your widget require a locale file? Yes
Style (CSS) file Will your widget require a style file? Yes
Config (JSON) file Will your widget require a configuration file? Yes
Template (HTML) file Will your widget require a template file? Yes

Taking the default values for the prompts will generate the following output under the widgets folder:

MyWidget
│   config.json
│   manifest.json
│   Widget.html
│   Widget.js
│
├───css
│       style.css
│
├───images
│       icon.png
│
└───nls
        strings.js

The next time you run the Web AppBuilder, you will see something like the following on the widgets panel:

Widget in the Builder

Theme Generator

Scaffolds out the files needed to create a new custom theme based on the default Foldable Theme by Esri.

  1. Navigate into either stemapp or server/apps/[appId] under your local Web AppBuilder installation
  2. Run the generator with yo esri-appbuilder-js:theme
  3. Answer the man's questions!
Prompt Description Default
Theme Name Folder name for output files and theme identifier DefaultThemeName
Description Give a description of your custom theme A good description of my theme...
Author Your name or organization to be associated with the theme My organization

Issues

Find a bug or want to request a new feature? Please let us know by submitting an issue.

Contributing

We welcome contributions from anyone and everyone. Please see Esri's guidelines for contributing.

Credit

This generator was inspired by @steveoh and @stdavis's generator-dojo-widget as well as @dbouwman's generator-bootmap.

Licensing

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

A copy of the license is available in the repository's license.txt file.

[](Esri Tags: web AppBuilder yeoman generator node) [](Esri Language: JavaScript)

generator-esri-appbuilder-js's People

Contributors

tomwayson avatar spohner avatar jpurush avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.