@progress/kendo-angular-layout 16.4.0-develop.2 → 16.4.0-develop.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -9,7 +9,7 @@ export const packageMetadata = {
9
9
  name: '@progress/kendo-angular-layout',
10
10
  productName: 'Kendo UI for Angular',
11
11
  productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
12
- publishDate: 1719935822,
13
- version: '16.4.0-develop.2',
12
+ publishDate: 1719994250,
13
+ version: '16.4.0-develop.3',
14
14
  licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/?utm_medium=product&utm_source=kendoangular&utm_campaign=kendo-ui-angular-purchase-license-keys-warning'
15
15
  };
@@ -5,11 +5,12 @@
5
5
  import { Component, ElementRef, EventEmitter, ContentChildren, Host, HostBinding, Inject, Input, Optional, Output, QueryList, ViewChildren, Renderer2 } from '@angular/core';
6
6
  import { LocalizationService, L10N_PREFIX } from '@progress/kendo-angular-l10n';
7
7
  import { validatePackage } from '@progress/kendo-licensing';
8
+ import { isDocumentAvailable } from '@progress/kendo-angular-common';
8
9
  import { packageMetadata } from '../package-metadata';
10
+ import { isPresent } from '../common/util';
9
11
  import { SplitterPaneComponent } from './splitter-pane.component';
10
12
  import { SplitterBarComponent } from './splitter-bar.component';
11
13
  import { SplitterService } from './splitter.service';
12
- import { isPresent } from '../common/util';
13
14
  import * as i0 from "@angular/core";
14
15
  import * as i1 from "./splitter.service";
15
16
  import * as i2 from "@progress/kendo-angular-l10n";
@@ -100,6 +101,9 @@ export class SplitterComponent {
100
101
  if (!isPresent(splitbars) || !isPresent(this.panes)) {
101
102
  return;
102
103
  }
104
+ if (!isDocumentAvailable()) {
105
+ return;
106
+ }
103
107
  const panesArray = this.panes.toArray();
104
108
  const splitBarsArray = splitbars.toArray();
105
109
  const components = [...panesArray, ...splitBarsArray]
@@ -149,7 +153,8 @@ export class SplitterComponent {
149
153
  else {
150
154
  return this.element.nativeElement.clientWidth;
151
155
  }
152
- }
156
+ },
157
+ direction: this.direction
153
158
  });
154
159
  }
155
160
  get direction() {
@@ -29,7 +29,9 @@ export class SplitterService {
29
29
  }
30
30
  const notCollapsed = this.panes.filter(p => !p.collapsed);
31
31
  const allHaveFixedSize = notCollapsed.every(p => p.fixedSize);
32
- notCollapsed[notCollapsed.length - 1].forceExpand = allHaveFixedSize ? true : false;
32
+ notCollapsed.filter(p => p.fixedSize).forEach(pane => {
33
+ pane.forceExpand = allHaveFixedSize ? true : false;
34
+ });
33
35
  return pane.collapsible;
34
36
  }
