barsa-novin-ray-core 2.0.122 → 2.0.124

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.
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { Component, ChangeDetectionStrategy, Input, InjectionToken, Injectable, Optional, inject, SkipSelf, NgModuleFactory, Inject, Pipe, EventEmitter, Self, Output, HostBinding, ChangeDetectorRef, HostListener, ViewContainerRef, ViewChild, Directive, Renderer2, NgModule, NO_ERRORS_SCHEMA, CUSTOM_ELEMENTS_SCHEMA, ElementRef, APP_INITIALIZER, ErrorHandler } from '@angular/core';
2
+ import { Component, ChangeDetectionStrategy, Input, InjectionToken, Injectable, Optional, inject, ElementRef, SkipSelf, NgModuleFactory, Inject, Pipe, EventEmitter, Self, Output, HostBinding, ChangeDetectorRef, HostListener, ViewContainerRef, ViewChild, Directive, Renderer2, NgModule, NO_ERRORS_SCHEMA, CUSTOM_ELEMENTS_SCHEMA, APP_INITIALIZER, ErrorHandler } from '@angular/core';
3
3
  import { Subject, from, BehaviorSubject, of, combineLatest, fromEvent, forkJoin, throwError, merge, interval, filter as filter$1, tap as tap$1, concatMap as concatMap$1, catchError as catchError$1, finalize as finalize$1, Observable, takeUntil as takeUntil$1, debounceTime as debounceTime$1, switchMap as switchMap$1, timer, mergeWith } from 'rxjs';
4
4
  import * as i1 from '@angular/router';
5
5
  import { NavigationEnd, ActivatedRoute, Router, NavigationStart, RouterEvent, RouterModule } from '@angular/router';
@@ -2958,6 +2958,8 @@ class ContainerService {
2958
2958
  this.detachParent = true;
2959
2959
  this.oldActiveSystem = null;
2960
2960
  this._activatedRoute = inject(ActivatedRoute);
2961
+ this._scrollTop = 0;
2962
+ this._el = inject(ElementRef);
2961
2963
  // console.log(this);
2962
2964
  }
2963
2965
  ngOnDestroy() {
@@ -2972,11 +2974,37 @@ class ContainerService {
2972
2974
  }
2973
2975
  }
2974
2976
  detach() {
2977
+ this._setScrollPosition();
2975
2978
  this._viewRef = this._viewContainerRef.detach();
2976
2979
  }
2980
+ _setScrollPosition() {
2981
+ const elDom = this._el.nativeElement;
2982
+ if (elDom) {
2983
+ const x1 = elDom.querySelector('fd-dynamic-page-content');
2984
+ const x2 = elDom.querySelector('.fd-scrollbar[fd-scrollbar]');
2985
+ const scrollTopPage = x1?.scrollTop;
2986
+ const scrollTopScrollbar = x2?.scrollTop;
2987
+ if (scrollTopPage && scrollTopPage > 0) {
2988
+ this._scrollTop = scrollTopPage;
2989
+ this._elDomScrollbar = x1;
2990
+ }
2991
+ else if (scrollTopScrollbar && scrollTopScrollbar > 0) {
2992
+ this._scrollTop = scrollTopScrollbar;
2993
+ this._elDomScrollbar = x2;
2994
+ }
2995
+ }
2996
+ }
2997
+ _restoreScrollPostion() {
2998
+ if (this._scrollTop && this._scrollTop > 0) {
2999
+ if (this._elDomScrollbar) {
3000
+ this._elDomScrollbar.scrollTop = this._scrollTop;
3001
+ }
3002
+ }
3003
+ }
2977
3004
  insert() {
2978
3005
  if (this._viewRef) {
2979
3006
  this._viewContainerRef.insert(this._viewRef);
3007
+ this._restoreScrollPostion();
2980
3008
  }
2981
3009
  }
