Skip to content

Commit

Permalink
Merge pull request #2073 from zyfra/feat/release-4-4-0
Browse files Browse the repository at this point in the history
chore: release 4.4.0
  • Loading branch information
ZurabDev authored Sep 30, 2024
2 parents d7877d0 + 93ede0d commit 7cd3898
Show file tree
Hide file tree
Showing 96 changed files with 2,911 additions and 258 deletions.
2 changes: 1 addition & 1 deletion .github/PULL_REQUEST_TEMPLATE/prepare_release_for_4.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@

### Checklist:

- [ ] Изменить version на текущий в файле nxmv.json и запустив команду `npx nx generate @prizm-ui/nx-mv:apply -n v17 --var-version 4.3.8` важно передавать --var-version нужную версию
- [ ] Изменить version на текущий в файле nxmv.json и запустив команду `npx nx generate nx-mv:apply -n v17 --var-version 4.4.0` важно передавать --var-version нужную версию
- [ ] Добавить в каждый тип ваши изменения в этом PR
- [ ] Удалите не нужные группы изменений для этого PR (Features, Bug Fixes, Breacking Changes, Refactor)
- [ ] Добавить изменения в changelog о новой версии
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/main-publish-ng17.yml
Original file line number Diff line number Diff line change
Expand Up @@ -139,7 +139,7 @@ jobs:
name: dist
path: ./dist

- run: cd dist/libs/components && npm publish --access public --verbose
- run: cd dist/libs/components && npm publish --tag ng17 --access public --verbose

publish-i18n:
needs: build
Expand Down
52 changes: 52 additions & 0 deletions apps/doc/src/app/about-prizm/changelog/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,58 @@

All notable changes to this project will be documented in this file.

## [4.4.0](https:/zyfra/Prizm) (25-09-2024)

### Bug fixes

- fix(doc/version): add v5 version link to v4 version manager #2035
- fix(component/chips): sometimes when an element with difficulties was difficult, the points were not located and went beyond the border #1975
- fix(components/table): table sort cursor correction #1986
- fix(components/table): sorter count div should not reserve space when empty #2021
- fix(components/tabs): fix Cannot read properties of undefined (reading 'disconnect') #2013
- fix(components): added icons to peerDependencies #1989
- fix(components/button): correct outline buttons height #1399
- fix(components/navigation-menu): fix navigation item height #1964
- fix(doc): missing fix #1742 info added to 4.3.6 version in changelog
- fix(components/slider): add markForCheck for setinng position from value for form control correct work #531
- fix(components/accordion): accordion item header height should be 48px

### Features

- feat(components/tree-select): added new component #2069
- feat(components/tree-multi-select): added new component #2069
- feat(components/switcher): extended switcher for pass as projection children #2069
- feat(doc): add link to github issue page #000 #2065
- feat(components/input-select): fix position search input for dropdown #1981
- feat(components/checkbox): add box shadow for disabled radio and checkbox #2024
- feat(doc/multiselect): add example for async items in multiselect #1754
- feat(helpers/overflow): new directives host, item to hide overflowed items
- feat(helpers/context): new directives and pipes to pass context and get context
- feat(helpers/resize-observer): new util function to get observable of resize observer
- feat(helpers/map): map with ability to get changes stream
- feat(components/input-date-time): add time restrictions for min max values #1570
- feat(components/input-date-time-range): add time restrictions for min max values #1570
- feat(components/tree): added css variable for tree item height
- feat(components/paginator): add left direction support #1154 #1886
- feat(components/input-select): added input to control auto reposition dropdown window #1688
- feat(components/input-multi-select): added input to control auto reposition dropdown window
- feat(charts/area): replace PrizmChartsAriaOptions(deprecated now) by PrizmChartsAreaOptions
- feat(charts): add color input for area, line, column, pie, radar, radial bar, scatter, treemap, waterfall #1816
- feat(doc/charts): for line and column charts added ecamples with user's colors #1817
- feat(doc/icons): example how to use custom icon #1841
- feat(components/paginator): update paginator dictionary #1840 BREAKING CHANGE in dictionary - BREAKING CHANGE in dictionaries, why we do this read here
- feat(doc/slider): add form control for slider #531
- feat(components/file-upload): add hint for browse button when its disable due max files count reached #1769 - BREAKING CHANGE in dictionaries, why we do this read [here](https:/zyfra/Prizm/discussions/1617)
- feat(components/file-upload): add translations for file size unit #1789 - BREAKING CHANGE in dictionaries, why we do this read [here](https:/zyfra/Prizm/discussions/1617)
- feat(chore): update mr checklist template
- feat(components/accordion): border-bottom can be dded to accordion item header #1322
- feat(components/input-dates): added native date transformation for min max properties #1315
- feat(components/input-dates): added date string transformation for min max properties #1573
- feat(components/cron): added native date transformation for min max properties in date inputs #1315
- feat(components/input-layout-date): added new provider for ISO and UTC strings transformer for input layout date #1574
- feat(doc): remove examples for deleted prizm-input-date component
- feat(nx-mv): support up version with templates

