1.9.13 • Published 5 months ago

@obliczeniowo/elementary v1.9.13

Weekly downloads
-
License
ISC
Repository
github
Last release
5 months ago

Author

Krzysztof Zajączkowski

Home page: https://www.obliczeniowo.com.pl

Live example of components:

1.9.0 Angular 17 - here you are

30-11-2023 1.9.13 fix problem with updating get request

28-11-2023 1.9.12 add new modeller option for sending get request

17-11-2023 1.9.10 add edit icon

13-11-2023 1.9.8 close modal on destroy

12-11-2023 1.9.7 add data to dialogs open options to let pass some additional info to dialog object

12-11-2023 1.9.6 add logout icon

11-11-2023 1.9.3 add equal validators

11-11-2023 1.9.2 emit closed when dialog wrapper is closing

10-11-2023 1.9.1 update of dropdowns

09-11-2023 1.9.0 update to Angular 17

1.8.0 Angular 16 - new adventure

03-11-2023 1.8.97 use isValid to display errors

03-11-2023 1.8.96 add errors to input wrapper

03-11-2023 1.8.95 fix login validator

02-11-2023 1.8.94 add documentation and validators of: login, uLogin, noWhiteSpace

02-11-2023 1.8.93 add some basic validators to library like: email, NIP, PESEL, REGON validators

30-10-2023 1.8.92 oblButton directive block loading and add option to enable button on loading if someone need that

30-10-2023 1.8.91 wrap buttons for input wrapper of file type

24-10-2023 1.8.90 update packages

23-09-2023 1.8.89 obl-modeller - extend possibility of calculate formula by adding if-else statement, let calculate formula without parameters input

17-09-2023 1.8.88 obl-modeller - formula example fix

17-09-2023 1.8.87 obl-modeller - add json option to const or variable box

17-09-2023 1.8.85 obl-modeller - initial position of box in place of click button for opening menu

16-09-2023 1.8.84 obl-modeller - add text variable option for cont or variable box

16-09-2023 1.8.83 obl-modeller - add move when user create connector and move cursor over edge of view

16-09-2023 1.8.82 obl-modeller - cancel create connector when dragging box

16-09-2023 1.8.81 obl-modeller - display as red connectors that are connected

16-09-2023 1.8.80 obl-modeller - detect broken connector and remove it on click

16-09-2023 1.8.79 obl-modeller - formula modeller box that give you possibility to calculate mathematical formula by using mathematical functions and input variables connected by user.

Example ["sin", "get", "variable-name"] is like sin(variable-name).

You can put down there array of numbers or number.

available operations

get - to get value of variable name "get", "name"

multiply - to multiply two values ["multiply", "get", "variable-name", 10]

divide - to divide

add - to add

subtract - to subtract

mod - to calculate modulo

exp - to calculate power of e

pow - to powering

sin - to calculate sinus

cos - to calculate cosinus

tan - to calculate tangens

asin - to calculate arc sinus

acos - to calculate arc cosinus

atan - to calculate arc tangens,

sinh - to calculate hyperbolic sinus

cosh - to calculate hyperbolic cosinus

tanh - to calculate hyperbolic tangens

or

and

not

== - equal

!= - not equal

<, >, <=, >= - less then, greater then, less or equal, more or equal

toRadians - change value from degrees to radians

toDegrees - change value from radians to degrees

pi - return pi "pi"

e - return e "e"

goldenRatio - return golden ration "goldenRatio"

15-09-2023 1.8.77 obl-modeller - add json option to const or variable box

15-09-2023 1.8.78 obl-modeller - emit output

15-09-2023 1.8.77 obl-modeller - add more constants

13-09-2023 1.8.76 obl-modeller - add concat array box

13-09-2023 1.8.75 obl-modeller - translations in menu

12-09-2023 1.8.74 obl-modeller - refactor modeller section

12-09-2023 1.8.73 obl-modeller - fix removing fields

12-09-2023 1.8.72 obl-modeller - translations

11-09-2023 1.8.71 obl-modeller - add generate option to generate array of numbers

10-09-2023 1.8.70 obl-modeller - improve set options

10-09-2023 1.8.69 obl-modeller - retrieve options model for input/output

10-09-2023 1.8.68 obl-modeller - split input box

10-09-2023 1.8.67 obl-modeller - restore connectors after remove dynamic added field

10-09-2023 1.8.66 obl-modeller - add join array to object modeller option

09-09-2023 1.8.65 obl-modeller - fix box items emits problem

09-09-2023 1.8.64 obl-modeller - fix issue with not clear connector when remove on some cases

09-09-2023 1.8.63 obl-modeller - split object can split array of objects

07-09-2023 1.8.62 obl-modeller - create extended version of BehaviorSubject and EventEmitter to make easy way to unsubscribe all subscriptions

05-09-2023 1.8.61 obl-modeller - extend math-operators to work with numbers and arrays of numbers (arrays should have the same length)

03-09-2023 1.8.60 obl-modeller - fix unsubscribe case, add optionsChanged, fix detect changes for math operators, set translations in output

29-08-2023 1.8.58 obl-modeller - translations - fix translations

29-08-2023 1.8.57 obl-modeller - translations - change way of set and add rest of them

28-08-2023 1.8.56 obl-modeller - translations

27-08-2023 1.8.55 obl-modeller - set headers for math operators arguments

27-08-2023 1.8.54 obl-modeller - fix model options set

27-08-2023 1.8.53 obl-modeller - add some constants

27-08-2023 1.8.52 obl-modeller - add mathematical operators box option

27-08-2023 1.8.51 obl-switcher - fade in animation and color of disabled text

20-08-2023 1.8.50 obl-switcher - support different color for off and animation interpolation of color;

20-08-2023 1.8.49 obl-switcher - add animation on icons

20-08-2023 1.8.48 obl-switcher - add icons on on/off by icon name or TemplateRef

20-08-2023 1.8.47 obl-switcher - fix not set value in form issue and add a bit of description

19-08-2023 1.8.46 obl-switcher - form control accessor

19-08-2023 1.8.45 obl-switcher - add loading state that disable component and display spinner inside of it

19-08-2023 1.8.44 obl-switcher - small animation for on/off input text

19-08-2023 1.8.43 obl-switcher - add disabled mode

19-08-2023 1.8.42 obl-switcher - display on/off state.

19-08-2023 1.8.41 obl-switcher - brand brand new component
obl-split-box - brand new option for modeller

19-07-2023 1.8.40 obl-calendar - fix problem with locales

16-07-2023 1.8.39 obl-modeller - connector displaying when create - add better shape

16-07-2023 1.8.38 obl-modeller - fix issue with loosing connection when add output new field or remove field

11-07-2023 1.8.37 obl-modeller not fully implemented yet, have some detected issues to resolve

24-06-2023 1.8.36 obl-relation-categories - disable menu when disabled

18-06-2023 1.8.34 obl-circle-categories-tree-relations - fix bug for version without reactive form

18-06-2023 1.8.33 obl-circle-categories-tree-relations - add context menu on click on connector

18-06-2023 1.8.32 obl-circle-categories-tree-relations - context menu on click on item category text

18-06-2023 1.8.31 obl-relation-categories - block menu when no connectors for clicked category exist

18-06-2023 1.8.30 obl-relation-categories, obl-menu add translations and fix menu issues

18-06-2023 1.8.29 obl-relation-categories add menu things by set reference to menu component

17-06-2023 1.8.28 obl-menu fix issue with not set properly position of background, prepare to add menu to relations-components (not yet fully covered)

17-06-2023 1.8.27 obl-menu add disabled option per items

17-06-2023 1.8.26 obl-menu basic stuff for context menu (on right click one)

05-06-2023 1.8.25 obl-circle-categories-tree-relations add value accessor to let use it with reactive form

04-06-2023 1.8.24 obl-circle-categories-tree-relations interactive mode when disable input is undefined or false

04-06-2023 1.8.23 obl-circle-categories-tree-relations highlight connectors

04-06_2023 1.8.22 obl-circle-categories-tree-relations emit on connector click

04-06-2023 1.8.21 obl-circle-categories-tree-relations emit on item click

04-06-2023 1.8.20 obl-circle-categories-tree-relations make connectors less overlapping and a bit of optimization

04-06-2023 1.8.19 obl-circle-categories-tree add dots and simplify/optimize displaying items

03-06-2023 1.8.18 obl-circle-categories-tree fix text angle issue

03-06-2023 1.8.17 obl-circle-categories-tree add a bit of distance between grouped one

03-06-2023 1.8.16 obl-circle-categories-tree-relations add a bit of distances between grouped one

03-06-2023 1.8.15 obl-circle-categories-tree-relations - sounds lame but I added dot to make it a bit more cute

03-06-2023 1.8.14 obl-circle-categories-tree-relations component (still work in progress but in general can display a things, very exciting time on this library, very exciting time)

28-05-2023 1.8.13 gobl-relation-connector - move to separated module

28-05-2023 1.8.12 gobl-directional-component - move to separated module

27-05-2023 1.8.11 obl-circle-categories-tree component - add reactive form to this things

27-05-2023 1.8.10 obl-circle-categories-tree component - emit value when element is clicked

