@fuentis/phoenix-ui 0.0.9-alpha.81 → 0.0.9-alpha.82
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/fesm2022/fuentis-phoenix-ui.mjs +55 -1
- package/fesm2022/fuentis-phoenix-ui.mjs.map +1 -1
- package/lib/components/status-bar/status-bar.component.d.ts +25 -0
- package/lib/enums/status-col-type.enum.d.ts +11 -0
- package/package.json +1 -1
- package/public-api.d.ts +1 -0
- package/lib/components/quick-pick/sidepanel-header/sidepanel-header.component.d.ts +0 -12
|
@@ -4715,6 +4715,60 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.3", ngImpor
|
|
|
4715
4715
|
type: Input
|
|
4716
4716
|
}] } });
|
|
4717
4717
|
|
|
4718
|
+
var StatusColType;
|
|
4719
|
+
(function (StatusColType) {
|
|
4720
|
+
StatusColType["LIST"] = "LIST";
|
|
4721
|
+
StatusColType["TAG"] = "TAG";
|
|
4722
|
+
StatusColType["STRING"] = "STRING";
|
|
4723
|
+
StatusColType["DATE"] = "DATE";
|
|
4724
|
+
StatusColType["PERSON"] = "PERSON";
|
|
4725
|
+
StatusColType["ACTION"] = "ACTION";
|
|
4726
|
+
StatusColType["OWNER"] = "OWNER";
|
|
4727
|
+
StatusColType["DATE_LIST"] = "DATE_LIST";
|
|
4728
|
+
StatusColType["TAG_AND_LIST"] = "TAG_AND_LIST";
|
|
4729
|
+
})(StatusColType || (StatusColType = {}));
|
|
4730
|
+
|
|
4731
|
+
class StatusBarComponent {
|
|
4732
|
+
statusBarConfig = {
|
|
4733
|
+
icon: '',
|
|
4734
|
+
description: [],
|
|
4735
|
+
attributes: [],
|
|
4736
|
+
};
|
|
4737
|
+
icon = 'pi pi-link';
|
|
4738
|
+
iconEnable = true;
|
|
4739
|
+
enableClosing = true;
|
|
4740
|
+
description = true;
|
|
4741
|
+
dateFormat = 'dd.MM.yyyy';
|
|
4742
|
+
onListItemClick = new EventEmitter();
|
|
4743
|
+
isCollapsed = false;
|
|
4744
|
+
StatusColType = StatusColType;
|
|
4745
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.3", ngImport: i0, type: StatusBarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
4746
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.3", type: StatusBarComponent, isStandalone: true, selector: "phoenix-status-bar", inputs: { statusBarConfig: "statusBarConfig", icon: "icon", iconEnable: "iconEnable", enableClosing: "enableClosing", description: "description", dateFormat: "dateFormat" }, outputs: { onListItemClick: "onListItemClick" }, ngImport: i0, template: "<div class=\"surface-0\">\n <div *ngIf=\"statusBarConfig\" class=\"status-bar-wrapper\" [ngClass]=\"{ collapsed: isCollapsed }\">\n <div class=\"description flex\" *ngIf=\"description\">\n <!-- Ikonica entiteta -->\n <div *ngIf=\"iconEnable\" class=\"mr-3 flex justify-content-center align-items-center\" style=\"width: 60px; height: 60px\">\n <p-image\n [src]=\"'assets/layout/images/object_types/white/' + (statusBarConfig.icon || 'UNDEFINED') + '.svg'\"\n width=\"40\"\n height=\"40\"\n ></p-image>\n </div>\n\n <!-- Deskriptivni podaci -->\n <ul>\n <li class=\"text-sm flex mb-1\" *ngFor=\"let item of statusBarConfig.description\">\n <span class=\"text-600 mr-1\">{{ item.label | translate }}:</span>\n <span *ngIf=\"item.value; else empty\">\n <i *ngIf=\"item.icon\" class=\"{{ item.icon }} mr-1\" style=\"font-size: 0.8em\"></i>\n <ng-container [ngSwitch]=\"item.type\">\n <span *ngSwitchCase=\"StatusColType.DATE\">\n {{ item.value | date: dateFormat }}\n </span>\n <span *ngSwitchDefault>\n {{ item.value }}\n </span>\n </ng-container>\n </span>\n </li>\n </ul>\n </div>\n\n <!-- Atributi -->\n <div class=\"flex flex-wrap gap-4 mt-3\" *ngIf=\"statusBarConfig.attributes?.length\">\n <div *ngFor=\"let attr of statusBarConfig.attributes\" class=\"attribute\">\n <div class=\"font-semibold\">{{ attr.label | translate }}</div>\n <div class=\"mt-1\">\n <ng-container [ngSwitch]=\"attr.type\">\n <span *ngSwitchCase=\"StatusColType.DATE\">{{ attr.value | date: dateFormat }}</span>\n <span *ngSwitchDefault>{{ attr.value || '--' }}</span>\n </ng-container>\n </div>\n </div>\n </div>\n </div>\n\n <!-- Collapse dugme -->\n <div class=\"flex justify-content-center mt-2\" *ngIf=\"enableClosing\">\n <button (click)=\"isCollapsed = !isCollapsed\" class=\"p-button p-button-text\">\n <i class=\"pi\" [ngClass]=\"isCollapsed ? 'pi-angle-down' : 'pi-angle-up'\"></i>\n </button>\n </div>\n</div>\n\n<ng-template #empty>\n <span>--</span>\n</ng-template>", styles: [".status-bar-wrapper{display:flex;padding:10px 10px 10px 0;overflow:hidden;transition:.4s cubic-bezier(.86,0,.07,1)}.description{flex-grow:1;min-width:300px;max-width:350px;margin-left:10px}.attribute{margin-left:10px;margin-right:10px;flex-grow:1;max-width:250px;min-width:150px}.attribute:last-child{margin-right:0}ul{list-style:none;padding:0;margin:0}.type-icon{background-color:#e94260;border-radius:3px}label{display:inline-block;margin-right:5px;margin-bottom:7px}.list{overflow:auto;height:57px}.list li{cursor:pointer;color:var(--blue-500)}.list li:hover{color:#e94260}.toggler{position:relative}.toggler button{border:1px solid var(--gray-300);background:none;border-radius:7px;padding:2px 7px 0;cursor:pointer}.toggler button .pi{padding:0!important;font-size:.8rem;color:var(--blue-500)}.toggler:after{content:\"\";display:block;height:1px;width:30px;background:linear-gradient(90deg,#cecece 10%,#fff);position:absolute;top:50%;left:27px}.toggler:before{content:\"\";display:block;height:1px;width:30px;background:linear-gradient(280deg,#cecece 10%,#fff);position:absolute;top:50%;left:-29px}.disableLinks{color:#77787b!important;cursor:not-allowed!important;opacity:.5;text-decoration:none}.collapsed{height:0px;padding:0;transition:.4s cubic-bezier(.86,0,.07,1)}.person-wrap{display:flex;align-items:center;padding:5px 5px 5px 0;width:150px}.person-wrap p{margin:0}.person-wrap .person-avatar{display:flex;justify-content:center;align-items:center;width:22px;height:22px;min-width:22px;min-height:22px;margin-right:5px;background-color:#e94260;color:#fff;border-radius:50%}.person-wrap .person-name :first-child{font-size:1.2rem}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1$1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i1$1.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "pipe", type: i1$1.DatePipe, name: "date" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i3$1.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: TooltipModule }, { kind: "ngmodule", type: ImageModule }, { kind: "component", type: i5$1.Image, selector: "p-image", inputs: ["imageClass", "imageStyle", "styleClass", "style", "src", "srcSet", "sizes", "previewImageSrc", "previewImageSrcSet", "previewImageSizes", "alt", "width", "height", "loading", "appendTo", "preview", "showTransitionOptions", "hideTransitionOptions"], outputs: ["onShow", "onHide", "onImageError"] }] });
|
|
4747
|
+
}
|
|
4748
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.3", ngImport: i0, type: StatusBarComponent, decorators: [{
|
|
4749
|
+
type: Component,
|
|
4750
|
+
args: [{ selector: 'phoenix-status-bar', standalone: true, imports: [
|
|
4751
|
+
CommonModule,
|
|
4752
|
+
TranslateModule,
|
|
4753
|
+
TooltipModule,
|
|
4754
|
+
ImageModule,
|
|
4755
|
+
], template: "<div class=\"surface-0\">\n <div *ngIf=\"statusBarConfig\" class=\"status-bar-wrapper\" [ngClass]=\"{ collapsed: isCollapsed }\">\n <div class=\"description flex\" *ngIf=\"description\">\n <!-- Ikonica entiteta -->\n <div *ngIf=\"iconEnable\" class=\"mr-3 flex justify-content-center align-items-center\" style=\"width: 60px; height: 60px\">\n <p-image\n [src]=\"'assets/layout/images/object_types/white/' + (statusBarConfig.icon || 'UNDEFINED') + '.svg'\"\n width=\"40\"\n height=\"40\"\n ></p-image>\n </div>\n\n <!-- Deskriptivni podaci -->\n <ul>\n <li class=\"text-sm flex mb-1\" *ngFor=\"let item of statusBarConfig.description\">\n <span class=\"text-600 mr-1\">{{ item.label | translate }}:</span>\n <span *ngIf=\"item.value; else empty\">\n <i *ngIf=\"item.icon\" class=\"{{ item.icon }} mr-1\" style=\"font-size: 0.8em\"></i>\n <ng-container [ngSwitch]=\"item.type\">\n <span *ngSwitchCase=\"StatusColType.DATE\">\n {{ item.value | date: dateFormat }}\n </span>\n <span *ngSwitchDefault>\n {{ item.value }}\n </span>\n </ng-container>\n </span>\n </li>\n </ul>\n </div>\n\n <!-- Atributi -->\n <div class=\"flex flex-wrap gap-4 mt-3\" *ngIf=\"statusBarConfig.attributes?.length\">\n <div *ngFor=\"let attr of statusBarConfig.attributes\" class=\"attribute\">\n <div class=\"font-semibold\">{{ attr.label | translate }}</div>\n <div class=\"mt-1\">\n <ng-container [ngSwitch]=\"attr.type\">\n <span *ngSwitchCase=\"StatusColType.DATE\">{{ attr.value | date: dateFormat }}</span>\n <span *ngSwitchDefault>{{ attr.value || '--' }}</span>\n </ng-container>\n </div>\n </div>\n </div>\n </div>\n\n <!-- Collapse dugme -->\n <div class=\"flex justify-content-center mt-2\" *ngIf=\"enableClosing\">\n <button (click)=\"isCollapsed = !isCollapsed\" class=\"p-button p-button-text\">\n <i class=\"pi\" [ngClass]=\"isCollapsed ? 'pi-angle-down' : 'pi-angle-up'\"></i>\n </button>\n </div>\n</div>\n\n<ng-template #empty>\n <span>--</span>\n</ng-template>", styles: [".status-bar-wrapper{display:flex;padding:10px 10px 10px 0;overflow:hidden;transition:.4s cubic-bezier(.86,0,.07,1)}.description{flex-grow:1;min-width:300px;max-width:350px;margin-left:10px}.attribute{margin-left:10px;margin-right:10px;flex-grow:1;max-width:250px;min-width:150px}.attribute:last-child{margin-right:0}ul{list-style:none;padding:0;margin:0}.type-icon{background-color:#e94260;border-radius:3px}label{display:inline-block;margin-right:5px;margin-bottom:7px}.list{overflow:auto;height:57px}.list li{cursor:pointer;color:var(--blue-500)}.list li:hover{color:#e94260}.toggler{position:relative}.toggler button{border:1px solid var(--gray-300);background:none;border-radius:7px;padding:2px 7px 0;cursor:pointer}.toggler button .pi{padding:0!important;font-size:.8rem;color:var(--blue-500)}.toggler:after{content:\"\";display:block;height:1px;width:30px;background:linear-gradient(90deg,#cecece 10%,#fff);position:absolute;top:50%;left:27px}.toggler:before{content:\"\";display:block;height:1px;width:30px;background:linear-gradient(280deg,#cecece 10%,#fff);position:absolute;top:50%;left:-29px}.disableLinks{color:#77787b!important;cursor:not-allowed!important;opacity:.5;text-decoration:none}.collapsed{height:0px;padding:0;transition:.4s cubic-bezier(.86,0,.07,1)}.person-wrap{display:flex;align-items:center;padding:5px 5px 5px 0;width:150px}.person-wrap p{margin:0}.person-wrap .person-avatar{display:flex;justify-content:center;align-items:center;width:22px;height:22px;min-width:22px;min-height:22px;margin-right:5px;background-color:#e94260;color:#fff;border-radius:50%}.person-wrap .person-name :first-child{font-size:1.2rem}\n"] }]
|
|
4756
|
+
}], propDecorators: { statusBarConfig: [{
|
|
4757
|
+
type: Input
|
|
4758
|
+
}], icon: [{
|
|
4759
|
+
type: Input
|
|
4760
|
+
}], iconEnable: [{
|
|
4761
|
+
type: Input
|
|
4762
|
+
}], enableClosing: [{
|
|
4763
|
+
type: Input
|
|
4764
|
+
}], description: [{
|
|
4765
|
+
type: Input
|
|
4766
|
+
}], dateFormat: [{
|
|
4767
|
+
type: Input
|
|
4768
|
+
}], onListItemClick: [{
|
|
4769
|
+
type: Output
|
|
4770
|
+
}] } });
|
|
4771
|
+
|
|
4718
4772
|
class QuickPickSidePanelComponent {
|
|
4719
4773
|
title = 'Default Title'; // Panel title
|
|
4720
4774
|
data = []; // Data for the table
|
|
@@ -4786,5 +4840,5 @@ var SimpleButtonType;
|
|
|
4786
4840
|
* Generated bundle index. Do not edit.
|
|
4787
4841
|
*/
|
|
4788
4842
|
|
|
4789
|
-
export { GroupsFormComponent, MetaFormButtonsComponent, MetaFormComponent, MetaFormService, PhoenixDataTableComponent, QuickPickComponent, QuickPickSidePanelComponent, SearchBarComponent, ShellComponent, SidebarComponent, SidebarItemComponent, SimpleButtonType, StatusHeaderComponent, TableComponent, TopbarComponent, UserComponent, tableActionType, tableButtonContext, tableButtonFormat, tableColumnType, tableFilterType, tableSelectionType };
|
|
4843
|
+
export { GroupsFormComponent, MetaFormButtonsComponent, MetaFormComponent, MetaFormService, PhoenixDataTableComponent, QuickPickComponent, QuickPickSidePanelComponent, SearchBarComponent, ShellComponent, SidebarComponent, SidebarItemComponent, SimpleButtonType, StatusBarComponent, StatusHeaderComponent, TableComponent, TopbarComponent, UserComponent, tableActionType, tableButtonContext, tableButtonFormat, tableColumnType, tableFilterType, tableSelectionType };
|
|
4790
4844
|
//# sourceMappingURL=fuentis-phoenix-ui.mjs.map
|