All Projects → rdkmaster → Jigsaw

rdkmaster / Jigsaw

Licence: mit
Jigsaw七巧板 provides a set of web components based on Angular5/8/9+. The main purpose of Jigsaw is to help the application developers to construct complex & intensive interacting & user friendly web pages. Jigsaw is supporting the development of all applications of Big Data Product of ZTE.

Programming Languages

typescript
32286 projects

Projects that are alternatives of or similar to Jigsaw

jigsaw-seed
这是组件库 Jigsaw-七巧板(https://github.com/rdkmaster/jigsaw) 的种子工程,建议所有新增的app都以这个工程作为种子开始构建。
Stars: ✭ 17 (-95.2%)
Mutual labels:  bigdata, webui
Seaside
The framework for developing sophisticated web applications in Smalltalk.
Stars: ✭ 341 (-3.67%)
Mutual labels:  component
Polyfill Php70
This component provides features unavailable in releases prior to PHP 7.0.
Stars: ✭ 3,270 (+823.73%)
Mutual labels:  component
Config
The Config component helps you find, load, combine, autofill and validate configuration values of any kind, whatever their source may be (YAML, XML, INI files, or for instance a database).
Stars: ✭ 3,671 (+937.01%)
Mutual labels:  component
Synedit
SynEdit main project
Stars: ✭ 324 (-8.47%)
Mutual labels:  component
Dependency Injection
The DependencyInjection component allows you to standardize and centralize the way objects are constructed in your application.
Stars: ✭ 3,635 (+926.84%)
Mutual labels:  component
Vue Picture Swipe
🖼 Vue Picture Swipe Gallery (a gallery of image with thumbnails, lazy-load and swipe) backed by photoswipe
Stars: ✭ 322 (-9.04%)
Mutual labels:  component
Liquor Tree
Tree component based on Vue.js
Stars: ✭ 348 (-1.69%)
Mutual labels:  component
Api.rss
RSS as RESTful. This service allows you to transform RSS feed into an awesome API.
Stars: ✭ 340 (-3.95%)
Mutual labels:  bigdata
Datafaker
Datafaker is a large-scale test data and flow test data generation tool. Datafaker fakes data and inserts to varied data sources. 测试数据生成工具
Stars: ✭ 327 (-7.63%)
Mutual labels:  bigdata
React Virtualized Tree
A virtualized tree view component making use of react
Stars: ✭ 328 (-7.34%)
Mutual labels:  component
Vue.isotope
📱 Vue component for isotope filter & sort magical layouts
Stars: ✭ 326 (-7.91%)
Mutual labels:  component
React Star Rating Component
Basic React component for star (or any other icon based) rating elements
Stars: ✭ 337 (-4.8%)
Mutual labels:  component
Dom Crawler
The DomCrawler component eases DOM navigation for HTML and XML documents.
Stars: ✭ 3,499 (+888.42%)
Mutual labels:  component
Datawave
DataWave is an ingest/query framework that leverages Apache Accumulo to provide fast, secure data access.
Stars: ✭ 347 (-1.98%)
Mutual labels:  bigdata
Ngx Materialize
Angular wrap around Materialize library
Stars: ✭ 322 (-9.04%)
Mutual labels:  component
Cache
The Cache component provides an extended PSR-6 implementation for adding cache to your applications.
Stars: ✭ 3,606 (+918.64%)
Mutual labels:  component
Vue Designer
Vue component design tool
Stars: ✭ 333 (-5.93%)
Mutual labels:  component
Minui
基于规范的小程序 UI 组件库,自定义标签组件,简洁、易用、工具化
Stars: ✭ 3,512 (+892.09%)
Mutual labels:  component
Notifier
Sends notifications via one or more channels (email, SMS, ...).
Stars: ✭ 346 (-2.26%)
Mutual labels:  component

Jigsaw-七巧板

  • For the desktop: @rdkmaster/jigsaw      npm version Build Status
  • For mobile: @rdkmaster/jigsaw-mobile npm version Build Status

Gitpod Ready-to-Code

README中文版

Why Jigsaw?

Jigsaw is a complete and powerful Web components set. The current version contains 43 components, 6 containers, 5 services, and 5 directives, basically covering all aspects of Web applications. Simply put, Jigsaw has almost all the functions of other component sets, and Jigsaw is more powerful and has better performance. Therefore, there is no need to worry about the lack of functionality with Jigsaw.

Jigsaw has an ability that other component sets do not have: Jigsaw’s application can support multiple Ux specifications at the same time in one development. Click here to learn more about it.

List of Availables

Components

# Name Description Link
1 Alert A simple dialog that usually used to tell the users something important, and it can also collect choice of the users. Demo
2 Auto Input A full-featured Input component with a drop-down list of suggested optional values. Demo
3 Breadcrumb A lightweight navigator which can automaticly trace while the users are browsing. Demo
4 Button A button. Demo
5 Button Bar A button bar which supports selection status, single or multiple selection, it can be used as a form control or a navigator. Demo
6 Cascade A form control for collecting or presenting data with subordinate relationships. Demo
7 Check Box A form control for collecting multi choices. Demo
8 Color Select A color picker. Demo
9 Combo Select A general drop-down view combination selector for storing complex views in a drop-down manner. Demo
10 Date Time (Single) A form control for collecting a date time. Demo
11 Date Time (Range) A form control for collecting a start and an end of date time. Demo
12 Fish Bone A Fishbone graph are often used to present some data with subordinate relationships in the form of fish bones. Demo
13 Graph Render any data graphically, including any graphics such as bar charts, line charts, pie charts, gauge, and more, powered by echarts. Demo
14 Icon A font icon, tells something graphicly or can be a simple link button. Demo
15 Input A form control for collecting some text. Demo
16 List Lite Presents a set of data as a text based list, supports single and multiple selection. Demo
17 List Presents a set of data as a fully customized list. Demo
18 Loading Displays an animation to ease the user's anxiety during waiting for certain operations. Demo
19 Menu A multi-level menu, which is often used for navigation. Demo
20 Notification Informs some unimportant message in the corner of the UI, or to collect some unimportant choice of the users. Demo
21 Numeric Input A form control for collecting numbers without typing, supports floats and integers. Demo
22 Pagination A control for dividing large amounts of data into multiple pages. Demo
23 Progress bar A progress bar. Demo
24 Radio Group A form control for collecting single choices. Demo
25 Rate A form control for the users to give his/her score of something. Demo
26 Scrollbar A custom scrollbar to any container, powered by perfect scrollbar. Demo
27 Select A form control for collecting the choice(s) by dropping down a list. Demo
28 Slider A form control for collecting numerical info by sliding. Demo
29 Steps Displays a series of custom steps which have some predefined states. Demo
30 Switch A form control for collection yes/no on/off choices. Demo
31 Table A very very powerful data grid. Demo
32 Tab Bar Tab bar of the Tabs container. Demo
33 Tag A tag control. Demo
34 Textarea A form control for collecting multi lines of text. Demo
35 Tile Renders a list of data by tiling. Demo
36 TileLite To show a list of data by tiling. Demo
37 Time A time selector for selecting hours, minutes and seconds. Demo
38 Time Section A time rule selector, you can set the rule for matching time. Demo
39 Tooltip A customized tooltip. Demo
40 Transfer A complex selector, used to select a large number of entries, supports paging. Demo
41 Tree Renders some data with subordinate relationships as a tree, powered by ztree. Demo
42 Upload Opens a file explorer to select one or more files and upload to the sever. Demo
43 Viewport Represents part of an abstract view. Demo

Containers

# Name Description Link
1 Collapse A container which can fold or open the given view. Demo
2 Combo Select A container that can hide any given view, which the user can pull down to display this view. Demo
3 Dialog A dialog box component which is often used in conjunction with PopupService. Demo
4 Drawer A drawer, which is often used to show/hide complex views. Demo
5 Tabs A multi-view folding container with tabs, which can overlay multiple views together. Demo
6 ViewStack A multi-view folding container, similar to Tabs but without a tab bar. Demo

Services

# Name Description Link
1 Translation Used to create a view that supports multiple languages. Demo
2 TimeService Translate time macros like now-1d to real values. --
3 PopupService Popups any given view to the top of the UI, very powerful Demo
4 LoadingService Popups up Loading component. Demo
5 ChartIconFactory Render simple data to tiny charts. --

Directives

# Name Description Link
1 Float Drop down any given view near the host, many positions supported. Demo
2 Trusted Html Similar to Angular's innerHtml directive, without sanitizing the given trusted html Demo
3 Draggable Makes the host draggable and droppable. Demo
4 Upload Give the host the ability to support uploading files. Demo
5 Menu A multi-level menu directive, which is often used for navigation. Demo

Meaning Of Name

We name this suite of components from a puzzle game. The process of this game, during which the player combine the messy pieces into a picture in accordance with the established blueprint, is similar to the development process of modern web page. We use Jigsaw as this component set’s name, hoping to make web page developers to combine the messy pieces of functions into your web page, just like playing jigsaw puzzle.

The soul of Jigsaw is combination, and we are committed to develop combination to the extreme level.

When several components are sorted and arranged in a certain order, you can get an application page. This is a normal combination, which we definee as Level I combination. In this level, all the components are like atoms, which means they can only act what they were made.

But Jigsaw's components are no longer atoms, we made a secondary abstraction of the functionality of the components, while allowing parts of the components highly customizable, some component even fully customizable. Small to basic components like jigsaw-button, large to giant components such as jigsaw-table, almost every UI element you see can be combined with other components to change its default behavior, and therefor to enhance the capability of components. Atomic components are limited, but the combination can produce infinite possibilities. The customization mentioned here, in other words, is another form of combination, and we call this level of combination as Level II.

With Jigsaw, unleash your imagination!

Get Started

A brand new start with Jigsaw

We strongly recommend to use Jigsaw Seed as the seed of all new projects. The specific steps are:

  1. Install or update nodejs, node 6.x.x and npm 3.x.x or later is required;
  2. Download or clone the source of Jigsaw Seed, assumed being saved to d:\jigsaw-seed;
  3. Install all dependencies by excuting the following script:
cd d:\jigsaw-seed
npm config set registry=https://registry.npm.taobao.org/                 # for Chinese developers only
npm config set sass_binary_site https://npm.taobao.org/mirrors/node-sass # for Chinese developers only
npm install -g @angular/cli                                              # optional, but strongly recommended
npm install
npm start
  • Attensions to the Chinese developers, do NOT use cnpm to install the dependencies because of this issue.
  • Attensions to all ZTErs, you can use the npm mirror inside of ZTE for faster speed of installing, check this link for more details.
  1. Open http://localhost:4200 in your browser, your development environment is completed set up if you can see the welcome page;
  2. Afterwards you can directly run npm start in the d:\jigsaw-seed directory to start the development environment;
  3. Jigsaw has specifically done code optimization for the modern IDE, so that IDE can accurately prompt more information, saving your time of reading api document. We recommend using WebStorm as IDE.

Use Jigsaw with your developing project

See the specific process here

A bible for the beginners

Jigsaw Tourist is a tutorial dedication to the beginners, which shows how to use Jigsaw from scratch to build a simple application page. Click here, bravely take your first step in Jigsaw.

If there is any difficulty in getting started, please add Jigsaw's official WeChat, where you can join the SOS group and have a dialogue with our developers directly.

A advanced guide

Any Badge is a best practice of using Jigsaw and RDK to create a full featured web application. It is a very good choice to read the source code of Any Badge, which helps your to learn more about Jigsaw and RDK, after you finish reading the Tour of Heroes and the Jigsaw Tourist.

One More Star Please!

This is the best encouragement for us.

Contribution

We believe that the following acts are doing contributions:

  • Quietly concern about Jigsaw;
  • Watch/star/fork it;
  • Reporting a bug or give us any suggestions by submitting an issue;
  • Write or translate the api documentation, or any articals about Jigsaw.
  • The more effective way to contribute is to push us PRs, all PRs are welcome and will be dealt with seriously;
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].