27-05-2023 1.8.9 obl-circle-categories-tree component - improve shape of branches and display header

27-05-2023 1.8.8 obl-circle-categories-tree component - change shape of branches

27-05-2023 1.8.7 obl-circle-categories-tree component

27-05-2023 1.8.6 obl-categories-relations make starting shape more cute ant add some extra styles for it (final tuning)

26-05-2023 1.8.5 obl-categories-relations add connecting points

25-05-2023 1.8.4 obl-categories-relations fix shape of connector issue

25-05-2023 1.8.3 obl-categories-relations set position when hover over item

23-05-2023 1.8.2 obl-categories-relations sort when add one

21-05-2023 1.8.1 add interactive mode to obl-categories-relations component

1.7.0 Angular 15 - list of changes

20-05-2023 1.7.104 obl-categories-relations component - add reactive part

20-05-2023 1.7.103 obl-categories-relations component - highlight on hover over category text

20-05-2023 1.7.102 obl-categories-relations component basic implementation

08-05-2023 1.7.101 fix black pawn not change into quine in obl-chess component for ChessPieceMoveModel

08-05-2023 1.7.99 fix gobl-menu-item with showing item text when should hide

04-05-2023 1.7.98 fix obl-circle-progress-stepper for initial state to render properly steps

21-04-2023 1.7.97 fix bug regarding styles inside obl-marks-displayer component

15-04-2023 1.7.96 fix bug related to date formatting

11-04-2023 1.7.95 add link and target option to button directive

09-04-2023 1.7.94 fix issue with day count connected to change time zone

08-04-2023 1.7.91 split text by math operators function in TextTransform class

08-04-2023 1.7.90 fix timezone issue connected to calculation of days between dates

07-04-2023 1.7.89 obl-sejm-picker add value accessor, mapbox service - override more roads layers

06-04-2023 1.7.88 mapbox - group MultiLineString, obl-color-picker add value accessor

05-04-2023 1.7.87 add TextTransform class and use it in obl-page-tree and mapbox service

04-04-2023 1.7.86 obl-daily-statistics component add weakDayOffset to start weak from Monday not by Sunday

03-04-2023 1.7.85 obl-json-def-table component to load data from object or json file definition of table

02-04-2023 1.7.84 export mapbox to svg with font size set from layer options

02-04-2023 1.7.83 group exported layers and add proper size of map exported area, fix one issue with mapbox like interface

01-04-2023 1.7.82 add obl-mapbox service with one method to export mapbox to SVG

01-04-2023 1.7.81 add method to save svg text and add option for settings svg styles by options key style

31-03-2023 1.7.80 obl-horizontal-progress-bar - add value accessor

30-03-2023 1.7.79 obl-marks-displayer - add value accessor

30-03-2023 1.7.78 obl-arch-progress - add value accessor

29-03-2023 1.7.77 obl-pie-progress - rename input from writeValue to write
add value accessor for reactive form and form control

29-03-2023 1.7.76 obl-two-arch-progress - add value accessor for reactive form and form control

28-03-2023 1.7.75 obl-equalizer - add value accessor for reactive form and form control too

28-03-2023 1.7.74 obl-channel-volume - add value accessor for reactive form and form control too

27-03-2023 1.7.72 obl-statistics-diagram add value accessor for reactive lovely form

27-03-2023 1.7.71 oblButton directive issue with icon solved

27-03-2023 1.7.70 obl-ball-progress-bar - add value accessor to support reactive forms

26-03-2023 1.7.69 obl-vertical-stepper - add iconTemplate input to handle displaying of icons in vertical stepper

26-03-2023 1.7.68 obl-stepper - add iconTemplate input to handle displaying of icons in stepper

26-03-2023 1.7.67 obl-vertical-stepper - add stepTemplate input to handle displaying of description and name fo step

26-03-2023 1.7.66 obl-stepper - add stepTemplate input to handle displaying content of description and name of step

26-03-2023 1.7.65 obl-vertical-stepper, obl-stepper - add css variables to control icons size and thickness of line

25-03-2023 1.7.64 obl-vertical-stepper add value accessor

25-03-2023 1.7.63 add obl-vertical-stepper

25-03-2023 1.7.62 fix style issue overridden locally by global style

25-03-2023 1.7.61 add Value_Accessor to obl-stepper to make magic happen thru form

25-03-2023 1.7.60 export Step

25-03-2023 1.7.59 obl-progress-stepper change interface name from Step to ProgressStep
obl-stepper new step component

25-03-2023 1.7.58 obl-input-wrapper add emitter for files list change and documentation

25-03-2023 1.7.57 obl-input-wrapper add use case for inputtype=file

23-03-2023 1.7.56 oblButton directive add toggle / select options to make button switchable

19-03-2023 1.7.55 oblButton directive add icon input to set icon inside the button, if loading is set to true icon is removed and added one loading is set to false. Of course icon = 'name of icon', if no icon name set then no icon is displayed

19-03-2023 1.7.54 oblButton directive add loading input to disable button with spinner inside

18-03-2023 1.7.53 obl-daily-statistics add option to set year picker range by settings

18-03-2023 1.7.52 obl-daily-statistics change styling of component and value-picker related

16-03-2023 1.7.51 fix bugs in obl-daily-statistics connected to change date ranges
add new option to display year picker inside of obl-daily-statistics

16-03-2023 1.7.50 obl-value-picker create dynamic model class to let make call to API, can't use streams there

13-03-2023 1.7.49 obl-year-picker, obl-month-picker, obl-value-picker add display option to control displaying next/previous buttons

12-03-2023 1.7.48 obl-year-picker add value accessor

12-03-2023 1.7.47 obl-year-picker and make more flexible obl-value-picker by using model input

12-03-2023 1.7.46 obl-month-picker, obl-value-picker add placeholder

12-03-2023 1.7.45 obl-month-picker based on obl-value-picker

12-03-2023 1.7.44 obl-value-picker add value accessor to support reactive forms

11-03-2023 1.7.43 obl-value-picker add templates way to change displaying items things

11-03-2023 1.7.42 add obl-value-picker component

11-03-2023 1.7.41 add getImageFromUrl method to oblFile service

06-03-2023 1.7.40 obl-clock-time display pre selected pointers on mouse over selecting area section

06-03-2023 1.7.39 obl-clock-time emit value on date change in interactive mode

05-03-2023 1.7.38 obl-time-picker component and extends obl-click-time with interactive mode

04-03-2023 1.7.37 obl-statistic-diagram component

03-03-2023 1.7.36 obl-daily-statistics border for selected one

02-03-2023 1.7.35 obl-spinner to change size use:

obl-spinner {
    &.size-100 {
        width: 100px;
    }

    &.size-75 {
        --obl-spinner-width: 75px;
    }
}

obl-daily-statistics add spinner when loading ext data

01-03-2023 1.7.34 display day statistic on hover over day in obl-daily-statistics

28-02-2023 1.7.33 align days headers in obl-daily-statistics

28-02-2023 1.7.32 display total/selected information in obl-daily-statistics component

26-02-2023 1.7.31 add obl-daily-statistics component to display counted statistics

11-02-2023 1.7.30 action directive for buttons

05-02-2023 1.7.29 export mark service

05-02-2023 1.7.28 add marks service to handle marks registration

31-01-2023 1.7.27 obl-mark component - add more marks

30-01-2023 1.7.26 obl-html-lines and obl-html-line set on push strategy

30-01-2023 1.7.25 obl-html-lines to draw more complex multiple polylines

24-01-2023 1.7.24 obl-html-line fix some problems with thickness of line

23-01-2023 1.7.23 obl-html-line component that let you draw line in clear HTML stuff (tell me how cool is that)

22-01-2023 1.7.22 obl-mark-displayer add digits numbers

16-01-2023 1.7.21 obl-marks-displayer component

16-01-2023 1.7.20 obl-mark-displayer component

08-01-2023 1.7.17 style for max size of sejm component

08-01-2023 1.7.16 add legend option to sejm component

08-01-2023 1.7.15 add obl-color-key-legend component

07-01-2023 1.7.14 some spelling stuff. The most important one in input wrapper prefix as name of select for ngProjectAs was changed. For rest ide should give you friendly hand

07-01-2023 1.7.13 add SejmComponent

27-12-2022 1.7.12 add SlideViewComponent

29-11-2022 1.7.9 add percentagesByAbsMax and percentagesByMax to ElementaryMath

29-11-2022 1.7.8 add percentagesByPosition and percentagesBySum to ElementaryMath

27-11-2022 1.7.7 add countUnique static method for ElementaryMath
change static method of ElementaryMath name from middle to average

27-11-2022 1.7.6 create PageLinearTree component

25-11-2022 1.7.5 control colors of PagesCircleTree component by using css classes

25-11-2022 1.7.4 spelling for css variables

25-11-2022 1.7.3 change naming convention to TemperatureModule & TemperatureComponent as well

25-11-2022 1.7.2 create basic pages-circle-tree component

23-11-2022 1.7.1 update rxjs

from 1.6.0 Angular 14 - list of changes

20-11-2022 1.6.112 refactoring of Point2D moved completely to classes and added new method setLength,
move ColorType to classes as well

