ngx-rs-ant 0.0.2 → 0.0.4
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/README.md +27 -27
- package/esm2020/modal/modal.component.mjs +138 -0
- package/esm2020/modal/modal.module.mjs +28 -0
- package/esm2020/modal/modal.service.mjs +28 -0
- package/esm2020/public-api.mjs +3 -3
- package/fesm2015/ngx-rs-ant.mjs +167 -30
- package/fesm2015/ngx-rs-ant.mjs.map +1 -1
- package/fesm2020/ngx-rs-ant.mjs +167 -30
- package/fesm2020/ngx-rs-ant.mjs.map +1 -1
- package/modal/modal.component.d.ts +32 -0
- package/modal/modal.module.d.ts +9 -0
- package/modal/modal.service.d.ts +9 -0
- package/package.json +2 -1
- package/public-api.d.ts +2 -2
- package/rs-ant.scss +1 -0
- package/alert/alert.component.d.ts +0 -14
- package/alert/alert.module.d.ts +0 -8
- package/esm2020/alert/alert.component.mjs +0 -28
- package/esm2020/alert/alert.module.mjs +0 -26
package/README.md
CHANGED
|
@@ -1,27 +1,27 @@
|
|
|
1
|
-
# RsAnt
|
|
2
|
-
|
|
3
|
-
This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 13.3.0.
|
|
4
|
-
|
|
5
|
-
## Code scaffolding
|
|
6
|
-
|
|
7
|
-
Run `ng generate component component-name --project rs-ant` to generate a new component. You can also
|
|
8
|
-
use `ng generate directive|pipe|service|class|guard|interface|enum|module --project rs-ant`.
|
|
9
|
-
> Note: Don't forget to add `--project rs-ant` or else it will be added to the default project in your `angular.json`
|
|
10
|
-
> file.
|
|
11
|
-
|
|
12
|
-
## Build
|
|
13
|
-
|
|
14
|
-
Run `ng build rs-ant` to build the project. The build artifacts will be stored in the `dist/` directory.
|
|
15
|
-
|
|
16
|
-
## Publishing
|
|
17
|
-
|
|
18
|
-
After building your library with `ng build rs-ant`, go to the dist folder `cd dist/rs-ant` and run `npm publish`.
|
|
19
|
-
|
|
20
|
-
## Running unit tests
|
|
21
|
-
|
|
22
|
-
Run `ng test rs-ant` to execute the unit tests via [Karma](https://karma-runner.github.io).
|
|
23
|
-
|
|
24
|
-
## Further help
|
|
25
|
-
|
|
26
|
-
To get more help on the Angular CLI use `ng help` or go check out
|
|
27
|
-
the [Angular CLI Overview and Command Reference](https://angular.io/cli) page.
|
|
1
|
+
# RsAnt
|
|
2
|
+
|
|
3
|
+
This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 13.3.0.
|
|
4
|
+
|
|
5
|
+
## Code scaffolding
|
|
6
|
+
|
|
7
|
+
Run `ng generate component component-name --project rs-ant` to generate a new component. You can also
|
|
8
|
+
use `ng generate directive|pipe|service|class|guard|interface|enum|module --project rs-ant`.
|
|
9
|
+
> Note: Don't forget to add `--project rs-ant` or else it will be added to the default project in your `angular.json`
|
|
10
|
+
> file.
|
|
11
|
+
|
|
12
|
+
## Build
|
|
13
|
+
|
|
14
|
+
Run `ng build rs-ant` to build the project. The build artifacts will be stored in the `dist/` directory.
|
|
15
|
+
|
|
16
|
+
## Publishing
|
|
17
|
+
|
|
18
|
+
After building your library with `ng build rs-ant`, go to the dist folder `cd dist/rs-ant` and run `npm publish`.
|
|
19
|
+
|
|
20
|
+
## Running unit tests
|
|
21
|
+
|
|
22
|
+
Run `ng test rs-ant` to execute the unit tests via [Karma](https://karma-runner.github.io).
|
|
23
|
+
|
|
24
|
+
## Further help
|
|
25
|
+
|
|
26
|
+
To get more help on the Angular CLI use `ng help` or go check out
|
|
27
|
+
the [Angular CLI Overview and Command Reference](https://angular.io/cli) page.
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
import { Component, HostListener, Input, ViewChild } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "ng-devui/card";
|
|
4
|
+
import * as i2 from "@angular/common";
|
|
5
|
+
export class ModalComponent {
|
|
6
|
+
constructor(elementRef) {
|
|
7
|
+
this.elementRef = elementRef;
|
|
8
|
+
this.size = 'default';
|
|
9
|
+
this._width = 480;
|
|
10
|
+
this.movable = false;
|
|
11
|
+
this.topStart = 0;
|
|
12
|
+
this.leftStart = 0;
|
|
13
|
+
}
|
|
14
|
+
ngOnInit() {
|
|
15
|
+
if (this.size === 'full') {
|
|
16
|
+
this.modalElementRef.nativeElement.style.top = '0px';
|
|
17
|
+
this.modalElementRef.nativeElement.style.right = '0px';
|
|
18
|
+
this.modalElementRef.nativeElement.style.bottom = '0px';
|
|
19
|
+
this.modalElementRef.nativeElement.style.left = '0px';
|
|
20
|
+
this.modalElementRef.nativeElement.style.margin = '2px';
|
|
21
|
+
this.modalElementRef.nativeElement.style.boxShadow = 'none';
|
|
22
|
+
}
|
|
23
|
+
else {
|
|
24
|
+
if (this.size === 'large') {
|
|
25
|
+
this._width = 960;
|
|
26
|
+
}
|
|
27
|
+
this.modalElementRef.nativeElement.style.width = this._width + 'px';
|
|
28
|
+
this.modalElementRef.nativeElement.style.top = '40px';
|
|
29
|
+
this.modalElementRef.nativeElement.style.left =
|
|
30
|
+
(this.elementRef.nativeElement.parentElement.offsetWidth - this.modalElementRef.nativeElement.offsetWidth) / 2 + 'px';
|
|
31
|
+
this.moveHandleEl = this.elementRef.nativeElement.querySelector('d-card-header');
|
|
32
|
+
this.moveHandleEl.style.cursor = 'move';
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
show() {
|
|
36
|
+
// 若存在多层模态框,仅保留最上层遮罩颜色,下层遮罩设置为透明
|
|
37
|
+
const parentElement = this.elementRef.nativeElement.parentElement;
|
|
38
|
+
const nodeName = this.elementRef.nativeElement.nodeName;
|
|
39
|
+
const modals = parentElement.querySelectorAll(nodeName);
|
|
40
|
+
for (let i = 0; i < modals.length; i++) {
|
|
41
|
+
if (i === modals.length - 1) {
|
|
42
|
+
modals[i].querySelector('.modal-backdrop').style.backgroundColor = 'rgba(37, 43, 58, 0.05)';
|
|
43
|
+
}
|
|
44
|
+
else {
|
|
45
|
+
modals[i].querySelector('.modal-backdrop').style.backgroundColor = 'rgba(37, 43, 58, 0)';
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
hide() {
|
|
50
|
+
// 在service中重写
|
|
51
|
+
}
|
|
52
|
+
ngOnDestroy() {
|
|
53
|
+
// 若存在多层模态框,下一层遮罩设置为不透明
|
|
54
|
+
const parentElement = this.elementRef.nativeElement.parentElement;
|
|
55
|
+
const nodeName = this.elementRef.nativeElement.nodeName;
|
|
56
|
+
const nextModal = parentElement.querySelector(nodeName + ':nth-last-child(2)');
|
|
57
|
+
if (nextModal) {
|
|
58
|
+
nextModal.querySelector('.modal-backdrop').style.backgroundColor = 'rgba(37, 43, 58, 0.05)';
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
resolveModalBackdropPosition() {
|
|
62
|
+
return {
|
|
63
|
+
"width": this.elementRef.nativeElement.parentElement.offsetWidth + 'px',
|
|
64
|
+
"height": this.elementRef.nativeElement.parentElement.offsetHeight + 'px',
|
|
65
|
+
"top": this.elementRef.nativeElement.parentElement.offsetTop + 'px',
|
|
66
|
+
"left": this.elementRef.nativeElement.parentElement.offsetLeft + 'px',
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
onMousedown($event) {
|
|
70
|
+
if ($event.button === 2 || !this.checkHandleTarget($event.target, this.moveHandleEl)) {
|
|
71
|
+
return;
|
|
72
|
+
}
|
|
73
|
+
this.movable = true;
|
|
74
|
+
this.topStart = $event.clientY - this.modalElementRef.nativeElement.style.top.replace('px', '');
|
|
75
|
+
this.leftStart = $event.clientX - this.modalElementRef.nativeElement.style.left.replace('px', '');
|
|
76
|
+
}
|
|
77
|
+
checkHandleTarget(target, element) {
|
|
78
|
+
if (!element) {
|
|
79
|
+
return false;
|
|
80
|
+
}
|
|
81
|
+
if (target === element) {
|
|
82
|
+
return true;
|
|
83
|
+
}
|
|
84
|
+
for (let child in element.children) {
|
|
85
|
+
if (Object.prototype.hasOwnProperty.call(element.children, child)) {
|
|
86
|
+
if (this.checkHandleTarget(target, element.children[child])) {
|
|
87
|
+
return true;
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
return false;
|
|
92
|
+
}
|
|
93
|
+
onMouseup() {
|
|
94
|
+
this.movable = false;
|
|
95
|
+
}
|
|
96
|
+
onMousemove($event) {
|
|
97
|
+
if (!this.movable) {
|
|
98
|
+
return;
|
|
99
|
+
}
|
|
100
|
+
$event.stopPropagation();
|
|
101
|
+
$event.preventDefault();
|
|
102
|
+
const element = this.modalElementRef.nativeElement;
|
|
103
|
+
let currentTop = $event.clientY - this.topStart;
|
|
104
|
+
let currentLeft = $event.clientX - this.leftStart;
|
|
105
|
+
currentTop = currentTop < 0 ? 0 : currentTop;
|
|
106
|
+
const maxTop = element.parentElement.offsetHeight - element.offsetHeight;
|
|
107
|
+
currentTop = currentTop > maxTop ? maxTop : currentTop;
|
|
108
|
+
currentLeft = currentLeft < 0 ? 0 : currentLeft;
|
|
109
|
+
const maxLeft = element.parentElement.offsetWidth - element.offsetWidth;
|
|
110
|
+
currentLeft = currentLeft > maxLeft ? maxLeft : currentLeft;
|
|
111
|
+
element.style.top = currentTop + 'px';
|
|
112
|
+
element.style.left = currentLeft + 'px';
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
ModalComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ModalComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
116
|
+
ModalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: ModalComponent, selector: "rs-modal", inputs: { title: "title", size: "size", contentTemplate: "contentTemplate", contentTemplateContext: "contentTemplateContext" }, host: { listeners: { "document:mouseup": "onMouseup($event)", "document:mousemove": "onMousemove($event)" } }, viewQueries: [{ propertyName: "modalElementRef", first: true, predicate: ["modal"], descendants: true, static: true }], ngImport: i0, template: "<div class=\"modal-backdrop\" [ngStyle]=\"resolveModalBackdropPosition()\">\n <div #modal class=\"modal\">\n <d-card>\n <i class=\"icon-close\" (click)=\"hide()\"></i>\n <d-card-header (mousedown)=\"onMousedown($event)\">\n <d-card-title>{{title}}</d-card-title>\n </d-card-header>\n <d-card-content>\n <ng-template [ngTemplateOutlet]=\"contentTemplate\"\n [ngTemplateOutletContext]=\"contentTemplateContext\"></ng-template>\n </d-card-content>\n </d-card>\n </div>\n</div>\n", styles: [".modal-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;z-index:calc(var(--devui-z-index-modal, 1050) - 1)}.modal{position:absolute;top:0;left:0;z-index:var(--devui-z-index-modal, 1050);max-width:100%;background-color:var(--devui-base-bg, #ffffff);border-radius:var(--devui-border-radius-card, 6px);box-shadow:var(--devui-shadow-fullscreen-overlay, 0 8px 40px 0) var(--devui-shadow, rgba(37, 43, 58, .2))}d-card{height:100%;background-color:var(--devui-base-bg, #ffffff);display:flex;flex-flow:column nowrap}d-card i{position:absolute;top:12px;right:12px;padding:4px;font-size:var(--devui-font-size-card-title, 14px)}d-card i:hover{cursor:pointer;color:var(--devui-danger, #f66f6a);background-color:var(--devui-info-bg, #f2f5fc)}d-card d-card-header{border-bottom:1px solid var(--devui-dividing-line, #f2f2f3)}d-card d-card-content{flex:auto;display:flex;flex-flow:column}\n"], components: [{ type: i1.CardComponent, selector: "d-card", exportAs: ["dCard"] }, { type: i1.CardHeaderComponent, selector: "d-card-header" }], directives: [{ type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i1.CardTitleDirective, selector: "d-card-title, [dCardTitle]" }, { type: i1.CardContentDirective, selector: "d-card-content, [dCardContent]" }, { type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }] });
|
|
117
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ModalComponent, decorators: [{
|
|
118
|
+
type: Component,
|
|
119
|
+
args: [{ selector: 'rs-modal', template: "<div class=\"modal-backdrop\" [ngStyle]=\"resolveModalBackdropPosition()\">\n <div #modal class=\"modal\">\n <d-card>\n <i class=\"icon-close\" (click)=\"hide()\"></i>\n <d-card-header (mousedown)=\"onMousedown($event)\">\n <d-card-title>{{title}}</d-card-title>\n </d-card-header>\n <d-card-content>\n <ng-template [ngTemplateOutlet]=\"contentTemplate\"\n [ngTemplateOutletContext]=\"contentTemplateContext\"></ng-template>\n </d-card-content>\n </d-card>\n </div>\n</div>\n", styles: [".modal-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;z-index:calc(var(--devui-z-index-modal, 1050) - 1)}.modal{position:absolute;top:0;left:0;z-index:var(--devui-z-index-modal, 1050);max-width:100%;background-color:var(--devui-base-bg, #ffffff);border-radius:var(--devui-border-radius-card, 6px);box-shadow:var(--devui-shadow-fullscreen-overlay, 0 8px 40px 0) var(--devui-shadow, rgba(37, 43, 58, .2))}d-card{height:100%;background-color:var(--devui-base-bg, #ffffff);display:flex;flex-flow:column nowrap}d-card i{position:absolute;top:12px;right:12px;padding:4px;font-size:var(--devui-font-size-card-title, 14px)}d-card i:hover{cursor:pointer;color:var(--devui-danger, #f66f6a);background-color:var(--devui-info-bg, #f2f5fc)}d-card d-card-header{border-bottom:1px solid var(--devui-dividing-line, #f2f2f3)}d-card d-card-content{flex:auto;display:flex;flex-flow:column}\n"] }]
|
|
120
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { title: [{
|
|
121
|
+
type: Input
|
|
122
|
+
}], size: [{
|
|
123
|
+
type: Input
|
|
124
|
+
}], modalElementRef: [{
|
|
125
|
+
type: ViewChild,
|
|
126
|
+
args: ['modal', { static: true }]
|
|
127
|
+
}], contentTemplate: [{
|
|
128
|
+
type: Input
|
|
129
|
+
}], contentTemplateContext: [{
|
|
130
|
+
type: Input
|
|
131
|
+
}], onMouseup: [{
|
|
132
|
+
type: HostListener,
|
|
133
|
+
args: ['document:mouseup', ['$event']]
|
|
134
|
+
}], onMousemove: [{
|
|
135
|
+
type: HostListener,
|
|
136
|
+
args: ['document:mousemove', ['$event']]
|
|
137
|
+
}] } });
|
|
138
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvcnMtYW50L3NyYy9tb2RhbC9tb2RhbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wcm9qZWN0cy9ycy1hbnQvc3JjL21vZGFsL21vZGFsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQWMsWUFBWSxFQUFFLEtBQUssRUFBa0MsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDOzs7O0FBT3BILE1BQU0sT0FBTyxjQUFjO0lBY3pCLFlBQW1CLFVBQXNCO1FBQXRCLGVBQVUsR0FBVixVQUFVLENBQVk7UUFaaEMsU0FBSSxHQUFpQyxTQUFTLENBQUM7UUFDeEQsV0FBTSxHQUFXLEdBQUcsQ0FBQztRQUdyQixZQUFPLEdBQVksS0FBSyxDQUFDO1FBQ3pCLGFBQVEsR0FBRyxDQUFDLENBQUM7UUFDYixjQUFTLEdBQUcsQ0FBQyxDQUFDO0lBT2QsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssTUFBTSxFQUFFO1lBQ3hCLElBQUksQ0FBQyxlQUFlLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxHQUFHLEdBQUcsS0FBSyxDQUFDO1lBQ3JELElBQUksQ0FBQyxlQUFlLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1lBQ3ZELElBQUksQ0FBQyxlQUFlLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1lBQ3hELElBQUksQ0FBQyxlQUFlLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDO1lBQ3RELElBQUksQ0FBQyxlQUFlLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1lBQ3hELElBQUksQ0FBQyxlQUFlLENBQUMsYUFB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QUMsS0FBSyxDQUFDLElBQUksR0FBRyxXQUFXLEdBQUcsSUFBSSxDQUFDO0lBQzFDLENBQUM7OzRHQTVIVSxjQUFjO2dHQUFkLGNBQWMsdVpDUDNCLGdpQkFjQTs0RkRQYSxjQUFjO2tCQUwxQixTQUFTOytCQUNFLFVBQVU7aUdBS1gsS0FBSztzQkFBYixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFFOEIsZUFBZTtzQkFBbEQsU0FBUzt1QkFBQyxPQUFPLEVBQUUsRUFBQyxNQUFNLEVBQUUsSUFBSSxFQUFDO2dCQU1sQyxlQUFlO3NCQURkLEtBQUs7Z0JBR04sc0JBQXNCO3NCQURyQixLQUFLO2dCQTJGTixTQUFTO3NCQURSLFlBQVk7dUJBQUMsa0JBQWtCLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBTTVDLFdBQVc7c0JBRFYsWUFBWTt1QkFBQyxvQkFBb0IsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBFbGVtZW50UmVmLCBIb3N0TGlzdGVuZXIsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgVGVtcGxhdGVSZWYsIFZpZXdDaGlsZH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3JzLW1vZGFsJyxcbiAgdGVtcGxhdGVVcmw6ICcuL21vZGFsLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbW9kYWwuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBNb2RhbENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgQElucHV0KCkgdGl0bGUhOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHNpemU6ICdkZWZhdWx0JyB8ICdsYXJnZScgfCAnZnVsbCcgPSAnZGVmYXVsdCc7XG4gIF93aWR0aDogbnVtYmVyID0gNDgwO1xuICBAVmlld0NoaWxkKCdtb2RhbCcsIHtzdGF0aWM6IHRydWV9KSBtb2RhbEVsZW1lbnRSZWYhOiBFbGVtZW50UmVmO1xuICBtb3ZlSGFuZGxlRWwhOiBIVE1MRWxlbWVudDtcbiAgbW92YWJsZTogYm9vbGVhbiA9IGZhbHNlO1xuICB0b3BTdGFydCA9IDA7XG4gIGxlZnRTdGFydCA9IDA7XG4gIEBJbnB1dCgpXG4gIGNvbnRlbnRUZW1wbGF0ZSE6IFRlbXBsYXRlUmVmPGFueT47XG4gIEBJbnB1dCgpXG4gIGNvbnRlbnRUZW1wbGF0ZUNvbnRleHQ6IGFueTtcblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgZWxlbWVudFJlZjogRWxlbWVudFJlZikge1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgaWYgKHRoaXMuc2l6ZSA9PT0gJ2Z1bGwnKSB7XG4gICAgICB0aGlzLm1vZGFsRWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnN0eWxlLnRvcCA9ICcwcHgnO1xuICAgICAgdGhpcy5tb2RhbEVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5zdHlsZS5yaWdodCA9ICcwcHgnO1xuICAgICAgdGhpcy5tb2RhbEVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5zdHlsZS5ib3R0b20gPSAnMHB4JztcbiAgICAgIHRoaXMubW9kYWxFbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuc3R5bGUubGVmdCA9ICcwcHgnO1xuICAgICAgdGhpcy5tb2RhbEVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5zdHlsZS5tYXJnaW4gPSAnMnB4JztcbiAgICAgIHRoaXMubW9kYWxFbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuc3R5bGUuYm94U2hhZG93ID0gJ25vbmUnO1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAodGhpcy5zaXplID09PSAnbGFyZ2UnKSB7XG4gICAgICAgIHRoaXMuX3dpZHRoID0gOTYwO1xuICAgICAgfVxuICAgICAgdGhpcy5tb2RhbEVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5zdHlsZS53aWR0aCA9IHRoaXMuX3dpZHRoICsgJ3B4JztcbiAgICAgIHRoaXMubW9kYWxFbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuc3R5bGUudG9wID0gJzQwcHgnO1xuICAgICAgdGhpcy5tb2RhbEVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5zdHlsZS5sZWZ0ID1cbiAgICAgICAgKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnBhcmVudEVsZW1lbnQub2Zmc2V0V2lkdGggLSB0aGlzLm1vZGFsRWxlbWVudFJlZi5uYXRpdmVFbGVtZW50Lm9mZnNldFdpZHRoKSAvIDIgKyAncHgnO1xuICAgICAgdGhpcy5tb3ZlSGFuZGxlRWwgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCdkLWNhcmQtaGVhZGVyJyk7XG4gICAgICB0aGlzLm1vdmVIYW5kbGVFbC5zdHlsZS5jdXJzb3IgPSAnbW92ZSc7XG4gICAgfVxuICB9XG5cbiAgc2hvdygpIHtcbiAgICAvLyDoi6XlrZjlnKjlpJrlsYLmqKHmgIHmoYbvvIzku4Xkv53nlZnmnIDkuIrlsYLpga7nvanpopzoibLvvIzkuIvlsYLpga7nvanorr7nva7kuLrpgI/mmI5cbiAgICBjb25zdCBwYXJlbnRFbGVtZW50ID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucGFyZW50RWxlbWVudDtcbiAgICBjb25zdCBub2RlTmFtZSA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50Lm5vZGVOYW1lO1xuICAgIGNvbnN0IG1vZGFscyA9IHBhcmVudEVsZW1lbnQucXVlcnlTZWxlY3RvckFsbChub2RlTmFtZSk7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBtb2RhbHMubGVuZ3RoOyBpKyspIHtcbiAgICAgIGlmIChpID09PSBtb2RhbHMubGVuZ3RoIC0gMSkge1xuICAgICAgICBtb2RhbHNbaV0ucXVlcnlTZWxlY3RvcignLm1vZGFsLWJhY2tkcm9wJykuc3R5bGUuYmFja2dyb3VuZENvbG9yID0gJ3JnYmEoMzcsIDQzLCA1OCwgMC4wNSknO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbW9kYWxzW2ldLnF1ZXJ5U2VsZWN0b3IoJy5tb2RhbC1iYWNrZHJvcCcpLnN0eWxlLmJhY2tncm91bmRDb2xvciA9ICdyZ2JhKDM3LCA0MywgNTgsIDApJztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBoaWRlKCkge1xuICAgIC8vIOWcqHNlcnZpY2XkuK3ph43lhplcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIC8vIOiLpeWtmOWcqOWkmuWxguaooeaAgeahhu+8jOS4i+S4gOWxgumBrue9qeiuvue9ruS4uuS4jemAj+aYjlxuICAgIGNvbnN0IHBhcmVudEVsZW1lbnQgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5wYXJlbnRFbGVtZW50O1xuICAgIGNvbnN0IG5vZGVOYW1lID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQubm9kZU5hbWU7XG4gICAgY29uc3QgbmV4dE1vZGFsID0gcGFyZW50RWxlbWVudC5xdWVyeVNlbGVjdG9yKG5vZGVOYW1lICsgJzpudGgtbGFzdC1jaGlsZCgyKScpO1xuICAgIGlmIChuZXh0TW9kYWwpIHtcbiAgICAgIG5leHRNb2RhbC5xdWVyeVNlbGVjdG9yKCcubW9kYWwtYmFja2Ryb3AnKS5zdHlsZS5iYWNrZ3JvdW5kQ29sb3IgPSAncmdiYSgzNywgNDMsIDU4LCAwLjA1KSc7XG4gICAgfVxuICB9XG5cbiAgcmVzb2x2ZU1vZGFsQmFja2Ryb3BQb3NpdGlvbigpIHtcbiAgICByZXR1cm4ge1xuICAgICAgXCJ3aWR0aFwiOiB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5wYXJlbnRFbGVtZW50Lm9mZnNldFdpZHRoICsgJ3B4JyxcbiAgICAgIFwiaGVpZ2h0XCI6IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnBhcmVudEVsZW1lbnQub2Zmc2V0SGVpZ2h0ICsgJ3B4JyxcbiAgICAgIFwidG9wXCI6IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnBhcmVudEVsZW1lbnQub2Zmc2V0VG9wICsgJ3B4JyxcbiAgICAgIFwibGVmdFwiOiB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5wYXJlbnRFbGVtZW50Lm9mZnNldExlZnQgKyAncHgnLFxuICAgIH07XG4gIH1cblxuICBvbk1vdXNlZG93bigkZXZlbnQ6IE1vdXNlRXZlbnQpIHtcbiAgICBpZiAoJGV2ZW50LmJ1dHRvbiA9PT0gMiB8fCAhdGhpcy5jaGVja0hhbmRsZVRhcmdldCgkZXZlbnQudGFyZ2V0LCB0aGlzLm1vdmVIYW5kbGVFbCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5tb3ZhYmxlID0gdHJ1ZTtcbiAgICB0aGlzLnRvcFN0YXJ0ID0gJGV2ZW50LmNsaWVudFkgLSB0aGlzLm1vZGFsRWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnN0eWxlLnRvcC5yZXBsYWNlKCdweCcsICcnKTtcbiAgICB0aGlzLmxlZnRTdGFydCA9ICRldmVudC5jbGllbnRYIC0gdGhpcy5tb2RhbEVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5zdHlsZS5sZWZ0LnJlcGxhY2UoJ3B4JywgJycpO1xuICB9XG5cbiAgcHJpdmF0ZSBjaGVja0hhbmRsZVRhcmdldCh0YXJnZXQ6IGFueSwgZWxlbWVudDogYW55KTogYm9vbGVhbiB7XG4gICAgaWYgKCFlbGVtZW50KSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIGlmICh0YXJnZXQgPT09IGVsZW1lbnQpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICBmb3IgKGxldCBjaGlsZCBpbiBlbGVtZW50LmNoaWxkcmVuKSB7XG4gICAgICBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGVsZW1lbnQuY2hpbGRyZW4sIGNoaWxkKSkge1xuICAgICAgICBpZiAodGhpcy5jaGVja0hhbmRsZVRhcmdldCh0YXJnZXQsIGVsZW1lbnQuY2hpbGRyZW5bY2hpbGRdKSkge1xuICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50Om1vdXNldXAnLCBbJyRldmVudCddKVxuICBvbk1vdXNldXAoKSB7XG4gICAgdGhpcy5tb3ZhYmxlID0gZmFsc2U7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDptb3VzZW1vdmUnLCBbJyRldmVudCddKVxuICBvbk1vdXNlbW92ZSgkZXZlbnQ6IE1vdXNlRXZlbnQpIHtcbiAgICBpZiAoIXRoaXMubW92YWJsZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICAkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgJGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgY29uc3QgZWxlbWVudCA9IHRoaXMubW9kYWxFbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XG4gICAgbGV0IGN1cnJlbnRUb3AgPSAkZXZlbnQuY2xpZW50WSAtIHRoaXMudG9wU3RhcnQ7XG4gICAgbGV0IGN1cnJlbnRMZWZ0ID0gJGV2ZW50LmNsaWVudFggLSB0aGlzLmxlZnRTdGFydDtcbiAgICBjdXJyZW50VG9wID0gY3VycmVudFRvcCA8IDAgPyAwIDogY3VycmVudFRvcDtcbiAgICBjb25zdCBtYXhUb3AgPSBlbGVtZW50LnBhcmVudEVsZW1lbnQub2Zmc2V0SGVpZ2h0IC0gZWxlbWVudC5vZmZzZXRIZWlnaHQ7XG4gICAgY3VycmVudFRvcCA9IGN1cnJlbnRUb3AgPiBtYXhUb3AgPyBtYXhUb3AgOiBjdXJyZW50VG9wO1xuICAgIGN1cnJlbnRMZWZ0ID0gY3VycmVudExlZnQgPCAwID8gMCA6IGN1cnJlbnRMZWZ0O1xuICAgIGNvbnN0IG1heExlZnQgPSBlbGVtZW50LnBhcmVudEVsZW1lbnQub2Zmc2V0V2lkdGggLSBlbGVtZW50Lm9mZnNldFdpZHRoO1xuICAgIGN1cnJlbnRMZWZ0ID0gY3VycmVudExlZnQgPiBtYXhMZWZ0ID8gbWF4TGVmdCA6IGN1cnJlbnRMZWZ0O1xuICAgIGVsZW1lbnQuc3R5bGUudG9wID0gY3VycmVudFRvcCArICdweCc7XG4gICAgZWxlbWVudC5zdHlsZS5sZWZ0ID0gY3VycmVudExlZnQgKyAncHgnO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwibW9kYWwtYmFja2Ryb3BcIiBbbmdTdHlsZV09XCJyZXNvbHZlTW9kYWxCYWNrZHJvcFBvc2l0aW9uKClcIj5cbiAgPGRpdiAjbW9kYWwgY2xhc3M9XCJtb2RhbFwiPlxuICAgIDxkLWNhcmQ+XG4gICAgICA8aSBjbGFzcz1cImljb24tY2xvc2VcIiAoY2xpY2spPVwiaGlkZSgpXCI+PC9pPlxuICAgICAgPGQtY2FyZC1oZWFkZXIgKG1vdXNlZG93bik9XCJvbk1vdXNlZG93bigkZXZlbnQpXCI+XG4gICAgICAgIDxkLWNhcmQtdGl0bGU+e3t0aXRsZX19PC9kLWNhcmQtdGl0bGU+XG4gICAgICA8L2QtY2FyZC1oZWFkZXI+XG4gICAgICA8ZC1jYXJkLWNvbnRlbnQ+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJjb250ZW50VGVtcGxhdGVcIlxuICAgICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cImNvbnRlbnRUZW1wbGF0ZUNvbnRleHRcIj48L25nLXRlbXBsYXRlPlxuICAgICAgPC9kLWNhcmQtY29udGVudD5cbiAgICA8L2QtY2FyZD5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { ModalComponent } from './modal.component';
|
|
4
|
+
import { DevUIModule } from 'ng-devui';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
export class ModalModule {
|
|
7
|
+
}
|
|
8
|
+
ModalModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ModalModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
9
|
+
ModalModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ModalModule, declarations: [ModalComponent], imports: [CommonModule,
|
|
10
|
+
DevUIModule] });
|
|
11
|
+
ModalModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ModalModule, imports: [[
|
|
12
|
+
CommonModule,
|
|
13
|
+
DevUIModule
|
|
14
|
+
]] });
|
|
15
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ModalModule, decorators: [{
|
|
16
|
+
type: NgModule,
|
|
17
|
+
args: [{
|
|
18
|
+
declarations: [
|
|
19
|
+
ModalComponent
|
|
20
|
+
],
|
|
21
|
+
imports: [
|
|
22
|
+
CommonModule,
|
|
23
|
+
DevUIModule
|
|
24
|
+
],
|
|
25
|
+
exports: []
|
|
26
|
+
}]
|
|
27
|
+
}] });
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvcnMtYW50L3NyYy9tb2RhbC9tb2RhbC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLG1CQUFtQixDQUFDO0FBQ2pELE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxVQUFVLENBQUM7O0FBYXJDLE1BQU0sT0FBTyxXQUFXOzt5R0FBWCxXQUFXOzBHQUFYLFdBQVcsaUJBUnBCLGNBQWMsYUFHZCxZQUFZO1FBQ1osV0FBVzswR0FJRixXQUFXLFlBTmI7WUFDUCxZQUFZO1lBQ1osV0FBVztTQUNaOzRGQUdVLFdBQVc7a0JBVnZCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFO3dCQUNaLGNBQWM7cUJBQ2Y7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osV0FBVztxQkFDWjtvQkFDRCxPQUFPLEVBQUUsRUFBRTtpQkFDWiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TmdNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtDb21tb25Nb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge01vZGFsQ29tcG9uZW50fSBmcm9tICcuL21vZGFsLmNvbXBvbmVudCc7XG5pbXBvcnQge0RldlVJTW9kdWxlfSBmcm9tICduZy1kZXZ1aSc7XG5cblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgTW9kYWxDb21wb25lbnRcbiAgXSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBEZXZVSU1vZHVsZVxuICBdLFxuICBleHBvcnRzOiBbXVxufSlcbmV4cG9ydCBjbGFzcyBNb2RhbE1vZHVsZSB7XG59XG4iXX0=
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { ModalComponent } from './modal.component';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class ModalService {
|
|
5
|
+
constructor() {
|
|
6
|
+
}
|
|
7
|
+
open(viewContainerRef, title, size = 'default', contentTemplate, contentTemplateContext) {
|
|
8
|
+
const modalRef = viewContainerRef.createComponent(ModalComponent);
|
|
9
|
+
modalRef.instance.hide = () => {
|
|
10
|
+
modalRef.hostView.destroy();
|
|
11
|
+
};
|
|
12
|
+
modalRef.instance.title = title;
|
|
13
|
+
modalRef.instance.contentTemplate = contentTemplate;
|
|
14
|
+
modalRef.instance.size = size;
|
|
15
|
+
modalRef.instance.contentTemplateContext = contentTemplateContext;
|
|
16
|
+
modalRef.instance.show();
|
|
17
|
+
return modalRef.instance;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
ModalService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ModalService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
21
|
+
ModalService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ModalService, providedIn: 'root' });
|
|
22
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ModalService, decorators: [{
|
|
23
|
+
type: Injectable,
|
|
24
|
+
args: [{
|
|
25
|
+
providedIn: 'root'
|
|
26
|
+
}]
|
|
27
|
+
}], ctorParameters: function () { return []; } });
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3JzLWFudC9zcmMvbW9kYWwvbW9kYWwuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsVUFBVSxFQUFnQyxNQUFNLGVBQWUsQ0FBQztBQUN4RSxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sbUJBQW1CLENBQUM7O0FBS2pELE1BQU0sT0FBTyxZQUFZO0lBQ3ZCO0lBQ0EsQ0FBQztJQUVELElBQUksQ0FBQyxnQkFBa0MsRUFDbEMsS0FBYSxFQUFFLE9BQXFDLFNBQVMsRUFDN0QsZUFBaUMsRUFDakMsc0JBQTJCO1FBQzlCLE1BQU0sUUFBUSxHQUFHLGdCQUFnQixDQUFDLGVBQWUsQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUNsRSxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksR0FBRyxHQUFHLEVBQUU7WUFDNUIsUUFBUSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUM5QixDQUFDLENBQUE7UUFDRCxRQUFRLENBQUMsUUFBUSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDaEMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxlQUFlLEdBQUcsZUFBZSxDQUFDO1FBQ3BELFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztRQUM5QixRQUFRLENBQUMsUUFBUSxDQUFDLHNCQUFzQixHQUFHLHNCQUFzQixDQUFDO1FBQ2xFLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDekIsT0FBTyxRQUFRLENBQUMsUUFBUSxDQUFDO0lBQzNCLENBQUM7OzBHQWxCVSxZQUFZOzhHQUFaLFlBQVksY0FGWCxNQUFNOzRGQUVQLFlBQVk7a0JBSHhCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3RhYmxlLCBUZW1wbGF0ZVJlZiwgVmlld0NvbnRhaW5lclJlZn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge01vZGFsQ29tcG9uZW50fSBmcm9tICcuL21vZGFsLmNvbXBvbmVudCc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIE1vZGFsU2VydmljZSB7XG4gIGNvbnN0cnVjdG9yKCkge1xuICB9XG5cbiAgb3Blbih2aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmLFxuICAgICAgIHRpdGxlOiBzdHJpbmcsIHNpemU6ICdkZWZhdWx0JyB8ICdsYXJnZScgfCAnZnVsbCcgPSAnZGVmYXVsdCcsXG4gICAgICAgY29udGVudFRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+LFxuICAgICAgIGNvbnRlbnRUZW1wbGF0ZUNvbnRleHQ6IGFueSkge1xuICAgIGNvbnN0IG1vZGFsUmVmID0gdmlld0NvbnRhaW5lclJlZi5jcmVhdGVDb21wb25lbnQoTW9kYWxDb21wb25lbnQpO1xuICAgIG1vZGFsUmVmLmluc3RhbmNlLmhpZGUgPSAoKSA9PiB7XG4gICAgICBtb2RhbFJlZi5ob3N0Vmlldy5kZXN0cm95KCk7XG4gICAgfVxuICAgIG1vZGFsUmVmLmluc3RhbmNlLnRpdGxlID0gdGl0bGU7XG4gICAgbW9kYWxSZWYuaW5zdGFuY2UuY29udGVudFRlbXBsYXRlID0gY29udGVudFRlbXBsYXRlO1xuICAgIG1vZGFsUmVmLmluc3RhbmNlLnNpemUgPSBzaXplO1xuICAgIG1vZGFsUmVmLmluc3RhbmNlLmNvbnRlbnRUZW1wbGF0ZUNvbnRleHQgPSBjb250ZW50VGVtcGxhdGVDb250ZXh0O1xuICAgIG1vZGFsUmVmLmluc3RhbmNlLnNob3coKTtcbiAgICByZXR1cm4gbW9kYWxSZWYuaW5zdGFuY2U7XG4gIH1cbn1cbiJdfQ==
|
package/esm2020/public-api.mjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/*
|
|
2
2
|
* Public API Surface of rs-ant
|
|
3
3
|
*/
|
|
4
|
-
export * from './
|
|
5
|
-
export * from './
|
|
6
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
4
|
+
export * from './modal/modal.service';
|
|
5
|
+
export * from './modal/modal.module';
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL3JzLWFudC9zcmMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyxzQkFBc0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBycy1hbnRcclxuICovXHJcblxyXG5leHBvcnQgKiBmcm9tICcuL21vZGFsL21vZGFsLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL21vZGFsL21vZGFsLm1vZHVsZSc7XHJcbiJdfQ==
|
package/fesm2015/ngx-rs-ant.mjs
CHANGED
|
@@ -1,52 +1,189 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import {
|
|
3
|
-
import * as i1 from 'ng-devui';
|
|
4
|
-
import
|
|
2
|
+
import { Component, Input, ViewChild, HostListener, Injectable, NgModule } from '@angular/core';
|
|
3
|
+
import * as i1 from 'ng-devui/card';
|
|
4
|
+
import * as i2 from '@angular/common';
|
|
5
|
+
import { CommonModule } from '@angular/common';
|
|
6
|
+
import { DevUIModule } from 'ng-devui';
|
|
5
7
|
|
|
6
|
-
class
|
|
7
|
-
constructor() {
|
|
8
|
-
this.
|
|
9
|
-
this.
|
|
10
|
-
this.
|
|
8
|
+
class ModalComponent {
|
|
9
|
+
constructor(elementRef) {
|
|
10
|
+
this.elementRef = elementRef;
|
|
11
|
+
this.size = 'default';
|
|
12
|
+
this._width = 480;
|
|
13
|
+
this.movable = false;
|
|
14
|
+
this.topStart = 0;
|
|
15
|
+
this.leftStart = 0;
|
|
11
16
|
}
|
|
12
17
|
ngOnInit() {
|
|
18
|
+
if (this.size === 'full') {
|
|
19
|
+
this.modalElementRef.nativeElement.style.top = '0px';
|
|
20
|
+
this.modalElementRef.nativeElement.style.right = '0px';
|
|
21
|
+
this.modalElementRef.nativeElement.style.bottom = '0px';
|
|
22
|
+
this.modalElementRef.nativeElement.style.left = '0px';
|
|
23
|
+
this.modalElementRef.nativeElement.style.margin = '2px';
|
|
24
|
+
this.modalElementRef.nativeElement.style.boxShadow = 'none';
|
|
25
|
+
}
|
|
26
|
+
else {
|
|
27
|
+
if (this.size === 'large') {
|
|
28
|
+
this._width = 960;
|
|
29
|
+
}
|
|
30
|
+
this.modalElementRef.nativeElement.style.width = this._width + 'px';
|
|
31
|
+
this.modalElementRef.nativeElement.style.top = '40px';
|
|
32
|
+
this.modalElementRef.nativeElement.style.left =
|
|
33
|
+
(this.elementRef.nativeElement.parentElement.offsetWidth - this.modalElementRef.nativeElement.offsetWidth) / 2 + 'px';
|
|
34
|
+
this.moveHandleEl = this.elementRef.nativeElement.querySelector('d-card-header');
|
|
35
|
+
this.moveHandleEl.style.cursor = 'move';
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
show() {
|
|
39
|
+
// 若存在多层模态框,仅保留最上层遮罩颜色,下层遮罩设置为透明
|
|
40
|
+
const parentElement = this.elementRef.nativeElement.parentElement;
|
|
41
|
+
const nodeName = this.elementRef.nativeElement.nodeName;
|
|
42
|
+
const modals = parentElement.querySelectorAll(nodeName);
|
|
43
|
+
for (let i = 0; i < modals.length; i++) {
|
|
44
|
+
if (i === modals.length - 1) {
|
|
45
|
+
modals[i].querySelector('.modal-backdrop').style.backgroundColor = 'rgba(37, 43, 58, 0.05)';
|
|
46
|
+
}
|
|
47
|
+
else {
|
|
48
|
+
modals[i].querySelector('.modal-backdrop').style.backgroundColor = 'rgba(37, 43, 58, 0)';
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
hide() {
|
|
53
|
+
// 在service中重写
|
|
54
|
+
}
|
|
55
|
+
ngOnDestroy() {
|
|
56
|
+
// 若存在多层模态框,下一层遮罩设置为不透明
|
|
57
|
+
const parentElement = this.elementRef.nativeElement.parentElement;
|
|
58
|
+
const nodeName = this.elementRef.nativeElement.nodeName;
|
|
59
|
+
const nextModal = parentElement.querySelector(nodeName + ':nth-last-child(2)');
|
|
60
|
+
if (nextModal) {
|
|
61
|
+
nextModal.querySelector('.modal-backdrop').style.backgroundColor = 'rgba(37, 43, 58, 0.05)';
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
resolveModalBackdropPosition() {
|
|
65
|
+
return {
|
|
66
|
+
"width": this.elementRef.nativeElement.parentElement.offsetWidth + 'px',
|
|
67
|
+
"height": this.elementRef.nativeElement.parentElement.offsetHeight + 'px',
|
|
68
|
+
"top": this.elementRef.nativeElement.parentElement.offsetTop + 'px',
|
|
69
|
+
"left": this.elementRef.nativeElement.parentElement.offsetLeft + 'px',
|
|
70
|
+
};
|
|
13
71
|
}
|
|
14
|
-
|
|
15
|
-
this.
|
|
72
|
+
onMousedown($event) {
|
|
73
|
+
if ($event.button === 2 || !this.checkHandleTarget($event.target, this.moveHandleEl)) {
|
|
74
|
+
return;
|
|
75
|
+
}
|
|
76
|
+
this.movable = true;
|
|
77
|
+
this.topStart = $event.clientY - this.modalElementRef.nativeElement.style.top.replace('px', '');
|
|
78
|
+
this.leftStart = $event.clientX - this.modalElementRef.nativeElement.style.left.replace('px', '');
|
|
79
|
+
}
|
|
80
|
+
checkHandleTarget(target, element) {
|
|
81
|
+
if (!element) {
|
|
82
|
+
return false;
|
|
83
|
+
}
|
|
84
|
+
if (target === element) {
|
|
85
|
+
return true;
|
|
86
|
+
}
|
|
87
|
+
for (let child in element.children) {
|
|
88
|
+
if (Object.prototype.hasOwnProperty.call(element.children, child)) {
|
|
89
|
+
if (this.checkHandleTarget(target, element.children[child])) {
|
|
90
|
+
return true;
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
return false;
|
|
95
|
+
}
|
|
96
|
+
onMouseup() {
|
|
97
|
+
this.movable = false;
|
|
98
|
+
}
|
|
99
|
+
onMousemove($event) {
|
|
100
|
+
if (!this.movable) {
|
|
101
|
+
return;
|
|
102
|
+
}
|
|
103
|
+
$event.stopPropagation();
|
|
104
|
+
$event.preventDefault();
|
|
105
|
+
const element = this.modalElementRef.nativeElement;
|
|
106
|
+
let currentTop = $event.clientY - this.topStart;
|
|
107
|
+
let currentLeft = $event.clientX - this.leftStart;
|
|
108
|
+
currentTop = currentTop < 0 ? 0 : currentTop;
|
|
109
|
+
const maxTop = element.parentElement.offsetHeight - element.offsetHeight;
|
|
110
|
+
currentTop = currentTop > maxTop ? maxTop : currentTop;
|
|
111
|
+
currentLeft = currentLeft < 0 ? 0 : currentLeft;
|
|
112
|
+
const maxLeft = element.parentElement.offsetWidth - element.offsetWidth;
|
|
113
|
+
currentLeft = currentLeft > maxLeft ? maxLeft : currentLeft;
|
|
114
|
+
element.style.top = currentTop + 'px';
|
|
115
|
+
element.style.left = currentLeft + 'px';
|
|
16
116
|
}
|
|
17
117
|
}
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type:
|
|
118
|
+
ModalComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ModalComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
119
|
+
ModalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: ModalComponent, selector: "rs-modal", inputs: { title: "title", size: "size", contentTemplate: "contentTemplate", contentTemplateContext: "contentTemplateContext" }, host: { listeners: { "document:mouseup": "onMouseup($event)", "document:mousemove": "onMousemove($event)" } }, viewQueries: [{ propertyName: "modalElementRef", first: true, predicate: ["modal"], descendants: true, static: true }], ngImport: i0, template: "<div class=\"modal-backdrop\" [ngStyle]=\"resolveModalBackdropPosition()\">\n <div #modal class=\"modal\">\n <d-card>\n <i class=\"icon-close\" (click)=\"hide()\"></i>\n <d-card-header (mousedown)=\"onMousedown($event)\">\n <d-card-title>{{title}}</d-card-title>\n </d-card-header>\n <d-card-content>\n <ng-template [ngTemplateOutlet]=\"contentTemplate\"\n [ngTemplateOutletContext]=\"contentTemplateContext\"></ng-template>\n </d-card-content>\n </d-card>\n </div>\n</div>\n", styles: [".modal-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;z-index:calc(var(--devui-z-index-modal, 1050) - 1)}.modal{position:absolute;top:0;left:0;z-index:var(--devui-z-index-modal, 1050);max-width:100%;background-color:var(--devui-base-bg, #ffffff);border-radius:var(--devui-border-radius-card, 6px);box-shadow:var(--devui-shadow-fullscreen-overlay, 0 8px 40px 0) var(--devui-shadow, rgba(37, 43, 58, .2))}d-card{height:100%;background-color:var(--devui-base-bg, #ffffff);display:flex;flex-flow:column nowrap}d-card i{position:absolute;top:12px;right:12px;padding:4px;font-size:var(--devui-font-size-card-title, 14px)}d-card i:hover{cursor:pointer;color:var(--devui-danger, #f66f6a);background-color:var(--devui-info-bg, #f2f5fc)}d-card d-card-header{border-bottom:1px solid var(--devui-dividing-line, #f2f2f3)}d-card d-card-content{flex:auto;display:flex;flex-flow:column}\n"], components: [{ type: i1.CardComponent, selector: "d-card", exportAs: ["dCard"] }, { type: i1.CardHeaderComponent, selector: "d-card-header" }], directives: [{ type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i1.CardTitleDirective, selector: "d-card-title, [dCardTitle]" }, { type: i1.CardContentDirective, selector: "d-card-content, [dCardContent]" }, { type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }] });
|
|
120
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ModalComponent, decorators: [{
|
|
21
121
|
type: Component,
|
|
22
|
-
args: [{ selector: 'rs-
|
|
23
|
-
}], ctorParameters: function () { return []; }, propDecorators: {
|
|
122
|
+
args: [{ selector: 'rs-modal', template: "<div class=\"modal-backdrop\" [ngStyle]=\"resolveModalBackdropPosition()\">\n <div #modal class=\"modal\">\n <d-card>\n <i class=\"icon-close\" (click)=\"hide()\"></i>\n <d-card-header (mousedown)=\"onMousedown($event)\">\n <d-card-title>{{title}}</d-card-title>\n </d-card-header>\n <d-card-content>\n <ng-template [ngTemplateOutlet]=\"contentTemplate\"\n [ngTemplateOutletContext]=\"contentTemplateContext\"></ng-template>\n </d-card-content>\n </d-card>\n </div>\n</div>\n", styles: [".modal-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;z-index:calc(var(--devui-z-index-modal, 1050) - 1)}.modal{position:absolute;top:0;left:0;z-index:var(--devui-z-index-modal, 1050);max-width:100%;background-color:var(--devui-base-bg, #ffffff);border-radius:var(--devui-border-radius-card, 6px);box-shadow:var(--devui-shadow-fullscreen-overlay, 0 8px 40px 0) var(--devui-shadow, rgba(37, 43, 58, .2))}d-card{height:100%;background-color:var(--devui-base-bg, #ffffff);display:flex;flex-flow:column nowrap}d-card i{position:absolute;top:12px;right:12px;padding:4px;font-size:var(--devui-font-size-card-title, 14px)}d-card i:hover{cursor:pointer;color:var(--devui-danger, #f66f6a);background-color:var(--devui-info-bg, #f2f5fc)}d-card d-card-header{border-bottom:1px solid var(--devui-dividing-line, #f2f2f3)}d-card d-card-content{flex:auto;display:flex;flex-flow:column}\n"] }]
|
|
123
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { title: [{
|
|
124
|
+
type: Input
|
|
125
|
+
}], size: [{
|
|
24
126
|
type: Input
|
|
25
|
-
}],
|
|
127
|
+
}], modalElementRef: [{
|
|
128
|
+
type: ViewChild,
|
|
129
|
+
args: ['modal', { static: true }]
|
|
130
|
+
}], contentTemplate: [{
|
|
26
131
|
type: Input
|
|
27
|
-
}],
|
|
28
|
-
type:
|
|
132
|
+
}], contentTemplateContext: [{
|
|
133
|
+
type: Input
|
|
134
|
+
}], onMouseup: [{
|
|
135
|
+
type: HostListener,
|
|
136
|
+
args: ['document:mouseup', ['$event']]
|
|
137
|
+
}], onMousemove: [{
|
|
138
|
+
type: HostListener,
|
|
139
|
+
args: ['document:mousemove', ['$event']]
|
|
29
140
|
}] } });
|
|
30
141
|
|
|
31
|
-
class
|
|
142
|
+
class ModalService {
|
|
143
|
+
constructor() {
|
|
144
|
+
}
|
|
145
|
+
open(viewContainerRef, title, size = 'default', contentTemplate, contentTemplateContext) {
|
|
146
|
+
const modalRef = viewContainerRef.createComponent(ModalComponent);
|
|
147
|
+
modalRef.instance.hide = () => {
|
|
148
|
+
modalRef.hostView.destroy();
|
|
149
|
+
};
|
|
150
|
+
modalRef.instance.title = title;
|
|
151
|
+
modalRef.instance.contentTemplate = contentTemplate;
|
|
152
|
+
modalRef.instance.size = size;
|
|
153
|
+
modalRef.instance.contentTemplateContext = contentTemplateContext;
|
|
154
|
+
modalRef.instance.show();
|
|
155
|
+
return modalRef.instance;
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
ModalService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ModalService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
159
|
+
ModalService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ModalService, providedIn: 'root' });
|
|
160
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ModalService, decorators: [{
|
|
161
|
+
type: Injectable,
|
|
162
|
+
args: [{
|
|
163
|
+
providedIn: 'root'
|
|
164
|
+
}]
|
|
165
|
+
}], ctorParameters: function () { return []; } });
|
|
166
|
+
|
|
167
|
+
class ModalModule {
|
|
32
168
|
}
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
169
|
+
ModalModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ModalModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
170
|
+
ModalModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ModalModule, declarations: [ModalComponent], imports: [CommonModule,
|
|
171
|
+
DevUIModule] });
|
|
172
|
+
ModalModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ModalModule, imports: [[
|
|
173
|
+
CommonModule,
|
|
174
|
+
DevUIModule
|
|
37
175
|
]] });
|
|
38
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type:
|
|
176
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ModalModule, decorators: [{
|
|
39
177
|
type: NgModule,
|
|
40
178
|
args: [{
|
|
41
179
|
declarations: [
|
|
42
|
-
|
|
180
|
+
ModalComponent
|
|
43
181
|
],
|
|
44
182
|
imports: [
|
|
45
|
-
|
|
183
|
+
CommonModule,
|
|
184
|
+
DevUIModule
|
|
46
185
|
],
|
|
47
|
-
exports: [
|
|
48
|
-
AlertComponent
|
|
49
|
-
]
|
|
186
|
+
exports: []
|
|
50
187
|
}]
|
|
51
188
|
}] });
|
|
52
189
|
|
|
@@ -58,5 +195,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
58
195
|
* Generated bundle index. Do not edit.
|
|
59
196
|
*/
|
|
60
197
|
|
|
61
|
-
export {
|
|
198
|
+
export { ModalModule, ModalService };
|
|
62
199
|
//# sourceMappingURL=ngx-rs-ant.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ngx-rs-ant.mjs","sources":["../../../projects/rs-ant/src/alert/alert.component.ts","../../../projects/rs-ant/src/alert/alert.component.html","../../../projects/rs-ant/src/alert/alert.module.ts","../../../projects/rs-ant/src/public-api.ts","../../../projects/rs-ant/src/ngx-rs-ant.ts"],"sourcesContent":["import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\nimport {AlertType} from 'ng-devui/alert/alert.types';\n\n@Component({\n selector: 'rs-alert',\n templateUrl: './alert.component.html',\n styleUrls: ['./alert.component.scss']\n})\nexport class AlertComponent implements OnInit {\n @Input() type: AlertType = 'info';\n @Input() message?: string;\n dismissTime: number = 500000;\n\n @Output() closed = new EventEmitter<void>();\n\n constructor() {\n }\n\n ngOnInit(): void {\n }\n\n onClose($event: any) {\n this.closed.emit($event);\n }\n}\n","<d-alert [type]=\"type\" [dismissTime]=\"dismissTime\" [closeable]=\"true\"\n (closeEvent)=\"onClose($event)\">{{message}}</d-alert>\n","import {NgModule} from '@angular/core';\nimport {AlertComponent} from './alert.component';\nimport {AlertModule as DevUI_AlertModule} from 'ng-devui';\n\n@NgModule({\n declarations: [\n AlertComponent\n ],\n imports: [\n DevUI_AlertModule\n ],\n exports: [\n AlertComponent\n ]\n})\nexport class AlertModule {\n}\n","/*\n * Public API Surface of rs-ant\n */\n\nexport * from './alert/alert.component';\nexport * from './alert/alert.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["DevUI_AlertModule"],"mappings":";;;;;MAQa,cAAc,CAAA;AAOzB,IAAA,WAAA,GAAA;AANS,QAAA,IAAI,CAAA,IAAA,GAAc,MAAM,CAAC;AAElC,QAAA,IAAW,CAAA,WAAA,GAAW,MAAM,CAAC;AAEnB,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,YAAY,EAAQ,CAAC;KAG3C;IAED,QAAQ,GAAA;KACP;AAED,IAAA,OAAO,CAAC,MAAW,EAAA;AACjB,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;KAC1B;;4GAfU,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAd,cAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,cAAc,6HCR3B,gJAEA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,cAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,WAAA,EAAA,SAAA,EAAA,UAAA,EAAA,aAAA,CAAA,EAAA,OAAA,EAAA,CAAA,YAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;4FDMa,cAAc,EAAA,UAAA,EAAA,CAAA;kBAL1B,SAAS;+BACE,UAAU,EAAA,QAAA,EAAA,gJAAA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA;0EAKX,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,OAAO,EAAA,CAAA;sBAAf,KAAK;gBAGI,MAAM,EAAA,CAAA;sBAAf,MAAM;;;MEEI,WAAW,CAAA;;yGAAX,WAAW,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAX,WAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAW,EATpB,YAAA,EAAA,CAAA,cAAc,CAGd,EAAA,OAAA,EAAA,CAAAA,aAAiB,aAGjB,cAAc,CAAA,EAAA,CAAA,CAAA;AAGL,WAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAW,EAPb,OAAA,EAAA,CAAA;YACPA,aAAiB;SAClB,CAAA,EAAA,CAAA,CAAA;4FAKU,WAAW,EAAA,UAAA,EAAA,CAAA;kBAXvB,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE;wBACZ,cAAc;AACf,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACPA,aAAiB;AAClB,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,cAAc;AACf,qBAAA;iBACF,CAAA;;;ACdD;;AAEG;;ACFH;;AAEG;;;;"}
|
|
1
|
+
{"version":3,"file":"ngx-rs-ant.mjs","sources":["../../../projects/rs-ant/src/modal/modal.component.ts","../../../projects/rs-ant/src/modal/modal.component.html","../../../projects/rs-ant/src/modal/modal.service.ts","../../../projects/rs-ant/src/modal/modal.module.ts","../../../projects/rs-ant/src/public-api.ts","../../../projects/rs-ant/src/ngx-rs-ant.ts"],"sourcesContent":["import {Component, ElementRef, HostListener, Input, OnDestroy, OnInit, TemplateRef, ViewChild} from '@angular/core';\n\n@Component({\n selector: 'rs-modal',\n templateUrl: './modal.component.html',\n styleUrls: ['./modal.component.scss']\n})\nexport class ModalComponent implements OnInit, OnDestroy {\n @Input() title!: string;\n @Input() size: 'default' | 'large' | 'full' = 'default';\n _width: number = 480;\n @ViewChild('modal', {static: true}) modalElementRef!: ElementRef;\n moveHandleEl!: HTMLElement;\n movable: boolean = false;\n topStart = 0;\n leftStart = 0;\n @Input()\n contentTemplate!: TemplateRef<any>;\n @Input()\n contentTemplateContext: any;\n\n constructor(public elementRef: ElementRef) {\n }\n\n ngOnInit() {\n if (this.size === 'full') {\n this.modalElementRef.nativeElement.style.top = '0px';\n this.modalElementRef.nativeElement.style.right = '0px';\n this.modalElementRef.nativeElement.style.bottom = '0px';\n this.modalElementRef.nativeElement.style.left = '0px';\n this.modalElementRef.nativeElement.style.margin = '2px';\n this.modalElementRef.nativeElement.style.boxShadow = 'none';\n } else {\n if (this.size === 'large') {\n this._width = 960;\n }\n this.modalElementRef.nativeElement.style.width = this._width + 'px';\n this.modalElementRef.nativeElement.style.top = '40px';\n this.modalElementRef.nativeElement.style.left =\n (this.elementRef.nativeElement.parentElement.offsetWidth - this.modalElementRef.nativeElement.offsetWidth) / 2 + 'px';\n this.moveHandleEl = this.elementRef.nativeElement.querySelector('d-card-header');\n this.moveHandleEl.style.cursor = 'move';\n }\n }\n\n show() {\n // 若存在多层模态框,仅保留最上层遮罩颜色,下层遮罩设置为透明\n const parentElement = this.elementRef.nativeElement.parentElement;\n const nodeName = this.elementRef.nativeElement.nodeName;\n const modals = parentElement.querySelectorAll(nodeName);\n for (let i = 0; i < modals.length; i++) {\n if (i === modals.length - 1) {\n modals[i].querySelector('.modal-backdrop').style.backgroundColor = 'rgba(37, 43, 58, 0.05)';\n } else {\n modals[i].querySelector('.modal-backdrop').style.backgroundColor = 'rgba(37, 43, 58, 0)';\n }\n }\n }\n\n hide() {\n // 在service中重写\n }\n\n ngOnDestroy(): void {\n // 若存在多层模态框,下一层遮罩设置为不透明\n const parentElement = this.elementRef.nativeElement.parentElement;\n const nodeName = this.elementRef.nativeElement.nodeName;\n const nextModal = parentElement.querySelector(nodeName + ':nth-last-child(2)');\n if (nextModal) {\n nextModal.querySelector('.modal-backdrop').style.backgroundColor = 'rgba(37, 43, 58, 0.05)';\n }\n }\n\n resolveModalBackdropPosition() {\n return {\n \"width\": this.elementRef.nativeElement.parentElement.offsetWidth + 'px',\n \"height\": this.elementRef.nativeElement.parentElement.offsetHeight + 'px',\n \"top\": this.elementRef.nativeElement.parentElement.offsetTop + 'px',\n \"left\": this.elementRef.nativeElement.parentElement.offsetLeft + 'px',\n };\n }\n\n onMousedown($event: MouseEvent) {\n if ($event.button === 2 || !this.checkHandleTarget($event.target, this.moveHandleEl)) {\n return;\n }\n this.movable = true;\n this.topStart = $event.clientY - this.modalElementRef.nativeElement.style.top.replace('px', '');\n this.leftStart = $event.clientX - this.modalElementRef.nativeElement.style.left.replace('px', '');\n }\n\n private checkHandleTarget(target: any, element: any): boolean {\n if (!element) {\n return false;\n }\n if (target === element) {\n return true;\n }\n for (let child in element.children) {\n if (Object.prototype.hasOwnProperty.call(element.children, child)) {\n if (this.checkHandleTarget(target, element.children[child])) {\n return true;\n }\n }\n }\n return false;\n }\n\n @HostListener('document:mouseup', ['$event'])\n onMouseup() {\n this.movable = false;\n }\n\n @HostListener('document:mousemove', ['$event'])\n onMousemove($event: MouseEvent) {\n if (!this.movable) {\n return;\n }\n $event.stopPropagation();\n $event.preventDefault();\n const element = this.modalElementRef.nativeElement;\n let currentTop = $event.clientY - this.topStart;\n let currentLeft = $event.clientX - this.leftStart;\n currentTop = currentTop < 0 ? 0 : currentTop;\n const maxTop = element.parentElement.offsetHeight - element.offsetHeight;\n currentTop = currentTop > maxTop ? maxTop : currentTop;\n currentLeft = currentLeft < 0 ? 0 : currentLeft;\n const maxLeft = element.parentElement.offsetWidth - element.offsetWidth;\n currentLeft = currentLeft > maxLeft ? maxLeft : currentLeft;\n element.style.top = currentTop + 'px';\n element.style.left = currentLeft + 'px';\n }\n}\n","<div class=\"modal-backdrop\" [ngStyle]=\"resolveModalBackdropPosition()\">\n <div #modal class=\"modal\">\n <d-card>\n <i class=\"icon-close\" (click)=\"hide()\"></i>\n <d-card-header (mousedown)=\"onMousedown($event)\">\n <d-card-title>{{title}}</d-card-title>\n </d-card-header>\n <d-card-content>\n <ng-template [ngTemplateOutlet]=\"contentTemplate\"\n [ngTemplateOutletContext]=\"contentTemplateContext\"></ng-template>\n </d-card-content>\n </d-card>\n </div>\n</div>\n","import {Injectable, TemplateRef, ViewContainerRef} from '@angular/core';\nimport {ModalComponent} from './modal.component';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ModalService {\n constructor() {\n }\n\n open(viewContainerRef: ViewContainerRef,\n title: string, size: 'default' | 'large' | 'full' = 'default',\n contentTemplate: TemplateRef<any>,\n contentTemplateContext: any) {\n const modalRef = viewContainerRef.createComponent(ModalComponent);\n modalRef.instance.hide = () => {\n modalRef.hostView.destroy();\n }\n modalRef.instance.title = title;\n modalRef.instance.contentTemplate = contentTemplate;\n modalRef.instance.size = size;\n modalRef.instance.contentTemplateContext = contentTemplateContext;\n modalRef.instance.show();\n return modalRef.instance;\n }\n}\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {ModalComponent} from './modal.component';\nimport {DevUIModule} from 'ng-devui';\n\n\n@NgModule({\n declarations: [\n ModalComponent\n ],\n imports: [\n CommonModule,\n DevUIModule\n ],\n exports: []\n})\nexport class ModalModule {\n}\n","/*\r\n * Public API Surface of rs-ant\r\n */\r\n\r\nexport * from './modal/modal.service';\r\nexport * from './modal/modal.module';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
package/fesm2020/ngx-rs-ant.mjs
CHANGED
|
@@ -1,52 +1,189 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import {
|
|
3
|
-
import * as i1 from 'ng-devui';
|
|
4
|
-
import
|
|
2
|
+
import { Component, Input, ViewChild, HostListener, Injectable, NgModule } from '@angular/core';
|
|
3
|
+
import * as i1 from 'ng-devui/card';
|
|
4
|
+
import * as i2 from '@angular/common';
|
|
5
|
+
import { CommonModule } from '@angular/common';
|
|
6
|
+
import { DevUIModule } from 'ng-devui';
|
|
5
7
|
|
|
6
|
-
class
|
|
7
|
-
constructor() {
|
|
8
|
-
this.
|
|
9
|
-
this.
|
|
10
|
-
this.
|
|
8
|
+
class ModalComponent {
|
|
9
|
+
constructor(elementRef) {
|
|
10
|
+
this.elementRef = elementRef;
|
|
11
|
+
this.size = 'default';
|
|
12
|
+
this._width = 480;
|
|
13
|
+
this.movable = false;
|
|
14
|
+
this.topStart = 0;
|
|
15
|
+
this.leftStart = 0;
|
|
11
16
|
}
|
|
12
17
|
ngOnInit() {
|
|
18
|
+
if (this.size === 'full') {
|
|
19
|
+
this.modalElementRef.nativeElement.style.top = '0px';
|
|
20
|
+
this.modalElementRef.nativeElement.style.right = '0px';
|
|
21
|
+
this.modalElementRef.nativeElement.style.bottom = '0px';
|
|
22
|
+
this.modalElementRef.nativeElement.style.left = '0px';
|
|
23
|
+
this.modalElementRef.nativeElement.style.margin = '2px';
|
|
24
|
+
this.modalElementRef.nativeElement.style.boxShadow = 'none';
|
|
25
|
+
}
|
|
26
|
+
else {
|
|
27
|
+
if (this.size === 'large') {
|
|
28
|
+
this._width = 960;
|
|
29
|
+
}
|
|
30
|
+
this.modalElementRef.nativeElement.style.width = this._width + 'px';
|
|
31
|
+
this.modalElementRef.nativeElement.style.top = '40px';
|
|
32
|
+
this.modalElementRef.nativeElement.style.left =
|
|
33
|
+
(this.elementRef.nativeElement.parentElement.offsetWidth - this.modalElementRef.nativeElement.offsetWidth) / 2 + 'px';
|
|
34
|
+
this.moveHandleEl = this.elementRef.nativeElement.querySelector('d-card-header');
|
|
35
|
+
this.moveHandleEl.style.cursor = 'move';
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
show() {
|
|
39
|
+
// 若存在多层模态框,仅保留最上层遮罩颜色,下层遮罩设置为透明
|
|
40
|
+
const parentElement = this.elementRef.nativeElement.parentElement;
|
|
41
|
+
const nodeName = this.elementRef.nativeElement.nodeName;
|
|
42
|
+
const modals = parentElement.querySelectorAll(nodeName);
|
|
43
|
+
for (let i = 0; i < modals.length; i++) {
|
|
44
|
+
if (i === modals.length - 1) {
|
|
45
|
+
modals[i].querySelector('.modal-backdrop').style.backgroundColor = 'rgba(37, 43, 58, 0.05)';
|
|
46
|
+
}
|
|
47
|
+
else {
|
|
48
|
+
modals[i].querySelector('.modal-backdrop').style.backgroundColor = 'rgba(37, 43, 58, 0)';
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
hide() {
|
|
53
|
+
// 在service中重写
|
|
54
|
+
}
|
|
55
|
+
ngOnDestroy() {
|
|
56
|
+
// 若存在多层模态框,下一层遮罩设置为不透明
|
|
57
|
+
const parentElement = this.elementRef.nativeElement.parentElement;
|
|
58
|
+
const nodeName = this.elementRef.nativeElement.nodeName;
|
|
59
|
+
const nextModal = parentElement.querySelector(nodeName + ':nth-last-child(2)');
|
|
60
|
+
if (nextModal) {
|
|
61
|
+
nextModal.querySelector('.modal-backdrop').style.backgroundColor = 'rgba(37, 43, 58, 0.05)';
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
resolveModalBackdropPosition() {
|
|
65
|
+
return {
|
|
66
|
+
"width": this.elementRef.nativeElement.parentElement.offsetWidth + 'px',
|
|
67
|
+
"height": this.elementRef.nativeElement.parentElement.offsetHeight + 'px',
|
|
68
|
+
"top": this.elementRef.nativeElement.parentElement.offsetTop + 'px',
|
|
69
|
+
"left": this.elementRef.nativeElement.parentElement.offsetLeft + 'px',
|
|
70
|
+
};
|
|
13
71
|
}
|
|
14
|
-
|
|
15
|
-
this.
|
|
72
|
+
onMousedown($event) {
|
|
73
|
+
if ($event.button === 2 || !this.checkHandleTarget($event.target, this.moveHandleEl)) {
|
|
74
|
+
return;
|
|
75
|
+
}
|
|
76
|
+
this.movable = true;
|
|
77
|
+
this.topStart = $event.clientY - this.modalElementRef.nativeElement.style.top.replace('px', '');
|
|
78
|
+
this.leftStart = $event.clientX - this.modalElementRef.nativeElement.style.left.replace('px', '');
|
|
79
|
+
}
|
|
80
|
+
checkHandleTarget(target, element) {
|
|
81
|
+
if (!element) {
|
|
82
|
+
return false;
|
|
83
|
+
}
|
|
84
|
+
if (target === element) {
|
|
85
|
+
return true;
|
|
86
|
+
}
|
|
87
|
+
for (let child in element.children) {
|
|
88
|
+
if (Object.prototype.hasOwnProperty.call(element.children, child)) {
|
|
89
|
+
if (this.checkHandleTarget(target, element.children[child])) {
|
|
90
|
+
return true;
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
return false;
|
|
95
|
+
}
|
|
96
|
+
onMouseup() {
|
|
97
|
+
this.movable = false;
|
|
98
|
+
}
|
|
99
|
+
onMousemove($event) {
|
|
100
|
+
if (!this.movable) {
|
|
101
|
+
return;
|
|
102
|
+
}
|
|
103
|
+
$event.stopPropagation();
|
|
104
|
+
$event.preventDefault();
|
|
105
|
+
const element = this.modalElementRef.nativeElement;
|
|
106
|
+
let currentTop = $event.clientY - this.topStart;
|
|
107
|
+
let currentLeft = $event.clientX - this.leftStart;
|
|
108
|
+
currentTop = currentTop < 0 ? 0 : currentTop;
|
|
109
|
+
const maxTop = element.parentElement.offsetHeight - element.offsetHeight;
|
|
110
|
+
currentTop = currentTop > maxTop ? maxTop : currentTop;
|
|
111
|
+
currentLeft = currentLeft < 0 ? 0 : currentLeft;
|
|
112
|
+
const maxLeft = element.parentElement.offsetWidth - element.offsetWidth;
|
|
113
|
+
currentLeft = currentLeft > maxLeft ? maxLeft : currentLeft;
|
|
114
|
+
element.style.top = currentTop + 'px';
|
|
115
|
+
element.style.left = currentLeft + 'px';
|
|
16
116
|
}
|
|
17
117
|
}
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type:
|
|
118
|
+
ModalComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ModalComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
119
|
+
ModalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: ModalComponent, selector: "rs-modal", inputs: { title: "title", size: "size", contentTemplate: "contentTemplate", contentTemplateContext: "contentTemplateContext" }, host: { listeners: { "document:mouseup": "onMouseup($event)", "document:mousemove": "onMousemove($event)" } }, viewQueries: [{ propertyName: "modalElementRef", first: true, predicate: ["modal"], descendants: true, static: true }], ngImport: i0, template: "<div class=\"modal-backdrop\" [ngStyle]=\"resolveModalBackdropPosition()\">\n <div #modal class=\"modal\">\n <d-card>\n <i class=\"icon-close\" (click)=\"hide()\"></i>\n <d-card-header (mousedown)=\"onMousedown($event)\">\n <d-card-title>{{title}}</d-card-title>\n </d-card-header>\n <d-card-content>\n <ng-template [ngTemplateOutlet]=\"contentTemplate\"\n [ngTemplateOutletContext]=\"contentTemplateContext\"></ng-template>\n </d-card-content>\n </d-card>\n </div>\n</div>\n", styles: [".modal-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;z-index:calc(var(--devui-z-index-modal, 1050) - 1)}.modal{position:absolute;top:0;left:0;z-index:var(--devui-z-index-modal, 1050);max-width:100%;background-color:var(--devui-base-bg, #ffffff);border-radius:var(--devui-border-radius-card, 6px);box-shadow:var(--devui-shadow-fullscreen-overlay, 0 8px 40px 0) var(--devui-shadow, rgba(37, 43, 58, .2))}d-card{height:100%;background-color:var(--devui-base-bg, #ffffff);display:flex;flex-flow:column nowrap}d-card i{position:absolute;top:12px;right:12px;padding:4px;font-size:var(--devui-font-size-card-title, 14px)}d-card i:hover{cursor:pointer;color:var(--devui-danger, #f66f6a);background-color:var(--devui-info-bg, #f2f5fc)}d-card d-card-header{border-bottom:1px solid var(--devui-dividing-line, #f2f2f3)}d-card d-card-content{flex:auto;display:flex;flex-flow:column}\n"], components: [{ type: i1.CardComponent, selector: "d-card", exportAs: ["dCard"] }, { type: i1.CardHeaderComponent, selector: "d-card-header" }], directives: [{ type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i1.CardTitleDirective, selector: "d-card-title, [dCardTitle]" }, { type: i1.CardContentDirective, selector: "d-card-content, [dCardContent]" }, { type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }] });
|
|
120
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ModalComponent, decorators: [{
|
|
21
121
|
type: Component,
|
|
22
|
-
args: [{ selector: 'rs-
|
|
23
|
-
}], ctorParameters: function () { return []; }, propDecorators: {
|
|
122
|
+
args: [{ selector: 'rs-modal', template: "<div class=\"modal-backdrop\" [ngStyle]=\"resolveModalBackdropPosition()\">\n <div #modal class=\"modal\">\n <d-card>\n <i class=\"icon-close\" (click)=\"hide()\"></i>\n <d-card-header (mousedown)=\"onMousedown($event)\">\n <d-card-title>{{title}}</d-card-title>\n </d-card-header>\n <d-card-content>\n <ng-template [ngTemplateOutlet]=\"contentTemplate\"\n [ngTemplateOutletContext]=\"contentTemplateContext\"></ng-template>\n </d-card-content>\n </d-card>\n </div>\n</div>\n", styles: [".modal-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;z-index:calc(var(--devui-z-index-modal, 1050) - 1)}.modal{position:absolute;top:0;left:0;z-index:var(--devui-z-index-modal, 1050);max-width:100%;background-color:var(--devui-base-bg, #ffffff);border-radius:var(--devui-border-radius-card, 6px);box-shadow:var(--devui-shadow-fullscreen-overlay, 0 8px 40px 0) var(--devui-shadow, rgba(37, 43, 58, .2))}d-card{height:100%;background-color:var(--devui-base-bg, #ffffff);display:flex;flex-flow:column nowrap}d-card i{position:absolute;top:12px;right:12px;padding:4px;font-size:var(--devui-font-size-card-title, 14px)}d-card i:hover{cursor:pointer;color:var(--devui-danger, #f66f6a);background-color:var(--devui-info-bg, #f2f5fc)}d-card d-card-header{border-bottom:1px solid var(--devui-dividing-line, #f2f2f3)}d-card d-card-content{flex:auto;display:flex;flex-flow:column}\n"] }]
|
|
123
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { title: [{
|
|
124
|
+
type: Input
|
|
125
|
+
}], size: [{
|
|
24
126
|
type: Input
|
|
25
|
-
}],
|
|
127
|
+
}], modalElementRef: [{
|
|
128
|
+
type: ViewChild,
|
|
129
|
+
args: ['modal', { static: true }]
|
|
130
|
+
}], contentTemplate: [{
|
|
26
131
|
type: Input
|
|
27
|
-
}],
|
|
28
|
-
type:
|
|
132
|
+
}], contentTemplateContext: [{
|
|
133
|
+
type: Input
|
|
134
|
+
}], onMouseup: [{
|
|
135
|
+
type: HostListener,
|
|
136
|
+
args: ['document:mouseup', ['$event']]
|
|
137
|
+
}], onMousemove: [{
|
|
138
|
+
type: HostListener,
|
|
139
|
+
args: ['document:mousemove', ['$event']]
|
|
29
140
|
}] } });
|
|
30
141
|
|
|
31
|
-
class
|
|
142
|
+
class ModalService {
|
|
143
|
+
constructor() {
|
|
144
|
+
}
|
|
145
|
+
open(viewContainerRef, title, size = 'default', contentTemplate, contentTemplateContext) {
|
|
146
|
+
const modalRef = viewContainerRef.createComponent(ModalComponent);
|
|
147
|
+
modalRef.instance.hide = () => {
|
|
148
|
+
modalRef.hostView.destroy();
|
|
149
|
+
};
|
|
150
|
+
modalRef.instance.title = title;
|
|
151
|
+
modalRef.instance.contentTemplate = contentTemplate;
|
|
152
|
+
modalRef.instance.size = size;
|
|
153
|
+
modalRef.instance.contentTemplateContext = contentTemplateContext;
|
|
154
|
+
modalRef.instance.show();
|
|
155
|
+
return modalRef.instance;
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
ModalService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ModalService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
159
|
+
ModalService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ModalService, providedIn: 'root' });
|
|
160
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ModalService, decorators: [{
|
|
161
|
+
type: Injectable,
|
|
162
|
+
args: [{
|
|
163
|
+
providedIn: 'root'
|
|
164
|
+
}]
|
|
165
|
+
}], ctorParameters: function () { return []; } });
|
|
166
|
+
|
|
167
|
+
class ModalModule {
|
|
32
168
|
}
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
169
|
+
ModalModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ModalModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
170
|
+
ModalModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ModalModule, declarations: [ModalComponent], imports: [CommonModule,
|
|
171
|
+
DevUIModule] });
|
|
172
|
+
ModalModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ModalModule, imports: [[
|
|
173
|
+
CommonModule,
|
|
174
|
+
DevUIModule
|
|
37
175
|
]] });
|
|
38
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type:
|
|
176
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ModalModule, decorators: [{
|
|
39
177
|
type: NgModule,
|
|
40
178
|
args: [{
|
|
41
179
|
declarations: [
|
|
42
|
-
|
|
180
|
+
ModalComponent
|
|
43
181
|
],
|
|
44
182
|
imports: [
|
|
45
|
-
|
|
183
|
+
CommonModule,
|
|
184
|
+
DevUIModule
|
|
46
185
|
],
|
|
47
|
-
exports: [
|
|
48
|
-
AlertComponent
|
|
49
|
-
]
|
|
186
|
+
exports: []
|
|
50
187
|
}]
|
|
51
188
|
}] });
|
|
52
189
|
|
|
@@ -58,5 +195,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
58
195
|
* Generated bundle index. Do not edit.
|
|
59
196
|
*/
|
|
60
197
|
|
|
61
|
-
export {
|
|
198
|
+
export { ModalModule, ModalService };
|
|
62
199
|
//# sourceMappingURL=ngx-rs-ant.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ngx-rs-ant.mjs","sources":["../../../projects/rs-ant/src/alert/alert.component.ts","../../../projects/rs-ant/src/alert/alert.component.html","../../../projects/rs-ant/src/alert/alert.module.ts","../../../projects/rs-ant/src/public-api.ts","../../../projects/rs-ant/src/ngx-rs-ant.ts"],"sourcesContent":["import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\nimport {AlertType} from 'ng-devui/alert/alert.types';\n\n@Component({\n selector: 'rs-alert',\n templateUrl: './alert.component.html',\n styleUrls: ['./alert.component.scss']\n})\nexport class AlertComponent implements OnInit {\n @Input() type: AlertType = 'info';\n @Input() message?: string;\n dismissTime: number = 500000;\n\n @Output() closed = new EventEmitter<void>();\n\n constructor() {\n }\n\n ngOnInit(): void {\n }\n\n onClose($event: any) {\n this.closed.emit($event);\n }\n}\n","<d-alert [type]=\"type\" [dismissTime]=\"dismissTime\" [closeable]=\"true\"\n (closeEvent)=\"onClose($event)\">{{message}}</d-alert>\n","import {NgModule} from '@angular/core';\nimport {AlertComponent} from './alert.component';\nimport {AlertModule as DevUI_AlertModule} from 'ng-devui';\n\n@NgModule({\n declarations: [\n AlertComponent\n ],\n imports: [\n DevUI_AlertModule\n ],\n exports: [\n AlertComponent\n ]\n})\nexport class AlertModule {\n}\n","/*\n * Public API Surface of rs-ant\n */\n\nexport * from './alert/alert.component';\nexport * from './alert/alert.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["DevUI_AlertModule"],"mappings":";;;;;MAQa,cAAc,CAAA;AAOzB,IAAA,WAAA,GAAA;QANS,IAAI,CAAA,IAAA,GAAc,MAAM,CAAC;QAElC,IAAW,CAAA,WAAA,GAAW,MAAM,CAAC;AAEnB,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,YAAY,EAAQ,CAAC;KAG3C;IAED,QAAQ,GAAA;KACP;AAED,IAAA,OAAO,CAAC,MAAW,EAAA;AACjB,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;KAC1B;;4GAfU,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAd,cAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,cAAc,6HCR3B,gJAEA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,cAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,WAAA,EAAA,SAAA,EAAA,UAAA,EAAA,aAAA,CAAA,EAAA,OAAA,EAAA,CAAA,YAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;4FDMa,cAAc,EAAA,UAAA,EAAA,CAAA;kBAL1B,SAAS;+BACE,UAAU,EAAA,QAAA,EAAA,gJAAA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA;0EAKX,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,OAAO,EAAA,CAAA;sBAAf,KAAK;gBAGI,MAAM,EAAA,CAAA;sBAAf,MAAM;;;MEEI,WAAW,CAAA;;yGAAX,WAAW,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAX,WAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAW,EATpB,YAAA,EAAA,CAAA,cAAc,CAGd,EAAA,OAAA,EAAA,CAAAA,aAAiB,aAGjB,cAAc,CAAA,EAAA,CAAA,CAAA;AAGL,WAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAW,EAPb,OAAA,EAAA,CAAA;YACPA,aAAiB;AAClB,SAAA,CAAA,EAAA,CAAA,CAAA;4FAKU,WAAW,EAAA,UAAA,EAAA,CAAA;kBAXvB,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE;wBACZ,cAAc;AACf,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACPA,aAAiB;AAClB,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,cAAc;AACf,qBAAA;AACF,iBAAA,CAAA;;;ACdD;;AAEG;;ACFH;;AAEG;;;;"}
|
|
1
|
+
{"version":3,"file":"ngx-rs-ant.mjs","sources":["../../../projects/rs-ant/src/modal/modal.component.ts","../../../projects/rs-ant/src/modal/modal.component.html","../../../projects/rs-ant/src/modal/modal.service.ts","../../../projects/rs-ant/src/modal/modal.module.ts","../../../projects/rs-ant/src/public-api.ts","../../../projects/rs-ant/src/ngx-rs-ant.ts"],"sourcesContent":["import {Component, ElementRef, HostListener, Input, OnDestroy, OnInit, TemplateRef, ViewChild} from '@angular/core';\n\n@Component({\n selector: 'rs-modal',\n templateUrl: './modal.component.html',\n styleUrls: ['./modal.component.scss']\n})\nexport class ModalComponent implements OnInit, OnDestroy {\n @Input() title!: string;\n @Input() size: 'default' | 'large' | 'full' = 'default';\n _width: number = 480;\n @ViewChild('modal', {static: true}) modalElementRef!: ElementRef;\n moveHandleEl!: HTMLElement;\n movable: boolean = false;\n topStart = 0;\n leftStart = 0;\n @Input()\n contentTemplate!: TemplateRef<any>;\n @Input()\n contentTemplateContext: any;\n\n constructor(public elementRef: ElementRef) {\n }\n\n ngOnInit() {\n if (this.size === 'full') {\n this.modalElementRef.nativeElement.style.top = '0px';\n this.modalElementRef.nativeElement.style.right = '0px';\n this.modalElementRef.nativeElement.style.bottom = '0px';\n this.modalElementRef.nativeElement.style.left = '0px';\n this.modalElementRef.nativeElement.style.margin = '2px';\n this.modalElementRef.nativeElement.style.boxShadow = 'none';\n } else {\n if (this.size === 'large') {\n this._width = 960;\n }\n this.modalElementRef.nativeElement.style.width = this._width + 'px';\n this.modalElementRef.nativeElement.style.top = '40px';\n this.modalElementRef.nativeElement.style.left =\n (this.elementRef.nativeElement.parentElement.offsetWidth - this.modalElementRef.nativeElement.offsetWidth) / 2 + 'px';\n this.moveHandleEl = this.elementRef.nativeElement.querySelector('d-card-header');\n this.moveHandleEl.style.cursor = 'move';\n }\n }\n\n show() {\n // 若存在多层模态框,仅保留最上层遮罩颜色,下层遮罩设置为透明\n const parentElement = this.elementRef.nativeElement.parentElement;\n const nodeName = this.elementRef.nativeElement.nodeName;\n const modals = parentElement.querySelectorAll(nodeName);\n for (let i = 0; i < modals.length; i++) {\n if (i === modals.length - 1) {\n modals[i].querySelector('.modal-backdrop').style.backgroundColor = 'rgba(37, 43, 58, 0.05)';\n } else {\n modals[i].querySelector('.modal-backdrop').style.backgroundColor = 'rgba(37, 43, 58, 0)';\n }\n }\n }\n\n hide() {\n // 在service中重写\n }\n\n ngOnDestroy(): void {\n // 若存在多层模态框,下一层遮罩设置为不透明\n const parentElement = this.elementRef.nativeElement.parentElement;\n const nodeName = this.elementRef.nativeElement.nodeName;\n const nextModal = parentElement.querySelector(nodeName + ':nth-last-child(2)');\n if (nextModal) {\n nextModal.querySelector('.modal-backdrop').style.backgroundColor = 'rgba(37, 43, 58, 0.05)';\n }\n }\n\n resolveModalBackdropPosition() {\n return {\n \"width\": this.elementRef.nativeElement.parentElement.offsetWidth + 'px',\n \"height\": this.elementRef.nativeElement.parentElement.offsetHeight + 'px',\n \"top\": this.elementRef.nativeElement.parentElement.offsetTop + 'px',\n \"left\": this.elementRef.nativeElement.parentElement.offsetLeft + 'px',\n };\n }\n\n onMousedown($event: MouseEvent) {\n if ($event.button === 2 || !this.checkHandleTarget($event.target, this.moveHandleEl)) {\n return;\n }\n this.movable = true;\n this.topStart = $event.clientY - this.modalElementRef.nativeElement.style.top.replace('px', '');\n this.leftStart = $event.clientX - this.modalElementRef.nativeElement.style.left.replace('px', '');\n }\n\n private checkHandleTarget(target: any, element: any): boolean {\n if (!element) {\n return false;\n }\n if (target === element) {\n return true;\n }\n for (let child in element.children) {\n if (Object.prototype.hasOwnProperty.call(element.children, child)) {\n if (this.checkHandleTarget(target, element.children[child])) {\n return true;\n }\n }\n }\n return false;\n }\n\n @HostListener('document:mouseup', ['$event'])\n onMouseup() {\n this.movable = false;\n }\n\n @HostListener('document:mousemove', ['$event'])\n onMousemove($event: MouseEvent) {\n if (!this.movable) {\n return;\n }\n $event.stopPropagation();\n $event.preventDefault();\n const element = this.modalElementRef.nativeElement;\n let currentTop = $event.clientY - this.topStart;\n let currentLeft = $event.clientX - this.leftStart;\n currentTop = currentTop < 0 ? 0 : currentTop;\n const maxTop = element.parentElement.offsetHeight - element.offsetHeight;\n currentTop = currentTop > maxTop ? maxTop : currentTop;\n currentLeft = currentLeft < 0 ? 0 : currentLeft;\n const maxLeft = element.parentElement.offsetWidth - element.offsetWidth;\n currentLeft = currentLeft > maxLeft ? maxLeft : currentLeft;\n element.style.top = currentTop + 'px';\n element.style.left = currentLeft + 'px';\n }\n}\n","<div class=\"modal-backdrop\" [ngStyle]=\"resolveModalBackdropPosition()\">\n <div #modal class=\"modal\">\n <d-card>\n <i class=\"icon-close\" (click)=\"hide()\"></i>\n <d-card-header (mousedown)=\"onMousedown($event)\">\n <d-card-title>{{title}}</d-card-title>\n </d-card-header>\n <d-card-content>\n <ng-template [ngTemplateOutlet]=\"contentTemplate\"\n [ngTemplateOutletContext]=\"contentTemplateContext\"></ng-template>\n </d-card-content>\n </d-card>\n </div>\n</div>\n","import {Injectable, TemplateRef, ViewContainerRef} from '@angular/core';\nimport {ModalComponent} from './modal.component';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ModalService {\n constructor() {\n }\n\n open(viewContainerRef: ViewContainerRef,\n title: string, size: 'default' | 'large' | 'full' = 'default',\n contentTemplate: TemplateRef<any>,\n contentTemplateContext: any) {\n const modalRef = viewContainerRef.createComponent(ModalComponent);\n modalRef.instance.hide = () => {\n modalRef.hostView.destroy();\n }\n modalRef.instance.title = title;\n modalRef.instance.contentTemplate = contentTemplate;\n modalRef.instance.size = size;\n modalRef.instance.contentTemplateContext = contentTemplateContext;\n modalRef.instance.show();\n return modalRef.instance;\n }\n}\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {ModalComponent} from './modal.component';\nimport {DevUIModule} from 'ng-devui';\n\n\n@NgModule({\n declarations: [\n ModalComponent\n ],\n imports: [\n CommonModule,\n DevUIModule\n ],\n exports: []\n})\nexport class ModalModule {\n}\n","/*\r\n * Public API Surface of rs-ant\r\n */\r\n\r\nexport * from './modal/modal.service';\r\nexport * from './modal/modal.module';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { ElementRef, OnDestroy, OnInit, TemplateRef } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export declare class ModalComponent implements OnInit, OnDestroy {
|
|
4
|
+
elementRef: ElementRef;
|
|
5
|
+
title: string;
|
|
6
|
+
size: 'default' | 'large' | 'full';
|
|
7
|
+
_width: number;
|
|
8
|
+
modalElementRef: ElementRef;
|
|
9
|
+
moveHandleEl: HTMLElement;
|
|
10
|
+
movable: boolean;
|
|
11
|
+
topStart: number;
|
|
12
|
+
leftStart: number;
|
|
13
|
+
contentTemplate: TemplateRef<any>;
|
|
14
|
+
contentTemplateContext: any;
|
|
15
|
+
constructor(elementRef: ElementRef);
|
|
16
|
+
ngOnInit(): void;
|
|
17
|
+
show(): void;
|
|
18
|
+
hide(): void;
|
|
19
|
+
ngOnDestroy(): void;
|
|
20
|
+
resolveModalBackdropPosition(): {
|
|
21
|
+
width: string;
|
|
22
|
+
height: string;
|
|
23
|
+
top: string;
|
|
24
|
+
left: string;
|
|
25
|
+
};
|
|
26
|
+
onMousedown($event: MouseEvent): void;
|
|
27
|
+
private checkHandleTarget;
|
|
28
|
+
onMouseup(): void;
|
|
29
|
+
onMousemove($event: MouseEvent): void;
|
|
30
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ModalComponent, never>;
|
|
31
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<ModalComponent, "rs-modal", never, { "title": "title"; "size": "size"; "contentTemplate": "contentTemplate"; "contentTemplateContext": "contentTemplateContext"; }, {}, never, never>;
|
|
32
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
import * as i1 from "./modal.component";
|
|
3
|
+
import * as i2 from "@angular/common";
|
|
4
|
+
import * as i3 from "ng-devui";
|
|
5
|
+
export declare class ModalModule {
|
|
6
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ModalModule, never>;
|
|
7
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<ModalModule, [typeof i1.ModalComponent], [typeof i2.CommonModule, typeof i3.DevUIModule], never>;
|
|
8
|
+
static ɵinj: i0.ɵɵInjectorDeclaration<ModalModule>;
|
|
9
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { TemplateRef, ViewContainerRef } from '@angular/core';
|
|
2
|
+
import { ModalComponent } from './modal.component';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export declare class ModalService {
|
|
5
|
+
constructor();
|
|
6
|
+
open(viewContainerRef: ViewContainerRef, title: string, size: "default" | "full" | "large" | undefined, contentTemplate: TemplateRef<any>, contentTemplateContext: any): ModalComponent;
|
|
7
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ModalService, never>;
|
|
8
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<ModalService>;
|
|
9
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ngx-rs-ant",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.4",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"description": "RsAnt components based on Angular and DevUI",
|
|
6
6
|
"exports": {
|
|
@@ -25,6 +25,7 @@
|
|
|
25
25
|
"peerDependencies": {
|
|
26
26
|
"@angular/common": "^13.3.0",
|
|
27
27
|
"@angular/core": "^13.3.0",
|
|
28
|
+
"@devui-design/icons": "^1.3.0",
|
|
28
29
|
"ng-devui": "^13.3.0"
|
|
29
30
|
},
|
|
30
31
|
"module": "fesm2015/ngx-rs-ant.mjs",
|
package/public-api.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export * from './
|
|
2
|
-
export * from './
|
|
1
|
+
export * from './modal/modal.service';
|
|
2
|
+
export * from './modal/modal.module';
|
package/rs-ant.scss
CHANGED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { EventEmitter, OnInit } from '@angular/core';
|
|
2
|
-
import { AlertType } from 'ng-devui/alert/alert.types';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export declare class AlertComponent implements OnInit {
|
|
5
|
-
type: AlertType;
|
|
6
|
-
message?: string;
|
|
7
|
-
dismissTime: number;
|
|
8
|
-
closed: EventEmitter<void>;
|
|
9
|
-
constructor();
|
|
10
|
-
ngOnInit(): void;
|
|
11
|
-
onClose($event: any): void;
|
|
12
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<AlertComponent, never>;
|
|
13
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<AlertComponent, "rs-alert", never, { "type": "type"; "message": "message"; }, { "closed": "closed"; }, never, never>;
|
|
14
|
-
}
|
package/alert/alert.module.d.ts
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import * as i0 from "@angular/core";
|
|
2
|
-
import * as i1 from "./alert.component";
|
|
3
|
-
import * as i2 from "ng-devui";
|
|
4
|
-
export declare class AlertModule {
|
|
5
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<AlertModule, never>;
|
|
6
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<AlertModule, [typeof i1.AlertComponent], [typeof i2.AlertModule], [typeof i1.AlertComponent]>;
|
|
7
|
-
static ɵinj: i0.ɵɵInjectorDeclaration<AlertModule>;
|
|
8
|
-
}
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
import * as i1 from "ng-devui";
|
|
4
|
-
export class AlertComponent {
|
|
5
|
-
constructor() {
|
|
6
|
-
this.type = 'info';
|
|
7
|
-
this.dismissTime = 500000;
|
|
8
|
-
this.closed = new EventEmitter();
|
|
9
|
-
}
|
|
10
|
-
ngOnInit() {
|
|
11
|
-
}
|
|
12
|
-
onClose($event) {
|
|
13
|
-
this.closed.emit($event);
|
|
14
|
-
}
|
|
15
|
-
}
|
|
16
|
-
AlertComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AlertComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
17
|
-
AlertComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: AlertComponent, selector: "rs-alert", inputs: { type: "type", message: "message" }, outputs: { closed: "closed" }, ngImport: i0, template: "<d-alert [type]=\"type\" [dismissTime]=\"dismissTime\" [closeable]=\"true\"\n (closeEvent)=\"onClose($event)\">{{message}}</d-alert>\n", styles: [""], components: [{ type: i1.AlertComponent, selector: "d-alert", inputs: ["type", "cssClass", "closeable", "content", "showIcon", "dismissTime"], outputs: ["closeEvent"] }] });
|
|
18
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AlertComponent, decorators: [{
|
|
19
|
-
type: Component,
|
|
20
|
-
args: [{ selector: 'rs-alert', template: "<d-alert [type]=\"type\" [dismissTime]=\"dismissTime\" [closeable]=\"true\"\n (closeEvent)=\"onClose($event)\">{{message}}</d-alert>\n", styles: [""] }]
|
|
21
|
-
}], ctorParameters: function () { return []; }, propDecorators: { type: [{
|
|
22
|
-
type: Input
|
|
23
|
-
}], message: [{
|
|
24
|
-
type: Input
|
|
25
|
-
}], closed: [{
|
|
26
|
-
type: Output
|
|
27
|
-
}] } });
|
|
28
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxlcnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvcnMtYW50L3NyYy9hbGVydC9hbGVydC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wcm9qZWN0cy9ycy1hbnQvc3JjL2FsZXJ0L2FsZXJ0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7OztBQVE3RSxNQUFNLE9BQU8sY0FBYztJQU96QjtRQU5TLFNBQUksR0FBYyxNQUFNLENBQUM7UUFFbEMsZ0JBQVcsR0FBVyxNQUFNLENBQUM7UUFFbkIsV0FBTSxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7SUFHNUMsQ0FBQztJQUVELFFBQVE7SUFDUixDQUFDO0lBRUQsT0FBTyxDQUFDLE1BQVc7UUFDakIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDM0IsQ0FBQzs7NEdBZlUsY0FBYztnR0FBZCxjQUFjLDZIQ1IzQixnSkFFQTs0RkRNYSxjQUFjO2tCQUwxQixTQUFTOytCQUNFLFVBQVU7MEVBS1gsSUFBSTtzQkFBWixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFHSSxNQUFNO3NCQUFmLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtBbGVydFR5cGV9IGZyb20gJ25nLWRldnVpL2FsZXJ0L2FsZXJ0LnR5cGVzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncnMtYWxlcnQnLFxuICB0ZW1wbGF0ZVVybDogJy4vYWxlcnQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9hbGVydC5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIEFsZXJ0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgdHlwZTogQWxlcnRUeXBlID0gJ2luZm8nO1xuICBASW5wdXQoKSBtZXNzYWdlPzogc3RyaW5nO1xuICBkaXNtaXNzVGltZTogbnVtYmVyID0gNTAwMDAwO1xuXG4gIEBPdXRwdXQoKSBjbG9zZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgfVxuXG4gIG9uQ2xvc2UoJGV2ZW50OiBhbnkpIHtcbiAgICB0aGlzLmNsb3NlZC5lbWl0KCRldmVudCk7XG4gIH1cbn1cbiIsIjxkLWFsZXJ0IFt0eXBlXT1cInR5cGVcIiBbZGlzbWlzc1RpbWVdPVwiZGlzbWlzc1RpbWVcIiBbY2xvc2VhYmxlXT1cInRydWVcIlxuICAgICAgICAgKGNsb3NlRXZlbnQpPVwib25DbG9zZSgkZXZlbnQpXCI+e3ttZXNzYWdlfX08L2QtYWxlcnQ+XG4iXX0=
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import { NgModule } from '@angular/core';
|
|
2
|
-
import { AlertComponent } from './alert.component';
|
|
3
|
-
import { AlertModule as DevUI_AlertModule } from 'ng-devui';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
export class AlertModule {
|
|
6
|
-
}
|
|
7
|
-
AlertModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AlertModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
8
|
-
AlertModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AlertModule, declarations: [AlertComponent], imports: [DevUI_AlertModule], exports: [AlertComponent] });
|
|
9
|
-
AlertModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AlertModule, imports: [[
|
|
10
|
-
DevUI_AlertModule
|
|
11
|
-
]] });
|
|
12
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AlertModule, decorators: [{
|
|
13
|
-
type: NgModule,
|
|
14
|
-
args: [{
|
|
15
|
-
declarations: [
|
|
16
|
-
AlertComponent
|
|
17
|
-
],
|
|
18
|
-
imports: [
|
|
19
|
-
DevUI_AlertModule
|
|
20
|
-
],
|
|
21
|
-
exports: [
|
|
22
|
-
AlertComponent
|
|
23
|
-
]
|
|
24
|
-
}]
|
|
25
|
-
}] });
|
|
26
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxlcnQubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvcnMtYW50L3NyYy9hbGVydC9hbGVydC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sbUJBQW1CLENBQUM7QUFDakQsT0FBTyxFQUFDLFdBQVcsSUFBSSxpQkFBaUIsRUFBQyxNQUFNLFVBQVUsQ0FBQzs7QUFhMUQsTUFBTSxPQUFPLFdBQVc7O3lHQUFYLFdBQVc7MEdBQVgsV0FBVyxpQkFUcEIsY0FBYyxhQUdkLGlCQUFpQixhQUdqQixjQUFjOzBHQUdMLFdBQVcsWUFQYjtZQUNQLGlCQUFpQjtTQUNsQjs0RkFLVSxXQUFXO2tCQVh2QixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRTt3QkFDWixjQUFjO3FCQUNmO29CQUNELE9BQU8sRUFBRTt3QkFDUCxpQkFBaUI7cUJBQ2xCO29CQUNELE9BQU8sRUFBRTt3QkFDUCxjQUFjO3FCQUNmO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtOZ01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0FsZXJ0Q29tcG9uZW50fSBmcm9tICcuL2FsZXJ0LmNvbXBvbmVudCc7XG5pbXBvcnQge0FsZXJ0TW9kdWxlIGFzIERldlVJX0FsZXJ0TW9kdWxlfSBmcm9tICduZy1kZXZ1aSc7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1xuICAgIEFsZXJ0Q29tcG9uZW50XG4gIF0sXG4gIGltcG9ydHM6IFtcbiAgICBEZXZVSV9BbGVydE1vZHVsZVxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgQWxlcnRDb21wb25lbnRcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBBbGVydE1vZHVsZSB7XG59XG4iXX0=
|