35
37
  togglePane(keyCode, index) {
@@ -44,8 +46,11 @@ export class SplitterService {
44
46
  }
45
47
  resizePane(keyCode, index) {
46
48
  const state = this.dragState(index);
47
- const direction = keyCode === Keys.ArrowLeft || keyCode === Keys.ArrowUp;
48
- const step = direction ? (-this.resizeStep) : this.resizeStep;
49
+ const direction = keyCode === Keys.ArrowLeft || keyCode === (this.rtl ? Keys.ArrowDown : Keys.ArrowUp);
50
+ let step = direction ? (-this.resizeStep) : this.resizeStep;
51
+ if (this.rtl) {
52
+ step = -step;
53
+ }
49
54
  this.setSize(state, step);
50
55
  }
51
56
  toggleContentOverlay(index, show) {
@@ -89,22 +94,9 @@ export class SplitterService {
89
94
  pane.isResized = true;
90
95
  this.emit(pane.sizeChange, size);
91
96
  };
92
- const prev = this.pane(state.prev.index);
93
- const next = this.pane(state.next.index);
94
- // determine which pane to resize
95
- if (prev.fixedSize && next.fixedSize) {
96
- // resizing both panes
97
- resize(state.prev, delta);
98
- resize(state.next, -delta);
99
- }
100
- else if (next.collapsible || next.fixedSize) {
101
- // resizing next
102
- resize(state.next, -delta);
103
- }
104
- else {
105
- // resizing prev
106
- resize(state.prev, delta);
107
- }
97
+ // resizing both panes
98
+ resize(state.prev, delta);
99
+ resize(state.next, -delta);
108
100
  this.emit(this.layoutChange, {});
109
101
  }
110
102
  isDraggable(splitBarIndex) {
@@ -130,7 +122,7 @@ export class SplitterService {
130
122
  }
131
123
  return this.panes[index];
132
124
  }
133
- configure({ panes, orientation, containerSize }) {
125
+ configure({ panes, orientation, containerSize, direction }) {
134
126
  this.panes = panes;
135
127
  this.panes.forEach((pane, index) => {
136
128
  pane.order = index * 2;
@@ -147,6 +139,7 @@ export class SplitterService {
147
139
  }
148
140
  }
149
141
  this.containerSize = containerSize;
142
+ this.rtl = direction === 'rtl';
150
143
  }
151
144
  isPercent(size) {
152
145
  return /%$/.test(size);
@@ -7,7 +7,7 @@ import { Directive, Optional, Injectable, isDevMode, Component, SkipSelf, Host,
7
7
  import * as i1 from '@progress/kendo-angular-l10n';
8
8
  import { LocalizationService, L10N_PREFIX, ComponentMessages } from '@progress/kendo-angular-l10n';
9
9
  import * as i5 from '@progress/kendo-angular-common';
10
- import { Keys, shouldShowValidationUI, PreventableEvent as PreventableEvent$1, isDocumentAvailable, guid, hasObservers, isPresent as isPresent$1, focusableSelector, isChanged, WatermarkModule, EventsModule, DraggableModule, ResizeSensorModule } from '@progress/kendo-angular-common';
10
+ import { Keys, shouldShowValidationUI, isDocumentAvailable, PreventableEvent as PreventableEvent$1, guid, hasObservers, isPresent as isPresent$1, focusableSelector, isChanged, WatermarkModule, EventsModule, DraggableModule, ResizeSensorModule } from '@progress/kendo-angular-common';
11
11
  import { validatePackage } from '@progress/kendo-licensing';
12
12
  import * as i1$1 from '@angular/animations';
13
13
  import { trigger, state, style, transition, animate, AUTO_STYLE } from '@angular/animations';
@@ -33,8 +33,8 @@ const packageMetadata = {
33
33
  name: '@progress/kendo-angular-layout',
34
34
  productName: 'Kendo UI for Angular',
35
35
  productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
36
- publishDate: 1719935822,
37
- version: '16.4.0-develop.2',
36
+ publishDate: 1719994250,
37
+ version: '16.4.0-develop.3',
38
38
  licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/?utm_medium=product&utm_source=kendoangular&utm_campaign=kendo-ui-angular-purchase-license-keys-warning'
39
39
  };
40
40
 
@@ -1863,7 +1863,9 @@ class SplitterService {
1863
1863
  }
1864
1864
  const notCollapsed = this.panes.filter(p => !p.collapsed);
1865
1865
  const allHaveFixedSize = notCollapsed.every(p => p.fixedSize);
1866
- notCollapsed[notCollapsed.length - 1].forceExpand = allHaveFixedSize ? true : false;
1866
+ notCollapsed.filter(p => p.fixedSize).forEach(pane => {
1867
+ pane.forceExpand = allHaveFixedSize ? true : false;
1868
+ });
1867
1869
  return pane.collapsible;
1868
1870
  }
1869
1871
  togglePane(keyCode, index) {
@@ -1878,8 +1880,11 @@ class SplitterService {
1878
1880
  }
1879
1881
  resizePane(keyCode, index) {
1880
1882
  const state = this.dragState(index);
1881
- const direction = keyCode === Keys.ArrowLeft || keyCode === Keys.ArrowUp;
1882
- const step = direction ? (-this.resizeStep) : this.resizeStep;
1883
+ const direction = keyCode === Keys.ArrowLeft || keyCode === (this.rtl ? Keys.ArrowDown : Keys.ArrowUp);
1884
+ let step = direction ? (-this.resizeStep) : this.resizeStep;
1885
+ if (this.rtl) {
1886
+ step = -step;
1887
+ }
1883
1888
  this.setSize(state, step);
1884
1889
  }
1885
1890
  toggleContentOverlay(index, show) {
@@ -1923,22 +1928,9 @@ class SplitterService {
1923
1928
  pane.isResized = true;
1924
1929
  this.emit(pane.sizeChange, size);
1925
1930
  };
1926
- const prev = this.pane(state.prev.index);
1927
- const next = this.pane(state.next.index);
1928
- // determine which pane to resize
1929
- if (prev.fixedSize && next.fixedSize) {
1930
- // resizing both panes
1931
- resize(state.prev, delta);
1932
- resize(state.next, -delta);
1933
- }
1934
- else if (next.collapsible || next.fixedSize) {
1935
- // resizing next
1936
- resize(state.next, -delta);
1937
- }
1938
- else {
1939
- // resizing prev
1940
- resize(state.prev, delta);
1941
- }
1931
+ // resizing both panes
1932
+ resize(state.prev, delta);
1933
+ resize(state.next, -delta);
1942
1934
  this.emit(this.layoutChange, {});
1943
1935
  }
1944
1936
  isDraggable(splitBarIndex) {
@@ -1964,7 +1956,7 @@ class SplitterService {
1964
1956
  }
1965
1957
  return this.panes[index];
1966
1958
  }
1967
- configure({ panes, orientation, containerSize }) {
1959
+ configure({ panes, orientation, containerSize, direction }) {
1968
1960
  this.panes = panes;
1969
1961
  this.panes.forEach((pane, index) => {
1970
1962
  pane.order = index * 2;
@@ -1981,6 +1973,7 @@ class SplitterService {
1981
1973
  }
1982
1974
  }
1983
1975
  this.containerSize = containerSize;
1976
+ this.rtl = direction === 'rtl';
1984
1977
  }
1985
1978
  isPercent(size) {
1986
1979
  return /%$/.test(size);
@@ -2359,6 +2352,9 @@ class SplitterComponent {
2359
2352
  if (!isPresent(splitbars) || !isPresent(this.panes)) {
2360
2353
  return;
2361
2354
  }
2355
+ if (!isDocumentAvailable()) {
2356
+ return;
2357
+ }
2362
2358
  const panesArray = this.panes.toArray();
2363
2359
  const splitBarsArray = splitbars.toArray();
2364
2360
  const components = [...panesArray, ...splitBarsArray]
@@ -2408,7 +2404,8 @@ class SplitterComponent {
2408
2404
  else {
2409
2405
  return this.element.nativeElement.clientWidth;
2410
2406
  }
2411
- }
2407
+ },
2408
+ direction: this.direction
2412
2409
  });
2413
2410
  }
2414
2411
  get direction() {
@@ -7,7 +7,7 @@ import { Injectable, Directive, Optional, isDevMode, Component, SkipSelf, Host,
7
7
  import * as i1 from '@progress/kendo-angular-l10n';
8
8
  import { LocalizationService, L10N_PREFIX, ComponentMessages } from '@progress/kendo-angular-l10n';
9
9
  import * as i5 from '@progress/kendo-angular-common';
10
- import { Keys, shouldShowValidationUI, PreventableEvent as PreventableEvent$1, isDocumentAvailable, guid, hasObservers, isPresent as isPresent$1, focusableSelector, isChanged, WatermarkModule, EventsModule, DraggableModule, ResizeSensorModule } from '@progress/kendo-angular-common';
10
+ import { Keys, shouldShowValidationUI, isDocumentAvailable, PreventableEvent as PreventableEvent$1, guid, hasObservers, isPresent as isPresent$1, focusableSelector, isChanged, WatermarkModule, EventsModule, DraggableModule, ResizeSensorModule } from '@progress/kendo-angular-common';
11
11
  import { validatePackage } from '@progress/kendo-licensing';
12
12
  import * as i1$1 from '@angular/animations';
13
13
  import { trigger, state, style, transition, animate, AUTO_STYLE } from '@angular/animations';
@@ -33,8 +33,8 @@ const packageMetadata = {
33
33
  name: '@progress/kendo-angular-layout',
34
34
  productName: 'Kendo UI for Angular',
35
35
  productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
36
- publishDate: 1719935822,
37
- version: '16.4.0-develop.2',
36
+ publishDate: 1719994250,
37
+ version: '16.4.0-develop.3',
38
38
  licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/?utm_medium=product&utm_source=kendoangular&utm_campaign=kendo-ui-angular-purchase-license-keys-warning'
39
39
  };
40
40
 
@@ -1857,7 +1857,9 @@ class SplitterService {
1857
1857
  }
1858
1858
  const notCollapsed = this.panes.filter(p => !p.collapsed);
1859
1859
  const allHaveFixedSize = notCollapsed.every(p => p.fixedSize);
1860
- notCollapsed[notCollapsed.length - 1].forceExpand = allHaveFixedSize ? true : false;
1860
+ notCollapsed.filter(p => p.fixedSize).forEach(pane => {
1861
+ pane.forceExpand = allHaveFixedSize ? true : false;
1862
+ });
1861
1863
  return pane.collapsible;
1862
1864
  }
1863
1865
  togglePane(keyCode, index) {
@@ -1872,8 +1874,11 @@ class SplitterService {
1872
1874
  }
1873
1875
  resizePane(keyCode, index) {
1874
1876
  const state = this.dragState(index);
1875
- const direction = keyCode === Keys.ArrowLeft || keyCode === Keys.ArrowUp;
1876
- const step = direction ? (-this.resizeStep) : this.resizeStep;
1877
+ const direction = keyCode === Keys.ArrowLeft || keyCode === (this.rtl ? Keys.ArrowDown : Keys.ArrowUp);
1878
+ let step = direction ? (-this.resizeStep) : this.resizeStep;
1879
+ if (this.rtl) {
1880
+ step = -step;
1881
+ }
1877
1882
  this.setSize(state, step);
1878
1883
  }
1879
1884
  toggleContentOverlay(index, show) {
@@ -1917,22 +1922,9 @@ class SplitterService {
1917
1922
  pane.isResized = true;
1918
1923
  this.emit(pane.sizeChange, size);
1919
1924
  };
1920
- const prev = this.pane(state.prev.index);
1921
- const next = this.pane(state.next.index);
1922
- // determine which pane to resize
1923
- if (prev.fixedSize && next.fixedSize) {
1924
- // resizing both panes
1925
- resize(state.prev, delta);
1926
- resize(state.next, -delta);
1927
- }
1928
- else if (next.collapsible || next.fixedSize) {
1929
- // resizing next
1930
- resize(state.next, -delta);
1931
- }
1932
- else {
1933
- // resizing prev
1934
- resize(state.prev, delta);
1935
- }
1925
+ // resizing both panes
1926
+ resize(state.prev, delta);
1927
+ resize(state.next, -delta);
1936
1928
  this.emit(this.layoutChange, {});
1937
1929
  }
1938
1930
  isDraggable(splitBarIndex) {
@@ -1958,7 +1950,7 @@ class SplitterService {
1958
1950
  }
1959
1951
  return this.panes[index];
1960
1952
  }
1961
- configure({ panes, orientation, containerSize }) {
1953
+ configure({ panes, orientation, containerSize, direction }) {
1962
1954
  this.panes = panes;
1963
1955
  this.panes.forEach((pane, index) => {
1964
1956
  pane.order = index * 2;
@@ -1975,6 +1967,7 @@ class SplitterService {
1975
1967
  }
1976
1968
  }
1977
1969
  this.containerSize = containerSize;
1970
+ this.rtl = direction === 'rtl';
1978
1971
  }
1979
1972
  isPercent(size) {
1980
1973
  return /%$/.test(size);
@@ -2351,6 +2344,9 @@ class SplitterComponent {
2351
2344
  if (!isPresent(splitbars) || !isPresent(this.panes)) {
2352
2345
  return;
2353
2346
  }
2347
+ if (!isDocumentAvailable()) {
2348
+ return;
2349
+ }
2354
2350
  const panesArray = this.panes.toArray();
2355
2351
  const splitBarsArray = splitbars.toArray();
2356
2352
  const components = [...panesArray, ...splitBarsArray]
@@ -2400,7 +2396,8 @@ class SplitterComponent {
2400
2396
  else {
2401
2397
  return this.element.nativeElement.clientWidth;
2402
2398
  }
2403
- }
2399
+ },
2400
+ direction: this.direction
2404
2401
  });
2405
2402
  }
2406
2403
  get direction() {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@progress/kendo-angular-layout",
3
- "version": "16.4.0-develop.2",
3
+ "version": "16.4.0-develop.3",
4
4
  "description": "Kendo UI for Angular Layout Package - a collection of components to create professional application layoyts",
5
5
  "license": "SEE LICENSE IN LICENSE.md",
6
6
  "author": "Progress",
@@ -39,17 +39,17 @@
39
39
  "@angular/core": "15 - 18",
40
40
  "@angular/platform-browser": "15 - 18",
41
41
  "@progress/kendo-licensing": "^1.0.2",
42
- "@progress/kendo-angular-common": "16.4.0-develop.2",
43
- "@progress/kendo-angular-l10n": "16.4.0-develop.2",
44
- "@progress/kendo-angular-progressbar": "16.4.0-develop.2",
45
- "@progress/kendo-angular-icons": "16.4.0-develop.2",
46
- "@progress/kendo-angular-buttons": "16.4.0-develop.2",
47
- "@progress/kendo-angular-intl": "16.4.0-develop.2",
42
+ "@progress/kendo-angular-common": "16.4.0-develop.3",
43
+ "@progress/kendo-angular-l10n": "16.4.0-develop.3",
44
+ "@progress/kendo-angular-progressbar": "16.4.0-develop.3",
45
+ "@progress/kendo-angular-icons": "16.4.0-develop.3",
46
+ "@progress/kendo-angular-buttons": "16.4.0-develop.3",
47
+ "@progress/kendo-angular-intl": "16.4.0-develop.3",
48
48
  "rxjs": "^6.5.3 || ^7.0.0"
49
49
  },
50
50
  "dependencies": {
51
51
  "tslib": "^2.3.1",
52
- "@progress/kendo-angular-schematics": "16.4.0-develop.2",
52
+ "@progress/kendo-angular-schematics": "16.4.0-develop.3",
53
53
  "@progress/kendo-draggable": "^3.0.2"
54
54
  },
55
55
  "schematics": "./schematics/collection.json",
@@ -5,6 +5,7 @@
5
5
  import { EventEmitter, NgZone } from '@angular/core';
6
6
  import { Orientation } from '../common/orientation';
7
7
  import { SplitterPaneComponent } from './splitter-pane.component';
8
+ import { Direction } from '../common/direction';
8
9
  import * as i0 from "@angular/core";
9
10
  /**
10
11
  * @hidden
@@ -13,6 +14,7 @@ export declare type SplitterParameters = {
13
14
  containerSize: () => number;
14
15
  panes: Array<SplitterPaneComponent>;
15
16
  orientation: Orientation;
17
+ direction: Direction;
16
18
  };
17
19
  /**
18
20
  * @hidden
@@ -49,8 +51,9 @@ export declare class SplitterService {
49
51
  isDraggable(splitBarIndex: number): boolean;
50
52
  isStatic(splitBarIndex: number): boolean;
51
53
  pane(index: number): SplitterPaneComponent;
52
- configure({ panes, orientation, containerSize }: SplitterParameters): void;
54
+ configure({ panes, orientation, containerSize, direction }: SplitterParameters): void;
53
55
  private containerSize;
56
+ private rtl;
54
57
  private isPercent;
55
58
  private toPixels;
56
59
  private emit;