@sd-angular/core 1.1.62 → 1.1.65
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/bundles/sd-angular-core-comment.umd.js +13 -7
- package/bundles/sd-angular-core-comment.umd.js.map +1 -1
- package/bundles/sd-angular-core-comment.umd.min.js +2 -2
- package/bundles/sd-angular-core-comment.umd.min.js.map +1 -1
- package/bundles/sd-angular-core-modal.umd.js +2 -1
- package/bundles/sd-angular-core-modal.umd.js.map +1 -1
- package/bundles/sd-angular-core-modal.umd.min.js +1 -1
- package/bundles/sd-angular-core-modal.umd.min.js.map +1 -1
- package/bundles/sd-angular-core-notify.umd.js +11 -8
- package/bundles/sd-angular-core-notify.umd.js.map +1 -1
- package/bundles/sd-angular-core-notify.umd.min.js +2 -2
- package/bundles/sd-angular-core-notify.umd.min.js.map +1 -1
- package/comment/sd-angular-core-comment.metadata.json +1 -1
- package/comment/src/lib/comment.component.d.ts +4 -0
- package/comment/src/lib/comment.model.d.ts +5 -0
- package/esm2015/comment/src/lib/comment.component.js +9 -3
- package/esm2015/comment/src/lib/comment.model.js +1 -1
- package/esm2015/comment/src/lib/comment.module.js +3 -2
- package/esm2015/modal/src/lib/modal/modal.component.js +3 -2
- package/esm2015/notify/src/lib/components/dialog-confirm/dialog-confirm.component.js +7 -4
- package/esm2015/notify/src/lib/notify.module.js +3 -3
- package/fesm2015/sd-angular-core-comment.js +10 -3
- package/fesm2015/sd-angular-core-comment.js.map +1 -1
- package/fesm2015/sd-angular-core-modal.js +2 -1
- package/fesm2015/sd-angular-core-modal.js.map +1 -1
- package/fesm2015/sd-angular-core-notify.js +8 -5
- package/fesm2015/sd-angular-core-notify.js.map +1 -1
- package/modal/sd-angular-core-modal.metadata.json +1 -1
- package/modal/src/lib/modal/modal.component.d.ts +1 -0
- package/notify/sd-angular-core-notify.metadata.json +1 -1
- package/notify/src/lib/components/dialog-confirm/dialog-confirm.component.d.ts +1 -0
- package/package.json +1 -1
- package/{sd-angular-core-1.1.62.tgz → sd-angular-core-1.1.65.tgz} +0 -0
|
@@ -10,7 +10,7 @@ import { ToastrModule } from "ngx-toastr";
|
|
|
10
10
|
import { SdButtonModule } from "@sd-angular/core/button";
|
|
11
11
|
import { SdNotifyService } from "./notify.service";
|
|
12
12
|
import { DialogConfirmComponent } from "./components/dialog-confirm/dialog-confirm.component";
|
|
13
|
-
import {
|
|
13
|
+
import { SdDateTimeModule } from "@sd-angular/core/date-time";
|
|
14
14
|
export class SdNotifyModule {
|
|
15
15
|
}
|
|
16
16
|
SdNotifyModule.decorators = [
|
|
@@ -20,7 +20,7 @@ SdNotifyModule.decorators = [
|
|
|
20
20
|
FormsModule,
|
|
21
21
|
MatFormFieldModule,
|
|
22
22
|
MatInputModule,
|
|
23
|
-
|
|
23
|
+
SdDateTimeModule,
|
|
24
24
|
MatIconModule,
|
|
25
25
|
MatButtonModule,
|
|
26
26
|
MatDialogModule,
|
|
@@ -33,4 +33,4 @@ SdNotifyModule.decorators = [
|
|
|
33
33
|
providers: [SdNotifyService],
|
|
34
34
|
},] }
|
|
35
35
|
];
|
|
36
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
36
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZ5Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiJDOi9Vc2Vycy9uZ2hpYXR0MTVfb25lbW91bnQvRG9jdW1lbnRzL2xpYi1jb3JlLXVpL3Byb2plY3RzL3NkLWNvcmUvbm90aWZ5LyIsInNvdXJjZXMiOlsic3JjL2xpYi9ub3RpZnkubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFpQixZQUFZLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDekQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRXpELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxzREFBc0QsQ0FBQztBQUM5RixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQXFCOUQsTUFBTSxPQUFPLGNBQWM7OztZQW5CMUIsUUFBUSxTQUFDO2dCQUNSLE9BQU8sRUFBRTtvQkFDUCxZQUFZO29CQUNaLFdBQVc7b0JBQ1gsa0JBQWtCO29CQUNsQixjQUFjO29CQUNkLGdCQUFnQjtvQkFDaEIsYUFBYTtvQkFDYixlQUFlO29CQUNmLGVBQWU7b0JBQ2YsWUFBWSxDQUFDLE9BQU8sRUFBRTtvQkFFdEIsY0FBYztpQkFDZjtnQkFDRCxZQUFZLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQztnQkFDdEMsZUFBZSxFQUFFLENBQUMsc0JBQXNCLENBQUM7Z0JBQ3pDLE9BQU8sRUFBRSxFQUFFO2dCQUNYLFNBQVMsRUFBRSxDQUFDLGVBQWUsQ0FBQzthQUM3QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xyXG5pbXBvcnQgeyBNYXREaWFsb2dNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nXCI7XHJcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvblwiO1xyXG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uXCI7XHJcbmltcG9ydCB7IE1hdEZvcm1GaWVsZE1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkXCI7XHJcbmltcG9ydCB7IE1hdElucHV0TW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2lucHV0XCI7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XHJcbmltcG9ydCB7IFRvYXN0clNlcnZpY2UsIFRvYXN0ck1vZHVsZSB9IGZyb20gXCJuZ3gtdG9hc3RyXCI7XHJcbmltcG9ydCB7IFNkQnV0dG9uTW9kdWxlIH0gZnJvbSBcIkBzZC1hbmd1bGFyL2NvcmUvYnV0dG9uXCI7XHJcblxyXG5pbXBvcnQgeyBTZE5vdGlmeVNlcnZpY2UgfSBmcm9tIFwiLi9ub3RpZnkuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBEaWFsb2dDb25maXJtQ29tcG9uZW50IH0gZnJvbSBcIi4vY29tcG9uZW50cy9kaWFsb2ctY29uZmlybS9kaWFsb2ctY29uZmlybS5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgU2REYXRlVGltZU1vZHVsZSB9IGZyb20gXCJAc2QtYW5ndWxhci9jb3JlL2RhdGUtdGltZVwiO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBGb3Jtc01vZHVsZSxcclxuICAgIE1hdEZvcm1GaWVsZE1vZHVsZSxcclxuICAgIE1hdElucHV0TW9kdWxlLFxyXG4gICAgU2REYXRlVGltZU1vZHVsZSxcclxuICAgIE1hdEljb25Nb2R1bGUsXHJcbiAgICBNYXRCdXR0b25Nb2R1bGUsXHJcbiAgICBNYXREaWFsb2dNb2R1bGUsXHJcbiAgICBUb2FzdHJNb2R1bGUuZm9yUm9vdCgpLFxyXG5cclxuICAgIFNkQnV0dG9uTW9kdWxlLFxyXG4gIF0sXHJcbiAgZGVjbGFyYXRpb25zOiBbRGlhbG9nQ29uZmlybUNvbXBvbmVudF0sXHJcbiAgZW50cnlDb21wb25lbnRzOiBbRGlhbG9nQ29uZmlybUNvbXBvbmVudF0sXHJcbiAgZXhwb3J0czogW10sXHJcbiAgcHJvdmlkZXJzOiBbU2ROb3RpZnlTZXJ2aWNlXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFNkTm90aWZ5TW9kdWxlIHt9XHJcbiJdfQ==
|
|
@@ -12,12 +12,16 @@ import { SdInputModule } from '@sd-angular/core/input';
|
|
|
12
12
|
import { SdUtilityModule } from '@sd-angular/core/utility';
|
|
13
13
|
import { MatTooltipModule } from '@angular/material/tooltip';
|
|
14
14
|
import { SdEditorModule } from '@sd-angular/core/editor';
|
|
15
|
+
import { SdModalModule } from '@sd-angular/core/modal';
|
|
15
16
|
|
|
16
17
|
var _items, _send, _load;
|
|
17
18
|
class SdComment {
|
|
18
19
|
constructor() {
|
|
19
20
|
_items.set(this, new BehaviorSubject([]));
|
|
20
21
|
_send.set(this, new BehaviorSubject(''));
|
|
22
|
+
this.fullCommentStyles = {
|
|
23
|
+
'min-height': '150px'
|
|
24
|
+
};
|
|
21
25
|
this.onSend = () => {
|
|
22
26
|
var _a, _b, _c;
|
|
23
27
|
if (this.message) {
|
|
@@ -37,6 +41,9 @@ class SdComment {
|
|
|
37
41
|
this.reload = () => __awaiter(this, void 0, void 0, function* () {
|
|
38
42
|
__classPrivateFieldGet(this, _items).next(yield __classPrivateFieldGet(this, _load).call(this));
|
|
39
43
|
});
|
|
44
|
+
this.clearAllData = () => {
|
|
45
|
+
this.message = '';
|
|
46
|
+
};
|
|
40
47
|
}
|
|
41
48
|
set option(option) {
|
|
42
49
|
this.commentOption = option;
|
|
@@ -61,9 +68,9 @@ _items = new WeakMap(), _send = new WeakMap(), _load = new WeakMap();
|
|
|
61
68
|
SdComment.decorators = [
|
|
62
69
|
{ type: Component, args: [{
|
|
63
70
|
selector: 'sd-comment',
|
|
64
|
-
template: "<div class=\"c-container\">\r\n <div class=\"c-header\">\r\n <div class=\"c-title\">{{'Comments' | sdTranslate}} <a href=\"javascript:;\">({{count | async}})</a></div>\r\n </div>\r\n <div class=\"c-body\" *ngIf=\"commentOption?.style==='basic'\">\r\n <ng-container *ngFor=\"let item of items | async\">\r\n <div class=\"d-flex my-8\">\r\n <div class=\"c-avatar mr-12\">\r\n <img height=\"32\" width=\"32px\" [src]=\"item.picture\">\r\n </div>\r\n <div class=\"c-comment\">\r\n <div class=\"c-info mb-4\">\r\n {{'By' | sdTranslate}}\r\n <span class=\"c-creator ml-2\">\r\n {{item.creator}}\r\n </span>\r\n <ng-container *ngIf=\"item.createdDate\">\r\n <span class=\"mx-4\">\u2022</span>\r\n <span\r\n [matTooltip]=\"item.createdDate | date:'dd/MM/yyyy HH:mm'\">{{item.createdDate | sdTimeDifferent:'dd/MM/yyyy HH:mm':'hour' | async}}</span>\r\n </ng-container>\r\n </div>\r\n <div class=\"c-content\" [innerHtml]=\"item.content\">\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n <div class=\"c-body-style1\" *ngIf=\"commentOption?.style==='style1'\">\r\n <ng-container *ngFor=\"let item of items | async; let i = index\">\r\n <div class=\"d-flex my-8\">\r\n <div class=\"c-avatar mr-12\">\r\n <img height=\"32\" width=\"32px\" [src]=\"item.picture\">\r\n </div>\r\n <div class=\"c-comment {{i + 1 === (count | async) ? 'c-comment-border': ''}}\">\r\n <div class=\"c-info mb-4\">\r\n <div class=\"c-col-left\">\r\n <div class=\"c-creator\">\r\n {{item.creator}}\r\n </div>\r\n <div class=\"c-email\">\r\n {{item.email}}\r\n </div>\r\n </div>\r\n <ng-container *ngIf=\"item.createdDate\">\r\n <div class=\"c-col-right\"\r\n [matTooltip]=\"item.createdDate | date:'dd/MM/yyyy H:mm'\">{{item.createdDate | date:'dd/MM/yyyy H:mm'}}</div>\r\n </ng-container>\r\n </div>\r\n <div class=\"c-content\" [innerHtml]=\"item.content\">\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n <div class=\"c-footer p-16\">\r\n <div class=\"row\">\r\n <div class=\"col-12\">\r\n <ng-container *ngIf=\"commentOption?.editor?.enabled else noUseEditor\">\r\n <div class=\"mb-8\">\r\n <sd-editor [(model)]=\"message\" [styles]=\"commentOption?.editor?.styles\"\r\n [toolbar]=\"commentOption?.editor?.toolbar\"\r\n [urlUploadImage]=\"commentOption?.editor?.urlUploadImage\"\r\n [mentionValues]=\"commentOption?.editor?.mentionValues\"\r\n [hashTagValues]=\"commentOption?.editor?.hashTagValues\"></sd-editor>\r\n </div>\r\n </ng-container>\r\n <ng-template #noUseEditor>\r\n <sd-textarea [(model)]=\"message\" rows=\"1\" autoHeight></sd-textarea>\r\n </ng-template>\r\n </div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-12\">\r\n <sd-button class=\"float-right\" title=\"G\u1EEDi\" (action)=\"onSend()\" [disabled]=\"!message\" color=\"primary\" type=\"fill\"\r\n size=\"sm\">\r\n </sd-button>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n",
|
|
71
|
+
template: "<div class=\"c-container\">\r\n <div class=\"c-header\">\r\n <div class=\"c-title\">{{'Comments' | sdTranslate}} <a href=\"javascript:;\">({{count | async}})</a></div>\r\n </div>\r\n <div class=\"c-body\" *ngIf=\"commentOption?.style==='basic'\">\r\n <ng-container *ngFor=\"let item of items | async\">\r\n <div class=\"d-flex my-8\">\r\n <div class=\"c-avatar mr-12\">\r\n <img height=\"32\" width=\"32px\" [src]=\"item.picture\">\r\n </div>\r\n <div class=\"c-comment\">\r\n <div class=\"c-info mb-4\">\r\n {{'By' | sdTranslate}}\r\n <span class=\"c-creator ml-2\">\r\n {{item.creator}}\r\n </span>\r\n <ng-container *ngIf=\"item.createdDate\">\r\n <span class=\"mx-4\">\u2022</span>\r\n <span\r\n [matTooltip]=\"item.createdDate | date:'dd/MM/yyyy HH:mm'\">{{item.createdDate | sdTimeDifferent:'dd/MM/yyyy HH:mm':'hour' | async}}</span>\r\n </ng-container>\r\n </div>\r\n <div class=\"c-content\" [innerHtml]=\"item.content\">\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n <div class=\"c-body-style1\" *ngIf=\"commentOption?.style==='style1'\">\r\n <ng-container *ngFor=\"let item of items | async; let i = index\">\r\n <div class=\"d-flex my-8\">\r\n <div class=\"c-avatar mr-12\">\r\n <img height=\"32\" width=\"32px\" [src]=\"item.picture\">\r\n </div>\r\n <div class=\"c-comment {{i + 1 === (count | async) ? 'c-comment-border': ''}}\">\r\n <div class=\"c-info mb-4\">\r\n <div class=\"c-col-left\">\r\n <div class=\"c-creator\">\r\n {{item.creator}}\r\n </div>\r\n <div class=\"c-email\">\r\n {{item.email}}\r\n </div>\r\n </div>\r\n <ng-container *ngIf=\"item.createdDate\">\r\n <div class=\"c-col-right\"\r\n [matTooltip]=\"item.createdDate | date:'dd/MM/yyyy H:mm'\">{{item.createdDate | date:'dd/MM/yyyy H:mm'}}</div>\r\n </ng-container>\r\n </div>\r\n <div class=\"c-content\" [innerHtml]=\"item.content\">\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n <div class=\"c-footer p-16\">\r\n <div class=\"row\">\r\n <div class=\"col-12 c-position-relative\">\r\n <ng-container *ngIf=\"commentOption?.editor?.enabled else noUseEditor\">\r\n <div class=\"mb-8\">\r\n <sd-editor [(model)]=\"message\" [styles]=\"commentOption?.editor?.styles\"\r\n [toolbar]=\"commentOption?.editor?.toolbar\"\r\n [urlUploadImage]=\"commentOption?.editor?.urlUploadImage\"\r\n [mentionValues]=\"commentOption?.editor?.mentionValues\"\r\n [hashTagValues]=\"commentOption?.editor?.hashTagValues\"></sd-editor>\r\n </div>\r\n <div *ngIf=\"commentOption?.fullComment?.enabled\" class=\"c-full-comment-backdrop\"\r\n (click)=\"modalFullComment.open()\"></div>\r\n </ng-container>\r\n <ng-template #noUseEditor>\r\n <sd-textarea [(model)]=\"message\" rows=\"1\" autoHeight></sd-textarea>\r\n </ng-template>\r\n </div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-12\">\r\n <sd-button class=\"float-right\" title=\"G\u1EEDi\" (action)=\"onSend()\" [disabled]=\"!message\" color=\"primary\" type=\"fill\"\r\n size=\"sm\">\r\n </sd-button>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<sd-modal [title]=\"'Comments' | sdTranslate\" width=\"sm\" [closeClickOutSide]=\"commentOption?.fullComment?.closeClickOutSide\" #modalFullComment>\r\n <sd-modal-body>\r\n <sd-editor [(model)]=\"message\" [styles]=\"fullCommentStyles\"\r\n [toolbar]=\"commentOption?.editor?.toolbar\"\r\n [urlUploadImage]=\"commentOption?.editor?.urlUploadImage\"\r\n [mentionValues]=\"commentOption?.editor?.mentionValues\"\r\n [hashTagValues]=\"commentOption?.editor?.hashTagValues\"></sd-editor>\r\n </sd-modal-body>\r\n <sd-modal-footer>\r\n <sd-button class=\"ml-8\" title=\"X\u00F3a to\u00E0n b\u1ED9\" size=\"sm\" type=\"link\"\r\n (action)=\"clearAllData()\">\r\n </sd-button>\r\n <sd-button *ngIf=\"!commentOption?.fullComment?.enableSendButton\" class=\"ml-8\" title=\"\u0110\u00F3ng\" size=\"sm\" (action)=\"modalFullComment.close()\"\r\n color=\"primary\" type=\"fill\">\r\n </sd-button>\r\n <sd-button *ngIf=\"commentOption?.fullComment?.enableSendButton\" class=\"ml-8\" title=\"G\u1EEDi\" size=\"sm\" (action)=\"onSend();modalFullComment.close();\" [disabled]=\"!message\"\r\n color=\"primary\" type=\"fill\">\r\n </sd-button>\r\n </sd-modal-footer>\r\n</sd-modal>\r\n",
|
|
65
72
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
66
|
-
styles: [".text-black400{color:#757575}.c-container{display:flex;flex-direction:column;height:100%}.c-container .c-header{align-items:center;background-color:#fff;display:flex;height:40px;padding:0 16px}.c-container .c-header .c-title{font-weight:500}.c-container .c-body{background:#f8f9fa;flex:1;overflow-y:hidden;padding:16px}.c-container .c-body:hover{overflow-y:auto}.c-container .c-body .c-comment{background:#fff;border:1px solid #f2f2f2;border-radius:4px;flex:1;overflow-wrap:break-word;padding:12px 16px;white-space:pre-wrap;word-break:break-word}.c-container .c-body .c-comment .c-info{color:#757575}.c-container .c-body .c-comment .c-info .c-creator{color:#000;font-weight:500}.c-container .c-body-style1{background:#fff;flex:1;overflow-y:hidden;padding:16px}.c-container .c-body-style1:hover{overflow-y:auto}.c-container .c-body-style1 .c-comment{background:#fff;border-bottom:3px solid #f2f2f2;border-radius:4px;flex:1;overflow-wrap:break-word;white-space:pre-wrap;word-break:break-word}.c-container .c-body-style1 .c-comment .c-info{color:#757575}.c-container .c-body-style1 .c-comment .c-info .c-creator{color:#000;font-weight:500;white-space:nowrap}.c-container .c-body-style1 .c-comment .c-info .c-email{color:#000;font-weight:400;white-space:nowrap}.c-container .c-body-style1 .c-comment .c-info .c-col-left{display:inline-block;overflow:hidden;vertical-align:top;width:calc(100% - 128px)}.c-container .c-body-style1 .c-comment .c-info .c-col-right{display:inline-block;margin-left:8px;width:120px}.c-container .c-body-style1 .c-comment-border{border-bottom:none}.c-container .c-footer{background:#fff;min-height:120px}"]
|
|
73
|
+
styles: [".text-black400{color:#757575}.c-container{display:flex;flex-direction:column;height:100%}.c-container .c-header{align-items:center;background-color:#fff;display:flex;height:40px;padding:0 16px}.c-container .c-header .c-title{font-weight:500}.c-container .c-body{background:#f8f9fa;flex:1;overflow-y:hidden;padding:16px}.c-container .c-body:hover{overflow-y:auto}.c-container .c-body .c-comment{background:#fff;border:1px solid #f2f2f2;border-radius:4px;flex:1;overflow-wrap:break-word;padding:12px 16px;white-space:pre-wrap;word-break:break-word}.c-container .c-body .c-comment .c-info{color:#757575}.c-container .c-body .c-comment .c-info .c-creator{color:#000;font-weight:500}.c-container .c-body-style1{background:#fff;flex:1;overflow-y:hidden;padding:16px}.c-container .c-body-style1:hover{overflow-y:auto}.c-container .c-body-style1 .c-comment{background:#fff;border-bottom:3px solid #f2f2f2;border-radius:4px;flex:1;overflow-wrap:break-word;white-space:pre-wrap;word-break:break-word}.c-container .c-body-style1 .c-comment .c-info{color:#757575}.c-container .c-body-style1 .c-comment .c-info .c-creator{color:#000;font-weight:500;white-space:nowrap}.c-container .c-body-style1 .c-comment .c-info .c-email{color:#000;font-weight:400;white-space:nowrap}.c-container .c-body-style1 .c-comment .c-info .c-col-left{display:inline-block;overflow:hidden;vertical-align:top;width:calc(100% - 128px)}.c-container .c-body-style1 .c-comment .c-info .c-col-right{display:inline-block;margin-left:8px;width:120px}.c-container .c-body-style1 .c-comment-border{border-bottom:none}.c-container .c-footer{background:#fff;min-height:120px}.c-container .c-footer .c-position-relative{position:relative}.c-container .c-footer .c-full-comment-backdrop{height:100%;left:0;position:absolute;top:0;width:100%;z-index:1}"]
|
|
67
74
|
},] }
|
|
68
75
|
];
|
|
69
76
|
SdComment.ctorParameters = () => [];
|
|
@@ -87,7 +94,7 @@ SdCommentModule.decorators = [
|
|
|
87
94
|
SdTextareaModule,
|
|
88
95
|
SdEditorModule,
|
|
89
96
|
SdUtilityModule,
|
|
90
|
-
|
|
97
|
+
SdModalModule
|
|
91
98
|
],
|
|
92
99
|
declarations: [
|
|
93
100
|
SdComment
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sd-angular-core-comment.js","sources":["../../../../projects/sd-core/comment/src/lib/comment.component.ts","../../../../projects/sd-core/comment/src/lib/comment.module.ts","../../../../projects/sd-core/comment/src/public-api.ts","../../../../projects/sd-core/comment/sd-angular-core-comment.ts"],"sourcesContent":["import {\r\n Component,\r\n AfterViewInit,\r\n OnInit,\r\n OnDestroy,\r\n Input,\r\n ChangeDetectionStrategy,\r\n ViewChild\r\n} from '@angular/core';\r\nimport {
|
|
1
|
+
{"version":3,"file":"sd-angular-core-comment.js","sources":["../../../../projects/sd-core/comment/src/lib/comment.component.ts","../../../../projects/sd-core/comment/src/lib/comment.module.ts","../../../../projects/sd-core/comment/src/public-api.ts","../../../../projects/sd-core/comment/sd-angular-core-comment.ts"],"sourcesContent":["import {\r\n Component,\r\n AfterViewInit,\r\n OnInit,\r\n OnDestroy,\r\n Input,\r\n ChangeDetectionStrategy,\r\n ViewChild\r\n} from '@angular/core';\r\nimport {SdTextarea} from '@sd-angular/core/textarea';\r\nimport {BehaviorSubject, Observable} from 'rxjs';\r\nimport {map, switchMap} from 'rxjs/operators';\r\nimport {Comment, SdCommentOption} from './comment.model';\r\n\r\n@Component({\r\n selector: 'sd-comment',\r\n templateUrl: './comment.component.html',\r\n styleUrls: ['./comment.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class SdComment implements OnInit, AfterViewInit, OnDestroy {\r\n @ViewChild(SdTextarea) textarea: SdTextarea;\r\n #items = new BehaviorSubject<Comment[]>([]);\r\n #send = new BehaviorSubject<string>('');\r\n commentOption: SdCommentOption;\r\n\r\n @Input() set option(option: SdCommentOption) {\r\n this.commentOption = option;\r\n this.reload();\r\n };\r\n\r\n fullCommentStyles = {\r\n 'min-height': '150px'\r\n };\r\n items: Observable<Comment[]>;\r\n count: Observable<number>;\r\n message: string;\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit(): void {\r\n this.items = this.#items.pipe(map(items => {\r\n return items.map(e => ({\r\n ...e,\r\n picture: e.picture ?? `https://ui-avatars.com/api/?size=32&rounded=true&background=random&name=${e.creator}`\r\n }));\r\n }));\r\n this.count = this.items.pipe(map(items => items.length));\r\n }\r\n\r\n ngOnDestroy(): void {\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n }\r\n\r\n onSend = () => {\r\n if (this.message) {\r\n this.commentOption?.event?.onSend(this.message);\r\n this.message = null;\r\n this.textarea?.focus();\r\n }\r\n }\r\n\r\n #load = async () => {\r\n const {items} = this.commentOption;\r\n const results = items();\r\n if (results instanceof Promise) {\r\n return await results;\r\n }\r\n return results;\r\n }\r\n\r\n reload = async () => {\r\n this.#items.next(await this.#load());\r\n }\r\n\r\n clearAllData = () => {\r\n this.message = '';\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { SdTranslateModule } from '@sd-angular/core/translate';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { SdComment } from './comment.component';\r\nimport { SdButtonModule } from '@sd-angular/core/button';\r\nimport { SdInputModule } from '@sd-angular/core/input';\r\nimport { SdTextareaModule } from '@sd-angular/core/textarea';\r\nimport { SdUtilityModule } from '@sd-angular/core/utility';\r\nimport { MatTooltipModule } from '@angular/material/tooltip';\r\nimport {SdEditorModule} from '@sd-angular/core/editor';\r\nimport {SdModalModule} from '@sd-angular/core/modal';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n MatButtonModule,\r\n MatIconModule,\r\n MatTooltipModule,\r\n SdTranslateModule,\r\n SdButtonModule,\r\n SdInputModule,\r\n SdTextareaModule,\r\n SdEditorModule,\r\n SdUtilityModule,\r\n SdModalModule\r\n ],\r\n declarations: [\r\n SdComment\r\n ],\r\n exports: [\r\n SdComment\r\n ],\r\n providers: [\r\n ]\r\n})\r\nexport class SdCommentModule { }\r\n","/*\r\n * Public API Surface of superdev-angular-core\r\n */\r\n\r\nexport * from './lib/comment.module';\r\nexport * from './lib/comment.model';\r\nexport * from './lib/comment.component';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;MAoBa,SAAS;IAkBpB;QAhBA,iBAAS,IAAI,eAAe,CAAY,EAAE,CAAC,EAAC;QAC5C,gBAAQ,IAAI,eAAe,CAAS,EAAE,CAAC,EAAC;QAQxC,sBAAiB,GAAG;YAClB,YAAY,EAAE,OAAO;SACtB,CAAC;QAwBF,WAAM,GAAG;;YACP,IAAI,IAAI,CAAC,OAAO,EAAE;gBAChB,YAAA,IAAI,CAAC,aAAa,0CAAE,KAAK,0CAAE,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE;gBAChD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;gBACpB,MAAA,IAAI,CAAC,QAAQ,0CAAE,KAAK,GAAG;aACxB;SACF,CAAA;QAED,gBAAQ;YACN,MAAM,EAAC,KAAK,EAAC,GAAG,IAAI,CAAC,aAAa,CAAC;YACnC,MAAM,OAAO,GAAG,KAAK,EAAE,CAAC;YACxB,IAAI,OAAO,YAAY,OAAO,EAAE;gBAC9B,OAAO,MAAM,OAAO,CAAC;aACtB;YACD,OAAO,OAAO,CAAC;SAChB,CAAA,EAAA;QAED,WAAM,GAAG;YACP,qCAAY,IAAI,CAAC,MAAM,yCAAA,IAAI,CAAQ,CAAC,CAAC;SACtC,CAAA,CAAA;QAED,iBAAY,GAAG;YACb,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;SACnB,CAAA;KAzCA;IAbD,IAAa,MAAM,CAAC,MAAuB;QACzC,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC;QAC5B,IAAI,CAAC,MAAM,EAAE,CAAC;KACf;;IAYD,QAAQ;QACN,IAAI,CAAC,KAAK,GAAG,qCAAY,IAAI,CAAC,GAAG,CAAC,KAAK;YACrC,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC;;gBAAI,wCACjB,CAAC,KACJ,OAAO,QAAE,CAAC,CAAC,OAAO,mCAAI,2EAA2E,CAAC,CAAC,OAAO,EAAE,KAC5G;aAAA,CAAC,CAAC;SACL,CAAC,CAAC,CAAC;QACJ,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;KAC1D;IAED,WAAW;KACV;IAED,eAAe;KACd;;;;YAzCF,SAAS,SAAC;gBACT,QAAQ,EAAE,YAAY;gBACtB,+5JAAuC;gBAEvC,eAAe,EAAE,uBAAuB,CAAC,MAAM;;aAChD;;;;uBAEE,SAAS,SAAC,UAAU;qBAKpB,KAAK;;;MCWK,eAAe;;;YAvB3B,QAAQ,SAAC;gBACR,OAAO,EAAE;oBACP,YAAY;oBACZ,eAAe;oBACf,aAAa;oBACb,gBAAgB;oBAChB,iBAAiB;oBACjB,cAAc;oBACd,aAAa;oBACb,gBAAgB;oBAChB,cAAc;oBACd,eAAe;oBACf,aAAa;iBACd;gBACD,YAAY,EAAE;oBACZ,SAAS;iBACV;gBACD,OAAO,EAAE;oBACP,SAAS;iBACV;gBACD,SAAS,EAAE,EACV;aACF;;;ACpCD;;;;ACAA;;;;;;"}
|
|
@@ -36,7 +36,7 @@ class SdModal {
|
|
|
36
36
|
this.dialogRef = this.dialog.open(this.templateRef, {
|
|
37
37
|
width: this.width,
|
|
38
38
|
maxWidth: this.width,
|
|
39
|
-
disableClose:
|
|
39
|
+
disableClose: !this.closeClickOutSide // mặc định ko cho đóng modal khi click out side
|
|
40
40
|
});
|
|
41
41
|
this.subcription.add(this.dialogRef.afterClosed().subscribe(() => {
|
|
42
42
|
this.isOpened = false;
|
|
@@ -98,6 +98,7 @@ SdModal.propDecorators = {
|
|
|
98
98
|
height: [{ type: Input }],
|
|
99
99
|
view: [{ type: Input }],
|
|
100
100
|
lazyLoadContent: [{ type: Input }],
|
|
101
|
+
closeClickOutSide: [{ type: Input }],
|
|
101
102
|
modal: [{ type: ViewChild, args: ['modal',] }]
|
|
102
103
|
};
|
|
103
104
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sd-angular-core-modal.js","sources":["../../../../projects/sd-core/modal/src/lib/modal/modal.component.ts","../../../../projects/sd-core/modal/src/lib/modal/modal-header/modal-header.component.ts","../../../../projects/sd-core/modal/src/lib/modal/modal-body/modal-body.component.ts","../../../../projects/sd-core/modal/src/lib/modal/modal-footer/modal-footer.component.ts","../../../../projects/sd-core/modal/src/lib/bottom-sheet/bottom-sheet.component.ts","../../../../projects/sd-core/modal/src/lib/bottom-sheet/bottom-sheet-header/bottom-sheet-header.component.ts","../../../../projects/sd-core/modal/src/lib/bottom-sheet/bottom-sheet-body/bottom-sheet-body.component.ts","../../../../projects/sd-core/modal/src/lib/bottom-sheet/bottom-sheet-footer/bottom-sheet-footer.component.ts","../../../../projects/sd-core/modal/src/lib/modal.module.ts","../../../../projects/sd-core/modal/src/public-api.ts","../../../../projects/sd-core/modal/sd-angular-core-modal.ts"],"sourcesContent":["import { Component, ElementRef, Input, ViewChild, OnInit, OnDestroy, TemplateRef, ViewEncapsulation, ChangeDetectionStrategy, ChangeDetectorRef } from '@angular/core';\r\nimport { MatDialog, MatDialogRef } from '@angular/material/dialog';\r\nimport { DeviceDetectorService } from 'ngx-device-detector';\r\nimport { MatBottomSheet } from '@angular/material/bottom-sheet';\r\nimport { MatBottomSheetRef } from '@angular/material/bottom-sheet';\r\nimport { Subscription } from 'rxjs';\r\n\r\n@Component({\r\n selector: 'sd-modal',\r\n templateUrl: './modal.component.html',\r\n styleUrls: ['./modal.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class SdModal implements OnInit, OnDestroy {\r\n static index = 0;\r\n @ViewChild('templateRef') templateRef: TemplateRef<any>;\r\n @Input() title: string;\r\n @Input() noClose: boolean;\r\n @Input() type: 'primary' | 'info' | 'success' | 'warning' | 'danger';\r\n @Input() width: 'lg' | 'md' | 'sm' | string;\r\n @Input() height = 'auto';\r\n @Input() view: 'dialog' | 'bottomSheet';\r\n @Input() lazyLoadContent = true;\r\n @ViewChild('modal') modal: ElementRef;\r\n isOpened = false;\r\n alreadyOpened = false;\r\n isMobileOrTablet = false;\r\n private bottomSheetRef: MatBottomSheetRef<any>;\r\n private dialogRef: MatDialogRef<any>;\r\n private subcription = new Subscription();\r\n constructor(\r\n private ref: ChangeDetectorRef,\r\n private dialog: MatDialog,\r\n private bottomSheet: MatBottomSheet,\r\n deviceService: DeviceDetectorService) {\r\n this.isMobileOrTablet = !deviceService.isDesktop();\r\n }\r\n ngOnInit(): void {\r\n this.type = this.type || 'primary';\r\n this.width = this.width || '80vw';\r\n if (!this.isMobileOrTablet) {\r\n switch (this.width) {\r\n case 'lg':\r\n this.width = '80vw';\r\n break;\r\n case 'md':\r\n this.width = '60vw';\r\n break;\r\n case 'sm':\r\n this.width = '40vw';\r\n break;\r\n }\r\n }\r\n }\r\n\r\n ngOnDestroy() {\r\n this.subcription?.unsubscribe();\r\n }\r\n\r\n open = (): void => {\r\n if (this.isOpened) {\r\n return;\r\n }\r\n this.ref.markForCheck();\r\n this.alreadyOpened = true;\r\n this.isOpened = true;\r\n if ((!this.view && this.isMobileOrTablet) || this.view === 'bottomSheet') {\r\n this.bottomSheetRef = this.bottomSheet.open(this.templateRef);\r\n this.subcription.add(this.bottomSheetRef.afterDismissed().subscribe(() => {\r\n this.isOpened = false;\r\n }));\r\n } else {\r\n this.dialogRef = this.dialog.open(this.templateRef, {\r\n width: this.width,\r\n maxWidth: this.width,\r\n disableClose: true\r\n });\r\n this.subcription.add(this.dialogRef.afterClosed().subscribe(() => {\r\n this.isOpened = false;\r\n }));\r\n }\r\n }\r\n\r\n close = (): void => {\r\n this.ref.markForCheck();\r\n this.bottomSheetRef?.dismiss();\r\n this.dialogRef?.close();\r\n }\r\n}\r\n","import { Component, OnInit, ViewEncapsulation } from '@angular/core';\r\nimport { DeviceDetectorService } from 'ngx-device-detector';\r\n\r\n@Component({\r\n selector: 'sd-modal-header',\r\n templateUrl: './modal-header.component.html',\r\n styleUrls: [\r\n './modal-header.component.scss'],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class SdModalHeader implements OnInit {\r\n isMobileOrTablet = false;\r\n constructor(deviceService: DeviceDetectorService) {\r\n this.isMobileOrTablet = !deviceService.isDesktop();\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import { Component, OnInit, Input } from '@angular/core';\r\nimport { DeviceDetectorService } from 'ngx-device-detector';\r\n\r\n@Component({\r\n selector: 'sd-modal-body',\r\n templateUrl: './modal-body.component.html',\r\n styleUrls: ['./modal-body.component.scss'],\r\n})\r\nexport class SdModalBody implements OnInit {\r\n @Input() height = 'auto';\r\n isMobileOrTablet = false;\r\n constructor(deviceService: DeviceDetectorService) {\r\n this.isMobileOrTablet = !deviceService.isDesktop();\r\n }\r\n ngOnInit() {\r\n }\r\n}\r\n","import { Component, OnInit, ViewEncapsulation } from '@angular/core';\r\nimport { DeviceDetectorService } from 'ngx-device-detector';\r\n\r\n@Component({\r\n selector: 'sd-modal-footer',\r\n templateUrl: './modal-footer.component.html',\r\n styleUrls: ['./modal-footer.component.scss']\r\n})\r\nexport class SdModalFooter implements OnInit {\r\n isMobileOrTablet = false;\r\n constructor(deviceService: DeviceDetectorService) {\r\n this.isMobileOrTablet = !deviceService.isDesktop();\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import { Component, ViewChild, TemplateRef, Input } from '@angular/core';\r\nimport { MatBottomSheet } from '@angular/material/bottom-sheet';\r\n\r\n@Component({\r\n selector: 'sd-bottom-sheet',\r\n templateUrl: './bottom-sheet.component.html'\r\n})\r\nexport class SdBottomSheet {\r\n @ViewChild('templateRef') templateRef: TemplateRef<OptionTemplateContext>;\r\n @Input() title: string;\r\n isOpened = false;\r\n constructor(\r\n private bottomSheet: MatBottomSheet,\r\n ) { }\r\n\r\n open = () => {\r\n this.isOpened = true;\r\n this.bottomSheet.open(this.templateRef);\r\n }\r\n\r\n close = () => {\r\n this.bottomSheet.dismiss();\r\n }\r\n}\r\n\r\ninterface OptionTemplateContext {\r\n $implicit: any;\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'sd-bottom-sheet-header',\r\n templateUrl: './bottom-sheet-header.component.html'\r\n})\r\nexport class SdBottomSheetHeader implements OnInit {\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n}\r\n","import { Component, OnInit, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'sd-bottom-sheet-body',\r\n templateUrl: './bottom-sheet-body.component.html'\r\n})\r\nexport class SdBottomSheetBody implements OnInit {\r\n @Input() height = 'auto';\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'sd-bottom-sheet-footer',\r\n templateUrl: './bottom-sheet-footer.component.html',\r\n styleUrls: ['./bottom-sheet-footer.component.scss']\r\n})\r\nexport class SdBottomSheetFooter implements OnInit {\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { SdModal } from './modal/modal.component';\r\nimport { SdModalHeader } from './modal/modal-header/modal-header.component';\r\nimport { SdModalBody } from './modal/modal-body/modal-body.component';\r\nimport { SdModalFooter } from './modal/modal-footer/modal-footer.component';\r\nimport { SdBottomSheet } from './bottom-sheet/bottom-sheet.component';\r\nimport { SdBottomSheetHeader } from './bottom-sheet/bottom-sheet-header/bottom-sheet-header.component';\r\nimport { SdBottomSheetBody } from './bottom-sheet/bottom-sheet-body/bottom-sheet-body.component';\r\nimport { SdBottomSheetFooter } from './bottom-sheet/bottom-sheet-footer/bottom-sheet-footer.component';\r\n\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatBottomSheetModule } from '@angular/material/bottom-sheet';\r\nimport { MatDialogModule } from '@angular/material/dialog';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { SdButtonModule } from '@sd-angular/core/button';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n MatIconModule,\r\n MatBottomSheetModule,\r\n MatDialogModule,\r\n MatButtonModule,\r\n SdButtonModule\r\n ],\r\n declarations: [\r\n SdModal,\r\n SdModalHeader,\r\n SdModalBody,\r\n SdModalFooter,\r\n SdBottomSheet,\r\n SdBottomSheetHeader,\r\n SdBottomSheetBody,\r\n SdBottomSheetFooter\r\n ],\r\n exports: [\r\n SdModal,\r\n SdModalHeader,\r\n SdModalBody,\r\n SdModalFooter,\r\n SdBottomSheet,\r\n SdBottomSheetHeader,\r\n SdBottomSheetBody,\r\n SdBottomSheetFooter\r\n ],\r\n providers: [\r\n ]\r\n})\r\nexport class SdModalModule {\r\n\r\n}\r\n","/*\r\n * Public API Surface of superdev-angular-core\r\n */\r\n\r\nexport * from './lib/modal/modal.component';\r\nexport * from './lib/modal/modal-header/modal-header.component';\r\nexport * from './lib/modal/modal-body/modal-body.component';\r\nexport * from './lib/modal/modal-footer/modal-footer.component';\r\n\r\nexport * from './lib/bottom-sheet/bottom-sheet.component';\r\nexport * from './lib/bottom-sheet/bottom-sheet-header/bottom-sheet-header.component';\r\nexport * from './lib/bottom-sheet/bottom-sheet-body/bottom-sheet-body.component';\r\nexport * from './lib/bottom-sheet/bottom-sheet-footer/bottom-sheet-footer.component';\r\n\r\nexport * from './lib/modal.module';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sd-angular-core-modal.js","sources":["../../../../projects/sd-core/modal/src/lib/modal/modal.component.ts","../../../../projects/sd-core/modal/src/lib/modal/modal-header/modal-header.component.ts","../../../../projects/sd-core/modal/src/lib/modal/modal-body/modal-body.component.ts","../../../../projects/sd-core/modal/src/lib/modal/modal-footer/modal-footer.component.ts","../../../../projects/sd-core/modal/src/lib/bottom-sheet/bottom-sheet.component.ts","../../../../projects/sd-core/modal/src/lib/bottom-sheet/bottom-sheet-header/bottom-sheet-header.component.ts","../../../../projects/sd-core/modal/src/lib/bottom-sheet/bottom-sheet-body/bottom-sheet-body.component.ts","../../../../projects/sd-core/modal/src/lib/bottom-sheet/bottom-sheet-footer/bottom-sheet-footer.component.ts","../../../../projects/sd-core/modal/src/lib/modal.module.ts","../../../../projects/sd-core/modal/src/public-api.ts","../../../../projects/sd-core/modal/sd-angular-core-modal.ts"],"sourcesContent":["import { Component, ElementRef, Input, ViewChild, OnInit, OnDestroy, TemplateRef, ViewEncapsulation, ChangeDetectionStrategy, ChangeDetectorRef } from '@angular/core';\r\nimport { MatDialog, MatDialogRef } from '@angular/material/dialog';\r\nimport { DeviceDetectorService } from 'ngx-device-detector';\r\nimport { MatBottomSheet } from '@angular/material/bottom-sheet';\r\nimport { MatBottomSheetRef } from '@angular/material/bottom-sheet';\r\nimport { Subscription } from 'rxjs';\r\n\r\n@Component({\r\n selector: 'sd-modal',\r\n templateUrl: './modal.component.html',\r\n styleUrls: ['./modal.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class SdModal implements OnInit, OnDestroy {\r\n static index = 0;\r\n @ViewChild('templateRef') templateRef: TemplateRef<any>;\r\n @Input() title: string;\r\n @Input() noClose: boolean;\r\n @Input() type: 'primary' | 'info' | 'success' | 'warning' | 'danger';\r\n @Input() width: 'lg' | 'md' | 'sm' | string;\r\n @Input() height = 'auto';\r\n @Input() view: 'dialog' | 'bottomSheet';\r\n @Input() lazyLoadContent = true;\r\n @Input() closeClickOutSide: boolean;\r\n @ViewChild('modal') modal: ElementRef;\r\n isOpened = false;\r\n alreadyOpened = false;\r\n isMobileOrTablet = false;\r\n private bottomSheetRef: MatBottomSheetRef<any>;\r\n private dialogRef: MatDialogRef<any>;\r\n private subcription = new Subscription();\r\n constructor(\r\n private ref: ChangeDetectorRef,\r\n private dialog: MatDialog,\r\n private bottomSheet: MatBottomSheet,\r\n deviceService: DeviceDetectorService) {\r\n this.isMobileOrTablet = !deviceService.isDesktop();\r\n }\r\n ngOnInit(): void {\r\n this.type = this.type || 'primary';\r\n this.width = this.width || '80vw';\r\n if (!this.isMobileOrTablet) {\r\n switch (this.width) {\r\n case 'lg':\r\n this.width = '80vw';\r\n break;\r\n case 'md':\r\n this.width = '60vw';\r\n break;\r\n case 'sm':\r\n this.width = '40vw';\r\n break;\r\n }\r\n }\r\n }\r\n\r\n ngOnDestroy() {\r\n this.subcription?.unsubscribe();\r\n }\r\n\r\n open = (): void => {\r\n if (this.isOpened) {\r\n return;\r\n }\r\n this.ref.markForCheck();\r\n this.alreadyOpened = true;\r\n this.isOpened = true;\r\n if ((!this.view && this.isMobileOrTablet) || this.view === 'bottomSheet') {\r\n this.bottomSheetRef = this.bottomSheet.open(this.templateRef);\r\n this.subcription.add(this.bottomSheetRef.afterDismissed().subscribe(() => {\r\n this.isOpened = false;\r\n }));\r\n } else {\r\n this.dialogRef = this.dialog.open(this.templateRef, {\r\n width: this.width,\r\n maxWidth: this.width,\r\n disableClose: !this.closeClickOutSide // mặc định ko cho đóng modal khi click out side\r\n });\r\n this.subcription.add(this.dialogRef.afterClosed().subscribe(() => {\r\n this.isOpened = false;\r\n }));\r\n }\r\n }\r\n\r\n close = (): void => {\r\n this.ref.markForCheck();\r\n this.bottomSheetRef?.dismiss();\r\n this.dialogRef?.close();\r\n }\r\n}\r\n","import { Component, OnInit, ViewEncapsulation } from '@angular/core';\r\nimport { DeviceDetectorService } from 'ngx-device-detector';\r\n\r\n@Component({\r\n selector: 'sd-modal-header',\r\n templateUrl: './modal-header.component.html',\r\n styleUrls: [\r\n './modal-header.component.scss'],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class SdModalHeader implements OnInit {\r\n isMobileOrTablet = false;\r\n constructor(deviceService: DeviceDetectorService) {\r\n this.isMobileOrTablet = !deviceService.isDesktop();\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import { Component, OnInit, Input } from '@angular/core';\r\nimport { DeviceDetectorService } from 'ngx-device-detector';\r\n\r\n@Component({\r\n selector: 'sd-modal-body',\r\n templateUrl: './modal-body.component.html',\r\n styleUrls: ['./modal-body.component.scss'],\r\n})\r\nexport class SdModalBody implements OnInit {\r\n @Input() height = 'auto';\r\n isMobileOrTablet = false;\r\n constructor(deviceService: DeviceDetectorService) {\r\n this.isMobileOrTablet = !deviceService.isDesktop();\r\n }\r\n ngOnInit() {\r\n }\r\n}\r\n","import { Component, OnInit, ViewEncapsulation } from '@angular/core';\r\nimport { DeviceDetectorService } from 'ngx-device-detector';\r\n\r\n@Component({\r\n selector: 'sd-modal-footer',\r\n templateUrl: './modal-footer.component.html',\r\n styleUrls: ['./modal-footer.component.scss']\r\n})\r\nexport class SdModalFooter implements OnInit {\r\n isMobileOrTablet = false;\r\n constructor(deviceService: DeviceDetectorService) {\r\n this.isMobileOrTablet = !deviceService.isDesktop();\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import { Component, ViewChild, TemplateRef, Input } from '@angular/core';\r\nimport { MatBottomSheet } from '@angular/material/bottom-sheet';\r\n\r\n@Component({\r\n selector: 'sd-bottom-sheet',\r\n templateUrl: './bottom-sheet.component.html'\r\n})\r\nexport class SdBottomSheet {\r\n @ViewChild('templateRef') templateRef: TemplateRef<OptionTemplateContext>;\r\n @Input() title: string;\r\n isOpened = false;\r\n constructor(\r\n private bottomSheet: MatBottomSheet,\r\n ) { }\r\n\r\n open = () => {\r\n this.isOpened = true;\r\n this.bottomSheet.open(this.templateRef);\r\n }\r\n\r\n close = () => {\r\n this.bottomSheet.dismiss();\r\n }\r\n}\r\n\r\ninterface OptionTemplateContext {\r\n $implicit: any;\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'sd-bottom-sheet-header',\r\n templateUrl: './bottom-sheet-header.component.html'\r\n})\r\nexport class SdBottomSheetHeader implements OnInit {\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n}\r\n","import { Component, OnInit, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'sd-bottom-sheet-body',\r\n templateUrl: './bottom-sheet-body.component.html'\r\n})\r\nexport class SdBottomSheetBody implements OnInit {\r\n @Input() height = 'auto';\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'sd-bottom-sheet-footer',\r\n templateUrl: './bottom-sheet-footer.component.html',\r\n styleUrls: ['./bottom-sheet-footer.component.scss']\r\n})\r\nexport class SdBottomSheetFooter implements OnInit {\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { SdModal } from './modal/modal.component';\r\nimport { SdModalHeader } from './modal/modal-header/modal-header.component';\r\nimport { SdModalBody } from './modal/modal-body/modal-body.component';\r\nimport { SdModalFooter } from './modal/modal-footer/modal-footer.component';\r\nimport { SdBottomSheet } from './bottom-sheet/bottom-sheet.component';\r\nimport { SdBottomSheetHeader } from './bottom-sheet/bottom-sheet-header/bottom-sheet-header.component';\r\nimport { SdBottomSheetBody } from './bottom-sheet/bottom-sheet-body/bottom-sheet-body.component';\r\nimport { SdBottomSheetFooter } from './bottom-sheet/bottom-sheet-footer/bottom-sheet-footer.component';\r\n\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatBottomSheetModule } from '@angular/material/bottom-sheet';\r\nimport { MatDialogModule } from '@angular/material/dialog';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { SdButtonModule } from '@sd-angular/core/button';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n MatIconModule,\r\n MatBottomSheetModule,\r\n MatDialogModule,\r\n MatButtonModule,\r\n SdButtonModule\r\n ],\r\n declarations: [\r\n SdModal,\r\n SdModalHeader,\r\n SdModalBody,\r\n SdModalFooter,\r\n SdBottomSheet,\r\n SdBottomSheetHeader,\r\n SdBottomSheetBody,\r\n SdBottomSheetFooter\r\n ],\r\n exports: [\r\n SdModal,\r\n SdModalHeader,\r\n SdModalBody,\r\n SdModalFooter,\r\n SdBottomSheet,\r\n SdBottomSheetHeader,\r\n SdBottomSheetBody,\r\n SdBottomSheetFooter\r\n ],\r\n providers: [\r\n ]\r\n})\r\nexport class SdModalModule {\r\n\r\n}\r\n","/*\r\n * Public API Surface of superdev-angular-core\r\n */\r\n\r\nexport * from './lib/modal/modal.component';\r\nexport * from './lib/modal/modal-header/modal-header.component';\r\nexport * from './lib/modal/modal-body/modal-body.component';\r\nexport * from './lib/modal/modal-footer/modal-footer.component';\r\n\r\nexport * from './lib/bottom-sheet/bottom-sheet.component';\r\nexport * from './lib/bottom-sheet/bottom-sheet-header/bottom-sheet-header.component';\r\nexport * from './lib/bottom-sheet/bottom-sheet-body/bottom-sheet-body.component';\r\nexport * from './lib/bottom-sheet/bottom-sheet-footer/bottom-sheet-footer.component';\r\n\r\nexport * from './lib/modal.module';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -14,28 +14,31 @@ import { v4 } from 'uuid';
|
|
|
14
14
|
import { SdTranslateService } from '@sd-angular/core/translate';
|
|
15
15
|
import { take, takeUntil } from 'rxjs/operators';
|
|
16
16
|
import { timer } from 'rxjs';
|
|
17
|
-
import {
|
|
17
|
+
import { SdDateTimeModule } from '@sd-angular/core/date-time';
|
|
18
18
|
|
|
19
19
|
class DialogConfirmComponent {
|
|
20
20
|
constructor(dialogRef, data) {
|
|
21
|
-
var _a, _b, _c, _d, _e;
|
|
21
|
+
var _a, _b, _c, _d, _e, _f, _g;
|
|
22
22
|
this.dialogRef = dialogRef;
|
|
23
23
|
this.data = data;
|
|
24
|
+
this.required = false;
|
|
24
25
|
this.isString = false;
|
|
25
26
|
this.id = `I${v4()}`;
|
|
26
27
|
this.isString = typeof ((_a = this.data) === null || _a === void 0 ? void 0 : _a.message) === 'string';
|
|
27
28
|
if (data === null || data === void 0 ? void 0 : data.input) {
|
|
28
29
|
this.value = (_c = (_b = data === null || data === void 0 ? void 0 : data.input) === null || _b === void 0 ? void 0 : _b.defaultValue) !== null && _c !== void 0 ? _c : '';
|
|
30
|
+
this.required = ((_d = data === null || data === void 0 ? void 0 : data.input) === null || _d === void 0 ? void 0 : _d.required) || false;
|
|
29
31
|
}
|
|
30
32
|
if (data === null || data === void 0 ? void 0 : data.date) {
|
|
31
|
-
this.value = (
|
|
33
|
+
this.value = (_f = (_e = data === null || data === void 0 ? void 0 : data.date) === null || _e === void 0 ? void 0 : _e.defaultValue) !== null && _f !== void 0 ? _f : '';
|
|
34
|
+
this.required = ((_g = data === null || data === void 0 ? void 0 : data.date) === null || _g === void 0 ? void 0 : _g.required) || false;
|
|
32
35
|
}
|
|
33
36
|
}
|
|
34
37
|
}
|
|
35
38
|
DialogConfirmComponent.decorators = [
|
|
36
39
|
{ type: Component, args: [{
|
|
37
40
|
selector: 'sd-dialog-confirm',
|
|
38
|
-
template: "<h1 mat-dialog-title class=\"\">\r\n <mat-icon *ngIf=\"data?.icon\" [ngClass]=\"data?.icon\">\r\n {{ data?.icon }}\r\n </mat-icon>\r\n <span [innerHtml]=\"data?.title || 'Confirm'\"></span>\r\n</h1>\r\n<div mat-dialog-content>\r\n <div *ngIf=\"isString\" [innerHtml]=\"data?.message\"></div>\r\n <div *ngIf=\"!isString\" [innerHtml]=\"data?.message | json\"></div>\r\n <div *ngIf=\"data?.input\">\r\n <mat-form-field appearance=\"outline\">\r\n <textarea style=\"width: 100%\" matInput [placeholder]=\"data.input?.placeholder\" [(ngModel)]=\"value\"\r\n autocomplete=\"off\" rows=\"5\" [maxlength]=\"data.input?.maxlength\"></textarea>\r\n </mat-form-field>\r\n </div>\r\n <div *ngIf=\"data?.date\">\r\n <
|
|
41
|
+
template: "<h1 mat-dialog-title class=\"\">\r\n <mat-icon *ngIf=\"data?.icon\" [ngClass]=\"data?.icon\">\r\n {{ data?.icon }}\r\n </mat-icon>\r\n <span [innerHtml]=\"data?.title || 'Confirm'\"></span>\r\n</h1>\r\n<div mat-dialog-content>\r\n <div *ngIf=\"isString\" [innerHtml]=\"data?.message\"></div>\r\n <div *ngIf=\"!isString\" [innerHtml]=\"data?.message | json\"></div>\r\n <div *ngIf=\"data?.input\">\r\n <mat-form-field appearance=\"outline\">\r\n <textarea style=\"width: 100%\" matInput [placeholder]=\"data.input?.placeholder\" [(ngModel)]=\"value\"\r\n autocomplete=\"off\" rows=\"5\" [maxlength]=\"data.input?.maxlength\"></textarea>\r\n </mat-form-field>\r\n </div>\r\n <div *ngIf=\"data?.date\">\r\n <sd-date-time [placeholder]=\"data.date?.placeholder\" [(model)]=\"value\" type=\"date\" [min]=\"data.date?.min\"\r\n [max]=\"data.date?.max\" [required]=\"required\">\r\n </sd-date-time>\r\n </div>\r\n</div>\r\n<div mat-dialog-actions align=\"end\">\r\n <sd-button *ngIf=\"data?.noTitle\" [color]=\"data?.noButtonColor || 'secondary'\" [mat-dialog-close]=\"'CANCEL'\"\r\n [title]=\"data?.noTitle\" size=\"sm\"></sd-button>\r\n <sd-button class=\"ml-12\" *ngIf=\"data?.yesTitle\" [mat-dialog-close]=\"value || 'ACCEPT'\"\r\n [color]=\"data?.yesButtonColor || 'primary'\" [disabled]=\"required && !value\" cdkFocusInitial\r\n [title]=\"data?.yesTitle\" size=\"sm\"></sd-button>\r\n</div>",
|
|
39
42
|
styles: [":host .mat-dialog-content{margin:0 -16px 16px!important}:host .mat-button{background-color:#f5f5f5}:host>>>.mat-dialog-title{align-items:center;display:flex;justify-content:flex-start}:host>>>.mat-dialog-title .mat-icon{margin-right:5px}:host{display:block;padding:12px 16px}:host>>>.mat-dialog-title .mat-icon.info{color:#2962ff}:host>>>.mat-dialog-title .mat-icon.warning{color:#ffc107}:host>>>.mat-dialog-title .mat-icon.done{color:#4caf50}:host>>>.mat-dialog-title .mat-icon.error{color:#d32f2f}"]
|
|
40
43
|
},] }
|
|
41
44
|
];
|
|
@@ -404,7 +407,7 @@ SdNotifyModule.decorators = [
|
|
|
404
407
|
FormsModule,
|
|
405
408
|
MatFormFieldModule,
|
|
406
409
|
MatInputModule,
|
|
407
|
-
|
|
410
|
+
SdDateTimeModule,
|
|
408
411
|
MatIconModule,
|
|
409
412
|
MatButtonModule,
|
|
410
413
|
MatDialogModule,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sd-angular-core-notify.js","sources":["../../../../projects/sd-core/notify/src/lib/components/dialog-confirm/dialog-confirm.component.ts","../../../../projects/sd-core/notify/src/lib/notify.service.ts","../../../../projects/sd-core/notify/src/lib/notify.module.ts","../../../../projects/sd-core/notify/src/public-api.ts","../../../../projects/sd-core/notify/sd-angular-core-notify.ts"],"sourcesContent":["import { Component, Inject } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { SdBadgeColor } from '@sd-angular/core/badge';\r\nimport * as uuid from 'uuid';\r\n\r\nexport interface DialogData {\r\n icon?: string;\r\n title?: string;\r\n message?: string;\r\n yesTitle?: string;\r\n noTitle?: string;\r\n yesButtonColor?: SdBadgeColor;\r\n noButtonColor?: SdBadgeColor;\r\n input?: {\r\n placeholder?: string;\r\n minlength?: number;\r\n maxlength?: number;\r\n required?: boolean;\r\n defaultValue?: string;\r\n };\r\n date?: {\r\n required?: boolean;\r\n placeholder?: string;\r\n defaultValue?: string | Date;\r\n min?: string | Date;\r\n max?: string | Date;\r\n }\r\n}\r\n\r\n@Component({\r\n selector: 'sd-dialog-confirm',\r\n templateUrl: 'dialog-confirm.component.html',\r\n styleUrls: ['./dialog-confirm.component.css'],\r\n})\r\nexport class DialogConfirmComponent {\r\n value: any;\r\n isString = false;\r\n id = `I${uuid.v4()}`\r\n constructor(\r\n public dialogRef: MatDialogRef<DialogConfirmComponent>,\r\n @Inject(MAT_DIALOG_DATA) public data: DialogData\r\n ) {\r\n this.isString = typeof this.data?.message === 'string';\r\n if (data?.input) {\r\n this.value = data?.input?.defaultValue ?? '';\r\n }\r\n if (data?.date) {\r\n this.value = data?.date?.defaultValue ?? '';\r\n }\r\n }\r\n}\r\n","import '@sd-angular/core/common';\r\nimport { Injectable } from '@angular/core';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { DialogConfirmComponent } from './components/dialog-confirm/dialog-confirm.component';\r\nimport { ActiveToast, ToastrService } from 'ngx-toastr';\r\nimport { SdTranslateService } from '@sd-angular/core/translate';\r\nimport { debounceTime, take, takeUntil } from 'rxjs/operators';\r\nimport { Subject, timer } from 'rxjs';\r\nimport * as uuid from 'uuid';\r\nimport { SdBadgeColor } from '@sd-angular/core/badge';\r\n\r\n@Injectable()\r\nexport class SdNotifyService {\r\n #delayDuration = 500; // Các error/warning message sẽ tự động gộp sau khoảng thời gian trên\r\n #warningKey = uuid.v4();\r\n #errorKey = uuid.v4();\r\n #cache: {\r\n [key: string]: {\r\n createdDate: Date;\r\n data?: {\r\n title: string,\r\n messages: string[]\r\n }\r\n }\r\n } = {};\r\n constructor(\r\n private dialog: MatDialog,\r\n private toastr: ToastrService,\r\n private translateService: SdTranslateService\r\n ) { }\r\n\r\n alert = {\r\n info: (\r\n message?: string,\r\n title?: string,\r\n yesTitle?: string,\r\n icon?: string\r\n ) => {\r\n this.dialog.open(DialogConfirmComponent, {\r\n width: '400px',\r\n data: {\r\n icon: icon || 'info',\r\n title: title || this.translate('Notice'),\r\n message: message || 'Done!',\r\n yesTitle: yesTitle || this.translate('Ok'),\r\n },\r\n });\r\n },\r\n success: (\r\n message?: string,\r\n title?: string,\r\n yesTitle?: string,\r\n icon?: string\r\n ) => {\r\n this.dialog.open(DialogConfirmComponent, {\r\n width: '400px',\r\n data: {\r\n icon: icon || 'done',\r\n title: title || this.translate('Success'),\r\n message: message || 'Done!',\r\n yesTitle: yesTitle || this.translate('Ok'),\r\n },\r\n });\r\n },\r\n warning: (\r\n message?: string,\r\n title?: string,\r\n yesTitle?: string,\r\n icon?: string\r\n ) => {\r\n this.dialog.open(DialogConfirmComponent, {\r\n width: '400px',\r\n data: {\r\n icon: icon || 'warning',\r\n title: title || this.translate('Warning'),\r\n message: message || 'Something went wrong!',\r\n yesTitle: yesTitle || this.translate('Ok'),\r\n },\r\n });\r\n },\r\n error: (\r\n message?: string,\r\n title?: string,\r\n yesTitle?: string,\r\n icon?: string\r\n ) => {\r\n this.dialog.open(DialogConfirmComponent, {\r\n width: '400px',\r\n data: {\r\n icon: icon || 'error',\r\n title: title || this.translate('Error'),\r\n message: message || 'Something went wrong!',\r\n yesTitle: yesTitle || this.translate('Ok'),\r\n },\r\n });\r\n },\r\n };\r\n\r\n notify = {\r\n success: (message?: string, delay?: number, title?: string) => {\r\n // tslint:disable-next-line: max-line-length\r\n // const style = `border-radius: 5px; margin: 0; padding: 12px; z-index: 99999; top: 5px; right: 5px; display: none; position: fixed;color: #4F8A10; background-color: #DFF2BF`;\r\n // tslint:disable-next-line: max-line-length\r\n // const html = `<div id='${this.notifyId}' style='${style}'><i class='fa fa-check'></i> ${message || this.translate('Success')}</div>`;\r\n // this.showNotify(html, delay);\r\n const content = message || this.translate('Success');\r\n this.toastr.success(content, title, {\r\n enableHtml: true,\r\n timeOut: delay || 3000,\r\n closeButton: true,\r\n });\r\n },\r\n warning: (message?: string | string[], delay?: number, title?: string) => {\r\n if (!this.#cache[this.#warningKey] || Date.addMiliseconds(this.#cache[this.#warningKey].createdDate, this.#delayDuration) < new Date()) {\r\n this.#cache[this.#warningKey] = {\r\n createdDate: new Date(),\r\n data: {\r\n title: title,\r\n messages: [],\r\n }\r\n };\r\n timer(this.#delayDuration).pipe(take(1)).subscribe(() => {\r\n const messages = this.#cache[this.#warningKey].data.messages.union(null);\r\n if (messages.length === 1) {\r\n this.#notifyWarning({\r\n title: this.#cache[this.#warningKey].data.title,\r\n message: messages[0],\r\n delay\r\n });\r\n } else {\r\n this.#notifyWarning({\r\n title: this.#cache[this.#warningKey].data.title,\r\n message: messages,\r\n delay\r\n });\r\n }\r\n });\r\n }\r\n if (Array.isArray(message)) {\r\n this.#cache[this.#warningKey].data.messages = [...this.#cache[this.#warningKey].data.messages, ...message];\r\n } else {\r\n this.#cache[this.#warningKey].data.messages.push(message);\r\n }\r\n },\r\n error: (message?: string | string[], delay?: number, title?: string) => {\r\n if (!this.#cache[this.#errorKey] || Date.addMiliseconds(this.#cache[this.#errorKey].createdDate, this.#delayDuration) < new Date()) {\r\n this.#cache[this.#errorKey] = {\r\n createdDate: new Date(),\r\n data: {\r\n title,\r\n messages: [],\r\n }\r\n };\r\n timer(this.#delayDuration).pipe(take(1)).subscribe(() => {\r\n const messages = this.#cache[this.#errorKey].data.messages.union(null);\r\n if (messages.length === 1) {\r\n this.#notifyError({\r\n title: this.#cache[this.#errorKey].data.title,\r\n message: messages[0],\r\n delay\r\n });\r\n } else {\r\n this.#notifyError({\r\n title: this.#cache[this.#errorKey].data.title,\r\n message: messages,\r\n delay\r\n });\r\n }\r\n });\r\n }\r\n if (Array.isArray(message)) {\r\n this.#cache[this.#errorKey].data.messages = [...this.#cache[this.#errorKey].data.messages, ...message];\r\n } else {\r\n this.#cache[this.#errorKey].data.messages.push(message);\r\n }\r\n },\r\n };\r\n\r\n #notifyWarning = (args: {\r\n message?: string | string[],\r\n delay?: number,\r\n title?: string\r\n }) => {\r\n const { message, delay, title } = args;\r\n if (Array.isArray(message)) {\r\n this.#buildToastMultiMesssage('warning', message, delay, title);\r\n }\r\n else {\r\n const content = message || this.translate('Warning');\r\n this.toastr.warning(content, title, {\r\n enableHtml: true,\r\n timeOut: delay || 3000,\r\n closeButton: true,\r\n });\r\n }\r\n }\r\n\r\n #notifyError = (args: {\r\n message?: string | string[],\r\n delay?: number,\r\n title?: string\r\n }) => {\r\n const { message, delay, title } = args;\r\n if (Array.isArray(message)) {\r\n this.#buildToastMultiMesssage('error', message, delay, title);\r\n }\r\n else {\r\n const content = message || this.translate('Error');\r\n this.toastr.error(content, title, {\r\n enableHtml: true,\r\n timeOut: delay || 3000,\r\n closeButton: true,\r\n });\r\n }\r\n }\r\n\r\n #buildToastMultiMesssage = (type: 'warning' | 'error', messages: string[], delay?: number, title?: string) => {\r\n /** số lượng item hiển thị mặc định */\r\n const showNum = 2;\r\n const id = `sd-notify-ckb-${uuid.v4()}`;\r\n const messageLength = messages.length;\r\n const messageRests = messages.splice(showNum);\r\n const messageContainer = `<ul class='sd-notify__list'>{0}{1}</ul>`;\r\n const messageTemp = `<li class='sd-notify__item'>- {0}</li>`;\r\n let contentRest = '';\r\n if (messageRests?.length) {\r\n contentRest = `<input id='${id}' class='cdk-visually-hidden sd-notify__checkbox' type='checkbox' />\r\n <label class='sd-notify__text sd-notify__text--show' for='${id}'>${this.translate('Show more')}</label>\r\n <div class='sd-notify__item--rest'>\r\n ${messageRests.map(m => String.format(messageTemp, m)).join('')}\r\n </div>\r\n <label class='sd-notify__text sd-notify__text--less' for='${id}'>${this.translate('Show less')}</label>`;\r\n }\r\n const content = String.format(messageContainer, messages.map(m => String.format(messageTemp, m)).join(''), contentRest);\r\n let toast: ActiveToast<any>;\r\n // khi truyền message html sẽ bị sanitize nên phải truyền innerHTML khi toast hiện lên\r\n // @see https://github.com/scttcper/ngx-toastr/blob/v12.1.0/src/lib/toastr/toastr.service.ts#L271\r\n switch (type) {\r\n case 'error':\r\n toast = this.toastr.error(content, `${title || this.translate('Error')} (${messageLength})`, {\r\n enableHtml: true,\r\n timeOut: delay || 3000,\r\n messageClass: `toast-message toast-message-${id}`,\r\n closeButton: true,\r\n tapToDismiss: false\r\n });\r\n break;\r\n case 'warning':\r\n toast = this.toastr.warning(content, `${title || this.translate('Warning')} (${messageLength})`, {\r\n enableHtml: true,\r\n timeOut: delay || 3000,\r\n messageClass: `toast-message toast-message-${id}`,\r\n closeButton: true,\r\n tapToDismiss: false\r\n });\r\n break;\r\n }\r\n\r\n if (toast) {\r\n toast.onShown\r\n .pipe(\r\n takeUntil(toast.onHidden)\r\n )\r\n .subscribe(() => {\r\n const messageEle: HTMLDivElement = document.querySelector(`.toast-message-${id}`);\r\n messageEle.innerHTML = content;\r\n })\r\n }\r\n }\r\n\r\n handle = {\r\n error: (err: any) => {\r\n if (typeof err === 'string') {\r\n this.notify.warning(err);\r\n } else if (typeof err === 'object') {\r\n let message =\r\n err?.error ||\r\n err?.message ||\r\n err?.ExceptionMessage ||\r\n err?.Message ||\r\n 'Unknown error';\r\n if (typeof err.json === 'function') {\r\n err = err.json();\r\n if (err) {\r\n message =\r\n err?.error ||\r\n err?.message ||\r\n err?.ExceptionMessage ||\r\n err?.Message ||\r\n 'Unknown error';\r\n }\r\n }\r\n this.notify.warning(message);\r\n } else {\r\n this.notify.warning('Unknown error');\r\n }\r\n },\r\n };\r\n\r\n confirm = (\r\n message: string,\r\n option: {\r\n title?: string;\r\n yesTitle?: string;\r\n noTitle?: string;\r\n yesButtonColor?: SdBadgeColor;\r\n noButtonColor?: SdBadgeColor;\r\n } = {}\r\n ) => {\r\n const dialogRef = this.dialog.open(DialogConfirmComponent, {\r\n width: '400px',\r\n data: {\r\n title: option?.title || this.translate('Confirm'),\r\n message,\r\n yesTitle: option?.yesTitle || this.translate('Yes'),\r\n noTitle: option?.noTitle || this.translate('No'),\r\n noButtonColor: option?.noButtonColor || 'secondary',\r\n yesButtonColor: option?.yesButtonColor || 'primary',\r\n },\r\n });\r\n return new Promise((resolve, reject) => {\r\n dialogRef.afterClosed().subscribe((result) => {\r\n if (result) {\r\n if (result === 'ACCEPT') {\r\n resolve(null);\r\n } else if (result === 'CANCEL') {\r\n reject(result);\r\n } else {\r\n resolve(null);\r\n }\r\n }\r\n });\r\n });\r\n };\r\n\r\n confirmDelete = () => this.confirm(this.translate('Delete record(s)'));\r\n\r\n confirmApprove = () => this.confirm(this.translate('Approve record(s)'));\r\n\r\n confirmWithInput = (\r\n title: string,\r\n option: {\r\n message?: string;\r\n yesTitle?: string;\r\n noTitle?: string;\r\n required?: boolean;\r\n maxlength?: number;\r\n yesButtonColor?: SdBadgeColor;\r\n noButtonColor?: SdBadgeColor;\r\n defaultValue?: string;\r\n } = {}\r\n ): Promise<string> => {\r\n const dialogRef = this.dialog.open(DialogConfirmComponent, {\r\n width: '400px',\r\n data: {\r\n title: title || this.translate('Confirm'),\r\n message: option?.message,\r\n yesTitle: option?.yesTitle || this.translate('Yes'),\r\n noTitle: option?.noTitle || this.translate('No'),\r\n noButtonColor: option?.noButtonColor || 'secondary',\r\n yesButtonColor: option?.yesButtonColor || 'primary',\r\n input: {\r\n maxlength: option?.maxlength || 255,\r\n required: option?.required,\r\n defaultValue: option?.defaultValue || ''\r\n },\r\n },\r\n });\r\n return new Promise((resolve, reject) => {\r\n dialogRef.afterClosed().subscribe((result) => {\r\n if (result) {\r\n if (result === 'ACCEPT') {\r\n resolve(result);\r\n } else if (result === 'CANCEL') {\r\n reject(result);\r\n } else {\r\n resolve(result);\r\n }\r\n }\r\n });\r\n });\r\n };\r\n\r\n confirmWithDate = (\r\n title: string,\r\n option: {\r\n message?: string;\r\n yesTitle?: string;\r\n noTitle?: string;\r\n required?: boolean;\r\n yesButtonColor?: SdBadgeColor;\r\n noButtonColor?: SdBadgeColor;\r\n defaultValue?: string | Date;\r\n placeholder?: string\r\n } = {}\r\n ): Promise<string> => {\r\n const dialogRef = this.dialog.open(DialogConfirmComponent, {\r\n width: '400px',\r\n data: {\r\n title: title || this.translate('Confirm'),\r\n message: option?.message,\r\n yesTitle: option?.yesTitle || this.translate('Yes'),\r\n noTitle: option?.noTitle || this.translate('No'),\r\n noButtonColor: option?.noButtonColor || 'secondary',\r\n yesButtonColor: option?.yesButtonColor || 'primary',\r\n date: {\r\n placeholder: option?.placeholder,\r\n required: option?.required,\r\n defaultValue: option?.defaultValue || '',\r\n },\r\n },\r\n });\r\n return new Promise((resolve, reject) => {\r\n dialogRef.afterClosed().subscribe((result) => {\r\n if (result) {\r\n if (result === 'ACCEPT') {\r\n resolve(result);\r\n } else if (result === 'CANCEL') {\r\n reject(result);\r\n } else {\r\n resolve(result);\r\n }\r\n }\r\n });\r\n });\r\n };\r\n\r\n private translate = (value: string): string => {\r\n return this.translateService.translate(value);\r\n };\r\n}\r\n","import { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { MatDialogModule } from \"@angular/material/dialog\";\r\nimport { MatIconModule } from \"@angular/material/icon\";\r\nimport { MatButtonModule } from \"@angular/material/button\";\r\nimport { MatFormFieldModule } from \"@angular/material/form-field\";\r\nimport { MatInputModule } from \"@angular/material/input\";\r\nimport { FormsModule } from \"@angular/forms\";\r\nimport { ToastrService, ToastrModule } from \"ngx-toastr\";\r\nimport { SdButtonModule } from \"@sd-angular/core/button\";\r\n\r\nimport { SdNotifyService } from \"./notify.service\";\r\nimport { DialogConfirmComponent } from \"./components/dialog-confirm/dialog-confirm.component\";\r\nimport { MatDatepickerModule } from \"@angular/material/datepicker\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n MatFormFieldModule,\r\n MatInputModule,\r\n MatDatepickerModule,\r\n MatIconModule,\r\n MatButtonModule,\r\n MatDialogModule,\r\n ToastrModule.forRoot(),\r\n\r\n SdButtonModule,\r\n ],\r\n declarations: [DialogConfirmComponent],\r\n entryComponents: [DialogConfirmComponent],\r\n exports: [],\r\n providers: [SdNotifyService],\r\n})\r\nexport class SdNotifyModule {}\r\n","/*\r\n * Public API Surface of superdev-angular-core\r\n */\r\n\r\nexport { SdNotifyModule } from './lib/notify.module';\r\nexport * from './lib/notify.service';\r\nexport * from './lib/components/dialog-confirm/dialog-confirm.component';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["uuid.v4"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sd-angular-core-notify.js","sources":["../../../../projects/sd-core/notify/src/lib/components/dialog-confirm/dialog-confirm.component.ts","../../../../projects/sd-core/notify/src/lib/notify.service.ts","../../../../projects/sd-core/notify/src/lib/notify.module.ts","../../../../projects/sd-core/notify/src/public-api.ts","../../../../projects/sd-core/notify/sd-angular-core-notify.ts"],"sourcesContent":["import { Component, Inject } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { SdBadgeColor } from '@sd-angular/core/badge';\r\nimport * as uuid from 'uuid';\r\n\r\nexport interface DialogData {\r\n icon?: string;\r\n title?: string;\r\n message?: string;\r\n yesTitle?: string;\r\n noTitle?: string;\r\n yesButtonColor?: SdBadgeColor;\r\n noButtonColor?: SdBadgeColor;\r\n input?: {\r\n placeholder?: string;\r\n minlength?: number;\r\n maxlength?: number;\r\n required?: boolean;\r\n defaultValue?: string;\r\n };\r\n date?: {\r\n required?: boolean;\r\n placeholder?: string;\r\n defaultValue?: string | Date;\r\n min?: string | Date;\r\n max?: string | Date;\r\n }\r\n}\r\n\r\n@Component({\r\n selector: 'sd-dialog-confirm',\r\n templateUrl: 'dialog-confirm.component.html',\r\n styleUrls: ['./dialog-confirm.component.css'],\r\n})\r\nexport class DialogConfirmComponent {\r\n value: any;\r\n required = false;\r\n isString = false;\r\n id = `I${uuid.v4()}`\r\n constructor(\r\n public dialogRef: MatDialogRef<DialogConfirmComponent>,\r\n @Inject(MAT_DIALOG_DATA) public data: DialogData\r\n ) {\r\n this.isString = typeof this.data?.message === 'string';\r\n if (data?.input) {\r\n this.value = data?.input?.defaultValue ?? '';\r\n this.required = data?.input?.required || false;\r\n }\r\n if (data?.date) {\r\n this.value = data?.date?.defaultValue ?? '';\r\n this.required = data?.date?.required || false;\r\n }\r\n }\r\n}\r\n","import '@sd-angular/core/common';\r\nimport { Injectable } from '@angular/core';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { DialogConfirmComponent } from './components/dialog-confirm/dialog-confirm.component';\r\nimport { ActiveToast, ToastrService } from 'ngx-toastr';\r\nimport { SdTranslateService } from '@sd-angular/core/translate';\r\nimport { debounceTime, take, takeUntil } from 'rxjs/operators';\r\nimport { Subject, timer } from 'rxjs';\r\nimport * as uuid from 'uuid';\r\nimport { SdBadgeColor } from '@sd-angular/core/badge';\r\n\r\n@Injectable()\r\nexport class SdNotifyService {\r\n #delayDuration = 500; // Các error/warning message sẽ tự động gộp sau khoảng thời gian trên\r\n #warningKey = uuid.v4();\r\n #errorKey = uuid.v4();\r\n #cache: {\r\n [key: string]: {\r\n createdDate: Date;\r\n data?: {\r\n title: string,\r\n messages: string[]\r\n }\r\n }\r\n } = {};\r\n constructor(\r\n private dialog: MatDialog,\r\n private toastr: ToastrService,\r\n private translateService: SdTranslateService\r\n ) { }\r\n\r\n alert = {\r\n info: (\r\n message?: string,\r\n title?: string,\r\n yesTitle?: string,\r\n icon?: string\r\n ) => {\r\n this.dialog.open(DialogConfirmComponent, {\r\n width: '400px',\r\n data: {\r\n icon: icon || 'info',\r\n title: title || this.translate('Notice'),\r\n message: message || 'Done!',\r\n yesTitle: yesTitle || this.translate('Ok'),\r\n },\r\n });\r\n },\r\n success: (\r\n message?: string,\r\n title?: string,\r\n yesTitle?: string,\r\n icon?: string\r\n ) => {\r\n this.dialog.open(DialogConfirmComponent, {\r\n width: '400px',\r\n data: {\r\n icon: icon || 'done',\r\n title: title || this.translate('Success'),\r\n message: message || 'Done!',\r\n yesTitle: yesTitle || this.translate('Ok'),\r\n },\r\n });\r\n },\r\n warning: (\r\n message?: string,\r\n title?: string,\r\n yesTitle?: string,\r\n icon?: string\r\n ) => {\r\n this.dialog.open(DialogConfirmComponent, {\r\n width: '400px',\r\n data: {\r\n icon: icon || 'warning',\r\n title: title || this.translate('Warning'),\r\n message: message || 'Something went wrong!',\r\n yesTitle: yesTitle || this.translate('Ok'),\r\n },\r\n });\r\n },\r\n error: (\r\n message?: string,\r\n title?: string,\r\n yesTitle?: string,\r\n icon?: string\r\n ) => {\r\n this.dialog.open(DialogConfirmComponent, {\r\n width: '400px',\r\n data: {\r\n icon: icon || 'error',\r\n title: title || this.translate('Error'),\r\n message: message || 'Something went wrong!',\r\n yesTitle: yesTitle || this.translate('Ok'),\r\n },\r\n });\r\n },\r\n };\r\n\r\n notify = {\r\n success: (message?: string, delay?: number, title?: string) => {\r\n // tslint:disable-next-line: max-line-length\r\n // const style = `border-radius: 5px; margin: 0; padding: 12px; z-index: 99999; top: 5px; right: 5px; display: none; position: fixed;color: #4F8A10; background-color: #DFF2BF`;\r\n // tslint:disable-next-line: max-line-length\r\n // const html = `<div id='${this.notifyId}' style='${style}'><i class='fa fa-check'></i> ${message || this.translate('Success')}</div>`;\r\n // this.showNotify(html, delay);\r\n const content = message || this.translate('Success');\r\n this.toastr.success(content, title, {\r\n enableHtml: true,\r\n timeOut: delay || 3000,\r\n closeButton: true,\r\n });\r\n },\r\n warning: (message?: string | string[], delay?: number, title?: string) => {\r\n if (!this.#cache[this.#warningKey] || Date.addMiliseconds(this.#cache[this.#warningKey].createdDate, this.#delayDuration) < new Date()) {\r\n this.#cache[this.#warningKey] = {\r\n createdDate: new Date(),\r\n data: {\r\n title: title,\r\n messages: [],\r\n }\r\n };\r\n timer(this.#delayDuration).pipe(take(1)).subscribe(() => {\r\n const messages = this.#cache[this.#warningKey].data.messages.union(null);\r\n if (messages.length === 1) {\r\n this.#notifyWarning({\r\n title: this.#cache[this.#warningKey].data.title,\r\n message: messages[0],\r\n delay\r\n });\r\n } else {\r\n this.#notifyWarning({\r\n title: this.#cache[this.#warningKey].data.title,\r\n message: messages,\r\n delay\r\n });\r\n }\r\n });\r\n }\r\n if (Array.isArray(message)) {\r\n this.#cache[this.#warningKey].data.messages = [...this.#cache[this.#warningKey].data.messages, ...message];\r\n } else {\r\n this.#cache[this.#warningKey].data.messages.push(message);\r\n }\r\n },\r\n error: (message?: string | string[], delay?: number, title?: string) => {\r\n if (!this.#cache[this.#errorKey] || Date.addMiliseconds(this.#cache[this.#errorKey].createdDate, this.#delayDuration) < new Date()) {\r\n this.#cache[this.#errorKey] = {\r\n createdDate: new Date(),\r\n data: {\r\n title,\r\n messages: [],\r\n }\r\n };\r\n timer(this.#delayDuration).pipe(take(1)).subscribe(() => {\r\n const messages = this.#cache[this.#errorKey].data.messages.union(null);\r\n if (messages.length === 1) {\r\n this.#notifyError({\r\n title: this.#cache[this.#errorKey].data.title,\r\n message: messages[0],\r\n delay\r\n });\r\n } else {\r\n this.#notifyError({\r\n title: this.#cache[this.#errorKey].data.title,\r\n message: messages,\r\n delay\r\n });\r\n }\r\n });\r\n }\r\n if (Array.isArray(message)) {\r\n this.#cache[this.#errorKey].data.messages = [...this.#cache[this.#errorKey].data.messages, ...message];\r\n } else {\r\n this.#cache[this.#errorKey].data.messages.push(message);\r\n }\r\n },\r\n };\r\n\r\n #notifyWarning = (args: {\r\n message?: string | string[],\r\n delay?: number,\r\n title?: string\r\n }) => {\r\n const { message, delay, title } = args;\r\n if (Array.isArray(message)) {\r\n this.#buildToastMultiMesssage('warning', message, delay, title);\r\n }\r\n else {\r\n const content = message || this.translate('Warning');\r\n this.toastr.warning(content, title, {\r\n enableHtml: true,\r\n timeOut: delay || 3000,\r\n closeButton: true,\r\n });\r\n }\r\n }\r\n\r\n #notifyError = (args: {\r\n message?: string | string[],\r\n delay?: number,\r\n title?: string\r\n }) => {\r\n const { message, delay, title } = args;\r\n if (Array.isArray(message)) {\r\n this.#buildToastMultiMesssage('error', message, delay, title);\r\n }\r\n else {\r\n const content = message || this.translate('Error');\r\n this.toastr.error(content, title, {\r\n enableHtml: true,\r\n timeOut: delay || 3000,\r\n closeButton: true,\r\n });\r\n }\r\n }\r\n\r\n #buildToastMultiMesssage = (type: 'warning' | 'error', messages: string[], delay?: number, title?: string) => {\r\n /** số lượng item hiển thị mặc định */\r\n const showNum = 2;\r\n const id = `sd-notify-ckb-${uuid.v4()}`;\r\n const messageLength = messages.length;\r\n const messageRests = messages.splice(showNum);\r\n const messageContainer = `<ul class='sd-notify__list'>{0}{1}</ul>`;\r\n const messageTemp = `<li class='sd-notify__item'>- {0}</li>`;\r\n let contentRest = '';\r\n if (messageRests?.length) {\r\n contentRest = `<input id='${id}' class='cdk-visually-hidden sd-notify__checkbox' type='checkbox' />\r\n <label class='sd-notify__text sd-notify__text--show' for='${id}'>${this.translate('Show more')}</label>\r\n <div class='sd-notify__item--rest'>\r\n ${messageRests.map(m => String.format(messageTemp, m)).join('')}\r\n </div>\r\n <label class='sd-notify__text sd-notify__text--less' for='${id}'>${this.translate('Show less')}</label>`;\r\n }\r\n const content = String.format(messageContainer, messages.map(m => String.format(messageTemp, m)).join(''), contentRest);\r\n let toast: ActiveToast<any>;\r\n // khi truyền message html sẽ bị sanitize nên phải truyền innerHTML khi toast hiện lên\r\n // @see https://github.com/scttcper/ngx-toastr/blob/v12.1.0/src/lib/toastr/toastr.service.ts#L271\r\n switch (type) {\r\n case 'error':\r\n toast = this.toastr.error(content, `${title || this.translate('Error')} (${messageLength})`, {\r\n enableHtml: true,\r\n timeOut: delay || 3000,\r\n messageClass: `toast-message toast-message-${id}`,\r\n closeButton: true,\r\n tapToDismiss: false\r\n });\r\n break;\r\n case 'warning':\r\n toast = this.toastr.warning(content, `${title || this.translate('Warning')} (${messageLength})`, {\r\n enableHtml: true,\r\n timeOut: delay || 3000,\r\n messageClass: `toast-message toast-message-${id}`,\r\n closeButton: true,\r\n tapToDismiss: false\r\n });\r\n break;\r\n }\r\n\r\n if (toast) {\r\n toast.onShown\r\n .pipe(\r\n takeUntil(toast.onHidden)\r\n )\r\n .subscribe(() => {\r\n const messageEle: HTMLDivElement = document.querySelector(`.toast-message-${id}`);\r\n messageEle.innerHTML = content;\r\n })\r\n }\r\n }\r\n\r\n handle = {\r\n error: (err: any) => {\r\n if (typeof err === 'string') {\r\n this.notify.warning(err);\r\n } else if (typeof err === 'object') {\r\n let message =\r\n err?.error ||\r\n err?.message ||\r\n err?.ExceptionMessage ||\r\n err?.Message ||\r\n 'Unknown error';\r\n if (typeof err.json === 'function') {\r\n err = err.json();\r\n if (err) {\r\n message =\r\n err?.error ||\r\n err?.message ||\r\n err?.ExceptionMessage ||\r\n err?.Message ||\r\n 'Unknown error';\r\n }\r\n }\r\n this.notify.warning(message);\r\n } else {\r\n this.notify.warning('Unknown error');\r\n }\r\n },\r\n };\r\n\r\n confirm = (\r\n message: string,\r\n option: {\r\n title?: string;\r\n yesTitle?: string;\r\n noTitle?: string;\r\n yesButtonColor?: SdBadgeColor;\r\n noButtonColor?: SdBadgeColor;\r\n } = {}\r\n ) => {\r\n const dialogRef = this.dialog.open(DialogConfirmComponent, {\r\n width: '400px',\r\n data: {\r\n title: option?.title || this.translate('Confirm'),\r\n message,\r\n yesTitle: option?.yesTitle || this.translate('Yes'),\r\n noTitle: option?.noTitle || this.translate('No'),\r\n noButtonColor: option?.noButtonColor || 'secondary',\r\n yesButtonColor: option?.yesButtonColor || 'primary',\r\n },\r\n });\r\n return new Promise((resolve, reject) => {\r\n dialogRef.afterClosed().subscribe((result) => {\r\n if (result) {\r\n if (result === 'ACCEPT') {\r\n resolve(null);\r\n } else if (result === 'CANCEL') {\r\n reject(result);\r\n } else {\r\n resolve(null);\r\n }\r\n }\r\n });\r\n });\r\n };\r\n\r\n confirmDelete = () => this.confirm(this.translate('Delete record(s)'));\r\n\r\n confirmApprove = () => this.confirm(this.translate('Approve record(s)'));\r\n\r\n confirmWithInput = (\r\n title: string,\r\n option: {\r\n message?: string;\r\n yesTitle?: string;\r\n noTitle?: string;\r\n required?: boolean;\r\n maxlength?: number;\r\n yesButtonColor?: SdBadgeColor;\r\n noButtonColor?: SdBadgeColor;\r\n defaultValue?: string;\r\n } = {}\r\n ): Promise<string> => {\r\n const dialogRef = this.dialog.open(DialogConfirmComponent, {\r\n width: '400px',\r\n data: {\r\n title: title || this.translate('Confirm'),\r\n message: option?.message,\r\n yesTitle: option?.yesTitle || this.translate('Yes'),\r\n noTitle: option?.noTitle || this.translate('No'),\r\n noButtonColor: option?.noButtonColor || 'secondary',\r\n yesButtonColor: option?.yesButtonColor || 'primary',\r\n input: {\r\n maxlength: option?.maxlength || 255,\r\n required: option?.required,\r\n defaultValue: option?.defaultValue || ''\r\n },\r\n },\r\n });\r\n return new Promise((resolve, reject) => {\r\n dialogRef.afterClosed().subscribe((result) => {\r\n if (result) {\r\n if (result === 'ACCEPT') {\r\n resolve(result);\r\n } else if (result === 'CANCEL') {\r\n reject(result);\r\n } else {\r\n resolve(result);\r\n }\r\n }\r\n });\r\n });\r\n };\r\n\r\n confirmWithDate = (\r\n title: string,\r\n option: {\r\n message?: string;\r\n yesTitle?: string;\r\n noTitle?: string;\r\n required?: boolean;\r\n yesButtonColor?: SdBadgeColor;\r\n noButtonColor?: SdBadgeColor;\r\n defaultValue?: string | Date;\r\n placeholder?: string\r\n } = {}\r\n ): Promise<string> => {\r\n const dialogRef = this.dialog.open(DialogConfirmComponent, {\r\n width: '400px',\r\n data: {\r\n title: title || this.translate('Confirm'),\r\n message: option?.message,\r\n yesTitle: option?.yesTitle || this.translate('Yes'),\r\n noTitle: option?.noTitle || this.translate('No'),\r\n noButtonColor: option?.noButtonColor || 'secondary',\r\n yesButtonColor: option?.yesButtonColor || 'primary',\r\n date: {\r\n placeholder: option?.placeholder,\r\n required: option?.required,\r\n defaultValue: option?.defaultValue || '',\r\n },\r\n },\r\n });\r\n return new Promise((resolve, reject) => {\r\n dialogRef.afterClosed().subscribe((result) => {\r\n if (result) {\r\n if (result === 'ACCEPT') {\r\n resolve(result);\r\n } else if (result === 'CANCEL') {\r\n reject(result);\r\n } else {\r\n resolve(result);\r\n }\r\n }\r\n });\r\n });\r\n };\r\n\r\n private translate = (value: string): string => {\r\n return this.translateService.translate(value);\r\n };\r\n}\r\n","import { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { MatDialogModule } from \"@angular/material/dialog\";\r\nimport { MatIconModule } from \"@angular/material/icon\";\r\nimport { MatButtonModule } from \"@angular/material/button\";\r\nimport { MatFormFieldModule } from \"@angular/material/form-field\";\r\nimport { MatInputModule } from \"@angular/material/input\";\r\nimport { FormsModule } from \"@angular/forms\";\r\nimport { ToastrService, ToastrModule } from \"ngx-toastr\";\r\nimport { SdButtonModule } from \"@sd-angular/core/button\";\r\n\r\nimport { SdNotifyService } from \"./notify.service\";\r\nimport { DialogConfirmComponent } from \"./components/dialog-confirm/dialog-confirm.component\";\r\nimport { SdDateTimeModule } from \"@sd-angular/core/date-time\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n MatFormFieldModule,\r\n MatInputModule,\r\n SdDateTimeModule,\r\n MatIconModule,\r\n MatButtonModule,\r\n MatDialogModule,\r\n ToastrModule.forRoot(),\r\n\r\n SdButtonModule,\r\n ],\r\n declarations: [DialogConfirmComponent],\r\n entryComponents: [DialogConfirmComponent],\r\n exports: [],\r\n providers: [SdNotifyService],\r\n})\r\nexport class SdNotifyModule {}\r\n","/*\r\n * Public API Surface of superdev-angular-core\r\n */\r\n\r\nexport { SdNotifyModule } from './lib/notify.module';\r\nexport * from './lib/notify.service';\r\nexport * from './lib/components/dialog-confirm/dialog-confirm.component';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["uuid.v4"],"mappings":";;;;;;;;;;;;;;;;;;MAkCa,sBAAsB;IAKjC,YACS,SAA+C,EACtB,IAAgB;;QADzC,cAAS,GAAT,SAAS,CAAsC;QACtB,SAAI,GAAJ,IAAI,CAAY;QALlD,aAAQ,GAAG,KAAK,CAAC;QACjB,aAAQ,GAAG,KAAK,CAAC;QACjB,OAAE,GAAG,IAAIA,EAAO,EAAE,EAAE,CAAA;QAKlB,IAAI,CAAC,QAAQ,GAAG,cAAO,IAAI,CAAC,IAAI,0CAAE,OAAO,CAAA,KAAK,QAAQ,CAAC;QACvD,IAAI,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,EAAE;YACf,IAAI,CAAC,KAAK,eAAG,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,0CAAE,YAAY,mCAAI,EAAE,CAAC;YAC7C,IAAI,CAAC,QAAQ,GAAG,OAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,0CAAE,QAAQ,KAAI,KAAK,CAAC;SAChD;QACD,IAAI,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,EAAE;YACd,IAAI,CAAC,KAAK,eAAG,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,0CAAE,YAAY,mCAAI,EAAE,CAAC;YAC5C,IAAI,CAAC,QAAQ,GAAG,OAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,0CAAE,QAAQ,KAAI,KAAK,CAAC;SAC/C;KACF;;;YAvBF,SAAS,SAAC;gBACT,QAAQ,EAAE,mBAAmB;gBAC7B,86CAA4C;;aAE7C;;;YAhCQ,YAAY;4CAwChB,MAAM,SAAC,eAAe;;;;MC7Bd,eAAe;IAa1B,YACU,MAAiB,EACjB,MAAqB,EACrB,gBAAoC;QAFpC,WAAM,GAAN,MAAM,CAAW;QACjB,WAAM,GAAN,MAAM,CAAe;QACrB,qBAAgB,GAAhB,gBAAgB,CAAoB;QAf9C,yBAAiB,GAAG,EAAC;QACrB,sBAAcA,EAAO,EAAE,EAAC;QACxB,oBAAYA,EAAO,EAAE,EAAC;QACtB,iBAQI,EAAE,EAAC;QAOP,UAAK,GAAG;YACN,IAAI,EAAE,CACJ,OAAgB,EAChB,KAAc,EACd,QAAiB,EACjB,IAAa;gBAEb,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,sBAAsB,EAAE;oBACvC,KAAK,EAAE,OAAO;oBACd,IAAI,EAAE;wBACJ,IAAI,EAAE,IAAI,IAAI,MAAM;wBACpB,KAAK,EAAE,KAAK,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC;wBACxC,OAAO,EAAE,OAAO,IAAI,OAAO;wBAC3B,QAAQ,EAAE,QAAQ,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;qBAC3C;iBACF,CAAC,CAAC;aACJ;YACD,OAAO,EAAE,CACP,OAAgB,EAChB,KAAc,EACd,QAAiB,EACjB,IAAa;gBAEb,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,sBAAsB,EAAE;oBACvC,KAAK,EAAE,OAAO;oBACd,IAAI,EAAE;wBACJ,IAAI,EAAE,IAAI,IAAI,MAAM;wBACpB,KAAK,EAAE,KAAK,IAAI,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC;wBACzC,OAAO,EAAE,OAAO,IAAI,OAAO;wBAC3B,QAAQ,EAAE,QAAQ,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;qBAC3C;iBACF,CAAC,CAAC;aACJ;YACD,OAAO,EAAE,CACP,OAAgB,EAChB,KAAc,EACd,QAAiB,EACjB,IAAa;gBAEb,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,sBAAsB,EAAE;oBACvC,KAAK,EAAE,OAAO;oBACd,IAAI,EAAE;wBACJ,IAAI,EAAE,IAAI,IAAI,SAAS;wBACvB,KAAK,EAAE,KAAK,IAAI,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC;wBACzC,OAAO,EAAE,OAAO,IAAI,uBAAuB;wBAC3C,QAAQ,EAAE,QAAQ,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;qBAC3C;iBACF,CAAC,CAAC;aACJ;YACD,KAAK,EAAE,CACL,OAAgB,EAChB,KAAc,EACd,QAAiB,EACjB,IAAa;gBAEb,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,sBAAsB,EAAE;oBACvC,KAAK,EAAE,OAAO;oBACd,IAAI,EAAE;wBACJ,IAAI,EAAE,IAAI,IAAI,OAAO;wBACrB,KAAK,EAAE,KAAK,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;wBACvC,OAAO,EAAE,OAAO,IAAI,uBAAuB;wBAC3C,QAAQ,EAAE,QAAQ,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;qBAC3C;iBACF,CAAC,CAAC;aACJ;SACF,CAAC;QAEF,WAAM,GAAG;YACP,OAAO,EAAE,CAAC,OAAgB,EAAE,KAAc,EAAE,KAAc;;;;;;gBAMxD,MAAM,OAAO,GAAG,OAAO,IAAI,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;gBACrD,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,EAAE;oBAClC,UAAU,EAAE,IAAI;oBAChB,OAAO,EAAE,KAAK,IAAI,IAAI;oBACtB,WAAW,EAAE,IAAI;iBAClB,CAAC,CAAC;aACJ;YACD,OAAO,EAAE,CAAC,OAA2B,EAAE,KAAc,EAAE,KAAc;gBACnE,IAAI,CAAC,+EAA6B,IAAI,IAAI,CAAC,cAAc,CAAC,+EAA6B,CAAC,WAAW,+CAAsB,GAAG,IAAI,IAAI,EAAE,EAAE;oBACtI,+EAA6B,GAAG;wBAC9B,WAAW,EAAE,IAAI,IAAI,EAAE;wBACvB,IAAI,EAAE;4BACJ,KAAK,EAAE,KAAK;4BACZ,QAAQ,EAAE,EAAE;yBACb;qBACF,CAAC;oBACF,KAAK,8CAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;wBACjD,MAAM,QAAQ,GAAG,+EAA6B,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;wBACzE,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE;4BACzB,kDAAA,IAAI,EAAgB;gCAClB,KAAK,EAAE,+EAA6B,CAAC,IAAI,CAAC,KAAK;gCAC/C,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;gCACpB,KAAK;6BACN,CAAC,CAAC;yBACJ;6BAAM;4BACL,kDAAA,IAAI,EAAgB;gCAClB,KAAK,EAAE,+EAA6B,CAAC,IAAI,CAAC,KAAK;gCAC/C,OAAO,EAAE,QAAQ;gCACjB,KAAK;6BACN,CAAC,CAAC;yBACJ;qBACF,CAAC,CAAC;iBACJ;gBACD,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;oBAC1B,+EAA6B,CAAC,IAAI,CAAC,QAAQ,GAAG,CAAC,GAAG,+EAA6B,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,OAAO,CAAC,CAAC;iBAC5G;qBAAM;oBACL,+EAA6B,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;iBAC3D;aACF;YACD,KAAK,EAAE,CAAC,OAA2B,EAAE,KAAc,EAAE,KAAc;gBACjE,IAAI,CAAC,6EAA2B,IAAI,IAAI,CAAC,cAAc,CAAC,6EAA2B,CAAC,WAAW,+CAAsB,GAAG,IAAI,IAAI,EAAE,EAAE;oBAClI,6EAA2B,GAAG;wBAC5B,WAAW,EAAE,IAAI,IAAI,EAAE;wBACvB,IAAI,EAAE;4BACJ,KAAK;4BACL,QAAQ,EAAE,EAAE;yBACb;qBACF,CAAC;oBACF,KAAK,8CAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;wBACjD,MAAM,QAAQ,GAAG,6EAA2B,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;wBACvE,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE;4BACzB,gDAAA,IAAI,EAAc;gCAChB,KAAK,EAAE,6EAA2B,CAAC,IAAI,CAAC,KAAK;gCAC7C,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;gCACpB,KAAK;6BACN,CAAC,CAAC;yBACJ;6BAAM;4BACL,gDAAA,IAAI,EAAc;gCAChB,KAAK,EAAE,6EAA2B,CAAC,IAAI,CAAC,KAAK;gCAC7C,OAAO,EAAE,QAAQ;gCACjB,KAAK;6BACN,CAAC,CAAC;yBACJ;qBACF,CAAC,CAAC;iBACJ;gBACD,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;oBAC1B,6EAA2B,CAAC,IAAI,CAAC,QAAQ,GAAG,CAAC,GAAG,6EAA2B,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,OAAO,CAAC,CAAC;iBACxG;qBAAM;oBACL,6EAA2B,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;iBACzD;aACF;SACF,CAAC;QAEF,yBAAiB,CAAC,IAIjB;YACC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;YACvC,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;gBAC1B,4DAAA,IAAI,EAA0B,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;aACjE;iBACI;gBACH,MAAM,OAAO,GAAG,OAAO,IAAI,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;gBACrD,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,EAAE;oBAClC,UAAU,EAAE,IAAI;oBAChB,OAAO,EAAE,KAAK,IAAI,IAAI;oBACtB,WAAW,EAAE,IAAI;iBAClB,CAAC,CAAC;aACJ;SACF,EAAA;QAED,uBAAe,CAAC,IAIf;YACC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;YACvC,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;gBAC1B,4DAAA,IAAI,EAA0B,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;aAC/D;iBACI;gBACH,MAAM,OAAO,GAAG,OAAO,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;gBACnD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,EAAE;oBAChC,UAAU,EAAE,IAAI;oBAChB,OAAO,EAAE,KAAK,IAAI,IAAI;oBACtB,WAAW,EAAE,IAAI;iBAClB,CAAC,CAAC;aACJ;SACF,EAAA;QAED,mCAA2B,CAAC,IAAyB,EAAE,QAAkB,EAAE,KAAc,EAAE,KAAc;;YAEvG,MAAM,OAAO,GAAG,CAAC,CAAC;YAClB,MAAM,EAAE,GAAG,iBAAiBA,EAAO,EAAE,EAAE,CAAC;YACxC,MAAM,aAAa,GAAG,QAAQ,CAAC,MAAM,CAAC;YACtC,MAAM,YAAY,GAAG,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAC9C,MAAM,gBAAgB,GAAG,yCAAyC,CAAC;YACnE,MAAM,WAAW,GAAG,wCAAwC,CAAC;YAC7D,IAAI,WAAW,GAAG,EAAE,CAAC;YACrB,IAAI,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,MAAM,EAAE;gBACxB,WAAW,GAAG,cAAc,EAAE;kEAC8B,EAAE,KAAK,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC;;UAE1F,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;;kEAEL,EAAE,KAAK,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,UAAU,CAAC;aAC1G;YACD,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,gBAAgB,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,WAAW,CAAC,CAAC;YACxH,IAAI,KAAuB,CAAC;;;YAG5B,QAAQ,IAAI;gBACV,KAAK,OAAO;oBACV,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,KAAK,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,aAAa,GAAG,EAAE;wBAC3F,UAAU,EAAE,IAAI;wBAChB,OAAO,EAAE,KAAK,IAAI,IAAI;wBACtB,YAAY,EAAE,+BAA+B,EAAE,EAAE;wBACjD,WAAW,EAAE,IAAI;wBACjB,YAAY,EAAE,KAAK;qBACpB,CAAC,CAAC;oBACH,MAAM;gBACR,KAAK,SAAS;oBACZ,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,KAAK,IAAI,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,KAAK,aAAa,GAAG,EAAE;wBAC/F,UAAU,EAAE,IAAI;wBAChB,OAAO,EAAE,KAAK,IAAI,IAAI;wBACtB,YAAY,EAAE,+BAA+B,EAAE,EAAE;wBACjD,WAAW,EAAE,IAAI;wBACjB,YAAY,EAAE,KAAK;qBACpB,CAAC,CAAC;oBACH,MAAM;aACT;YAED,IAAI,KAAK,EAAE;gBACT,KAAK,CAAC,OAAO;qBACV,IAAI,CACH,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,CAC1B;qBACA,SAAS,CAAC;oBACT,MAAM,UAAU,GAAmB,QAAQ,CAAC,aAAa,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC;oBAClF,UAAU,CAAC,SAAS,GAAG,OAAO,CAAC;iBAChC,CAAC,CAAA;aACL;SACF,EAAA;QAED,WAAM,GAAG;YACP,KAAK,EAAE,CAAC,GAAQ;gBACd,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;oBAC3B,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;iBAC1B;qBAAM,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;oBAClC,IAAI,OAAO,GACT,CAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,KAAK,MACV,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,OAAO,CAAA,KACZ,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,gBAAgB,CAAA,KACrB,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,OAAO,CAAA;wBACZ,eAAe,CAAC;oBAClB,IAAI,OAAO,GAAG,CAAC,IAAI,KAAK,UAAU,EAAE;wBAClC,GAAG,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;wBACjB,IAAI,GAAG,EAAE;4BACP,OAAO;gCACL,CAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,KAAK,MACV,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,OAAO,CAAA,KACZ,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,gBAAgB,CAAA,KACrB,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,OAAO,CAAA;oCACZ,eAAe,CAAC;yBACnB;qBACF;oBACD,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;iBAC9B;qBAAM;oBACL,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;iBACtC;aACF;SACF,CAAC;QAEF,YAAO,GAAG,CACR,OAAe,EACf,SAMI,EAAE;YAEN,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,sBAAsB,EAAE;gBACzD,KAAK,EAAE,OAAO;gBACd,IAAI,EAAE;oBACJ,KAAK,EAAE,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,KAAI,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC;oBACjD,OAAO;oBACP,QAAQ,EAAE,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,QAAQ,KAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;oBACnD,OAAO,EAAE,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,OAAO,KAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;oBAChD,aAAa,EAAE,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,aAAa,KAAI,WAAW;oBACnD,cAAc,EAAE,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,cAAc,KAAI,SAAS;iBACpD;aACF,CAAC,CAAC;YACH,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM;gBACjC,SAAS,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,CAAC,MAAM;oBACvC,IAAI,MAAM,EAAE;wBACV,IAAI,MAAM,KAAK,QAAQ,EAAE;4BACvB,OAAO,CAAC,IAAI,CAAC,CAAC;yBACf;6BAAM,IAAI,MAAM,KAAK,QAAQ,EAAE;4BAC9B,MAAM,CAAC,MAAM,CAAC,CAAC;yBAChB;6BAAM;4BACL,OAAO,CAAC,IAAI,CAAC,CAAC;yBACf;qBACF;iBACF,CAAC,CAAC;aACJ,CAAC,CAAC;SACJ,CAAC;QAEF,kBAAa,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC,CAAC;QAEvE,mBAAc,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,CAAC,CAAC;QAEzE,qBAAgB,GAAG,CACjB,KAAa,EACb,SASI,EAAE;YAEN,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,sBAAsB,EAAE;gBACzD,KAAK,EAAE,OAAO;gBACd,IAAI,EAAE;oBACJ,KAAK,EAAE,KAAK,IAAI,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC;oBACzC,OAAO,EAAE,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,OAAO;oBACxB,QAAQ,EAAE,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,QAAQ,KAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;oBACnD,OAAO,EAAE,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,OAAO,KAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;oBAChD,aAAa,EAAE,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,aAAa,KAAI,WAAW;oBACnD,cAAc,EAAE,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,cAAc,KAAI,SAAS;oBACnD,KAAK,EAAE;wBACL,SAAS,EAAE,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,SAAS,KAAI,GAAG;wBACnC,QAAQ,EAAE,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,QAAQ;wBAC1B,YAAY,EAAE,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,YAAY,KAAI,EAAE;qBACzC;iBACF;aACF,CAAC,CAAC;YACH,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM;gBACjC,SAAS,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,CAAC,MAAM;oBACvC,IAAI,MAAM,EAAE;wBACV,IAAI,MAAM,KAAK,QAAQ,EAAE;4BACvB,OAAO,CAAC,MAAM,CAAC,CAAC;yBACjB;6BAAM,IAAI,MAAM,KAAK,QAAQ,EAAE;4BAC9B,MAAM,CAAC,MAAM,CAAC,CAAC;yBAChB;6BAAM;4BACL,OAAO,CAAC,MAAM,CAAC,CAAC;yBACjB;qBACF;iBACF,CAAC,CAAC;aACJ,CAAC,CAAC;SACJ,CAAC;QAEF,oBAAe,GAAG,CAChB,KAAa,EACb,SASI,EAAE;YAEN,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,sBAAsB,EAAE;gBACzD,KAAK,EAAE,OAAO;gBACd,IAAI,EAAE;oBACJ,KAAK,EAAE,KAAK,IAAI,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC;oBACzC,OAAO,EAAE,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,OAAO;oBACxB,QAAQ,EAAE,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,QAAQ,KAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;oBACnD,OAAO,EAAE,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,OAAO,KAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;oBAChD,aAAa,EAAE,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,aAAa,KAAI,WAAW;oBACnD,cAAc,EAAE,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,cAAc,KAAI,SAAS;oBACnD,IAAI,EAAE;wBACJ,WAAW,EAAE,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,WAAW;wBAChC,QAAQ,EAAE,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,QAAQ;wBAC1B,YAAY,EAAE,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,YAAY,KAAI,EAAE;qBACzC;iBACF;aACF,CAAC,CAAC;YACH,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM;gBACjC,SAAS,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,CAAC,MAAM;oBACvC,IAAI,MAAM,EAAE;wBACV,IAAI,MAAM,KAAK,QAAQ,EAAE;4BACvB,OAAO,CAAC,MAAM,CAAC,CAAC;yBACjB;6BAAM,IAAI,MAAM,KAAK,QAAQ,EAAE;4BAC9B,MAAM,CAAC,MAAM,CAAC,CAAC;yBAChB;6BAAM;4BACL,OAAO,CAAC,MAAM,CAAC,CAAC;yBACjB;qBACF;iBACF,CAAC,CAAC;aACJ,CAAC,CAAC;SACJ,CAAC;QAEM,cAAS,GAAG,CAAC,KAAa;YAChC,OAAO,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;SAC/C,CAAC;KAhZG;;;;YAlBN,UAAU;;;YATF,SAAS;YAEI,aAAa;YAC1B,kBAAkB;;;MC6Bd,cAAc;;;YAnB1B,QAAQ,SAAC;gBACR,OAAO,EAAE;oBACP,YAAY;oBACZ,WAAW;oBACX,kBAAkB;oBAClB,cAAc;oBACd,gBAAgB;oBAChB,aAAa;oBACb,eAAe;oBACf,eAAe;oBACf,YAAY,CAAC,OAAO,EAAE;oBAEtB,cAAc;iBACf;gBACD,YAAY,EAAE,CAAC,sBAAsB,CAAC;gBACtC,eAAe,EAAE,CAAC,sBAAsB,CAAC;gBACzC,OAAO,EAAE,EAAE;gBACX,SAAS,EAAE,CAAC,eAAe,CAAC;aAC7B;;;ACjCD;;;;ACAA;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"__symbolic":"module","version":4,"metadata":{"SdModal":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":7,"character":1},"arguments":[{"selector":"sd-modal","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":11,"character":17},"member":"None"},"changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":12,"character":19},"member":"OnPush"},"template":"<ng-template #templateRef>\r\n <ng-container *ngIf=\"!lazyLoadContent || alreadyOpened\">\r\n <sd-modal-header *ngIf=\"title\">\r\n <span [innerHtml]=\"title\"></span>\r\n <button *ngIf=\"!noClose\" class=\"float-right\" type=\"button\" (click)=\"close()\" mat-icon-button>\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n </sd-modal-header>\r\n <div class=\"d-flex flex-column px-12 px-md-24 pb-6 overflow-auto w-100 mh-100\">\r\n <ng-content></ng-content>\r\n </div>\r\n </ng-container>\r\n</ng-template>","styles":["button:focus{outline:none!important}.mat-dialog-container{padding:0!important}.mat-dialog-container .mat-dialog-content{max-height:80vh}.mat-dialog-container .mat-dialog-actions{margin-bottom:0;min-height:auto;padding:0}.mat-bottom-sheet-container{max-height:\"inherit\"}sd-modal-header{display:block;padding:12px 24px;width:100%}@media (max-width:640px){sd-modal-header{padding:12px}}.cdk-global-overlay-wrapper .mat-bottom-sheet-container{border-top-left-radius:4px;border-top-right-radius:4px;box-sizing:border-box;display:flex;flex-direction:column;max-height:80vh;min-width:100vw;outline:0;overflow:hidden;padding:0}"]}]}],"members":{"templateRef":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":16,"character":3},"arguments":["templateRef"]}]}],"title":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":17,"character":3}}]}],"noClose":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":18,"character":3}}]}],"type":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":19,"character":3}}]}],"width":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":20,"character":3}}]}],"height":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":21,"character":3}}]}],"view":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":22,"character":3}}]}],"lazyLoadContent":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":23,"character":3}}]}],"modal":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":24,"character":3},"arguments":["modal"]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":32,"character":17},{"__symbolic":"reference","module":"@angular/material/dialog","name":"MatDialog","line":33,"character":20},{"__symbolic":"reference","module":"@angular/material/bottom-sheet","name":"MatBottomSheet","line":34,"character":25},{"__symbolic":"reference","module":"ngx-device-detector","name":"DeviceDetectorService","line":35,"character":19}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}]},"statics":{"index":0}},"SdModalHeader":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":3,"character":1},"arguments":[{"selector":"sd-modal-header","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":8,"character":17},"member":"None"},"template":"<h3 class=\"mb-0\" mat-dialog-title *ngIf=\"!isMobileOrTablet\">\r\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\r\n</h3>\r\n<sd-bottom-sheet-header *ngIf=\"isMobileOrTablet\">\r\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\r\n</sd-bottom-sheet-header>\r\n<ng-template #content>\r\n <ng-content></ng-content>\r\n</ng-template>","styles":[".mat-dialog-title{align-items:center;display:flex;justify-content:space-between}button:focus{outline:none!important}"]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"ngx-device-detector","name":"DeviceDetectorService","line":12,"character":29}]}],"ngOnInit":[{"__symbolic":"method"}]}},"SdModalBody":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":3,"character":1},"arguments":[{"selector":"sd-modal-body","template":"<mat-dialog-content *ngIf=\"!isMobileOrTablet\" [ngStyle]=\"{'height': height}\" class=\"pb-5\">\r\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\r\n</mat-dialog-content>\r\n<sd-bottom-sheet-body *ngIf=\"isMobileOrTablet\" [height]=\"height\">\r\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\r\n</sd-bottom-sheet-body>\r\n<ng-template #content>\r\n <ng-content></ng-content>\r\n</ng-template>","styles":[":host{width:100%}"]}]}],"members":{"height":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":9,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"ngx-device-detector","name":"DeviceDetectorService","line":11,"character":29}]}],"ngOnInit":[{"__symbolic":"method"}]}},"SdModalFooter":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":3,"character":1},"arguments":[{"selector":"sd-modal-footer","template":"<!-- <div class=\"modal-footer\" style=\"padding:5px\"><ng-content></ng-content></div> -->\r\n<mat-dialog-actions *ngIf=\"!isMobileOrTablet\">\r\n <div class=\"c-footer\">\r\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\r\n </div>\r\n</mat-dialog-actions>\r\n<sd-bottom-sheet-footer *ngIf=\"isMobileOrTablet\">\r\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\r\n</sd-bottom-sheet-footer>\r\n<ng-template #content>\r\n <ng-content></ng-content>\r\n</ng-template>","styles":[":host{width:100%}:host .c-footer{align-items:center;display:flex;flex:auto;justify-content:flex-end;padding:8px 0}"]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"ngx-device-detector","name":"DeviceDetectorService","line":10,"character":29}]}],"ngOnInit":[{"__symbolic":"method"}]}},"SdBottomSheet":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":3,"character":1},"arguments":[{"selector":"sd-bottom-sheet","template":"<ng-template #templateRef>\r\n <ng-container *ngIf=\"isOpened\">\r\n <sd-bottom-sheet-header *ngIf=\"title\">{{title}}</sd-bottom-sheet-header>\r\n <ng-content></ng-content>\r\n </ng-container>\r\n</ng-template>"}]}],"members":{"templateRef":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":8,"character":3},"arguments":["templateRef"]}]}],"title":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":9,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/material/bottom-sheet","name":"MatBottomSheet","line":12,"character":25}]}]}},"SdBottomSheetHeader":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":2,"character":1},"arguments":[{"selector":"sd-bottom-sheet-header","template":"<h3 class=\"mb-0\" mat-dialog-title><ng-content></ng-content></h3>"}]}],"members":{"__ctor__":[{"__symbolic":"constructor"}],"ngOnInit":[{"__symbolic":"method"}]}},"SdBottomSheetBody":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":2,"character":1},"arguments":[{"selector":"sd-bottom-sheet-body","template":"<div [ngStyle]=\"{'height': height}\">\r\n <ng-content></ng-content>\r\n<div>"}]}],"members":{"height":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":7,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor"}],"ngOnInit":[{"__symbolic":"method"}]}},"SdBottomSheetFooter":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":2,"character":1},"arguments":[{"selector":"sd-bottom-sheet-footer","template":"<!-- <div class=\"modal-footer\" style=\"padding:5px\"><ng-content></ng-content></div> -->\r\n<div class=\"c-footer\">\r\n <ng-content></ng-content>\r\n</div>","styles":[".c-footer{align-items:center;display:flex;flex:auto;justify-content:flex-end;padding-bottom:5px;padding-top:5px}"]}]}],"members":{"__ctor__":[{"__symbolic":"constructor"}],"ngOnInit":[{"__symbolic":"method"}]}},"SdModalModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":17,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":19,"character":4},{"__symbolic":"reference","module":"@angular/material/icon","name":"MatIconModule","line":20,"character":4},{"__symbolic":"reference","module":"@angular/material/bottom-sheet","name":"MatBottomSheetModule","line":21,"character":4},{"__symbolic":"reference","module":"@angular/material/dialog","name":"MatDialogModule","line":22,"character":4},{"__symbolic":"reference","module":"@angular/material/button","name":"MatButtonModule","line":23,"character":4},{"__symbolic":"reference","module":"@sd-angular/core/button","name":"SdButtonModule","line":24,"character":4}],"declarations":[{"__symbolic":"reference","name":"SdModal"},{"__symbolic":"reference","name":"SdModalHeader"},{"__symbolic":"reference","name":"SdModalBody"},{"__symbolic":"reference","name":"SdModalFooter"},{"__symbolic":"reference","name":"SdBottomSheet"},{"__symbolic":"reference","name":"SdBottomSheetHeader"},{"__symbolic":"reference","name":"SdBottomSheetBody"},{"__symbolic":"reference","name":"SdBottomSheetFooter"}],"exports":[{"__symbolic":"reference","name":"SdModal"},{"__symbolic":"reference","name":"SdModalHeader"},{"__symbolic":"reference","name":"SdModalBody"},{"__symbolic":"reference","name":"SdModalFooter"},{"__symbolic":"reference","name":"SdBottomSheet"},{"__symbolic":"reference","name":"SdBottomSheetHeader"},{"__symbolic":"reference","name":"SdBottomSheetBody"},{"__symbolic":"reference","name":"SdBottomSheetFooter"}],"providers":[]}]}],"members":{}}},"origins":{"SdModal":"./src/lib/modal/modal.component","SdModalHeader":"./src/lib/modal/modal-header/modal-header.component","SdModalBody":"./src/lib/modal/modal-body/modal-body.component","SdModalFooter":"./src/lib/modal/modal-footer/modal-footer.component","SdBottomSheet":"./src/lib/bottom-sheet/bottom-sheet.component","SdBottomSheetHeader":"./src/lib/bottom-sheet/bottom-sheet-header/bottom-sheet-header.component","SdBottomSheetBody":"./src/lib/bottom-sheet/bottom-sheet-body/bottom-sheet-body.component","SdBottomSheetFooter":"./src/lib/bottom-sheet/bottom-sheet-footer/bottom-sheet-footer.component","SdModalModule":"./src/lib/modal.module"},"importAs":"@sd-angular/core/modal"}
|
|
1
|
+
{"__symbolic":"module","version":4,"metadata":{"SdModal":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":7,"character":1},"arguments":[{"selector":"sd-modal","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":11,"character":17},"member":"None"},"changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":12,"character":19},"member":"OnPush"},"template":"<ng-template #templateRef>\r\n <ng-container *ngIf=\"!lazyLoadContent || alreadyOpened\">\r\n <sd-modal-header *ngIf=\"title\">\r\n <span [innerHtml]=\"title\"></span>\r\n <button *ngIf=\"!noClose\" class=\"float-right\" type=\"button\" (click)=\"close()\" mat-icon-button>\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n </sd-modal-header>\r\n <div class=\"d-flex flex-column px-12 px-md-24 pb-6 overflow-auto w-100 mh-100\">\r\n <ng-content></ng-content>\r\n </div>\r\n </ng-container>\r\n</ng-template>","styles":["button:focus{outline:none!important}.mat-dialog-container{padding:0!important}.mat-dialog-container .mat-dialog-content{max-height:80vh}.mat-dialog-container .mat-dialog-actions{margin-bottom:0;min-height:auto;padding:0}.mat-bottom-sheet-container{max-height:\"inherit\"}sd-modal-header{display:block;padding:12px 24px;width:100%}@media (max-width:640px){sd-modal-header{padding:12px}}.cdk-global-overlay-wrapper .mat-bottom-sheet-container{border-top-left-radius:4px;border-top-right-radius:4px;box-sizing:border-box;display:flex;flex-direction:column;max-height:80vh;min-width:100vw;outline:0;overflow:hidden;padding:0}"]}]}],"members":{"templateRef":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":16,"character":3},"arguments":["templateRef"]}]}],"title":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":17,"character":3}}]}],"noClose":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":18,"character":3}}]}],"type":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":19,"character":3}}]}],"width":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":20,"character":3}}]}],"height":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":21,"character":3}}]}],"view":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":22,"character":3}}]}],"lazyLoadContent":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":23,"character":3}}]}],"closeClickOutSide":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":24,"character":3}}]}],"modal":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":25,"character":3},"arguments":["modal"]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":33,"character":17},{"__symbolic":"reference","module":"@angular/material/dialog","name":"MatDialog","line":34,"character":20},{"__symbolic":"reference","module":"@angular/material/bottom-sheet","name":"MatBottomSheet","line":35,"character":25},{"__symbolic":"reference","module":"ngx-device-detector","name":"DeviceDetectorService","line":36,"character":19}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}]},"statics":{"index":0}},"SdModalHeader":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":3,"character":1},"arguments":[{"selector":"sd-modal-header","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":8,"character":17},"member":"None"},"template":"<h3 class=\"mb-0\" mat-dialog-title *ngIf=\"!isMobileOrTablet\">\r\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\r\n</h3>\r\n<sd-bottom-sheet-header *ngIf=\"isMobileOrTablet\">\r\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\r\n</sd-bottom-sheet-header>\r\n<ng-template #content>\r\n <ng-content></ng-content>\r\n</ng-template>","styles":[".mat-dialog-title{align-items:center;display:flex;justify-content:space-between}button:focus{outline:none!important}"]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"ngx-device-detector","name":"DeviceDetectorService","line":12,"character":29}]}],"ngOnInit":[{"__symbolic":"method"}]}},"SdModalBody":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":3,"character":1},"arguments":[{"selector":"sd-modal-body","template":"<mat-dialog-content *ngIf=\"!isMobileOrTablet\" [ngStyle]=\"{'height': height}\" class=\"pb-5\">\r\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\r\n</mat-dialog-content>\r\n<sd-bottom-sheet-body *ngIf=\"isMobileOrTablet\" [height]=\"height\">\r\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\r\n</sd-bottom-sheet-body>\r\n<ng-template #content>\r\n <ng-content></ng-content>\r\n</ng-template>","styles":[":host{width:100%}"]}]}],"members":{"height":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":9,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"ngx-device-detector","name":"DeviceDetectorService","line":11,"character":29}]}],"ngOnInit":[{"__symbolic":"method"}]}},"SdModalFooter":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":3,"character":1},"arguments":[{"selector":"sd-modal-footer","template":"<!-- <div class=\"modal-footer\" style=\"padding:5px\"><ng-content></ng-content></div> -->\r\n<mat-dialog-actions *ngIf=\"!isMobileOrTablet\">\r\n <div class=\"c-footer\">\r\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\r\n </div>\r\n</mat-dialog-actions>\r\n<sd-bottom-sheet-footer *ngIf=\"isMobileOrTablet\">\r\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\r\n</sd-bottom-sheet-footer>\r\n<ng-template #content>\r\n <ng-content></ng-content>\r\n</ng-template>","styles":[":host{width:100%}:host .c-footer{align-items:center;display:flex;flex:auto;justify-content:flex-end;padding:8px 0}"]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"ngx-device-detector","name":"DeviceDetectorService","line":10,"character":29}]}],"ngOnInit":[{"__symbolic":"method"}]}},"SdBottomSheet":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":3,"character":1},"arguments":[{"selector":"sd-bottom-sheet","template":"<ng-template #templateRef>\r\n <ng-container *ngIf=\"isOpened\">\r\n <sd-bottom-sheet-header *ngIf=\"title\">{{title}}</sd-bottom-sheet-header>\r\n <ng-content></ng-content>\r\n </ng-container>\r\n</ng-template>"}]}],"members":{"templateRef":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":8,"character":3},"arguments":["templateRef"]}]}],"title":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":9,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/material/bottom-sheet","name":"MatBottomSheet","line":12,"character":25}]}]}},"SdBottomSheetHeader":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":2,"character":1},"arguments":[{"selector":"sd-bottom-sheet-header","template":"<h3 class=\"mb-0\" mat-dialog-title><ng-content></ng-content></h3>"}]}],"members":{"__ctor__":[{"__symbolic":"constructor"}],"ngOnInit":[{"__symbolic":"method"}]}},"SdBottomSheetBody":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":2,"character":1},"arguments":[{"selector":"sd-bottom-sheet-body","template":"<div [ngStyle]=\"{'height': height}\">\r\n <ng-content></ng-content>\r\n<div>"}]}],"members":{"height":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":7,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor"}],"ngOnInit":[{"__symbolic":"method"}]}},"SdBottomSheetFooter":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":2,"character":1},"arguments":[{"selector":"sd-bottom-sheet-footer","template":"<!-- <div class=\"modal-footer\" style=\"padding:5px\"><ng-content></ng-content></div> -->\r\n<div class=\"c-footer\">\r\n <ng-content></ng-content>\r\n</div>","styles":[".c-footer{align-items:center;display:flex;flex:auto;justify-content:flex-end;padding-bottom:5px;padding-top:5px}"]}]}],"members":{"__ctor__":[{"__symbolic":"constructor"}],"ngOnInit":[{"__symbolic":"method"}]}},"SdModalModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":17,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":19,"character":4},{"__symbolic":"reference","module":"@angular/material/icon","name":"MatIconModule","line":20,"character":4},{"__symbolic":"reference","module":"@angular/material/bottom-sheet","name":"MatBottomSheetModule","line":21,"character":4},{"__symbolic":"reference","module":"@angular/material/dialog","name":"MatDialogModule","line":22,"character":4},{"__symbolic":"reference","module":"@angular/material/button","name":"MatButtonModule","line":23,"character":4},{"__symbolic":"reference","module":"@sd-angular/core/button","name":"SdButtonModule","line":24,"character":4}],"declarations":[{"__symbolic":"reference","name":"SdModal"},{"__symbolic":"reference","name":"SdModalHeader"},{"__symbolic":"reference","name":"SdModalBody"},{"__symbolic":"reference","name":"SdModalFooter"},{"__symbolic":"reference","name":"SdBottomSheet"},{"__symbolic":"reference","name":"SdBottomSheetHeader"},{"__symbolic":"reference","name":"SdBottomSheetBody"},{"__symbolic":"reference","name":"SdBottomSheetFooter"}],"exports":[{"__symbolic":"reference","name":"SdModal"},{"__symbolic":"reference","name":"SdModalHeader"},{"__symbolic":"reference","name":"SdModalBody"},{"__symbolic":"reference","name":"SdModalFooter"},{"__symbolic":"reference","name":"SdBottomSheet"},{"__symbolic":"reference","name":"SdBottomSheetHeader"},{"__symbolic":"reference","name":"SdBottomSheetBody"},{"__symbolic":"reference","name":"SdBottomSheetFooter"}],"providers":[]}]}],"members":{}}},"origins":{"SdModal":"./src/lib/modal/modal.component","SdModalHeader":"./src/lib/modal/modal-header/modal-header.component","SdModalBody":"./src/lib/modal/modal-body/modal-body.component","SdModalFooter":"./src/lib/modal/modal-footer/modal-footer.component","SdBottomSheet":"./src/lib/bottom-sheet/bottom-sheet.component","SdBottomSheetHeader":"./src/lib/bottom-sheet/bottom-sheet-header/bottom-sheet-header.component","SdBottomSheetBody":"./src/lib/bottom-sheet/bottom-sheet-body/bottom-sheet-body.component","SdBottomSheetFooter":"./src/lib/bottom-sheet/bottom-sheet-footer/bottom-sheet-footer.component","SdModalModule":"./src/lib/modal.module"},"importAs":"@sd-angular/core/modal"}
|