@ng-matero/extensions 10.16.1 → 10.16.5
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/alert/_alert-theme.scss +20 -20
- package/alert/alert.component.d.ts +4 -3
- package/alert/mtxAlert.metadata.json +1 -1
- package/bundles/mtxAlert.umd.js +3 -3
- package/bundles/mtxAlert.umd.js.map +1 -1
- package/bundles/mtxAlert.umd.min.js.map +1 -1
- package/bundles/{ng-matero-extensions-button.umd.js → mtxButton.umd.js} +2 -2
- package/bundles/mtxButton.umd.js.map +1 -0
- package/bundles/{ng-matero-extensions-button.umd.min.js → mtxButton.umd.min.js} +1 -1
- package/bundles/{ng-matero-extensions-button.umd.min.js.map → mtxButton.umd.min.js.map} +0 -0
- package/bundles/mtxCheckboxGroup.umd.js +87 -22
- package/bundles/mtxCheckboxGroup.umd.js.map +1 -1
- package/bundles/mtxCheckboxGroup.umd.min.js +1 -1
- package/bundles/mtxCheckboxGroup.umd.min.js.map +1 -1
- package/bundles/mtxColorPicker.umd.js +32 -5
- package/bundles/mtxColorPicker.umd.js.map +1 -1
- package/bundles/mtxColorPicker.umd.min.js +1 -1
- package/bundles/mtxColorPicker.umd.min.js.map +1 -1
- package/bundles/mtxDialog.umd.js +0 -2
- package/bundles/mtxDialog.umd.js.map +1 -1
- package/bundles/mtxDialog.umd.min.js +1 -1
- package/bundles/mtxDialog.umd.min.js.map +1 -1
- package/bundles/mtxFormGroup.umd.js +2 -0
- package/bundles/mtxFormGroup.umd.js.map +1 -1
- package/bundles/mtxFormGroup.umd.min.js +1 -1
- package/bundles/mtxFormGroup.umd.min.js.map +1 -1
- package/bundles/mtxGrid.umd.js +31 -101
- package/bundles/mtxGrid.umd.js.map +1 -1
- package/bundles/mtxGrid.umd.min.js +2 -2
- package/bundles/mtxGrid.umd.min.js.map +1 -1
- package/bundles/mtxLoader.umd.js +1 -1
- package/bundles/mtxLoader.umd.js.map +1 -1
- package/bundles/mtxLoader.umd.min.js +1 -1
- package/bundles/mtxLoader.umd.min.js.map +1 -1
- package/bundles/mtxProgress.umd.js +2 -2
- package/bundles/mtxProgress.umd.js.map +1 -1
- package/bundles/mtxProgress.umd.min.js.map +1 -1
- package/bundles/mtxSelect.umd.js +5 -1
- package/bundles/mtxSelect.umd.js.map +1 -1
- package/bundles/mtxSelect.umd.min.js +1 -1
- package/bundles/mtxSelect.umd.min.js.map +1 -1
- package/bundles/mtxTooltip.umd.js +1 -1
- package/bundles/mtxTooltip.umd.js.map +1 -1
- package/bundles/mtxTooltip.umd.min.js +1 -1
- package/bundles/mtxTooltip.umd.min.js.map +1 -1
- package/bundles/mtxUtils.umd.js.map +1 -1
- package/bundles/mtxUtils.umd.min.js.map +1 -1
- package/button/{ng-matero-extensions-button.d.ts → mtxButton.d.ts} +0 -0
- package/button/{ng-matero-extensions-button.metadata.json → mtxButton.metadata.json} +0 -0
- package/button/package.json +7 -7
- package/checkbox-group/checkbox-group.component.d.ts +15 -11
- package/checkbox-group/mtxCheckboxGroup.metadata.json +1 -1
- package/color-picker/color-picker.component.d.ts +10 -9
- package/color-picker/mtxColorPicker.metadata.json +1 -1
- package/data-grid/_grid-theme.scss +14 -32
- package/data-grid/cell.component.d.ts +2 -1
- package/data-grid/column-menu.component.d.ts +4 -3
- package/data-grid/grid.component.d.ts +7 -20
- package/data-grid/grid.component.scss +51 -5
- package/data-grid/grid.interface.d.ts +18 -36
- package/data-grid/mtxGrid.metadata.json +1 -1
- package/dialog/dialog.config.d.ts +3 -2
- package/dialog/mtxDialog.metadata.json +1 -1
- package/esm2015/alert/alert.component.js +4 -4
- package/esm2015/button/mtxButton.js +10 -0
- package/esm2015/checkbox-group/checkbox-group.component.js +77 -20
- package/esm2015/color-picker/color-picker.component.js +29 -6
- package/esm2015/data-grid/cell.component.js +2 -2
- package/esm2015/data-grid/column-menu.component.js +1 -2
- package/esm2015/data-grid/grid.component.js +32 -100
- package/esm2015/data-grid/grid.interface.js +12 -11
- package/esm2015/dialog/dialog.config.js +1 -1
- package/esm2015/dialog/dialog.js +1 -3
- package/esm2015/form-group/form-group.component.js +4 -2
- package/esm2015/loader/loader.component.js +2 -2
- package/esm2015/progress/progress.component.js +3 -3
- package/esm2015/select/select.component.js +6 -2
- package/esm2015/tooltip/tooltip.js +2 -2
- package/esm2015/utils/to-observable.pipe.js +1 -1
- package/fesm2015/mtxAlert.js +3 -3
- package/fesm2015/mtxAlert.js.map +1 -1
- package/fesm2015/{ng-matero-extensions-button.js → mtxButton.js} +2 -2
- package/fesm2015/mtxButton.js.map +1 -0
- package/fesm2015/mtxCheckboxGroup.js +76 -19
- package/fesm2015/mtxCheckboxGroup.js.map +1 -1
- package/fesm2015/mtxColorPicker.js +28 -5
- package/fesm2015/mtxColorPicker.js.map +1 -1
- package/fesm2015/mtxDialog.js +0 -2
- package/fesm2015/mtxDialog.js.map +1 -1
- package/fesm2015/mtxFormGroup.js +3 -1
- package/fesm2015/mtxFormGroup.js.map +1 -1
- package/fesm2015/mtxGrid.js +43 -111
- package/fesm2015/mtxGrid.js.map +1 -1
- package/fesm2015/mtxLoader.js +1 -1
- package/fesm2015/mtxLoader.js.map +1 -1
- package/fesm2015/mtxProgress.js +2 -2
- package/fesm2015/mtxProgress.js.map +1 -1
- package/fesm2015/mtxSelect.js +5 -1
- package/fesm2015/mtxSelect.js.map +1 -1
- package/fesm2015/mtxTooltip.js +1 -1
- package/fesm2015/mtxTooltip.js.map +1 -1
- package/fesm2015/mtxUtils.js.map +1 -1
- package/form-group/mtxFormGroup.metadata.json +1 -1
- package/loader/loader.component.d.ts +2 -1
- package/loader/mtxLoader.metadata.json +1 -1
- package/package.json +1 -1
- package/progress/mtxProgress.metadata.json +1 -1
- package/progress/progress.component.d.ts +3 -2
- package/select/_select-theme.scss +18 -18
- package/select/mtxSelect.metadata.json +1 -1
- package/select/select.component.d.ts +4 -1
- package/tooltip/mtxTooltip.metadata.json +1 -1
- package/utils/to-observable.pipe.d.ts +1 -1
- package/bundles/ng-matero-extensions-button.umd.js.map +0 -1
- package/esm2015/button/ng-matero-extensions-button.js +0 -10
- package/fesm2015/ng-matero-extensions-button.js.map +0 -1
package/alert/_alert-theme.scss
CHANGED
|
@@ -5,29 +5,29 @@
|
|
|
5
5
|
|
|
6
6
|
.mtx-alert-ref {
|
|
7
7
|
background-color: mat-color($background, card);
|
|
8
|
+
}
|
|
8
9
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
10
|
+
.mtx-alert-info .mtx-alert-ref {
|
|
11
|
+
background-color: mat-color($mat-blue, 500);
|
|
12
|
+
border-color: mat-color($mat-blue, 500);
|
|
13
|
+
color: white;
|
|
14
|
+
}
|
|
14
15
|
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
16
|
+
.mtx-alert-success .mtx-alert-ref {
|
|
17
|
+
background-color: mat-color($mat-green, 500);
|
|
18
|
+
border-color: mat-color($mat-green, 500);
|
|
19
|
+
color: white;
|
|
20
|
+
}
|
|
20
21
|
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
22
|
+
.mtx-alert-warning .mtx-alert-ref {
|
|
23
|
+
background-color: mat-color($mat-orange, 500);
|
|
24
|
+
border-color: mat-color($mat-orange, 500);
|
|
25
|
+
color: white;
|
|
26
|
+
}
|
|
26
27
|
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
}
|
|
28
|
+
.mtx-alert-danger .mtx-alert-ref {
|
|
29
|
+
background-color: mat-color($mat-red, 500);
|
|
30
|
+
border-color: mat-color($mat-red, 500);
|
|
31
|
+
color: white;
|
|
32
32
|
}
|
|
33
33
|
}
|
|
@@ -1,14 +1,15 @@
|
|
|
1
1
|
import { EventEmitter, ChangeDetectorRef } from '@angular/core';
|
|
2
|
+
export declare type MtxAlertType = 'default' | 'info' | 'success' | 'warning' | 'danger';
|
|
2
3
|
export declare class MtxAlertComponent {
|
|
3
4
|
private _changeDetectorRef;
|
|
4
5
|
get hostClassList(): string;
|
|
5
|
-
/**
|
|
6
|
-
type:
|
|
6
|
+
/** The alert type */
|
|
7
|
+
type: MtxAlertType;
|
|
7
8
|
/** Whether alert visible */
|
|
8
9
|
isOpen: boolean;
|
|
9
10
|
/** Whether displays an inline "Close" button */
|
|
10
11
|
dismissible: boolean;
|
|
11
|
-
/**
|
|
12
|
+
/** The alert text color */
|
|
12
13
|
color: string;
|
|
13
14
|
/** Material elevation */
|
|
14
15
|
elevation: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"__symbolic":"module","version":4,"metadata":{"MtxAlertModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":5,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":6,"character":12}],"exports":[{"__symbolic":"reference","name":"MtxAlertComponent"}],"declarations":[{"__symbolic":"reference","name":"MtxAlertComponent"}]}]}],"members":{}},"MtxAlertComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":
|
|
1
|
+
{"__symbolic":"module","version":4,"metadata":{"MtxAlertModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":5,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":6,"character":12}],"exports":[{"__symbolic":"reference","name":"MtxAlertComponent"}],"declarations":[{"__symbolic":"reference","name":"MtxAlertComponent"}]}]}],"members":{}},"MtxAlertType":{"__symbolic":"interface"},"MtxAlertComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":13,"character":1},"arguments":[{"selector":"mtx-alert","exportAs":"mtxAlert","host":{"class":"mtx-alert"},"encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":21,"character":17},"member":"None"},"changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":22,"character":19},"member":"OnPush"},"template":"<ng-template [ngIf]=\"isOpen\">\n <div [ngClass]=\"['mtx-alert-ref',\n 'mtx-alert-ref-' + type,\n 'mat-elevation-z' + elevation,\n dismissible ? 'mtx-alert-dismissible' : '']\"\n role=\"alert\">\n <ng-content></ng-content>\n <ng-template [ngIf]=\"dismissible\">\n <button type=\"button\" class=\"mtx-alert-close\" aria-label=\"Close\" (click)=\"_onClosed()\">\n <span aria-hidden=\"true\">×</span>\n </button>\n </ng-template>\n </div>\n</ng-template>\n","styles":[".mtx-alert-ref{border:1px solid transparent;border-radius:.25rem;margin-bottom:1rem;padding:.75rem 1.25rem;position:relative}.mtx-alert-close{background-color:transparent;border:0;bottom:0;color:inherit;cursor:pointer;font-size:1.5rem;line-height:1;opacity:.5;padding:0 1.25rem;position:absolute;right:0;top:0}[dir=rtl] .mtx-alert-close{left:0;right:auto}.mtx-alert-close:hover{opacity:.75}.mtx-alert-dismissible{padding-right:4rem}"]}]}],"members":{"hostClassList":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":25,"character":3},"arguments":["class"]}]}],"type":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":30,"character":3}}]}],"isOpen":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":33,"character":3}}]}],"dismissible":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":36,"character":3}}]}],"color":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":39,"character":3}}]}],"elevation":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":42,"character":3}}]}],"closed":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":45,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":47,"character":42}]}],"_onClosed":[{"__symbolic":"method"}]}}},"origins":{"MtxAlertModule":"./alert.module","MtxAlertType":"./alert.component","MtxAlertComponent":"./alert.component"},"importAs":"@ng-matero/extensions/alert"}
|
package/bundles/mtxAlert.umd.js
CHANGED
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
function MtxAlertComponent(_changeDetectorRef) {
|
|
17
17
|
this._changeDetectorRef = _changeDetectorRef;
|
|
18
18
|
/**
|
|
19
|
-
*
|
|
19
|
+
* The alert type
|
|
20
20
|
*/
|
|
21
21
|
this.type = 'default';
|
|
22
22
|
/**
|
|
@@ -80,7 +80,7 @@
|
|
|
80
80
|
};
|
|
81
81
|
if (false) {
|
|
82
82
|
/**
|
|
83
|
-
*
|
|
83
|
+
* The alert type
|
|
84
84
|
* @type {?}
|
|
85
85
|
*/
|
|
86
86
|
MtxAlertComponent.prototype.type;
|
|
@@ -95,7 +95,7 @@
|
|
|
95
95
|
*/
|
|
96
96
|
MtxAlertComponent.prototype.dismissible;
|
|
97
97
|
/**
|
|
98
|
-
*
|
|
98
|
+
* The alert text color
|
|
99
99
|
* @type {?}
|
|
100
100
|
*/
|
|
101
101
|
MtxAlertComponent.prototype.color;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mtxAlert.umd.js","sources":["../../../projects/extensions/alert/alert.component.ts","../../../projects/extensions/alert/alert.module.ts"],"sourcesContent":["import {\n Component,\n ChangeDetectionStrategy,\n ViewEncapsulation,\n Input,\n Output,\n EventEmitter,\n ChangeDetectorRef,\n HostBinding,\n} from '@angular/core';\n\n@Component({\n selector: 'mtx-alert',\n exportAs: 'mtxAlert',\n host: {\n class: 'mtx-alert',\n },\n templateUrl: './alert.component.html',\n styleUrls: ['./alert.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class MtxAlertComponent {\n @HostBinding('class') get hostClassList() {\n return `mtx-alert-${this.type}`;\n }\n\n /**
|
|
1
|
+
{"version":3,"file":"mtxAlert.umd.js","sources":["../../../projects/extensions/alert/alert.component.ts","../../../projects/extensions/alert/alert.module.ts"],"sourcesContent":["import {\n Component,\n ChangeDetectionStrategy,\n ViewEncapsulation,\n Input,\n Output,\n EventEmitter,\n ChangeDetectorRef,\n HostBinding,\n} from '@angular/core';\n\nexport type MtxAlertType = 'default' | 'info' | 'success' | 'warning' | 'danger';\n\n@Component({\n selector: 'mtx-alert',\n exportAs: 'mtxAlert',\n host: {\n class: 'mtx-alert',\n },\n templateUrl: './alert.component.html',\n styleUrls: ['./alert.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class MtxAlertComponent {\n @HostBinding('class') get hostClassList() {\n return `mtx-alert-${this.type}`;\n }\n\n /** The alert type */\n @Input() type: MtxAlertType = 'default';\n\n /** Whether alert visible */\n @Input() isOpen = true;\n\n /** Whether displays an inline \"Close\" button */\n @Input() dismissible: boolean;\n\n /** The alert text color */\n @Input() color: string;\n\n /** Material elevation */\n @Input() elevation = 0;\n\n /** This event fires when alert closed, $event is an instance of Alert component */\n @Output() closed = new EventEmitter<MtxAlertComponent>();\n\n constructor(private _changeDetectorRef: ChangeDetectorRef) {}\n\n _onClosed(): void {\n this.isOpen = false;\n this._changeDetectorRef.markForCheck();\n this.closed.emit(this);\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { MtxAlertComponent } from './alert.component';\n\n@NgModule({\n imports: [CommonModule],\n exports: [MtxAlertComponent],\n declarations: [MtxAlertComponent],\n})\nexport class MtxAlertModule {}\n"],"names":["EventEmitter","Component","ViewEncapsulation","ChangeDetectionStrategy","ChangeDetectorRef","HostBinding","Input","Output","NgModule","CommonModule"],"mappings":";;;;;;;;;;;;;;;QA+CE,2BAAoB,kBAAqC;YAArC,uBAAkB,GAAlB,kBAAkB,CAAmB;;;;YAjBhD,SAAI,GAAiB,SAAS,CAAC;;;;YAG/B,WAAM,GAAG,IAAI,CAAC;;;;YASd,cAAS,GAAG,CAAC,CAAC;;;;YAGb,WAAM,GAAG,IAAIA,iBAAY,EAAqB,CAAC;SAEI;QAtB7D,sBAA0B,4CAAa;;;;iBAAvC;gBACE,OAAO,eAAa,IAAI,CAAC,IAAM,CAAC;aACjC;;;WAAA;;;;QAsBD,qCAAS,GAAT;YACE,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;YACpB,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE,CAAC;YACvC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACxB;;;;gBAxCFC,cAAS,SAAC;oBACT,QAAQ,EAAE,WAAW;oBACrB,QAAQ,EAAE,UAAU;oBACpB,IAAI,EAAE;wBACJ,KAAK,EAAE,WAAW;qBACnB;oBACD,gjBAAqC;oBAErC,aAAa,EAAEC,sBAAiB,CAAC,IAAI;oBACrC,eAAe,EAAEC,4BAAuB,CAAC,MAAM;;iBAChD;;;;gBAhBCC,sBAAiB;;;gCAkBhBC,gBAAW,SAAC,OAAO;uBAKnBC,UAAK;yBAGLA,UAAK;8BAGLA,UAAK;wBAGLA,UAAK;4BAGLA,UAAK;yBAGLC,WAAM;;;;;;;QAfP,iCAAwC;;;;;QAGxC,mCAAuB;;;;;QAGvB,wCAA8B;;;;;QAG9B,kCAAuB;;;;;QAGvB,sCAAuB;;;;;QAGvB,mCAAyD;;;;;QAE7C,+CAA6C;;;;;;;;;QCrC3D;;;;;gBALCC,aAAQ,SAAC;oBACR,OAAO,EAAE,CAACC,mBAAY,CAAC;oBACvB,OAAO,EAAE,CAAC,iBAAiB,CAAC;oBAC5B,YAAY,EAAE,CAAC,iBAAiB,CAAC;iBAClC;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../projects/extensions/alert/alert.component.ts","../../../projects/extensions/alert/alert.module.ts"],"names":["MtxAlertComponent","_changeDetectorRef","this","type","isOpen","elevation","closed","EventEmitter","Object","defineProperty","prototype","_onClosed","markForCheck","emit","Component","args","selector","exportAs","host","class","template","encapsulation","ViewEncapsulation","None","changeDetection","ChangeDetectionStrategy","OnPush","ChangeDetectorRef","HostBinding","Input","Output","NgModule","imports","CommonModule","exports","declarations"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../projects/extensions/alert/alert.component.ts","../../../projects/extensions/alert/alert.module.ts"],"names":["MtxAlertComponent","_changeDetectorRef","this","type","isOpen","elevation","closed","EventEmitter","Object","defineProperty","prototype","_onClosed","markForCheck","emit","Component","args","selector","exportAs","host","class","template","encapsulation","ViewEncapsulation","None","changeDetection","ChangeDetectionStrategy","OnPush","ChangeDetectorRef","HostBinding","Input","Output","NgModule","imports","CommonModule","exports","declarations"],"mappings":"ggBA+CE,SAAAA,EAAoBC,GAAAC,KAAAD,mBAAAA,EAjBXC,KAAAC,KAAqB,UAGrBD,KAAAE,QAAS,EASTF,KAAAG,UAAY,EAGXH,KAAAI,OAAS,IAAIC,EAAAA,oBApBvBC,OAAAC,eAA0BT,EAAAU,UAAA,gBAAa,KAAvC,WACE,MAAO,aAAaR,KAAKC,sCAuB3BH,EAAAU,UAAAC,UAAA,WACET,KAAKE,QAAS,EACdF,KAAKD,mBAAmBW,eACxBV,KAAKI,OAAOO,KAAKX,gCAvCpBY,EAAAA,UAASC,KAAA,CAAC,CACTC,SAAU,YACVC,SAAU,WACVC,KAAM,CACJC,MAAO,aAETC,SAAA,+hBAEAC,cAAeC,EAAAA,kBAAkBC,KACjCC,gBAAiBC,EAAAA,wBAAwBC,gfAfzCC,EAAAA,4DAkBCC,EAAAA,YAAWb,KAAA,CAAC,uBAKZc,EAAAA,sBAGAA,EAAAA,2BAGAA,EAAAA,qBAGAA,EAAAA,yBAGAA,EAAAA,sBAGAC,EAAAA,gBCnCH,iCALCC,EAAAA,SAAQhB,KAAA,CAAC,CACRiB,QAAS,CAACC,EAAAA,cACVC,QAAS,CAAClC,GACVmC,aAAc,CAACnC","sourcesContent":["import {\n Component,\n ChangeDetectionStrategy,\n ViewEncapsulation,\n Input,\n Output,\n EventEmitter,\n ChangeDetectorRef,\n HostBinding,\n} from '@angular/core';\n\nexport type MtxAlertType = 'default' | 'info' | 'success' | 'warning' | 'danger';\n\n@Component({\n selector: 'mtx-alert',\n exportAs: 'mtxAlert',\n host: {\n class: 'mtx-alert',\n },\n templateUrl: './alert.component.html',\n styleUrls: ['./alert.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class MtxAlertComponent {\n @HostBinding('class') get hostClassList() {\n return `mtx-alert-${this.type}`;\n }\n\n /** The alert type */\n @Input() type: MtxAlertType = 'default';\n\n /** Whether alert visible */\n @Input() isOpen = true;\n\n /** Whether displays an inline \"Close\" button */\n @Input() dismissible: boolean;\n\n /** The alert text color */\n @Input() color: string;\n\n /** Material elevation */\n @Input() elevation = 0;\n\n /** This event fires when alert closed, $event is an instance of Alert component */\n @Output() closed = new EventEmitter<MtxAlertComponent>();\n\n constructor(private _changeDetectorRef: ChangeDetectorRef) {}\n\n _onClosed(): void {\n this.isOpen = false;\n this._changeDetectorRef.markForCheck();\n this.closed.emit(this);\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { MtxAlertComponent } from './alert.component';\n\n@NgModule({\n imports: [CommonModule],\n exports: [MtxAlertComponent],\n declarations: [MtxAlertComponent],\n})\nexport class MtxAlertModule {}\n"]}
|
|
@@ -149,7 +149,7 @@
|
|
|
149
149
|
|
|
150
150
|
/**
|
|
151
151
|
* @fileoverview added by tsickle
|
|
152
|
-
* Generated from:
|
|
152
|
+
* Generated from: mtxButton.ts
|
|
153
153
|
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
154
154
|
*/
|
|
155
155
|
|
|
@@ -159,4 +159,4 @@
|
|
|
159
159
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
160
160
|
|
|
161
161
|
})));
|
|
162
|
-
//# sourceMappingURL=
|
|
162
|
+
//# sourceMappingURL=mtxButton.umd.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mtxButton.umd.js","sources":["../../../projects/extensions/button/button-loading.directive.ts","../../../projects/extensions/button/button.module.ts"],"sourcesContent":["import {\r\n ComponentFactory,\r\n ComponentFactoryResolver,\r\n ComponentRef,\r\n Directive,\r\n Input,\r\n OnChanges,\r\n Renderer2,\r\n SimpleChanges,\r\n ViewContainerRef,\r\n} from '@angular/core';\r\nimport { ThemePalette } from '@angular/material/core';\r\nimport { MatButton } from '@angular/material/button';\r\nimport { MatProgressSpinner } from '@angular/material/progress-spinner';\r\n\r\n@Directive({\r\n selector: `button[mat-button][loading],\r\n button[mat-raised-button][loading],\r\n button[mat-stroked-button][loading],\r\n button[mat-flat-button][loading],\r\n button[mat-icon-button][loading],\r\n button[mat-fab][loading],\r\n button[mat-mini-fab][loading]`,\r\n})\r\nexport class MatButtonLoadingDirective implements OnChanges {\r\n private spinnerFactory: ComponentFactory<MatProgressSpinner>;\r\n private spinner: ComponentRef<MatProgressSpinner> | null;\r\n\r\n @Input()\r\n loading: boolean;\r\n\r\n @Input()\r\n disabled: boolean;\r\n\r\n @Input()\r\n color: ThemePalette;\r\n\r\n constructor(\r\n private matButton: MatButton,\r\n private componentFactoryResolver: ComponentFactoryResolver,\r\n private viewContainerRef: ViewContainerRef,\r\n private renderer: Renderer2\r\n ) {\r\n this.spinnerFactory = this.componentFactoryResolver.resolveComponentFactory(MatProgressSpinner);\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (!changes.loading) {\r\n return;\r\n }\r\n\r\n if (changes.loading.currentValue) {\r\n this.matButton._elementRef.nativeElement.classList.add('mat-button-loading');\r\n this.matButton.disabled = true;\r\n this.createSpinner();\r\n } else if (!changes.loading.firstChange) {\r\n this.matButton._elementRef.nativeElement.classList.remove('mat-button-loading');\r\n this.matButton.disabled = this.disabled;\r\n this.destroySpinner();\r\n }\r\n }\r\n\r\n private createSpinner(): void {\r\n if (!this.spinner) {\r\n this.spinner = this.viewContainerRef.createComponent(this.spinnerFactory);\r\n this.spinner.instance.color = this.color;\r\n this.spinner.instance.diameter = 20;\r\n this.spinner.instance.mode = 'indeterminate';\r\n this.renderer.appendChild(\r\n this.matButton._elementRef.nativeElement,\r\n this.spinner.instance._elementRef.nativeElement\r\n );\r\n }\r\n }\r\n\r\n private destroySpinner(): void {\r\n if (this.spinner) {\r\n this.spinner.destroy();\r\n this.spinner = null;\r\n }\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\nimport { MatButtonLoadingDirective } from './button-loading.directive';\n\n@NgModule({\n imports: [CommonModule, MatButtonModule, MatProgressSpinnerModule],\n exports: [MatButtonLoadingDirective],\n declarations: [MatButtonLoadingDirective],\n})\nexport class MtxButtonModule {}\n"],"names":["MatProgressSpinner","Directive","MatButton","ComponentFactoryResolver","ViewContainerRef","Renderer2","Input","NgModule","CommonModule","MatButtonModule","MatProgressSpinnerModule"],"mappings":";;;;;;;;;;;;;;;;;;QAqCE,mCACU,SAAoB,EACpB,wBAAkD,EAClD,gBAAkC,EAClC,QAAmB;YAHnB,cAAS,GAAT,SAAS,CAAW;YACpB,6BAAwB,GAAxB,wBAAwB,CAA0B;YAClD,qBAAgB,GAAhB,gBAAgB,CAAkB;YAClC,aAAQ,GAAR,QAAQ,CAAW;YAE3B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,wBAAwB,CAAC,uBAAuB,CAACA,kCAAkB,CAAC,CAAC;SACjG;;;;;QAED,+CAAW,GAAX,UAAY,OAAsB;YAChC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE;gBACpB,OAAO;aACR;YAED,IAAI,OAAO,CAAC,OAAO,CAAC,YAAY,EAAE;gBAChC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,aAAa,CAAC,SAAS,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;gBAC7E,IAAI,CAAC,SAAS,CAAC,QAAQ,GAAG,IAAI,CAAC;gBAC/B,IAAI,CAAC,aAAa,EAAE,CAAC;aACtB;iBAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE;gBACvC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,aAAa,CAAC,SAAS,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;gBAChF,IAAI,CAAC,SAAS,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;gBACxC,IAAI,CAAC,cAAc,EAAE,CAAC;aACvB;SACF;;;;;QAEO,iDAAa,GAAb;YACN,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;gBACjB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,eAAe,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;gBAC1E,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;gBACzC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,GAAG,EAAE,CAAC;gBACpC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,GAAG,eAAe,CAAC;gBAC7C,IAAI,CAAC,QAAQ,CAAC,WAAW,CACvB,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,aAAa,EACxC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,aAAa,CAChD,CAAC;aACH;SACF;;;;;QAEO,kDAAc,GAAd;YACN,IAAI,IAAI,CAAC,OAAO,EAAE;gBAChB,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;gBACvB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;aACrB;SACF;;;;gBAjEFC,cAAS,SAAC;oBACT,QAAQ,EAAE,uTAM+B;iBAC1C;;;;gBAXQC,gBAAS;gBAVhBC,6BAAwB;gBAOxBC,qBAAgB;gBAFhBC,cAAS;;;0BAqBRC,UAAK;2BAGLA,UAAK;wBAGLA,UAAK;;;;;;;QATN,mDAA6D;;;;;QAC7D,4CAAyD;;QAEzD,4CACiB;;QAEjB,6CACkB;;QAElB,0CACoB;;;;;QAGlB,8CAA4B;;;;;QAC5B,6DAA0D;;;;;QAC1D,qDAA0C;;;;;QAC1C,6CAA2B;;;;;;;;;QC7B/B;;;;;gBALCC,aAAQ,SAAC;oBACR,OAAO,EAAE,CAACC,mBAAY,EAAEC,sBAAe,EAAEC,wCAAwB,CAAC;oBAClE,OAAO,EAAE,CAAC,yBAAyB,CAAC;oBACpC,YAAY,EAAE,CAAC,yBAAyB,CAAC;iBAC1C;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("@angular/core"),require("@angular/common"),require("@angular/material/button"),require("@angular/material/progress-spinner")):"function"==typeof define&&define.amd?define("@ng-matero/extensions/button",["exports","@angular/core","@angular/common","@angular/material/button","@angular/material/progress-spinner"],e):e(((t="undefined"!=typeof globalThis?globalThis:t||self)["ng-matero"]=t["ng-matero"]||{},t["ng-matero"].extensions=t["ng-matero"].extensions||{},t["ng-matero"].extensions.button={}),t.ng.core,t.ng.common,t.ng.material.button,t.ng.material.progressSpinner)}(this,(function(t,e,n,o,r){"use strict";var i=function(){function t(t,e,n,o){this.matButton=t,this.componentFactoryResolver=e,this.viewContainerRef=n,this.renderer=o,this.spinnerFactory=this.componentFactoryResolver.resolveComponentFactory(r.MatProgressSpinner)}return t.prototype.ngOnChanges=function(t){t.loading&&(t.loading.currentValue?(this.matButton._elementRef.nativeElement.classList.add("mat-button-loading"),this.matButton.disabled=!0,this.createSpinner()):t.loading.firstChange||(this.matButton._elementRef.nativeElement.classList.remove("mat-button-loading"),this.matButton.disabled=this.disabled,this.destroySpinner()))},t.prototype.createSpinner=function(){this.spinner||(this.spinner=this.viewContainerRef.createComponent(this.spinnerFactory),this.spinner.instance.color=this.color,this.spinner.instance.diameter=20,this.spinner.instance.mode="indeterminate",this.renderer.appendChild(this.matButton._elementRef.nativeElement,this.spinner.instance._elementRef.nativeElement))},t.prototype.destroySpinner=function(){this.spinner&&(this.spinner.destroy(),this.spinner=null)},t}();i.decorators=[{type:e.Directive,args:[{selector:"button[mat-button][loading],\n button[mat-raised-button][loading],\n button[mat-stroked-button][loading],\n button[mat-flat-button][loading],\n button[mat-icon-button][loading],\n button[mat-fab][loading],\n button[mat-mini-fab][loading]"}]}],i.ctorParameters=function(){return[{type:o.MatButton},{type:e.ComponentFactoryResolver},{type:e.ViewContainerRef},{type:e.Renderer2}]},i.propDecorators={loading:[{type:e.Input}],disabled:[{type:e.Input}],color:[{type:e.Input}]};var a=function(){};a.decorators=[{type:e.NgModule,args:[{imports:[n.CommonModule,o.MatButtonModule,r.MatProgressSpinnerModule],exports:[i],declarations:[i]}]}],t.MatButtonLoadingDirective=i,t.MtxButtonModule=a,Object.defineProperty(t,"__esModule",{value:!0})}));
|
|
2
|
-
//# sourceMappingURL=
|
|
2
|
+
//# sourceMappingURL=mtxButton.umd.min.js.map
|
|
File without changes
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
(function (global, factory) {
|
|
2
|
-
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@angular/common'), require('@angular/forms'), require('@angular/material/checkbox'), require('@ng-matero/extensions/utils'), require('@angular/cdk/coercion')) :
|
|
3
|
-
typeof define === 'function' && define.amd ? define('@ng-matero/extensions/checkbox-group', ['exports', '@angular/core', '@angular/common', '@angular/forms', '@angular/material/checkbox', '@ng-matero/extensions/utils', '@angular/cdk/coercion'], factory) :
|
|
4
|
-
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global['ng-matero'] = global['ng-matero'] || {}, global['ng-matero'].extensions = global['ng-matero'].extensions || {}, global['ng-matero'].extensions['checkbox-group'] = {}), global.ng.core, global.ng.common, global.ng.forms, global.ng.material.checkbox, global['ng-matero'].extensions.utils, global.ng.cdk.coercion));
|
|
5
|
-
}(this, (function (exports, core, common, forms, checkbox, utils, coercion) { 'use strict';
|
|
2
|
+
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@angular/common'), require('@angular/forms'), require('@angular/material/checkbox'), require('@ng-matero/extensions/utils'), require('@angular/cdk/a11y'), require('@angular/cdk/coercion')) :
|
|
3
|
+
typeof define === 'function' && define.amd ? define('@ng-matero/extensions/checkbox-group', ['exports', '@angular/core', '@angular/common', '@angular/forms', '@angular/material/checkbox', '@ng-matero/extensions/utils', '@angular/cdk/a11y', '@angular/cdk/coercion'], factory) :
|
|
4
|
+
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global['ng-matero'] = global['ng-matero'] || {}, global['ng-matero'].extensions = global['ng-matero'].extensions || {}, global['ng-matero'].extensions['checkbox-group'] = {}), global.ng.core, global.ng.common, global.ng.forms, global.ng.material.checkbox, global['ng-matero'].extensions.utils, global.ng.cdk.a11y, global.ng.cdk.coercion));
|
|
5
|
+
}(this, (function (exports, core, common, forms, checkbox, utils, a11y, coercion) { 'use strict';
|
|
6
6
|
|
|
7
7
|
/**
|
|
8
8
|
* @fileoverview added by tsickle
|
|
@@ -29,20 +29,23 @@
|
|
|
29
29
|
var MtxCheckboxGroupComponent = /** @class */ (function () {
|
|
30
30
|
/**
|
|
31
31
|
* @param {?} _changeDetectorRef
|
|
32
|
+
* @param {?} _focusMonitor
|
|
33
|
+
* @param {?} _elementRef
|
|
32
34
|
*/
|
|
33
|
-
function MtxCheckboxGroupComponent(_changeDetectorRef) {
|
|
35
|
+
function MtxCheckboxGroupComponent(_changeDetectorRef, _focusMonitor, _elementRef) {
|
|
34
36
|
this._changeDetectorRef = _changeDetectorRef;
|
|
37
|
+
this._focusMonitor = _focusMonitor;
|
|
38
|
+
this._elementRef = _elementRef;
|
|
35
39
|
this._items = [];
|
|
36
40
|
this._originalItems = [];
|
|
37
41
|
this.bindLabel = 'label';
|
|
38
42
|
this.bindValue = 'value';
|
|
39
|
-
this.
|
|
43
|
+
this._showSelectAll = false;
|
|
40
44
|
this.selectAllLabel = 'Select All';
|
|
41
45
|
this._disabled = false;
|
|
42
46
|
this.change = new core.EventEmitter();
|
|
43
47
|
this.selectAll = false;
|
|
44
48
|
this.selectAllIndeterminate = false;
|
|
45
|
-
this.color = 'accent';
|
|
46
49
|
this.selectedItems = [];
|
|
47
50
|
this._onChange = ( /**
|
|
48
51
|
* @return {?}
|
|
@@ -78,6 +81,23 @@
|
|
|
78
81
|
enumerable: false,
|
|
79
82
|
configurable: true
|
|
80
83
|
});
|
|
84
|
+
Object.defineProperty(MtxCheckboxGroupComponent.prototype, "showSelectAll", {
|
|
85
|
+
/**
|
|
86
|
+
* @return {?}
|
|
87
|
+
*/
|
|
88
|
+
get: function () {
|
|
89
|
+
return this._showSelectAll;
|
|
90
|
+
},
|
|
91
|
+
/**
|
|
92
|
+
* @param {?} value
|
|
93
|
+
* @return {?}
|
|
94
|
+
*/
|
|
95
|
+
set: function (value) {
|
|
96
|
+
this._showSelectAll = coercion.coerceBooleanProperty(value);
|
|
97
|
+
},
|
|
98
|
+
enumerable: false,
|
|
99
|
+
configurable: true
|
|
100
|
+
});
|
|
81
101
|
Object.defineProperty(MtxCheckboxGroupComponent.prototype, "compareWith", {
|
|
82
102
|
/**
|
|
83
103
|
* @return {?}
|
|
@@ -120,7 +140,36 @@
|
|
|
120
140
|
/**
|
|
121
141
|
* @return {?}
|
|
122
142
|
*/
|
|
123
|
-
MtxCheckboxGroupComponent.prototype.ngAfterViewInit = function () {
|
|
143
|
+
MtxCheckboxGroupComponent.prototype.ngAfterViewInit = function () {
|
|
144
|
+
var _this = this;
|
|
145
|
+
this._focusMonitor.monitor(this._elementRef, true).subscribe(( /**
|
|
146
|
+
* @param {?} focusOrigin
|
|
147
|
+
* @return {?}
|
|
148
|
+
*/function (/**
|
|
149
|
+
* @param {?} focusOrigin
|
|
150
|
+
* @return {?}
|
|
151
|
+
*/ focusOrigin) {
|
|
152
|
+
if (!focusOrigin) {
|
|
153
|
+
// When a focused element becomes disabled, the browser *immediately* fires a blur event.
|
|
154
|
+
// Angular does not expect events to be raised during change detection, so any state change
|
|
155
|
+
// (such as a form control's 'ng-touched') will cause a changed-after-checked error.
|
|
156
|
+
// See https://github.com/angular/angular/issues/17793. To work around this, we defer
|
|
157
|
+
// telling the form control it has been touched until the next tick.
|
|
158
|
+
Promise.resolve().then(( /**
|
|
159
|
+
* @return {?}
|
|
160
|
+
*/function () {
|
|
161
|
+
_this._onTouched();
|
|
162
|
+
_this._changeDetectorRef.markForCheck();
|
|
163
|
+
}));
|
|
164
|
+
}
|
|
165
|
+
}));
|
|
166
|
+
};
|
|
167
|
+
/**
|
|
168
|
+
* @return {?}
|
|
169
|
+
*/
|
|
170
|
+
MtxCheckboxGroupComponent.prototype.ngOnDestroy = function () {
|
|
171
|
+
this._focusMonitor.stopMonitoring(this._elementRef);
|
|
172
|
+
};
|
|
124
173
|
/**
|
|
125
174
|
* Finds and selects and option based on its value.
|
|
126
175
|
* @private
|
|
@@ -130,10 +179,13 @@
|
|
|
130
179
|
MtxCheckboxGroupComponent.prototype._selectValue = function (value) {
|
|
131
180
|
var _this = this;
|
|
132
181
|
/** @type {?} */
|
|
133
|
-
var correspondingOption = this.items.find(( /**
|
|
182
|
+
var correspondingOption = (( /** @type {?} */(this.items))).find(( /**
|
|
134
183
|
* @param {?} option
|
|
135
184
|
* @return {?}
|
|
136
|
-
*/function (
|
|
185
|
+
*/function (/**
|
|
186
|
+
* @param {?} option
|
|
187
|
+
* @return {?}
|
|
188
|
+
*/ option) {
|
|
137
189
|
try {
|
|
138
190
|
/** @type {?} */
|
|
139
191
|
var compareValue = option[_this.bindValue] === value;
|
|
@@ -200,7 +252,7 @@
|
|
|
200
252
|
* @return {?}
|
|
201
253
|
*/
|
|
202
254
|
MtxCheckboxGroupComponent.prototype._checkMasterCheckboxState = function () {
|
|
203
|
-
if (this.items
|
|
255
|
+
if ((( /** @type {?} */(this.items)))
|
|
204
256
|
.filter(( /**
|
|
205
257
|
* @param {?} option
|
|
206
258
|
* @return {?}
|
|
@@ -218,7 +270,7 @@
|
|
|
218
270
|
this.selectAll = false;
|
|
219
271
|
this.selectAllIndeterminate = false;
|
|
220
272
|
}
|
|
221
|
-
else if (this.items
|
|
273
|
+
else if ((( /** @type {?} */(this.items)))
|
|
222
274
|
.filter(( /**
|
|
223
275
|
* @param {?} option
|
|
224
276
|
* @return {?}
|
|
@@ -247,7 +299,7 @@
|
|
|
247
299
|
*/
|
|
248
300
|
MtxCheckboxGroupComponent.prototype._getSelectedItems = function (index) {
|
|
249
301
|
var _this = this;
|
|
250
|
-
this.selectedItems = this.items.filter(( /**
|
|
302
|
+
this.selectedItems = (( /** @type {?} */(this.items))).filter(( /**
|
|
251
303
|
* @param {?} option
|
|
252
304
|
* @return {?}
|
|
253
305
|
*/function (/**
|
|
@@ -255,7 +307,7 @@
|
|
|
255
307
|
* @return {?}
|
|
256
308
|
*/ option) { return option.checked; }));
|
|
257
309
|
if (this._compareWith) {
|
|
258
|
-
this.selectedItems = this._originalItems.filter(( /**
|
|
310
|
+
this.selectedItems = (( /** @type {?} */(this._originalItems))).filter(( /**
|
|
259
311
|
* @param {?} option
|
|
260
312
|
* @return {?}
|
|
261
313
|
*/function (/**
|
|
@@ -301,7 +353,7 @@
|
|
|
301
353
|
this.selectAll = !this.selectAll;
|
|
302
354
|
this.selectAllIndeterminate = false;
|
|
303
355
|
if (this.selectAll) {
|
|
304
|
-
this.items
|
|
356
|
+
(( /** @type {?} */(this.items)))
|
|
305
357
|
.filter(( /**
|
|
306
358
|
* @param {?} option
|
|
307
359
|
* @return {?}
|
|
@@ -318,7 +370,7 @@
|
|
|
318
370
|
*/ option) { return (option.checked = true); }));
|
|
319
371
|
}
|
|
320
372
|
else {
|
|
321
|
-
this.items
|
|
373
|
+
(( /** @type {?} */(this.items)))
|
|
322
374
|
.filter(( /**
|
|
323
375
|
* @param {?} option
|
|
324
376
|
* @return {?}
|
|
@@ -345,7 +397,7 @@
|
|
|
345
397
|
host: {
|
|
346
398
|
class: 'mtx-checkbox-group',
|
|
347
399
|
},
|
|
348
|
-
template: "<mat-checkbox class=\"mtx-checkbox-master\"\n *ngIf=\"showSelectAll\"\n [checked]=\"selectAll\"\n [(indeterminate)]=\"selectAllIndeterminate\"\n [disabled]=\"disabled\"\n (change)=\"_updateMasterCheckboxState($event, -1);\">\n {{selectAllLabel}}\n</mat-checkbox>\n\n<mat-checkbox class=\"mtx-checkbox-normal\"\n *ngFor=\"let option of items; let i = index;\"\n [(ngModel)]=\"option.checked\"\n [aria-describedby]=\"option.ariaDescribedby\"\n [aria-label]=\"option.ariaLabel\"\n [aria-labelledby]=\"option.ariaLabelledby\"\n [color]=\"option.color
|
|
400
|
+
template: "<mat-checkbox class=\"mtx-checkbox-master\"\n *ngIf=\"showSelectAll\"\n [checked]=\"selectAll\"\n [(indeterminate)]=\"selectAllIndeterminate\"\n [disabled]=\"disabled\"\n (change)=\"_updateMasterCheckboxState($event, -1);\">\n {{selectAllLabel}}\n</mat-checkbox>\n\n<mat-checkbox class=\"mtx-checkbox-normal\"\n *ngFor=\"let option of items; let i = index;\"\n [(ngModel)]=\"option.checked\"\n [aria-describedby]=\"option.ariaDescribedby\"\n [aria-label]=\"option.ariaLabel\"\n [aria-labelledby]=\"option.ariaLabelledby\"\n [color]=\"option.color\"\n [disabled]=\"option.disabled || disabled\"\n [disableRipple]=\"option.disableRipple\"\n [labelPosition]=\"option.labelPosition\"\n [required]=\"option.required\"\n (change)=\"_updateNormalCheckboxState($event, i)\">\n {{option[bindLabel] | toObservable | async}}\n</mat-checkbox>\n",
|
|
349
401
|
encapsulation: core.ViewEncapsulation.None,
|
|
350
402
|
changeDetection: core.ChangeDetectionStrategy.OnPush,
|
|
351
403
|
providers: [
|
|
@@ -362,7 +414,9 @@
|
|
|
362
414
|
];
|
|
363
415
|
/** @nocollapse */
|
|
364
416
|
MtxCheckboxGroupComponent.ctorParameters = function () { return [
|
|
365
|
-
{ type: core.ChangeDetectorRef }
|
|
417
|
+
{ type: core.ChangeDetectorRef },
|
|
418
|
+
{ type: a11y.FocusMonitor },
|
|
419
|
+
{ type: core.ElementRef }
|
|
366
420
|
]; };
|
|
367
421
|
MtxCheckboxGroupComponent.propDecorators = {
|
|
368
422
|
_checkboxes: [{ type: core.ContentChildren, args: [core.forwardRef(( /**
|
|
@@ -394,8 +448,11 @@
|
|
|
394
448
|
MtxCheckboxGroupComponent.prototype.bindLabel;
|
|
395
449
|
/** @type {?} */
|
|
396
450
|
MtxCheckboxGroupComponent.prototype.bindValue;
|
|
397
|
-
/**
|
|
398
|
-
|
|
451
|
+
/**
|
|
452
|
+
* @type {?}
|
|
453
|
+
* @private
|
|
454
|
+
*/
|
|
455
|
+
MtxCheckboxGroupComponent.prototype._showSelectAll;
|
|
399
456
|
/** @type {?} */
|
|
400
457
|
MtxCheckboxGroupComponent.prototype.selectAllLabel;
|
|
401
458
|
/**
|
|
@@ -415,8 +472,6 @@
|
|
|
415
472
|
/** @type {?} */
|
|
416
473
|
MtxCheckboxGroupComponent.prototype.selectAllIndeterminate;
|
|
417
474
|
/** @type {?} */
|
|
418
|
-
MtxCheckboxGroupComponent.prototype.color;
|
|
419
|
-
/** @type {?} */
|
|
420
475
|
MtxCheckboxGroupComponent.prototype.selectedItems;
|
|
421
476
|
/** @type {?} */
|
|
422
477
|
MtxCheckboxGroupComponent.prototype._onChange;
|
|
@@ -427,6 +482,16 @@
|
|
|
427
482
|
* @private
|
|
428
483
|
*/
|
|
429
484
|
MtxCheckboxGroupComponent.prototype._changeDetectorRef;
|
|
485
|
+
/**
|
|
486
|
+
* @type {?}
|
|
487
|
+
* @private
|
|
488
|
+
*/
|
|
489
|
+
MtxCheckboxGroupComponent.prototype._focusMonitor;
|
|
490
|
+
/**
|
|
491
|
+
* @type {?}
|
|
492
|
+
* @private
|
|
493
|
+
*/
|
|
494
|
+
MtxCheckboxGroupComponent.prototype._elementRef;
|
|
430
495
|
}
|
|
431
496
|
|
|
432
497
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mtxCheckboxGroup.umd.js","sources":["../../../projects/extensions/checkbox-group/checkbox-group.component.ts","../../../projects/extensions/checkbox-group/checkbox-group.module.ts"],"sourcesContent":["import {\n Component,\n ChangeDetectionStrategy,\n ViewEncapsulation,\n Input,\n Output,\n EventEmitter,\n ChangeDetectorRef,\n forwardRef,\n AfterViewInit,\n ContentChildren,\n QueryList,\n} from '@angular/core';\nimport { NG_VALUE_ACCESSOR, ControlValueAccessor } from '@angular/forms';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { ThemePalette } from '@angular/material/core';\nimport { MatCheckbox } from '@angular/material/checkbox';\nimport { MtxCheckboxGroupOption } from './checkbox-group.interface';\n\nexport class MtxCheckboxBase {\n constructor(public label?: any, public value?: any) {}\n}\n\n@Component({\n selector: 'mtx-checkbox-group',\n exportAs: 'mtxCheckboxGroup',\n host: {\n class: 'mtx-checkbox-group',\n },\n templateUrl: './checkbox-group.component.html',\n styleUrls: ['./checkbox-group.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => MtxCheckboxGroupComponent),\n multi: true,\n },\n ],\n})\nexport class MtxCheckboxGroupComponent implements AfterViewInit, ControlValueAccessor {\n @ContentChildren(forwardRef(() => MatCheckbox), { descendants: true })\n _checkboxes: QueryList<MatCheckbox>;\n\n @Input()\n get items(): MtxCheckboxGroupOption[] {\n return this._items;\n }\n set items(value) {\n // TODO: Deep clone\n this._originalItems = JSON.parse(JSON.stringify(value));\n this._items = value.map(option => {\n return option instanceof Object ? option : new MtxCheckboxBase(option, option);\n });\n }\n private _items: MtxCheckboxGroupOption[] = [];\n private _originalItems: MtxCheckboxGroupOption[] = [];\n\n @Input() bindLabel = 'label';\n @Input() bindValue = 'value';\n @Input() showSelectAll = false;\n @Input() selectAllLabel = 'Select All';\n @Input()\n get compareWith() {\n return this._compareWith;\n }\n set compareWith(fn: (o1: any, o2: any) => boolean) {\n if (typeof fn !== 'function') {\n throw Error('`compareWith` must be a function.');\n }\n\n if (fn) {\n this._compareWith = fn;\n }\n }\n private _compareWith: (o1: any, o2: any) => boolean;\n\n @Input()\n get disabled(): boolean {\n return this._disabled;\n }\n set disabled(value: boolean) {\n this._disabled = coerceBooleanProperty(value);\n }\n private _disabled = false;\n\n @Output() change = new EventEmitter<{ model: MtxCheckboxGroupOption[]; index: number }>();\n\n selectAll = false;\n selectAllIndeterminate = false;\n\n color: ThemePalette = 'accent';\n\n selectedItems: MtxCheckboxGroupOption[] = [];\n\n _onChange: (value: MtxCheckboxGroupOption[]) => void = () => null;\n _onTouched: () => void = () => null;\n\n constructor(private _changeDetectorRef: ChangeDetectorRef) {}\n\n ngAfterViewInit() {}\n\n /**\n * Finds and selects and option based on its value.\n * @returns Option that has the corresponding value.\n */\n private _selectValue(value: MtxCheckboxGroupOption) {\n const correspondingOption = this.items.find((option: MtxCheckboxGroupOption) => {\n try {\n const compareValue = option[this.bindValue] === value;\n return this._compareWith ? this._compareWith(option, value) : compareValue;\n } catch (error) {\n console.warn(error);\n return false;\n }\n });\n\n if (correspondingOption) {\n correspondingOption.checked = true;\n }\n\n return correspondingOption;\n }\n\n /**\n * Sets the model value. Implemented as part of ControlValueAccessor.\n * @param value New value to be written to the model.\n */\n writeValue(value: any[]): void {\n if (value) {\n if (!Array.isArray(value)) {\n throw Error('Value must be an array.');\n }\n\n value.forEach((currentValue: any) => this._selectValue(currentValue));\n this.selectedItems = value;\n }\n\n this._checkMasterCheckboxState();\n this._changeDetectorRef.markForCheck();\n }\n\n /**\n * Registers a callback to be triggered when the model value changes.\n * Implemented as part of ControlValueAccessor.\n * @param fn Callback to be registered.\n */\n registerOnChange(fn: (value: MtxCheckboxGroupOption[]) => {}): void {\n this._onChange = fn;\n }\n\n /**\n * Registers a callback to be triggered when the control is touched.\n * Implemented as part of ControlValueAccessor.\n * @param fn Callback to be registered.\n */\n registerOnTouched(fn: () => {}): void {\n this._onTouched = fn;\n }\n\n /**\n * Sets the disabled state of the control. Implemented as a part of ControlValueAccessor.\n * @param isDisabled Whether the control should be disabled.\n */\n setDisabledState(isDisabled: boolean) {\n this._disabled = isDisabled;\n }\n\n private _checkMasterCheckboxState() {\n if (\n this.items\n .filter(option => option.checked || !option.disabled)\n .every(option => !option.checked)\n ) {\n this.selectAll = false;\n this.selectAllIndeterminate = false;\n } else if (\n this.items\n .filter(option => option.checked || !option.disabled)\n .every(option => option.checked)\n ) {\n this.selectAll = true;\n this.selectAllIndeterminate = false;\n } else {\n this.selectAllIndeterminate = true;\n }\n }\n\n private _getSelectedItems(index: number) {\n this.selectedItems = this.items.filter(option => option.checked);\n\n if (this._compareWith) {\n this.selectedItems = this._originalItems.filter(option =>\n this.selectedItems.find(selectedOption => this._compareWith(option, selectedOption))\n );\n } else {\n this.selectedItems = this.selectedItems.map(option => option[this.bindValue]);\n }\n\n this._onChange(this.selectedItems);\n\n this.change.emit({ model: this.selectedItems, index });\n }\n\n /** Handle normal checkbox toggle */\n _updateNormalCheckboxState(e: boolean, index: number): void {\n this._checkMasterCheckboxState();\n this._getSelectedItems(index);\n }\n\n /** Handle master checkbox toggle */\n _updateMasterCheckboxState(e: boolean, index: number): void {\n this.selectAll = !this.selectAll;\n this.selectAllIndeterminate = false;\n\n if (this.selectAll) {\n this.items\n .filter(option => option.checked || !option.disabled)\n .forEach(option => (option.checked = true));\n } else {\n this.items\n .filter(option => option.checked || !option.disabled)\n .forEach(option => (option.checked = !!option.disabled));\n }\n\n this._getSelectedItems(index);\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\nimport { MatCheckboxModule } from '@angular/material/checkbox';\n\nimport { MtxUtilsModule } from '@ng-matero/extensions/utils';\nimport { MtxCheckboxGroupComponent } from './checkbox-group.component';\n\n@NgModule({\n imports: [CommonModule, FormsModule, MatCheckboxModule, MtxUtilsModule],\n exports: [MtxCheckboxGroupComponent],\n declarations: [MtxCheckboxGroupComponent],\n})\nexport class MtxCheckboxGroupModule {}\n"],"names":["EventEmitter","coerceBooleanProperty","Component","ViewEncapsulation","ChangeDetectionStrategy","NG_VALUE_ACCESSOR","forwardRef","ChangeDetectorRef","ContentChildren","MatCheckbox","Input","Output","NgModule","CommonModule","FormsModule","MatCheckboxModule","MtxUtilsModule"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"mtxCheckboxGroup.umd.js","sources":["../../../projects/extensions/checkbox-group/checkbox-group.component.ts","../../../projects/extensions/checkbox-group/checkbox-group.module.ts"],"sourcesContent":["import {\n Component,\n ChangeDetectionStrategy,\n ViewEncapsulation,\n Input,\n Output,\n EventEmitter,\n ChangeDetectorRef,\n forwardRef,\n AfterViewInit,\n ContentChildren,\n QueryList,\n ElementRef,\n OnDestroy,\n} from '@angular/core';\nimport { NG_VALUE_ACCESSOR, ControlValueAccessor } from '@angular/forms';\nimport { FocusMonitor } from '@angular/cdk/a11y';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { MatCheckbox, MatCheckboxChange } from '@angular/material/checkbox';\nimport { MtxCheckboxGroupOption } from './checkbox-group.interface';\n\nexport class MtxCheckboxBase {\n constructor(public label?: any, public value?: any) {}\n}\n\n@Component({\n selector: 'mtx-checkbox-group',\n exportAs: 'mtxCheckboxGroup',\n host: {\n class: 'mtx-checkbox-group',\n },\n templateUrl: './checkbox-group.component.html',\n styleUrls: ['./checkbox-group.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => MtxCheckboxGroupComponent),\n multi: true,\n },\n ],\n})\nexport class MtxCheckboxGroupComponent implements AfterViewInit, OnDestroy, ControlValueAccessor {\n @ContentChildren(forwardRef(() => MatCheckbox), { descendants: true })\n _checkboxes: QueryList<MatCheckbox>;\n\n @Input()\n get items() {\n return this._items;\n }\n set items(value: any[]) {\n // TODO: Deep clone\n this._originalItems = JSON.parse(JSON.stringify(value));\n this._items = value.map(option => {\n return option instanceof Object ? option : new MtxCheckboxBase(option, option);\n });\n }\n private _items: any[] = [];\n private _originalItems: any[] = [];\n\n @Input() bindLabel = 'label';\n\n @Input() bindValue = 'value';\n\n @Input()\n get showSelectAll(): boolean {\n return this._showSelectAll;\n }\n set showSelectAll(value: boolean) {\n this._showSelectAll = coerceBooleanProperty(value);\n }\n private _showSelectAll = false;\n\n @Input() selectAllLabel = 'Select All';\n\n @Input()\n get compareWith() {\n return this._compareWith;\n }\n set compareWith(fn: (o1: any, o2: any) => boolean) {\n if (typeof fn !== 'function') {\n throw Error('`compareWith` must be a function.');\n }\n\n if (fn) {\n this._compareWith = fn;\n }\n }\n private _compareWith: (o1: any, o2: any) => boolean;\n\n @Input()\n get disabled(): boolean {\n return this._disabled;\n }\n set disabled(value: boolean) {\n this._disabled = coerceBooleanProperty(value);\n }\n private _disabled = false;\n\n @Output() change = new EventEmitter<{ model: MtxCheckboxGroupOption[]; index: number }>();\n\n selectAll = false;\n selectAllIndeterminate = false;\n\n selectedItems: MtxCheckboxGroupOption[] = [];\n\n _onChange: (value: MtxCheckboxGroupOption[]) => void = () => null;\n _onTouched: () => void = () => null;\n\n constructor(\n private _changeDetectorRef: ChangeDetectorRef,\n private _focusMonitor: FocusMonitor,\n private _elementRef: ElementRef<HTMLElement>\n ) {}\n\n ngAfterViewInit() {\n this._focusMonitor.monitor(this._elementRef, true).subscribe(focusOrigin => {\n if (!focusOrigin) {\n // When a focused element becomes disabled, the browser *immediately* fires a blur event.\n // Angular does not expect events to be raised during change detection, so any state change\n // (such as a form control's 'ng-touched') will cause a changed-after-checked error.\n // See https://github.com/angular/angular/issues/17793. To work around this, we defer\n // telling the form control it has been touched until the next tick.\n Promise.resolve().then(() => {\n this._onTouched();\n this._changeDetectorRef.markForCheck();\n });\n }\n });\n }\n\n ngOnDestroy() {\n this._focusMonitor.stopMonitoring(this._elementRef);\n }\n\n /**\n * Finds and selects and option based on its value.\n * @returns Option that has the corresponding value.\n */\n private _selectValue(value: MtxCheckboxGroupOption) {\n const correspondingOption = (this.items as MtxCheckboxGroupOption[]).find(option => {\n try {\n const compareValue = option[this.bindValue] === value;\n return this._compareWith ? this._compareWith(option, value) : compareValue;\n } catch (error) {\n console.warn(error);\n return false;\n }\n });\n\n if (correspondingOption) {\n correspondingOption.checked = true;\n }\n\n return correspondingOption;\n }\n\n /**\n * Sets the model value. Implemented as part of ControlValueAccessor.\n * @param value New value to be written to the model.\n */\n writeValue(value: any[]): void {\n if (value) {\n if (!Array.isArray(value)) {\n throw Error('Value must be an array.');\n }\n\n value.forEach((currentValue: any) => this._selectValue(currentValue));\n this.selectedItems = value;\n }\n\n this._checkMasterCheckboxState();\n this._changeDetectorRef.markForCheck();\n }\n\n /**\n * Registers a callback to be triggered when the model value changes.\n * Implemented as part of ControlValueAccessor.\n * @param fn Callback to be registered.\n */\n registerOnChange(fn: (value: MtxCheckboxGroupOption[]) => {}): void {\n this._onChange = fn;\n }\n\n /**\n * Registers a callback to be triggered when the control is touched.\n * Implemented as part of ControlValueAccessor.\n * @param fn Callback to be registered.\n */\n registerOnTouched(fn: () => {}): void {\n this._onTouched = fn;\n }\n\n /**\n * Sets the disabled state of the control. Implemented as a part of ControlValueAccessor.\n * @param isDisabled Whether the control should be disabled.\n */\n setDisabledState(isDisabled: boolean) {\n this._disabled = isDisabled;\n }\n\n private _checkMasterCheckboxState() {\n if (\n (this.items as MtxCheckboxGroupOption[])\n .filter(option => option.checked || !option.disabled)\n .every(option => !option.checked)\n ) {\n this.selectAll = false;\n this.selectAllIndeterminate = false;\n } else if (\n (this.items as MtxCheckboxGroupOption[])\n .filter(option => option.checked || !option.disabled)\n .every(option => option.checked)\n ) {\n this.selectAll = true;\n this.selectAllIndeterminate = false;\n } else {\n this.selectAllIndeterminate = true;\n }\n }\n\n private _getSelectedItems(index: number) {\n this.selectedItems = (this.items as MtxCheckboxGroupOption[]).filter(option => option.checked);\n\n if (this._compareWith) {\n this.selectedItems = (this._originalItems as MtxCheckboxGroupOption[]).filter(option =>\n this.selectedItems.find(selectedOption => this._compareWith(option, selectedOption))\n );\n } else {\n this.selectedItems = this.selectedItems.map(option => option[this.bindValue]);\n }\n\n this._onChange(this.selectedItems);\n\n this.change.emit({ model: this.selectedItems, index });\n }\n\n /** Handle normal checkbox toggle */\n _updateNormalCheckboxState(e: MatCheckboxChange, index: number): void {\n this._checkMasterCheckboxState();\n this._getSelectedItems(index);\n }\n\n /** Handle master checkbox toggle */\n _updateMasterCheckboxState(e: MatCheckboxChange, index: number): void {\n this.selectAll = !this.selectAll;\n this.selectAllIndeterminate = false;\n\n if (this.selectAll) {\n (this.items as MtxCheckboxGroupOption[])\n .filter(option => option.checked || !option.disabled)\n .forEach(option => (option.checked = true));\n } else {\n (this.items as MtxCheckboxGroupOption[])\n .filter(option => option.checked || !option.disabled)\n .forEach(option => (option.checked = !!option.disabled));\n }\n\n this._getSelectedItems(index);\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\nimport { MatCheckboxModule } from '@angular/material/checkbox';\n\nimport { MtxUtilsModule } from '@ng-matero/extensions/utils';\nimport { MtxCheckboxGroupComponent } from './checkbox-group.component';\n\n@NgModule({\n imports: [CommonModule, FormsModule, MatCheckboxModule, MtxUtilsModule],\n exports: [MtxCheckboxGroupComponent],\n declarations: [MtxCheckboxGroupComponent],\n})\nexport class MtxCheckboxGroupModule {}\n"],"names":["EventEmitter","coerceBooleanProperty","Component","ViewEncapsulation","ChangeDetectionStrategy","NG_VALUE_ACCESSOR","forwardRef","ChangeDetectorRef","FocusMonitor","ElementRef","ContentChildren","MatCheckbox","Input","Output","NgModule","CommonModule","FormsModule","MatCheckboxModule","MtxUtilsModule"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/core"),require("@angular/common"),require("@angular/forms"),require("@angular/material/checkbox"),require("@ng-matero/extensions/utils"),require("@angular/cdk/coercion")):"function"==typeof define&&define.amd?define("@ng-matero/extensions/checkbox-group",["exports","@angular/core","@angular/common","@angular/forms","@angular/material/checkbox","@ng-matero/extensions/utils","@angular/cdk/coercion"],t):t(((e="undefined"!=typeof globalThis?globalThis:e||self)["ng-matero"]=e["ng-matero"]||{},e["ng-matero"].extensions=e["ng-matero"].extensions||{},e["ng-matero"].extensions["checkbox-group"]={}),e.ng.core,e.ng.common,e.ng.forms,e.ng.material.checkbox,e["ng-matero"].extensions.utils,e.ng.cdk.coercion)}(this,(function(e,t,n,o,i,r,c){"use strict";var
|
|
1
|
+
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/core"),require("@angular/common"),require("@angular/forms"),require("@angular/material/checkbox"),require("@ng-matero/extensions/utils"),require("@angular/cdk/a11y"),require("@angular/cdk/coercion")):"function"==typeof define&&define.amd?define("@ng-matero/extensions/checkbox-group",["exports","@angular/core","@angular/common","@angular/forms","@angular/material/checkbox","@ng-matero/extensions/utils","@angular/cdk/a11y","@angular/cdk/coercion"],t):t(((e="undefined"!=typeof globalThis?globalThis:e||self)["ng-matero"]=e["ng-matero"]||{},e["ng-matero"].extensions=e["ng-matero"].extensions||{},e["ng-matero"].extensions["checkbox-group"]={}),e.ng.core,e.ng.common,e.ng.forms,e.ng.material.checkbox,e["ng-matero"].extensions.utils,e.ng.cdk.a11y,e.ng.cdk.coercion)}(this,(function(e,t,n,o,i,r,c,s){"use strict";var a=function(e,t){this.label=e,this.value=t};var l=function(){function e(e,n,o){this._changeDetectorRef=e,this._focusMonitor=n,this._elementRef=o,this._items=[],this._originalItems=[],this.bindLabel="label",this.bindValue="value",this._showSelectAll=!1,this.selectAllLabel="Select All",this._disabled=!1,this.change=new t.EventEmitter,this.selectAll=!1,this.selectAllIndeterminate=!1,this.selectedItems=[],this._onChange=function(){return null},this._onTouched=function(){return null}}return Object.defineProperty(e.prototype,"items",{get:function(){return this._items},set:function(e){this._originalItems=JSON.parse(JSON.stringify(e)),this._items=e.map((function(e){return e instanceof Object?e:new a(e,e)}))},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"showSelectAll",{get:function(){return this._showSelectAll},set:function(e){this._showSelectAll=s.coerceBooleanProperty(e)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"compareWith",{get:function(){return this._compareWith},set:function(e){if("function"!=typeof e)throw Error("`compareWith` must be a function.");e&&(this._compareWith=e)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"disabled",{get:function(){return this._disabled},set:function(e){this._disabled=s.coerceBooleanProperty(e)},enumerable:!1,configurable:!0}),e.prototype.ngAfterViewInit=function(){var e=this;this._focusMonitor.monitor(this._elementRef,!0).subscribe((function(t){t||Promise.resolve().then((function(){e._onTouched(),e._changeDetectorRef.markForCheck()}))}))},e.prototype.ngOnDestroy=function(){this._focusMonitor.stopMonitoring(this._elementRef)},e.prototype._selectValue=function(e){var t=this,n=this.items.find((function(n){try{var o=n[t.bindValue]===e;return t._compareWith?t._compareWith(n,e):o}catch(e){return console.warn(e),!1}}));return n&&(n.checked=!0),n},e.prototype.writeValue=function(e){var t=this;if(e){if(!Array.isArray(e))throw Error("Value must be an array.");e.forEach((function(e){return t._selectValue(e)})),this.selectedItems=e}this._checkMasterCheckboxState(),this._changeDetectorRef.markForCheck()},e.prototype.registerOnChange=function(e){this._onChange=e},e.prototype.registerOnTouched=function(e){this._onTouched=e},e.prototype.setDisabledState=function(e){this._disabled=e},e.prototype._checkMasterCheckboxState=function(){this.items.filter((function(e){return e.checked||!e.disabled})).every((function(e){return!e.checked}))?(this.selectAll=!1,this.selectAllIndeterminate=!1):this.items.filter((function(e){return e.checked||!e.disabled})).every((function(e){return e.checked}))?(this.selectAll=!0,this.selectAllIndeterminate=!1):this.selectAllIndeterminate=!0},e.prototype._getSelectedItems=function(e){var t=this;this.selectedItems=this.items.filter((function(e){return e.checked})),this._compareWith?this.selectedItems=this._originalItems.filter((function(e){return t.selectedItems.find((function(n){return t._compareWith(e,n)}))})):this.selectedItems=this.selectedItems.map((function(e){return e[t.bindValue]})),this._onChange(this.selectedItems),this.change.emit({model:this.selectedItems,index:e})},e.prototype._updateNormalCheckboxState=function(e,t){this._checkMasterCheckboxState(),this._getSelectedItems(t)},e.prototype._updateMasterCheckboxState=function(e,t){this.selectAll=!this.selectAll,this.selectAllIndeterminate=!1,this.selectAll?this.items.filter((function(e){return e.checked||!e.disabled})).forEach((function(e){return e.checked=!0})):this.items.filter((function(e){return e.checked||!e.disabled})).forEach((function(e){return e.checked=!!e.disabled})),this._getSelectedItems(t)},e}();l.decorators=[{type:t.Component,args:[{selector:"mtx-checkbox-group",exportAs:"mtxCheckboxGroup",host:{class:"mtx-checkbox-group"},template:'<mat-checkbox class="mtx-checkbox-master"\n *ngIf="showSelectAll"\n [checked]="selectAll"\n [(indeterminate)]="selectAllIndeterminate"\n [disabled]="disabled"\n (change)="_updateMasterCheckboxState($event, -1);">\n {{selectAllLabel}}\n</mat-checkbox>\n\n<mat-checkbox class="mtx-checkbox-normal"\n *ngFor="let option of items; let i = index;"\n [(ngModel)]="option.checked"\n [aria-describedby]="option.ariaDescribedby"\n [aria-label]="option.ariaLabel"\n [aria-labelledby]="option.ariaLabelledby"\n [color]="option.color"\n [disabled]="option.disabled || disabled"\n [disableRipple]="option.disableRipple"\n [labelPosition]="option.labelPosition"\n [required]="option.required"\n (change)="_updateNormalCheckboxState($event, i)">\n {{option[bindLabel] | toObservable | async}}\n</mat-checkbox>\n',encapsulation:t.ViewEncapsulation.None,changeDetection:t.ChangeDetectionStrategy.OnPush,providers:[{provide:o.NG_VALUE_ACCESSOR,useExisting:t.forwardRef((function(){return l})),multi:!0}],styles:[".mtx-checkbox-group{display:block}.mtx-checkbox-group .mat-checkbox{margin-right:16px}[dir=rtl] .mtx-checkbox-group .mat-checkbox{margin-left:16px;margin-right:auto}"]}]}],l.ctorParameters=function(){return[{type:t.ChangeDetectorRef},{type:c.FocusMonitor},{type:t.ElementRef}]},l.propDecorators={_checkboxes:[{type:t.ContentChildren,args:[t.forwardRef((function(){return i.MatCheckbox})),{descendants:!0}]}],items:[{type:t.Input}],bindLabel:[{type:t.Input}],bindValue:[{type:t.Input}],showSelectAll:[{type:t.Input}],selectAllLabel:[{type:t.Input}],compareWith:[{type:t.Input}],disabled:[{type:t.Input}],change:[{type:t.Output}]};var u=function(){};u.decorators=[{type:t.NgModule,args:[{imports:[n.CommonModule,o.FormsModule,i.MatCheckboxModule,r.MtxUtilsModule],exports:[l],declarations:[l]}]}],e.MtxCheckboxBase=a,e.MtxCheckboxGroupComponent=l,e.MtxCheckboxGroupModule=u,Object.defineProperty(e,"__esModule",{value:!0})}));
|
|
2
2
|
//# sourceMappingURL=mtxCheckboxGroup.umd.min.js.map
|