02-11-2022 1.6.111 clear cache repaired

30-10-2022 1.6.110 add options to clear cache list when request is done and (what is most cool thing I guess) retrigger one just by give list of keys. Retriggering/cleaning will happen only when request not fail. And you should be carefully with this one, you can create retriggering loop. I guess it can be usefully for update list when put/post/patch/delete request related to list is done

add(user: User): Observable<User> {
    return this.http.post('http://localhost:3000/users', user, {
        cache: {
            retrigger: ['get:users'] // yep that's it and it will retrigger last call if key exist in cache of course! I think I don't have to tell you how cool is that
        }
    })
}

29-10-2022 1.6.109 add subjects to cache service that will emit values when cache with name is change or cleared, prevent strict access to cache Map object

29-10-2022 1.6.108 add more cache information about url & method
cache key as method:name (example: get:yourNameOfCache)
add option withCacheKey that will force to return response with CacheItem object

24-10-2022 1.6.107 cache extended option

22-10-2022 1.6.106 change cache model a bit so now:

export interface User {
    id: number;
    name: string;
    email: string;
    gender: 'female' | 'male';
    status: 'active' | 'inactive';
    date: Date;
}

@Injectable({
    providedIn: 'root'
})
    export class UsersService {

    constructor(protected http: HttpCacheService) { }

    get(reload?: true): Observable<User[]> {
        return this.http.get('https://gorest.co.in/public/v2/users', {
        cache: {
            name: 'users',
            type: reload && 'reload',
            convert: (data: User[]) => data.map(user => (user.date = new Date(), user)),
            reloadOn: (data: CacheItem<User[]>) => data.triggeredAt.getTime() + 5000 < (new Date().getTime())
        }
        })
    }
}

22-10-2022 1.6.105 create cache interceptor, cache service and http-cache service to handle globally caching of response. Simple example:

export interface User {
    id: number;
    name: string;
    email: string;
    gender: 'female' | 'male';
    status: 'active' | 'inactive';
    date: Date;
}

@Injectable({
providedIn: 'root'
})
export class UsersService {

    constructor(protected http: HttpCacheService) { }

    get(reload?: true): Observable<User[]> {
        return this.http.get('https://gorest.co.in/public/v2/users', {
        cache: {
            /** name of cache key (must be unique) */
            name: 'users',
            /** to override cache anyway */
            type: reload && 'reload',
            /** to cache transformed model */
            convert: (data: User[]) => data.map(user => (user.date = new Date(), user)),
            /** to let send request after 5000 [ms] */
            reloadOn: (data: User[]) => !!data.length && data[0].date.getTime() + 5000 < (new Date().getTime())
        }
        })
    }
}

and loading:

load(reload?: true) {
    this.users.get(reload).pipe(
    tap(users => console.log(users))
    ).subscribe(users => this.usersTable = users);
}

of course cache interceptor must exist on providers:

providers: [
    {
    provide: HTTP_INTERCEPTORS,
    useClass: CacheInterceptorService,
    multi: true
    },
],

15-10-2022 1.6.104 obl-perspective-slider component change transparency on animation move

14-10-2022 1.6.103 obl-perspective-slider component basic stuff

08-10-2022 1.6.102 obl-circle-menu add external data field per item and add parent to emitted item

08-10-2022 1.6.101 obl-circle-menu - add option for closing on click
move menu text when nr of parent items < 6

07-10-2022 1.6.100 obl-circle-menu - change model of CircleExtendedMenuItem and CircleMenuItem and emit only id and text field

07-10-2022 1.6.99 obl-circle-menu - revers direction of drawing menu pos arch

06-10-2022 1.6.98 obl-circle-menu - set color with css variable

06-10-2022 1.6.97 obl-circle-menu - add progress for circle menu when number of positions is more then 6

06-10-2022 1.6.96 obl-circle-menu - add animation for beggaring of displaying of circle menu

05-10-2022 1.6.95 obl-circle-menu - add animation for extended elements of circle menu

04-10-2022 1.6.94 obl-circle-menu - resolve FireFox issue

03-10-2022 1.6.93 obl-circle-menu - extending menu on hover

02-10-2022 1.6.92 obl-circle-menu - rotate buttons and add refactor code

02-10-2022 1.6.91 obl-circle-menu - resolve partially FireFox issue

02-10-2022 1.6.90 basic obl-circle-menu component with issue on FireFox to resolve and yep not finished yet.
@todo resolve problem on FF
@todo add extended menu on hover
@todo add animation when move menu up/down

28-09-2022 1.6.89 add disabled option to obl-hex-extended-button component

25-09-2022 1.6.88 add obl-hex-extended-button component

23-09-2022 1.6.87 add possibility to change buttons radius and padding from any place of scss/css component file by using css variables

18-09-2022 1.6.84 click outside of modal and select-dropdown fix problem

18-09-2022 1.6.83 add input that control border style of input control inside of obl-color

17-09-2022 1.6.82 add double border for color mark on obl-color and change name of component from obl-color-component to obl-color

17-09-2022 1.6.81 selecting color for obl-hex-color fix bug

17-09-2022 1.6.80 colorFn for obl-pie-progress component

17-09-2022 1.6.79 input color for obl-hex-color that let select palette color if given color in format of #ffaabb match one from palette

17-09-2022 1.6.78 create obl-hex-colors component as hex palette of colors

15-09-2022 1.6.77 obl-color emit value

15-09-2022 1.6.76 obl-color-picker component repair change detection error in console

13-09-2022 1.6.75 arrayToXlsx add options that let you set maxRows and headers

12-09-2022 1.6.74 arrayToXlsx function that let you save array as xlsx by using xlsx library

11-09-2022 1.6.73 option for download as csv or json file in obl-array-to-table component
add toJson method in Csv class

11-09-2022 1.6.72 add display option that take over option index of obl-array-to-table

11-09-2022 1.6.71 add template for caption of obl-array-to-table

10-09-2022 1.6.70 add display index option to obl-array-to-table

10-09-2022 1.6.69 optimize obl-array-to-table and obl-scroller-nav

10-09-2022 1.6.67 add editable mode for obl-from-array that let you edit single ceil of it
input-wrapper - new mode without border
add tdobl-editable-ceil

08-09-2022 1.6.66 add header to obl-from-array
add headers to fromArray static constructor

06-09-2022 1.6.65 add fromArray static method for Csv class add download as csv button to obl-array-to-table component

06-09-2022 1.6.64 add getRawRow and getJsonRow methods to Csv class

05-09-2022 1.6.62 repair style for obl-progress-stepper

05-09-2022 1.6.61 add interactive mode for obl-pie-progress
add more documentation for obl-array-to-table
type for table restricted to (string|number)[] or (string|number) for obl-array-to-table

03-09-2022 1.6.60 resolve problem with overlay cdk connected to style

03-09-2022 1.6.59 add obl-pie to obl-scroller-nav

03-09-2022 1.6.58 obl-array-to-table fix bug with obl-scroller-nav not showing

03-09-2022 1.6.57 obl-scroller-nav component
obl-array-to-table - use scroller

03-09-2022 1.6.56 add obl-array-to-table object
add new set of icons display perceptron data in obl-array-to-table components

02-09-2022 1.6.55 add errors to perceptron and obl-perceptron component

30-08-2022 1.6.54 add predicted values to diagram of obl-perceptron component

30-08-2022 1.6.53 add Perceptron class and obl-perceptron simple model component

27-08-2022 1.6.52 add obl-jumper component that emit value of step every 100 ms (by default)

26-08-2022 1.6.51 add prepare method for CSV
add prepare reverse parsing method for columns and global fix bug in parsing CSV file

25-08-2022 1.6.50 add parsing string default method to override in Csv class
add set of parsing method for remove pair of quotes from beginning and end of string
drag-and-drop directive a bit more documentation

22-08-2022 1.6.49 add parsing and throwing errors for CSV file

21-08-2022 1.6.48 add Csv parse class

19-08-2022 1.6.47 step for slider

19-08-2022 1.6.46 add min/max for slider component
add gradientUnits in gobl-svg-linear-gradient to control space coordinates
add gradientUnits in obl-simple-diagram2-d

15-08-2022 1.6.45 add obl-circle-progress-stepper basic functionality

13-08-2022 1.6.44 repair position of gradient

13-08-2022 1.6.43 add gobl-svg-linear-gradient component to replace section related to gradient inside obl-single-diagram2-d component

10-08-2022 1.6.42 obl-simple-diagram2-d add interpolation method

10-08-2022 1.6.41 obl-simple-diagram2-d correct recalculation

10-08-2022 1.6.39 obl-simple-diagram2-d add bottom diagram offset, emitter when recalculation is required, input for height, width proportions. Resolve problem with deformation of draw thru ng-content objects

10-08-2022 1.6.38 obl-simple-diagram2-d add diagram bottom padding input

10-08-2022 1.6.37 obl-simple-diagram2-d add transform function, add padding, move ng-content after draw diagram

09-08-2022 1.6.36 obl-simple-diagram2-d reverse diagram

09-08-2022 1.6.35 obl-simple-diagram2-d created

