osl-base-extended 1.0.39 → 1.0.41
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.
|
@@ -48,11 +48,11 @@ class DialogWrapper {
|
|
|
48
48
|
this.dialogData.component = data.component;
|
|
49
49
|
}
|
|
50
50
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: DialogWrapper, deps: [{ token: i1.MatDialogRef }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component });
|
|
51
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", type: DialogWrapper, isStandalone: true, selector: "dialog-wrapper", ngImport: i0, template: "\r\n@if(dialogData.component){\r\n <ng-container [ngComponentOutlet]=\"dialogData.component\" [ngComponentOutletInputs]=\"{ data: dialogData }\"></ng-container>\r\n}\r\n@else{\r\n <div class=\"dialog-container\">\r\n \r\n <!-- Header -->\r\n @if(typeof dialogData.header == 'string') {\r\n <div class=\"dialog-header\" mat-dialog-title>\r\n <div class=\"dialog-header-left\">\r\n <div class=\"dialog-icon-ring\">\r\n <mat-icon class=\"dialog-icon\">\r\n {{ dialogData.header.startsWith('Add') ? 'add_circle' : dialogData.header.startsWith('Edit') ? 'edit' : 'info' }}\r\n </mat-icon>\r\n </div>\r\n <div class=\"dialog-title-group\">\r\n <span class=\"dialog-mode-label\">\r\n {{ dialogData.header.startsWith('Add') ? 'Creating New' : dialogData.header.startsWith('Edit') ? 'Edit' : '' }}\r\n </span>\r\n <span class=\"dialog-heading\"> {{ dialogData.header.startsWith('Add') ? dialogData.header.replace('Add','') : dialogData.header.startsWith('Edit') ? dialogData.header.replace('Edit','') : '' }}</span>\r\n </div>\r\n </div>\r\n @if(dialogData.partialHeader) {\r\n \r\n <ng-container *ngTemplateOutlet=\"dialogData.partialHeader; context: { $implicit: dialogData }\"></ng-container>\r\n }\r\n <button mat-icon-button class=\"dialog-close-btn\" mat-dialog-close>\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n
|
|
51
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", type: DialogWrapper, isStandalone: true, selector: "dialog-wrapper", ngImport: i0, template: "\r\n@if(dialogData.component){\r\n <ng-container [ngComponentOutlet]=\"dialogData.component\" [ngComponentOutletInputs]=\"{ data: dialogData }\"></ng-container>\r\n}\r\n@else{\r\n <div class=\"dialog-container\">\r\n \r\n <!-- Header -->\r\n @if(typeof dialogData.header == 'string') {\r\n <div class=\"dialog-header\" mat-dialog-title>\r\n <div class=\"dialog-header-left\">\r\n <div class=\"dialog-icon-ring\">\r\n <mat-icon class=\"dialog-icon\">\r\n {{ dialogData.header.startsWith('Add') ? 'add_circle' : dialogData.header.startsWith('Edit') ? 'edit' : 'info' }}\r\n </mat-icon>\r\n </div>\r\n <div class=\"dialog-title-group\">\r\n <span class=\"dialog-mode-label\">\r\n {{ dialogData.header.startsWith('Add') ? 'Creating New' : dialogData.header.startsWith('Edit') ? 'Edit' : '' }}\r\n </span>\r\n <span class=\"dialog-heading\"> {{ dialogData.header.startsWith('Add') ? dialogData.header.replace('Add','') : dialogData.header.startsWith('Edit') ? dialogData.header.replace('Edit','') : '' }}</span>\r\n </div>\r\n </div>\r\n @if(dialogData.partialHeader) {\r\n \r\n <ng-container *ngTemplateOutlet=\"dialogData.partialHeader; context: { $implicit: dialogData }\"></ng-container>\r\n }\r\n <button mat-icon-button class=\"dialog-close-btn\" mat-dialog-close>\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n \r\n </div>\r\n } @else {\r\n <ng-container *ngTemplateOutlet=\"dialogData.header; context: { $implicit: dialogData }\"></ng-container>\r\n }\r\n \r\n <!-- Body -->\r\n <mat-dialog-content class=\"dialog-content\">\r\n @if(dialogData.formBody) {\r\n <div class=\"dialog-body\">\r\n <ng-container *ngTemplateOutlet=\"dialogData.formBody; context: { $implicit: dialogData }\"></ng-container>\r\n </div>\r\n }\r\n </mat-dialog-content>\r\n \r\n <!-- Footer -->\r\n @if(dialogData.formFooter) {\r\n <mat-dialog-actions class=\"dialog-actions\">\r\n <div class=\"dialog-footer\">\r\n <ng-container *ngTemplateOutlet=\"dialogData.formFooter; context: { $implicit: dialogData }\"></ng-container>\r\n </div>\r\n </mat-dialog-actions>\r\n }\r\n \r\n </div>\r\n\r\n}\r\n", styles: [".dialog-container{display:flex;flex-direction:column;overflow:hidden}.dialog-header{display:flex;align-items:center;justify-content:space-between;padding:20px 20px 16px;background:linear-gradient(135deg,#f0f6ff,#e8f0fe);border-bottom:1px solid rgba(37,99,235,.12);gap:12px}.dialog-header:before{display:none}.dialog-header-left{display:flex;align-items:center;gap:14px;flex:1;min-width:0}.dialog-icon-ring{flex-shrink:0;width:48px;height:48px;border-radius:12px;background:linear-gradient(135deg,var(--osl-primary, #2563eb),#3b82f6);display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #2563eb4d;animation:icon-pop .25s cubic-bezier(.34,1.56,.64,1)}.dialog-icon{color:#fff;font-size:24px;width:24px;height:24px}.dialog-title-group{display:flex;flex-direction:column;min-width:0}.dialog-mode-label{font-size:11px;font-weight:500;color:var(--osl-primary, #2563eb);text-transform:uppercase;letter-spacing:.6px;line-height:1.2}.dialog-heading{font-size:18px;font-weight:600;color:#111827;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dialog-close-btn{flex-shrink:0;color:#6b7280;transition:color .15s ease,background .15s ease}.dialog-close-btn:hover{color:#111827;background:#0000000f}.dialog-close-btn .mat-icon{font-size:20px;width:20px;height:20px}.dialog-content{padding:0!important;max-height:65vh;overflow-y:auto}.dialog-content::-webkit-scrollbar{width:5px}.dialog-content::-webkit-scrollbar-track{background:transparent}.dialog-content::-webkit-scrollbar-thumb{background:#2563eb33;border-radius:4px}.dialog-body{padding:20px 24px}.dialog-actions{padding:0!important;min-height:unset!important;border-top:1px solid #e5e7eb;background:#fafafa}.dialog-footer{width:100%;padding:14px 24px}@keyframes icon-pop{0%{transform:scale(.6);opacity:0}to{transform:scale(1);opacity:1}}.mat-mdc-dialog-title:before{display:none}\n"], dependencies: [{ kind: "ngmodule", type: MatDialogModule }, { kind: "directive", type: i1.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "directive", type: i1.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i1.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "directive", type: i1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "directive", type: NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletEnvironmentInjector", "ngComponentOutletContent", "ngComponentOutletNgModule"], exportAs: ["ngComponentOutlet"] }] });
|
|
52
52
|
}
|
|
53
53
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: DialogWrapper, decorators: [{
|
|
54
54
|
type: Component,
|
|
55
|
-
args: [{ selector: 'dialog-wrapper', imports: [MatDialogModule, MatIconModule, NgTemplateOutlet, MatIconButton, NgComponentOutlet], template: "\r\n@if(dialogData.component){\r\n <ng-container [ngComponentOutlet]=\"dialogData.component\" [ngComponentOutletInputs]=\"{ data: dialogData }\"></ng-container>\r\n}\r\n@else{\r\n <div class=\"dialog-container\">\r\n \r\n <!-- Header -->\r\n @if(typeof dialogData.header == 'string') {\r\n <div class=\"dialog-header\" mat-dialog-title>\r\n <div class=\"dialog-header-left\">\r\n <div class=\"dialog-icon-ring\">\r\n <mat-icon class=\"dialog-icon\">\r\n {{ dialogData.header.startsWith('Add') ? 'add_circle' : dialogData.header.startsWith('Edit') ? 'edit' : 'info' }}\r\n </mat-icon>\r\n </div>\r\n <div class=\"dialog-title-group\">\r\n <span class=\"dialog-mode-label\">\r\n {{ dialogData.header.startsWith('Add') ? 'Creating New' : dialogData.header.startsWith('Edit') ? 'Edit' : '' }}\r\n </span>\r\n <span class=\"dialog-heading\"> {{ dialogData.header.startsWith('Add') ? dialogData.header.replace('Add','') : dialogData.header.startsWith('Edit') ? dialogData.header.replace('Edit','') : '' }}</span>\r\n </div>\r\n </div>\r\n @if(dialogData.partialHeader) {\r\n \r\n <ng-container *ngTemplateOutlet=\"dialogData.partialHeader; context: { $implicit: dialogData }\"></ng-container>\r\n }\r\n <button mat-icon-button class=\"dialog-close-btn\" mat-dialog-close>\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n
|
|
55
|
+
args: [{ selector: 'dialog-wrapper', imports: [MatDialogModule, MatIconModule, NgTemplateOutlet, MatIconButton, NgComponentOutlet], template: "\r\n@if(dialogData.component){\r\n <ng-container [ngComponentOutlet]=\"dialogData.component\" [ngComponentOutletInputs]=\"{ data: dialogData }\"></ng-container>\r\n}\r\n@else{\r\n <div class=\"dialog-container\">\r\n \r\n <!-- Header -->\r\n @if(typeof dialogData.header == 'string') {\r\n <div class=\"dialog-header\" mat-dialog-title>\r\n <div class=\"dialog-header-left\">\r\n <div class=\"dialog-icon-ring\">\r\n <mat-icon class=\"dialog-icon\">\r\n {{ dialogData.header.startsWith('Add') ? 'add_circle' : dialogData.header.startsWith('Edit') ? 'edit' : 'info' }}\r\n </mat-icon>\r\n </div>\r\n <div class=\"dialog-title-group\">\r\n <span class=\"dialog-mode-label\">\r\n {{ dialogData.header.startsWith('Add') ? 'Creating New' : dialogData.header.startsWith('Edit') ? 'Edit' : '' }}\r\n </span>\r\n <span class=\"dialog-heading\"> {{ dialogData.header.startsWith('Add') ? dialogData.header.replace('Add','') : dialogData.header.startsWith('Edit') ? dialogData.header.replace('Edit','') : '' }}</span>\r\n </div>\r\n </div>\r\n @if(dialogData.partialHeader) {\r\n \r\n <ng-container *ngTemplateOutlet=\"dialogData.partialHeader; context: { $implicit: dialogData }\"></ng-container>\r\n }\r\n <button mat-icon-button class=\"dialog-close-btn\" mat-dialog-close>\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n \r\n </div>\r\n } @else {\r\n <ng-container *ngTemplateOutlet=\"dialogData.header; context: { $implicit: dialogData }\"></ng-container>\r\n }\r\n \r\n <!-- Body -->\r\n <mat-dialog-content class=\"dialog-content\">\r\n @if(dialogData.formBody) {\r\n <div class=\"dialog-body\">\r\n <ng-container *ngTemplateOutlet=\"dialogData.formBody; context: { $implicit: dialogData }\"></ng-container>\r\n </div>\r\n }\r\n </mat-dialog-content>\r\n \r\n <!-- Footer -->\r\n @if(dialogData.formFooter) {\r\n <mat-dialog-actions class=\"dialog-actions\">\r\n <div class=\"dialog-footer\">\r\n <ng-container *ngTemplateOutlet=\"dialogData.formFooter; context: { $implicit: dialogData }\"></ng-container>\r\n </div>\r\n </mat-dialog-actions>\r\n }\r\n \r\n </div>\r\n\r\n}\r\n", styles: [".dialog-container{display:flex;flex-direction:column;overflow:hidden}.dialog-header{display:flex;align-items:center;justify-content:space-between;padding:20px 20px 16px;background:linear-gradient(135deg,#f0f6ff,#e8f0fe);border-bottom:1px solid rgba(37,99,235,.12);gap:12px}.dialog-header:before{display:none}.dialog-header-left{display:flex;align-items:center;gap:14px;flex:1;min-width:0}.dialog-icon-ring{flex-shrink:0;width:48px;height:48px;border-radius:12px;background:linear-gradient(135deg,var(--osl-primary, #2563eb),#3b82f6);display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #2563eb4d;animation:icon-pop .25s cubic-bezier(.34,1.56,.64,1)}.dialog-icon{color:#fff;font-size:24px;width:24px;height:24px}.dialog-title-group{display:flex;flex-direction:column;min-width:0}.dialog-mode-label{font-size:11px;font-weight:500;color:var(--osl-primary, #2563eb);text-transform:uppercase;letter-spacing:.6px;line-height:1.2}.dialog-heading{font-size:18px;font-weight:600;color:#111827;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dialog-close-btn{flex-shrink:0;color:#6b7280;transition:color .15s ease,background .15s ease}.dialog-close-btn:hover{color:#111827;background:#0000000f}.dialog-close-btn .mat-icon{font-size:20px;width:20px;height:20px}.dialog-content{padding:0!important;max-height:65vh;overflow-y:auto}.dialog-content::-webkit-scrollbar{width:5px}.dialog-content::-webkit-scrollbar-track{background:transparent}.dialog-content::-webkit-scrollbar-thumb{background:#2563eb33;border-radius:4px}.dialog-body{padding:20px 24px}.dialog-actions{padding:0!important;min-height:unset!important;border-top:1px solid #e5e7eb;background:#fafafa}.dialog-footer{width:100%;padding:14px 24px}@keyframes icon-pop{0%{transform:scale(.6);opacity:0}to{transform:scale(1);opacity:1}}.mat-mdc-dialog-title:before{display:none}\n"] }]
|
|
56
56
|
}], ctorParameters: () => [{ type: i1.MatDialogRef }, { type: Dialog, decorators: [{
|
|
57
57
|
type: Inject,
|
|
58
58
|
args: [MAT_DIALOG_DATA]
|
|
@@ -1389,10 +1389,10 @@ class OslAutocomplete extends baseComponent {
|
|
|
1389
1389
|
set object(val) {
|
|
1390
1390
|
if (val) {
|
|
1391
1391
|
this._object = val;
|
|
1392
|
-
this.datasource = [val];
|
|
1393
|
-
this.filteredItems = [...this.datasource];
|
|
1394
1392
|
}
|
|
1395
1393
|
if (this.model) {
|
|
1394
|
+
this.datasource = [val];
|
|
1395
|
+
this.filteredItems = [...this.datasource];
|
|
1396
1396
|
this.syncInputFromModel();
|
|
1397
1397
|
}
|
|
1398
1398
|
}
|