@lidorsystems/integralui-web

    20.2.1 • Public • Published

    IntegralUI Web for Angular, v20.2

    IntegralUI Web is a library built on top of Angular 9 framework. It consists of user interface components, directives and services that can help you create modern web applications.

    IntegralUI Web 19.4 - 35+ UI Components for Angular

    Here is a brief overview of what is included:

    Components

    Accordion - Displays a list of expandable groups in vertical layout

    AutoComplete - Represents a text box with a dropdown list where you can choose among suggested options

    Breadcrumb - Used for navigation, where each item can have a link that is automatically separated

    Button - Represents a button

    Calendar - Enables the user to select a date using a visual monthly calendar display

    CheckBox - Represents a check box

    ColorPicker - Allows the user to select a color by using a drop-down panel with color palette and slider

    ComboBox - Advanced version of standard ComboBox element

    DatePicker - Allows the user to select a date by using a drop-down calendar

    Dialog - Displays a modal window

    DropDownButton - Represents a button with option to show a dropdown list

    Grid - Displays tabular data sets

    GroupBox - An expandable container with header and content

    ListBar - Displays a list of expandable groups with items

    ListBox - Displays a collection of items with content in custom layouts

    ListScroller - Displays a scrollable item list in horizontal or vertical layout

    ListView - Displays a collection of items using several different views

    Menu - Allows you to create static or dynamic menus

    NumericUpDown - Displays a numeric value and allows changes within a range of defined minimum and maximum values

    Paginator - Allows you to divide the content in multiple views in single page

    ProgressBar - Visualize the progression of an operation

    RadioButton - Represents a radio button

    Rating - Visualizes ratings

    SideBar - Allows you to add a custom content panel that appears by sliding from page side over main content

    SlideBar - Animates slides composed of custom content

    Slider - Allows changes to a numeric value within a range of defined minimum and maximum values

    SplitContainer - Consists of two resizable panels separated by a splitter with tabs and command buttons

    Splitter - Allows you to resize two block elements during run-time

    TabStrip - Consists of multiple scrollable panels that share the same space

    Toolbar - Displays a collection of different tool items and editors in one line

    TreeGrid - Displays hierarchical data structures in multiple columns

    TreeList - Allows you to navigate through tree hierarchy showing only one list at a time

    TreeView - Displays hierarchical data structures

    Directives

    ContextMenu - Represents a shortcut menu

    DropDown - Represents a dropdown window

    Frame - Places a grip handle that allows you to resize a container during run-time

    Popover - Displays custom HTML content over specified element

    Range - Allows you to set limits in which an element can resize during run-time

    Resize - Detects changes to the element size and fires notifications when it happens

    Tooltip - Adds a tooltip to an element

    Services

    Common - Includes a set of common functions usable in most applications

    Data - Includes a set of data related functions for different operations like: add/remove, search, etc.

    DragDrop - Provides a way to use drag drop operations between custom components or elements.

    Filter - Includes a set of related functions for filter operations

    All components are inheritable, you can further extend functionalities of specific component by simple create a subclass of component main class. To get access to a specific component, the best way is to import the IntegralUIModule in your application.

    Dependencies

    IntegralUI Web requires only the following library:

    Angular - v9.0 and above

    DEMO

    Online QuickStart App - An online demo of each component included

    Installation

    Install the repository by running

    npm install https://github.com/lidorsystems/integralui-web.git

    or directly from NPM

    npm i @lidorsystems/integralui-web

    Open your application module and add a reference to IntegralUI module. Use a relative path to the module location:

    import { IntegralUIModule } from '../../node_modules/@lidorsystems/integralui-web/bin/integralui/integralui.module';
     
    @NgModule({
      imports:      [ IntegralUIModule ],
      declarations: [ AppComponent ],
      bootstrap:    [ AppComponent ]
    })
    export class AppModule { }

    Note In order to use a specific component or directive in your application, follow the guidelines from corresponding article. You can find a separate article available for each component or directive.

    Angular CLI

    After installation, in angular.json under styles section add this code line:

    "node_modules/@lidorsystems/integralui-web/bin/integralui/css/integralui.module.css"

    To apply a theme, also add code line for corresonding theme file:

    "node_modules/@lidorsystems/integralui-web/bin/integralui/themes/integralui.themes.office.css"

    Note You can choose a theme from available themes located at '~ ... /integralui/themes' folder.

    How to Reduce Bundle Size

    If you are using only few components from the InetgralUI Web package, you can reduce the bundle size during compilation by modifying the integralui.module.css file. This file imports CSS files for each component that is part of the package. Inside this file import only CSS for components that you are using.

    For example, if you are using only the TreeView component in your app, comment out all other imports for individual components, except for the TreeView component. The result should look like this:

    /* General settings */
    @import 'integralui.css';
    @import 'integralui.dragdrop.css';
    @import 'integralui.editing.css';
    @import 'integralui.filter.css';
    @import 'integralui.sorting.css';
    
    /* Component settings */
    @import 'integralui.treeview.css';
    
    
    /*
     * Comment out all other CSS files
     *
    
    @import 'integralui.accordion.css';
    @import 'integralui.autocomplete.css';
    @import 'integralui.breadcrumb.css';
    
    . . .
    
    */
    

    You should keep the General Settings section in CSS, it is used by all components.

    As a final result, after compilation the build size will be greatly reduced.

    Creating Custom Styles for IntegralUI Components

    When you create custom styles or changes to built-in CSS classes of IntegralUI components, placed for example within app.component.css file, make sure ViewEncapsulation is set to None. This allows to override default settings from corresponding component css file. For example:

    app.component.ts

    import { Component, ViewEncapsulation } from '@angular/core';
     
    @Component({
      selector: 'app-root',
      templateUrl: './app.component.html',
      styleUrls: ['./app.component.css'],
      encapsulation: ViewEncapsulation.None
    })
    export class AppComponent {
    }

    app.component.css

    .iui-treeview
    {
      width: 400px;
      height: 300px;
    }

    In this example, the TreeView component will have its width and height set from within the app.component.

    Note Changes to ViewEncapsulation set to None is avoidable, if you create your own CSS style sheet and include it in angular.json file under styles section. Like it is explained above for general IntegralUI styles.

    QuickStart App

    There is a demo application with source code that contains samples for each component included in the IntegralUI Web product package. It can help you to get started quickly with learning about the components and write tests immediatelly.

    In order to start this application, you only need to install the latest Angular library. Open the nodejs command prompt, go to application directory and type:

        npm install

    After installation completes, start the application by typing:

        ng serve --open

    The application will start displaying the main window with links to all components included. Each component window contains a demo and description about the component functionality. You can checkout the sample source code (located under integralui-web/quickstart/src/app/samples subfolder) for more information on the sample and component used.

    Release Notes

    This is Trial version of the product. All features are fully functional, except that each component displays a pop-up trial window.

    License Information

    You may use this version for the limited purposes of demonstrations, trials or design-time evaluations.

    This project has been released under the IntegralUI Web License, and may not be used except in compliance with the License. A copy of the License should have been installed in the product's root installation directory or it can be found here: License Agreement.

    This SOFTWARE is provided "AS IS", WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for the specific language governing rights and limitations under the License.

    Install

    npm i @lidorsystems/integralui-web

    DownloadsWeekly Downloads

    47

    Version

    20.2.1

    License

    SEE LICENSE in LICENSE.md

    Unpacked Size

    11.7 MB

    Total Files

    1494

    Last publish

    Collaborators

    • lidor996