09-08-2022 1.6.34 obl-ball-progress change size by css

08-08-2022 1.6.33 obl-ball-progress finally work on firefox properly

08-08-2022 1.6.32 fix issue inside obl-pie-progress

08-08-2022 1.6.31 obl-progress-vertical-stepper done

06-08-2022 1.6.29 display statuses on progress stepper diagram in obl-progress-stepper

06-08-2022 1.6.28 add obl-loading-state & use it in obl-progress-stepper component

06-08-2022 1.6.27 obl-progress-stepper component basic done

05-08-2022 1.6.26 gradients on FF for obl-combine-categories components

obl-half-matrix-combine-categories

01-08-2022 1.6.24 optimization of scss for combinations components

31-07-2022 1.6.23 move mixin from local to global

31-07-2022 1.6.22 move styles to mixin in global.scss now you can override default one in styles.scss of your project:

$obl-half-matrix-colors-category: (
  red,
  green,
  blue,
  orange,
  purple,
  #999900,
  magenta,
);

@include half-matrix($obl-half-matrix-colors-category);

31-07-2022 1.6.20-21 fix categories not showing on when using formGroup stuff set

30-07-2022 1.6.19 add disable chosen one combination on obl-half-matrix-combine-categories

30-07-2022 1.6.18 fix adapter for id and combine id and name

30-07-2022 1.6.17 repair styles in obl-half-matrix-combine-categories

30-07-2022 1.6.15 add new component obl-half-matrix-combine-categories that let you choose combinations of 2 to 7 different categories.

obl-half-matrix-combine-categories

26-07-2022 1.6.12 add single option to display list of single, move mixin as global to let user override default one in style.scss:

@import "node_modules/@obliczeniowo/elementary/styles/global.scss";

$obl-color-category: (
1: #8a2c2c,
2: #864702,
3: #5a6801,
4: #015b6d,
5: #54018b,
6: #8a044b,
);

@include categories-colors($obl-color-category);

26-07-2022 1.6.10-11 repair switch all by category header when some is disabled partially

26-07-2022 1.6.9 add selective disabling category option by using disable=[{ name: 'Category 1' }, { name: 'Category 2' }] (depends on adapter you are using)

24-07-2022 1.6.8 add CombineIdAdapter

24-07-2022 1.6.7 value input

24-07-2022 1.6.6 add brand, brand new CombineNameAndIndexAdapter for obl-combine-categories component

24-07-2022 1.6.5 bugfix connected to set input for adapter

24-07-2022 1.6.4:

  • Add abstract model to control input & output format of obl-combine-categories &component outside of component;
  • Pointer on hover over clickable element

23-07-2022 1.6.3 Add toggle whole categories by click on category header in obl-combine-categories component

23-07-2022 1.6.2 Add ControlValueAccessor to obl-combine-categories

23-07-2022 1.6.1 Add basic obl-combine-categories component that let you combine categories

link to page with showcase: https://obliczeniowo.com.pl/1286

1.6.0 Update Angular to 14

from 1.5.1 version some component required to copy assets folder

You can add npm command:

"copy-assets": "node ./node_modules/@obliczeniowo/elementary/assets/scripts/copy.js ./src/assets/",

and than run it in console:

npm run copy-assets

or add command:

"serve": "npm run copy-assets && ng serve",

and run with copy of assets:

npm run serve

it will copy obl-icons folder to your assets folder and run project locally

From 1.3.24 version some components required include global style

In styles.scss import style file:

@import "node_modules/@obliczeniowo/elementary/styles/global.scss";

and from 1.3.25 theming is available by using for example in global styles.scss:

.dark-theme {
    --default-border-color: white;
    --default-border-outline-color: white;
    --default-focus-color: white;
    --default-border-outline-color: white;
    --default-disabled-color: #6e6e6e;
    --default-text-color: white;
    --default-background-color: #313131;
    --default-hover-color: #3b3b3b;

    --disabled-color: #9b9b9b;

    background: #242424;
    color: white;

    --select-item-background-color: #555555;
    --select-item-text-color: white;

    --default-checkbox-color: #1477c9;
    --default-radio-color: #1477c9;

    --digit-fill-color: #535353;
    --digit-lighted-color: #cccccc;

    --temperature-text-color: white;
    --temperature-path-stroke-color: white;

    --post-diagram-scale-line-color: #7a7a7a;
}

.light-theme {
    --default-border-outline-color: #dfdfdf;
    --default-hover-color: #eeeeee;
    --default-background-color: white;
    --default-text-color: #303030;
}

WARNING! Switching theme class must be assigned to body element of dom. Because popup elements are added on top level so call outside of the box so you can't wrap them properly from component level

You can use this piece of code to switch this one correctly:

toggleStyle() {
    const body = document.body;
    if (body.classList.contains('dark-theme')) {
        body.classList.add('light-theme');
        body.classList.remove('dark-theme');
    } else {
        body.classList.add('dark-theme');
        body.classList.remove('light-theme');
    }
}

History of changes

02-02-2022 - v1.5.20 repair base path for icons & dropdown style

25-01-2022 - v1.5.16 repair downloading file method

25-01-2022 - v1.5.15 add global style for cdk

24-01-2022 - v1.5.14 add file service

23-01-2022 - v1.5.13 add Drawable interface & draw method to drawing context object

23-01-2022 - v1.5.12 add ResizeWindowService to react on windows size changes

22-01-2022 - v1.5.11 add clear rect for canvas interface

22-01-2022 - v1.5.10 add closing polyline option to drawing interface function

22-01-2022 - v1.5.9 add DrawingCanvasInterface

20-01-2022 - v1.5.8 add oblTextArea directive

17-01-2022 - v1.5.7 add obl-message-dialog component to make life more simple for simple message dialogs at least

16-01-2022 - v1.5.6 it's time to change way of dealing with the oblButton directive. Now it's control colors by class and guess what? You can set own by your self and use mixin to create new set of style for buttons theme.

15-01-2022 - v1.5.4 finally add some basic modal things

06-01-2022 - v1.5.1 add icons module with obl-icon component and IconResourceService

02-01-2022 - v1.4.23 search mode loop icon in input wrapper

30-12-2021 - v1.4.22 add cancel button on input-wrapper

30-12-2021 - v1.4.20 create AbstractSearchDomain & change way of handling DropdownSelect component by model to give you control over source of data

29-12-2021 - v1.4.15 remove materials components from color picker component

29-12-2021 - v1.4.14 add outline/underline mode for input wrapper

28-12-2021 - v1.4.13 remove ugly text and add icons on input wrapper button of number type input

28-12-2021 - v1.4.12 add buttons for number input in input wrapper

28-12-2021 - v1.4.11 add spinner on tree component

28-12-2021 - v1.4.10 add obl-spinner component

28-12-2021 - v1.4.8 add obl-star-rating component

27-12-2021 - v1.4.6 add labels to selects elements

27-12-2021 - v1.4.5 add label to input wrapper

27-12-2021 - v1.4.3 add tree component

26-12-2021 - v1.4.2 update angular to 13.1.1. and material too

25-12-2021 - v1.4.1 no more lib- prefix from now on only obl- one is used

25-12-2021 - v1.3.28 add button theming directive

25-12-2021 - v1.3.27 a little bit theming for post diagram component

24-12-2021 - v1.3.26 add colors theming control for temperature component

24-12-2021 - v1.3.25 prepare to theming the library stuff outside of the lib

22-12-2021 - v1.3.24 add obl-input directive & obl-input-wrapper component

19-12-2021 - v1.3.23 add obl-group-select component

19-12-2021 - v1.3.22 add obl-radio-group & obl-radio component

19-12-2021 - v1.3.21 add validators

18-12-2021 - v1.3.19 add obl-dropdown-multi-select component

18-12-2021 - v1.3.18 add obl-checkbox component

18-12-2021 - v1.3.16 add templateSuffix & templatePrefix to obl-dropdown-select

17-12-2021 - v1.3.14 add obl-dropdown-select component with draggable dropdown

15-12-2021 - v1.3.13 add dropdown button component

14-12-2021 - v1.3.12 use cdk in obl-color-picker component

13-12-2021 - v1.3.8 update material to 13.1.0

13-12-2021 - v1.3.7 play basic model

11-12-2021 - v1.3.6 remove drag & drop emitters and use ChessAbstractModel

11-12-2021 - v1.3.5 chess component add some extra classes for pieces

10-12-2021 - v1.3.3 reverse columns on chess component fix

10-12-2021 - v1.3.2 - lit-clock-time date input as Date | number, number, number

9-12-2021 - v1.3.1 remove lib part from library paths

9-12-2021 - v1.2.22 add obl-channel-volume component

9-12-2021 - v1.2.21 add obl-equalizer component

8-12-2021 - v1.2.19 add reverse method to obl-chess that let you change board position of white pawns fields

8-12-2021 - v1.2.18 add couple of new options to control obl-clock-time & obl-pie-progress controls

7-12-2021 - v1.2.17 add obl-clock-time component

5-12-2021 - v1.2.16 move DrawingPdfInterface to separated endpoint

4-12-2021 - v1.2.15 create obl-two-arch-progress component