2982
3010
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: ContainerService, deps: [{ token: ContainerService, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
@@ -3976,7 +4004,14 @@ class PortalService {
3976
4004
  filter(([userLoggedin, pushAction]) => userLoggedin))
3977
4005
  .subscribe(([userLoggedin, pushAction]) => {
3978
4006
  if (pushAction != null) {
3979
- this.ExecuteNotificationAction(pushAction.notificationTag, pushAction.action);
4007
+ if (!pushAction.notificationTag) {
4008
+ if (pushAction.moid && pushAction.tpid && pushAction.action == 'show') {
4009
+ setTimeout(() => BarsaApi.Bw.Form.Show({ MoId: pushAction.moid }), 500);
4010
+ }
4011
+ }
4012
+ else {
4013
+ this.ExecuteNotificationAction(pushAction.notificationTag, pushAction.action);
4014
+ }
3980
4015
  }
3981
4016
  });
3982
4017
  }
@@ -5126,7 +5161,7 @@ class ColumnCustomComponentPipe {
5126
5161
  allCustomComponents = {};
5127
5162
  customComponentMoDataList
5128
5163
  .map((c) => c)
5129
- .forEach((c) => (allCustomComponents[c.Title] = c.Component));
5164
+ .forEach((c) => (allCustomComponents[c.Title] = { ...c, ...c.Component }));
5130
5165
  }
5131
5166
  if (allCustomComponents) {
5132
5167
  columns.forEach((c) => {
@@ -8933,6 +8968,7 @@ class ReportViewBaseComponent extends BaseComponent {
8933
8968
  this.hasDetailsInRow = new EventEmitter();
8934
8969
  this.canView = false;
8935
8970
  this.contextMenuWidth = 0;
8971
+ this.detailsColumns = [];
8936
8972
  this._containerWidth = 0;
8937
8973
  }
8938
8974
  get showViewButton() {
@@ -8951,6 +8987,17 @@ class ReportViewBaseComponent extends BaseComponent {
8951
8987
  this.columns.forEach((c) => (fieldDict[c.Caption] = c.Name));
8952
8988
  this.fieldDict = fieldDict;
8953
8989
  }
8990
+ const detailsSetting = this.viewSetting?.DetailsSetting;
8991
+ if (detailsSetting) {
8992
+ this.detailsComponent = detailsSetting.Component;
8993
+ detailsSetting.Columns.split(',').forEach((columnName) => {
8994
+ const column = this._findColumnByDbName.transform(this.allColumns, columnName, this.secondaryColumns);
8995
+ if (column) {
8996
+ this.detailsColumns.push(column);
8997
+ }
8998
+ });
8999
+ }
9000
+ this._setRowIndicator(this.columns);
8954
9001
  }
8955
9002
  onActionListClick(mo, index, itemId) {
8956
9003
  if (itemId === 'Show') {
@@ -9096,6 +9143,12 @@ class ReportViewBaseComponent extends BaseComponent {
9096
9143
  }
9097
9144
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
9098
9145
  _containerWidthChanged(_) { }
9146
+ _setRowIndicator(columns) {
9147
+ if (!columns?.length) {
9148
+ return;
9149
+ }
9150
+ this.rowIndicator = Number(columns[0].MetaFieldTypeId) === 41;
9151
+ }
9099
9152
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: ReportViewBaseComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i0.Renderer2 }, { token: FindColumnByDbNamePipe }, { token: UlvMainService }, { token: PortalService }, { token: UploadService, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
9100
9153
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.5", type: ReportViewBaseComponent, selector: "bnrc-report-view-base", inputs: { contextView: "contextView", viewSetting: "viewSetting", allColumns: "allColumns", isCheckList: "isCheckList", simpleInlineEdit: "simpleInlineEdit", hideToolbar: "hideToolbar", hideTitle: "hideTitle", toolbarButtons: "toolbarButtons", allChecked: "allChecked", moDataList: "moDataList", UlvMainCtrlr: "UlvMainCtrlr", access: "access", groupby: "groupby", selectedCount: "selectedCount", conditionalFormats: "conditionalFormats", parentHeight: "parentHeight", deviceName: "deviceName", deviceSize: "deviceSize", contextMenuItems: "contextMenuItems", columns: "columns", allowInlineEdit: "allowInlineEdit", secondaryColumns: "secondaryColumns", popin: "popin", customFieldInfo: "customFieldInfo", hasSummary: "hasSummary", hasSelected: "hasSelected", hideIcon: "hideIcon", columnsCount: "columnsCount", hideOpenIcon: "hideOpenIcon", openOnClick: "openOnClick", typeDefId: "typeDefId", reportId: "reportId", listEditViewId: "listEditViewId", typeViewId: "typeViewId", extraRelation: "extraRelation", relationList: "relationList", disableResponsive: "disableResponsive", rowItem: "rowItem", mobileOrTablet: "mobileOrTablet", inDialog: "inDialog", isMultiSelect: "isMultiSelect", fullscreen: "fullscreen", hideSearchpanel: "hideSearchpanel", newInlineEditMo: "newInlineEditMo", selectedMo: "selectedMo", inlineEditMode: "inlineEditMode", onlyInlineEdit: "onlyInlineEdit", rowHoverable: "rowHoverable", groupSummary: "groupSummary", tlbButtons: "tlbButtons", formSetting: "formSetting", disableOverflowContextMenu: "disableOverflowContextMenu", rowActivable: "rowActivable", contentDensity: "contentDensity", rtl: "rtl", showOkCancelButtons: "showOkCancelButtons", title: "title", hasInlineDeleteButton: "hasInlineDeleteButton", hasInlineEditButton: "hasInlineEditButton", contextSetting: "contextSetting", gridFreeColumnSizing: "gridFreeColumnSizing", navigationArrow: "navigationArrow", cartableTemplates: "cartableTemplates", cartableChildsMo: "cartableChildsMo", pagingSetting: "pagingSetting", containerWidth: "containerWidth" }, outputs: { columnSummary: "columnSummary", escapeKey: "escapeKey", resetWorkflowState: "resetWorkflowState", deselectAll: "deselectAll", editFormPanelCancel: "editFormPanelCancel", editFormPanelSave: "editFormPanelSave", selectNextInlineRecord: "selectNextInlineRecord", editFormPanelValueChange: "editFormPanelValueChange", ulvCommandClick: "ulvCommandClick", sortAscending: "sortAscending", workflowShareButtons: "workflowShareButtons", sortDescending: "sortDescending", filter: "filter", executeToolbarButton: "executeToolbarButton", resetGridSettings: "resetGridSettings", rowCheck: "rowCheck", rowClick: "rowClick", cartableFormClosed: "cartableFormClosed", createNewMo: "createNewMo", updateMo: "updateMo", expandClick: "expandClick", trackBySelectedFn: "trackBySelectedFn", allCheckbox: "allCheckbox", mandatory: "mandatory", columnResized: "columnResized", hasDetailsInRow: "hasDetailsInRow" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
9101
9154
  }
@@ -10599,7 +10652,7 @@ class BaseViewPropsComponent extends BaseComponent {
10599
10652
  return `${row.$Group ? row.$Group : row.Id}${index}`;
10600
10653
  }
10601
10654
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: BaseViewPropsComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
10602
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.5", type: BaseViewPropsComponent, selector: "bnrc-base-view-props", inputs: { moDataList: "moDataList", reportId: "reportId", allColumns: "allColumns", isCheckList: "isCheckList", allChecked: "allChecked", canView: "canView", visibility: "visibility", level: "level", expanded: "expanded", styleIndex: "styleIndex", parentExpanded: "parentExpanded", access: "access", groupby: "groupby", UlvMainCtrlr: "UlvMainCtrlr", conditionalFormats: "conditionalFormats", deviceName: "deviceName", deviceSize: "deviceSize", contextMenuItems: "contextMenuItems", columns: "columns", allowInlineEdit: "allowInlineEdit", secondaryColumns: "secondaryColumns", popin: "popin", typeDefId: "typeDefId", columnsCount: "columnsCount", mobileOrTablet: "mobileOrTablet", containerWidth: "containerWidth", newInlineEditMo: "newInlineEditMo", inlineEditMode: "inlineEditMode", onlyInlineEdit: "onlyInlineEdit", rowHoverable: "rowHoverable", openOnClick: "openOnClick", tlbButtons: "tlbButtons", setting: "setting", parameters: "parameters", formSetting: "formSetting", disableOverflowContextMenu: "disableOverflowContextMenu", rowActivable: "rowActivable", contentDensity: "contentDensity", rtl: "rtl", showOkCancelButtons: "showOkCancelButtons", title: "title", isChecked: "isChecked", navigationArrow: "navigationArrow" }, outputs: { resetWorkflowState: "resetWorkflowState", deselectAll: "deselectAll", escapeKey: "escapeKey", rowCheck: "rowCheck", workflowShareButtons: "workflowShareButtons", rowClick: "rowClick", ulvCommand: "ulvCommand", editFormPanelCancel: "editFormPanelCancel", editFormPanelSave: "editFormPanelSave", selectNextInlineRecord: "selectNextInlineRecord", action: "action", expandClick: "expandClick", editFormPanelValueChange: "editFormPanelValueChange", cartableFormClosed: "cartableFormClosed" }, usesInheritance: true, ngImport: i0, template: ``, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
10655
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.5", type: BaseViewPropsComponent, selector: "bnrc-base-view-props", inputs: { detailsComponent: "detailsComponent", detailsColumns: "detailsColumns", detailsText: "detailsText", detailsTextFunction: "detailsTextFunction", moDataList: "moDataList", reportId: "reportId", allColumns: "allColumns", hideOpenIcon: "hideOpenIcon", isCheckList: "isCheckList", allChecked: "allChecked", canView: "canView", visibility: "visibility", level: "level", expanded: "expanded", styleIndex: "styleIndex", parentExpanded: "parentExpanded", access: "access", groupby: "groupby", UlvMainCtrlr: "UlvMainCtrlr", conditionalFormats: "conditionalFormats", deviceName: "deviceName", deviceSize: "deviceSize", contextMenuItems: "contextMenuItems", columns: "columns", allowInlineEdit: "allowInlineEdit", secondaryColumns: "secondaryColumns", popin: "popin", typeDefId: "typeDefId", columnsCount: "columnsCount", mobileOrTablet: "mobileOrTablet", containerWidth: "containerWidth", newInlineEditMo: "newInlineEditMo", inlineEditMode: "inlineEditMode", onlyInlineEdit: "onlyInlineEdit", rowHoverable: "rowHoverable", openOnClick: "openOnClick", tlbButtons: "tlbButtons", setting: "setting", parameters: "parameters", formSetting: "formSetting", disableOverflowContextMenu: "disableOverflowContextMenu", rowActivable: "rowActivable", contentDensity: "contentDensity", rtl: "rtl", showOkCancelButtons: "showOkCancelButtons", title: "title", isChecked: "isChecked", navigationArrow: "navigationArrow" }, outputs: { resetWorkflowState: "resetWorkflowState", deselectAll: "deselectAll", escapeKey: "escapeKey", rowCheck: "rowCheck", workflowShareButtons: "workflowShareButtons", rowClick: "rowClick", ulvCommand: "ulvCommand", editFormPanelCancel: "editFormPanelCancel", editFormPanelSave: "editFormPanelSave", selectNextInlineRecord: "selectNextInlineRecord", action: "action", expandClick: "expandClick", editFormPanelValueChange: "editFormPanelValueChange", cartableFormClosed: "cartableFormClosed" }, usesInheritance: true, ngImport: i0, template: ``, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
10603
10656
  }
10604
10657
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: BaseViewPropsComponent, decorators: [{
10605
10658
  type: Component,
@@ -10608,12 +10661,22 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImpor
10608
10661
  template: ``,
10609
10662
  changeDetection: ChangeDetectionStrategy.OnPush
10610
10663
  }]
10611
- }], propDecorators: { moDataList: [{
10664
+ }], propDecorators: { detailsComponent: [{
10665
+ type: Input
10666
+ }], detailsColumns: [{
10667
+ type: Input
10668
+ }], detailsText: [{
10669
+ type: Input
10670
+ }], detailsTextFunction: [{
10671
+ type: Input
10672
+ }], moDataList: [{
10612
10673
  type: Input
10613
10674
  }], reportId: [{
10614
10675
  type: Input
10615
10676
  }], allColumns: [{
10616
10677
  type: Input
10678
+ }], hideOpenIcon: [{
10679
+ type: Input
10617
10680
  }], isCheckList: [{
10618
10681
  type: Input
10619
10682
  }], allChecked: [{
@@ -11164,7 +11227,7 @@ class BaseViewItemPropsComponent extends BaseViewPropsComponent {
11164
11227
  });
11165
11228
  }
11166
11229
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: BaseViewItemPropsComponent, deps: [{ token: i0.ElementRef }, { token: i4.DomSanitizer }, { token: i0.ChangeDetectorRef }, { token: MoReportValuePipe }, { token: FormPanelService, optional: true, skipSelf: true }, { token: FormPanelService, optional: true, self: true }, { token: UlvMainService, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
11167
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.5", type: BaseViewItemPropsComponent, selector: "bnrc-base-view-item-props", inputs: { checkboxComponent: "checkboxComponent", mo: "mo", moDataListCount: "moDataListCount", index: "index", last: "last", isdirty: "isdirty", isChecked: "isChecked", hideDetailsText: "hideDetailsText", showViewButton: "showViewButton", isNewInlineMo: "isNewInlineMo", extraRelation: "extraRelation", hideOpenIcon: "hideOpenIcon", inDialog: "inDialog", isMultiSelect: "isMultiSelect", rowIndicator: "rowIndicator", groupSummary: "groupSummary", isLastChildGroup: "isLastChildGroup", showRowNumber: "showRowNumber", rowNumber: "rowNumber", coloringRow: "coloringRow", noSaveInlineEditInServer: "noSaveInlineEditInServer", rowIndicatorColor: "rowIndicatorColor", UlvMainCtrlr: "UlvMainCtrlr", fieldDict: "fieldDict", actionList: "actionList", serializedRelatedMo: "serializedRelatedMo", cartableTemplate: "cartableTemplate", cartableMo: "cartableMo", cartableWorkflowData: "cartableWorkflowData" }, outputs: { actionListClick: "actionListClick", events: "events" }, viewQueries: [{ propertyName: "_cartableFormRef", first: true, predicate: ["cartableFormRef"], descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: ``, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
11230
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.5", type: BaseViewItemPropsComponent, selector: "bnrc-base-view-item-props", inputs: { checkboxComponent: "checkboxComponent", disableEllapsis: "disableEllapsis", detailsComponent: "detailsComponent", detailsColumns: "detailsColumns", detailsText: "detailsText", mo: "mo", moDataListCount: "moDataListCount", index: "index", last: "last", isdirty: "isdirty", isChecked: "isChecked", hideDetailsText: "hideDetailsText", showViewButton: "showViewButton", isNewInlineMo: "isNewInlineMo", extraRelation: "extraRelation", hideOpenIcon: "hideOpenIcon", inDialog: "inDialog", isMultiSelect: "isMultiSelect", rowIndicator: "rowIndicator", groupSummary: "groupSummary", isLastChildGroup: "isLastChildGroup", showRowNumber: "showRowNumber", rowNumber: "rowNumber", coloringRow: "coloringRow", noSaveInlineEditInServer: "noSaveInlineEditInServer", rowIndicatorColor: "rowIndicatorColor", UlvMainCtrlr: "UlvMainCtrlr", fieldDict: "fieldDict", actionList: "actionList", serializedRelatedMo: "serializedRelatedMo", cartableTemplate: "cartableTemplate", cartableMo: "cartableMo", cartableWorkflowData: "cartableWorkflowData" }, outputs: { actionListClick: "actionListClick", events: "events" }, viewQueries: [{ propertyName: "_cartableFormRef", first: true, predicate: ["cartableFormRef"], descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: ``, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
11168
11231
  }
11169
11232
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: BaseViewItemPropsComponent, decorators: [{
11170
11233
  type: Component,
@@ -11192,6 +11255,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImpor
11192
11255
  args: ['cartableFormRef', { static: false }]
11193
11256
  }], checkboxComponent: [{
11194
11257
  type: Input
11258
+ }], disableEllapsis: [{
11259
+ type: Input
11260
+ }], detailsComponent: [{
11261
+ type: Input
11262
+ }], detailsColumns: [{
11263
+ type: Input
11264
+ }], detailsText: [{
11265
+ type: Input
11195
11266
  }], mo: [{
11196
11267
  type: Input
11197
11268
  }], moDataListCount: [{
@@ -13631,11 +13702,13 @@ class RedirectHomeGuard {
13631
13702
  }), map(([hasAuthorized]) => !hasAuthorized));
13632
13703
  }
13633
13704
  _handle(params) {
13634
- const { notificationTag, action } = params;
13705
+ const { notificationTag, action, moid, tpid } = params;
13635
13706
  if (typeof notificationTag !== 'undefined' && action) {
13636
13707
  const pushAction = {
13637
13708
  notificationTag,
13638
- action
13709
+ action,
13710
+ moid,
13711
+ tpid
13639
13712
  };
13640
13713
  // if (notificationTag === '' && action === 'show') {
13641
13714
  // setTimeout(() => {