aril 0.0.6 → 0.0.7
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/aril-0.0.7.tgz +0 -0
- package/esm2022/http/lib/enums.mjs +2 -1
- package/esm2022/http/lib/interfaces.mjs +1 -1
- package/esm2022/http/src/httpClient.mjs +1 -1
- package/esm2022/http/src/serviceBase.mjs +5 -5
- package/esm2022/http/src/serviceStateMethods.mjs +5 -2
- package/esm2022/theme/layout/app/breadcrumb/app.breadcrumb.component.mjs +41 -0
- package/esm2022/theme/layout/app/config/app.config.component.mjs +134 -0
- package/esm2022/theme/layout/app/layout/app.layout.component.mjs +131 -0
- package/esm2022/theme/layout/app/menu/app.menu.component.mjs +399 -0
- package/esm2022/theme/layout/app/profileSidebar/app.profilesidebar.component.mjs +25 -0
- package/esm2022/theme/layout/app/sidebar/app.sidebar.component.mjs +41 -0
- package/esm2022/theme/layout/app/topbar/app.topbar.component.mjs +29 -0
- package/esm2022/theme/layout/aril-theme-layout.mjs +5 -0
- package/esm2022/theme/layout/index.mjs +2 -0
- package/esm2022/theme/layout/service/app.layout.service.mjs +132 -0
- package/esm2022/theme/layout/service/app.menu.service.mjs +27 -0
- package/esm2022/theme/layout/service/menuchangeevent.mjs +2 -0
- package/esm2022/ui/badge/src/badge.component.mjs +1 -1
- package/esm2022/ui/button/src/button.component.mjs +1 -1
- package/esm2022/ui/button/src/split-button.component.mjs +1 -1
- package/esm2022/ui/calendar/src/calendar.component.mjs +1 -1
- package/esm2022/ui/checkbox/src/check-box.component.mjs +3 -3
- package/esm2022/ui/checkbox/src/tri-state-checkbox.component.mjs +3 -3
- package/esm2022/ui/field/src/field.component.mjs +1 -1
- package/esm2022/ui/fileUpload/src/file-upload.component.mjs +1 -1
- package/esm2022/ui/form/index.mjs +20 -13
- package/esm2022/ui/form/src/form-submit-button.component.mjs +4 -3
- package/esm2022/ui/form/src/form.component.mjs +3 -3
- package/esm2022/ui/lib/src/form/form-error-message.component.mjs +1 -1
- package/esm2022/ui/lib/src/form/form-error-message.directive.mjs +1 -1
- package/esm2022/ui/lib/src/input/baseInput.mjs +1 -1
- package/esm2022/ui/lib/src/input/common-input-validators.service.mjs +1 -1
- package/esm2022/ui/lib/src/input/dx-input-error-message.pipe.mjs +1 -1
- package/esm2022/ui/mask/src/mask.component.mjs +3 -3
- package/esm2022/ui/number/src/number.component.mjs +2 -2
- package/esm2022/ui/overlayPanel/src/overlay-panel.component.mjs +1 -1
- package/esm2022/ui/panel/src/panel.component.mjs +2 -2
- package/esm2022/ui/password/src/password.component.mjs +1 -1
- package/esm2022/ui/radioButton/src/radio-button.component.mjs +1 -1
- package/esm2022/ui/selectBox/src/select-box.component.mjs +1 -1
- package/esm2022/ui/switch/src/switch.component.mjs +1 -1
- package/esm2022/ui/table/index.mjs +26 -17
- package/esm2022/ui/table/src/table-column.component.mjs +6 -4
- package/esm2022/ui/table/src/table.component.mjs +24 -42
- package/esm2022/ui/tagBox/src/tag-box.component.mjs +1 -1
- package/esm2022/ui/text/src/text.component.mjs +1 -1
- package/esm2022/ui/textArea/src/text-area.component.mjs +1 -1
- package/esm2022/ui/tree/src/tree.component.mjs +29 -45
- package/esm2022/ui/treeTable/src/tree-table.component.mjs +39 -43
- package/esm2022/ui/value/src/value.component.mjs +3 -3
- package/fesm2022/aril-http.mjs +7 -4
- package/fesm2022/aril-http.mjs.map +1 -1
- package/fesm2022/aril-theme-layout.mjs +918 -0
- package/fesm2022/aril-theme-layout.mjs.map +1 -0
- package/fesm2022/aril-ui-badge.mjs.map +1 -1
- package/fesm2022/aril-ui-button.mjs.map +1 -1
- package/fesm2022/aril-ui-calendar.mjs.map +1 -1
- package/fesm2022/aril-ui-checkbox.mjs +4 -4
- package/fesm2022/aril-ui-checkbox.mjs.map +1 -1
- package/fesm2022/aril-ui-field.mjs.map +1 -1
- package/fesm2022/aril-ui-fileUpload.mjs.map +1 -1
- package/fesm2022/aril-ui-form.mjs +22 -19
- package/fesm2022/aril-ui-form.mjs.map +1 -1
- package/fesm2022/aril-ui-lib.mjs.map +1 -1
- package/fesm2022/aril-ui-mask.mjs +3 -3
- package/fesm2022/aril-ui-mask.mjs.map +1 -1
- package/fesm2022/aril-ui-number.mjs +2 -2
- package/fesm2022/aril-ui-number.mjs.map +1 -1
- package/fesm2022/aril-ui-overlayPanel.mjs.map +1 -1
- package/fesm2022/aril-ui-panel.mjs.map +1 -1
- package/fesm2022/aril-ui-password.mjs.map +1 -1
- package/fesm2022/aril-ui-radioButton.mjs.map +1 -1
- package/fesm2022/aril-ui-selectBox.mjs.map +1 -1
- package/fesm2022/aril-ui-switch.mjs.map +1 -1
- package/fesm2022/aril-ui-table.mjs +45 -57
- package/fesm2022/aril-ui-table.mjs.map +1 -1
- package/fesm2022/aril-ui-tagBox.mjs.map +1 -1
- package/fesm2022/aril-ui-text.mjs.map +1 -1
- package/fesm2022/aril-ui-textArea.mjs.map +1 -1
- package/fesm2022/aril-ui-tree.mjs +28 -44
- package/fesm2022/aril-ui-tree.mjs.map +1 -1
- package/fesm2022/aril-ui-treeTable.mjs +38 -42
- package/fesm2022/aril-ui-treeTable.mjs.map +1 -1
- package/fesm2022/aril-ui-value.mjs +2 -2
- package/fesm2022/aril-ui-value.mjs.map +1 -1
- package/http/lib/enums.d.ts +1 -0
- package/http/lib/interfaces.d.ts +2 -0
- package/http/src/serviceStateMethods.d.ts +2 -1
- package/package.json +7 -1
- package/theme/layout/app/breadcrumb/app.breadcrumb.component.d.ts +16 -0
- package/theme/layout/app/breadcrumb/app.breadcrumb.component.html +10 -0
- package/theme/layout/app/breadcrumb/app.breadcrumb.component.ts +52 -0
- package/theme/layout/app/config/app.config.component.d.ts +36 -0
- package/theme/layout/app/config/app.config.component.html +191 -0
- package/theme/layout/app/config/app.config.component.ts +152 -0
- package/theme/layout/app/layout/app.layout.component.d.ts +51 -0
- package/theme/layout/app/layout/app.layout.component.html +13 -0
- package/theme/layout/app/layout/app.layout.component.ts +183 -0
- package/theme/layout/app/menu/app.menu.component.d.ts +44 -0
- package/theme/layout/app/menu/app.menu.component.html +9 -0
- package/theme/layout/app/menu/app.menu.component.ts +317 -0
- package/theme/layout/app/profileSidebar/app.profilesidebar.component.d.ts +10 -0
- package/theme/layout/app/profileSidebar/app.profilesidebar.component.html +165 -0
- package/theme/layout/app/profileSidebar/app.profilesidebar.component.ts +25 -0
- package/theme/layout/app/sidebar/app.sidebar.component.d.ts +15 -0
- package/theme/layout/app/sidebar/app.sidebar.component.html +67 -0
- package/theme/layout/app/sidebar/app.sidebar.component.ts +40 -0
- package/theme/layout/app/topbar/app.topbar.component.d.ts +13 -0
- package/theme/layout/app/topbar/app.topbar.component.html +41 -0
- package/theme/layout/app/topbar/app.topbar.component.ts +29 -0
- package/theme/layout/index.d.ts +1 -0
- package/theme/layout/index.ts +1 -0
- package/theme/layout/ng-package.json +6 -0
- package/theme/layout/service/app.layout.service.d.ts +51 -0
- package/theme/layout/service/app.layout.service.ts +197 -0
- package/theme/layout/service/app.menu.service.d.ts +14 -0
- package/theme/layout/service/app.menu.service.ts +28 -0
- package/theme/layout/service/menuchangeevent.d.ts +4 -0
- package/theme/layout/service/menuchangeevent.ts +4 -0
- package/ui/calendar/src/calendar.component.d.ts +1 -1
- package/ui/form/index.d.ts +9 -0
- package/ui/form/src/form-submit-button.component.d.ts +1 -1
- package/ui/form/src/form.component.d.ts +1 -1
- package/ui/table/index.d.ts +14 -0
- package/ui/table/src/table-column.component.d.ts +5 -4
- package/ui/table/src/table.component.d.ts +7 -15
- package/ui/tree/src/tree.component.d.ts +13 -18
- package/ui/treeTable/src/tree-table.component.d.ts +14 -18
|
@@ -1,61 +1,57 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { EventEmitter, Component, ChangeDetectionStrategy,
|
|
2
|
+
import { input, EventEmitter, Component, ChangeDetectionStrategy, Output, ContentChildren } from '@angular/core';
|
|
3
|
+
import { FormsModule } from '@angular/forms';
|
|
4
|
+
import { NgFor, NgForOf, NgTemplateOutlet } from '@angular/common';
|
|
3
5
|
import * as i1 from 'primeng/treetable';
|
|
4
6
|
import { TreeTableModule } from 'primeng/treetable';
|
|
7
|
+
import * as FileSaver from 'file-saver';
|
|
8
|
+
import { ButtonComponent } from 'aril/ui/button';
|
|
9
|
+
import { TextComponent } from 'aril/ui/text';
|
|
10
|
+
import { TableColumnComponent } from 'aril/ui/table';
|
|
5
11
|
import * as i2 from 'primeng/api';
|
|
6
12
|
|
|
7
13
|
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
14
|
+
const pageOptions = [10, 20, 50, 100];
|
|
8
15
|
class TreeTableComponent {
|
|
9
16
|
constructor() {
|
|
10
|
-
this.
|
|
11
|
-
this.
|
|
12
|
-
this.
|
|
13
|
-
this.
|
|
14
|
-
this.
|
|
15
|
-
this.
|
|
16
|
-
this.
|
|
17
|
-
this.
|
|
17
|
+
this.data = input.required();
|
|
18
|
+
this.checkboxSelection = input();
|
|
19
|
+
this.pageSize = input(10);
|
|
20
|
+
this.scrollable = input(false);
|
|
21
|
+
this.scrollHeight = input();
|
|
22
|
+
this.expandEvent = new EventEmitter();
|
|
23
|
+
this.selectionEvent = new EventEmitter();
|
|
24
|
+
this.pageOptions = pageOptions;
|
|
18
25
|
}
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
26
|
+
excelExport() {
|
|
27
|
+
import('xlsx').then((xlsx) => {
|
|
28
|
+
const worksheet = xlsx.utils.json_to_sheet(this.data());
|
|
29
|
+
const workbook = { Sheets: { data: worksheet }, SheetNames: ['data'] };
|
|
30
|
+
const excelBuffer = xlsx.write(workbook, { bookType: 'xlsx', type: 'array' });
|
|
31
|
+
this.saveAsExcelFile(excelBuffer, 'excel_worksheet');
|
|
32
|
+
});
|
|
22
33
|
}
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
34
|
+
saveAsExcelFile(buffer, fileName) {
|
|
35
|
+
const EXCEL_TYPE = 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=UTF-8';
|
|
36
|
+
const EXCEL_EXTENSION = '.xlsx';
|
|
37
|
+
const data = new Blob([buffer], {
|
|
38
|
+
type: EXCEL_TYPE
|
|
39
|
+
});
|
|
40
|
+
FileSaver.saveAs(data, fileName + '_export_' + new Date().getTime() + EXCEL_EXTENSION);
|
|
28
41
|
}
|
|
29
42
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: TreeTableComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
30
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.2", type: TreeTableComponent, isStandalone: true, selector: "aril-tree-table", inputs: {
|
|
43
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.2", type: TreeTableComponent, isStandalone: true, selector: "aril-tree-table", inputs: { data: { classPropertyName: "data", publicName: "data", isSignal: true, isRequired: true, transformFunction: null }, checkboxSelection: { classPropertyName: "checkboxSelection", publicName: "checkboxSelection", isSignal: true, isRequired: false, transformFunction: null }, pageSize: { classPropertyName: "pageSize", publicName: "pageSize", isSignal: true, isRequired: false, transformFunction: null }, scrollable: { classPropertyName: "scrollable", publicName: "scrollable", isSignal: true, isRequired: false, transformFunction: null }, scrollHeight: { classPropertyName: "scrollHeight", publicName: "scrollHeight", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { expandEvent: "expandEvent", selectionEvent: "selectionEvent" }, queries: [{ propertyName: "columns", predicate: TableColumnComponent }], ngImport: i0, template: "<p-treeTable\r\n\t#ref\r\n\t[value]=\"data()\"\r\n\t[columns]=\"columns._results\"\r\n\t[rows]=\"pageSize()\"\r\n\t[rowHover]=\"true\"\r\n\t[paginator]=\"true\"\r\n\t[rowsPerPageOptions]=\"pageOptions\"\r\n\t[filterDelay]=\"0\"\r\n\tsortMode=\"multiple\"\r\n\t[scrollable]=\"scrollable()\"\r\n\t[scrollHeight]=\"scrollHeight()\"\r\n\t[(selection)]=\"selectedNodes\"\r\n\t(onNodeExpand)=\"expandEvent.emit($event.node)\"\r\n\t(selectionChange)=\"selectionEvent.emit(selectedNodes)\"\r\n\t[showCurrentPageReport]=\"true\"\r\n\tcurrentPageReportTemplate=\"Toplam : {totalRecords} kay\u0131t | Sayfa : {currentPage} / {totalPages}\"\r\n\tstyleClass=\"p-treetable-gridlines p-treetable-striped p-treetable-sm\">\r\n\t<ng-template pTemplate=\"caption\">\r\n\t\t<div class=\"flex\">\r\n\t\t\t<aril-button\r\n\t\t\t\tsize=\"sm\"\r\n\t\t\t\ticon=\"FILE_EXCEL\"\r\n\t\t\t\tcolor=\"primary\"\r\n\t\t\t\tpTooltip=\"XLS\"\r\n\t\t\t\ttooltipPosition=\"top\"\r\n\t\t\t\t(clickEvent)=\"excelExport()\">\r\n\t\t\t</aril-button>\r\n\t\t\t<!-- <span class=\"p-input-icon-left ml-auto\">\r\n\t\t\t\t<aril-text\r\n\t\t\t\t\ticon=\"SEARCH\"\r\n\t\t\t\t\ticonPos=\"left\"\r\n\t\t\t\t\tplaceholder=\"Arama\"\r\n\t\t\t\t\t[ngModel]=\"filterText\"\r\n\t\t\t\t\t(ngModelChange)=\"ref.filterGlobal($event, 'contains')\">\r\n\t\t\t\t</aril-text>\r\n\t\t\t</span> -->\r\n\t\t</div>\r\n\t</ng-template>\r\n\t<ng-template pTemplate=\"header\" let-columns>\r\n\t\t<tr>\r\n\t\t\t@if (checkboxSelection()) {\r\n\t\t\t\t<th>\r\n\t\t\t\t\t<p-treeTableHeaderCheckbox></p-treeTableHeaderCheckbox>\r\n\t\t\t\t</th>\r\n\t\t\t}\r\n\t\t\t@for (column of columns; track $index) {\r\n\t\t\t\t@if (column.isOperation) {\r\n\t\t\t\t\t<th>\r\n\t\t\t\t\t\t<div class=\"flex justify-content-center\">Operations</div>\r\n\t\t\t\t\t</th>\r\n\t\t\t\t} @else {\r\n\t\t\t\t\t<th [ttSortableColumn]=\"column.field\">\r\n\t\t\t\t\t\t<div class=\"flex justify-content-between align-items-center\">\r\n\t\t\t\t\t\t\t{{ column.header }}\r\n\t\t\t\t\t\t\t<!-- <p-treeTableSortIcon [field]=\"column.field\"></p-treeTableSortIcon> -->\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</th>\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t</tr>\r\n\t</ng-template>\r\n\t<ng-template\r\n\t\tpTemplate=\"body\"\r\n\t\tlet-rowNode\r\n\t\tlet-rowData=\"rowData\"\r\n\t\tlet-columns=\"columns\">\r\n\t\t<tr [ttRow]=\"rowNode\">\r\n\t\t\t@if (checkboxSelection()) {\r\n\t\t\t\t<td>\r\n\t\t\t\t\t<p-treeTableCheckbox [value]=\"rowNode\"></p-treeTableCheckbox>\r\n\t\t\t\t</td>\r\n\t\t\t}\r\n\t\t\t@for (column of columns; track $index) {\r\n\t\t\t\t<td>\r\n\t\t\t\t\t@if ($first) {\r\n\t\t\t\t\t\t<p-treeTableToggler [rowNode]=\"rowNode\"></p-treeTableToggler>\r\n\t\t\t\t\t}\r\n\t\t\t\t\t<ng-template\r\n\t\t\t\t\t\tngFor\r\n\t\t\t\t\t\t[ngForOf]=\"[rowNode.node]\"\r\n\t\t\t\t\t\t[ngForTemplate]=\"column.template\">\r\n\t\t\t\t\t</ng-template>\r\n\t\t\t\t</td>\r\n\t\t\t}\r\n\t\t</tr>\r\n\t</ng-template>\r\n\t<ng-template pTemplate=\"summary\">\r\n\t\t<ng-content select=\"[footer]\"></ng-content>\r\n\t</ng-template>\r\n\t<ng-template pTemplate=\"emptymessage\">\r\n\t\t<tr>\r\n\t\t\t<td [attr.colspan]=\"columns._results.length\">No Data Found</td>\r\n\t\t</tr>\r\n\t</ng-template>\r\n</p-treeTable>\r\n", dependencies: [{ kind: "ngmodule", type: TreeTableModule }, { kind: "component", type: i1.TreeTable, selector: "p-treeTable", inputs: ["columns", "style", "styleClass", "tableStyle", "tableStyleClass", "autoLayout", "lazy", "lazyLoadOnInit", "paginator", "rows", "first", "pageLinks", "rowsPerPageOptions", "alwaysShowPaginator", "paginatorPosition", "paginatorStyleClass", "paginatorDropdownAppendTo", "currentPageReportTemplate", "showCurrentPageReport", "showJumpToPageDropdown", "showFirstLastIcon", "showPageLinks", "defaultSortOrder", "sortMode", "resetPageOnSort", "customSort", "selectionMode", "contextMenuSelection", "contextMenuSelectionMode", "dataKey", "metaKeySelection", "compareSelectionBy", "rowHover", "loading", "loadingIcon", "showLoader", "scrollable", "scrollHeight", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "virtualScrollDelay", "frozenWidth", "frozenColumns", "resizableColumns", "columnResizeMode", "reorderableColumns", "contextMenu", "rowTrackBy", "filters", "globalFilterFields", "filterDelay", "filterMode", "filterLocale", "paginatorLocale", "totalRecords", "sortField", "sortOrder", "multiSortMeta", "selection", "value", "virtualRowHeight"], outputs: ["selectionChange", "contextMenuSelectionChange", "onFilter", "onNodeExpand", "onNodeCollapse", "onPage", "onSort", "onLazyLoad", "sortFunction", "onColResize", "onColReorder", "onNodeSelect", "onNodeUnselect", "onContextMenuSelect", "onHeaderCheckboxToggle", "onEditInit", "onEditComplete", "onEditCancel"] }, { kind: "directive", type: i2.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "component", type: i1.TreeTableToggler, selector: "p-treeTableToggler", inputs: ["rowNode"] }, { kind: "directive", type: i1.TTSortableColumn, selector: "[ttSortableColumn]", inputs: ["ttSortableColumn", "ttSortableColumnDisabled"] }, { kind: "directive", type: i1.TTRow, selector: "[ttRow]", inputs: ["ttRow"] }, { kind: "component", type: i1.TTCheckbox, selector: "p-treeTableCheckbox", inputs: ["disabled", "value"] }, { kind: "component", type: i1.TTHeaderCheckbox, selector: "p-treeTableHeaderCheckbox" }, { kind: "component", type: ButtonComponent, selector: "aril-button:not([click])", inputs: ["label", "loading", "disabled", "raised", "outlined", "badge", "size", "icon", "color"], outputs: ["clickEvent"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
31
44
|
}
|
|
32
45
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: TreeTableComponent, decorators: [{
|
|
33
46
|
type: Component,
|
|
34
|
-
args: [{ standalone: true, selector: 'aril-tree-table', imports: [TreeTableModule], changeDetection: ChangeDetectionStrategy.OnPush, template: "
|
|
35
|
-
}], propDecorators: {
|
|
36
|
-
type:
|
|
37
|
-
|
|
38
|
-
}], columns: [{
|
|
39
|
-
type: Input,
|
|
40
|
-
args: [{ required: true }]
|
|
41
|
-
}], rows: [{
|
|
42
|
-
type: Input
|
|
43
|
-
}], rowsPerPageOptions: [{
|
|
44
|
-
type: Input
|
|
45
|
-
}], scrollable: [{
|
|
46
|
-
type: Input
|
|
47
|
-
}], scrollHeight: [{
|
|
48
|
-
type: Input
|
|
49
|
-
}], loading: [{
|
|
50
|
-
type: Input
|
|
51
|
-
}], sortMode: [{
|
|
52
|
-
type: Input
|
|
53
|
-
}], filterMode: [{
|
|
54
|
-
type: Input
|
|
55
|
-
}], selectionMode: [{
|
|
56
|
-
type: Input
|
|
57
|
-
}], selectEvent: [{
|
|
47
|
+
args: [{ standalone: true, selector: 'aril-tree-table', imports: [TreeTableModule, ButtonComponent, TextComponent, FormsModule, NgFor, NgForOf, NgTemplateOutlet], changeDetection: ChangeDetectionStrategy.OnPush, template: "<p-treeTable\r\n\t#ref\r\n\t[value]=\"data()\"\r\n\t[columns]=\"columns._results\"\r\n\t[rows]=\"pageSize()\"\r\n\t[rowHover]=\"true\"\r\n\t[paginator]=\"true\"\r\n\t[rowsPerPageOptions]=\"pageOptions\"\r\n\t[filterDelay]=\"0\"\r\n\tsortMode=\"multiple\"\r\n\t[scrollable]=\"scrollable()\"\r\n\t[scrollHeight]=\"scrollHeight()\"\r\n\t[(selection)]=\"selectedNodes\"\r\n\t(onNodeExpand)=\"expandEvent.emit($event.node)\"\r\n\t(selectionChange)=\"selectionEvent.emit(selectedNodes)\"\r\n\t[showCurrentPageReport]=\"true\"\r\n\tcurrentPageReportTemplate=\"Toplam : {totalRecords} kay\u0131t | Sayfa : {currentPage} / {totalPages}\"\r\n\tstyleClass=\"p-treetable-gridlines p-treetable-striped p-treetable-sm\">\r\n\t<ng-template pTemplate=\"caption\">\r\n\t\t<div class=\"flex\">\r\n\t\t\t<aril-button\r\n\t\t\t\tsize=\"sm\"\r\n\t\t\t\ticon=\"FILE_EXCEL\"\r\n\t\t\t\tcolor=\"primary\"\r\n\t\t\t\tpTooltip=\"XLS\"\r\n\t\t\t\ttooltipPosition=\"top\"\r\n\t\t\t\t(clickEvent)=\"excelExport()\">\r\n\t\t\t</aril-button>\r\n\t\t\t<!-- <span class=\"p-input-icon-left ml-auto\">\r\n\t\t\t\t<aril-text\r\n\t\t\t\t\ticon=\"SEARCH\"\r\n\t\t\t\t\ticonPos=\"left\"\r\n\t\t\t\t\tplaceholder=\"Arama\"\r\n\t\t\t\t\t[ngModel]=\"filterText\"\r\n\t\t\t\t\t(ngModelChange)=\"ref.filterGlobal($event, 'contains')\">\r\n\t\t\t\t</aril-text>\r\n\t\t\t</span> -->\r\n\t\t</div>\r\n\t</ng-template>\r\n\t<ng-template pTemplate=\"header\" let-columns>\r\n\t\t<tr>\r\n\t\t\t@if (checkboxSelection()) {\r\n\t\t\t\t<th>\r\n\t\t\t\t\t<p-treeTableHeaderCheckbox></p-treeTableHeaderCheckbox>\r\n\t\t\t\t</th>\r\n\t\t\t}\r\n\t\t\t@for (column of columns; track $index) {\r\n\t\t\t\t@if (column.isOperation) {\r\n\t\t\t\t\t<th>\r\n\t\t\t\t\t\t<div class=\"flex justify-content-center\">Operations</div>\r\n\t\t\t\t\t</th>\r\n\t\t\t\t} @else {\r\n\t\t\t\t\t<th [ttSortableColumn]=\"column.field\">\r\n\t\t\t\t\t\t<div class=\"flex justify-content-between align-items-center\">\r\n\t\t\t\t\t\t\t{{ column.header }}\r\n\t\t\t\t\t\t\t<!-- <p-treeTableSortIcon [field]=\"column.field\"></p-treeTableSortIcon> -->\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</th>\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t</tr>\r\n\t</ng-template>\r\n\t<ng-template\r\n\t\tpTemplate=\"body\"\r\n\t\tlet-rowNode\r\n\t\tlet-rowData=\"rowData\"\r\n\t\tlet-columns=\"columns\">\r\n\t\t<tr [ttRow]=\"rowNode\">\r\n\t\t\t@if (checkboxSelection()) {\r\n\t\t\t\t<td>\r\n\t\t\t\t\t<p-treeTableCheckbox [value]=\"rowNode\"></p-treeTableCheckbox>\r\n\t\t\t\t</td>\r\n\t\t\t}\r\n\t\t\t@for (column of columns; track $index) {\r\n\t\t\t\t<td>\r\n\t\t\t\t\t@if ($first) {\r\n\t\t\t\t\t\t<p-treeTableToggler [rowNode]=\"rowNode\"></p-treeTableToggler>\r\n\t\t\t\t\t}\r\n\t\t\t\t\t<ng-template\r\n\t\t\t\t\t\tngFor\r\n\t\t\t\t\t\t[ngForOf]=\"[rowNode.node]\"\r\n\t\t\t\t\t\t[ngForTemplate]=\"column.template\">\r\n\t\t\t\t\t</ng-template>\r\n\t\t\t\t</td>\r\n\t\t\t}\r\n\t\t</tr>\r\n\t</ng-template>\r\n\t<ng-template pTemplate=\"summary\">\r\n\t\t<ng-content select=\"[footer]\"></ng-content>\r\n\t</ng-template>\r\n\t<ng-template pTemplate=\"emptymessage\">\r\n\t\t<tr>\r\n\t\t\t<td [attr.colspan]=\"columns._results.length\">No Data Found</td>\r\n\t\t</tr>\r\n\t</ng-template>\r\n</p-treeTable>\r\n" }]
|
|
48
|
+
}], propDecorators: { expandEvent: [{
|
|
49
|
+
type: Output
|
|
50
|
+
}], selectionEvent: [{
|
|
58
51
|
type: Output
|
|
52
|
+
}], columns: [{
|
|
53
|
+
type: ContentChildren,
|
|
54
|
+
args: [TableColumnComponent]
|
|
59
55
|
}] } });
|
|
60
56
|
|
|
61
57
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aril-ui-treeTable.mjs","sources":["../../projects/aril/ui/treeTable/src/tree-table.component.ts","../../projects/aril/ui/treeTable/src/tree-table.component.html","../../projects/aril/ui/treeTable/aril-ui-treeTable.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\r\n\r\nimport { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport { TreeNode, TreeTableNode } from 'primeng/api';\r\nimport { TreeTableModule } from 'primeng/treetable';\r\n\r\n/* TODO : \r\n 1. InputSignal\r\n 2. ContentProjection\r\n 3. ContextMenu ?\r\n*/\r\n\r\ntype SortMode = 'single' | 'multiple';\r\ntype FilterMode = 'lenient' | 'strict';\r\ntype SelectionModes = 'single' | 'multiple' | 'checkbox';\r\n\r\n@Component({\r\n standalone: true,\r\n selector: 'aril-tree-table',\r\n templateUrl: './tree-table.component.html',\r\n styles: [`\r\n :host ::ng-deep .p-icon-wrapper {\r\n display: inline-block !important;\r\n }`\r\n ],\r\n imports: [TreeTableModule],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class TreeTableComponent {\r\n @Input({ required: true }) items!: TreeNode[];\r\n @Input({ required: true }) columns!: Array<object>;\r\n @Input() rows = 10;\r\n @Input() rowsPerPageOptions = [10, 20, 50, 100];\r\n @Input() scrollable = false;\r\n @Input() scrollHeight!: string;\r\n @Input() loading = false;\r\n @Input() sortMode: SortMode = \"single\";\r\n @Input() filterMode: FilterMode = \"lenient\";\r\n @Input() selectionMode: SelectionModes = \"single\";\r\n\r\n @Output() selectEvent: EventEmitter<any> = new EventEmitter();\r\n\r\n selectedNodes!: TreeTableNode<any> | TreeTableNode<any>[] | null;\r\n\r\n getFilterTargetValue(event: Event) {\r\n const inputElement = event.target as HTMLInputElement;\r\n return inputElement.value;\r\n }\r\n\r\n emitSelectedRows() {\r\n if (!this.selectedNodes) return;\r\n\r\n this.selectEvent.emit(this.selectedNodes);\r\n this.selectedNodes = null;\r\n }\r\n}\r\n","@if (items && columns) {\r\n\t<p-treeTable\r\n\t\t#ref\r\n\t\t[value]=\"items\"\r\n\t\t[columns]=\"columns\"\r\n\t\t[rows]=\"rows\"\r\n\t\t[paginator]=\"true\"\r\n\t\t[rowsPerPageOptions]=\"rowsPerPageOptions\"\r\n\t\t[scrollable]=\"scrollable\"\r\n\t\t[scrollHeight]=\"scrollHeight\"\r\n\t\t[sortMode]=\"sortMode\"\r\n\t\t[filterMode]=\"filterMode\"\r\n\t\t[loading]=\"loading\"\r\n\t\t[selectionMode]=\"selectionMode\"\r\n\t\t[(selection)]=\"selectedNodes\"\r\n\t\tstyleClass=\"p-treetable-sm\">\r\n\t\t<ng-template pTemplate=\"caption\">\r\n\t\t\t<div class=\"flex justify-content-between align-items-center\">\r\n\t\t\t\t<div class=\"flex\">\r\n\t\t\t\t\t<p-treeTableHeaderCheckbox></p-treeTableHeaderCheckbox>\r\n\t\t\t\t\t<span class=\"ml-2\">Tümünü seç</span>\r\n\t\t\t\t</div>\r\n\t\t\t\t<div class=\"p-input-icon-left\">\r\n\t\t\t\t\t<i class=\"pi pi-search\"></i>\r\n\t\t\t\t\t<input\r\n\t\t\t\t\t\ttype=\"text\"\r\n\t\t\t\t\t\tpInputText\r\n\t\t\t\t\t\tplaceholder=\"Arama\"\r\n\t\t\t\t\t\t(input)=\"\r\n\t\t\t\t\t\t\tref.filterGlobal(getFilterTargetValue($event), 'contains')\r\n\t\t\t\t\t\t\" />\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</ng-template>\r\n\t\t<ng-template pTemplate=\"header\" let-columns>\r\n\t\t\t<tr>\r\n\t\t\t\t@for (col of columns; track col) {\r\n\t\t\t\t\t<th [ttSortableColumn]=\"col.field\">\r\n\t\t\t\t\t\t<span>{{ col.header }}</span>\r\n\t\t\t\t\t\t<p-treeTableSortIcon [field]=\"col.field\"></p-treeTableSortIcon>\r\n\t\t\t\t\t</th>\r\n\t\t\t\t}\r\n\t\t\t</tr>\r\n\t\t</ng-template>\r\n\t\t<ng-template\r\n\t\t\tpTemplate=\"body\"\r\n\t\t\tlet-rowNode\r\n\t\t\tlet-rowData=\"rowData\"\r\n\t\t\tlet-columns=\"columns\">\r\n\t\t\t<tr [ttRow]=\"rowNode\">\r\n\t\t\t\t@for (col of columns; track col; let first = $first) {\r\n\t\t\t\t\t<td>\r\n\t\t\t\t\t\t@if (first) {\r\n\t\t\t\t\t\t\t<p-treeTableToggler [rowNode]=\"rowNode\"></p-treeTableToggler>\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\t@if (first) {\r\n\t\t\t\t\t\t\t<p-treeTableCheckbox [value]=\"rowNode\"></p-treeTableCheckbox>\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\t{{ rowData[col.field] }}\r\n\t\t\t\t\t</td>\r\n\t\t\t\t}\r\n\t\t\t</tr>\r\n\t\t</ng-template>\r\n\t\t<ng-template pTemplate=\"summary\">\r\n\t\t\t<div class=\"flex justify-content-end\">\r\n\t\t\t\t<div [attr.role]=\"'none'\" (click)=\"emitSelectedRows()\">\r\n\t\t\t\t\t<ng-content select=\"[exportBtn]\"></ng-content>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</ng-template>\r\n\t\t<ng-template pTemplate=\"emptymessage\">\r\n\t\t\t<tr>\r\n\t\t\t\t<td [attr.colspan]=\"columns.length\">Veri bulunamadı..</td>\r\n\t\t\t</tr>\r\n\t\t</ng-template>\r\n\t</p-treeTable>\r\n}\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":"aril-ui-treeTable.mjs","sources":["../../projects/aril/ui/treeTable/src/tree-table.component.ts","../../projects/aril/ui/treeTable/src/tree-table.component.html","../../projects/aril/ui/treeTable/aril-ui-treeTable.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\r\n\r\nimport { ChangeDetectionStrategy, Component, ContentChildren, EventEmitter, input, Output } from '@angular/core';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { NgFor, NgForOf, NgTemplateOutlet } from '@angular/common';\r\nimport { TreeNode, TreeTableNode } from 'primeng/api';\r\nimport { TreeTableModule } from 'primeng/treetable';\r\nimport * as FileSaver from 'file-saver';\r\nimport { ButtonComponent } from 'aril/ui/button';\r\nimport { TextComponent } from 'aril/ui/text';\r\nimport { TableColumnComponent, TableColumns } from 'aril/ui/table';\r\n\r\nconst pageOptions = [10, 20, 50, 100];\r\n\r\n@Component({\r\n standalone: true,\r\n selector: 'aril-tree-table',\r\n templateUrl: './tree-table.component.html',\r\n imports: [TreeTableModule, ButtonComponent, TextComponent, FormsModule, NgFor, NgForOf, NgTemplateOutlet],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class TreeTableComponent {\r\n data = input.required<TreeNode[]>();\r\n checkboxSelection = input<boolean>();\r\n pageSize = input<typeof pageOptions[number]>(10);\r\n scrollable = input<boolean>(false);\r\n scrollHeight = input<string>();\r\n\r\n @Output() expandEvent: EventEmitter<unknown> = new EventEmitter();\r\n @Output() selectionEvent: EventEmitter<any> = new EventEmitter<any>();\r\n\r\n @ContentChildren(TableColumnComponent) columns!: TableColumns;\r\n\r\n filterText!: string;\r\n pageOptions = pageOptions;\r\n selectedNodes!: TreeTableNode<any> | TreeTableNode<any>[] | null;\r\n\r\n excelExport() {\r\n import('xlsx').then((xlsx) => {\r\n const worksheet = xlsx.utils.json_to_sheet(this.data());\r\n const workbook = { Sheets: { data: worksheet }, SheetNames: ['data'] };\r\n const excelBuffer: any = xlsx.write(workbook, { bookType: 'xlsx', type: 'array' });\r\n this.saveAsExcelFile(excelBuffer, 'excel_worksheet');\r\n });\r\n }\r\n\r\n saveAsExcelFile(buffer: any, fileName: string): void {\r\n const EXCEL_TYPE = 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=UTF-8';\r\n const EXCEL_EXTENSION = '.xlsx';\r\n const data: Blob = new Blob([buffer], {\r\n type: EXCEL_TYPE\r\n });\r\n FileSaver.saveAs(data, fileName + '_export_' + new Date().getTime() + EXCEL_EXTENSION);\r\n }\r\n}\r\n","<p-treeTable\r\n\t#ref\r\n\t[value]=\"data()\"\r\n\t[columns]=\"columns._results\"\r\n\t[rows]=\"pageSize()\"\r\n\t[rowHover]=\"true\"\r\n\t[paginator]=\"true\"\r\n\t[rowsPerPageOptions]=\"pageOptions\"\r\n\t[filterDelay]=\"0\"\r\n\tsortMode=\"multiple\"\r\n\t[scrollable]=\"scrollable()\"\r\n\t[scrollHeight]=\"scrollHeight()\"\r\n\t[(selection)]=\"selectedNodes\"\r\n\t(onNodeExpand)=\"expandEvent.emit($event.node)\"\r\n\t(selectionChange)=\"selectionEvent.emit(selectedNodes)\"\r\n\t[showCurrentPageReport]=\"true\"\r\n\tcurrentPageReportTemplate=\"Toplam : {totalRecords} kayıt | Sayfa : {currentPage} / {totalPages}\"\r\n\tstyleClass=\"p-treetable-gridlines p-treetable-striped p-treetable-sm\">\r\n\t<ng-template pTemplate=\"caption\">\r\n\t\t<div class=\"flex\">\r\n\t\t\t<aril-button\r\n\t\t\t\tsize=\"sm\"\r\n\t\t\t\ticon=\"FILE_EXCEL\"\r\n\t\t\t\tcolor=\"primary\"\r\n\t\t\t\tpTooltip=\"XLS\"\r\n\t\t\t\ttooltipPosition=\"top\"\r\n\t\t\t\t(clickEvent)=\"excelExport()\">\r\n\t\t\t</aril-button>\r\n\t\t\t<!-- <span class=\"p-input-icon-left ml-auto\">\r\n\t\t\t\t<aril-text\r\n\t\t\t\t\ticon=\"SEARCH\"\r\n\t\t\t\t\ticonPos=\"left\"\r\n\t\t\t\t\tplaceholder=\"Arama\"\r\n\t\t\t\t\t[ngModel]=\"filterText\"\r\n\t\t\t\t\t(ngModelChange)=\"ref.filterGlobal($event, 'contains')\">\r\n\t\t\t\t</aril-text>\r\n\t\t\t</span> -->\r\n\t\t</div>\r\n\t</ng-template>\r\n\t<ng-template pTemplate=\"header\" let-columns>\r\n\t\t<tr>\r\n\t\t\t@if (checkboxSelection()) {\r\n\t\t\t\t<th>\r\n\t\t\t\t\t<p-treeTableHeaderCheckbox></p-treeTableHeaderCheckbox>\r\n\t\t\t\t</th>\r\n\t\t\t}\r\n\t\t\t@for (column of columns; track $index) {\r\n\t\t\t\t@if (column.isOperation) {\r\n\t\t\t\t\t<th>\r\n\t\t\t\t\t\t<div class=\"flex justify-content-center\">Operations</div>\r\n\t\t\t\t\t</th>\r\n\t\t\t\t} @else {\r\n\t\t\t\t\t<th [ttSortableColumn]=\"column.field\">\r\n\t\t\t\t\t\t<div class=\"flex justify-content-between align-items-center\">\r\n\t\t\t\t\t\t\t{{ column.header }}\r\n\t\t\t\t\t\t\t<!-- <p-treeTableSortIcon [field]=\"column.field\"></p-treeTableSortIcon> -->\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</th>\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t</tr>\r\n\t</ng-template>\r\n\t<ng-template\r\n\t\tpTemplate=\"body\"\r\n\t\tlet-rowNode\r\n\t\tlet-rowData=\"rowData\"\r\n\t\tlet-columns=\"columns\">\r\n\t\t<tr [ttRow]=\"rowNode\">\r\n\t\t\t@if (checkboxSelection()) {\r\n\t\t\t\t<td>\r\n\t\t\t\t\t<p-treeTableCheckbox [value]=\"rowNode\"></p-treeTableCheckbox>\r\n\t\t\t\t</td>\r\n\t\t\t}\r\n\t\t\t@for (column of columns; track $index) {\r\n\t\t\t\t<td>\r\n\t\t\t\t\t@if ($first) {\r\n\t\t\t\t\t\t<p-treeTableToggler [rowNode]=\"rowNode\"></p-treeTableToggler>\r\n\t\t\t\t\t}\r\n\t\t\t\t\t<ng-template\r\n\t\t\t\t\t\tngFor\r\n\t\t\t\t\t\t[ngForOf]=\"[rowNode.node]\"\r\n\t\t\t\t\t\t[ngForTemplate]=\"column.template\">\r\n\t\t\t\t\t</ng-template>\r\n\t\t\t\t</td>\r\n\t\t\t}\r\n\t\t</tr>\r\n\t</ng-template>\r\n\t<ng-template pTemplate=\"summary\">\r\n\t\t<ng-content select=\"[footer]\"></ng-content>\r\n\t</ng-template>\r\n\t<ng-template pTemplate=\"emptymessage\">\r\n\t\t<tr>\r\n\t\t\t<td [attr.colspan]=\"columns._results.length\">No Data Found</td>\r\n\t\t</tr>\r\n\t</ng-template>\r\n</p-treeTable>\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -34,11 +34,11 @@ class ValueComponent {
|
|
|
34
34
|
}
|
|
35
35
|
}
|
|
36
36
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: ValueComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
37
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.2", type: ValueComponent, isStandalone: true, selector: "aril-value", inputs: { model: "model", type: "type", format: "format", color: "color" }, usesOnChanges: true, ngImport: i0, template: "@if (model == undefined || model == null) {\n\t<
|
|
37
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.2", type: ValueComponent, isStandalone: true, selector: "aril-value", inputs: { model: "model", type: "type", format: "format", color: "color" }, usesOnChanges: true, ngImport: i0, template: "@if (model == undefined || model == null) {\n\t<i class=\"pi pi-minus\" style=\"color: red\" pTooltip=\"No item to show\"></i>\n} @else {\n\t@if (type == 'bool') {\n\t\t@if (!!model) {\n\t\t\t<i class=\"pi pi-check\" style=\"color: green\"></i>\n\t\t} @else {\n\t\t\t<i class=\"pi pi-times\" style=\"color: crimson\"></i>\n\t\t}\n\t} @else {\n\t\t@if (display == undefined) {\n\t\t\t<i\n\t\t\t\tclass=\"pi pi-exclamation-circle\"\n\t\t\t\tstyle=\"color: red\"\n\t\t\t\tpTooltip=\"Invalid Data\">\n\t\t\t</i>\n\t\t} @else {\n\t\t\t<span [style.color]=\"color\">\n\t\t\t\t{{ display }}\n\t\t\t</span>\n\t\t}\n\t}\n}\n", changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
38
38
|
}
|
|
39
39
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: ValueComponent, decorators: [{
|
|
40
40
|
type: Component,
|
|
41
|
-
args: [{ standalone: true, selector: 'aril-value', changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (model == undefined || model == null) {\n\t<
|
|
41
|
+
args: [{ standalone: true, selector: 'aril-value', changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (model == undefined || model == null) {\n\t<i class=\"pi pi-minus\" style=\"color: red\" pTooltip=\"No item to show\"></i>\n} @else {\n\t@if (type == 'bool') {\n\t\t@if (!!model) {\n\t\t\t<i class=\"pi pi-check\" style=\"color: green\"></i>\n\t\t} @else {\n\t\t\t<i class=\"pi pi-times\" style=\"color: crimson\"></i>\n\t\t}\n\t} @else {\n\t\t@if (display == undefined) {\n\t\t\t<i\n\t\t\t\tclass=\"pi pi-exclamation-circle\"\n\t\t\t\tstyle=\"color: red\"\n\t\t\t\tpTooltip=\"Invalid Data\">\n\t\t\t</i>\n\t\t} @else {\n\t\t\t<span [style.color]=\"color\">\n\t\t\t\t{{ display }}\n\t\t\t</span>\n\t\t}\n\t}\n}\n" }]
|
|
42
42
|
}], propDecorators: { model: [{
|
|
43
43
|
type: Input,
|
|
44
44
|
args: [{ required: true }]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aril-ui-value.mjs","sources":["../../projects/aril/ui/value/src/value.component.ts","../../projects/aril/ui/value/src/value.component.html","../../projects/aril/ui/value/aril-ui-value.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, Input, OnChanges } from '@angular/core';\r\nimport \"aril/util/primitive-extensions\";\r\n\r\n/* TODO : \r\n 1. InputSignal\r\n*/\r\n\r\n/* number-format.js */\r\ndeclare const format: Function;\r\n\r\ntype ValueTypes = 'text' | 'number' | 'bool' | 'decimal' | 'date' | 'password';\r\n\r\n@Component({\r\n standalone: true,\r\n selector: 'aril-value',\r\n templateUrl: './value.component.html',\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class ValueComponent implements OnChanges {\r\n\r\n @Input({ required: true }) model!: string | number | boolean;\r\n @Input() type: ValueTypes = \"text\";\r\n @Input() format!: string;\r\n @Input() color: string = \"#333\";\r\n\r\n display = \"\";\r\n\r\n ngOnChanges(changes: any) {\r\n switch (this.type) {\r\n case \"text\":\r\n this.display = this.model as string;\r\n break;\r\n case \"number\":\r\n this.format = this.format || '0.###';\r\n this.display = format(this.format, this.model);\r\n break;\r\n case \"decimal\":\r\n this.format = this.format || '#.##0,###';\r\n this.display = format(this.format, this.model);\r\n break;\r\n case \"date\":\r\n this.format = this.format || 'time';\r\n this.display = (<number>this.model).longToString(this.format) as string;\r\n break;\r\n case \"password\":\r\n this.display = (<string>this.model).replace(/./g, \"*\");\r\n break;\r\n default:\r\n console.error(\"Invalid type: '\" + this.type + \"'\");\r\n break;\r\n }\r\n }\r\n}\r\n","@if (model == undefined || model == null) {\n\t<
|
|
1
|
+
{"version":3,"file":"aril-ui-value.mjs","sources":["../../projects/aril/ui/value/src/value.component.ts","../../projects/aril/ui/value/src/value.component.html","../../projects/aril/ui/value/aril-ui-value.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, Input, OnChanges } from '@angular/core';\r\n\r\nimport \"aril/util/primitive-extensions\";\r\n\r\n/* TODO : \r\n 1. InputSignal\r\n*/\r\n\r\n/* number-format.js */\r\ndeclare const format: Function;\r\n\r\ntype ValueTypes = 'text' | 'number' | 'bool' | 'decimal' | 'date' | 'password';\r\n\r\n@Component({\r\n standalone: true,\r\n selector: 'aril-value',\r\n templateUrl: './value.component.html',\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class ValueComponent implements OnChanges {\r\n\r\n @Input({ required: true }) model!: string | number | boolean;\r\n @Input() type: ValueTypes = \"text\";\r\n @Input() format!: string;\r\n @Input() color: string = \"#333\";\r\n\r\n display = \"\";\r\n\r\n ngOnChanges(changes: any) {\r\n switch (this.type) {\r\n case \"text\":\r\n this.display = this.model as string;\r\n break;\r\n case \"number\":\r\n this.format = this.format || '0.###';\r\n this.display = format(this.format, this.model);\r\n break;\r\n case \"decimal\":\r\n this.format = this.format || '#.##0,###';\r\n this.display = format(this.format, this.model);\r\n break;\r\n case \"date\":\r\n this.format = this.format || 'time';\r\n this.display = (<number>this.model).longToString(this.format) as string;\r\n break;\r\n case \"password\":\r\n this.display = (<string>this.model).replace(/./g, \"*\");\r\n break;\r\n default:\r\n console.error(\"Invalid type: '\" + this.type + \"'\");\r\n break;\r\n }\r\n }\r\n}\r\n","@if (model == undefined || model == null) {\n\t<i class=\"pi pi-minus\" style=\"color: red\" pTooltip=\"No item to show\"></i>\n} @else {\n\t@if (type == 'bool') {\n\t\t@if (!!model) {\n\t\t\t<i class=\"pi pi-check\" style=\"color: green\"></i>\n\t\t} @else {\n\t\t\t<i class=\"pi pi-times\" style=\"color: crimson\"></i>\n\t\t}\n\t} @else {\n\t\t@if (display == undefined) {\n\t\t\t<i\n\t\t\t\tclass=\"pi pi-exclamation-circle\"\n\t\t\t\tstyle=\"color: red\"\n\t\t\t\tpTooltip=\"Invalid Data\">\n\t\t\t</i>\n\t\t} @else {\n\t\t\t<span [style.color]=\"color\">\n\t\t\t\t{{ display }}\n\t\t\t</span>\n\t\t}\n\t}\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;MAmBa,cAAc,CAAA;AAN3B,IAAA,WAAA,GAAA;QASW,IAAI,CAAA,IAAA,GAAe,MAAM,CAAC;QAE1B,IAAK,CAAA,KAAA,GAAW,MAAM,CAAC;QAEhC,IAAO,CAAA,OAAA,GAAG,EAAE,CAAC;AA2Bd,KAAA;AAzBC,IAAA,WAAW,CAAC,OAAY,EAAA;AACtB,QAAA,QAAQ,IAAI,CAAC,IAAI;AACf,YAAA,KAAK,MAAM;AACT,gBAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,KAAe,CAAC;gBACpC,MAAM;AACR,YAAA,KAAK,QAAQ;gBACX,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,OAAO,CAAC;AACrC,gBAAA,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;gBAC/C,MAAM;AACR,YAAA,KAAK,SAAS;gBACZ,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,WAAW,CAAC;AACzC,gBAAA,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;gBAC/C,MAAM;AACR,YAAA,KAAK,MAAM;gBACT,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC;AACpC,gBAAA,IAAI,CAAC,OAAO,GAAY,IAAI,CAAC,KAAM,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAW,CAAC;gBACxE,MAAM;AACR,YAAA,KAAK,UAAU;AACb,gBAAA,IAAI,CAAC,OAAO,GAAY,IAAI,CAAC,KAAM,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;gBACvD,MAAM;AACR,YAAA;gBACE,OAAO,CAAC,KAAK,CAAC,iBAAiB,GAAG,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC;gBACnD,MAAM;SACT;KACF;8GAjCU,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAd,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,cAAc,uKCnB3B,ymBAuBA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;2FDJa,cAAc,EAAA,UAAA,EAAA,CAAA;kBAN1B,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,UAAA,EAAA,IAAI,EACN,QAAA,EAAA,YAAY,EAEL,eAAA,EAAA,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,ymBAAA,EAAA,CAAA;8BAIpB,KAAK,EAAA,CAAA;sBAA/B,KAAK;uBAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAA;gBAChB,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,MAAM,EAAA,CAAA;sBAAd,KAAK;gBACG,KAAK,EAAA,CAAA;sBAAb,KAAK;;;AExBR;;AAEG;;;;"}
|
package/http/lib/enums.d.ts
CHANGED
package/http/lib/interfaces.d.ts
CHANGED
|
@@ -1,9 +1,11 @@
|
|
|
1
|
+
import { Subject } from "rxjs";
|
|
1
2
|
import { ProxyTypes } from "./enums";
|
|
2
3
|
export interface ServiceCallStates {
|
|
3
4
|
serviceCalled: boolean;
|
|
4
5
|
waitingForResponse: boolean;
|
|
5
6
|
responseIsRecieved: boolean;
|
|
6
7
|
serviceCallFailed: boolean;
|
|
8
|
+
errorEvent?: Subject<any>;
|
|
7
9
|
}
|
|
8
10
|
export type ServiceCallStateMap<T> = {
|
|
9
11
|
[K in keyof T]?: T[K] extends Function ? ServiceCallStates : never;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
+
import { HttpErrorResponse } from "@angular/common/http";
|
|
1
2
|
import { ServiceCallStateMap } from "../lib/interfaces";
|
|
2
3
|
export declare const callState: (states: ServiceCallStateMap<any>, serviceName: any) => void;
|
|
3
4
|
export declare const successState: (states: ServiceCallStateMap<any>, serviceName: any) => void;
|
|
4
|
-
export declare const errorState: (states: ServiceCallStateMap<any>, serviceName: any) => void;
|
|
5
|
+
export declare const errorState: (states: ServiceCallStateMap<any>, serviceName: any, error: HttpErrorResponse) => void;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "aril",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.7",
|
|
4
4
|
"peerDependencies": {
|
|
5
5
|
"@angular/common": "^17.1.0",
|
|
6
6
|
"@angular/core": "^17.1.0",
|
|
@@ -48,6 +48,12 @@
|
|
|
48
48
|
"esm": "./esm2022/util/aril-util.mjs",
|
|
49
49
|
"default": "./fesm2022/aril-util.mjs"
|
|
50
50
|
},
|
|
51
|
+
"./theme/layout": {
|
|
52
|
+
"types": "./theme/layout/index.d.ts",
|
|
53
|
+
"esm2022": "./esm2022/theme/layout/aril-theme-layout.mjs",
|
|
54
|
+
"esm": "./esm2022/theme/layout/aril-theme-layout.mjs",
|
|
55
|
+
"default": "./fesm2022/aril-theme-layout.mjs"
|
|
56
|
+
},
|
|
51
57
|
"./ui/badge": {
|
|
52
58
|
"types": "./ui/badge/index.d.ts",
|
|
53
59
|
"esm2022": "./esm2022/ui/badge/aril-ui-badge.mjs",
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { Router } from '@angular/router';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
interface Breadcrumb {
|
|
4
|
+
label: string;
|
|
5
|
+
url?: string;
|
|
6
|
+
}
|
|
7
|
+
export declare class AppBreadcrumbComponent {
|
|
8
|
+
private router;
|
|
9
|
+
private readonly _breadcrumbs$;
|
|
10
|
+
readonly breadcrumbs$: import("rxjs").Observable<Breadcrumb[]>;
|
|
11
|
+
constructor(router: Router);
|
|
12
|
+
private addBreadcrumb;
|
|
13
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AppBreadcrumbComponent, never>;
|
|
14
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<AppBreadcrumbComponent, "app-breadcrumb", never, {}, {}, never, never, true, never>;
|
|
15
|
+
}
|
|
16
|
+
export {};
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { AsyncPipe, NgTemplateOutlet } from '@angular/common';
|
|
2
|
+
import { Component } from '@angular/core';
|
|
3
|
+
import { ActivatedRouteSnapshot, NavigationEnd, Router } from '@angular/router';
|
|
4
|
+
|
|
5
|
+
import { BehaviorSubject } from 'rxjs';
|
|
6
|
+
import { filter } from 'rxjs/operators';
|
|
7
|
+
|
|
8
|
+
interface Breadcrumb {
|
|
9
|
+
label: string;
|
|
10
|
+
url?: string;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
@Component({
|
|
14
|
+
standalone: true,
|
|
15
|
+
selector: 'app-breadcrumb',
|
|
16
|
+
imports: [NgTemplateOutlet, AsyncPipe],
|
|
17
|
+
templateUrl: './app.breadcrumb.component.html'
|
|
18
|
+
})
|
|
19
|
+
export class AppBreadcrumbComponent {
|
|
20
|
+
|
|
21
|
+
private readonly _breadcrumbs$ = new BehaviorSubject<Breadcrumb[]>([]);
|
|
22
|
+
|
|
23
|
+
readonly breadcrumbs$ = this._breadcrumbs$.asObservable();
|
|
24
|
+
|
|
25
|
+
constructor(private router: Router) {
|
|
26
|
+
this.router.events.pipe(filter((event) => event instanceof NavigationEnd)).subscribe(event => {
|
|
27
|
+
const root = this.router.routerState.snapshot.root;
|
|
28
|
+
const breadcrumbs: Breadcrumb[] = [];
|
|
29
|
+
this.addBreadcrumb(root, [], breadcrumbs);
|
|
30
|
+
|
|
31
|
+
this._breadcrumbs$.next(breadcrumbs);
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
private addBreadcrumb(route: ActivatedRouteSnapshot, parentUrl: string[], breadcrumbs: Breadcrumb[]) {
|
|
36
|
+
const routeUrl = parentUrl.concat(route.url.map(url => url.path));
|
|
37
|
+
const breadcrumb = route.data['breadcrumb'];
|
|
38
|
+
const parentBreadcrumb = route.parent && route.parent.data ? route.parent.data['breadcrumb'] : null;
|
|
39
|
+
|
|
40
|
+
if (breadcrumb && breadcrumb !== parentBreadcrumb) {
|
|
41
|
+
breadcrumbs.push({
|
|
42
|
+
label: route.data['breadcrumb'],
|
|
43
|
+
url: '/' + routeUrl.join('/')
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
if (route.firstChild) {
|
|
48
|
+
this.addBreadcrumb(route.firstChild, routeUrl, breadcrumbs);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { OnInit } from '@angular/core';
|
|
2
|
+
import { MenuService } from '../../service/app.menu.service';
|
|
3
|
+
import { ColorScheme, LayoutService, MenuColorScheme, MenuMode } from '../../service/app.layout.service';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export declare class AppConfigComponent implements OnInit {
|
|
6
|
+
layoutService: LayoutService;
|
|
7
|
+
menuService: MenuService;
|
|
8
|
+
minimal: boolean;
|
|
9
|
+
componentThemes: any[];
|
|
10
|
+
scales: number[];
|
|
11
|
+
constructor(layoutService: LayoutService, menuService: MenuService);
|
|
12
|
+
get visible(): boolean;
|
|
13
|
+
set visible(_val: boolean);
|
|
14
|
+
get scale(): number;
|
|
15
|
+
set scale(_val: number);
|
|
16
|
+
get menuMode(): MenuMode;
|
|
17
|
+
set menuMode(_val: MenuMode);
|
|
18
|
+
get colorScheme(): ColorScheme;
|
|
19
|
+
set colorScheme(_val: ColorScheme);
|
|
20
|
+
get inputStyle(): string;
|
|
21
|
+
set inputStyle(_val: string);
|
|
22
|
+
get ripple(): boolean;
|
|
23
|
+
set ripple(_val: boolean);
|
|
24
|
+
get menuTheme(): MenuColorScheme;
|
|
25
|
+
set menuTheme(_val: MenuColorScheme);
|
|
26
|
+
get theme(): string;
|
|
27
|
+
set theme(_val: string);
|
|
28
|
+
ngOnInit(): void;
|
|
29
|
+
onConfigButtonClick(): void;
|
|
30
|
+
changeColorScheme(colorScheme: ColorScheme): void;
|
|
31
|
+
changeTheme(theme: string): void;
|
|
32
|
+
decrementScale(): void;
|
|
33
|
+
incrementScale(): void;
|
|
34
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AppConfigComponent, never>;
|
|
35
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<AppConfigComponent, "app-config", never, { "minimal": { "alias": "minimal"; "required": false; }; }, {}, never, never, true, never>;
|
|
36
|
+
}
|
|
@@ -0,0 +1,191 @@
|
|
|
1
|
+
<button
|
|
2
|
+
class="layout-config-button p-link"
|
|
3
|
+
type="button"
|
|
4
|
+
(click)="onConfigButtonClick()">
|
|
5
|
+
<i class="pi pi-cog"></i>
|
|
6
|
+
</button>
|
|
7
|
+
|
|
8
|
+
<p-sidebar
|
|
9
|
+
[(visible)]="visible"
|
|
10
|
+
position="right"
|
|
11
|
+
[transitionOptions]="'.3s cubic-bezier(0, 0, 0.2, 1)'"
|
|
12
|
+
styleClass="layout-config-sidebar w-18rem">
|
|
13
|
+
<h5>Themes</h5>
|
|
14
|
+
<div class="flex flex-wrap row-gap-3">
|
|
15
|
+
@for (theme of componentThemes; track theme) {
|
|
16
|
+
<div class="w-3">
|
|
17
|
+
<button
|
|
18
|
+
type="button"
|
|
19
|
+
class="cursor-pointer p-link w-2rem h-2rem border-circle flex-shrink-0 flex align-items-center justify-content-center"
|
|
20
|
+
(click)="changeTheme(theme.name)"
|
|
21
|
+
[ngStyle]="{ 'background-color': theme.color }">
|
|
22
|
+
@if (theme.name == this.layoutService.config().theme) {
|
|
23
|
+
<i class="pi pi-check text-white"></i>
|
|
24
|
+
}
|
|
25
|
+
</button>
|
|
26
|
+
</div>
|
|
27
|
+
}
|
|
28
|
+
</div>
|
|
29
|
+
|
|
30
|
+
<h5>Scale</h5>
|
|
31
|
+
<div class="flex align-items-center">
|
|
32
|
+
<button
|
|
33
|
+
icon="pi pi-minus"
|
|
34
|
+
type="button"
|
|
35
|
+
pButton
|
|
36
|
+
(click)="decrementScale()"
|
|
37
|
+
class="p-button-text p-button-rounded w-2rem h-2rem mr-2"
|
|
38
|
+
[disabled]="scale === scales[0]"></button>
|
|
39
|
+
<div class="flex gap-2 align-items-center">
|
|
40
|
+
@for (s of scales; track s) {
|
|
41
|
+
<i
|
|
42
|
+
class="pi pi-circle-fill text-300"
|
|
43
|
+
[ngClass]="{ 'text-primary-500': s === scale }"></i>
|
|
44
|
+
}
|
|
45
|
+
</div>
|
|
46
|
+
<button
|
|
47
|
+
icon="pi pi-plus"
|
|
48
|
+
type="button"
|
|
49
|
+
pButton
|
|
50
|
+
(click)="incrementScale()"
|
|
51
|
+
class="p-button-text p-button-rounded w-2rem h-2rem ml-2"
|
|
52
|
+
[disabled]="scale === scales[scales.length - 1]"></button>
|
|
53
|
+
</div>
|
|
54
|
+
|
|
55
|
+
@if (!minimal) {
|
|
56
|
+
<h5>Menu Type</h5>
|
|
57
|
+
<div class="flex flex-wrap row-gap-3">
|
|
58
|
+
<div class="flex align-items-center gap-2 w-6">
|
|
59
|
+
<p-radioButton
|
|
60
|
+
name="menuMode"
|
|
61
|
+
value="static"
|
|
62
|
+
[(ngModel)]="menuMode"
|
|
63
|
+
inputId="mode1"></p-radioButton>
|
|
64
|
+
<label for="mode1">Static</label>
|
|
65
|
+
</div>
|
|
66
|
+
<div class="flex align-items-center gap-2 w-6">
|
|
67
|
+
<p-radioButton
|
|
68
|
+
name="menuMode"
|
|
69
|
+
value="overlay"
|
|
70
|
+
[(ngModel)]="menuMode"
|
|
71
|
+
inputId="mode2"></p-radioButton>
|
|
72
|
+
<label for="mode2">Overlay</label>
|
|
73
|
+
</div>
|
|
74
|
+
<div class="flex align-items-center gap-2 w-6">
|
|
75
|
+
<p-radioButton
|
|
76
|
+
name="menuMode"
|
|
77
|
+
value="slim"
|
|
78
|
+
[(ngModel)]="menuMode"
|
|
79
|
+
inputId="mode3"></p-radioButton>
|
|
80
|
+
<label for="mode3">Slim</label>
|
|
81
|
+
</div>
|
|
82
|
+
<div class="flex align-items-center gap-2 w-6">
|
|
83
|
+
<p-radioButton
|
|
84
|
+
name="menuMode"
|
|
85
|
+
value="slim-plus"
|
|
86
|
+
[(ngModel)]="menuMode"
|
|
87
|
+
inputId="mode4"></p-radioButton>
|
|
88
|
+
<label for="mode3">Slim +</label>
|
|
89
|
+
</div>
|
|
90
|
+
<div class="flex align-items-center gap-2 w-6">
|
|
91
|
+
<p-radioButton
|
|
92
|
+
name="menuMode"
|
|
93
|
+
value="reveal"
|
|
94
|
+
[(ngModel)]="menuMode"
|
|
95
|
+
inputId="mode6"></p-radioButton>
|
|
96
|
+
<label for="mode5">Reveal</label>
|
|
97
|
+
</div>
|
|
98
|
+
<div class="flex align-items-center gap-2 w-6">
|
|
99
|
+
<p-radioButton
|
|
100
|
+
name="menuMode"
|
|
101
|
+
value="drawer"
|
|
102
|
+
[(ngModel)]="menuMode"
|
|
103
|
+
inputId="mode7"></p-radioButton>
|
|
104
|
+
<label for="mode6">Drawer</label>
|
|
105
|
+
</div>
|
|
106
|
+
<div class="flex align-items-center gap-2 w-6">
|
|
107
|
+
<p-radioButton
|
|
108
|
+
name="menuMode"
|
|
109
|
+
value="horizontal"
|
|
110
|
+
[(ngModel)]="menuMode"
|
|
111
|
+
inputId="mode5"></p-radioButton>
|
|
112
|
+
<label for="mode4">Horizontal</label>
|
|
113
|
+
</div>
|
|
114
|
+
</div>
|
|
115
|
+
<h5>Menu Theme</h5>
|
|
116
|
+
<div class="field-radiobutton">
|
|
117
|
+
<p-radioButton
|
|
118
|
+
name="menuTheme"
|
|
119
|
+
value="colorScheme"
|
|
120
|
+
[(ngModel)]="menuTheme"
|
|
121
|
+
inputId="menutheme-colorscheme"></p-radioButton>
|
|
122
|
+
<label for="menutheme-colorscheme">Color Scheme</label>
|
|
123
|
+
</div>
|
|
124
|
+
<div class="field-radiobutton">
|
|
125
|
+
<p-radioButton
|
|
126
|
+
name="menuTheme"
|
|
127
|
+
value="primaryColor"
|
|
128
|
+
[(ngModel)]="menuTheme"
|
|
129
|
+
inputId="menutheme-primarycolor"></p-radioButton>
|
|
130
|
+
<label for="menutheme-primarycolor">Primary Color</label>
|
|
131
|
+
</div>
|
|
132
|
+
<div class="field-radiobutton">
|
|
133
|
+
<p-radioButton
|
|
134
|
+
name="menuTheme"
|
|
135
|
+
value="transparent"
|
|
136
|
+
[(ngModel)]="menuTheme"
|
|
137
|
+
inputId="menutheme-transparent"></p-radioButton>
|
|
138
|
+
<label for="menutheme-transparent">Transparent</label>
|
|
139
|
+
</div>
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
<h5>Color Scheme</h5>
|
|
143
|
+
<div class="field-radiobutton">
|
|
144
|
+
<p-radioButton
|
|
145
|
+
name="colorScheme"
|
|
146
|
+
value="light"
|
|
147
|
+
[(ngModel)]="colorScheme"
|
|
148
|
+
inputId="mode-light"></p-radioButton>
|
|
149
|
+
<label for="mode-light">Light</label>
|
|
150
|
+
</div>
|
|
151
|
+
<div class="field-radiobutton">
|
|
152
|
+
<p-radioButton
|
|
153
|
+
name="colorScheme"
|
|
154
|
+
value="dim"
|
|
155
|
+
[(ngModel)]="colorScheme"
|
|
156
|
+
inputId="mode-dim"></p-radioButton>
|
|
157
|
+
<label for="mode-dim">Dim</label>
|
|
158
|
+
</div>
|
|
159
|
+
<div class="field-radiobutton">
|
|
160
|
+
<p-radioButton
|
|
161
|
+
name="colorScheme"
|
|
162
|
+
value="dark"
|
|
163
|
+
[(ngModel)]="colorScheme"
|
|
164
|
+
inputId="mode-dark"></p-radioButton>
|
|
165
|
+
<label for="mode-dark">Dark</label>
|
|
166
|
+
</div>
|
|
167
|
+
|
|
168
|
+
@if (!minimal) {
|
|
169
|
+
<h5>Input Style</h5>
|
|
170
|
+
<div class="flex">
|
|
171
|
+
<div class="field-radiobutton flex-1">
|
|
172
|
+
<p-radioButton
|
|
173
|
+
name="inputStyle"
|
|
174
|
+
value="outlined"
|
|
175
|
+
[(ngModel)]="inputStyle"
|
|
176
|
+
inputId="outlined_input"></p-radioButton>
|
|
177
|
+
<label for="outlined_input">Outlined</label>
|
|
178
|
+
</div>
|
|
179
|
+
<div class="field-radiobutton flex-1">
|
|
180
|
+
<p-radioButton
|
|
181
|
+
name="inputStyle"
|
|
182
|
+
value="filled"
|
|
183
|
+
[(ngModel)]="inputStyle"
|
|
184
|
+
inputId="filled_input"></p-radioButton>
|
|
185
|
+
<label for="filled_input">Filled</label>
|
|
186
|
+
</div>
|
|
187
|
+
</div>
|
|
188
|
+
<h5>Ripple Effect</h5>
|
|
189
|
+
<p-inputSwitch [(ngModel)]="ripple"></p-inputSwitch>
|
|
190
|
+
}
|
|
191
|
+
</p-sidebar>
|