4-12-2021 - v1.2.14 create obl-arch-progress component

4-12-2021 - v1.2.13 create obl-pie-progress component

4-12-2021 - v1.2.12 create obl-temperature component

2-12-2021 - v1.2.11 add event emitters for chess component on drag and drop and blocking default set chess on drop to handle it by your self

1-12-2021 - v1.2.10 add chess component

20-11-2021 - v1.2.8 add color function for formatting colors

20-11-2021 - v1.2.7 add text formatting input function for pie diagram

19-11-2021 - v1.2.5 add export to pdf file button for pie diagram

19-11-2021 - v1.2.4 fix problem with small pie values displaying on flat pie diagram

18-11-2021 - v1.2.3 add obl-flat-pie-diagram component

12-11.2021 - v1.2.2 event emit when calendar position was clicked

11-11-2021 - v1.2.1 upgrade to Angular 13!

11-11-2021 - v1.1.42 add basic calendar component with events to display on it

09-11-2021 - v1.1.41 add minus digit

08-11-2021 - v1.1.40 add digit module with digits components

07-11-2021 - v1.1.39 more flexible horizontal progress bar implementation

05-11-2021 - v1.1.38 auto recalculate dx & dy greed for 3D diagram component

05-11-2021 - v1.1.37 add export button to pdf for 3D diagram component

05-11-2021 - v1.1.36 a basic stuff of drawing 3D diagram

30-10-2021 - v1.1.35 add template to hover element

30-10-2021 - v1.1.34 repair bug connected to positioning pdf export button and tooltip

30-10-2021 - v1.1.33 add component DiagramPointHoverComponent that connect thru ng-content to LinerDiagram2DComponent and display point info on hover for vectors with displaying point option

30-10-2021 - v1.1.(31-32) add option to turn on cursor on diagram

29-10-2021 - v 1.1.30 add option to control align text of Y axis (and move y axis to right or left side of diagram)

27-10-2021 - v 1.1.29 yFormatter function

27-10-2021 - v 1.1.28 fix problem for negative value diagram

26-10-2021 - v 1.1.27 add x/y precision option

26-10-2021 - v 1.1.26 correct default drawing point fu

26-10-2021 - v 1.1.25 add possibility to draw points in your own way

23-10-2021 - v 1.1.24 add drawing legend option

21-10-2021 - v 1.1.23 fix align text problem in export to pdf

21-10-2021 - v 1.1.22 add clipping rec to svg and jspdf interface on grouping stuff!!!

20-10-2021 - v 1.1.21 group different parts of svg diagram using g element

19-10-2021 - v 1.1.20 add disable option to obl-slider component

19-10-2021 - v 1.1.19 add SliderModule with obl-slider component

18-10-2021 - v 1.1.18

18-10-2021 - v 1.1.16 correct min max settings

17-10-2021 - v 1.1.15 remove unnecessary classes

17-10-2021 - v 1.1.14 move classes to separated folder

17-10-2021 - v 1.1.13 move math class

17-10-2021 - v 1.1.12

17-10-2021 - v 1.1.11 move colors classes to separated lib folder call classes

17-10-2021 - v 1.1.10 change name obl-status-bar to obl-ball-progress-bar and move it to separated module

16-10-2021 - v 1.1.9 add autoIncreaseDecrease option for x & y axis

16-10-2021 - v 1.1.8 add dp option for scale x and y

16-10-2021 - v 1.1.7 disable option for drawing line

16-10-2021 - v 1.1.6 add possibility of displaying points on diagram

15-10-2021 - v 1.1.5 add more then one setting for vector of points styles

15-10-2021 - v 1.1.4 add button for downloading diagram as PDF in obl-linear-diagram-2d

14-10-2021 - v 1.1.3 add possibility of add more then one vector of points for obl-linear-diagram-2d

Upgrade to Angular 12!

Components inside lib

Inside library You can find components:

from DropdownButtonModule

obl-dropdown-button

from PostDiagramModule

obl-post-diagram

from BallProgressBarModule

obl-flat-pie-diagram

obl-ball-progress-bar

from PieProgressModule

obl-pie-progress

from ArchProgressModule

obl-arch-progress

obl-two-arch-progress

from ColorPickerModule

obl-color-picker-control

obl-color-component

from HorizontalProgressBarModule

obl-horizontal-progress-bar

from LinearDiagramModule

obl-linear-diagram-2d

obl-diagram-point-hover

from Diagram3DModule

obl-diagram3-d

from SliderModule

obl-slider

from DigitalModule

obl-digit

obl-digits

obl-digital-timer

from DateModule

obl-calendar

obl-calendar-event

obl-month-control

from ChessModule

obl-chess

from CheckboxModule

obl-checkbox

from TemperatureModule

obl-temperature

from TimeModule

obl-clock-time

from ChannelVolumeModule

obl-equalizer

obl-channel-volume

from DropdownModule

obl-dropdown-select

from DropdownMultiSelectModule

obl-dropdown-multi-select

from RadioModule

obl-radio-group

obl-radio

from TreeModule

obl-tree

from RatingModule

obl-star-rating

from LoadingModule

obl-spinner obl-loading-state

from IconsModule

obl-icon

from PasswordModule

obl-password-strength

from CategoriesModule

obl-half-matrix-combine-categories

obl-combine-categories

obl-single-combination

from StepperModule

obl-progress-stepper obl-progress-vertical-stepper

Using obl-diagram

Install package:

npm i @obliczeniowo/elementary

Import module:

import { PostDiagramModule } from '@obliczeniowo/elementary/post-diagram';

...

  imports: [
    BrowserModule,
    AppRoutingModule,
    PostDiagramModule // here is import
  ],

Inside of your own component:

import { Component } from '@angular/core';
import { ColorHSV, ColorRGB } from '@obliczeniowo/elementary';

@Component({
  selector: 'app-root',
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.scss'],
})
export class AppComponent {
  title = 'Diagram';
  xLabel = 'xLabel';
  yLabel = 'yLabel';

  diagramData: { [key: string]: number } = {
    'key 1': 100,
    'key 2': 200,
    'key 3': 1500,
    'key 4': 1,
    'key 5': 2,
    'key 6': 145,
    'key 7': 200,
    'key 8': 340,
    'key 9': 885,
    'key 10': 1234,
    'key 11': 450,
    'key 12': 800,
    'key 13': 3900,
    'key 14': 1300,
    'key 15': 1200,
    'key 16': 2500,
    'key 17': 1300,
    'key 18': 1200,
    'key 19': 2500,
  };

  colorFunction = (
    index: number,
    dataLength: number,
    value: number,
    max: number
  ): ColorRGB => {
    return ColorHSV.createColorHSV(
      180 - (180 * value) / max,
      0.5,
      255
    ).convertToRGB();
  }
}

In HTML:

<obl-post-diagram
    [diagramData]="diagramData"
    [diagramTitle]="title"
    [xLabel]="xLabel"
    [yLabel]="yLabel"
    [colorFunction]="colorFunction"
>
</obl-post-diagram>

Live example of working component is on my page: https://obliczeniowo.com.pl/1142

Using obl-flat-pie-diagram

In HTML:

<obl-flat-pie-diagram [data]="diagramData"></obl-flat-pie-diagram>

in ts:

diagramData: { [key: string]: number } = {
    'key 1': 100,
    'key 2': 200,
    'key 3': 1500,
    'key 4': 1,
    'key 5': 2,
    'key 6': 145,
    'key 7': 200,
    'key 8': 340,
    'key 9': 885,
    'key 10': 1234,
    'key 11': 450,
    'key 12': 800,
    'key 13': 3900,
    'key 14': 1300,
    'key 15': 1200,
    'key 16': 2500,
    'key 17': 1300,
    'key 18': 150,
    'key 19': 2500,
};

Live component: https://obliczeniowo.com.pl/1244

Using obl-status-bar

Example of use in html without 3d effect:

<obl-ball-progress-bar [value]="20" [effect3d]="false"></obl-ball-progress-bar>

Example of use in html with 3d effect

<obl-ball-progress-bar [value]="20"></obl-ball-progress-bar>

WARNING! On Firefox component not working correctly

Live example of working component is on my page: https://obliczeniowo.com.pl/1144

Using obl-color-picker-control and obl-color-component

Example of use in html for color picker with button:

<obl-color-picker-control></obl-color-picker-control>

Example of use in html for color component without button:

<obl-color-component></obl-color-component>

Using obl-pie-progress

<obl-pie-progress [value]="progress" [size]="100"></obl-pie-progress>

Live example https://obliczeniowo.com.pl/1244

Using obl-arch-progress

<obl-arch-progress [value]="progress" [size]="50"></obl-arch-progress>

Live example https://obliczeniowo.com.pl/1244

Using obl-two-arch-progress

<obl-two-arch-progress [first]="progress" [second]="progress / 2" [size]="150"></obl-two-arch-progress>

Live example https://obliczeniowo.com.pl/1244

Using obl-horizontal-progress-bar

Example of use in html for horizontal progress bar:

<obl-horizontal-progress-bar [value]="value" class="black"><obl-horizontal-progress-bar>

To change default colors use SCSS mixin:

@mixin vertical-progress-bar($class, $value-color, $background-color, $value-background-color, $frame-color) {
    ::ng-deep .#{$class} {
        #value {
            fill: $value-color !important;
        }

        #background-pattern {
            fill: $background-color !important;
        }

        #value-pattern {
            fill: $value-background-color !important;
        }

        #border-rect {
            stroke: $frame-color !important;
        }
    }
}

and make some kind of include stuff:

@include vertical-progress-bar('black', white, #bebebe, black, #bebebe);

More on my home page: https://www.obliczeniowo.com.pl/1241

Using obl-linear-diagram-2d

In html

<obl-linear-diagram-2d [points]="points" [labels]="{ x: xLabel, y: yLabel, title: title }">
</obl-linear-diagram-2d>

in ts file of component:

points: Point2D[] = []; // imported from import { Point2D } from '@obliczeniowo/elementary/linear-diagram';

constructor() {
  for (let i = 0; i < 100; i++) {
    this.points.push(
        new Point2D(i, Math.random() * 100)
    );
  }
}

Example with changing settings of vector points line color and drawing points:

<obl-linear-diagram-2d
    [points]="points"
    [labels]="{ x: xLabel, y: yLabel, title: title }"
    [options]="{
        set: [{
            color: '#ffaa00',
            stroke: 1,
            linePattern: LinePattern.NONE,
            drawPoint: PointType.CIRCLE
        },
        {
            color: '#aaff00',
            stroke: 2,
            linePattern: LinePattern.NONE,
            drawPoint: PointType.X
        },
        {
            color: '#aa00ff',
            stroke: 2,
            linePattern: LinePattern.NONE,
            drawPoint: PointType.STAR
        },
        {
            color: '#aabbff',
            stroke: 1,
            linePattern: LinePattern.DISABLED,
            drawPoint: PointType.STAR
        }]
    }"
    >
</obl-linear-diagram-2d>

Where LinePattern need to be imported in ts component file:

import { LinePattern } from 'dist/components/linear-diagram';

and then in component class:

LinePattern = LinePattern;

You can override more options just using interface:

export interface LinearDiagram2DOptions {
    xAxis?: AxisOptions;
    yAxis?: AxisOptions;
    xMinMax?: MinMax;
    yMinMax?: MinMax;
    greed?: GridOptions;
    set?: BaseDrawingOptions[];
}

You can see live example on my home page: https://obliczeniowo.com.pl/1239

Using obl-diagram3-d

In ts file generate a table of z values:

zValues: number[][] = [];

for (let x = 0; x < 20; x++) {
  const v = [];
  for (let y = 0; y < 20; y++) {
    v.push((Math.sin(x / 4) + Math.cos(y / 4)) * 50 - x * x / 10);
  }
  this.zValues.push(v);
}

in html:

<obl-diagram3-d [zValues]="zValues" [latitude]="latitude" [longitude]="longitude">
</obl-diagram3-d>

Live working diagram showcase can be see here: https://obliczeniowo.com.pl/1241

Example of use obl-slider component

Import:

import { SliderModule } from '@obliczeniowo/elementary/slider';

in html:

<obl-slider [value]="30" (valueChanged)="changed($event)"></obl-slider>

or

<form [formGroup]="form">
    <obl-slider formControlName="valueControl" [value]="30"></obl-slider>
</form>

{{ form.getRawValue() | json }}

in component.ts for forms:

form = this.fb.group({
    valueControl: [60]
});

...

