@progress/kendo-angular-layout 6.4.2-dev.202201251524 → 6.5.0-dev.202202140804
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.
- package/dist/cdn/js/kendo-angular-layout.js +2 -2
- package/dist/cdn/main.js +1 -1
- package/dist/es/common/util.js +4 -0
- package/dist/es/expansionpanel/expansionpanel.component.js +1 -0
- package/dist/es/gridlayout.module.js +31 -0
- package/dist/es/layout.module.js +5 -1
- package/dist/es/layouts/grid-layout.component.js +155 -0
- package/dist/es/layouts/gridlayout-item.component.js +52 -0
- package/dist/es/layouts/models/gridlayout-gap-settings.js +4 -0
- package/dist/es/layouts/models/gridlayout-row-col-size.js +4 -0
- package/dist/es/layouts/models/layout-align-settings.js +4 -0
- package/dist/es/layouts/models/layout-horizontal-align.js +4 -0
- package/dist/es/layouts/models/layout-vertical-align.js +4 -0
- package/dist/es/layouts/models.js +4 -0
- package/dist/es/layouts/stack-layout.component.js +171 -0
- package/dist/es/layouts/util.js +102 -0
- package/dist/es/main.js +7 -0
- package/dist/es/package-metadata.js +1 -1
- package/dist/es/stacklayout.module.js +29 -0
- package/dist/es2015/common/orientation.d.ts +1 -1
- package/dist/es2015/common/util.d.ts +4 -0
- package/dist/es2015/common/util.js +4 -0
- package/dist/es2015/expansionpanel/expansionpanel.component.js +1 -0
- package/dist/es2015/gridlayout.module.d.ts +10 -0
- package/dist/es2015/gridlayout.module.js +30 -0
- package/dist/es2015/index.metadata.json +1 -1
- package/dist/es2015/layout.module.js +5 -1
- package/dist/es2015/layouts/grid-layout.component.d.ts +63 -0
- package/dist/es2015/layouts/grid-layout.component.js +144 -0
- package/dist/es2015/layouts/gridlayout-item.component.d.ts +33 -0
- package/dist/es2015/layouts/gridlayout-item.component.js +53 -0
- package/dist/es2015/layouts/models/gridlayout-gap-settings.d.ts +17 -0
- package/dist/es2015/layouts/models/gridlayout-gap-settings.js +4 -0
- package/dist/es2015/layouts/models/gridlayout-row-col-size.d.ts +22 -0
- package/dist/es2015/layouts/models/gridlayout-row-col-size.js +4 -0
- package/dist/es2015/layouts/models/layout-align-settings.d.ts +18 -0
- package/dist/es2015/layouts/models/layout-align-settings.js +4 -0
- package/dist/es2015/layouts/models/layout-horizontal-align.d.ts +8 -0
- package/dist/es2015/layouts/models/layout-horizontal-align.js +4 -0
- package/dist/es2015/layouts/models/layout-vertical-align.d.ts +8 -0
- package/dist/es2015/layouts/models/layout-vertical-align.js +4 -0
- package/dist/es2015/layouts/models.d.ts +10 -0
- package/dist/es2015/layouts/models.js +4 -0
- package/dist/es2015/layouts/stack-layout.component.d.ts +47 -0
- package/dist/es2015/layouts/stack-layout.component.js +152 -0
- package/dist/es2015/layouts/util.d.ts +42 -0
- package/dist/es2015/layouts/util.js +101 -0
- package/dist/es2015/main.d.ts +7 -0
- package/dist/es2015/main.js +7 -0
- package/dist/es2015/package-metadata.js +1 -1
- package/dist/es2015/stacklayout.module.d.ts +10 -0
- package/dist/es2015/stacklayout.module.js +28 -0
- package/dist/fesm2015/index.js +469 -4
- package/dist/fesm5/index.js +501 -4
- package/dist/npm/common/util.js +4 -0
- package/dist/npm/expansionpanel/expansionpanel.component.js +1 -0
- package/dist/npm/gridlayout.module.js +33 -0
- package/dist/npm/layout.module.js +5 -1
- package/dist/npm/layouts/grid-layout.component.js +157 -0
- package/dist/npm/layouts/gridlayout-item.component.js +54 -0
- package/dist/npm/layouts/models/gridlayout-gap-settings.js +6 -0
- package/dist/npm/layouts/models/gridlayout-row-col-size.js +6 -0
- package/dist/npm/layouts/models/layout-align-settings.js +6 -0
- package/dist/npm/layouts/models/layout-horizontal-align.js +6 -0
- package/dist/npm/layouts/models/layout-vertical-align.js +6 -0
- package/dist/npm/layouts/models.js +6 -0
- package/dist/npm/layouts/stack-layout.component.js +173 -0
- package/dist/npm/layouts/util.js +104 -0
- package/dist/npm/main.js +12 -0
- package/dist/npm/package-metadata.js +1 -1
- package/dist/npm/stacklayout.module.js +31 -0
- package/dist/systemjs/kendo-angular-layout.js +1 -1
- package/package.json +10 -8
package/dist/fesm2015/index.js
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
import { __decorate, __metadata, __param } from 'tslib';
|
|
6
6
|
import { Injectable, Directive, TemplateRef, Optional, isDevMode, Input, ViewChild, ElementRef, HostBinding, ViewChildren, QueryList, ContentChildren, Component, SkipSelf, Host, Renderer2, EventEmitter, Output, ContentChild, HostListener, ChangeDetectorRef, NgZone, Inject, forwardRef, ViewEncapsulation, NgModule } from '@angular/core';
|
|
7
7
|
import { LocalizationService, L10N_PREFIX, ComponentMessages } from '@progress/kendo-angular-l10n';
|
|
8
|
-
import { Keys, DraggableDirective, PreventableEvent, isDocumentAvailable, hasObservers, EventsModule, DraggableModule, ResizeSensorModule } from '@progress/kendo-angular-common';
|
|
8
|
+
import { Keys, DraggableDirective, PreventableEvent, isDocumentAvailable, hasObservers, EventsModule, DraggableModule, ResizeSensorModule, isChanged } from '@progress/kendo-angular-common';
|
|
9
9
|
import { validatePackage } from '@progress/kendo-licensing';
|
|
10
10
|
import { trigger, state, style, transition, animate, AUTO_STYLE, AnimationBuilder } from '@angular/animations';
|
|
11
11
|
import { Subject, BehaviorSubject, Subscription, of } from 'rxjs';
|
|
@@ -21,7 +21,7 @@ const packageMetadata = {
|
|
|
21
21
|
name: '@progress/kendo-angular-layout',
|
|
22
22
|
productName: 'Kendo UI for Angular',
|
|
23
23
|
productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
|
|
24
|
-
publishDate:
|
|
24
|
+
publishDate: 1644825801,
|
|
25
25
|
version: '',
|
|
26
26
|
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'
|
|
27
27
|
};
|
|
@@ -219,6 +219,10 @@ const getStylingClasses = (componentType, stylingOption, previousValue, newValue
|
|
|
219
219
|
* @hidden
|
|
220
220
|
*/
|
|
221
221
|
const mapShapeToRounded = (shape) => SHAPE_TO_ROUNDED[shape] || null;
|
|
222
|
+
/**
|
|
223
|
+
* @hidden
|
|
224
|
+
*/
|
|
225
|
+
const isNumber = (value) => typeof value === 'number' && isFinite(value);
|
|
222
226
|
|
|
223
227
|
const focusableRegex = /^(?:a|input|select|option|textarea|button|object)$/i;
|
|
224
228
|
const toClassList = (classNames) => String(classNames).trim().split(' ');
|
|
@@ -5754,6 +5758,7 @@ let ExpansionPanelComponent = class ExpansionPanelComponent {
|
|
|
5754
5758
|
}
|
|
5755
5759
|
}
|
|
5756
5760
|
ngOnInit() {
|
|
5761
|
+
this.renderer.removeAttribute(this.hostElement.nativeElement, 'title');
|
|
5757
5762
|
this.subscriptions = this.localizationService.changes.subscribe(({ rtl }) => { this.direction = rtl ? 'rtl' : 'ltr'; });
|
|
5758
5763
|
}
|
|
5759
5764
|
ngAfterViewInit() {
|
|
@@ -8268,6 +8273,464 @@ TileLayoutModule = __decorate([
|
|
|
8268
8273
|
})
|
|
8269
8274
|
], TileLayoutModule);
|
|
8270
8275
|
|
|
8276
|
+
/**
|
|
8277
|
+
* @hidden
|
|
8278
|
+
*/
|
|
8279
|
+
const VERTICAL_SUFFIX = {
|
|
8280
|
+
top: 'start',
|
|
8281
|
+
middle: 'center',
|
|
8282
|
+
bottom: 'end',
|
|
8283
|
+
stretch: 'stretch'
|
|
8284
|
+
};
|
|
8285
|
+
/**
|
|
8286
|
+
* @hidden
|
|
8287
|
+
*/
|
|
8288
|
+
const JUSTIFY_PREFIX = `k-justify-content`;
|
|
8289
|
+
/**
|
|
8290
|
+
* @hidden
|
|
8291
|
+
*/
|
|
8292
|
+
const GRID_JUSTIFY_PREFIX = `k-justify-items`;
|
|
8293
|
+
/**
|
|
8294
|
+
* @hidden
|
|
8295
|
+
*/
|
|
8296
|
+
const ALIGN_PREFIX = `k-align-items`;
|
|
8297
|
+
/**
|
|
8298
|
+
* @hidden
|
|
8299
|
+
*/
|
|
8300
|
+
const normalizeGap = (gap) => {
|
|
8301
|
+
if (typeof gap === 'number' || typeof gap === 'string') {
|
|
8302
|
+
return { cols: gap, rows: gap };
|
|
8303
|
+
}
|
|
8304
|
+
else {
|
|
8305
|
+
let parsedGap = {};
|
|
8306
|
+
parsedGap.rows = gap.rows ? gap.rows : 0;
|
|
8307
|
+
parsedGap.cols = gap.cols ? gap.cols : 0;
|
|
8308
|
+
return parsedGap;
|
|
8309
|
+
}
|
|
8310
|
+
};
|
|
8311
|
+
/**
|
|
8312
|
+
* @hidden
|
|
8313
|
+
*/
|
|
8314
|
+
const generateGapStyle = (gap) => {
|
|
8315
|
+
if (gap.rows === gap.cols) {
|
|
8316
|
+
return typeof gap.rows === 'number' ? `${gap.rows}px` : gap.rows;
|
|
8317
|
+
}
|
|
8318
|
+
else {
|
|
8319
|
+
let rowStyle = `${typeof gap.rows === 'number' ? gap.rows + 'px' : gap.rows}`;
|
|
8320
|
+
let colStyle = `${typeof gap.cols === 'number' ? gap.cols + 'px' : gap.cols}`;
|
|
8321
|
+
return `${rowStyle} ${colStyle}`;
|
|
8322
|
+
}
|
|
8323
|
+
};
|
|
8324
|
+
/**
|
|
8325
|
+
* @hidden
|
|
8326
|
+
*/
|
|
8327
|
+
const generateGridStyle = (items, itemType) => {
|
|
8328
|
+
let styling = [];
|
|
8329
|
+
items.forEach((item) => {
|
|
8330
|
+
if (typeof item === 'number') {
|
|
8331
|
+
styling.push(`${item}px`);
|
|
8332
|
+
}
|
|
8333
|
+
else if (typeof item === 'string') {
|
|
8334
|
+
styling.push(item);
|
|
8335
|
+
}
|
|
8336
|
+
else {
|
|
8337
|
+
if (itemType === 'rows') {
|
|
8338
|
+
const rowHeight = item.height;
|
|
8339
|
+
if (rowHeight) {
|
|
8340
|
+
styling.push(typeof rowHeight === 'number' ? `${rowHeight}px` : rowHeight);
|
|
8341
|
+
}
|
|
8342
|
+
else {
|
|
8343
|
+
styling.push('0px');
|
|
8344
|
+
}
|
|
8345
|
+
}
|
|
8346
|
+
else {
|
|
8347
|
+
const colWidth = item.width;
|
|
8348
|
+
if (colWidth) {
|
|
8349
|
+
styling.push(typeof colWidth === 'number' ? `${colWidth}px` : colWidth);
|
|
8350
|
+
}
|
|
8351
|
+
else {
|
|
8352
|
+
styling.push('0px');
|
|
8353
|
+
}
|
|
8354
|
+
}
|
|
8355
|
+
}
|
|
8356
|
+
});
|
|
8357
|
+
return styling;
|
|
8358
|
+
};
|
|
8359
|
+
/**
|
|
8360
|
+
* @hidden
|
|
8361
|
+
*/
|
|
8362
|
+
const validateGridLayoutRowsCols = (arr) => {
|
|
8363
|
+
for (const el of arr) {
|
|
8364
|
+
const isNum = typeof el === 'number';
|
|
8365
|
+
const isStr = typeof el === 'string';
|
|
8366
|
+
const isObject = typeof el === 'object' && el !== null;
|
|
8367
|
+
if (!isNum && !isStr && !isObject) {
|
|
8368
|
+
return false;
|
|
8369
|
+
}
|
|
8370
|
+
}
|
|
8371
|
+
return true;
|
|
8372
|
+
};
|
|
8373
|
+
|
|
8374
|
+
/**
|
|
8375
|
+
* Represents the [Kendo UI StackLayout component for Angular]({% slug overview_stacklayout %}).
|
|
8376
|
+
*/
|
|
8377
|
+
let StackLayoutComponent = class StackLayoutComponent {
|
|
8378
|
+
constructor(renderer, element, localization) {
|
|
8379
|
+
this.renderer = renderer;
|
|
8380
|
+
this.element = element;
|
|
8381
|
+
this.localization = localization;
|
|
8382
|
+
this.hostClass = true;
|
|
8383
|
+
/**
|
|
8384
|
+
* Specifies the gap between the inner StackLayout elements. The default value is `0`
|
|
8385
|
+
* ([see example]({% slug layout_stacklayout %}#toc-gaps)).
|
|
8386
|
+
*/
|
|
8387
|
+
this.gap = 0;
|
|
8388
|
+
/**
|
|
8389
|
+
* Specifies the orientation of the StackLayout
|
|
8390
|
+
* ([see example]({% slug layout_stacklayout %}#toc-orientation)).
|
|
8391
|
+
*
|
|
8392
|
+
* The possible values are:
|
|
8393
|
+
* (Default) `horizontal`
|
|
8394
|
+
* `vertical`
|
|
8395
|
+
*/
|
|
8396
|
+
this.orientation = 'horizontal';
|
|
8397
|
+
this._align = {
|
|
8398
|
+
horizontal: 'stretch',
|
|
8399
|
+
vertical: 'stretch'
|
|
8400
|
+
};
|
|
8401
|
+
validatePackage(packageMetadata);
|
|
8402
|
+
}
|
|
8403
|
+
get horizontalClass() {
|
|
8404
|
+
return this.orientation === 'horizontal';
|
|
8405
|
+
}
|
|
8406
|
+
get verticalClass() {
|
|
8407
|
+
return this.orientation === 'vertical';
|
|
8408
|
+
}
|
|
8409
|
+
get dir() {
|
|
8410
|
+
return this.direction;
|
|
8411
|
+
}
|
|
8412
|
+
/**
|
|
8413
|
+
* Specifies the horizontal and vertical alignment of the inner StackLayout elements
|
|
8414
|
+
* ([see example]({% slug layout_stacklayout %}#toc-alignment)).
|
|
8415
|
+
*/
|
|
8416
|
+
set align(align) {
|
|
8417
|
+
this._align = Object.assign({}, this._align, align);
|
|
8418
|
+
this.handleAlignClasses();
|
|
8419
|
+
}
|
|
8420
|
+
get align() {
|
|
8421
|
+
return this._align;
|
|
8422
|
+
}
|
|
8423
|
+
ngAfterViewInit() {
|
|
8424
|
+
this.handleAlignClasses();
|
|
8425
|
+
this.setGap();
|
|
8426
|
+
}
|
|
8427
|
+
ngOnChanges(changes) {
|
|
8428
|
+
if (isChanged('gap', changes)) {
|
|
8429
|
+
this.setGap();
|
|
8430
|
+
}
|
|
8431
|
+
if (isChanged('orientation', changes)) {
|
|
8432
|
+
this.handleAlignClasses();
|
|
8433
|
+
}
|
|
8434
|
+
}
|
|
8435
|
+
handleAlignClasses() {
|
|
8436
|
+
const elem = this.element.nativeElement;
|
|
8437
|
+
if (isPresent(this.justifyClass)) {
|
|
8438
|
+
this.renderer.removeClass(elem, this.justifyClass);
|
|
8439
|
+
}
|
|
8440
|
+
if (isPresent(this.alignClass)) {
|
|
8441
|
+
this.renderer.removeClass(elem, this.alignClass);
|
|
8442
|
+
}
|
|
8443
|
+
if (this.orientation === 'horizontal') {
|
|
8444
|
+
this.justifyClass = `${JUSTIFY_PREFIX}-${this.align.horizontal}`;
|
|
8445
|
+
this.alignClass = `${ALIGN_PREFIX}-${VERTICAL_SUFFIX[this.align.vertical]}`;
|
|
8446
|
+
}
|
|
8447
|
+
else {
|
|
8448
|
+
this.justifyClass = `${JUSTIFY_PREFIX}-${VERTICAL_SUFFIX[this.align.vertical]}`;
|
|
8449
|
+
this.alignClass = `${ALIGN_PREFIX}-${this.align.horizontal}`;
|
|
8450
|
+
}
|
|
8451
|
+
this.renderer.addClass(elem, this.justifyClass);
|
|
8452
|
+
this.renderer.addClass(elem, this.alignClass);
|
|
8453
|
+
}
|
|
8454
|
+
setGap() {
|
|
8455
|
+
const parsedGap = isNumber(this.gap) ? `${this.gap}px` : this.gap;
|
|
8456
|
+
this.renderer.setStyle(this.element.nativeElement, 'gap', parsedGap);
|
|
8457
|
+
}
|
|
8458
|
+
get direction() {
|
|
8459
|
+
return this.localization.rtl ? 'rtl' : 'ltr';
|
|
8460
|
+
}
|
|
8461
|
+
};
|
|
8462
|
+
__decorate([
|
|
8463
|
+
HostBinding('class.k-stack-layout'),
|
|
8464
|
+
__metadata("design:type", Boolean)
|
|
8465
|
+
], StackLayoutComponent.prototype, "hostClass", void 0);
|
|
8466
|
+
__decorate([
|
|
8467
|
+
HostBinding('class.k-hstack'),
|
|
8468
|
+
__metadata("design:type", Boolean),
|
|
8469
|
+
__metadata("design:paramtypes", [])
|
|
8470
|
+
], StackLayoutComponent.prototype, "horizontalClass", null);
|
|
8471
|
+
__decorate([
|
|
8472
|
+
HostBinding('class.k-vstack'),
|
|
8473
|
+
__metadata("design:type", Boolean),
|
|
8474
|
+
__metadata("design:paramtypes", [])
|
|
8475
|
+
], StackLayoutComponent.prototype, "verticalClass", null);
|
|
8476
|
+
__decorate([
|
|
8477
|
+
HostBinding('attr.dir'),
|
|
8478
|
+
__metadata("design:type", String),
|
|
8479
|
+
__metadata("design:paramtypes", [])
|
|
8480
|
+
], StackLayoutComponent.prototype, "dir", null);
|
|
8481
|
+
__decorate([
|
|
8482
|
+
Input(),
|
|
8483
|
+
__metadata("design:type", Object),
|
|
8484
|
+
__metadata("design:paramtypes", [Object])
|
|
8485
|
+
], StackLayoutComponent.prototype, "align", null);
|
|
8486
|
+
__decorate([
|
|
8487
|
+
Input(),
|
|
8488
|
+
__metadata("design:type", Object)
|
|
8489
|
+
], StackLayoutComponent.prototype, "gap", void 0);
|
|
8490
|
+
__decorate([
|
|
8491
|
+
Input(),
|
|
8492
|
+
__metadata("design:type", String)
|
|
8493
|
+
], StackLayoutComponent.prototype, "orientation", void 0);
|
|
8494
|
+
StackLayoutComponent = __decorate([
|
|
8495
|
+
Component({
|
|
8496
|
+
exportAs: 'kendoStackLayout',
|
|
8497
|
+
selector: 'kendo-stacklayout',
|
|
8498
|
+
providers: [
|
|
8499
|
+
LocalizationService,
|
|
8500
|
+
{
|
|
8501
|
+
provide: L10N_PREFIX,
|
|
8502
|
+
useValue: 'kendo.stacklayout'
|
|
8503
|
+
}
|
|
8504
|
+
],
|
|
8505
|
+
template: `
|
|
8506
|
+
<ng-content></ng-content>
|
|
8507
|
+
`
|
|
8508
|
+
}),
|
|
8509
|
+
__metadata("design:paramtypes", [Renderer2,
|
|
8510
|
+
ElementRef,
|
|
8511
|
+
LocalizationService])
|
|
8512
|
+
], StackLayoutComponent);
|
|
8513
|
+
|
|
8514
|
+
const exportedModules$9 = [
|
|
8515
|
+
StackLayoutComponent
|
|
8516
|
+
];
|
|
8517
|
+
const declarations$9 = [
|
|
8518
|
+
...exportedModules$9
|
|
8519
|
+
];
|
|
8520
|
+
/**
|
|
8521
|
+
* Represents the [NgModule]({{ site.data.urls.angular['ngmoduleapi'] }})
|
|
8522
|
+
* definition for the StackLayout component.
|
|
8523
|
+
*/
|
|
8524
|
+
let StackLayoutModule = class StackLayoutModule {
|
|
8525
|
+
};
|
|
8526
|
+
StackLayoutModule = __decorate([
|
|
8527
|
+
NgModule({
|
|
8528
|
+
declarations: [declarations$9],
|
|
8529
|
+
exports: [exportedModules$9],
|
|
8530
|
+
imports: [CommonModule]
|
|
8531
|
+
})
|
|
8532
|
+
], StackLayoutModule);
|
|
8533
|
+
|
|
8534
|
+
/**
|
|
8535
|
+
* Represents the [Kendo UI GridLayout component for Angular]({% slug overview_gridlayout %}).
|
|
8536
|
+
*/
|
|
8537
|
+
let GridLayoutComponent = class GridLayoutComponent {
|
|
8538
|
+
constructor(renderer, element, localization) {
|
|
8539
|
+
this.renderer = renderer;
|
|
8540
|
+
this.element = element;
|
|
8541
|
+
this.localization = localization;
|
|
8542
|
+
this.hostClass = true;
|
|
8543
|
+
/**
|
|
8544
|
+
* Specifies the gaps between the elements. The default value is `0`
|
|
8545
|
+
* ([see example]({% slug layout_gridlayout %}#toc-gaps)).
|
|
8546
|
+
*/
|
|
8547
|
+
this.gap = 0;
|
|
8548
|
+
this._align = {
|
|
8549
|
+
horizontal: 'stretch',
|
|
8550
|
+
vertical: 'stretch'
|
|
8551
|
+
};
|
|
8552
|
+
validatePackage(packageMetadata);
|
|
8553
|
+
}
|
|
8554
|
+
get dir() {
|
|
8555
|
+
return this.direction;
|
|
8556
|
+
}
|
|
8557
|
+
/**
|
|
8558
|
+
* Specifies the horizontal and vertical alignment of the inner GridLayout elements
|
|
8559
|
+
* ([see example]({% slug layout_gridlayout %}#toc-alignment)).
|
|
8560
|
+
*/
|
|
8561
|
+
set align(align) {
|
|
8562
|
+
this._align = Object.assign({}, this._align, align);
|
|
8563
|
+
this.handleAlignClasses();
|
|
8564
|
+
}
|
|
8565
|
+
get align() {
|
|
8566
|
+
return this._align;
|
|
8567
|
+
}
|
|
8568
|
+
ngAfterViewInit() {
|
|
8569
|
+
this.handleAlignClasses();
|
|
8570
|
+
this.handleGridTemplateStyling('rows');
|
|
8571
|
+
this.handleGridTemplateStyling('cols');
|
|
8572
|
+
this.setGap();
|
|
8573
|
+
}
|
|
8574
|
+
ngOnChanges(changes) {
|
|
8575
|
+
if (isChanged('gap', changes)) {
|
|
8576
|
+
this.setGap();
|
|
8577
|
+
}
|
|
8578
|
+
if (isChanged('rows', changes)) {
|
|
8579
|
+
this.handleGridTemplateStyling('rows');
|
|
8580
|
+
}
|
|
8581
|
+
if (isChanged('cols', changes)) {
|
|
8582
|
+
this.handleGridTemplateStyling('cols');
|
|
8583
|
+
}
|
|
8584
|
+
}
|
|
8585
|
+
handleAlignClasses() {
|
|
8586
|
+
const elem = this.element.nativeElement;
|
|
8587
|
+
if (isPresent(this.justifyClass)) {
|
|
8588
|
+
this.renderer.removeClass(elem, this.justifyClass);
|
|
8589
|
+
}
|
|
8590
|
+
if (isPresent(this.alignClass)) {
|
|
8591
|
+
this.renderer.removeClass(elem, this.alignClass);
|
|
8592
|
+
}
|
|
8593
|
+
this.justifyClass = `${GRID_JUSTIFY_PREFIX}-${this.align.horizontal}`;
|
|
8594
|
+
this.alignClass = `${ALIGN_PREFIX}-${VERTICAL_SUFFIX[this.align.vertical]}`;
|
|
8595
|
+
this.renderer.addClass(elem, this.justifyClass);
|
|
8596
|
+
this.renderer.addClass(elem, this.alignClass);
|
|
8597
|
+
}
|
|
8598
|
+
setGap() {
|
|
8599
|
+
let parsedGap = normalizeGap(this.gap);
|
|
8600
|
+
let gapStyle = generateGapStyle(parsedGap);
|
|
8601
|
+
this.renderer.setStyle(this.element.nativeElement, 'gap', gapStyle);
|
|
8602
|
+
}
|
|
8603
|
+
handleGridTemplateStyling(type) {
|
|
8604
|
+
if (!isPresent(this[type])) {
|
|
8605
|
+
return;
|
|
8606
|
+
}
|
|
8607
|
+
const isValid = validateGridLayoutRowsCols(this[type]);
|
|
8608
|
+
if (!isValid && isDevMode()) {
|
|
8609
|
+
const valueType = type === 'rows' ? 'GridLayoutRowSize' : 'GridLayoutColSize';
|
|
8610
|
+
throw new Error(`The provided ${type} value contains invalid elements. The array supports values of type number, string or ${valueType}.`);
|
|
8611
|
+
}
|
|
8612
|
+
const gridTemplateStyle = type === 'rows' ? 'grid-template-rows' : 'grid-template-columns';
|
|
8613
|
+
const gridStyle = generateGridStyle(this[type], type);
|
|
8614
|
+
this.renderer.setStyle(this.element.nativeElement, gridTemplateStyle, gridStyle.join(' '));
|
|
8615
|
+
}
|
|
8616
|
+
get direction() {
|
|
8617
|
+
return this.localization.rtl ? 'rtl' : 'ltr';
|
|
8618
|
+
}
|
|
8619
|
+
};
|
|
8620
|
+
__decorate([
|
|
8621
|
+
HostBinding('class.k-grid-layout'),
|
|
8622
|
+
__metadata("design:type", Boolean)
|
|
8623
|
+
], GridLayoutComponent.prototype, "hostClass", void 0);
|
|
8624
|
+
__decorate([
|
|
8625
|
+
HostBinding('attr.dir'),
|
|
8626
|
+
__metadata("design:type", String),
|
|
8627
|
+
__metadata("design:paramtypes", [])
|
|
8628
|
+
], GridLayoutComponent.prototype, "dir", null);
|
|
8629
|
+
__decorate([
|
|
8630
|
+
Input(),
|
|
8631
|
+
__metadata("design:type", Array)
|
|
8632
|
+
], GridLayoutComponent.prototype, "rows", void 0);
|
|
8633
|
+
__decorate([
|
|
8634
|
+
Input(),
|
|
8635
|
+
__metadata("design:type", Array)
|
|
8636
|
+
], GridLayoutComponent.prototype, "cols", void 0);
|
|
8637
|
+
__decorate([
|
|
8638
|
+
Input(),
|
|
8639
|
+
__metadata("design:type", Object)
|
|
8640
|
+
], GridLayoutComponent.prototype, "gap", void 0);
|
|
8641
|
+
__decorate([
|
|
8642
|
+
Input(),
|
|
8643
|
+
__metadata("design:type", Object),
|
|
8644
|
+
__metadata("design:paramtypes", [Object])
|
|
8645
|
+
], GridLayoutComponent.prototype, "align", null);
|
|
8646
|
+
GridLayoutComponent = __decorate([
|
|
8647
|
+
Component({
|
|
8648
|
+
exportAs: 'kendoGridLayout',
|
|
8649
|
+
selector: 'kendo-gridlayout',
|
|
8650
|
+
providers: [
|
|
8651
|
+
LocalizationService,
|
|
8652
|
+
{
|
|
8653
|
+
provide: L10N_PREFIX,
|
|
8654
|
+
useValue: 'kendo.gridlayout'
|
|
8655
|
+
}
|
|
8656
|
+
],
|
|
8657
|
+
template: `
|
|
8658
|
+
<ng-content></ng-content>
|
|
8659
|
+
`
|
|
8660
|
+
}),
|
|
8661
|
+
__metadata("design:paramtypes", [Renderer2,
|
|
8662
|
+
ElementRef,
|
|
8663
|
+
LocalizationService])
|
|
8664
|
+
], GridLayoutComponent);
|
|
8665
|
+
|
|
8666
|
+
let GridLayoutItemComponent = class GridLayoutItemComponent {
|
|
8667
|
+
constructor(renderer, element) {
|
|
8668
|
+
this.renderer = renderer;
|
|
8669
|
+
this.element = element;
|
|
8670
|
+
}
|
|
8671
|
+
ngOnInit() {
|
|
8672
|
+
this.setItemStyle();
|
|
8673
|
+
}
|
|
8674
|
+
ngOnChanges() {
|
|
8675
|
+
this.setItemStyle();
|
|
8676
|
+
}
|
|
8677
|
+
setItemStyle() {
|
|
8678
|
+
const row = this.row || 'auto';
|
|
8679
|
+
const col = this.col || 'auto';
|
|
8680
|
+
const rowSpan = this.rowSpan ? `span ${this.rowSpan}` : 'auto';
|
|
8681
|
+
const colSpan = this.colSpan ? `span ${this.colSpan}` : 'auto';
|
|
8682
|
+
const gridAreaStyle = `${row} / ${col} / ${rowSpan} / ${colSpan}`;
|
|
8683
|
+
this.renderer.setStyle(this.element.nativeElement, 'grid-area', gridAreaStyle);
|
|
8684
|
+
}
|
|
8685
|
+
};
|
|
8686
|
+
__decorate([
|
|
8687
|
+
Input(),
|
|
8688
|
+
__metadata("design:type", Number)
|
|
8689
|
+
], GridLayoutItemComponent.prototype, "row", void 0);
|
|
8690
|
+
__decorate([
|
|
8691
|
+
Input(),
|
|
8692
|
+
__metadata("design:type", Number)
|
|
8693
|
+
], GridLayoutItemComponent.prototype, "col", void 0);
|
|
8694
|
+
__decorate([
|
|
8695
|
+
Input(),
|
|
8696
|
+
__metadata("design:type", Number)
|
|
8697
|
+
], GridLayoutItemComponent.prototype, "rowSpan", void 0);
|
|
8698
|
+
__decorate([
|
|
8699
|
+
Input(),
|
|
8700
|
+
__metadata("design:type", Number)
|
|
8701
|
+
], GridLayoutItemComponent.prototype, "colSpan", void 0);
|
|
8702
|
+
GridLayoutItemComponent = __decorate([
|
|
8703
|
+
Component({
|
|
8704
|
+
selector: 'kendo-gridlayout-item',
|
|
8705
|
+
template: `
|
|
8706
|
+
<ng-content></ng-content>
|
|
8707
|
+
`
|
|
8708
|
+
}),
|
|
8709
|
+
__metadata("design:paramtypes", [Renderer2,
|
|
8710
|
+
ElementRef])
|
|
8711
|
+
], GridLayoutItemComponent);
|
|
8712
|
+
|
|
8713
|
+
const exportedModules$a = [
|
|
8714
|
+
GridLayoutComponent,
|
|
8715
|
+
GridLayoutItemComponent
|
|
8716
|
+
];
|
|
8717
|
+
const declarations$a = [
|
|
8718
|
+
...exportedModules$a
|
|
8719
|
+
];
|
|
8720
|
+
/**
|
|
8721
|
+
* Represents the [NgModule]({{ site.data.urls.angular['ngmoduleapi'] }})
|
|
8722
|
+
* definition for the GridLayout component.
|
|
8723
|
+
*/
|
|
8724
|
+
let GridLayoutModule = class GridLayoutModule {
|
|
8725
|
+
};
|
|
8726
|
+
GridLayoutModule = __decorate([
|
|
8727
|
+
NgModule({
|
|
8728
|
+
declarations: [declarations$a],
|
|
8729
|
+
exports: [exportedModules$a],
|
|
8730
|
+
imports: [CommonModule]
|
|
8731
|
+
})
|
|
8732
|
+
], GridLayoutModule);
|
|
8733
|
+
|
|
8271
8734
|
/**
|
|
8272
8735
|
* Represents the [NgModule]({{ site.data.urls.angular['ngmoduleapi'] }})
|
|
8273
8736
|
* definition for the Layout components.
|
|
@@ -8312,7 +8775,9 @@ LayoutModule = __decorate([
|
|
|
8312
8775
|
SplitterModule,
|
|
8313
8776
|
StepperModule,
|
|
8314
8777
|
TabStripModule,
|
|
8315
|
-
TileLayoutModule
|
|
8778
|
+
TileLayoutModule,
|
|
8779
|
+
StackLayoutModule,
|
|
8780
|
+
GridLayoutModule
|
|
8316
8781
|
]
|
|
8317
8782
|
})
|
|
8318
8783
|
], LayoutModule);
|
|
@@ -8321,4 +8786,4 @@ LayoutModule = __decorate([
|
|
|
8321
8786
|
* Generated bundle index. Do not edit.
|
|
8322
8787
|
*/
|
|
8323
8788
|
|
|
8324
|
-
export { PreventableEvent$1 as PreventableEvent, DrawerService, DrawerItemComponent, DrawerListComponent, DRAWER_ITEM_INDEX, PanelBarService, SplitterBarComponent, SplitterService, StepperListComponent, StepperMessages, STEPPER_STEP_INDEX, StepperStepComponent, StepperService, TabStripMessages, TabComponent, TabStripScrollableButtonComponent, ScrollService, TabStripService, TileLayoutDraggingService, PreventableEvent$2 as PreventableEvent$1, TileLayoutResizeHandleDirective, PanelBarComponent, PanelBarItemComponent, PanelBarContentDirective, PanelBarItemTemplateDirective, PanelBarItemTitleDirective, PanelBarExpandMode, SplitterComponent, SplitterPaneComponent, TabStripComponent, TabStripTabComponent, TabContentDirective, TabTitleDirective, LocalizedTabStripMessagesDirective, TabStripCustomMessagesComponent, DrawerComponent, DrawerContainerComponent, DrawerContentComponent, DrawerSelectEvent, StepperComponent, StepperActivateEvent, StepperCustomMessagesComponent, LocalizedStepperMessagesDirective, AvatarComponent, CardComponent, CardHeaderComponent, CardBodyComponent, CardFooterComponent, CardActionsComponent, CardSeparatorDirective, CardTitleDirective, CardSubtitleDirective, CardMediaDirective, CardAction, ExpansionPanelComponent, ExpansionPanelTitleDirective, ExpansionPanelActionEvent, TileLayoutComponent, TileLayoutItemComponent, TileLayoutItemBodyComponent, TileLayoutItemHeaderComponent, TileLayoutReorderEvent, TileLayoutResizeEvent, AvatarModule, CardModule, DrawerModule, LayoutModule, PanelBarModule, SplitterModule, StepperModule, TabStripModule, ExpansionPanelModule, TileLayoutModule, TabCloseEvent, SelectEvent, DrawerTemplateDirective, DrawerItemTemplateDirective, DrawerHeaderTemplateDirective, DrawerFooterTemplateDirective, StepperIndicatorTemplateDirective, StepperLabelTemplateDirective, StepperStepTemplateDirective };
|
|
8789
|
+
export { PreventableEvent$1 as PreventableEvent, DrawerService, DrawerItemComponent, DrawerListComponent, DRAWER_ITEM_INDEX, PanelBarService, SplitterBarComponent, SplitterService, StepperListComponent, StepperMessages, STEPPER_STEP_INDEX, StepperStepComponent, StepperService, TabStripMessages, TabComponent, TabStripScrollableButtonComponent, ScrollService, TabStripService, TileLayoutDraggingService, PreventableEvent$2 as PreventableEvent$1, TileLayoutResizeHandleDirective, PanelBarComponent, PanelBarItemComponent, PanelBarContentDirective, PanelBarItemTemplateDirective, PanelBarItemTitleDirective, PanelBarExpandMode, SplitterComponent, SplitterPaneComponent, TabStripComponent, TabStripTabComponent, TabContentDirective, TabTitleDirective, LocalizedTabStripMessagesDirective, TabStripCustomMessagesComponent, DrawerComponent, DrawerContainerComponent, DrawerContentComponent, DrawerSelectEvent, StepperComponent, StepperActivateEvent, StepperCustomMessagesComponent, LocalizedStepperMessagesDirective, AvatarComponent, CardComponent, CardHeaderComponent, CardBodyComponent, CardFooterComponent, CardActionsComponent, CardSeparatorDirective, CardTitleDirective, CardSubtitleDirective, CardMediaDirective, CardAction, ExpansionPanelComponent, ExpansionPanelTitleDirective, ExpansionPanelActionEvent, TileLayoutComponent, TileLayoutItemComponent, TileLayoutItemBodyComponent, TileLayoutItemHeaderComponent, TileLayoutReorderEvent, TileLayoutResizeEvent, AvatarModule, CardModule, DrawerModule, LayoutModule, PanelBarModule, SplitterModule, StepperModule, TabStripModule, ExpansionPanelModule, TileLayoutModule, StackLayoutModule, GridLayoutModule, StackLayoutComponent, GridLayoutComponent, GridLayoutItemComponent, TabCloseEvent, SelectEvent, DrawerTemplateDirective, DrawerItemTemplateDirective, DrawerHeaderTemplateDirective, DrawerFooterTemplateDirective, StepperIndicatorTemplateDirective, StepperLabelTemplateDirective, StepperStepTemplateDirective };
|