@coolon/angular-ui-powerups 1.20.0 → 1.21.0
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/CHANGELOG.md +12 -0
- package/bundles/coolon-angular-ui-powerups.umd.js +70 -35
- package/bundles/coolon-angular-ui-powerups.umd.js.map +1 -1
- package/bundles/coolon-angular-ui-powerups.umd.min.js +2 -2
- package/bundles/coolon-angular-ui-powerups.umd.min.js.map +1 -1
- package/coolon-angular-ui-powerups.metadata.json +1 -1
- package/esm2015/lib/components/components.module.js +3 -1
- package/esm2015/lib/components/components.module.js.map +1 -1
- package/esm2015/lib/components/components.module.metadata.json +1 -1
- package/esm2015/lib/components/components.module.ngfactory.js.map +1 -1
- package/esm2015/lib/components/icon/icon.component.js +21 -23
- package/esm2015/lib/components/icon/icon.component.js.map +1 -1
- package/esm2015/lib/components/icon/icon.component.metadata.json +1 -1
- package/esm2015/lib/components/table/table-model.js +20 -0
- package/esm2015/lib/components/table/table-model.js.map +1 -1
- package/esm2015/lib/components/table/table-model.metadata.json +1 -1
- package/esm2015/lib/components/table/table.component.js +1 -1
- package/esm2015/lib/components/table/table.component.js.map +1 -1
- package/esm2015/lib/components/table/table.component.metadata.json +1 -1
- package/esm2015/lib/interaction/components/add-item-interaction-context/add-item-interaction-context.component.js +10 -1
- package/esm2015/lib/interaction/components/add-item-interaction-context/add-item-interaction-context.component.js.map +1 -1
- package/esm2015/lib/interaction/components/add-item-interaction-context/add-item-interaction-context.component.metadata.json +1 -1
- package/esm2015/lib/place/components/side-place-navigation/side-place-navigation.component.js +1 -1
- package/esm2015/lib/place/components/side-place-navigation/side-place-navigation.component.js.map +1 -1
- package/esm2015/lib/place/components/side-place-navigation/side-place-navigation.component.metadata.json +1 -1
- package/esm2015/lib/place/place.module.ngfactory.js.map +1 -1
- package/esm5/lib/components/components.module.js +3 -1
- package/esm5/lib/components/components.module.js.map +1 -1
- package/esm5/lib/components/components.module.ngfactory.js.map +1 -1
- package/esm5/lib/components/icon/icon.component.js +30 -27
- package/esm5/lib/components/icon/icon.component.js.map +1 -1
- package/esm5/lib/components/table/table-model.js +22 -0
- package/esm5/lib/components/table/table-model.js.map +1 -1
- package/esm5/lib/components/table/table.component.js +1 -1
- package/esm5/lib/components/table/table.component.js.map +1 -1
- package/esm5/lib/interaction/components/add-item-interaction-context/add-item-interaction-context.component.js +10 -1
- package/esm5/lib/interaction/components/add-item-interaction-context/add-item-interaction-context.component.js.map +1 -1
- package/esm5/lib/place/components/side-place-navigation/side-place-navigation.component.js +1 -1
- package/esm5/lib/place/components/side-place-navigation/side-place-navigation.component.js.map +1 -1
- package/esm5/lib/place/place.module.ngfactory.js.map +1 -1
- package/fesm2015/coolon-angular-ui-powerups.js +56 -28
- package/fesm2015/coolon-angular-ui-powerups.js.map +1 -1
- package/fesm5/coolon-angular-ui-powerups.js +67 -32
- package/fesm5/coolon-angular-ui-powerups.js.map +1 -1
- package/lib/components/icon/icon.component.d.ts +6 -7
- package/lib/components/table/table-model.d.ts +3 -0
- package/lib/interaction/components/add-item-interaction-context/add-item-interaction-context.component.d.ts +9 -0
- package/package.json +1 -1
|
@@ -20,6 +20,7 @@ import ___default, { isEqual, isNil } from 'lodash';
|
|
|
20
20
|
import produce from 'immer';
|
|
21
21
|
import { FaIconLibrary, FontAwesomeModule } from '@fortawesome/angular-fontawesome';
|
|
22
22
|
import { fas } from '@fortawesome/free-solid-svg-icons';
|
|
23
|
+
import { MatTooltipModule } from '@angular/material/tooltip';
|
|
23
24
|
import { FlexModule, GridModule } from '@angular/flex-layout';
|
|
24
25
|
import { MatDialogModule, MatDialog, MatDialogConfig, MAT_DIALOG_DEFAULT_OPTIONS } from '@angular/material/dialog';
|
|
25
26
|
import { RouterModule, UrlSegment, Router, UrlSerializer, NavigationStart, NavigationEnd, NavigationError, NavigationCancel, RouterOutlet } from '@angular/router';
|
|
@@ -27,7 +28,6 @@ import { Overlay, CdkScrollable } from '@angular/cdk/overlay';
|
|
|
27
28
|
import ResizeObserver from 'resize-observer-polyfill';
|
|
28
29
|
import { MatProgressSpinnerModule } from '@angular/material/progress-spinner';
|
|
29
30
|
import { MatListModule } from '@angular/material/list';
|
|
30
|
-
import { MatTooltipModule } from '@angular/material/tooltip';
|
|
31
31
|
import { Memoize as Memoize$1 } from '@typescript-plus/fast-memoize-decorator';
|
|
32
32
|
import 'reflect-metadata';
|
|
33
33
|
import { style, query, group, animate, trigger, transition } from '@angular/animations';
|
|
@@ -1679,6 +1679,13 @@ var SelectionColumnModel = /** @class */ (function (_super) {
|
|
|
1679
1679
|
|
|
1680
1680
|
// export type StringPropertiesOf<T> = { [K in keyof T]: T[K] extends string ? K : never }[keyof T];
|
|
1681
1681
|
// export type NumberPropertiesOf<T> = { [K in keyof T]: T[K] extends number ? K : never }[keyof T];
|
|
1682
|
+
var RowClass = /** @class */ (function () {
|
|
1683
|
+
function RowClass(className, matches) {
|
|
1684
|
+
this.className = className;
|
|
1685
|
+
this.matches = matches;
|
|
1686
|
+
}
|
|
1687
|
+
return RowClass;
|
|
1688
|
+
}());
|
|
1682
1689
|
/**
|
|
1683
1690
|
* Example:
|
|
1684
1691
|
* @example
|
|
@@ -1751,10 +1758,12 @@ var SelectionColumnModel = /** @class */ (function (_super) {
|
|
|
1751
1758
|
*/
|
|
1752
1759
|
var TableModel = /** @class */ (function () {
|
|
1753
1760
|
function TableModel(sourceOfTruth) {
|
|
1761
|
+
var _this = this;
|
|
1754
1762
|
this.sourceOfTruth = sourceOfTruth;
|
|
1755
1763
|
this._garbage = new GarbageCollector();
|
|
1756
1764
|
this._columns = new MutableListModel();
|
|
1757
1765
|
this._editorSessions = new MutableListModel();
|
|
1766
|
+
this.rowClassNamePredicates = [];
|
|
1758
1767
|
this._createForm = function (row) { return new Form(); };
|
|
1759
1768
|
this.identityOf = sourceOfTruth.identityOf;
|
|
1760
1769
|
var _a = Dsl.disposeWith(this._garbage), chain = _a.chain, valueOf = _a.valueOf, before = _a.before, when = _a.when, after = _a.after, observe = _a.observe, switchOn = _a.switchOn;
|
|
@@ -1767,6 +1776,7 @@ var TableModel = /** @class */ (function () {
|
|
|
1767
1776
|
this.dataSource = chain(this.sourceOfTruth).replaceAll(this.rowsBeingEdited);
|
|
1768
1777
|
this.firstEditableColumn = chain(this.columns).select(function (c) { return c.hasEditorPortal(); }).first();
|
|
1769
1778
|
this.hasColumnsWithRowSelectionExplicitlyEnabled = chain(this._columns).findIndex(function (column) { return column.isRowSelectionExplicitlyEnabled(); }).isGreaterThanOrEqualTo(0);
|
|
1779
|
+
this.addRowClass("enable-hover", function () { return _this.isRowSelectionEnabled(); });
|
|
1770
1780
|
}
|
|
1771
1781
|
TableModel_1 = TableModel;
|
|
1772
1782
|
TableModel.fromList = function (sourceOfTruth, builder) {
|
|
@@ -1815,6 +1825,18 @@ var TableModel = /** @class */ (function () {
|
|
|
1815
1825
|
TableModel.prototype.addTemplateColumn = function (columnId) {
|
|
1816
1826
|
return this.addColumn(new CustomTemplateColumnModel(columnId, this));
|
|
1817
1827
|
};
|
|
1828
|
+
TableModel.prototype.addRowClass = function (className, predicate) {
|
|
1829
|
+
this.rowClassNamePredicates.push(new RowClass(className, predicate));
|
|
1830
|
+
};
|
|
1831
|
+
TableModel.prototype.getRowClasses = function (row) {
|
|
1832
|
+
var classNames = [];
|
|
1833
|
+
this.rowClassNamePredicates.forEach(function (i) {
|
|
1834
|
+
if (i.matches(row)) {
|
|
1835
|
+
classNames.push(i.className);
|
|
1836
|
+
}
|
|
1837
|
+
});
|
|
1838
|
+
return classNames;
|
|
1839
|
+
};
|
|
1818
1840
|
TableModel.prototype.useFormFactory = function (factory) {
|
|
1819
1841
|
this._createForm = factory;
|
|
1820
1842
|
return this;
|
|
@@ -1951,7 +1973,7 @@ var TableComponent = /** @class */ (function (_super) {
|
|
|
1951
1973
|
TableComponent = __decorate([
|
|
1952
1974
|
Component({
|
|
1953
1975
|
selector: 'aup-table',
|
|
1954
|
-
template: "<table mat-table [dataSource]=\"tableModel.dataSource.value\" [trackBy]=\"tableModel.getTrackByFunction()\">\n\n <ng-container *ngFor=\"let column of columns.value; index as index; first as first; last as last\" matColumnDef=\"{{column.columnId}}\">\n <th mat-header-cell *matHeaderCellDef>\n <aup-table-header-cell-renderer [column]=\"column\"\n [attr.column-index]=\"index\"\n [class.first-column]=\"first\"\n [class.last-column]=\"last\"\n ></aup-table-header-cell-renderer>\n </th>\n <td mat-cell *matCellDef=\"let row\" (click)=\"onCellClicked(column, row)\" [class.enable-cursor]=\"tableModel.isRowSelectionEnabledFor(column)\">\n <aup-table-cell-renderer [column]=\"column\"\n [row]=\"row\"\n [tableModel]=\"tableModel\"\n [editSession]=\"tableModel.getEditSessionFor(row)\"\n [attr.column-index]=\"index\"\n [class.first-column]=\"first\"\n [class.last-column]=\"last\"\n ></aup-table-cell-renderer>\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"columnIds.value\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: columnIds.value;\"
|
|
1976
|
+
template: "<table mat-table [dataSource]=\"tableModel.dataSource.value\" [trackBy]=\"tableModel.getTrackByFunction()\">\n\n <ng-container *ngFor=\"let column of columns.value; index as index; first as first; last as last\" matColumnDef=\"{{column.columnId}}\">\n <th mat-header-cell *matHeaderCellDef>\n <aup-table-header-cell-renderer [column]=\"column\"\n [attr.column-index]=\"index\"\n [class.first-column]=\"first\"\n [class.last-column]=\"last\"\n ></aup-table-header-cell-renderer>\n </th>\n <td mat-cell *matCellDef=\"let row\" (click)=\"onCellClicked(column, row)\" [class.enable-cursor]=\"tableModel.isRowSelectionEnabledFor(column)\">\n <aup-table-cell-renderer [column]=\"column\"\n [row]=\"row\"\n [tableModel]=\"tableModel\"\n [editSession]=\"tableModel.getEditSessionFor(row)\"\n [attr.column-index]=\"index\"\n [class.first-column]=\"first\"\n [class.last-column]=\"last\"\n ></aup-table-cell-renderer>\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"columnIds.value\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: columnIds.value;\"\n [ngClass]=\"tableModel.getRowClasses(row)\"\n ></tr>\n\n</table>\n",
|
|
1955
1977
|
styles: [":host{display:flex;flex-direction:column;align-items:stretch}:host table{flex:1}"]
|
|
1956
1978
|
}),
|
|
1957
1979
|
__metadata("design:paramtypes", [])
|
|
@@ -2274,38 +2296,41 @@ var MultipleSelectInputComponent = /** @class */ (function (_super) {
|
|
|
2274
2296
|
var IconComponent = /** @class */ (function () {
|
|
2275
2297
|
function IconComponent() {
|
|
2276
2298
|
}
|
|
2277
|
-
IconComponent.prototype
|
|
2278
|
-
|
|
2279
|
-
return this.
|
|
2280
|
-
}
|
|
2281
|
-
|
|
2282
|
-
|
|
2283
|
-
|
|
2284
|
-
|
|
2285
|
-
|
|
2286
|
-
|
|
2287
|
-
|
|
2288
|
-
|
|
2289
|
-
|
|
2290
|
-
|
|
2291
|
-
|
|
2292
|
-
|
|
2293
|
-
|
|
2294
|
-
|
|
2295
|
-
|
|
2296
|
-
|
|
2297
|
-
|
|
2299
|
+
Object.defineProperty(IconComponent.prototype, "icon", {
|
|
2300
|
+
get: function () {
|
|
2301
|
+
return this._icon;
|
|
2302
|
+
},
|
|
2303
|
+
set: function (iconName) {
|
|
2304
|
+
this._icon = iconName;
|
|
2305
|
+
if (!iconName) {
|
|
2306
|
+
this.errorMessage = 'icon is nil';
|
|
2307
|
+
this.prefix = undefined;
|
|
2308
|
+
return;
|
|
2309
|
+
}
|
|
2310
|
+
var colonIndex = iconName.indexOf(':');
|
|
2311
|
+
if (colonIndex > 0) {
|
|
2312
|
+
this.prefix = this.icon.slice(0, colonIndex);
|
|
2313
|
+
this.suffix = this.icon.slice(colonIndex + 1);
|
|
2314
|
+
}
|
|
2315
|
+
if (this.prefix) {
|
|
2316
|
+
this.errorMessage = "Unknown icon \"" + iconName + "\"";
|
|
2317
|
+
}
|
|
2318
|
+
this.errorMessage = "Unknown icon prefix \"" + this.prefix + "\"";
|
|
2319
|
+
},
|
|
2320
|
+
enumerable: true,
|
|
2321
|
+
configurable: true
|
|
2322
|
+
});
|
|
2298
2323
|
__decorate([
|
|
2299
2324
|
Input(),
|
|
2300
|
-
__metadata("design:type", String)
|
|
2301
|
-
|
|
2325
|
+
__metadata("design:type", String),
|
|
2326
|
+
__metadata("design:paramtypes", [String])
|
|
2327
|
+
], IconComponent.prototype, "icon", null);
|
|
2302
2328
|
IconComponent = __decorate([
|
|
2303
2329
|
Component({
|
|
2304
2330
|
selector: 'aup-icon',
|
|
2305
|
-
template: "<mat-icon *
|
|
2306
|
-
styles: [":host{display:inline-flex;width:24px}fa-icon{
|
|
2307
|
-
})
|
|
2308
|
-
__metadata("design:paramtypes", [])
|
|
2331
|
+
template: "<ng-container [ngSwitch]=\"prefix\">\n\n <mat-icon *ngSwitchCase=\"'svg'\"\n [svgIcon]=\"suffix\"\n class=\"svgIcon\">\n </mat-icon>\n\n <mat-icon *ngSwitchCase=\"'mat'\">\n {{suffix}}\n </mat-icon>\n\n <div *ngSwitchCase=\"'fab'\"\n class=\"faIconWrapper\">\n <fa-icon [icon]=\"suffix\">\n </fa-icon>\n </div>\n\n <mat-icon *ngSwitchDefault\n [matTooltip]=\"errorMessage\">\n bug_report\n </mat-icon>\n\n</ng-container>\n\n",
|
|
2332
|
+
styles: [":host{display:inline-flex;width:24px}fa-icon{vertical-align:middle}.faIconWrapper{text-align:center;width:24px;height:24px}.svgIcon{width:24px;height:24px}:host(.mat-chip-remove) mat-icon{font-size:18px}mat-icon{width:inherit;height:inherit}"]
|
|
2333
|
+
})
|
|
2309
2334
|
], IconComponent);
|
|
2310
2335
|
return IconComponent;
|
|
2311
2336
|
}());
|
|
@@ -2366,7 +2391,8 @@ var ComponentsModule = /** @class */ (function () {
|
|
|
2366
2391
|
MatTableModule,
|
|
2367
2392
|
PortalModule,
|
|
2368
2393
|
CdkScrollableModule,
|
|
2369
|
-
FontAwesomeModule
|
|
2394
|
+
FontAwesomeModule,
|
|
2395
|
+
MatTooltipModule
|
|
2370
2396
|
],
|
|
2371
2397
|
exports: [
|
|
2372
2398
|
NumberInputComponent,
|
|
@@ -3259,6 +3285,15 @@ var InPlaceInteractionContextComponent = /** @class */ (function (_super) {
|
|
|
3259
3285
|
return InPlaceInteractionContextComponent;
|
|
3260
3286
|
}(DisposableComponent));
|
|
3261
3287
|
|
|
3288
|
+
/**
|
|
3289
|
+
* Css Vars.
|
|
3290
|
+
* --link-color
|
|
3291
|
+
* --link-color-hover
|
|
3292
|
+
* --link-background
|
|
3293
|
+
* --link-background-hover
|
|
3294
|
+
* --link-border-radius
|
|
3295
|
+
* --link-padding
|
|
3296
|
+
*/
|
|
3262
3297
|
var AddItemInteractionContextComponent = /** @class */ (function (_super) {
|
|
3263
3298
|
__extends(AddItemInteractionContextComponent, _super);
|
|
3264
3299
|
function AddItemInteractionContextComponent() {
|
|
@@ -3327,7 +3362,7 @@ var AddItemInteractionContextComponent = /** @class */ (function (_super) {
|
|
|
3327
3362
|
Component({
|
|
3328
3363
|
selector: 'aup-add-item-interaction-context',
|
|
3329
3364
|
template: "<aup-in-place-interaction-context [animateFirstActivity]=\"false\">\n <a part=\"link\" class=\"link\" [pectinCommand]=\"clickCommand\"><aup-icon [icon]=\"icon\"></aup-icon> {{label}}</a>\n</aup-in-place-interaction-context>\n",
|
|
3330
|
-
styles: [":host{--def-link-color:var(--link-color, currentColor);--def-link-color-hover:var(--link-color-hover, currentColor);--def-link-
|
|
3365
|
+
styles: [":host{--def-link-color:var(--link-color, currentColor);--def-link-color-hover:var(--link-color-hover, currentColor);--def-link-background:var(--link-background, transparent);--def-link-background-hover:var(--link-background-hover, rgba(0, 0, 0, 0.05));--def-link-border-radius:var(--link-border-radius, 4px);--def-link-padding:var(--link-padding, calc(var(--aup-default-padding) / 2));display:flex;flex-direction:column;border-radius:var(--def-link-border-radius);box-sizing:border-box;outline:0}:host:hover a.link{color:var(--def-link-color-hover);background-color:var(--def-link-background-hover)}aup-in-place-interaction-context{border-radius:var(--def-link-border-radius)}a.link{display:flex;flex-direction:row;align-items:center;border-radius:var(--def-link-border-radius);color:var(--def-link-color);background:var(--def-link-background);padding:var(--def-link-padding);cursor:pointer;text-decoration:none}a.link mat-icon{margin-right:8px}"]
|
|
3331
3366
|
}),
|
|
3332
3367
|
__metadata("design:paramtypes", [])
|
|
3333
3368
|
], AddItemInteractionContextComponent);
|
|
@@ -6050,7 +6085,7 @@ var SidePlaceNavigationComponent = /** @class */ (function (_super) {
|
|
|
6050
6085
|
SidePlaceNavigationComponent = __decorate([
|
|
6051
6086
|
Component({
|
|
6052
6087
|
selector: 'aup-side-place-navigation',
|
|
6053
|
-
template: "<mat-nav-list>\n <a mat-list-item (click)=\"toggleMenu()\" class=\"home\">\n <aup-icon class=\"collapsed-only\" icon=\"menu\"></aup-icon>\n <aup-icon class=\"expanded-only\" icon=\"arrow_back\"></aup-icon>\n <span class=\"expanded-only\">Menu</span>\n </a>\n <a mat-list-item *ngFor=\"let placeDefinition of placeDefinitions.value\"\n [pectinCommand]=\"commandFactory.create(placeDefinition)\"\n [class.active]=\"isActive(placeDefinition)\"\n [matTooltip]=\"getNav(placeDefinition).tooltip()\">\n <aup-icon *ngIf=\"getNav(placeDefinition).icon()\" [icon]=\"getNav(placeDefinition).icon()\"></aup-icon>\n <span\n class=\"expanded-only\">{{getNav(placeDefinition).title()}}</span>\n </a>\n <span [style.flex]=\"1\"></span>\n <ng-container *ngIf=\"navEndTemplate\" [ngTemplateOutlet]=\"navEndTemplate\"></ng-container>\n</mat-nav-list>\n",
|
|
6088
|
+
template: "<mat-nav-list>\n <a mat-list-item (click)=\"toggleMenu()\" class=\"home\">\n <aup-icon class=\"collapsed-only\" icon=\"mat:menu\"></aup-icon>\n <aup-icon class=\"expanded-only\" icon=\"mat:arrow_back\"></aup-icon>\n <span class=\"expanded-only\">Menu</span>\n </a>\n <a mat-list-item *ngFor=\"let placeDefinition of placeDefinitions.value\"\n [pectinCommand]=\"commandFactory.create(placeDefinition)\"\n [class.active]=\"isActive(placeDefinition)\"\n [matTooltip]=\"getNav(placeDefinition).tooltip()\">\n <aup-icon *ngIf=\"getNav(placeDefinition).icon()\" [icon]=\"getNav(placeDefinition).icon()\"></aup-icon>\n <span\n class=\"expanded-only\">{{getNav(placeDefinition).title()}}</span>\n </a>\n <span [style.flex]=\"1\"></span>\n <ng-container *ngIf=\"navEndTemplate\" [ngTemplateOutlet]=\"navEndTemplate\"></ng-container>\n</mat-nav-list>\n",
|
|
6054
6089
|
styles: [":host{display:flex;flex-direction:column;--resolved-nav-item-width:var(--nav-width, 56px);--resolved-nav-item-height:var(--nav-item-height, var(--resolved-nav-item-width));--resolved-expanded-width:var(--nav-expanded-width, 235px);--resolved-color:var(--nav-color, rgba(255, 255, 255, 0.9));--resolved-background-color:var(--nav-background-color, #555);width:var(--resolved-nav-item-width);transition:width 125ms linear;background-color:var(--resolved-background-color);color:var(--resolved-color)}:host.expanded{width:var(--resolved-expanded-width);max-width:var(--resolved-expanded-width)}:host-context(.expanded) .expanded-only{max-width:100%}:host-context(.expanded) .collapsed-only{max-width:0}:host-context(.expanded) .mat-list-item aup-icon:not(.collapsed-only){margin-right:12px}:host-context(.expanded) .mat-list-item span{text-wrap:none;white-space:nowrap}.expanded-only{max-width:0;overflow:hidden}.collapsed-only{max-width:100%;overflow:hidden}mat-nav-list{flex:1;display:flex;flex-direction:column}.mat-list-item{width:var(--resolved-nav-item-width);height:var(--resolved-nav-item-height);color:inherit}.mat-list-item.active{background-color:#444}.mat-list-item.home{text-align:left}mat-icon{color:inherit}mat-icon.flip-horizontal{transform:scaleX(-1)}"]
|
|
6055
6090
|
}),
|
|
6056
6091
|
__metadata("design:paramtypes", [Router, PlaceRouter])
|