## [4.3.8](https:/zyfra/Prizm) (12-08-2024)

### Bug fixes
Expand Down
10 changes: 10 additions & 0 deletions apps/doc/src/app/app.routes.ts
Original file line number Diff line number Diff line change
Expand Up @@ -410,6 +410,16 @@ export const ROUTES: Routes = [
title: 'Input Select',
},
},
{
path: 'components/input-tree-select',
loadChildren: () =>
import('./components/input/input-tree-select/input-tree-select.module').then(
i => i.InputTreeSelectModule
),
data: {
title: 'Input Tree Select',
},
},
{
path: 'components/input-chips',
loadChildren: () =>
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
<prizm-input-layout label="Validators">
<prizm-input-tree-select
#input
[stringify]="stringify"
[searchable]="true"
[searchMatcher]="searchMatcher"
[getChildren]="getChildren"
[formControl]="control"
emptyListTemplate="Ничего не найдено (из переменной)"
>
<prizm-data-list-wrapper *prizmDataList>
<ng-container *ngFor="let arrItem of items">
<prizm-input-tree-select-item *prizmInputTreeSelectItem="arrItem; let item = item">
<div class="value">
{{ item.value }}
</div>
</prizm-input-tree-select-item>
</ng-container>
</prizm-data-list-wrapper>
</prizm-input-tree-select>
</prizm-input-layout>

<br />
<br />
<div>
<button (click)="setDefaultValue()" prizmButton>
Set default value: <b>{{ items[0]?.value }}</b>
</button>
</div>

<br />
<br />
<div>Current value: {{ control.value?.value }}</div>
<div>Touched: {{ control.touched }}</div>
<div>Dirty: {{ control.dirty }}</div>
Original file line number Diff line number Diff line change
@@ -0,0 +1,87 @@
import { Component } from '@angular/core';
import { UntypedFormControl, Validators } from '@angular/forms';
import { PRIZM_LANGUAGE, PRIZM_RUSSIAN_LANGUAGE } from '@prizm-ui/i18n';
import { of } from 'rxjs';

type TreeSelectItem = {
value: string;
children?: TreeSelectItem[];
};

@Component({
selector: 'prizm-tree-select-i18n-example',
templateUrl: './tree-select-i18n-example.component.html',
styles: [
`
.box {
display: flex;
gap: 1rem;
}
`,
],
providers: [
/** INFO: you can change from dictionary as here
* or also you can pass param
* searchLabel OR emptyListTemplate
* */
{
provide: PRIZM_LANGUAGE,
useValue: of({
...PRIZM_RUSSIAN_LANGUAGE,
search: 'поиск (из словаря)',
}),
},
],
})
export class PrizmTreeSelectI18nExampleComponent {
readonly items: TreeSelectItem[] = [
{
value: 'One',
},
{
value: 'Two',
children: [
{
value: 'first in two',
children: [
{
value: 'first in first in two',
},
],
},
{
value: 'second in two',
},
],
},
{
value: 'Three',
children: [
{
value: 'first in first in Three',
},
{
value: 'second in first in Three',
},
],
},
{
value: 'Very long text with a lot of characters and spaces and other stuff and things',
},
];
public value = this.items[0];
readonly control = new UntypedFormControl(this.items[1], [Validators.required]);

public stringify(item: TreeSelectItem | null): string {
return item?.value ?? '';
}
public getChildren(item: TreeSelectItem): TreeSelectItem[] {
return item.children ?? [];
}
public searchMatcher(search: string, item: TreeSelectItem): boolean {
return item.value.toLowerCase().includes(search.toLowerCase());
}
public setDefaultValue(): void {
this.control.setValue(this.items[0], { emitEvent: false });
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
<prizm-input-layout label="Projection">
<prizm-input-tree-select #input [stringify]="stringify" [getChildren]="getChildren" [formControl]="control">
<prizm-data-list-wrapper *prizmDataList>
<ng-container *ngFor="let arrItem of items">
<prizm-input-tree-select-item
*prizmInputTreeSelectItem="arrItem; let item = item"
[prizmHintOnOverflow]="item.value"
[prizmHintOnOverflowEl]="host"
>
<div class="value" #host>
{{ item.value }}
</div>
</prizm-input-tree-select-item>
</ng-container>
</prizm-data-list-wrapper>
</prizm-input-tree-select>
</prizm-input-layout>

<br />
<br />
<div>
<button (click)="setDefaultValue()" prizmButton>
Set default value: <b>{{ items[0]?.value }}</b>
</button>
</div>

<br />
<br />
<div>Current value: {{ control.value?.value }}</div>
<div>Touched: {{ control.touched }}</div>
<div>Dirty: {{ control.dirty }}</div>
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
import { Component } from '@angular/core';
import { UntypedFormControl, Validators } from '@angular/forms';

type TreeSelectItem = {
value: string;
children?: TreeSelectItem[];
};

@Component({
selector: 'prizm-tree-select-projection-example',
templateUrl: './tree-select-projection-example.component.html',
styles: [
`
.box {
display: flex;
gap: 1rem;
}
.value {
overflow: hidden;
max-width: 100%;
text-overflow: ellipsis;
white-space: nowrap;
}
`,
],
})
export class PrizmTreeSelectProjectionExampleComponent {
readonly items: TreeSelectItem[] = [
{
value: 'One',
},
{
value: 'Two',
children: [
{
value: 'first in two',
children: [
{
value: 'first in first in two',
},
],
},
{
value: 'second in two',
},
],
},
{
value: 'Three',
children: [
{
value: 'first in first in Three',
},
{
value: 'second in first in Three',
},
],
},
{
value: 'Very long text with a lot of characters and spaces and other stuff and things',
},
];
public value = this.items[0];
readonly control = new UntypedFormControl(this.items[1], [Validators.required]);

public stringify(item: TreeSelectItem | null): string {
return item?.value ?? '';
}
public getChildren(item: TreeSelectItem): TreeSelectItem[] {
return item.children ?? [];
}
public setDefaultValue(): void {
this.control.setValue(this.items[0], { emitEvent: false });
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
<prizm-input-layout label="Validators">
<prizm-input-tree-select
#input
[stringify]="stringify"
[searchable]="true"
[searchMatcher]="searchMatcher"
[getChildren]="getChildren"
[formControl]="control"
>
<prizm-data-list-wrapper *prizmDataList>
<ng-container *ngFor="let arrItem of items">
<prizm-input-tree-select-item *prizmInputTreeSelectItem="arrItem; let item = item">
<div class="value">
{{ item.value }}
</div>
</prizm-input-tree-select-item>
</ng-container>
</prizm-data-list-wrapper>
</prizm-input-tree-select>
</prizm-input-layout>

<br />
<br />
<div>
<button (click)="setDefaultValue()" prizmButton>
Set default value: <b>{{ items[0]?.value }}</b>
</button>
</div>

<br />
<br />
<div>Current value: {{ control.value?.value }}</div>
<div>Touched: {{ control.touched }}</div>
<div>Dirty: {{ control.dirty }}</div>
Loading

0 comments on commit 7cd3898

Please sign in to comment.