constructor(private fb: FormBuilder) {
    ...

Digital module

Example of use obl-digit

Code bellow display single digital number:

<obl-digit digit="0"></obl-digit>

Example of use obl-digits

Code bellow display integer number or string containing number

<obl-digits [integer]="1234567890"></obl-digits>

Example of use obl-digit-timer

Code bellow display digital timer:

<obl-digital-timer></obl-digital-timer>

Live working example

Live working diagram showcase can be see here: https://obliczeniowo.com.pl/1243

Example of use obl-calendar component with obl-mont-control & obl-calendar-event

In html file:

<obl-month-control #monthControl></obl-month-control>

<obl-calendar
[monthControl]="monthControl"
[eventsList]="eventsList || null"
></obl-calendar>

<obl-events-list #eventsList>
<obl-calendar-event
    *ngFor="let event of eventsListData"
    [eventSettings]="event"
    ngProjectAs="evangelist"
>
    <h3
    ngProjectAs="title"
    [style.backgroundColor]="event.color"
    class='event-title'
    >
    {{ event.title }}
    </h3>
    <div ngProjectAs="body" class="event-body">
    {{ event.body }}
    </div>
</obl-calendar-event>
</obl-events-list>

in css or scss:

h3.event-title {
    display: flex;
    margin: 0;
    padding: 5px;
    font-size: 22px;
}

.event-body {
    padding: 30px 5px 5px 5px;
    display: flex;
}

obl-month-control {
    width: 320px;
}

in ts file:

export interface EventData extends EventSettings {
    title: string;
    body: string;
}

...

@Component(
    ...

    eventsListData: EventData[] = [];

    ...

    constructor() {
        const date = new Date();

        this.eventsListData.push({
        day: new Date(date.getFullYear() + '-' + (date.getMonth() + 1) + '-14'),
        color: '#ffcc00',
        body: 'Some text for 14 day of ' + (date.getMonth() + 1) + 'th month',
        title: '14 day of ' + (date.getMonth() + 1) + ' th month'
        });

        this.eventsListData.push({
        day: new Date(date.getFullYear() + '-' + (date.getMonth() + 1) + '-28'),
        color: '#189a18',
        body: 'Some text for 28 day of ' + (date.getMonth() + 1) + ' th month',
        title: '28 day of ' + (date.getMonth() + 1) + ' th month'
        });
    }

Live working example

Life example: https://www.obliczeniowo.com.pl/1143

Example of use obl-chess component

In HTML:

<obl-chess [chessPawnsMap]="chessPawns"></obl-chess>

In ts file constructor of component:

chessPawns: Map<string, ChessEnum> = new Map<string, ChessEnum>();

constructor() {
    this.chessPawns.set('a1', ChessEnum.whiteRook);
    this.chessPawns.set('h1', ChessEnum.whiteRook);

    this.chessPawns.set('a8', ChessEnum.blackRook);
    this.chessPawns.set('h8', ChessEnum.blackRook);

    this.chessPawns.set('b1', ChessEnum.whiteKnight);
    this.chessPawns.set('g1', ChessEnum.whiteKnight);

    this.chessPawns.set('b8', ChessEnum.blackKnight);
    this.chessPawns.set('g8', ChessEnum.blackKnight);

    this.chessPawns.set('c1', ChessEnum.whiteBishop);
    this.chessPawns.set('f1', ChessEnum.whiteBishop);

    this.chessPawns.set('c8', ChessEnum.blackBishop);
    this.chessPawns.set('f8', ChessEnum.blackBishop);

    this.chessPawns.set('d1', ChessEnum.whiteQueen);
    this.chessPawns.set('e1', ChessEnum.whiteKing);

    this.chessPawns.set('d8', ChessEnum.blackQueen);
    this.chessPawns.set('e8', ChessEnum.blackKing);

    for (const i of ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h']) {
        this.chessPawns.set(i + 2, ChessEnum.whitePawn);
        this.chessPawns.set(i + 7, ChessEnum.blackPawn);
    }
}

Live example of component: https://obliczeniowo.com.pl/1150

Example of use obl-temperature

<obl-temperature [value]="20" [max]="100" [min]="-10"></obl-temperature>

Live example https://obliczeniowo.com.pl/1244

Example of use obl-clock-time component

<obl-clock-time [size]="250" [display]="{ time: false, seconds: true }" [date]="date"></obl-clock-time>

Example of use obl-equalizer component

In html file:

<div class="equalizer"><obl-equalizer [data]="equalizer"></obl-equalizer></div>

In scss/css file:

.equalizer {
    background-color: #3b3b3b;
}

In ts file:

equalizer = new Array<number>(20).fill(0);
timer: any;

...

ngAfterViewInit(): void {
    let dt = 0;
    this.timer = setInterval(() => {
        dt ++;

        this.equalizer = this.equalizer.map((value, index) => 0.5 * Math.sin(Math.PI / 10 * (index + dt)) + 0.5);
    }, 100);
}

add channel volume

In html file:

<div class="volume-channel">
    <obl-channel-volume [volumeLeft]=".5" [volumeRight]="0.9"></obl-channel-volume>
</div>

In scss/css file:

.volume-channel {
    background-color: #3b3b3b;
}

example of using obl-dropdown-button component

In HTML:

<obl-dropdown-button [buttons]="buttons" [templateRef]="icon"></obl-dropdown-button>
<ng-template #icon let-button>
    <mat-icon [svgIcon]="button.svgIcon || ''">{{ button.matIcon }}</mat-icon>
</ng-template>

In ts file:

buttons: DropdownButton[] = [
    {
        matIcon: 'cancel',
        cb: () => console.log('message 1')
    },
    {
        matIcon: 'delete',
        cb: () => console.log('message 2')
    },
    {
    matIcon: 'download',
        cb: () => console.log('message 3')
    }
];

example of using obl-dropdown-select

In HTML:

<form [formGroup]="form">
    <obl-dropdown-select formControlName="item" [model]="model"></obl-dropdown-select>
</form>

<div>{{ form.getRawValue() | json }}</div>

In ts file:

model!: DefaultSearchDomain<DropdownSelectItem<{ icon: string; value: number }>>;

...

constructor(private fb: FormBuilder) {
    const items: DropdownSelectItem[] = []
    for(let i = 0; i < 50; i++) {
        items.push(
            {
            id: i,
            text: `item ${i + 1}`,
            }
        );
    }

    this.model = new DefaultSearchModel<DropdownSelectItem<any>>(items);

    form = this.fb.group({
        item: [5]
    });

    ...

example of using obl-dropdown-multi-select

In HTML:

<form [formGroup]="form">
    <obl-dropdown-multi-select formControlName="item" [items]="items"></obl-dropdown-multi-select>
</form>

<div>{{ form.getRawValue() | json }}</div>

In ts file:

items: DropdownSelectItems[] = [];

...

constructor(private fb: FormBuilder) {
    for(let i = 0; i < 50; i++) {
        this.items.push(
            {
            id: i,
            text: `item ${i + 1}`,
            }
        );
    }

    form = this.fb.group({
        item: [[5, 2]]
    });

    ...

example of using obl-checkbox

In ts file:

form: FormGroup;

...

constructor(private fb: FormBuilder) {
    form = this.fb.group({
        valueControl: [60],
        item: [5],
        check1: [true],
        check2: [false]
    });

    ...

In html:

<form [formGroup]="form">
    <obl-checkbox formControlName="check1">Checkbox 1</obl-checkbox>
    <obl-checkbox formControlName="check2">Checkbox 2</obl-checkbox>
    </div>
</form>

<div>{{ form.getRawValue() | json }}</div>

Example of using obl-radio-group & obl-radio

In ts:

form: FormGroup;

options: RadioItem[] = [];

...

constructor(private fb: FormBuilder) {

    for (let i = 0; i < 10; i++) {
        this.options.push({ id: i, text: `item ${i}` });
    }

    this.form = this.fb.group({
        itemMultiple: [{ value: [] }, MultiSelectValidators.min(1)]
    });

In html:

<form [formGroup]="form">
    <obl-radio-group [options]="options" formControlName="radioItems"></obl-radio-group>

    <button mat-button (click)="form.markAllAsTouched()">submit</button>
</form>

Basic example of using obl-group-select

In ts:

itemsGroup: DropdownGroupSelectItem<any>[] = [
    {
    id: 'direction',
    title: 'Sort',
    value: 1,
    options: [
        {
        id: 1,
        text: 'Decreasing'
        },
        {
        id: 2,
        text: 'Increasing'
        }
    ]
    },
    {
    id: 'by',
    title: 'By',
    value: 1,
    options: [
        {
        id: 1,
        text: 'Name'
        },
        {
        id: 2,
        text: 'Date'
        },
        {
        id: 3,
        text: 'Country'
        }
    ]
    },
    {
    id: 'display',
    title: 'View',
    value: 1,
    options: [
        {
        id: 1,
        text: 'Basic'
        },
        {
        id: 2,
        text: 'Full'
        }
    ]
    }
];

constructor(private fb: FormBuilder) {
    form = this.fb.group({
        itemsGroup: [{value: { direction: 1, by: 2, display: 2}, disabled: false}]
    });

In html:

<form [formGroup]="form">
    <obl-dropdown-group-select
        [items]="itemsGroup"
        formContro
1.9.1

6 months ago

1.9.0

6 months ago

1.9.9

6 months ago

1.9.8

6 months ago

1.9.7

6 months ago

1.9.6

6 months ago

1.9.5

6 months ago

1.9.4

6 months ago

1.9.3

6 months ago

1.9.2

6 months ago

1.8.80

7 months ago

1.8.81

7 months ago

1.8.82

7 months ago

1.8.83

7 months ago

1.8.84

7 months ago

1.8.85

7 months ago

1.8.86

7 months ago

1.8.87

7 months ago

1.8.88

7 months ago

1.8.89

7 months ago

1.8.90

6 months ago

1.8.91

6 months ago

1.8.92

6 months ago

1.8.93

6 months ago

1.8.94

6 months ago

1.8.95

6 months ago

1.8.96

6 months ago

1.8.97

6 months ago

1.8.60

8 months ago

1.8.61

8 months ago

1.8.62

8 months ago

1.8.63

8 months ago

1.8.64

8 months ago

1.8.65

8 months ago

1.8.66

8 months ago

1.8.67

8 months ago

1.8.68

8 months ago

1.8.69

8 months ago

1.9.13

5 months ago

1.9.12

5 months ago

1.8.70

8 months ago

1.9.11

5 months ago

1.8.71

8 months ago

1.9.10

5 months ago

1.8.72

8 months ago

1.8.73

8 months ago

1.8.74

8 months ago

1.8.75

8 months ago

1.8.76

8 months ago

1.8.77

8 months ago

1.8.78

8 months ago

1.8.79

7 months ago

1.8.40

9 months ago

1.8.41

8 months ago

1.8.42

8 months ago

1.8.43

8 months ago

1.8.44

8 months ago

1.8.45

8 months ago

1.8.46

8 months ago

1.8.47

8 months ago

1.8.48

8 months ago

1.8.49

8 months ago

1.8.50

8 months ago

1.8.51

8 months ago

1.8.52

8 months ago

1.8.53

8 months ago

1.8.54

8 months ago

1.8.55

8 months ago

1.8.56

8 months ago

1.8.57

8 months ago

1.8.58

8 months ago

1.8.59

8 months ago

1.8.37

10 months ago

1.8.38

10 months ago

1.8.39

10 months ago

1.8.2

11 months ago

1.8.1

11 months ago

1.8.0

11 months ago

1.7.104

11 months ago

1.7.103

11 months ago

1.7.102

11 months ago

1.7.101

12 months ago

1.7.100

12 months ago

1.8.9

11 months ago

1.8.8

11 months ago

1.8.6

11 months ago

1.8.5

11 months ago

1.8.4

11 months ago

1.8.3

11 months ago

1.7.98

12 months ago

1.7.99

12 months ago

1.8.20

11 months ago

1.8.21

11 months ago

1.8.22

11 months ago

1.8.23

11 months ago

1.8.24

11 months ago

1.8.25

11 months ago

1.8.26

11 months ago

1.8.27

11 months ago

1.8.28

11 months ago

1.8.29

10 months ago

1.8.30

10 months ago

1.8.31

10 months ago

1.8.32

10 months ago

1.8.33

10 months ago

1.8.34

10 months ago

1.8.35

10 months ago

1.8.36

10 months ago

1.8.10

11 months ago

1.8.11

11 months ago

1.8.12

11 months ago

1.8.13

11 months ago

1.8.14

11 months ago

1.8.15

11 months ago

1.8.16

11 months ago

1.8.17

11 months ago

1.8.18

11 months ago

1.8.19

11 months ago

1.7.90

1 year ago

1.7.91

1 year ago

1.7.92

1 year ago

1.7.93

1 year ago

1.7.94

1 year ago

1.7.95

1 year ago

1.7.96

1 year ago

1.7.97

1 year ago

1.7.70

1 year ago

1.7.71

1 year ago

1.7.72

1 year ago

1.7.73

1 year ago

1.7.74

1 year ago

1.7.75

1 year ago

1.7.76

1 year ago

1.7.77

1 year ago

1.7.78

1 year ago

1.7.79

1 year ago

1.7.80

1 year ago

1.7.81

1 year ago

1.7.82

1 year ago

1.7.83

1 year ago

1.7.84

1 year ago

1.7.85

1 year ago

1.7.86

1 year ago

1.7.87

1 year ago

1.7.88

1 year ago

1.7.89

1 year ago

1.7.50

1 year ago

1.7.51

1 year ago

1.7.52

1 year ago

1.7.53

1 year ago

1.7.54

1 year ago

1.7.55

1 year ago

1.7.56

1 year ago

1.7.57

1 year ago

1.7.58

1 year ago

1.7.59

1 year ago

1.7.60

1 year ago

1.7.61

1 year ago

1.7.62

1 year ago

1.7.63

1 year ago

1.7.64

1 year ago

1.7.65

1 year ago

1.7.66

1 year ago

1.7.67

1 year ago

1.7.68

1 year ago

1.7.69

1 year ago

1.7.31

1 year ago

1.7.32

1 year ago

1.7.33

1 year ago

1.7.34

1 year ago

1.7.35

1 year ago

1.7.36

1 year ago

1.7.37

1 year ago

1.7.38

1 year ago

1.7.39

1 year ago

1.7.40

1 year ago

1.7.41

1 year ago

1.7.42

1 year ago

1.7.43

1 year ago

1.7.44

1 year ago

1.7.45

1 year ago

1.7.46

1 year ago

1.7.47

1 year ago

1.7.48

1 year ago

1.7.49

1 year ago

1.7.30

1 year ago

1.7.25

1 year ago

1.7.26

1 year ago

1.7.27

1 year ago

1.7.28

1 year ago

1.7.29

1 year ago

1.7.10

1 year ago

1.7.11

1 year ago

1.7.12

1 year ago

1.7.13

1 year ago

1.7.14

1 year ago

1.7.15

1 year ago

1.7.16

1 year ago

1.7.17

1 year ago

1.7.18

1 year ago

1.7.19

1 year ago

1.7.20

1 year ago

1.7.21

1 year ago

1.7.22

1 year ago

1.7.23

1 year ago

1.7.24

1 year ago

1.7.9

1 year ago

1.7.8

1 year ago

1.7.7

1 year ago

1.7.6

1 year ago

1.7.5

1 year ago

1.7.4

1 year ago

1.6.112

1 year ago

1.7.3

1 year ago

1.7.2

1 year ago

1.7.1

1 year ago

1.7.0

1 year ago

1.6.105

2 years ago

1.6.104

2 years ago

1.6.107

2 years ago

1.6.106

2 years ago

1.6.109

1 year ago

1.6.108

1 year ago

1.6.110

1 year ago

1.6.111

1 year ago

1.6.101

2 years ago

1.6.100

2 years ago

1.6.103

2 years ago

1.6.102

2 years ago

1.6.89

2 years ago

1.6.91

2 years ago

1.6.90

2 years ago

1.6.93

2 years ago

1.6.92

2 years ago

1.6.95

2 years ago

1.6.94

2 years ago

1.6.97

2 years ago

1.6.96

2 years ago

1.6.99

2 years ago

1.6.98

2 years ago

1.6.80

2 years ago

1.6.82

2 years ago

1.6.81

2 years ago

1.6.84

2 years ago

1.6.83

2 years ago

1.6.86

2 years ago

1.6.85

2 years ago

1.6.88

2 years ago

1.6.87

2 years ago

1.6.60

2 years ago

1.6.62

2 years ago

1.6.61

2 years ago

1.6.64

2 years ago

1.6.63

2 years ago

1.6.66

2 years ago

1.6.65

2 years ago

1.6.68

2 years ago

1.6.67

2 years ago

1.6.69

2 years ago

1.6.71

2 years ago

1.6.70

2 years ago

1.6.73

2 years ago

1.6.72

2 years ago

1.6.75

2 years ago

1.6.74

2 years ago

1.6.77

2 years ago

1.6.76

2 years ago

1.6.79

2 years ago

1.6.78

2 years ago

1.6.48

2 years ago

1.6.49

2 years ago

1.6.51

2 years ago

1.6.50

2 years ago

1.6.53

2 years ago

1.6.52

2 years ago

1.6.55

2 years ago

1.6.54

2 years ago

1.6.57

2 years ago

1.6.56

2 years ago

1.6.59

2 years ago

1.6.58

2 years ago

1.6.4

2 years ago

1.6.3

2 years ago

1.6.2

2 years ago

1.6.1

2 years ago

1.6.0

2 years ago

1.6.9

2 years ago

1.6.8

2 years ago

1.6.7

2 years ago

1.6.6

2 years ago

1.6.5

2 years ago

1.6.40

2 years ago

1.6.42

2 years ago

1.6.41

2 years ago

1.6.44

2 years ago

1.6.43

2 years ago

1.6.46

2 years ago

1.6.45

2 years ago

1.6.47

2 years ago

1.1.45

2 years ago

1.1.44

2 years ago

1.1.43

2 years ago

1.1.47

2 years ago

1.1.46

2 years ago

1.6.20

2 years ago

1.6.22

2 years ago

1.6.21

2 years ago

1.6.24

2 years ago

1.6.23

2 years ago

1.6.26

2 years ago

1.6.25

2 years ago

1.6.28

2 years ago

1.6.27

2 years ago

1.6.29

2 years ago

1.6.31

2 years ago

1.6.30

2 years ago

1.6.33

2 years ago

1.6.32

2 years ago

1.6.35

2 years ago

1.6.34

2 years ago

1.6.37

2 years ago

1.6.36

2 years ago

1.6.39

2 years ago

1.6.38

2 years ago

1.6.11

2 years ago

1.6.13

2 years ago

1.6.12

2 years ago

1.6.15

2 years ago

1.6.14

2 years ago

1.6.17

2 years ago

1.6.16

2 years ago

1.6.19

2 years ago

1.6.18

2 years ago

1.5.30

2 years ago

1.5.32

2 years ago

1.5.31

2 years ago

1.5.21

2 years ago

1.5.23

2 years ago

1.5.22

2 years ago

1.5.25

2 years ago

1.5.24

2 years ago

1.5.27

2 years ago

1.5.26

2 years ago

1.5.29

2 years ago

1.5.28

2 years ago

1.4.20

2 years ago

1.4.22

2 years ago

1.4.21

2 years ago

1.4.23

2 years ago

1.5.5

2 years ago

1.5.4

2 years ago

1.5.3

2 years ago

1.5.2

2 years ago

1.5.1

2 years ago

1.4.11

2 years ago

1.4.10

2 years ago

1.4.13

2 years ago

1.4.12

2 years ago

1.4.15

2 years ago

1.4.14

2 years ago

1.4.17

2 years ago

1.4.19

2 years ago

1.4.18

2 years ago

1.4.6

2 years ago

1.4.5

2 years ago

1.4.4

2 years ago

1.4.3

2 years ago

1.4.2

2 years ago

1.4.1

2 years ago

1.5.9

2 years ago

1.5.8

2 years ago

1.5.7

2 years ago

1.5.6

2 years ago

1.3.28

2 years ago

1.3.29

2 years ago

1.5.10

2 years ago

1.5.12

2 years ago

1.5.11

2 years ago

1.5.14

2 years ago

1.5.13

2 years ago

1.5.16

2 years ago

1.5.15

2 years ago

1.5.18

2 years ago

1.5.17

2 years ago

1.5.19

2 years ago

1.5.20

2 years ago

1.4.9

2 years ago

1.4.8

2 years ago

1.4.7

2 years ago

1.2.8

2 years ago

1.2.7

2 years ago

1.2.6

2 years ago

1.2.5

2 years ago

1.2.4

2 years ago

1.2.3

2 years ago

1.2.2

2 years ago

1.2.1

2 years ago

1.1.41

2 years ago

1.1.40

2 years ago

1.3.9

2 years ago

1.3.8

2 years ago

1.2.12

2 years ago

1.2.13

2 years ago

1.2.10

2 years ago

1.2.11

2 years ago

1.1.42

2 years ago

1.2.16

2 years ago

1.2.17

2 years ago

1.2.14

2 years ago

1.2.15

2 years ago

1.2.9

2 years ago

1.3.10

2 years ago

1.3.13

2 years ago

1.3.14

2 years ago

1.3.11

2 years ago

1.2.43

2 years ago

1.3.12

2 years ago

1.3.17

2 years ago

1.3.18

2 years ago

1.3.15

2 years ago

1.3.16

2 years ago

1.3.19

2 years ago

1.3.20

2 years ago

1.3.21

2 years ago

1.3.24

2 years ago

1.3.25

2 years ago

1.3.22

2 years ago

1.3.23

2 years ago

1.3.26

2 years ago

1.3.27

2 years ago

1.2.18

2 years ago

1.2.19

2 years ago

1.3.7

2 years ago

1.3.6

2 years ago

1.3.5

2 years ago

1.3.4

2 years ago

1.3.3

2 years ago

1.3.2

2 years ago

1.3.1

2 years ago

1.2.20

2 years ago

1.2.21

2 years ago

1.2.22

2 years ago

1.1.29

3 years ago

1.1.28

3 years ago

1.1.30

2 years ago

1.1.34

2 years ago

1.1.33

2 years ago

1.1.32

2 years ago

1.1.31

2 years ago

1.1.38

2 years ago

1.1.37

2 years ago

1.1.36

2 years ago

1.1.35

2 years ago

1.1.39

2 years ago

1.1.27

3 years ago

1.1.26

3 years ago

1.1.25

3 years ago

1.1.24

3 years ago

1.1.1

3 years ago

1.0.19

3 years ago

1.0.18

3 years ago

1.0.17

3 years ago

1.0.16

3 years ago

1.1.9

3 years ago

1.1.8

3 years ago

1.1.7

3 years ago

1.1.6

3 years ago

1.1.5

3 years ago

1.1.4

3 years ago

1.1.3

3 years ago

1.1.2

3 years ago

1.1.12

3 years ago

1.1.11

3 years ago

1.1.10

3 years ago

1.0.20

3 years ago

1.1.16

3 years ago

1.1.15

3 years ago

1.1.14

3 years ago

1.1.13

3 years ago

1.1.19

3 years ago

1.1.18

3 years ago

1.1.17

3 years ago

1.1.23

3 years ago

1.1.22

3 years ago

1.1.21

3 years ago

1.1.20

3 years ago

1.0.16-release

3 years ago

1.0.11

3 years ago

1.0.10

3 years ago

1.0.9

3 years ago

1.0.8

3 years ago

1.0.15

3 years ago

1.0.14

3 years ago

1.0.13

3 years ago

1.0.12

3 years ago

1.0.7

3 years ago

1.0.6

3 years ago