@huntsman-cancer-institute/cod 17.2.6 → 17.3.1
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/cod.module.d.ts +13 -13
- package/esm2022/cod.module.mjs +8 -9
- package/esm2022/components/attribute-absolute.component.mjs +56 -18
- package/esm2022/components/attribute-default.component.mjs +2 -5
- package/esm2022/components/attribute-edit.component.mjs +35 -3
- package/esm2022/components/attribute-flex.component.mjs +51 -11
- package/esm2022/services/attribute.service.mjs +24 -1
- package/fesm2022/huntsman-cancer-institute-cod.mjs +558 -426
- package/fesm2022/huntsman-cancer-institute-cod.mjs.map +1 -1
- package/package.json +4 -4
- package/services/attribute.service.d.ts +4 -0
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { Pipe, InjectionToken, isDevMode, Injectable, Inject, EventEmitter, Directive, Input, Output, ViewChild, Component, ViewEncapsulation,
|
|
2
|
+
import { Pipe, InjectionToken, isDevMode, Injectable, Inject, EventEmitter, Directive, Input, Output, ViewChild, Component, ViewEncapsulation, HostBinding, NgModule, forwardRef } from '@angular/core';
|
|
3
3
|
import * as i4 from '@angular/common';
|
|
4
4
|
import { DatePipe, CommonModule } from '@angular/common';
|
|
5
5
|
import * as i5 from '@angular/forms';
|
|
6
|
-
import {
|
|
6
|
+
import { FormsModule, NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
7
7
|
import * as i3 from '@angular/router';
|
|
8
8
|
import { RouterModule } from '@angular/router';
|
|
9
9
|
import * as i6 from '@angular/material/datepicker';
|
|
@@ -15,7 +15,6 @@ import * as i3$1 from 'ag-grid-angular';
|
|
|
15
15
|
import { AgGridModule } from 'ag-grid-angular';
|
|
16
16
|
import * as i2$1 from '@ng-bootstrap/ng-bootstrap';
|
|
17
17
|
import { NgbModule } from '@ng-bootstrap/ng-bootstrap';
|
|
18
|
-
import * as i3$2 from '@huntsman-cancer-institute/input';
|
|
19
18
|
import { DropdownModule, SelectModule } from '@huntsman-cancer-institute/input';
|
|
20
19
|
import * as i4$1 from '@huntsman-cancer-institute/misc';
|
|
21
20
|
import { MiscModule } from '@huntsman-cancer-institute/misc';
|
|
@@ -24,6 +23,7 @@ import { first } from 'rxjs/operators';
|
|
|
24
23
|
import * as i2 from '@angular/common/http';
|
|
25
24
|
import { HttpParams } from '@angular/common/http';
|
|
26
25
|
import * as i1 from '@huntsman-cancer-institute/dictionary-service';
|
|
26
|
+
import { DictionaryServiceModule } from '@huntsman-cancer-institute/dictionary-service';
|
|
27
27
|
import { parse } from 'date-fns';
|
|
28
28
|
|
|
29
29
|
/**
|
|
@@ -98,6 +98,7 @@ class AttributeService {
|
|
|
98
98
|
this.updatedAttributeValues = [];
|
|
99
99
|
this.slicedAttributeValues = [];
|
|
100
100
|
this.uniqueId = 0;
|
|
101
|
+
this._editButtonsEnabled = true; //Preserve old default
|
|
101
102
|
if (isDevMode()) {
|
|
102
103
|
console.debug("Created New AttributeService");
|
|
103
104
|
}
|
|
@@ -108,6 +109,16 @@ class AttributeService {
|
|
|
108
109
|
this.notifyAttributes();
|
|
109
110
|
}
|
|
110
111
|
}
|
|
112
|
+
get editButtonsEnabled() {
|
|
113
|
+
return this._editButtonsEnabled;
|
|
114
|
+
}
|
|
115
|
+
;
|
|
116
|
+
set editButtonsEnabled(enabled) {
|
|
117
|
+
if (enabled !== this._editButtonsEnabled) {
|
|
118
|
+
this._editButtonsEnabled = enabled;
|
|
119
|
+
this.notifyAttributes();
|
|
120
|
+
}
|
|
121
|
+
}
|
|
111
122
|
getAttributeValueCountByAttribute(idAttribute) {
|
|
112
123
|
return this.http.get(this.attributeEndpoint + "attribute-value-count", { params: new HttpParams().set("idAttribute", idAttribute.toString()) });
|
|
113
124
|
}
|
|
@@ -565,6 +576,7 @@ class AttributeService {
|
|
|
565
576
|
if (!attributeValueSet.attributeValues) {
|
|
566
577
|
attributeValueSet.attributeValues = [];
|
|
567
578
|
}
|
|
579
|
+
this.checkAvsEditable();
|
|
568
580
|
this.attributeValueSetSubject.next(attributeValueSet);
|
|
569
581
|
this.loadingSubject.next(false);
|
|
570
582
|
this.dirty.next(false);
|
|
@@ -574,6 +586,17 @@ class AttributeService {
|
|
|
574
586
|
this.attributeValueSetSubject.next(undefined);
|
|
575
587
|
});
|
|
576
588
|
}
|
|
589
|
+
checkAvsEditable() {
|
|
590
|
+
let url = this.attributeEndpoint + "attribute-value-set/" + this.idAttributeValueSet + "/can-edit";
|
|
591
|
+
let ac = this.attributeConfigurationSubject.getValue();
|
|
592
|
+
let queryParams = new HttpParams()
|
|
593
|
+
.set("codeAttributeSecurityContext", ac.codeAttributeSecurityContext)
|
|
594
|
+
.set("codeAttributeContext", ac.codeAttributeContext)
|
|
595
|
+
.set("idParentObject", (this.idParentObject) ? this.idParentObject.toString() : "");
|
|
596
|
+
this.http.get(url, { params: queryParams }).subscribe((canEdit) => {
|
|
597
|
+
this.editButtonsEnabled = canEdit;
|
|
598
|
+
});
|
|
599
|
+
}
|
|
577
600
|
getBaseWindowDimension(baseWindowTemplate) {
|
|
578
601
|
this.http.get(this.attributeEndpoint + "base-window-dimension", { params: new HttpParams().set("baseWindowTemplate", baseWindowTemplate) })
|
|
579
602
|
.subscribe((dimension) => {
|
|
@@ -1933,7 +1956,8 @@ class AttributeEditComponent extends AttributeBase {
|
|
|
1933
1956
|
<div *ngIf="attribute.displayName" class="d-flex col-md-6">
|
|
1934
1957
|
{{attribute.displayName}}
|
|
1935
1958
|
</div>
|
|
1936
|
-
|
|
1959
|
+
|
|
1960
|
+
<div *ngIf="(attribute.h == undefined || (attribute.h && attribute.h <= 25))" class="d-flex col-md-6">
|
|
1937
1961
|
<input #inputRef
|
|
1938
1962
|
type="text"
|
|
1939
1963
|
[ngModel]="attributeValues[0].valueString"
|
|
@@ -1941,6 +1965,21 @@ class AttributeEditComponent extends AttributeBase {
|
|
|
1941
1965
|
[disabled]="!editInline || attribute.isCalculated === 'Y'"
|
|
1942
1966
|
/>
|
|
1943
1967
|
</div>
|
|
1968
|
+
|
|
1969
|
+
<div *ngIf="(attribute.h && attribute.h > 25)" class="d-flex col-md-6">
|
|
1970
|
+
<textarea
|
|
1971
|
+
#inputRef
|
|
1972
|
+
type="text"
|
|
1973
|
+
spellcheck="spellcheck"
|
|
1974
|
+
lang="en"
|
|
1975
|
+
[ngModel]="attributeValues[0].valueString"
|
|
1976
|
+
(ngModelChange)="valueStringChange($event)"
|
|
1977
|
+
[disabled]="!editInline || attribute.isCalculated === 'Y'"
|
|
1978
|
+
style="width: 500px; height: 125px; resize: none;"
|
|
1979
|
+
>
|
|
1980
|
+
</textarea>
|
|
1981
|
+
</div>
|
|
1982
|
+
|
|
1944
1983
|
</div>
|
|
1945
1984
|
</ng-container>
|
|
1946
1985
|
|
|
@@ -2263,7 +2302,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImpor
|
|
|
2263
2302
|
<div *ngIf="attribute.displayName" class="d-flex col-md-6">
|
|
2264
2303
|
{{attribute.displayName}}
|
|
2265
2304
|
</div>
|
|
2266
|
-
|
|
2305
|
+
|
|
2306
|
+
<div *ngIf="(attribute.h == undefined || (attribute.h && attribute.h <= 25))" class="d-flex col-md-6">
|
|
2267
2307
|
<input #inputRef
|
|
2268
2308
|
type="text"
|
|
2269
2309
|
[ngModel]="attributeValues[0].valueString"
|
|
@@ -2271,6 +2311,21 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImpor
|
|
|
2271
2311
|
[disabled]="!editInline || attribute.isCalculated === 'Y'"
|
|
2272
2312
|
/>
|
|
2273
2313
|
</div>
|
|
2314
|
+
|
|
2315
|
+
<div *ngIf="(attribute.h && attribute.h > 25)" class="d-flex col-md-6">
|
|
2316
|
+
<textarea
|
|
2317
|
+
#inputRef
|
|
2318
|
+
type="text"
|
|
2319
|
+
spellcheck="spellcheck"
|
|
2320
|
+
lang="en"
|
|
2321
|
+
[ngModel]="attributeValues[0].valueString"
|
|
2322
|
+
(ngModelChange)="valueStringChange($event)"
|
|
2323
|
+
[disabled]="!editInline || attribute.isCalculated === 'Y'"
|
|
2324
|
+
style="width: 500px; height: 125px; resize: none;"
|
|
2325
|
+
>
|
|
2326
|
+
</textarea>
|
|
2327
|
+
</div>
|
|
2328
|
+
|
|
2274
2329
|
</div>
|
|
2275
2330
|
</ng-container>
|
|
2276
2331
|
|
|
@@ -2607,9 +2662,6 @@ class AttributeAbsoluteComponent extends AttributeBase {
|
|
|
2607
2662
|
refresh() {
|
|
2608
2663
|
super.refresh();
|
|
2609
2664
|
this.renderer.setStyle(this.elementRef.nativeElement, "position", "absolute");
|
|
2610
|
-
if (this.attribute.tabOrder !== undefined) {
|
|
2611
|
-
this.renderer.setStyle(this.elementRef.nativeElement, "z-index", 10 + this.attribute.tabOrder);
|
|
2612
|
-
}
|
|
2613
2665
|
if (this.attribute.x !== undefined) {
|
|
2614
2666
|
this.renderer.setStyle(this.elementRef.nativeElement, "left", this.attribute.x + "px");
|
|
2615
2667
|
}
|
|
@@ -2639,6 +2691,9 @@ class AttributeAbsoluteComponent extends AttributeBase {
|
|
|
2639
2691
|
if (this.nativeSelectRef) {
|
|
2640
2692
|
this.nativeSelectRef.setHeight(this.attribute.h);
|
|
2641
2693
|
}
|
|
2694
|
+
if (this.attribute.isMultiValue === 'Y') {
|
|
2695
|
+
this.renderer.setStyle(this.elementRef.nativeElement, 'height', this.attribute.h + 'px');
|
|
2696
|
+
}
|
|
2642
2697
|
}
|
|
2643
2698
|
}
|
|
2644
2699
|
/**
|
|
@@ -2917,7 +2972,6 @@ class AttributeAbsoluteComponent extends AttributeBase {
|
|
|
2917
2972
|
<div class="d-flex flex-shrink-0">
|
|
2918
2973
|
<input type="checkbox"
|
|
2919
2974
|
[checked]="attributeChoice.value"
|
|
2920
|
-
[disabled]="!editInline || attribute.isCalculated === 'Y'"
|
|
2921
2975
|
(change)="valueMultiChoiceChange(attributeChoice)"
|
|
2922
2976
|
[disabled]="!editInline || attribute.isCalculated === 'Y'"
|
|
2923
2977
|
class="form-control checkbox"/>
|
|
@@ -2943,7 +2997,6 @@ class AttributeAbsoluteComponent extends AttributeBase {
|
|
|
2943
2997
|
<div class="d-flex flex-shrink-0">
|
|
2944
2998
|
<input type="checkbox"
|
|
2945
2999
|
[checked]="entry.checked"
|
|
2946
|
-
[disabled]="!editInline || attribute.isCalculated === 'Y'"
|
|
2947
3000
|
(change)="valueMultiDictChange(entry)"
|
|
2948
3001
|
[disabled]="!editInline || attribute.isCalculated === 'Y'"
|
|
2949
3002
|
class="form-control checkbox" />
|
|
@@ -2982,17 +3035,27 @@ class AttributeAbsoluteComponent extends AttributeBase {
|
|
|
2982
3035
|
<!-- Grid -->
|
|
2983
3036
|
<ng-container *ngIf="attribute.codeAttributeDataType === 'GA'">
|
|
2984
3037
|
<div #attributeRef class="d-flex flex-column cod-type-ga i-height">
|
|
2985
|
-
<div *ngIf="attribute.
|
|
3038
|
+
<div *ngIf="attribute.idAttribute" class="d-flex cod-top-label me-1" [style.width]="'max-content'">
|
|
2986
3039
|
<div>
|
|
2987
3040
|
{{attribute.displayName}}
|
|
2988
3041
|
</div>
|
|
2989
3042
|
<div *ngIf="editInline" style="margin-left: auto;" class="ps-2 pb-2">
|
|
2990
|
-
|
|
3043
|
+
|
|
3044
|
+
<button
|
|
3045
|
+
class="btn-ga"
|
|
3046
|
+
[disabled]="(!this.attributeService.editButtonsEnabled)"
|
|
3047
|
+
(click)="addGridRow(editGridModal, attribute.idAttribute)"
|
|
3048
|
+
>
|
|
2991
3049
|
<span class="ga-icon">
|
|
2992
3050
|
<i class="fas fa-plus fa-xs"></i>
|
|
2993
3051
|
</span>
|
|
2994
3052
|
</button>
|
|
2995
|
-
|
|
3053
|
+
|
|
3054
|
+
<button
|
|
3055
|
+
class="btn-ga"
|
|
3056
|
+
[disabled]="(!this.attributeService.editButtonsEnabled)"
|
|
3057
|
+
(click)="removeGridRow(attribute.idAttribute)"
|
|
3058
|
+
>
|
|
2996
3059
|
<span class="ga-icon">
|
|
2997
3060
|
<i class="fas fa-minus fa-xs"></i>
|
|
2998
3061
|
</span>
|
|
@@ -3030,8 +3093,19 @@ class AttributeAbsoluteComponent extends AttributeBase {
|
|
|
3030
3093
|
</ng-container>
|
|
3031
3094
|
</div>
|
|
3032
3095
|
<div class="modal-footer">
|
|
3033
|
-
<button
|
|
3034
|
-
|
|
3096
|
+
<button
|
|
3097
|
+
[disabled]="(!this.attributeService.editButtonsEnabled)"
|
|
3098
|
+
class="btn btn-primary"
|
|
3099
|
+
(click)="close('Save')"
|
|
3100
|
+
>
|
|
3101
|
+
Save
|
|
3102
|
+
</button>
|
|
3103
|
+
|
|
3104
|
+
<button
|
|
3105
|
+
class="btn btn-primary"
|
|
3106
|
+
(click)="close('Cancel')"
|
|
3107
|
+
>Cancel
|
|
3108
|
+
</button>
|
|
3035
3109
|
</div>
|
|
3036
3110
|
</ng-template>
|
|
3037
3111
|
`, isInline: true, styles: [".hci-cod button.mat-icon-button.mat-button-base{height:20px;width:20px;line-height:unset}.btn-ga{padding:0;height:18px;width:18px}.ga-icon{font-size:.9em;vertical-align:top}.hci-cod .mat-datepicker-toggle-default-icon{height:20px;width:20px}\n"], dependencies: [{ kind: "component", type: i3$1.AgGridAngular, selector: "ag-grid-angular", inputs: ["gridOptions", "modules", "statusBar", "sideBar", "suppressContextMenu", "preventDefaultOnContextMenu", "allowContextMenuWithControlKey", "suppressMenuHide", "enableBrowserTooltips", "tooltipShowDelay", "tooltipHideDelay", "tooltipMouseTrack", "popupParent", "copyHeadersToClipboard", "copyGroupHeadersToClipboard", "clipboardDelimiter", "suppressCopyRowsToClipboard", "suppressCopySingleCellRanges", "suppressLastEmptyLineOnPaste", "suppressClipboardPaste", "suppressClipboardApi", "columnDefs", "defaultColDef", "defaultColGroupDef", "columnTypes", "maintainColumnOrder", "suppressFieldDotNotation", "deltaColumnMode", "applyColumnDefOrder", "immutableColumns", "suppressSetColumnStateEvents", "suppressColumnStateEvents", "colWidth", "minColWidth", "maxColWidth", "headerHeight", "groupHeaderHeight", "floatingFiltersHeight", "pivotHeaderHeight", "pivotGroupHeaderHeight", "allowDragFromColumnsToolPanel", "suppressMovableColumns", "suppressColumnMoveAnimation", "suppressDragLeaveHidesColumns", "suppressRowGroupHidesColumns", "colResizeDefault", "suppressAutoSize", "autoSizePadding", "skipHeaderOnAutoSize", "components", "frameworkComponents", "editType", "singleClickEdit", "suppressClickEdit", "readOnlyEdit", "stopEditingWhenCellsLoseFocus", "enterMovesDown", "enterMovesDownAfterEdit", "enableCellEditingOnBackspace", "undoRedoCellEditing", "undoRedoCellEditingLimit", "stopEditingWhenGridLosesFocus", "defaultCsvExportParams", "suppressCsvExport", "defaultExcelExportParams", "suppressExcelExport", "excelStyles", "defaultExportParams", "quickFilterText", "cacheQuickFilter", "excludeChildrenWhenTreeDataFiltering", "enableCharts", "chartThemes", "customChartThemes", "chartThemeOverrides", "enableChartToolPanelsButton", "chartToolPanelsDef", "loadingCellRenderer", "loadingCellRendererFramework", "loadingCellRendererParams", "loadingCellRendererSelector", "localeText", "masterDetail", "keepDetailRows", "keepDetailRowsCount", "detailCellRenderer", "detailCellRendererFramework", "detailCellRendererParams", "detailRowHeight", "detailRowAutoHeight", "context", "alignedGrids", "tabIndex", "rowBuffer", "valueCache", "valueCacheNeverExpires", "enableCellExpressions", "suppressParentsInRowNodes", "suppressTouch", "suppressFocusAfterRefresh", "suppressAsyncEvents", "suppressBrowserResizeObserver", "suppressPropertyNamesCheck", "suppressChangeDetection", "debug", "overlayLoadingTemplate", "loadingOverlayComponent", "loadingOverlayComponentFramework", "loadingOverlayComponentParams", "suppressLoadingOverlay", "overlayNoRowsTemplate", "noRowsOverlayComponent", "noRowsOverlayComponentFramework", "noRowsOverlayComponentParams", "suppressNoRowsOverlay", "pagination", "paginationPageSize", "paginationAutoPageSize", "paginateChildRows", "suppressPaginationPanel", "pivotMode", "pivotPanelShow", "pivotColumnGroupTotals", "pivotRowTotals", "pivotSuppressAutoColumn", "suppressExpandablePivotGroups", "functionsReadOnly", "aggFuncs", "suppressAggFuncInHeader", "suppressAggAtRootLevel", "aggregateOnlyChangedColumns", "suppressAggFilteredOnly", "removePivotHeaderRowWhenSingleValueColumn", "animateRows", "enableCellChangeFlash", "cellFlashDelay", "cellFadeDelay", "allowShowChangeAfterFilter", "domLayout", "ensureDomOrder", "enableRtl", "suppressColumnVirtualisation", "suppressMaxRenderedRowRestriction", "suppressRowVirtualisation", "rowDragManaged", "suppressRowDrag", "suppressMoveWhenRowDragging", "rowDragEntireRow", "rowDragMultiRow", "rowDragText", "fullWidthCellRenderer", "fullWidthCellRendererFramework", "fullWidthCellRendererParams", "embedFullWidthRows", "deprecatedEmbedFullWidthRows", "groupDisplayType", "groupDefaultExpanded", "autoGroupColumnDef", "groupMaintainOrder", "groupSelectsChildren", "groupAggFiltering", "groupIncludeFooter", "groupIncludeTotalFooter", "groupSuppressBlankHeader", "groupSelectsFiltered", "showOpenedGroup", "groupRemoveSingleChildren", "groupRemoveLowestSingleChildren", "groupHideOpenParents", "rowGroupPanelShow", "groupRowRenderer", "groupRowRendererFramework", "groupRowRendererParams", "suppressMakeColumnVisibleAfterUnGroup", "treeData", "rowGroupPanelSuppressSort", "groupRowsSticky", "groupRowInnerRenderer", "groupRowInnerRendererFramework", "groupMultiAutoColumn", "groupUseEntireRow", "groupSuppressAutoColumn", "rememberGroupStateWhenNewData", "pinnedTopRowData", "pinnedBottomRowData", "rowModelType", "rowData", "immutableData", "asyncTransactionWaitMillis", "suppressModelUpdateAfterUpdateTransaction", "deltaRowDataMode", "batchUpdateWaitMillis", "datasource", "cacheOverflowSize", "infiniteInitialRowCount", "serverSideInitialRowCount", "serverSideStoreType", "serverSideInfiniteScroll", "cacheBlockSize", "maxBlocksInCache", "maxConcurrentDatasourceRequests", "blockLoadDebounceMillis", "purgeClosedRowNodes", "serverSideDatasource", "serverSideSortAllLevels", "serverSideFilterAllLevels", "serverSideSortOnServer", "serverSideFilterOnServer", "serverSideSortingAlwaysResets", "serverSideFilteringAlwaysResets", "suppressEnterpriseResetOnNewColumns", "viewportDatasource", "viewportRowModelPageSize", "viewportRowModelBufferSize", "alwaysShowHorizontalScroll", "alwaysShowVerticalScroll", "debounceVerticalScrollbar", "suppressHorizontalScroll", "suppressScrollOnNewData", "suppressScrollWhenPopupsAreOpen", "suppressAnimationFrame", "suppressMiddleClickScrolls", "suppressPreventDefaultOnMouseWheel", "scrollbarWidth", "rowSelection", "rowMultiSelectWithClick", "suppressRowDeselection", "suppressRowClickSelection", "suppressCellSelection", "suppressCellFocus", "suppressMultiRangeSelection", "enableCellTextSelection", "enableRangeSelection", "enableRangeHandle", "enableFillHandle", "fillHandleDirection", "suppressClearOnFillReduction", "sortingOrder", "accentedSort", "unSortIcon", "suppressMultiSort", "alwaysMultiSort", "multiSortKey", "suppressMaintainUnsortedOrder", "icons", "rowHeight", "rowStyle", "rowClass", "rowClassRules", "suppressRowHoverHighlight", "suppressRowTransform", "columnHoverHighlight", "deltaSort", "treeDataDisplayType", "angularCompileRows", "angularCompileFilters", "functionsPassive", "enableGroupEdit", "getContextMenuItems", "getMainMenuItems", "postProcessPopup", "processCellForClipboard", "processHeaderForClipboard", "processGroupHeaderForClipboard", "processCellFromClipboard", "sendToClipboard", "processDataFromClipboard", "isExternalFilterPresent", "doesExternalFilterPass", "getChartToolbarItems", "createChartContainer", "navigateToNextHeader", "tabToNextHeader", "navigateToNextCell", "tabToNextCell", "suppressKeyboardEvent", "localeTextFunc", "getLocaleText", "getDocument", "paginationNumberFormatter", "groupRowAggNodes", "getGroupRowAgg", "isGroupOpenByDefault", "initialGroupOrderComparator", "defaultGroupOrderComparator", "processSecondaryColDef", "processSecondaryColGroupDef", "processPivotResultColDef", "processPivotResultColGroupDef", "getDataPath", "defaultGroupSortComparator", "getChildCount", "getServerSideGroupLevelParams", "getServerSideStoreParams", "isServerSideGroupOpenByDefault", "isApplyServerSideTransaction", "isServerSideGroup", "getServerSideGroupKey", "getBusinessKeyForNode", "getRowNodeId", "getRowId", "resetRowDataOnUpdate", "processRowPostCreate", "isRowSelectable", "isRowMaster", "fillOperation", "postSort", "postSortRows", "getRowStyle", "getRowClass", "getRowHeight", "isFullWidthCell", "isFullWidthRow"], outputs: ["toolPanelVisibleChanged", "toolPanelSizeChanged", "pasteStart", "pasteEnd", "columnVisible", "columnPinned", "columnResized", "columnMoved", "columnValueChanged", "columnPivotModeChanged", "columnPivotChanged", "columnGroupOpened", "newColumnsLoaded", "gridColumnsChanged", "displayedColumnsChanged", "virtualColumnsChanged", "columnEverythingChanged", "componentStateChanged", "cellValueChanged", "cellEditRequest", "rowValueChanged", "cellEditingStarted", "cellEditingStopped", "rowEditingStarted", "rowEditingStopped", "filterOpened", "filterChanged", "filterModified", "chartCreated", "chartRangeSelectionChanged", "chartOptionsChanged", "chartDestroyed", "cellKeyDown", "cellKeyPress", "gridReady", "firstDataRendered", "gridSizeChanged", "modelUpdated", "virtualRowRemoved", "viewportChanged", "bodyScroll", "bodyScrollEnd", "dragStarted", "dragStopped", "paginationChanged", "rowDragEnter", "rowDragMove", "rowDragLeave", "rowDragEnd", "columnRowGroupChanged", "rowGroupOpened", "expandOrCollapseAll", "pinnedRowDataChanged", "rowDataChanged", "rowDataUpdated", "asyncTransactionsFlushed", "cellClicked", "cellDoubleClicked", "cellFocused", "cellMouseOver", "cellMouseOut", "cellMouseDown", "rowClicked", "rowDoubleClicked", "rowSelected", "selectionChanged", "cellContextMenu", "rangeSelectionChanged", "sortChanged", "columnRowGroupChangeRequest", "columnPivotChangeRequest", "columnValueChangeRequest", "columnAggFuncChangeRequest"] }, { kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i5.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i5.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i5.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i5.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i6.MatDatepicker, selector: "mat-datepicker", exportAs: ["matDatepicker"] }, { kind: "directive", type: i6.MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }, { kind: "component", type: i6.MatDatepickerToggle, selector: "mat-datepicker-toggle", inputs: ["for", "tabIndex", "aria-label", "disabled", "disableRipple"], exportAs: ["matDatepickerToggle"] }, { kind: "component", type: i7.NgxMatDatetimepicker, selector: "ngx-mat-datetime-picker", exportAs: ["ngxMatDatetimePicker"] }, { kind: "directive", type: i7.NgxMatDatepickerInput, selector: "input[ngxMatDatetimePicker]", inputs: ["ngxMatDatetimePicker", "min", "max", "matDatepickerFilter"], exportAs: ["ngxMatDatepickerInput"] }, { kind: "component", type: AttributeEditComponent, selector: "hci-attribute-edit" }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
@@ -3292,7 +3366,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImpor
|
|
|
3292
3366
|
<div class="d-flex flex-shrink-0">
|
|
3293
3367
|
<input type="checkbox"
|
|
3294
3368
|
[checked]="attributeChoice.value"
|
|
3295
|
-
[disabled]="!editInline || attribute.isCalculated === 'Y'"
|
|
3296
3369
|
(change)="valueMultiChoiceChange(attributeChoice)"
|
|
3297
3370
|
[disabled]="!editInline || attribute.isCalculated === 'Y'"
|
|
3298
3371
|
class="form-control checkbox"/>
|
|
@@ -3318,7 +3391,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImpor
|
|
|
3318
3391
|
<div class="d-flex flex-shrink-0">
|
|
3319
3392
|
<input type="checkbox"
|
|
3320
3393
|
[checked]="entry.checked"
|
|
3321
|
-
[disabled]="!editInline || attribute.isCalculated === 'Y'"
|
|
3322
3394
|
(change)="valueMultiDictChange(entry)"
|
|
3323
3395
|
[disabled]="!editInline || attribute.isCalculated === 'Y'"
|
|
3324
3396
|
class="form-control checkbox" />
|
|
@@ -3357,17 +3429,27 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImpor
|
|
|
3357
3429
|
<!-- Grid -->
|
|
3358
3430
|
<ng-container *ngIf="attribute.codeAttributeDataType === 'GA'">
|
|
3359
3431
|
<div #attributeRef class="d-flex flex-column cod-type-ga i-height">
|
|
3360
|
-
<div *ngIf="attribute.
|
|
3432
|
+
<div *ngIf="attribute.idAttribute" class="d-flex cod-top-label me-1" [style.width]="'max-content'">
|
|
3361
3433
|
<div>
|
|
3362
3434
|
{{attribute.displayName}}
|
|
3363
3435
|
</div>
|
|
3364
3436
|
<div *ngIf="editInline" style="margin-left: auto;" class="ps-2 pb-2">
|
|
3365
|
-
|
|
3437
|
+
|
|
3438
|
+
<button
|
|
3439
|
+
class="btn-ga"
|
|
3440
|
+
[disabled]="(!this.attributeService.editButtonsEnabled)"
|
|
3441
|
+
(click)="addGridRow(editGridModal, attribute.idAttribute)"
|
|
3442
|
+
>
|
|
3366
3443
|
<span class="ga-icon">
|
|
3367
3444
|
<i class="fas fa-plus fa-xs"></i>
|
|
3368
3445
|
</span>
|
|
3369
3446
|
</button>
|
|
3370
|
-
|
|
3447
|
+
|
|
3448
|
+
<button
|
|
3449
|
+
class="btn-ga"
|
|
3450
|
+
[disabled]="(!this.attributeService.editButtonsEnabled)"
|
|
3451
|
+
(click)="removeGridRow(attribute.idAttribute)"
|
|
3452
|
+
>
|
|
3371
3453
|
<span class="ga-icon">
|
|
3372
3454
|
<i class="fas fa-minus fa-xs"></i>
|
|
3373
3455
|
</span>
|
|
@@ -3405,8 +3487,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImpor
|
|
|
3405
3487
|
</ng-container>
|
|
3406
3488
|
</div>
|
|
3407
3489
|
<div class="modal-footer">
|
|
3408
|
-
<button
|
|
3409
|
-
|
|
3490
|
+
<button
|
|
3491
|
+
[disabled]="(!this.attributeService.editButtonsEnabled)"
|
|
3492
|
+
class="btn btn-primary"
|
|
3493
|
+
(click)="close('Save')"
|
|
3494
|
+
>
|
|
3495
|
+
Save
|
|
3496
|
+
</button>
|
|
3497
|
+
|
|
3498
|
+
<button
|
|
3499
|
+
class="btn btn-primary"
|
|
3500
|
+
(click)="close('Cancel')"
|
|
3501
|
+
>Cancel
|
|
3502
|
+
</button>
|
|
3410
3503
|
</div>
|
|
3411
3504
|
</ng-template>
|
|
3412
3505
|
`, styles: [".hci-cod button.mat-icon-button.mat-button-base{height:20px;width:20px;line-height:unset}.btn-ga{padding:0;height:18px;width:18px}.ga-icon{font-size:.9em;vertical-align:top}.hci-cod .mat-datepicker-toggle-default-icon{height:20px;width:20px}\n"] }]
|
|
@@ -3754,17 +3847,25 @@ class AttributeFlexComponent extends AttributeBase {
|
|
|
3754
3847
|
<!-- Grid -->
|
|
3755
3848
|
<ng-container *ngIf="attribute.codeAttributeDataType === 'GA'">
|
|
3756
3849
|
<div #attributeRef class="d-flex flex-column cod-type-ga">
|
|
3757
|
-
<div *ngIf="attribute.
|
|
3850
|
+
<div *ngIf="attribute.idAttribute" class="d-flex cod-top-label mr-1">
|
|
3758
3851
|
<div>
|
|
3759
3852
|
{{attribute.displayName}}
|
|
3760
3853
|
</div>
|
|
3761
3854
|
<div *ngIf="editInline" style="margin-left: auto;">
|
|
3762
|
-
|
|
3855
|
+
<button
|
|
3856
|
+
class="btn-ga"
|
|
3857
|
+
[disabled]="(!this.attributeService.editButtonsEnabled)"
|
|
3858
|
+
(click)="addGridRow(editGridModal, attribute.idAttribute)"
|
|
3859
|
+
>
|
|
3763
3860
|
<span class="ga-icon">
|
|
3764
3861
|
<i class="fas fa-plus fa-xs"></i>
|
|
3765
3862
|
</span>
|
|
3766
3863
|
</button>
|
|
3767
|
-
|
|
3864
|
+
<button
|
|
3865
|
+
class="btn-ga"
|
|
3866
|
+
[disabled]="(!this.attributeService.editButtonsEnabled)"
|
|
3867
|
+
(click)="removeGridRow(attribute.idAttribute)"
|
|
3868
|
+
>
|
|
3768
3869
|
<span class="ga-icon">
|
|
3769
3870
|
<i class="fas fa-minus fa-xs"></i>
|
|
3770
3871
|
</span>
|
|
@@ -3802,8 +3903,20 @@ class AttributeFlexComponent extends AttributeBase {
|
|
|
3802
3903
|
</ng-container>
|
|
3803
3904
|
</div>
|
|
3804
3905
|
<div class="modal-footer">
|
|
3805
|
-
|
|
3806
|
-
|
|
3906
|
+
<button
|
|
3907
|
+
[disabled]="(!this.attributeService.editButtonsEnabled)"
|
|
3908
|
+
class="btn btn-primary"
|
|
3909
|
+
(click)="close('Save')"
|
|
3910
|
+
>
|
|
3911
|
+
Save
|
|
3912
|
+
</button>
|
|
3913
|
+
|
|
3914
|
+
<button
|
|
3915
|
+
class="btn btn-primary"
|
|
3916
|
+
(click)="close('Cancel')"
|
|
3917
|
+
>
|
|
3918
|
+
Cancel
|
|
3919
|
+
</button>
|
|
3807
3920
|
</div>
|
|
3808
3921
|
</ng-template>
|
|
3809
3922
|
`, isInline: true, styles: [".hci-cod button.mat-icon-button.mat-button-base{height:20px;width:20px;line-height:unset}.btn-ga{padding:0;height:18px;width:18px}.ga-icon{font-size:.9em;vertical-align:top}.hci-cod .mat-datepicker-toggle-default-icon{height:20px;width:20px}\n"], dependencies: [{ kind: "component", type: i3$1.AgGridAngular, selector: "ag-grid-angular", inputs: ["gridOptions", "modules", "statusBar", "sideBar", "suppressContextMenu", "preventDefaultOnContextMenu", "allowContextMenuWithControlKey", "suppressMenuHide", "enableBrowserTooltips", "tooltipShowDelay", "tooltipHideDelay", "tooltipMouseTrack", "popupParent", "copyHeadersToClipboard", "copyGroupHeadersToClipboard", "clipboardDelimiter", "suppressCopyRowsToClipboard", "suppressCopySingleCellRanges", "suppressLastEmptyLineOnPaste", "suppressClipboardPaste", "suppressClipboardApi", "columnDefs", "defaultColDef", "defaultColGroupDef", "columnTypes", "maintainColumnOrder", "suppressFieldDotNotation", "deltaColumnMode", "applyColumnDefOrder", "immutableColumns", "suppressSetColumnStateEvents", "suppressColumnStateEvents", "colWidth", "minColWidth", "maxColWidth", "headerHeight", "groupHeaderHeight", "floatingFiltersHeight", "pivotHeaderHeight", "pivotGroupHeaderHeight", "allowDragFromColumnsToolPanel", "suppressMovableColumns", "suppressColumnMoveAnimation", "suppressDragLeaveHidesColumns", "suppressRowGroupHidesColumns", "colResizeDefault", "suppressAutoSize", "autoSizePadding", "skipHeaderOnAutoSize", "components", "frameworkComponents", "editType", "singleClickEdit", "suppressClickEdit", "readOnlyEdit", "stopEditingWhenCellsLoseFocus", "enterMovesDown", "enterMovesDownAfterEdit", "enableCellEditingOnBackspace", "undoRedoCellEditing", "undoRedoCellEditingLimit", "stopEditingWhenGridLosesFocus", "defaultCsvExportParams", "suppressCsvExport", "defaultExcelExportParams", "suppressExcelExport", "excelStyles", "defaultExportParams", "quickFilterText", "cacheQuickFilter", "excludeChildrenWhenTreeDataFiltering", "enableCharts", "chartThemes", "customChartThemes", "chartThemeOverrides", "enableChartToolPanelsButton", "chartToolPanelsDef", "loadingCellRenderer", "loadingCellRendererFramework", "loadingCellRendererParams", "loadingCellRendererSelector", "localeText", "masterDetail", "keepDetailRows", "keepDetailRowsCount", "detailCellRenderer", "detailCellRendererFramework", "detailCellRendererParams", "detailRowHeight", "detailRowAutoHeight", "context", "alignedGrids", "tabIndex", "rowBuffer", "valueCache", "valueCacheNeverExpires", "enableCellExpressions", "suppressParentsInRowNodes", "suppressTouch", "suppressFocusAfterRefresh", "suppressAsyncEvents", "suppressBrowserResizeObserver", "suppressPropertyNamesCheck", "suppressChangeDetection", "debug", "overlayLoadingTemplate", "loadingOverlayComponent", "loadingOverlayComponentFramework", "loadingOverlayComponentParams", "suppressLoadingOverlay", "overlayNoRowsTemplate", "noRowsOverlayComponent", "noRowsOverlayComponentFramework", "noRowsOverlayComponentParams", "suppressNoRowsOverlay", "pagination", "paginationPageSize", "paginationAutoPageSize", "paginateChildRows", "suppressPaginationPanel", "pivotMode", "pivotPanelShow", "pivotColumnGroupTotals", "pivotRowTotals", "pivotSuppressAutoColumn", "suppressExpandablePivotGroups", "functionsReadOnly", "aggFuncs", "suppressAggFuncInHeader", "suppressAggAtRootLevel", "aggregateOnlyChangedColumns", "suppressAggFilteredOnly", "removePivotHeaderRowWhenSingleValueColumn", "animateRows", "enableCellChangeFlash", "cellFlashDelay", "cellFadeDelay", "allowShowChangeAfterFilter", "domLayout", "ensureDomOrder", "enableRtl", "suppressColumnVirtualisation", "suppressMaxRenderedRowRestriction", "suppressRowVirtualisation", "rowDragManaged", "suppressRowDrag", "suppressMoveWhenRowDragging", "rowDragEntireRow", "rowDragMultiRow", "rowDragText", "fullWidthCellRenderer", "fullWidthCellRendererFramework", "fullWidthCellRendererParams", "embedFullWidthRows", "deprecatedEmbedFullWidthRows", "groupDisplayType", "groupDefaultExpanded", "autoGroupColumnDef", "groupMaintainOrder", "groupSelectsChildren", "groupAggFiltering", "groupIncludeFooter", "groupIncludeTotalFooter", "groupSuppressBlankHeader", "groupSelectsFiltered", "showOpenedGroup", "groupRemoveSingleChildren", "groupRemoveLowestSingleChildren", "groupHideOpenParents", "rowGroupPanelShow", "groupRowRenderer", "groupRowRendererFramework", "groupRowRendererParams", "suppressMakeColumnVisibleAfterUnGroup", "treeData", "rowGroupPanelSuppressSort", "groupRowsSticky", "groupRowInnerRenderer", "groupRowInnerRendererFramework", "groupMultiAutoColumn", "groupUseEntireRow", "groupSuppressAutoColumn", "rememberGroupStateWhenNewData", "pinnedTopRowData", "pinnedBottomRowData", "rowModelType", "rowData", "immutableData", "asyncTransactionWaitMillis", "suppressModelUpdateAfterUpdateTransaction", "deltaRowDataMode", "batchUpdateWaitMillis", "datasource", "cacheOverflowSize", "infiniteInitialRowCount", "serverSideInitialRowCount", "serverSideStoreType", "serverSideInfiniteScroll", "cacheBlockSize", "maxBlocksInCache", "maxConcurrentDatasourceRequests", "blockLoadDebounceMillis", "purgeClosedRowNodes", "serverSideDatasource", "serverSideSortAllLevels", "serverSideFilterAllLevels", "serverSideSortOnServer", "serverSideFilterOnServer", "serverSideSortingAlwaysResets", "serverSideFilteringAlwaysResets", "suppressEnterpriseResetOnNewColumns", "viewportDatasource", "viewportRowModelPageSize", "viewportRowModelBufferSize", "alwaysShowHorizontalScroll", "alwaysShowVerticalScroll", "debounceVerticalScrollbar", "suppressHorizontalScroll", "suppressScrollOnNewData", "suppressScrollWhenPopupsAreOpen", "suppressAnimationFrame", "suppressMiddleClickScrolls", "suppressPreventDefaultOnMouseWheel", "scrollbarWidth", "rowSelection", "rowMultiSelectWithClick", "suppressRowDeselection", "suppressRowClickSelection", "suppressCellSelection", "suppressCellFocus", "suppressMultiRangeSelection", "enableCellTextSelection", "enableRangeSelection", "enableRangeHandle", "enableFillHandle", "fillHandleDirection", "suppressClearOnFillReduction", "sortingOrder", "accentedSort", "unSortIcon", "suppressMultiSort", "alwaysMultiSort", "multiSortKey", "suppressMaintainUnsortedOrder", "icons", "rowHeight", "rowStyle", "rowClass", "rowClassRules", "suppressRowHoverHighlight", "suppressRowTransform", "columnHoverHighlight", "deltaSort", "treeDataDisplayType", "angularCompileRows", "angularCompileFilters", "functionsPassive", "enableGroupEdit", "getContextMenuItems", "getMainMenuItems", "postProcessPopup", "processCellForClipboard", "processHeaderForClipboard", "processGroupHeaderForClipboard", "processCellFromClipboard", "sendToClipboard", "processDataFromClipboard", "isExternalFilterPresent", "doesExternalFilterPass", "getChartToolbarItems", "createChartContainer", "navigateToNextHeader", "tabToNextHeader", "navigateToNextCell", "tabToNextCell", "suppressKeyboardEvent", "localeTextFunc", "getLocaleText", "getDocument", "paginationNumberFormatter", "groupRowAggNodes", "getGroupRowAgg", "isGroupOpenByDefault", "initialGroupOrderComparator", "defaultGroupOrderComparator", "processSecondaryColDef", "processSecondaryColGroupDef", "processPivotResultColDef", "processPivotResultColGroupDef", "getDataPath", "defaultGroupSortComparator", "getChildCount", "getServerSideGroupLevelParams", "getServerSideStoreParams", "isServerSideGroupOpenByDefault", "isApplyServerSideTransaction", "isServerSideGroup", "getServerSideGroupKey", "getBusinessKeyForNode", "getRowNodeId", "getRowId", "resetRowDataOnUpdate", "processRowPostCreate", "isRowSelectable", "isRowMaster", "fillOperation", "postSort", "postSortRows", "getRowStyle", "getRowClass", "getRowHeight", "isFullWidthCell", "isFullWidthRow"], outputs: ["toolPanelVisibleChanged", "toolPanelSizeChanged", "pasteStart", "pasteEnd", "columnVisible", "columnPinned", "columnResized", "columnMoved", "columnValueChanged", "columnPivotModeChanged", "columnPivotChanged", "columnGroupOpened", "newColumnsLoaded", "gridColumnsChanged", "displayedColumnsChanged", "virtualColumnsChanged", "columnEverythingChanged", "componentStateChanged", "cellValueChanged", "cellEditRequest", "rowValueChanged", "cellEditingStarted", "cellEditingStopped", "rowEditingStarted", "rowEditingStopped", "filterOpened", "filterChanged", "filterModified", "chartCreated", "chartRangeSelectionChanged", "chartOptionsChanged", "chartDestroyed", "cellKeyDown", "cellKeyPress", "gridReady", "firstDataRendered", "gridSizeChanged", "modelUpdated", "virtualRowRemoved", "viewportChanged", "bodyScroll", "bodyScrollEnd", "dragStarted", "dragStopped", "paginationChanged", "rowDragEnter", "rowDragMove", "rowDragLeave", "rowDragEnd", "columnRowGroupChanged", "rowGroupOpened", "expandOrCollapseAll", "pinnedRowDataChanged", "rowDataChanged", "rowDataUpdated", "asyncTransactionsFlushed", "cellClicked", "cellDoubleClicked", "cellFocused", "cellMouseOver", "cellMouseOut", "cellMouseDown", "rowClicked", "rowDoubleClicked", "rowSelected", "selectionChanged", "cellContextMenu", "rangeSelectionChanged", "sortChanged", "columnRowGroupChangeRequest", "columnPivotChangeRequest", "columnValueChangeRequest", "columnAggFuncChangeRequest"] }, { kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i5.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i5.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i5.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i5.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i6.MatDatepicker, selector: "mat-datepicker", exportAs: ["matDatepicker"] }, { kind: "directive", type: i6.MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }, { kind: "component", type: i6.MatDatepickerToggle, selector: "mat-datepicker-toggle", inputs: ["for", "tabIndex", "aria-label", "disabled", "disableRipple"], exportAs: ["matDatepickerToggle"] }, { kind: "component", type: i7.NgxMatDatetimepicker, selector: "ngx-mat-datetime-picker", exportAs: ["ngxMatDatetimePicker"] }, { kind: "directive", type: i7.NgxMatDatepickerInput, selector: "input[ngxMatDatetimePicker]", inputs: ["ngxMatDatetimePicker", "min", "max", "matDatepickerFilter"], exportAs: ["ngxMatDatepickerInput"] }, { kind: "component", type: AttributeEditComponent, selector: "hci-attribute-edit" }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
@@ -4112,17 +4225,25 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImpor
|
|
|
4112
4225
|
<!-- Grid -->
|
|
4113
4226
|
<ng-container *ngIf="attribute.codeAttributeDataType === 'GA'">
|
|
4114
4227
|
<div #attributeRef class="d-flex flex-column cod-type-ga">
|
|
4115
|
-
<div *ngIf="attribute.
|
|
4228
|
+
<div *ngIf="attribute.idAttribute" class="d-flex cod-top-label mr-1">
|
|
4116
4229
|
<div>
|
|
4117
4230
|
{{attribute.displayName}}
|
|
4118
4231
|
</div>
|
|
4119
4232
|
<div *ngIf="editInline" style="margin-left: auto;">
|
|
4120
|
-
|
|
4233
|
+
<button
|
|
4234
|
+
class="btn-ga"
|
|
4235
|
+
[disabled]="(!this.attributeService.editButtonsEnabled)"
|
|
4236
|
+
(click)="addGridRow(editGridModal, attribute.idAttribute)"
|
|
4237
|
+
>
|
|
4121
4238
|
<span class="ga-icon">
|
|
4122
4239
|
<i class="fas fa-plus fa-xs"></i>
|
|
4123
4240
|
</span>
|
|
4124
4241
|
</button>
|
|
4125
|
-
|
|
4242
|
+
<button
|
|
4243
|
+
class="btn-ga"
|
|
4244
|
+
[disabled]="(!this.attributeService.editButtonsEnabled)"
|
|
4245
|
+
(click)="removeGridRow(attribute.idAttribute)"
|
|
4246
|
+
>
|
|
4126
4247
|
<span class="ga-icon">
|
|
4127
4248
|
<i class="fas fa-minus fa-xs"></i>
|
|
4128
4249
|
</span>
|
|
@@ -4160,74 +4281,427 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImpor
|
|
|
4160
4281
|
</ng-container>
|
|
4161
4282
|
</div>
|
|
4162
4283
|
<div class="modal-footer">
|
|
4163
|
-
|
|
4164
|
-
|
|
4284
|
+
<button
|
|
4285
|
+
[disabled]="(!this.attributeService.editButtonsEnabled)"
|
|
4286
|
+
class="btn btn-primary"
|
|
4287
|
+
(click)="close('Save')"
|
|
4288
|
+
>
|
|
4289
|
+
Save
|
|
4290
|
+
</button>
|
|
4291
|
+
|
|
4292
|
+
<button
|
|
4293
|
+
class="btn btn-primary"
|
|
4294
|
+
(click)="close('Cancel')"
|
|
4295
|
+
>
|
|
4296
|
+
Cancel
|
|
4297
|
+
</button>
|
|
4165
4298
|
</div>
|
|
4166
4299
|
</ng-template>
|
|
4167
4300
|
`, styles: [".hci-cod button.mat-icon-button.mat-button-base{height:20px;width:20px;line-height:unset}.btn-ga{padding:0;height:18px;width:18px}.ga-icon{font-size:.9em;vertical-align:top}.hci-cod .mat-datepicker-toggle-default-icon{height:20px;width:20px}\n"] }]
|
|
4168
4301
|
}], ctorParameters: () => [{ type: AttributeService }, { type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i2$1.NgbModal }] });
|
|
4169
4302
|
|
|
4170
|
-
|
|
4171
|
-
|
|
4172
|
-
|
|
4303
|
+
/**
|
|
4304
|
+
* This component should be added on to any screen that displays a container with COD content. This container
|
|
4305
|
+
* represents the one of the containers, which in turn contain attributes which display those values in the
|
|
4306
|
+
* attributeValueSet.
|
|
4307
|
+
*/
|
|
4308
|
+
class AttributeContainerComponent {
|
|
4309
|
+
constructor(attributeService, elementRef, renderer, changeDetectorRef, modalService) {
|
|
4310
|
+
this.attributeService = attributeService;
|
|
4311
|
+
this.elementRef = elementRef;
|
|
4312
|
+
this.renderer = renderer;
|
|
4313
|
+
this.changeDetectorRef = changeDetectorRef;
|
|
4314
|
+
this.modalService = modalService;
|
|
4315
|
+
this.classList = "hci-attribute-configuration hci-cod d-flex flex-column flex-grow-1";
|
|
4316
|
+
this.editInline = true;
|
|
4317
|
+
this.editPopup = false;
|
|
4318
|
+
this.editable = true;
|
|
4319
|
+
this.windowDimension = {};
|
|
4320
|
+
this.subscriptions = new Subscription();
|
|
4321
|
+
this.getBusySubjects = () => {
|
|
4322
|
+
let subjects = [];
|
|
4323
|
+
//subjects.push(this.attributeService.getAttributeConfigurationLoadingSubject());
|
|
4324
|
+
subjects.push(this.attributeService.getLoadingSubject());
|
|
4325
|
+
return subjects;
|
|
4326
|
+
};
|
|
4173
4327
|
}
|
|
4174
|
-
|
|
4175
|
-
|
|
4176
|
-
|
|
4177
|
-
|
|
4178
|
-
|
|
4179
|
-
this.
|
|
4328
|
+
/**
|
|
4329
|
+
* Upon init, subscribe to the configuration and value set.
|
|
4330
|
+
*/
|
|
4331
|
+
ngOnInit() {
|
|
4332
|
+
if (!this.editable) {
|
|
4333
|
+
this.editInline = false;
|
|
4334
|
+
this.editPopup = false;
|
|
4180
4335
|
}
|
|
4336
|
+
this.attributeService.setAttributeConfigurationById(this.idAttributeConfiguration, this.idAttributeValueSet, this.idParentObject);
|
|
4337
|
+
this.subscriptions.add(this.attributeService.getAttributeConfigurationSubject().subscribe((attributeConfiguration) => {
|
|
4338
|
+
if (attributeConfiguration) {
|
|
4339
|
+
this.attributeConfiguration = attributeConfiguration;
|
|
4340
|
+
if (this.idAttributeContainer !== undefined) {
|
|
4341
|
+
this.attributeContainer = this.getAttributeContainerById(this.idAttributeContainer);
|
|
4342
|
+
}
|
|
4343
|
+
if (this.indexOfContainer !== undefined) {
|
|
4344
|
+
if (this.attributeConfiguration.attributeContainers[this.indexOfContainer]) {
|
|
4345
|
+
this.attributeContainer = this.attributeConfiguration.attributeContainers[this.indexOfContainer];
|
|
4346
|
+
}
|
|
4347
|
+
}
|
|
4348
|
+
}
|
|
4349
|
+
}));
|
|
4350
|
+
this.subscriptions.add(this.attributeService.attributeConfigurationDimensionSubject.subscribe((windowDimension) => {
|
|
4351
|
+
if (windowDimension) {
|
|
4352
|
+
this.windowDimension = windowDimension;
|
|
4353
|
+
}
|
|
4354
|
+
}));
|
|
4355
|
+
this.subscriptions.add(this.attributeService.getAttributeValueSet().subscribe((attributeValueSet) => {
|
|
4356
|
+
this.attributeValueSet = attributeValueSet;
|
|
4357
|
+
if (this.attributeValueSet) {
|
|
4358
|
+
this.attributeService.notifyAttributes();
|
|
4359
|
+
}
|
|
4360
|
+
}));
|
|
4181
4361
|
}
|
|
4182
|
-
|
|
4183
|
-
this.
|
|
4184
|
-
this.onChange = (_) => { };
|
|
4185
|
-
this.onTouched = () => { };
|
|
4362
|
+
set boundData(value) {
|
|
4363
|
+
this.attributeService.setBoundData(value);
|
|
4186
4364
|
}
|
|
4187
|
-
|
|
4188
|
-
|
|
4189
|
-
this._value = v;
|
|
4365
|
+
ngOnDestroy() {
|
|
4366
|
+
this.subscriptions.unsubscribe();
|
|
4190
4367
|
}
|
|
4191
|
-
|
|
4192
|
-
this.
|
|
4368
|
+
ngOnChanges(changes) {
|
|
4369
|
+
if (!this.editable) {
|
|
4370
|
+
this.editInline = false;
|
|
4371
|
+
this.editPopup = false;
|
|
4372
|
+
}
|
|
4373
|
+
if (changes.idAttributeContainer) {
|
|
4374
|
+
this.idAttributeContainer = changes.idAttributeContainer.currentValue;
|
|
4375
|
+
this.attributeContainer = this.getAttributeContainerById(this.idAttributeContainer);
|
|
4376
|
+
}
|
|
4377
|
+
if (changes.indexOfContainer) {
|
|
4378
|
+
this.indexOfContainer = changes.indexOfContainer.currentValue;
|
|
4379
|
+
if (this.attributeConfiguration && this.attributeConfiguration.attributeContainers[this.indexOfContainer]) {
|
|
4380
|
+
this.attributeContainer = this.attributeConfiguration.attributeContainers[this.indexOfContainer];
|
|
4381
|
+
}
|
|
4382
|
+
}
|
|
4193
4383
|
}
|
|
4194
|
-
|
|
4195
|
-
this.
|
|
4384
|
+
getAttributeService() {
|
|
4385
|
+
return this.attributeService;
|
|
4196
4386
|
}
|
|
4197
|
-
|
|
4198
|
-
|
|
4199
|
-
|
|
4200
|
-
|
|
4201
|
-
|
|
4202
|
-
multi: true
|
|
4387
|
+
edit(modal, editContainer) {
|
|
4388
|
+
this.editContainer = editContainer;
|
|
4389
|
+
this.modalService.open(modal, { windowClass: "modal-lg" }).result.then((result) => {
|
|
4390
|
+
if (result === "Save") {
|
|
4391
|
+
this.attributeService.updateAttributeValueSet();
|
|
4203
4392
|
}
|
|
4204
|
-
|
|
4205
|
-
|
|
4206
|
-
|
|
4207
|
-
|
|
4208
|
-
|
|
4209
|
-
|
|
4210
|
-
|
|
4211
|
-
|
|
4212
|
-
|
|
4213
|
-
|
|
4214
|
-
|
|
4215
|
-
|
|
4216
|
-
|
|
4217
|
-
|
|
4218
|
-
|
|
4219
|
-
|
|
4220
|
-
|
|
4221
|
-
|
|
4222
|
-
|
|
4223
|
-
|
|
4393
|
+
else if (result === "Cancel") {
|
|
4394
|
+
this.attributeService.clearUpdatedAttributeValues();
|
|
4395
|
+
}
|
|
4396
|
+
}, (reason) => { });
|
|
4397
|
+
}
|
|
4398
|
+
post() {
|
|
4399
|
+
this.attributeService.updateAttributeValueSet();
|
|
4400
|
+
}
|
|
4401
|
+
getAttributeContainerById(idAttributeContainer) {
|
|
4402
|
+
if (this.attributeConfiguration) {
|
|
4403
|
+
return this.attributeConfiguration.attributeContainers.find(x => x.idAttributeContainer === idAttributeContainer);
|
|
4404
|
+
}
|
|
4405
|
+
}
|
|
4406
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: AttributeContainerComponent, deps: [{ token: AttributeService }, { token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }, { token: i2$1.NgbModal }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
4407
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.2", type: AttributeContainerComponent, selector: "hci-attribute-container", inputs: { idAttributeValueSet: "idAttributeValueSet", idAttributeConfiguration: "idAttributeConfiguration", idAttributeContainer: "idAttributeContainer", indexOfContainer: "indexOfContainer", idParentObject: "idParentObject", attributeContainer: "attributeContainer", attributeConfiguration: "attributeConfiguration", attributeValueSet: "attributeValueSet", editInline: "editInline", editPopup: "editPopup", editable: "editable", boundData: "boundData" }, host: { properties: { "class": "this.classList" } }, usesOnChanges: true, ngImport: i0, template: `
|
|
4408
|
+
<hci-busy [getBusySubjects]="getBusySubjects"></hci-busy>
|
|
4409
|
+
|
|
4410
|
+
<ng-container *ngIf="attributeContainer">
|
|
4411
|
+
<div *ngIf="editPopup" [id]="'id-attribute-container-' + attributeContainer.idAttributeContainer + '-header'"
|
|
4412
|
+
class="d-flex attribute-container-header {{'sort-order-' + attributeContainer.sortOrder}}">
|
|
4413
|
+
<div class="ms-auto me-0" (click)="edit(editModal, attributeContainer)">
|
|
4414
|
+
<i class="fas fa-pencil-alt"></i>
|
|
4415
|
+
</div>
|
|
4416
|
+
</div>
|
|
4417
|
+
<div class="d-flex flex-grow-1 y-auto" style="flex: 1 1 1px;">
|
|
4418
|
+
<div class="attribute-container"
|
|
4419
|
+
[class.col-md-12]="attributeContainer.isAutoLayout && attributeContainer.isAutoLayout === 'Y'"
|
|
4420
|
+
[class.flex]="attributeContainer.isAutoLayout && attributeContainer.isAutoLayout === 'Y'"
|
|
4421
|
+
[class.flex-wrap]="attributeContainer.isAutoLayout && attributeContainer.isAutoLayout === 'Y'"
|
|
4422
|
+
[class.absolute]="!attributeContainer.isAutoLayout || attributeContainer.isAutoLayout === 'N'">
|
|
4423
|
+
<ng-container *ngFor="let attribute of attributeContainer.graphicalAttributes | isGroupAttribute: false">
|
|
4424
|
+
<ng-container *ngIf="attributeContainer.isAutoLayout && attributeContainer.isAutoLayout === 'Y' && attribute.codeAttributeDataType !== 'LINE'">
|
|
4425
|
+
<hci-attribute-flex [id]="'id-attribute-' + attribute.idAttribute"
|
|
4426
|
+
[attribute]="attribute"
|
|
4427
|
+
[editInline]="editInline"
|
|
4428
|
+
[class.attribute]="true"
|
|
4429
|
+
[class.col-4]="attribute.codeAttributeDataType !== 'GA' && attribute.codeAttributeDataType !== 'LINE'"
|
|
4430
|
+
[class.col-12]="attribute.codeAttributeDataType === 'GA' || attribute.codeAttributeDataType === 'LINE'"></hci-attribute-flex>
|
|
4431
|
+
</ng-container>
|
|
4432
|
+
<ng-container *ngIf="!attributeContainer.isAutoLayout || attributeContainer.isAutoLayout === 'N'">
|
|
4433
|
+
<hci-attribute-absolute [id]="'id-attribute-' + attribute.idAttribute"
|
|
4434
|
+
[attribute]="attribute"
|
|
4435
|
+
[editInline]="editInline"
|
|
4436
|
+
[class.attribute]="true"></hci-attribute-absolute>
|
|
4437
|
+
</ng-container>
|
|
4438
|
+
</ng-container>
|
|
4439
|
+
</div>
|
|
4440
|
+
</div>
|
|
4224
4441
|
</ng-container>
|
|
4225
4442
|
|
|
4226
|
-
|
|
4227
|
-
|
|
4228
|
-
|
|
4229
|
-
|
|
4230
|
-
|
|
4443
|
+
<ng-template #editModal let-close="close">
|
|
4444
|
+
<div class="modal-header">
|
|
4445
|
+
{{editContainer.containerName}}
|
|
4446
|
+
</div>
|
|
4447
|
+
<div class="modal-body d-flex flex-column hci-cod-edit">
|
|
4448
|
+
<ng-container *ngFor="let attribute of editContainer.graphicalAttributes | isGroupAttribute: false">
|
|
4449
|
+
<hci-attribute-edit [id]="'edit-id-attribute-' + attribute.idAttribute"
|
|
4450
|
+
[attribute]="attribute"
|
|
4451
|
+
class="attribute"></hci-attribute-edit>
|
|
4452
|
+
</ng-container>
|
|
4453
|
+
</div>
|
|
4454
|
+
<div class="modal-footer">
|
|
4455
|
+
<button class="btn btn-primary" (click)="close('Save')">Save</button>
|
|
4456
|
+
<button class="btn btn-primary" (click)="close('Cancel')">Cancel</button>
|
|
4457
|
+
</div>
|
|
4458
|
+
</ng-template>
|
|
4459
|
+
`, isInline: true, dependencies: [{ kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4$1.BusyComponent, selector: "hci-busy", inputs: ["busy", "busySubjects", "getBusySubjects", "parentSelector", "rootClass", "icon", "iconSize", "showIcon", "mxAuto", "myAuto", "text", "template", "config"] }, { kind: "component", type: AttributeAbsoluteComponent, selector: "hci-attribute-absolute" }, { kind: "component", type: AttributeFlexComponent, selector: "hci-attribute-flex" }, { kind: "component", type: AttributeEditComponent, selector: "hci-attribute-edit" }, { kind: "pipe", type: IsGroupAttributePipe, name: "isGroupAttribute" }] }); }
|
|
4460
|
+
}
|
|
4461
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: AttributeContainerComponent, decorators: [{
|
|
4462
|
+
type: Component,
|
|
4463
|
+
args: [{
|
|
4464
|
+
selector: "hci-attribute-container",
|
|
4465
|
+
template: `
|
|
4466
|
+
<hci-busy [getBusySubjects]="getBusySubjects"></hci-busy>
|
|
4467
|
+
|
|
4468
|
+
<ng-container *ngIf="attributeContainer">
|
|
4469
|
+
<div *ngIf="editPopup" [id]="'id-attribute-container-' + attributeContainer.idAttributeContainer + '-header'"
|
|
4470
|
+
class="d-flex attribute-container-header {{'sort-order-' + attributeContainer.sortOrder}}">
|
|
4471
|
+
<div class="ms-auto me-0" (click)="edit(editModal, attributeContainer)">
|
|
4472
|
+
<i class="fas fa-pencil-alt"></i>
|
|
4473
|
+
</div>
|
|
4474
|
+
</div>
|
|
4475
|
+
<div class="d-flex flex-grow-1 y-auto" style="flex: 1 1 1px;">
|
|
4476
|
+
<div class="attribute-container"
|
|
4477
|
+
[class.col-md-12]="attributeContainer.isAutoLayout && attributeContainer.isAutoLayout === 'Y'"
|
|
4478
|
+
[class.flex]="attributeContainer.isAutoLayout && attributeContainer.isAutoLayout === 'Y'"
|
|
4479
|
+
[class.flex-wrap]="attributeContainer.isAutoLayout && attributeContainer.isAutoLayout === 'Y'"
|
|
4480
|
+
[class.absolute]="!attributeContainer.isAutoLayout || attributeContainer.isAutoLayout === 'N'">
|
|
4481
|
+
<ng-container *ngFor="let attribute of attributeContainer.graphicalAttributes | isGroupAttribute: false">
|
|
4482
|
+
<ng-container *ngIf="attributeContainer.isAutoLayout && attributeContainer.isAutoLayout === 'Y' && attribute.codeAttributeDataType !== 'LINE'">
|
|
4483
|
+
<hci-attribute-flex [id]="'id-attribute-' + attribute.idAttribute"
|
|
4484
|
+
[attribute]="attribute"
|
|
4485
|
+
[editInline]="editInline"
|
|
4486
|
+
[class.attribute]="true"
|
|
4487
|
+
[class.col-4]="attribute.codeAttributeDataType !== 'GA' && attribute.codeAttributeDataType !== 'LINE'"
|
|
4488
|
+
[class.col-12]="attribute.codeAttributeDataType === 'GA' || attribute.codeAttributeDataType === 'LINE'"></hci-attribute-flex>
|
|
4489
|
+
</ng-container>
|
|
4490
|
+
<ng-container *ngIf="!attributeContainer.isAutoLayout || attributeContainer.isAutoLayout === 'N'">
|
|
4491
|
+
<hci-attribute-absolute [id]="'id-attribute-' + attribute.idAttribute"
|
|
4492
|
+
[attribute]="attribute"
|
|
4493
|
+
[editInline]="editInline"
|
|
4494
|
+
[class.attribute]="true"></hci-attribute-absolute>
|
|
4495
|
+
</ng-container>
|
|
4496
|
+
</ng-container>
|
|
4497
|
+
</div>
|
|
4498
|
+
</div>
|
|
4499
|
+
</ng-container>
|
|
4500
|
+
|
|
4501
|
+
<ng-template #editModal let-close="close">
|
|
4502
|
+
<div class="modal-header">
|
|
4503
|
+
{{editContainer.containerName}}
|
|
4504
|
+
</div>
|
|
4505
|
+
<div class="modal-body d-flex flex-column hci-cod-edit">
|
|
4506
|
+
<ng-container *ngFor="let attribute of editContainer.graphicalAttributes | isGroupAttribute: false">
|
|
4507
|
+
<hci-attribute-edit [id]="'edit-id-attribute-' + attribute.idAttribute"
|
|
4508
|
+
[attribute]="attribute"
|
|
4509
|
+
class="attribute"></hci-attribute-edit>
|
|
4510
|
+
</ng-container>
|
|
4511
|
+
</div>
|
|
4512
|
+
<div class="modal-footer">
|
|
4513
|
+
<button class="btn btn-primary" (click)="close('Save')">Save</button>
|
|
4514
|
+
<button class="btn btn-primary" (click)="close('Cancel')">Cancel</button>
|
|
4515
|
+
</div>
|
|
4516
|
+
</ng-template>
|
|
4517
|
+
`
|
|
4518
|
+
}]
|
|
4519
|
+
}], ctorParameters: () => [{ type: AttributeService }, { type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i0.ChangeDetectorRef }, { type: i2$1.NgbModal }], propDecorators: { classList: [{
|
|
4520
|
+
type: HostBinding,
|
|
4521
|
+
args: ["class"]
|
|
4522
|
+
}], idAttributeValueSet: [{
|
|
4523
|
+
type: Input
|
|
4524
|
+
}], idAttributeConfiguration: [{
|
|
4525
|
+
type: Input
|
|
4526
|
+
}], idAttributeContainer: [{
|
|
4527
|
+
type: Input
|
|
4528
|
+
}], indexOfContainer: [{
|
|
4529
|
+
type: Input
|
|
4530
|
+
}], idParentObject: [{
|
|
4531
|
+
type: Input
|
|
4532
|
+
}], attributeContainer: [{
|
|
4533
|
+
type: Input
|
|
4534
|
+
}], attributeConfiguration: [{
|
|
4535
|
+
type: Input
|
|
4536
|
+
}], attributeValueSet: [{
|
|
4537
|
+
type: Input
|
|
4538
|
+
}], editInline: [{
|
|
4539
|
+
type: Input
|
|
4540
|
+
}], editPopup: [{
|
|
4541
|
+
type: Input
|
|
4542
|
+
}], editable: [{
|
|
4543
|
+
type: Input
|
|
4544
|
+
}], boundData: [{
|
|
4545
|
+
type: Input
|
|
4546
|
+
}] } });
|
|
4547
|
+
|
|
4548
|
+
/*
|
|
4549
|
+
* Copyright (c) 2016 Huntsman Cancer Institute at the University of Utah, Confidential and Proprietary
|
|
4550
|
+
*/
|
|
4551
|
+
/**
|
|
4552
|
+
* The main @huntsman-cancer-institute/cod module. Custom components to be used by the grid are passed in here.
|
|
4553
|
+
*
|
|
4554
|
+
* @since 1.0.0
|
|
4555
|
+
*/
|
|
4556
|
+
class CodModule {
|
|
4557
|
+
static forRoot() {
|
|
4558
|
+
return {
|
|
4559
|
+
providers: [
|
|
4560
|
+
AttributeService
|
|
4561
|
+
],
|
|
4562
|
+
ngModule: CodModule
|
|
4563
|
+
};
|
|
4564
|
+
}
|
|
4565
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: CodModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
4566
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.1.2", ngImport: i0, type: CodModule, declarations: [AttributeBase,
|
|
4567
|
+
AttributeAbsoluteComponent,
|
|
4568
|
+
AttributeContainerComponent,
|
|
4569
|
+
AttributeFlexComponent,
|
|
4570
|
+
AttributeEditComponent,
|
|
4571
|
+
IsGroupAttributePipe], imports: [AgGridModule,
|
|
4572
|
+
CommonModule,
|
|
4573
|
+
FormsModule,
|
|
4574
|
+
RouterModule,
|
|
4575
|
+
NgbModule,
|
|
4576
|
+
DropdownModule,
|
|
4577
|
+
SelectModule,
|
|
4578
|
+
MiscModule,
|
|
4579
|
+
MatDatepickerModule,
|
|
4580
|
+
MatNativeDateModule,
|
|
4581
|
+
NgxMatDatetimePickerModule,
|
|
4582
|
+
NgxMatTimepickerModule,
|
|
4583
|
+
NgxMatNativeDateModule,
|
|
4584
|
+
DictionaryServiceModule], exports: [AttributeAbsoluteComponent,
|
|
4585
|
+
AttributeFlexComponent,
|
|
4586
|
+
AttributeEditComponent,
|
|
4587
|
+
AttributeContainerComponent,
|
|
4588
|
+
IsGroupAttributePipe] }); }
|
|
4589
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: CodModule, imports: [AgGridModule,
|
|
4590
|
+
CommonModule,
|
|
4591
|
+
FormsModule,
|
|
4592
|
+
RouterModule,
|
|
4593
|
+
NgbModule,
|
|
4594
|
+
DropdownModule,
|
|
4595
|
+
SelectModule,
|
|
4596
|
+
MiscModule,
|
|
4597
|
+
MatDatepickerModule,
|
|
4598
|
+
MatNativeDateModule,
|
|
4599
|
+
NgxMatDatetimePickerModule,
|
|
4600
|
+
NgxMatTimepickerModule,
|
|
4601
|
+
NgxMatNativeDateModule,
|
|
4602
|
+
DictionaryServiceModule] }); }
|
|
4603
|
+
}
|
|
4604
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: CodModule, decorators: [{
|
|
4605
|
+
type: NgModule,
|
|
4606
|
+
args: [{
|
|
4607
|
+
imports: [
|
|
4608
|
+
AgGridModule,
|
|
4609
|
+
CommonModule,
|
|
4610
|
+
FormsModule,
|
|
4611
|
+
RouterModule,
|
|
4612
|
+
NgbModule,
|
|
4613
|
+
DropdownModule,
|
|
4614
|
+
SelectModule,
|
|
4615
|
+
MiscModule,
|
|
4616
|
+
MatDatepickerModule,
|
|
4617
|
+
MatNativeDateModule,
|
|
4618
|
+
NgxMatDatetimePickerModule,
|
|
4619
|
+
NgxMatTimepickerModule,
|
|
4620
|
+
NgxMatNativeDateModule,
|
|
4621
|
+
DictionaryServiceModule
|
|
4622
|
+
],
|
|
4623
|
+
declarations: [
|
|
4624
|
+
AttributeBase,
|
|
4625
|
+
AttributeAbsoluteComponent,
|
|
4626
|
+
AttributeContainerComponent,
|
|
4627
|
+
AttributeFlexComponent,
|
|
4628
|
+
AttributeEditComponent,
|
|
4629
|
+
IsGroupAttributePipe
|
|
4630
|
+
],
|
|
4631
|
+
exports: [
|
|
4632
|
+
AttributeAbsoluteComponent,
|
|
4633
|
+
AttributeFlexComponent,
|
|
4634
|
+
AttributeEditComponent,
|
|
4635
|
+
AttributeContainerComponent,
|
|
4636
|
+
IsGroupAttributePipe
|
|
4637
|
+
]
|
|
4638
|
+
}]
|
|
4639
|
+
}] });
|
|
4640
|
+
|
|
4641
|
+
class AttributeValue {
|
|
4642
|
+
}
|
|
4643
|
+
|
|
4644
|
+
class AttributeDefaultComponent {
|
|
4645
|
+
get value() {
|
|
4646
|
+
return this._value;
|
|
4647
|
+
}
|
|
4648
|
+
;
|
|
4649
|
+
set value(v) {
|
|
4650
|
+
this.onTouched();
|
|
4651
|
+
if (v !== this.value) {
|
|
4652
|
+
this._value = v;
|
|
4653
|
+
this.onChange(v);
|
|
4654
|
+
}
|
|
4655
|
+
}
|
|
4656
|
+
constructor() {
|
|
4657
|
+
this._value = "";
|
|
4658
|
+
this.onChange = (_) => { };
|
|
4659
|
+
this.onTouched = () => { };
|
|
4660
|
+
}
|
|
4661
|
+
ngOnInit() { }
|
|
4662
|
+
writeValue(v) {
|
|
4663
|
+
this._value = v;
|
|
4664
|
+
}
|
|
4665
|
+
registerOnChange(fn) {
|
|
4666
|
+
this.onChange = fn;
|
|
4667
|
+
}
|
|
4668
|
+
registerOnTouched(fn) {
|
|
4669
|
+
this.onTouched = fn;
|
|
4670
|
+
}
|
|
4671
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: AttributeDefaultComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
4672
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.2", type: AttributeDefaultComponent, selector: "hci-attribute-default", inputs: { id: "id", name: "name", attribute: "attribute" }, providers: [
|
|
4673
|
+
{
|
|
4674
|
+
provide: NG_VALUE_ACCESSOR,
|
|
4675
|
+
useExisting: forwardRef(() => AttributeDefaultComponent),
|
|
4676
|
+
multi: true
|
|
4677
|
+
}
|
|
4678
|
+
], ngImport: i0, template: `
|
|
4679
|
+
<!-- String -->
|
|
4680
|
+
<ng-container *ngIf="attribute.codeAttributeDataType.toUpperCase() === 'S'">
|
|
4681
|
+
<input type="text"
|
|
4682
|
+
class="form-control"
|
|
4683
|
+
[id]="id"
|
|
4684
|
+
[name]="name"
|
|
4685
|
+
[(ngModel)]="value">
|
|
4686
|
+
</ng-container>
|
|
4687
|
+
|
|
4688
|
+
<!-- Text -->
|
|
4689
|
+
<ng-container *ngIf="attribute.codeAttributeDataType.toUpperCase() === 'TXT'">
|
|
4690
|
+
<textarea type="text"
|
|
4691
|
+
class="form-control"
|
|
4692
|
+
[id]="id"
|
|
4693
|
+
[name]="name"
|
|
4694
|
+
spellcheck="spellcheck"
|
|
4695
|
+
lang="en"
|
|
4696
|
+
[(ngModel)]="value">
|
|
4697
|
+
</textarea>
|
|
4698
|
+
</ng-container>
|
|
4699
|
+
|
|
4700
|
+
<!-- Checkbox -->
|
|
4701
|
+
<ng-container *ngIf="attribute.codeAttributeDataType.toUpperCase() === 'CB'">
|
|
4702
|
+
<input type="checkbox"
|
|
4703
|
+
class="form-control"
|
|
4704
|
+
[id]="id"
|
|
4231
4705
|
[name]="name"
|
|
4232
4706
|
[(ngModel)]="value"
|
|
4233
4707
|
[checked]="value && value.toUpperCase() === 'Y'">
|
|
@@ -4332,7 +4806,7 @@ class AttributeDefaultComponent {
|
|
|
4332
4806
|
[name]="name"
|
|
4333
4807
|
disabled>
|
|
4334
4808
|
</ng-container>
|
|
4335
|
-
`, isInline: true
|
|
4809
|
+
`, isInline: true }); }
|
|
4336
4810
|
}
|
|
4337
4811
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: AttributeDefaultComponent, decorators: [{
|
|
4338
4812
|
type: Component,
|
|
@@ -4486,348 +4960,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImpor
|
|
|
4486
4960
|
type: Input
|
|
4487
4961
|
}] } });
|
|
4488
4962
|
|
|
4489
|
-
/**
|
|
4490
|
-
* This component should be added on to any screen that displays a container with COD content. This container
|
|
4491
|
-
* represents the one of the containers, which in turn contain attributes which display those values in the
|
|
4492
|
-
* attributeValueSet.
|
|
4493
|
-
*/
|
|
4494
|
-
class AttributeContainerComponent {
|
|
4495
|
-
constructor(attributeService, elementRef, renderer, changeDetectorRef, modalService) {
|
|
4496
|
-
this.attributeService = attributeService;
|
|
4497
|
-
this.elementRef = elementRef;
|
|
4498
|
-
this.renderer = renderer;
|
|
4499
|
-
this.changeDetectorRef = changeDetectorRef;
|
|
4500
|
-
this.modalService = modalService;
|
|
4501
|
-
this.classList = "hci-attribute-configuration hci-cod d-flex flex-column flex-grow-1";
|
|
4502
|
-
this.editInline = true;
|
|
4503
|
-
this.editPopup = false;
|
|
4504
|
-
this.editable = true;
|
|
4505
|
-
this.windowDimension = {};
|
|
4506
|
-
this.subscriptions = new Subscription();
|
|
4507
|
-
this.getBusySubjects = () => {
|
|
4508
|
-
let subjects = [];
|
|
4509
|
-
//subjects.push(this.attributeService.getAttributeConfigurationLoadingSubject());
|
|
4510
|
-
subjects.push(this.attributeService.getLoadingSubject());
|
|
4511
|
-
return subjects;
|
|
4512
|
-
};
|
|
4513
|
-
}
|
|
4514
|
-
/**
|
|
4515
|
-
* Upon init, subscribe to the configuration and value set.
|
|
4516
|
-
*/
|
|
4517
|
-
ngOnInit() {
|
|
4518
|
-
if (!this.editable) {
|
|
4519
|
-
this.editInline = false;
|
|
4520
|
-
this.editPopup = false;
|
|
4521
|
-
}
|
|
4522
|
-
this.attributeService.setAttributeConfigurationById(this.idAttributeConfiguration, this.idAttributeValueSet, this.idParentObject);
|
|
4523
|
-
this.subscriptions.add(this.attributeService.getAttributeConfigurationSubject().subscribe((attributeConfiguration) => {
|
|
4524
|
-
if (attributeConfiguration) {
|
|
4525
|
-
this.attributeConfiguration = attributeConfiguration;
|
|
4526
|
-
if (this.idAttributeContainer !== undefined) {
|
|
4527
|
-
this.attributeContainer = this.getAttributeContainerById(this.idAttributeContainer);
|
|
4528
|
-
}
|
|
4529
|
-
if (this.indexOfContainer !== undefined) {
|
|
4530
|
-
if (this.attributeConfiguration.attributeContainers[this.indexOfContainer]) {
|
|
4531
|
-
this.attributeContainer = this.attributeConfiguration.attributeContainers[this.indexOfContainer];
|
|
4532
|
-
}
|
|
4533
|
-
}
|
|
4534
|
-
}
|
|
4535
|
-
}));
|
|
4536
|
-
this.subscriptions.add(this.attributeService.attributeConfigurationDimensionSubject.subscribe((windowDimension) => {
|
|
4537
|
-
if (windowDimension) {
|
|
4538
|
-
this.windowDimension = windowDimension;
|
|
4539
|
-
}
|
|
4540
|
-
}));
|
|
4541
|
-
this.subscriptions.add(this.attributeService.getAttributeValueSet().subscribe((attributeValueSet) => {
|
|
4542
|
-
this.attributeValueSet = attributeValueSet;
|
|
4543
|
-
if (this.attributeValueSet) {
|
|
4544
|
-
this.attributeService.notifyAttributes();
|
|
4545
|
-
}
|
|
4546
|
-
}));
|
|
4547
|
-
}
|
|
4548
|
-
set boundData(value) {
|
|
4549
|
-
this.attributeService.setBoundData(value);
|
|
4550
|
-
}
|
|
4551
|
-
ngOnDestroy() {
|
|
4552
|
-
this.subscriptions.unsubscribe();
|
|
4553
|
-
}
|
|
4554
|
-
ngOnChanges(changes) {
|
|
4555
|
-
if (!this.editable) {
|
|
4556
|
-
this.editInline = false;
|
|
4557
|
-
this.editPopup = false;
|
|
4558
|
-
}
|
|
4559
|
-
if (changes.idAttributeContainer) {
|
|
4560
|
-
this.idAttributeContainer = changes.idAttributeContainer.currentValue;
|
|
4561
|
-
this.attributeContainer = this.getAttributeContainerById(this.idAttributeContainer);
|
|
4562
|
-
}
|
|
4563
|
-
if (changes.indexOfContainer) {
|
|
4564
|
-
this.indexOfContainer = changes.indexOfContainer.currentValue;
|
|
4565
|
-
if (this.attributeConfiguration && this.attributeConfiguration.attributeContainers[this.indexOfContainer]) {
|
|
4566
|
-
this.attributeContainer = this.attributeConfiguration.attributeContainers[this.indexOfContainer];
|
|
4567
|
-
}
|
|
4568
|
-
}
|
|
4569
|
-
}
|
|
4570
|
-
getAttributeService() {
|
|
4571
|
-
return this.attributeService;
|
|
4572
|
-
}
|
|
4573
|
-
edit(modal, editContainer) {
|
|
4574
|
-
this.editContainer = editContainer;
|
|
4575
|
-
this.modalService.open(modal, { windowClass: "modal-lg" }).result.then((result) => {
|
|
4576
|
-
if (result === "Save") {
|
|
4577
|
-
this.attributeService.updateAttributeValueSet();
|
|
4578
|
-
}
|
|
4579
|
-
else if (result === "Cancel") {
|
|
4580
|
-
this.attributeService.clearUpdatedAttributeValues();
|
|
4581
|
-
}
|
|
4582
|
-
}, (reason) => { });
|
|
4583
|
-
}
|
|
4584
|
-
post() {
|
|
4585
|
-
this.attributeService.updateAttributeValueSet();
|
|
4586
|
-
}
|
|
4587
|
-
getAttributeContainerById(idAttributeContainer) {
|
|
4588
|
-
if (this.attributeConfiguration) {
|
|
4589
|
-
return this.attributeConfiguration.attributeContainers.find(x => x.idAttributeContainer === idAttributeContainer);
|
|
4590
|
-
}
|
|
4591
|
-
}
|
|
4592
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: AttributeContainerComponent, deps: [{ token: AttributeService }, { token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }, { token: i2$1.NgbModal }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
4593
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.2", type: AttributeContainerComponent, selector: "hci-attribute-container", inputs: { idAttributeValueSet: "idAttributeValueSet", idAttributeConfiguration: "idAttributeConfiguration", idAttributeContainer: "idAttributeContainer", indexOfContainer: "indexOfContainer", idParentObject: "idParentObject", attributeContainer: "attributeContainer", attributeConfiguration: "attributeConfiguration", attributeValueSet: "attributeValueSet", editInline: "editInline", editPopup: "editPopup", editable: "editable", boundData: "boundData" }, host: { properties: { "class": "this.classList" } }, usesOnChanges: true, ngImport: i0, template: `
|
|
4594
|
-
<hci-busy [getBusySubjects]="getBusySubjects"></hci-busy>
|
|
4595
|
-
|
|
4596
|
-
<ng-container *ngIf="attributeContainer">
|
|
4597
|
-
<div *ngIf="editPopup" [id]="'id-attribute-container-' + attributeContainer.idAttributeContainer + '-header'"
|
|
4598
|
-
class="d-flex attribute-container-header {{'sort-order-' + attributeContainer.sortOrder}}">
|
|
4599
|
-
<div class="ms-auto me-0" (click)="edit(editModal, attributeContainer)">
|
|
4600
|
-
<i class="fas fa-pencil-alt"></i>
|
|
4601
|
-
</div>
|
|
4602
|
-
</div>
|
|
4603
|
-
<div class="d-flex flex-grow-1 y-auto" style="flex: 1 1 1px;">
|
|
4604
|
-
<div class="attribute-container"
|
|
4605
|
-
[class.col-md-12]="attributeContainer.isAutoLayout && attributeContainer.isAutoLayout === 'Y'"
|
|
4606
|
-
[class.flex]="attributeContainer.isAutoLayout && attributeContainer.isAutoLayout === 'Y'"
|
|
4607
|
-
[class.flex-wrap]="attributeContainer.isAutoLayout && attributeContainer.isAutoLayout === 'Y'"
|
|
4608
|
-
[class.absolute]="!attributeContainer.isAutoLayout || attributeContainer.isAutoLayout === 'N'">
|
|
4609
|
-
<ng-container *ngFor="let attribute of attributeContainer.graphicalAttributes | isGroupAttribute: false">
|
|
4610
|
-
<ng-container *ngIf="attributeContainer.isAutoLayout && attributeContainer.isAutoLayout === 'Y' && attribute.codeAttributeDataType !== 'LINE'">
|
|
4611
|
-
<hci-attribute-flex [id]="'id-attribute-' + attribute.idAttribute"
|
|
4612
|
-
[attribute]="attribute"
|
|
4613
|
-
[editInline]="editInline"
|
|
4614
|
-
[class.attribute]="true"
|
|
4615
|
-
[class.col-4]="attribute.codeAttributeDataType !== 'GA' && attribute.codeAttributeDataType !== 'LINE'"
|
|
4616
|
-
[class.col-12]="attribute.codeAttributeDataType === 'GA' || attribute.codeAttributeDataType === 'LINE'"></hci-attribute-flex>
|
|
4617
|
-
</ng-container>
|
|
4618
|
-
<ng-container *ngIf="!attributeContainer.isAutoLayout || attributeContainer.isAutoLayout === 'N'">
|
|
4619
|
-
<hci-attribute-absolute [id]="'id-attribute-' + attribute.idAttribute"
|
|
4620
|
-
[attribute]="attribute"
|
|
4621
|
-
[editInline]="editInline"
|
|
4622
|
-
[class.attribute]="true"></hci-attribute-absolute>
|
|
4623
|
-
</ng-container>
|
|
4624
|
-
</ng-container>
|
|
4625
|
-
</div>
|
|
4626
|
-
</div>
|
|
4627
|
-
</ng-container>
|
|
4628
|
-
|
|
4629
|
-
<ng-template #editModal let-close="close">
|
|
4630
|
-
<div class="modal-header">
|
|
4631
|
-
{{editContainer.containerName}}
|
|
4632
|
-
</div>
|
|
4633
|
-
<div class="modal-body d-flex flex-column hci-cod-edit">
|
|
4634
|
-
<ng-container *ngFor="let attribute of editContainer.graphicalAttributes | isGroupAttribute: false">
|
|
4635
|
-
<hci-attribute-edit [id]="'edit-id-attribute-' + attribute.idAttribute"
|
|
4636
|
-
[attribute]="attribute"
|
|
4637
|
-
class="attribute"></hci-attribute-edit>
|
|
4638
|
-
</ng-container>
|
|
4639
|
-
</div>
|
|
4640
|
-
<div class="modal-footer">
|
|
4641
|
-
<button class="btn btn-primary" (click)="close('Save')">Save</button>
|
|
4642
|
-
<button class="btn btn-primary" (click)="close('Cancel')">Cancel</button>
|
|
4643
|
-
</div>
|
|
4644
|
-
</ng-template>
|
|
4645
|
-
`, isInline: true, dependencies: [{ kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4$1.BusyComponent, selector: "hci-busy", inputs: ["busy", "busySubjects", "getBusySubjects", "parentSelector", "rootClass", "icon", "iconSize", "showIcon", "mxAuto", "myAuto", "text", "template", "config"] }, { kind: "component", type: AttributeAbsoluteComponent, selector: "hci-attribute-absolute" }, { kind: "component", type: AttributeFlexComponent, selector: "hci-attribute-flex" }, { kind: "component", type: AttributeEditComponent, selector: "hci-attribute-edit" }, { kind: "pipe", type: IsGroupAttributePipe, name: "isGroupAttribute" }] }); }
|
|
4646
|
-
}
|
|
4647
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: AttributeContainerComponent, decorators: [{
|
|
4648
|
-
type: Component,
|
|
4649
|
-
args: [{
|
|
4650
|
-
selector: "hci-attribute-container",
|
|
4651
|
-
template: `
|
|
4652
|
-
<hci-busy [getBusySubjects]="getBusySubjects"></hci-busy>
|
|
4653
|
-
|
|
4654
|
-
<ng-container *ngIf="attributeContainer">
|
|
4655
|
-
<div *ngIf="editPopup" [id]="'id-attribute-container-' + attributeContainer.idAttributeContainer + '-header'"
|
|
4656
|
-
class="d-flex attribute-container-header {{'sort-order-' + attributeContainer.sortOrder}}">
|
|
4657
|
-
<div class="ms-auto me-0" (click)="edit(editModal, attributeContainer)">
|
|
4658
|
-
<i class="fas fa-pencil-alt"></i>
|
|
4659
|
-
</div>
|
|
4660
|
-
</div>
|
|
4661
|
-
<div class="d-flex flex-grow-1 y-auto" style="flex: 1 1 1px;">
|
|
4662
|
-
<div class="attribute-container"
|
|
4663
|
-
[class.col-md-12]="attributeContainer.isAutoLayout && attributeContainer.isAutoLayout === 'Y'"
|
|
4664
|
-
[class.flex]="attributeContainer.isAutoLayout && attributeContainer.isAutoLayout === 'Y'"
|
|
4665
|
-
[class.flex-wrap]="attributeContainer.isAutoLayout && attributeContainer.isAutoLayout === 'Y'"
|
|
4666
|
-
[class.absolute]="!attributeContainer.isAutoLayout || attributeContainer.isAutoLayout === 'N'">
|
|
4667
|
-
<ng-container *ngFor="let attribute of attributeContainer.graphicalAttributes | isGroupAttribute: false">
|
|
4668
|
-
<ng-container *ngIf="attributeContainer.isAutoLayout && attributeContainer.isAutoLayout === 'Y' && attribute.codeAttributeDataType !== 'LINE'">
|
|
4669
|
-
<hci-attribute-flex [id]="'id-attribute-' + attribute.idAttribute"
|
|
4670
|
-
[attribute]="attribute"
|
|
4671
|
-
[editInline]="editInline"
|
|
4672
|
-
[class.attribute]="true"
|
|
4673
|
-
[class.col-4]="attribute.codeAttributeDataType !== 'GA' && attribute.codeAttributeDataType !== 'LINE'"
|
|
4674
|
-
[class.col-12]="attribute.codeAttributeDataType === 'GA' || attribute.codeAttributeDataType === 'LINE'"></hci-attribute-flex>
|
|
4675
|
-
</ng-container>
|
|
4676
|
-
<ng-container *ngIf="!attributeContainer.isAutoLayout || attributeContainer.isAutoLayout === 'N'">
|
|
4677
|
-
<hci-attribute-absolute [id]="'id-attribute-' + attribute.idAttribute"
|
|
4678
|
-
[attribute]="attribute"
|
|
4679
|
-
[editInline]="editInline"
|
|
4680
|
-
[class.attribute]="true"></hci-attribute-absolute>
|
|
4681
|
-
</ng-container>
|
|
4682
|
-
</ng-container>
|
|
4683
|
-
</div>
|
|
4684
|
-
</div>
|
|
4685
|
-
</ng-container>
|
|
4686
|
-
|
|
4687
|
-
<ng-template #editModal let-close="close">
|
|
4688
|
-
<div class="modal-header">
|
|
4689
|
-
{{editContainer.containerName}}
|
|
4690
|
-
</div>
|
|
4691
|
-
<div class="modal-body d-flex flex-column hci-cod-edit">
|
|
4692
|
-
<ng-container *ngFor="let attribute of editContainer.graphicalAttributes | isGroupAttribute: false">
|
|
4693
|
-
<hci-attribute-edit [id]="'edit-id-attribute-' + attribute.idAttribute"
|
|
4694
|
-
[attribute]="attribute"
|
|
4695
|
-
class="attribute"></hci-attribute-edit>
|
|
4696
|
-
</ng-container>
|
|
4697
|
-
</div>
|
|
4698
|
-
<div class="modal-footer">
|
|
4699
|
-
<button class="btn btn-primary" (click)="close('Save')">Save</button>
|
|
4700
|
-
<button class="btn btn-primary" (click)="close('Cancel')">Cancel</button>
|
|
4701
|
-
</div>
|
|
4702
|
-
</ng-template>
|
|
4703
|
-
`
|
|
4704
|
-
}]
|
|
4705
|
-
}], ctorParameters: () => [{ type: AttributeService }, { type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i0.ChangeDetectorRef }, { type: i2$1.NgbModal }], propDecorators: { classList: [{
|
|
4706
|
-
type: HostBinding,
|
|
4707
|
-
args: ["class"]
|
|
4708
|
-
}], idAttributeValueSet: [{
|
|
4709
|
-
type: Input
|
|
4710
|
-
}], idAttributeConfiguration: [{
|
|
4711
|
-
type: Input
|
|
4712
|
-
}], idAttributeContainer: [{
|
|
4713
|
-
type: Input
|
|
4714
|
-
}], indexOfContainer: [{
|
|
4715
|
-
type: Input
|
|
4716
|
-
}], idParentObject: [{
|
|
4717
|
-
type: Input
|
|
4718
|
-
}], attributeContainer: [{
|
|
4719
|
-
type: Input
|
|
4720
|
-
}], attributeConfiguration: [{
|
|
4721
|
-
type: Input
|
|
4722
|
-
}], attributeValueSet: [{
|
|
4723
|
-
type: Input
|
|
4724
|
-
}], editInline: [{
|
|
4725
|
-
type: Input
|
|
4726
|
-
}], editPopup: [{
|
|
4727
|
-
type: Input
|
|
4728
|
-
}], editable: [{
|
|
4729
|
-
type: Input
|
|
4730
|
-
}], boundData: [{
|
|
4731
|
-
type: Input
|
|
4732
|
-
}] } });
|
|
4733
|
-
|
|
4734
|
-
/*
|
|
4735
|
-
* Copyright (c) 2016 Huntsman Cancer Institute at the University of Utah, Confidential and Proprietary
|
|
4736
|
-
*/
|
|
4737
|
-
/**
|
|
4738
|
-
* The main @huntsman-cancer-institute/cod module. Custom components to be used by the grid are passed in here.
|
|
4739
|
-
*
|
|
4740
|
-
* @since 1.0.0
|
|
4741
|
-
*/
|
|
4742
|
-
class CodModule {
|
|
4743
|
-
static forRoot() {
|
|
4744
|
-
return {
|
|
4745
|
-
providers: [
|
|
4746
|
-
AttributeService
|
|
4747
|
-
],
|
|
4748
|
-
ngModule: CodModule
|
|
4749
|
-
};
|
|
4750
|
-
}
|
|
4751
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: CodModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
4752
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.1.2", ngImport: i0, type: CodModule, declarations: [AttributeBase,
|
|
4753
|
-
AttributeAbsoluteComponent,
|
|
4754
|
-
AttributeContainerComponent,
|
|
4755
|
-
AttributeFlexComponent,
|
|
4756
|
-
AttributeEditComponent,
|
|
4757
|
-
AttributeDefaultComponent,
|
|
4758
|
-
IsGroupAttributePipe], imports: [AgGridModule,
|
|
4759
|
-
CommonModule,
|
|
4760
|
-
FormsModule,
|
|
4761
|
-
RouterModule,
|
|
4762
|
-
NgbModule,
|
|
4763
|
-
DropdownModule,
|
|
4764
|
-
SelectModule,
|
|
4765
|
-
MiscModule,
|
|
4766
|
-
MatDatepickerModule,
|
|
4767
|
-
MatNativeDateModule,
|
|
4768
|
-
NgxMatDatetimePickerModule,
|
|
4769
|
-
NgxMatTimepickerModule,
|
|
4770
|
-
NgxMatNativeDateModule], exports: [AttributeAbsoluteComponent,
|
|
4771
|
-
AttributeFlexComponent,
|
|
4772
|
-
AttributeEditComponent,
|
|
4773
|
-
AttributeDefaultComponent,
|
|
4774
|
-
AttributeContainerComponent,
|
|
4775
|
-
IsGroupAttributePipe] }); }
|
|
4776
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: CodModule, imports: [AgGridModule,
|
|
4777
|
-
CommonModule,
|
|
4778
|
-
FormsModule,
|
|
4779
|
-
RouterModule,
|
|
4780
|
-
NgbModule,
|
|
4781
|
-
DropdownModule,
|
|
4782
|
-
SelectModule,
|
|
4783
|
-
MiscModule,
|
|
4784
|
-
MatDatepickerModule,
|
|
4785
|
-
MatNativeDateModule,
|
|
4786
|
-
NgxMatDatetimePickerModule,
|
|
4787
|
-
NgxMatTimepickerModule,
|
|
4788
|
-
NgxMatNativeDateModule] }); }
|
|
4789
|
-
}
|
|
4790
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: CodModule, decorators: [{
|
|
4791
|
-
type: NgModule,
|
|
4792
|
-
args: [{
|
|
4793
|
-
imports: [
|
|
4794
|
-
AgGridModule,
|
|
4795
|
-
CommonModule,
|
|
4796
|
-
FormsModule,
|
|
4797
|
-
RouterModule,
|
|
4798
|
-
NgbModule,
|
|
4799
|
-
DropdownModule,
|
|
4800
|
-
SelectModule,
|
|
4801
|
-
MiscModule,
|
|
4802
|
-
MatDatepickerModule,
|
|
4803
|
-
MatNativeDateModule,
|
|
4804
|
-
NgxMatDatetimePickerModule,
|
|
4805
|
-
NgxMatTimepickerModule,
|
|
4806
|
-
NgxMatNativeDateModule
|
|
4807
|
-
],
|
|
4808
|
-
declarations: [
|
|
4809
|
-
AttributeBase,
|
|
4810
|
-
AttributeAbsoluteComponent,
|
|
4811
|
-
AttributeContainerComponent,
|
|
4812
|
-
AttributeFlexComponent,
|
|
4813
|
-
AttributeEditComponent,
|
|
4814
|
-
AttributeDefaultComponent,
|
|
4815
|
-
IsGroupAttributePipe
|
|
4816
|
-
],
|
|
4817
|
-
exports: [
|
|
4818
|
-
AttributeAbsoluteComponent,
|
|
4819
|
-
AttributeFlexComponent,
|
|
4820
|
-
AttributeEditComponent,
|
|
4821
|
-
AttributeDefaultComponent,
|
|
4822
|
-
AttributeContainerComponent,
|
|
4823
|
-
IsGroupAttributePipe
|
|
4824
|
-
]
|
|
4825
|
-
}]
|
|
4826
|
-
}] });
|
|
4827
|
-
|
|
4828
|
-
class AttributeValue {
|
|
4829
|
-
}
|
|
4830
|
-
|
|
4831
4963
|
/*
|
|
4832
4964
|
* Copyright (c) 2016 Huntsman Cancer Institute at the University of Utah, Confidential and Proprietary
|
|
4833
4965
|
*/
|